Финальная часть замены Raspberry Pi в насосной на модуль на микроконтроллере.
Вступление весьма подробно рассказано в первой части, так что можно сразу к сути.
Что требуется:
- Переключение между реле давления с защитой от сухого хода и полным диапазоном (2-4,5 кг), и реле без защиты и с узким диапазоном (3,5-4,5 кг).
- Возможность блокировки запуска насоса — отключение пускателя от реле.
- Измерение потребления насоса.
- Управление режимами с передней панели.
- Отображение режимов.
- Контроль состояния реле давления.
- Так как весьма просто добавить измерение температуры, но температура воздуха в помещении уже меряется первым блоком, то решил датчик температуры использовать для замера температуры трансформатора 400-230. Пусть будет статистика.
- В последний момент дали идею — добавлю в дальнейшем датчик давления. Заказал с Али, пока едет.
- Весьма неплохо бы сделать те автоматизации, что у меня были реализованы скриптами на малинке — одноразовую подкачку воды до максимума и «софт-реле» для защиты от сухого хода.
Реализация «в железе» по тому же принципу, что и в прошлый раз. Однако: в этот раз только обычные реле — скважина более критичный элемент, чем фильтр бассейна, поэтому «в дефолте» имеем нормально замкнутые контакты разрешения работы и выбранное реле с защитой. Т.е., даже если с модулем что-то случится, то насос будет работать «просто как обычно». Так как реле всего два, то места на «нижнем этаже» побольше — в этот раз не пришлось лепить БП где-то сбоку — в этот раз решил не экспериментировать и сразу размещать его подальше от микроконтроллера. Клеммник у обычных модулей реле стоит немного дальше от края, чем в модулях с SSR, в итоге пришлось часть текстолита срезать. Монтажное основание в корпусе сделано из двух макетных плат. На одной размещен урезанный модуль реле и БП, на второй — PZEM и схема контроля состояния реле давления.
На PZEM-004t сходу перенес интерфейсный разъем на обратную сторону платы, а дополнительный конденсатор для организации питания от 400В взял с другого нерабочего измерителя. Крепление модуля — пайкой за монтажную плату. Все получилось очень впритирку — конденсаторы упирались в стенку корпуса, пришлось дорабатывать по ходу дела.
Микроконтроллерная часть — по отработанной схеме. Макетка, гнезда для установки ESP32 C3, стабилизатор на AMS1117 и паяемый в последнюю очередь индикатор на SSD1306 — в этот раз взял с разрешением 128х64, так как на 32 становилось совсем уж тесно.
В этот раз разъем на модуле реле в том числе обеспечивал подачу питания на «процессорную» часть, а питание на сам модуль сделал через пины-стойки, на которых он держится.
2 (или даже 3) промаха:
- контроллер в сборке получился впритирку к PZEM’у — благо, напротив там интерфейсная часть, но все же. Изначально не хотел размещать контроллер над реле и чуть все не испортил.
- Провода сделал сильно короткие, пришлось дорабатывать по ходу дела. А вообще — когда много отдельных разъемов, то это начинает напрягать. Надо стараться делать общий шлейф — на макетке проще перемычку кинуть, когда все разобрано, чем потом стараться подключить несколько отдельных косичек в разные точки в полусобранном состоянии.
- PZEM в этот раз упирался в контакты одной из кнопок — в натянутую на них термоусадку. Термоусадку снял, контакты загнул под 90 градусов, чтобы обеспечить зазор.
Итог:
Середина нижнего клеммника — задел под датчик давления: вывод +5/0 и вход на АЦП контроллера. Когда поднялась тема с датчиками давления, то хотел поставить 2 — до фильтра и после — да и пин один свободный остался. Но — незадача: на esp32 использовать 2 АЦП можно только если не используется wifi. Пришлось ограничиться одним.
Схемы:
Конфиг будет обновлен, так как на сейчас получилось инверсное отображение состояния реле — после сборки начал редактировать прошивку «не в ту сторону».
Общий дизайн блока вышел примерно такой же, как и в первый раз: дисплей и 2 кнопки.
- Одна при коротких нажатиях переключает тип реле: нормальное / подкачка
- При длительном нажатии блокируется работа насоса.
- Вторая при коротком нажатии включает одноразовую подкачку.
- При длительном нажатии переключается режим soft relay.
После добавления датчика давления дизайн дисплея, похоже, будет немного переделан — после чего и выложу финальный вариант конфига.
Update: да, забыл: некоторые функции у меня все же дергаются удаленно из cron’а — подкачка воды по расписанию. Пример:
wget -qO- --post-data=1 http://192.168.1.132/switch/relay_normpump/turn_on
Значение в «post-data» вроде не принципиально, просто ключ не работает без параметра.
Update 2026-03-13: наконец-то исправленный конфиг











Одна мысль про “Декомпьютеризация насосной, часть 2”