Найти в Дзене
Дача DIY

"Киберскважина". Часть 6: Монтаж платы и сборка контроллера

"Киберскважина" - серия статей о разработке DIY контроллера управления скважинным насосом и мониторинга состояния оборудования кессона с доступом по WiFi на базе микроконтроллера ESP32 под управлением умного дома Home Assistant. Файлы проекта доступны на GitHub.

После изготовления печатной платы приступил к пайке. Лудить всю плату я не стал, так как не вижу в этом никакого смысла. Толщина меди достаточная, 35 микрон минус пару-тройку микрон на наждачку. Протравов нигде нет, даже намёков на них. А против окисления я буду применять покрытие платы лаком.

Я не стал предварительно лудить даже контактные площадки, это тоже глупость, на мой взгляд. Эта процедура не даёт ровно ничего, кроме проблем - часть отверстий заплывает припоем, ноги элементов потом просто так не вставишь. Хорошо зачищенная наждачкой медь лудится и паяется с флюсом на ура сразу с ногами элементов.

Монтаж начинается с самых мелких элементов, в данном случае это межслойные перемычки. Отрезок медной лужёнки продеваем в отверстие, загибаем снизу к плате и сверху к плате, запаиваем и отрезаем лишнее.

Затем резисторы. Можно было бы использовать SMD-резисторы, потребовалось бы меньше отверстий. Но я не люблю возиться с такой мелочью, да и не нужно здесь это. Для обычных проволочных резисторов изобрёл на скорую руку оснастку для формовки выводов - вырезал из пластиковой карты:

Резисторы пропаивал с нижней стороны везде, а с верхней только там, где ножка резистора играет роль переходного отверстия между слоями. При пайке резисторов прокладывал под них отрезок от той же пластиковой карты, чтобы резисторы не касались своим корпусом слоя меди:

-2

Зачем вообще делать сплошную заливку пустых участков платы медью, а не вытравить всё лишнее? На это есть несколько причин.

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

Во-вторых, большая медная площадь работает как радиатор, распределяя выделяющееся от элементов тепло по большей площади.

В-третьих, экономится раствор хлорного железа.

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

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

По окончании пайки тщательно промыл всю плату в спиртобензине. Бензин "Калоша" и изопропиловый спирт в соотношении примерно 1:1 - отличная промывка платы от остатков канифоли. Бензин и спирт продаются бутылками по отдельности, смешивать нужно самому.

Получилось великолепно, снова испытал эстетическое наслаждение от результата работы:

-4
-5
-6
-7
-8

Плату микроконтроллера я решил не запаивать жёстко, а подключить через разъёмную колодку. Если вдруг эта платка выйдет из строя, то выпаивать её будет очень проблематично, и медные площадки могут оторваться от платы.

Здесь стоит сделать одно важное замечание. Микроконтроллер ESP32 с разъёмом для выносной антенны нельзя включать без подключенной этой самой антенны. Ненагруженный WiFi-передатчик быстро выходит из строя. Поэтому антенна должна быть всегда подключена. И не вот этот хвостик-переходник, что на фото выше, а именно антенна:

-9

Первое включение, как я уже упоминал в предыдущей статье, прошло безуспешно. Ошибка в разводке платы не позволила загрузиться микроконтроллеру. Нога IO12 требует притяжки к нулю во время включения питания, а по моей схеме она была притянута к единице. После исправления ошибки (перекинул сигнал на другую свободную ногу) всё заработало как на макете:

-10

Теперь нужно изготовить лицевую панель со светодиодами и кнопками. Компоновку лицевой панели сделал в том же EasyEDA в редакторе печатных плат:

-11

Распечатал схему с центрами отверстий, скотчем закрепил на лицевой панели и шилом наметил центра на пластике:

-13

Затем засверлил отверстия миллиметровым диаметром, после чего ступенчатым сверлом рассверлил отверстия до нужного диаметра:

-14

В ворде нарисовал надписи для лицевой панели, распечатал на фотобумаге и заламинировал в плёнку утюгом, настроенным на шёлк:

-15

Затем приложил этот шильдик к лицевой панели, с обратной стороны маркером наметил круги отверстий и вырезал отверстия канцелярским ножом. Готовый шильдик точечно приклеил на секундный клей к пластику лицевой панели и установил кнопки и светодиоды:

-16

Фон шильдика сделал не белым, а ближе к цвету корпуса, но светлее него, чтобы надписи оставались контрастными. Немного промахнулся с размером шрифта, кнопки слегка налезли на текст, не страшно.

Установил лицевую панель в корпус:

-17

Дизайн готовой лицевой панели лично мне не нравится совершенно. Но я этот момент вообще никак не учитывал при проектировании за полной ненадобностью - устройство будет работать в закрытом электрощитке, поэтому внешний вид не важен. Хотелось сделать лишь аккуратно и эргономично. И просто. Это получилось.

Распаял шлейф лицевой панели, все открытые токопроводящие части покрыл лаком в два слоя. Шлейф к панели закрепил на термоклей:

-18

На корпус закрепил гнездо WiFi-антенны:

-19

Оранжевые светодиоды в итоге заменил на жёлтые. В выключенном состоянии они оранжевые, а во включенном оказались красными, почти не отличающимися от просто красного. А кроме сигнала аварии других красных индикаторов не хотелось.

Собрал все части вместе:

-20
-21

И приступил к проверке работоспособности всех узлов контроллера (светодиоды, кнопки, реле, входы датчиков температуры, давления, входы для внешних сухих контактов (счётчики воды и модульные реле)):

-22

После того, как убедился, что всё работает, покрыл свою плату и плату микроконтроллера лаком в два слоя (с интервалом в сутки):

Добавил шильдики подписей контактов по той же технологии, что и для лицевой панели:

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

На этом сборка самодельного контроллера завершена.
На данный момент нахожусь в процессе написания прошивки для него.

Файлы проекта по мере разработки выкладываю на GitHub.

Сейчас там уже залита полнофункциональная pre-alpha, написанная "вслепую" на столе, без подключения датчиков и исполнительных устройств. Прошивка уже управляет индикаторами, обслуживает кнопки и предоставляет элементы управления и контроля для Home Assistant. Логика контроля аварийных ситуаций, управления насосом и отоплением также написана, но без проверки в полевых условиях.