Проект доступен на github.com
Неисправность
После нескольких лет беспроблемной работы водонагреватель Ariston на 80 литров перестал включаться. Причиной неисправности стал встроенный термостат. Водонагреватели этой модели уже давно не выпускаются и поэтому купить родной термостат довольно проблематично.
Поиск решения
Варианты по решению проблемы:
- Отремонтировать нерабочий термостат.
- Купить новый термостат.
- Найти замену.
Отремонтировать не получилось, т.к. вышел из строя ключевой узел термостата, а в ближайших сервисах деталей не было. Новый термостат можно попробовать купить под заказ в специализированных магазинах, но цена неоправданно высокая.
Было решено выбрать 3-ий вариант и искать замену. В этом случае открываются море возможностей для творчества. Минусом является, что все термостаты не совместимы со штатной панелью и придется «колхозить».
Самый простой и дешевый вариант — это поставить механический термостат.
Вариант действительно очень простой, но имеет много минусов. Пользоваться им неудобно, размещение ограничено конструкцией, датчик температуры не совместим с моделью водонагревателя, а пороги срабатывания не совпадают с реальной температурой воды.
Другой бюджетный вариант — приспособить электронный термостат
Этот вариант уже интереснее и предоставляет больше возможностей для гибкой настройки температуры. Основой этого термостата является встроенный контроллер, который не позволяет выполнить тонкую настройку. А мне хотелось большего.
Появилась идея собрать свой термостат на базе Arduino, который позволит выполнить любые «хотелки».
Проект «Термостат на базе Arduino»
Основные требования:
- гибкая настройка в параметрах прошивки
- минимальное количество кнопок (в идеале регулировка одной кнопкой)
- информационный дисплей с подсветкой.
Компоненты для сборки прототипа:
- Плата Arduino Nano.
- Дисплей LCD1602 I2C Blue.
- Реле TONGLING JQC-3FF-S-Z. Для включения нагревателя на 220В от 5В.
- Потенциометр для регулировки температуры.
- Кнопка для включения\выключения подсветки.
- 4 красных светодиода.
- Датчик для измерения температуры.
- Резисторы.
Фото прототипа:
В рамках проекта были разработаны новые библиотеки и основной код для работы устройства. Программный код (прошивка) и необходимые библиотеки для Arduino доступны на github.com по ссылке: https://github.com/neosy/arduino_thermostat
Рабочее устройство было собрано в корпусе из белого пластика.
Управление термостатом:
- Кнопка — включение\выключение подсветки.
- Поворотная ручка — плавная регулировка предельной температуры нагрева (в параметрах прошивки ограничение до 80 градусов). На дисплее T max.
T max — максимальная температура нагрева воды.
T cur — текущая температура воды.
Красные светодиоды — это прогресс текущей температуры. При нагреве светодиоды загораются\мигают последовательно. На дисплее процесс нагрева\остывания отображается стрелкой вверх\вниз.
Термостат работает стабильно и не зависает. В случае с перебоем электричества, устройство перезагружается и продолжает работать. В программе реализована функция Watchdog, которая следит за работой устройства. Если устройство не отвечает в течение 8 секунд, то Arduino автоматически перезагружается.
Процесс сборки устройства и подключения в данной статье не представлены.
Программный код в течение длительного времени тестировался и дорабатывался. Текущая версия прошивки v12.