Введение
Типы систем обогрева
Если вам нужно реализовать обогрев помещения с использованием электрообогревателя, то вы столкнетесь с выборов покупки одного из 3 видов обогревателей (тут я не рассматриваю профессиональные дорогие системы, а только недорогие решения, доступные в каждом магазине бытовой техники).
Первый: самые дешевые спиральные или масляные обогреватели. В таких обогревателях из настроек - только выбор мощности работы. Работает и греет постоянно с одной и той же температурой. При этом если помещение уже нагрелось, он будет продолжать работать. Плюсы: дешевизна. Минусы: большой расход электроэнергии и невозможность контроля температуры в помещении.
Второй тип: масляные, инфракрасные или любого другого типа обогреватели средней ценовой категории, управление которых осуществляется как правило двумя выключателями и одним энкодером "крутилкой". Выключатели позволяют выбрать один из трех режимов мощности, а энкодер - выставить нужную температуру в помещении. Но на деле выставить нужную температуру не получится, потому что, во-первых, на энкодере нет шкалы температуры, а, во вторых, датчик температуры установлен внутри обогревателя, поэтому он замеряет не температуру в комнате, а скорее свою температуру, что сильно снижает точность. Этот тип позволяет немного экономить электричество.
Третий тип: самый дорогой тип из рассматриваемых. Позволяет задать как мощность, так и необходимую температуру в помещении, с помощью цифрового блока управления с дисплеем. Отличное решение, позволяет действительно эффективно экономить электроэнергия, очень удобен в использовании. Также обычно имеется режим "непромерзация" - поддержание небольшой плюсовой температуры, если, например, вы живете в загородном доме и требуется уехать на какое-то время. Датчик температуры правда все равно расположен внутри обогревателя, что так или иначе снижает его точность. Решается обычно поправками в программной части блока управления.
Доработка обогревателя блоком управления на Arduino
Предположим, у вас есть только обогреватели первого или второго типа, но хотелось бы автоматизировать их работу. Или же вы перешли на использование обогревателей третьего типа, но пару масляных у вас еще осталось, и вы хотите использовать их в сарае/мастерский или еще где-то, куда покупать еще один новый не целесообразно.
Для того, чтобы из простого обогревателя сделать "умный", нам достаточно купить компонентов менее чем на тысячу рублей, а на сборку модуля понадобится совсем немного времени. При этому он будет гораздо более функционален, чем дорогие обогреватели (третьего типа) и в нем будет устранено несколько их недочетов.
Функциональные возможности:
- быстрый нагрев помещения и поддержание нужной температуры с большой точностью
- режим "непромерзания"
- встроеные часы с календарем и датчик влажности
- запись/просмотр журнала изменений температуры и влажности
Ну и также большим плюсом будет открытость кода и платформы, а также возможность быстро внести изменения или дописать новый функционал. Итак, начнем...
Подготовка
Итак, нам понадобится:
- Arduino Nano: 1 2 3 4 5 6
- Черырехстрочный дисплей (2004) со встроеным I2C модулем: 1 2 3
- Модуль часов RTC: 1
- Датчик температура/влажность DHT22 (лучше в виде модуля): 1 2
- Реле: 1
- 2 кнопки: 1 2 3
Корпус можно сделать любой в зависимости от бюджета и фантазии: из любой ненужной коробки, купить готовый или напечатать на 3d-принтере, если есть такая возможность.
Также нужные любые подходящие провода и батарейка CR2032 для модуля часов.
Из инструментов могут быть полезны:
Сборка
Собираем все по следующей схеме:
Примерно так это может выглядеть:
Соответственно высоковольтную сторону реле подключаем на размыкание фазы 220, идущей на обогреватель. А сам обогреватель включаем на нужную нам мощность (чем больше, тем быстрее будет осуществляться нагрев помещения) и, если на нем есть настройка температуры - то ее выкручиваем на максимум.
Код я выложил на github: https://github.com/arduinotech/workshop_station/
Загружаем и проверяем.
Управление модулем
Экран довольно плотно забит информацией, чтобы без лишних нажатий можно было проверять статус работы модуля:
В верхней строчке слева направо отображены: текущее время, дата и месяц, текущая температура и текущая влажность. Последнее число в верхней строке - температура, которую нужно поддерживать автоматически.
Требуемая температура меняется с помощью двух кнопок (соответственно увеличивается и уменьшается).
Остальные данные на дисплее представляют таблицу данных температуры и влажности, сохраняющиеся каждый 2 часа. Верхняя строчка таблицы - часы, средняя - температура и нижняя - влажность.
Все предельно просто. В ближайшее время планирую добавить также информацию по времени включения/выключения обогревателя.
UPD Добавил отображение времени включения/выключения обогревателя. Чеередуется с историей температуры и влажнности каждые 10 секунд.