Аквастраж / База знаний / Контроллер своими руками

Контроллер для УЗВ своими руками на Arduino и ESP32

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

Контроллер для узв своими руками на Arduino или ESP32 может снимать показания датчиков температуры, уровня и pH и включать реле по заданному условию, и для хозяйства с несколькими бассейнами такая автоматика реально экономит время на ручных обходах. Граница проходит там, где от контроллера начинает зависеть не удобство, а жизнь рыбы в ваше отсутствие: там самодельная плата без независимого резервного питания и без канала связи, не зависящего от домашнего роутера, становится слабым местом всей системы.

Arduino или ESP32: в чем разница для этой задачи

Оба варианта это платы для любительской электроники с открытой средой разработки, но для контроллера узв они закрывают разные задачи.

ПараметрArduino (Uno, Mega, Nano)ESP32
Связь с сетьюНет своей, нужен отдельный модульWi-Fi и Bluetooth встроены
Число входов и выходовБольше на платах вроде MegaМеньше, часть пинов занята под Wi-Fi
Потребление энергииНизкое в простом режимеВыше из-за постоянной радиосвязи
Типичная роль в системеСъем датчиков и управление реле на местеТо же самое плюс отправка данных на сервер или в приложение

На практике многие самодельные схемы используют Arduino как рабочую лошадку для снятия сигнала с датчиков и управления реле, а ESP32 или отдельный GSM/Wi-Fi модуль поверх нее уже для передачи данных наружу, потому что закладывать беспроводную связь в саму плату управления не всегда оправдано с точки зрения энергопотребления и надежности контактов.

Какие датчики реально снять своими руками

  • Температура. Цифровой датчик температуры на один провод (тип DS18B20 и аналоги) один из самых надежных и дешевых узлов самодельной схемы, погрешность обычно укладывается в десятые доли градуса, что для контроля воды более чем достаточно.
  • Уровень воды. Поплавковые концевики, ультразвуковые дальномеры и схемы на электродах реально собрать самому, но у каждой схемы свой набор отказов: электроды со временем электролизуются и обрастают, поплавок может залипнуть на направляющей. Подробный разбор четырех рабочих схем и того, что в них ломается раньше самого датчика, есть в статье датчик уровня воды своими руками.
  • pH. Готовый аналоговый pH-модуль со стеклянным электродом подключается к аналоговому входу платы, но требует калибровки по буферным растворам не реже раза в несколько недель, иначе показание постепенно съезжает и самодельный контроллер начинает принимать решения по неверным данным.
  • Ток и напряжение нагрузки. Токовые клещи или датчик тока на плате позволяют косвенно понять, работает ли насос или компрессор, по тому, потребляет ли он ток, это дешевле и надежнее, чем пытаться напрямую мерить сам факт движения воды или воздуха.

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

Логика автоматизации: с чего начать

Программную часть контроллера разумно наращивать по шагам, а не пытаться сразу написать полную логику управления фермой.

  1. Чтение и вывод показаний. Первый шаг: снять сигнал с одного датчика и вывести число на экран или в последовательный порт, убедиться, что показание стабильно и повторяемо.
  2. Пороговая тревога без управления. Второй шаг: завести условие "если значение вышло за диапазон, зажечь светодиод или подать звук", еще без автоматического управления оборудованием, чтобы проверить логику на практике без риска для рыбы.
  3. Управление одним реле по одному условию. Третий шаг: например включение подсветки по времени суток, самая безопасная задача для первой автоматизации, потому что ошибка в ней не угрожает рыбе напрямую.
  4. Управление критичным оборудованием только с ручным override. Автоматическое отключение или переключение насоса и компрессора по показанию датчика стоит вводить только тогда, когда есть понятный и быстрый способ вручную отменить решение автоматики, если оно окажется ошибочным.
  5. Логирование и уведомления наружу. Финальный шаг: отправка показаний и тревог за пределы локальной сети, чтобы узнавать о проблеме не только стоя рядом с самим контроллером.

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

Плата с датчиками работает, пока есть питание и пока жива сеть, к которой она подключена. Это и есть две главные слабости типичной самодельной схемы.

Если контроллер запитан от той же розетки, за которой должен следить, при пропадании света он гаснет вместе с насосом и компрессором и не может ни зафиксировать аварию, ни тем более сообщить о ней. Резервное питание для самого контроллера, отдельное от основной нагрузки, обязательное условие, а не опция для галочки. Как устроена проводка и защита у пруда в целом, откуда берутся такие обесточки и что стоит проверить в щитке заранее, разобрано в статье электрика у пруда.

Второе слабое место: канал связи. Контроллер на ESP32, который отправляет тревогу через домашний Wi-Fi роутер, зависит от того же самого источника питания, что и остальной объект: роутер обесточился вместе со светом, и сообщение просто некуда уйти. Независимый канал связи, не завязанный на локальную сеть объекта (например GSM модуль со своей сим-картой или готовый прибор с собственным модулем связи), закрывает именно этот сценарий, самый частый по факту среди реальных аварий на фермах.

Типичные ошибки самодельного контроллера

  • Нет watchdog-таймера. Если программа зависает (а на самодельной прошивке это происходит чаще, чем хочется признавать), без аппаратного watchdog контроллер просто замирает и перестает и снимать показания, и слать тревоги, при этом внешне выглядит так, будто все в порядке.
  • Один источник питания на контроллер и на силовую часть. Просадка напряжения от пускового тока насоса может перезагрузить саму плату управления в момент, когда она особенно нужна.
  • Датчики без гальванической развязки от силовых цепей. Наводки от насоса или компрессора на аналоговый вход датчика дают ложные скачки показаний, которые сложно отличить от реальной аварии.
  • Прошивка без проверки на разумность значения. Если датчик температуры физически отвалился, он часто выдает либо ноль, либо предельное значение, без проверки на правдоподобие контроллер может принять это за реальную аварию или, хуже, за норму.
  • Реле без защиты от дребезга контактов и без учета индуктивной нагрузки. Коммутация обмотки компрессора или насоса без искрогасящей цепи на реле сокращает его ресурс и может выводить из строя саму плату управления через наводки.

Из чего собрать корпус и как защитить плату от влаги

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

  • Герметичный корпус с классом защиты не ниже IP54. Обычный пластиковый бокс без уплотнителя пропускает влажный воздух, и конденсат на плате рано или поздно закорачивает дорожки или разъемы.
  • Вывод кабелей датчиков через герметичные сальники. Место ввода проводов в корпус самая частая точка попадания влаги, кабельный ввод без уплотнения сводит на нет герметичность самого корпуса.
  • Разнос силовой и сигнальной части. Реле и силовые провода лучше физически отделить перегородкой от платы и слаботочных проводов датчиков внутри одного корпуса, это снижает наводки и риск короткого замыкания на плату при пробое реле.
  • Влагопоглотитель внутри корпуса. Пакетик силикагеля в закрытом корпусе снижает риск конденсата в местах с перепадами температуры, например когда контроллер стоит у стены рядом с открытым бассейном.
  • Проверка после первого сезона. Первую зиму или первое лето с перепадом влажности стоит открыть корпус и посмотреть на состояние пайки и разъемов, а не считать, что раз заработало один раз, значит будет работать всегда.

Что не стоит доверять самоделке

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

Базовый блок Аквастража берет на себя именно эту часть: следит за питанием, температурой воды, связью с сервером и зарядом собственного аккумулятора, а тревога уходит в телеграм-бот и в приложение ntfy независимо от домашней сети объекта. Датчики насоса, аэрации и кислорода при этом подключаются отдельно и не входят в базовый комплект, как и в любой другой системе мониторинга.

Кто скажет вам, что насос встал в три ночи

Мы делаем сторожа, который следит за питанием, насосом и аэрацией и пишет вам в Telegram, пока рыба еще дышит. Сообщение приходит со звуком, даже если телефон в беззвучном. Базовый прибор стоит от 7 900 рублей, комплект считаем индивидуально под ваши бассейны. Напишите, что у вас за хозяйство, и подберем. Если увидим, что вам наш прибор не нужен, так и скажем.

Оставить заявку

Частые вопросы

С чего начать, если раньше не занимался электроникой

С самого простого узла: подключить один датчик температуры и вывести показание на экран или в последовательный порт компьютера, без реле и без сети. Только после того, как эта база работает стабильно неделями, есть смысл добавлять управление и связь.

Хватит ли Arduino без ESP32 для полноценного контроллера

Для локального снятия датчиков и управления реле без выхода в сеть Arduino достаточно. Как только нужна отправка данных или тревоги наружу, требуется либо ESP32 со встроенным Wi-Fi, либо отдельный сетевой или GSM модуль поверх обычной платы Arduino.

Можно ли построить полностью независимый от готовых приборов контроллер

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

Что делать с автоматикой на время отпуска или отъезда

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

Сколько времени реально уходит на доведение самодельного контроллера до рабочего состояния

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

Источники

Технические характеристики плат Arduino и ESP32 (число входов, наличие Wi-Fi, энергопотребление): официальная документация проектов Arduino и Espressif.
Данные о том, что контролирует базовый блок Аквастража и куда уходит тревога: страница прибора на сайте akvastrazh.ru.

Рядом в разделе