Мир электроники - удивительная "вещь"

Были времена (1947 год), когда изобрели маленький усилительный элемент - транзистор. И началась эра минитюаризации электронных устройств. Чудо жизни в том, что трудности заставляют природу развиваться. Первые транзисторы стоили неприлично дорого, да и к тому же дефицитны, это приводило к развитию гениев мысли и теорий. Например, генератор для изучения азбуки морзе на 3 радиодеталях или приемник на одном транзисторе, который выполняет роль детектора, супергетеродина (смесителя/нелинейного элемента), фильтров ВЧ/НЧ, усилителя низких частот для непосредственного подключения динамика.

Времена изменились, Мур был прав: "колличество транзисторов удваивается каждые 2 года".  Ныче попался мне в руки мобильный телефон с радио без антенны (обычно роль антены выполняет шнур от наушников),  качество принимаемого сигнала FM диапазона лучше штатных приемников с выносными антеннами, проверял, перемещая в железобетонных стенах "каменных джунглей"; цифровое радио на кристале, супер гетеродин с частотами приема 100-2000МГц на микро GSM антену телефона, микро чудо, да и только... Думаю с телевизинонным сигналом трудностей так же не возникает, и подобные ТВ приемники, которым нет надобности в громоздких антеннах, гуляют по просторам Японии и Китая.

Но, рассказ не об этом..!  Это только предисловие. Рассказ пойдет о цифровых процессорных мини устройствах.  Стали доступны 8, 32 да и 64-128 битные микрокомпьютеры, называемые микроконтроллерами, систем на кристалле.

Любая электроника становится привлекательней и  удобней при наличии "умных технологий", встроенного компьютера, который обрабатывает входные сигналы с электронных глаз и щупальцев (датчиков, камер, кнопок, других компьютеров, например, пластиковых карт) и дает комманды хитрым электрическим мышцам (двигателям, динамикам, дисплеям, клапанам..) . 

3d принтер читает текстовый фаил сождержащийся на эсди карте памяти (SDCard) и исполняет комманды жэ кода (GCode): нагреть и поддерживать температуру стола и головы, из которой выдавливается  горячий жидкий пластик, перемещать из точки A в трехмерную точку Б, вращая 4 двигателя с точной скоростью, красиво и понятно отображая информацию на встроенном автономном дисплее.  Раньше, для управления подобным устройством, требовался как минимум персональный компьютер, громоздкий. Теперь же - всем управляет маленькая платка размером 10х10см с 8 битным микроконтроллером с высоким быстродействием, подобные ставят в электронные блоки управления (ЭБУ) автомобилей. Все работает без сбоев, надежно, как танк; в результате получаем изделия из пластика и резинопластика сложной формы, которые по старым технологиям нужно было выливать в формы с последующей обработкой: зашкуриванием, срезанием технологических каналов и пр.,  для получения конечного изделия. Например, я печатаю щестерни для привода конвеера от редуктора с большим усилием в 10кг/см; корпуса насосов, молотилок, эргономических приятных на вид и ощуп устройств датчиков, рукояток- пылесборников и много прочих мелких деталей.

Самодельная метеостанция, по аналогии с навигатором, принимает текущее время со спутника из космоса в секундах по Гринвичу через GPS с атомных часов и переводит секунды в годы, месяцы, недели с точностью 1 секунда в 1000 лет, переводит числовые значения в графическое изображение и отображает на дисплее из тысяти отдельных точек.

Неотьемлемой частью современного инженера электронщика стало  ремесло написания программ для микро-компьютеров. Примером может послужить перевод миллиарда секунд от рождества христова в годы, месяцы, дни недель, дни месяцев (28,30,31 день), часы, минуты, секунды. Спросите, как? Расскажу, как я реализовывал в данном табло.  За основу взята библиотека UNIX, проверенные функции перевода времени в операционных системах серверов, BSD и LINUX, немного модифицированны из 32 битной для использования с 64 битным целым секунд (проблема милениум 2000), тк готовой для 4 словного входного целого не нашел. Потраченно времени 30 минут!

Изобретать велосипед, занятие для романтиков- бесполезное с практической точки применимости.  Давно понял, что хорошее там, где моного; количество переходящее в качество. Где данное правило отображенно в программировании? Конечно в программном коде написанном на языке программирования Cи. На нем написаны практически все операционные системы, большенство приложений обслуживания баз данных, игры, другие языки программирования, практически любое системное программное обеспечение, тк язык позволяет преренести программы на любые платформы, будь то 8 битная или 32 битная на результат это не повлияет, программа будет исполнятся без ошибок с раздницей только во времени выполнения, но бывают случаи в основном, когда это не критично, и более быстрое выполнение приводит в дальнейшем к ожиданию в спящем режиме следующих задач.

В данный момент имеется безграничное множество проверенных исходных программ, функций, библиотек на Си, практически для любых микросхем (например LM75 i2c дешевый точный датчик температуры, HX711 - ацп 24 бита для тензодатчиков с дифференциальными входами, контроллерами дисплеев и пр спецефической переферии), либо легко взять готовую библиотеку и модифицировать под  свои микросхемы и интерфейсы. Не составляет сложности писать свои драйверы к переферии, например к видео камере или ЦАП для вывода звука. Код, для выполнения процессором, в итоге получается компактным и очень быстрым. Если требуется логика и сложные задачи, си так же очен лаконичен и понятен, имеет возможность работы с различными типами, многомерными массивами, структурами. На Си написано множество бибилиотек с очень сложной логикой: распознавание изображений OpenCV, синтеза и распознавания речи, легко реализуются алгоритмы спектрального анализа, электронного уха (преобразования Фурье, БПФ). Различных цифровых фильтров.

Легко реализуются математические вычисления, например вычисление массы тела, размещенного на тензометрическом датчике, сигнал с которого преобразуется в цифровое значение от 0 до 4милиардов (-2..2), в дальнейшем делится на эталонное (например 1грамм=1033) и вычисляется вещественное дробное точное значение массы или натяжения; давления или вакуума при измерении тензометрическим датчиком давления (выполнен датчик, как интегральная схема, те тензорезисторы - "гормошки" из металла, вытравленны на маленьком кремниевом чипе 1х1мм).

Например, мною был сделан дозатор микро доз от 1 до 100 грамм с точностью 1 сотая грамма (0.01гр). Устройство определяет наличие тары, тюбика, стабилизацию веса на платформе, погрешность веса тары в указанном процентном соотношении, режим дозирования на максимальной и диликатной скоростях, каллибровка весов любым весом, управление серво приводом насоса или виброприводом напрямую, ускорение/замедление/реверс, отображением параметров и опций  на графическом дисплее, управлением энкодером, автоматический ноль веса, цифровая фильтрация механических помех путем ЦОС и многое прочее. За основу взят 8 битный контроллер, который в большинстве своего тактового времени простаивает, ожидаяя очередых 24 битных данных от аналого-цифрового преобразователя.

 

 

 

Статья сырец, первая редакция, в стадии написания..

 

Интересуют вопросы реализации алгоритмов, программирования, выбора электроники и прочая информация, постараюсь осветить в отдельных статьях

пишите мне на netdm@mail.ru

 

Добавить комментарий

Обратная связь

Интересуют вопросы реализации алгоритмов, программирования, выбора электроники и прочая информация, постараюсь осветить в отдельных статьях

пишите мне на netdm@mail.ru