Создание энергоэффективного устройства для умного учета воды своими руками

Автор текста: CyberexTech

Привет, Пикабу!

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

📜 Небольшая предыстория и поиск решения


Изначально у меня не было «умных» счетчиков воды. Для сбора данных я использовал проект на базе модуля ESP32 CAM, который с помощью компьютерного зрения и алгоритмов машинного обучения распознавал показания с циферблата.

Ниже можно увидеть, как был установлен этот модуль для считывания:

Однако в ходе эксплуатации выявились существенные недостатки такого подхода:

  • Низкая точность: система часто ошибалась при распознавании цифр;

  • Высокое энергопотребление: что делало невозможным работу от автономного питания в местах без розетки;

  • Сильный перегрев: модуль ESP32 CAM сильно нагревался из-за высокой нагрузки от алгоритмов машинного зрения.

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

На фото ниже — новые счетчики, установленные в техническом отсеке:

⚙️ Разработка аппаратной части устройства


Со счетчиками было покончено, провода выведены — половина дела сделана. Далее предстояло разработать саму электронную начинку. Я сформулировал для себя следующие технические требования (ТЗ):

  • Использовать преимущественно те электронные компоненты, которые уже есть в наличии;

  • Обеспечить возможность длительной автономной работы от встроенного источника питания, а значит, добиться минимального энергопотребления;

  • Организовать беспроводную связь для интеграции с системой умного дома и передачи данных.


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

Для максимальной экономии энергии ATtiny 2313A, согласно даташиту, требуется питание 1.8 В. Его основные характеристики впечатляют: в активном режиме при тактовой частоте 1 МГц он потребляет всего 190 мкА, а в режиме глубокого сна — доли микроампера. Чтобы получить необходимое напряжение, в схему был добавлен малошумящий линейный стабилизатор LP2985.

В качестве источника питания я решил использовать литий-ионный аккумулятор формата 18650 (с возможностью замены на батарейки АА). Я предпочитаю аккумуляторы из-за их большего срока службы и меньшего вреда для экологии.

Далее была разработана печатная плата. Ниже — ее трассировка и 3D-модель.

Рендер трехмерной модели платы:

🔧 Изготовление печатной платы


Плату я изготовил с помощью лазерного метода (Laser Direct Imaging), о котором уже писал ранее. Этот способ позволяет быстро и качественно создавать прототипы. Процесс включает перенос рисунка, травление и нанесение паяльной маски. На фото ниже — готовая плата с установленными компонентами.

🖨️ Проектирование и печать корпуса


Корпус был спроектирован в бесплатной CAD-программе FreeCAD и напечатан на 3D-принтере Flyingbear Ghost 5.

Вот как выглядела его 3D-модель:

А это — распечатанные детали:

🧩 Сборка конечного устройства


В корпус сначала была установлена система питания на базе модуля TP4056 с разъемом USB Type-C для зарядки. Для улучшения приема Wi-Fi добавил внешнюю антенну с разъемом SMA. Светодиод индикации заряда был вклеен с помощью прозрачного термоклея — куда же без него в DIY-проектах!

Плата крепилась в корпусе с помощью специальных пазов. Ниже — несколько фото процесса сборки и готового устройства.

Устройство в собранном виде:

На боковой панели видны порт USB-C для зарядки и выключатель:

Для крепления устройства на водопроводной трубе была напечатана специальная клипса, которая фиксируется двумя винтами.

💻 Прошивка и интеграция в систему умного дома

Написание программного кода


Прошивка для устройства была написана на базе моего каркаса для умных девайсов. Для простоты использовалась среда Arduino IDE. Ключевой момент — организация связи между двумя микроконтроллерами. Ведущий (ESP8266) и ведомый (ATtiny2313) общаются по шине I2C. Код для ATtiny довольно прост: он использует аппаратные прерывания для точного подсчета импульсов с каждого счетчика и по запросу отправляет накопленные данные на ESP8266. Для достижения минимального энергопотребления ATtiny был настроен на работу от внутреннего генератора на 1 МГц.

ESP8266, получая данные, обрабатывает их, переводит в литры (с учетом калибровочного коэффициента «вес импульса») и отправляет в сеть по протоколу MQTT.

Интеграция в Home Assistant и веб-интерфейс


Устройство имеет собственный веб-интерфейс для настройки. При первом включении оно создает точку доступа. Подключившись к ней, пользователь попадает на страницу конфигурации, где можно задать параметры Wi-Fi, MQTT-брокера и, самое главное, «вес импульса» — количество литров воды, соответствующее одному импульсу счетчика (это значение берется из паспорта счетчика).

В системе Home Assistant устройство автоматически обнаруживается через MQTT Auto Discovery, создавая сущности для горячей и холодной воды. Эти данные можно отображать в виде удобных карточек или даже интегрировать в раздел «Энергомониторинг» Home Assistant.

Скриншот энергомониторинга в Home Assistant:

Пример кастомной карточки для отображения данных:

На корпусе устройства есть две кнопки. Их комбинация позволяет сбросить настройки и перевести устройство в режим конфигурации, если нет доступа к веб-интерфейсу.

📊 Итоги и результаты тестирования


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

  • Ток в режиме сна: около 540 мкА (из них 190 мкА — активный ATtiny, остальное — стабилизаторы и обвязка);

  • Ток в режиме передачи данных (Wi-Fi): около 74 мА.


При таких показателях аккумулятора емкостью 3000 мАч хватит на многие месяцы работы.

Себестоимость компонентов для сборки устройства составила менее $6.

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

Если статья понравилась, отметьте ее. Все вопросы и дополнения — добро пожаловать в комментарии. Всем добра!

Полезные ссылки по проекту:

  • Исходный код прошивки и схемы на GitHub;

  • 3D-модели корпуса для печати (STL).

Написано специально для Timeweb Cloudи читателей Пикабу. Больше интересных статей и новостей в нашемблоге на Хабре и телеграм-канале.

Хочешь стать автором (или уже состоявшийся автор) и есть, чем интересным поделиться в рамках наших блогов — пиши сюда.

Облачные сервисы Timeweb Cloud — это реферальная ссылка, которая может помочь поддержать авторские проекты.

[моё]ГаджетыЭлектроникаTimewebСчетчикТехникаСборкаИзобретенияИнженерБытовая техникаВидеоYouTubeДлиннопост 3

Больше интересных статей здесь: Гаджеты.

Источник статьи: Каждая капля на счету или как я счетчик умным делал.