MARS V.1.5 / PHOBOS 1.4 - КОНТРОЛЛЕР ДЛЯ ПРОСТОГО УПАКОВОЧНОГО СТАНКА

  • Пользовательская инструкция для готовой платы ЗДЕСЬ.

Тут у меня на главной странцие написано, что я работаю в фирме "АРД-Системы Северо-Запад", которая производит термоусадочное упаковочное оборудование. Моей изначальной задачей, как инженера, было создание таймера для контроля нагрева тефлонового лезвия для запайки пленочного рукава.

Первое время я валял дурака, даже пытался прибегнуть к такой хуйне как ЛУТ (лазерно-утюжная технология). Очень быстро выяснилось, что это, мягко говоря, недешевео и бестолково. Далее оказалось что я не так уж и хорошо знаю как устроен микроконтроллер Атмега, который я решил взять за основу. Пришлось нехило так подучиться, чтобы разобраться в нюансах программирования и дойти до интуитивного понимания, куда какой ставить резистор и почему. По началу-то  надо было считать номиналы по известной формуле - а теперь нет. Теперь такие вещи делаются чисто умозрительно. Теперь смотрю на свои старые поделки и немножко офигеваю от того, какой огромный пройден путь с тех пор... Вот этот монстрик, сверху крайний левый, был одним из первых. Сразу после него нижний левый... Потом пришло понимание, что надо бы сделать систему модульной, чтобы можно было подключить контрольно-индикационный блок... Но, как видно на фото, выглядело все это так себе. Во-первых, мелкие циферьки, мелкие кнопочки... Во-вторых, там такой бред, вроде подключение семисегментника через сдвиговый регистр...  Первый вариант слева (монстрик) у меня с кондочка не завелся, я даже поехал в Москву на консультацию к другу. Там я понял, что для такой работы необходим осциллограф и еще узнал про функцию millis(). Ну, далее оттуда же открылся новый дивный мир аппаратных таймеров и прерываний...

retro 1

Крайний справа вариант оказался уже практически работоспособным, и уже планировался какой-то корпус, всякое такое...

old 1

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

korpus 1

Собственно, когда я взял в руки эту штуку, то у меня в голове как будто зажглась лампочка. Я как будто бы был  слеп, но потом прозрел.

Phobos panel 1

Крышку заказывал у одного чувака через Авито, он ее вырезал из оргстекла на ЧПУ фрезере. Встала на место как влитая, размеры попали тютелька в тютельку. Просто идеально. Если не считать досадного пролета с окном под семисегментник, которое пришлось раздрачивать напильником.  Ну а тут скриншоты проекта:

Fobos 1

Это крайняя версия контрольно-индикационной платы Фобос, которая подключается к основной плате Марс. Тут у нас довольно внятный катодный семисегментный индикатор, работающий на основе драйвера TM1637, энкодер, а также сдвиговый регистор 74HC595 для управления группой светодиодов, указывающих пользователю на текущий режим работы устройства.

Mars1.5

На скриншоте такая версия, которая предшествует текущей рабочей. Тут уже задействованы практически все пины, используются микросхемы MAX3375, MAX485, память FM24C04B-GTR, кластер понижающих DC-DC преобразователей с монтажными отверстиями для радиатора, а также 2 силовых опто-семисторных выхода (нагрузка до двух ампер). Монтажные отверстия по краям платы можно считать избыточными, в корпусе они нигде не задействованы. Но на цену производства это не влияет, а сама плата может быть довольно универсальной - так что решил оставить. Вообще, я любитель всего, что делается "для маленьких и тупых", и сам придерживаюсь этой парадигмы в проектировании. Поэтому каждый пин разъему IDC-16MS у меня подписан с двух сторон, там указаны номера пинов управляющего микроконтроллера. При написании и отладке ПО это просто офигенно здорово экономит время.

Phobos trick 1

Тут такой прикол, вот эта группа пинов дублируется с обеих сторон платы, это удобно в разработке, но, наверно, в финальной версии необязательно. А, впрочем, хлеба не просит - и пофиг, тут не ВЧ схема. Из прикольного - эти отверстия по краям от контактной группы. Они задуманы для экономии на разъемах. То есть, шлейф подрезается скальпелем по линейке, кончики пролуживаются, выравниваются и припаиваются сюда. Затем сверху, по плану, должна быть капля компаунда, скрывающего неаккуратности, чтобы придать плате более товарный вид. А отверстия по бокам предназначены для закрппления шлейфа стяжками.

Phobos trick 2

 Phobos 1

  Mars 1

Зелененькая - старая версия. Ох, намучился с ними на этапе отладки... Прототипы часто выходят с ошибками.

Phobos 2

На самом деле, путь к финальной версии был тернист. Сначала там были проблемы с запуском TM1637... Мешали 2 консетора, указанных на большинстве схем из Интернета. Затем выяснилось, что дорожки от чипа к пинам семисегментника практически все перепутаны. Потом я несколько раз закупал разные семисегментники, но они не заводились... Как выяснилось, потому что они были катодные. То есть, с общим катодом. Все чат-боты твердили, что TM1637 - катодный драйвер. А он оказался анодным. Потом еще была задрочкка с пинами под шлейф. Изначально они были инвертированы слева направо... Ну и с индикационными диодами косяк. Парочка из них попадали на уже задействованные пины микроконтроллера. Диодов по задумке 5, а свободных пинов после ревизии оказалось 3. Ну вот тут и пригодился опыт использования сдвигового регистра. Сдвиговый регистор восьмибитный. По идее, можно влепить еще 3 светодиода. Кстати, прикол... Я думал, что мои индикационные светодиоды точно такие же как и на семисегментнике, и поэтому ими тоже можно управлять через TM1637, через пятый грид (а всего их в документации фигурирует 6), но эксперименты показали, что хуй там плавал. До сих не понимаю, в чем дело - так и не смог добиться успеха. Впрочем, под данную конкретную задачу 74HC595 кажется даже еще более элегантным решением, потому что гриды переключаются по очереди, а тут что горит - то горит, без особых затей.

Mars 2

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

Mars 3

 

Mars 4

Кстате говоря, отверстия под радиатор придуманы не случайно - на самом деле, линейные DC-DC преобразователи - это такая простая штука, как топор, и она может быть довольно полезной, но вот эффективной ее не назовешь. Там все очень плохо с КПД и с тепловыделением. Таким образом, в зависимости от подаваемого на вход напряжения, теплопакет устройства может быть от 3 Ватт и более. Казалось бы, 3 Ватта не так уж много - да? На самом деле нет - это даже через чур! Я как-то по приколу сделал трехватную спираль из нихромовой проволоки в качестве экспериментальной нагрузки для аккумулятора - так она грелась как хер знает что, от нее можно было отапливать кабинет! То есть, в рабочем состоянии прибор ощутимо греется. Исходя из этого прискорбного факта, есть 2 пути дальнейшего развития: либо использовать импульсные понижайки, вроде xl6009, с ебанутыми схемами обязательного обвеса, либо...

Следующая версия платы будет уже с собственным flyback-блоком питания.

 

15.09.2025

Вот, прикол... Предложил Гроку изучить эту статью, там обсудили какие-то мелочи, потом он спросил, дескать, а как я буду решать проблему с флайбэк... Я ему искренне сказал, что мне лень этим заниматься, что это уже изобрели китайцы и мне надо лишь копировать их наработки, а затем выдать их за собственный успех... И вот она, "эврика"! HLK-PM01. Тут я сначала радовался, смеялся, хлопал в ладоши - сразу столько дофамина... Вот здорово, что можно будет удалить нахуй все эти кластеры горячих понижаек и заменить их одним модулем... А потом присел, задумался... А что делать со всякими кнопочками? Ну это ведь не можно в промышленном оборудовании использовать 5 Вольт! Стало быть...Теперь надо поработать... Теперь трындец сколько работы надо сделать! Но за то от скуки не помру ))

 

17.09.2025

Накидал набросок следующей версии, взяв за основу рабочий проект с flyback-БП, слизанного с копеечного китайского модуля. Тут модуль немножко дороже... Целых 200 рублей против изначальных 50, однако... Очевидное приемущество HLK-2M05 в том, что он уже считай готовое изделие в закрытом корпусе. Тут же еще поставил DC-DC понижайку от той же фирмы, B2405S-2WR3. Прикол в том, что концевик нельзя оставлять пятивольтовым, когда имеется техническая возможность подключить 24V DC... Раньше ее не было, а теперь, с этим модулем, появилась. Поэтому схема подключения теперь будет православная, с гальванической развязкой через оптрон. Ну и варистор, разумеется, по линии 220V AC. Как же без него?.. Сейчас думаю, не заменить ли MAX485 (которых у меня как  у дурака фантиков) на ISO3082DW? Наверно, смысл все-таки есть... Потому что линия связи между DWIN панелью (или чем-то там еще) может работать как антенна, и если статический заряд пробъет микросхему, то может угробить микроконтроллер. А в случае изолированного трансивера ремонт все же выйдет подешевле и попроще. Кстате, цена у этих двух чипов примерно одинаковая, ISO3082DW даже дешевле.

Mars v2.0

 

02.02.2026

Две новые версии плат Марс 2.1 и Марс 3.1. Были спроектированны еще до НГ, но теперь лежат в "долгом ящике" по причине того, что не хватает компонентов. Я тут даже создал специальную систему соглосвания закупок, чтобы там фиксировлись все запросы инженерного отдела, чтобы ничего не пропадало и потом не было разговоров, типа "мы это не обсуждали". Хз, сдвинется ли дело с мертвой точки. Наверно, придется закупать необходимые компоненты самостоятельно, за свои скромные средства. Чтобы потом было чем похвастаться.

 Mars v2.1 screen 1   Mars v3.1 screen 1

Mars 2.1e

EXPERIMENTAL Atmega328P-AU.

Экспериментальная редакция на AVR-основе с переработанной подсистемой энергонезависимой памяти и входами кнопок.

  • Чип FRAM FM24C04B-GTR заменён на FM24CL16B-G — увеличенный объём памяти и иное адресное пространство для хранения параметров и логов.
  • Вместо одной кнопки (концевика) теперь можно использовать две независимые кнопки. Обе работают от 12 В через гальваническую развязку, что позволяет подключать их к полевым цепям без риска случайного повреждения элементов пятивольтовой логики. 
  • Триггер Шмитта 74HC2G17GV,125 обеспечивает петлю гистерезиса и предотвращает ложные срабатывания кнопок.
  • Новая система автономного питания на основе HLK-2M12 и A1205S-2WR3 позволяет подключать плату напрямую к сети 220 В AC. Изначально рассматривался вариант кнопок на 24 В, однако есть один нюанс, который портит настроение: при той же мощности получается меньший ток. Я пробовал подключить плату через лабораторник и у нее потребление под нагрузкой в пиках где-то около 130 мА, а HLK-2M24 отдает где-то порядка ~83 mA. Поэтому модуль HLK-2M12 представляется более адекватным вариантом, с ним будет даже небольшой запас (170 mA).
  • По линиям "A" и "B" АЦП термопары установлены фильтры от синфазных помех, это чип-индуктивность и конденсаторы (как на итальянских платах Минипак). 
  • Для повышения безопасности и снижения риска пробоя/помех между зонами высокого и низкого напряжения выполнены сквозные прорези (изоляционные слоты) в PCB. Это увеличивает путь утечки по поверхности платы и создаёт воздушный зазор (clearance), предотвращая поверхностную проводимость при загрязнении или конденсации.

Mars 3.1e

EXPERIMENTAL STM32G070KBT6.

Экспериментальная 32-битная версия, унаследовавшая идеологию Mars 2.1e, но на базе STM32 с расширенными возможностями по периферии и интерфейсам.

  • Микроконтроллер STM32G070KBT6: больше таймеров, периферии, возможностей по обработке сигналов и организации протоколов связи.
  • Базовая схемотехника полностью аналогична AVR-версии, что упрощает миграцию с 8-битной платформы.
  • Сохранена идея двух 12-вольтовых кнопок через гальваническую развязку, совместимость по схеме подключения с Mars 2.1e.
  • Рассматривается как кандидат на дальнейшую «главную» платформу проекта «Марс» после завершения испытаний.

 

ПРИЛЕТЕЛА ПТИЦА ОБЛОМИНГО

 mars error 1

1) Приехали блоки питания - и как-то сразу стало ясно, что на прототипах новых плат Марс он развернут задом наперед. Зеленым обозначено, где должны проходить линии 220V AC. Обидненько. Думал, все, тю-тю.... Даже на подпайках не получится спаять. Однако, оказалось, что все исправимо одной дырочкой, которая отмечена на скриншоте ниже единичкой и пазиком 2. Получается, что между пазиком и отверстием, рассчитанным на силовую линию, рукой подать... Можно даже кончиком пальчика замкнуть или языком. А можно просто подогнуть ножку и припаять, как будто так и было.

mars error 2

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

3) А вот и примерно "то, что надо":

new mars 1

Ну, с этой платой я намучился... Сначала она у меня тупо не включалась, потому что я по невнимательности неправильно припаял микросхему АЦП термопары. На фото видно, что она временно удалена. Да и хрен с ней... Тем более, у меня пока нет подходящих чип-индуктивностей на вход сигнальных линий для защиты от синфазных наводок. А потом у меня были сложности с выводом циферь на экран - все работало, кроме этих циферь. А дело оказалось тупо в том, что по невнимательности не убедился, что на новом МК отключен фьюз SKOUT. Эта падла еще не хотела исправляться, пока не поставил бычку переключалки программатора на низкочатотный режим прошивки. На новых Атмегах всегда какой-то гемор с фьюзами. Поэтому на пине PB0 (он же CLK для TM1637) была синусоида тактового сигнала, которя тем временем отсутствовала на PB6 и PB7. Теперь сижу и думаю: а почему я не пытался посмотреть осциллографом, что творится PC4 (DIO пин TM1637)? Может, это в подсознании засело, что там невозможны аномалии, если только не сгорел сам порт. А вот режим работы PB0 реально надо проверять, потому что у него там могут быть разные варианты. Еще я бы отметил прекрасную работу кластера модулей HLK-2M12 и A1205S-2WR3. Они холодные! Никаких видимых проблем с ними нет.

mars error 3

4) Вот это у меня пыхнула... Блядь такая... КЗ. Естественно, свет рубанулся на всем этаже. Я сначала подумал, что варистору пизда. Но, с другой стороны - а почему? Дело в том, что я тут чирканул крокодилом осциллографа по клеммным контактам. У крокодила сцепились зубы, они просто приварились друг к дружке. Осциллограф вроде жив... По крайней мере, штатный тестовый меандр показывает как надо. Модуль HLK-2M12 пока не знаю - работает или нет... Подплавленный уголок таким и был и это ни на что не влияло. Как пшыкнуло - сначала посидел, послушал что творится снаружи - думал, менеджеры или бухгалтерия забегают в панике, начнут выяснять что случилось и попытаются восстановить подачу электроэнергии самостоятельно. А пока ждал - почистил плату, навел порядок, прозвонил контакты, померил сопротивления, попробовал запустить плату от повербанка через программатор... Убедился, что МК живой. В итоге никто не зачесался, всем оказалось пофигу что у них не работаетю компы. Ну и ладно. Решил заняться рубильником сам. Потом, подумав, принял решение специально для экспериментов с переменным током из розетки собирать отдельный блок питания с гальванической развязкой через трансформатор и сдвоенный УЗО на 6 Ампер. Коллеги говорят, что раньше тоже игрались с электричеством и без трансформатора все пробки в главном щитке вышибает один хрен, даже если подключать свои изобетения через автомат. Ну... Чего тут еще добавить?

Да, на прототипе нашлись косяки.

  • Во-первых, я довольно долго промучился, пытаясь понять, почему у меня не работает концевик, запускающий упаковочный цыкл. Парился, думал, потел... Кофе пил... Пока глаз не задергался... Мне почему-то казалось, что я где-то упустил из внимания какое-то замыкание на полигон gnd или типа того. Внимательнейшим образом пересмотрел всю схему, все везде прозвонил... Что-то там припаивал, отпаявал... И нихуя не помогало. В конце концов уже начали руки опускаться, стало совсем грустно. Потом осенило: раньше-то такая схема работала при напряжении 24 Вольта, а тут всего 12! А резисторы-то тупо скопированы с другой платы - и все... Без пересмотра номиналов.  Поставил 2 по 5 килоом вместо двух по 22 - и лыжи, наконец, поехали. Правда, немного удивила нелинейность зависимости порога срабатывания кнопки от сопротивления относительно более высоковольтной схемы. А, да похуй - главное, что работает! 

На сделующий день другая беда. 

  • Обнаружился косяк с индикационными диодами опто-семисторных выходов. С какого-то хера (хер - это буква, если что) я решил сделать их как индикаторы UART. А тут так неможно. Наверно, даже по вполне очевидным причинам, которые почему-то сначала очевидными вовсе не казались. К сожалению, их пришлось отрезать и теперь без использования специальных инструментов, возможно, будет непонятно, подается ли открывающий сигнал на оптрон или нет. Ну да ладно... Можно еще побаловаться с подключенной нагрузкой, что я обычно делаю в последнюю очередь и продпочитаю для этого использовать миньонов, которых не жалко. Или отважных добровольцев... Раньше подобные эксперименты проходили вполне успешно. Во всяком случае, никто пока еще серьезно не пострадал. Было бы прикольно узнать наверняка, какой ток выдержит выход с моей схемы. Рассчеты показывают около двух Ампер. По факту я хз. Любопытно, конечно, но я бы не стал туда своими руками полуторакиловатный чайник подключать. Разве что через коннектор...
  • Судя по всему, перепутаны пины питания на сдвоенном триггере Шмидта между оптронами кнопок и МК. И, кстате, в PCB-проекте этот косяк уже давно исправлен.

Практический вывод для трекущей ревизии:

Критических ошибки всего 3 и они решаются небольшими подпайками. Все остальное работает штатно. Это не идеальный, но и неплохой результат, потому что количество выпусков косячных прототив ограничилось всего одним тиражом. То есть, следующая плата будет полностью готовой к работе на станке.