НАСТРАИВАЕМЫЙ ТАЙМЕР ДЛЯ УПАКОВОЧНОГО СТАНКА

Наверно, первое, с чего я начал свой путь в мир микроконтроллеров семейства Атмега - это система климат-контроля для выращивания псилоцибиновых грибов. В итоге так ее и не доделал, но за то хотя бы потерял всякий страх перед программированием. Ну, а более-менее серьезной затей, наверно, можно считать таймер для упаковочного станка. Там суть в том, чтобы задавать импульс нагрева лезвий в миллисекундах и запускать его по нажатию кнопки концевика. Одной из первых версий была такая:

online gerber viewer top

Тогда я еще не понимал, как подобный прибор должен выглядеть и почему. Будучи зеленым ардуинщиком, довольно сложно понять даже как правильно подключить кнопку. И опто-семисторный силовой выход тоже кажется чем-то ниебически сложным. Не говоря уже о прочих подводных камнях, типа сифон транзисторов при управлении семисегментниками через сдвиговый регистр... Ну, там завалы фронтов: "спицы", "лесенки" - всякая такая хуетень. Надо будет пофоткать как-нибудь, но, если честно - лениво. Ох, сколько я копий наломал, пока не понял, что это глупая затея, управлять семисегментниками через сдвиговый регистр... Не то, чтобы принципиально невозможно - просто существуют готовые драйверы, заточенные под  эту конкретную задачу, которые, к тому же, стоят какие-нибудь копейки. Причем, в отличие от сдвигового регистора, у них даже есть управление яркостью череш ШИМ! Да чего уж говорить... Я до недавнего времени думал что транзистор работает тупо как реле (образно говоря... потому что реле по сути представляет собой индуктивную нагрузку с высоковольтным отстрелом в зад)! Пока не увидел математическую формулу усиления тока:


β = ICIB

IC — ток коллектора IB — ток базы β — коэффициент усиления по току (типично от 20 до 1000 в зависимости от типа транзистора)

Оказалось, прикол транзистора именно в токе, а не в напряжении. Ну, теперь все стало немножко проще в понимании теории, однако сложнее в реализации. Я уже не говорю о программной части. Ну, конечно, AVR не Cortex, но и на восьмибитной архитектуре хватает задрочек, особенно если ты принципиально не пользуешься ArduinoIDE. Там тебе и таймеры, и прерывания... Целая таблица векторов всевозможных прерываний с разными приорететами! И вачдоги... А попробуй напиши нормльный софтварный UART! Почитай даташит - ахуеешь. Там под сотку страниц... На английском... Ну, короче, тоже геморра хватает.

Это, можно сказать, дебютный проект, плата "Марс":

Mars 1

Тут уже подписана каждая дорожка, каждый компонент, просчитан теплопакет на линейных стабилизаторых, предусмотрены монтажные отверстия под радиатор, на борту RS-485 контроллер для связи с HMI панелями типа DWIN, контроллер термопары, память FRAM, в опто-семисторных силовых схемах предусмотрены варисторы и снабберные цепочки, каждый выход на контрольно-индикационный блок пронумерован... Все входы-выходы оптимизированны под определеенный корпус. Под него же рассчитана плата-спутник, "Фобос":

Fobos 1

Тут работает кнопочка SW2, на борту драйвер семисегментника TM1637, а так же сдвиговый регистор 74HC595 для контроля 5 индикационных диодов. Еще есть энкодер.

Mars 2

Mars 3

Прикол системы во взаимозаменяемости контрольно-индикационных модулей. Вместо Фобоса может быть еще какой-нибудь. Хоть бы даже сенсорный экран, как я уже говорил.