• Разработки
  • Заметки
  • Музыка
  • Обратная связь
  • Термостат управления обогревателем

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

    В прошлом году я задумался над автоматизацией сего процесса и приобрёл себе термостат за $12, который приколхозил к обогревателю. Получилось неплохо, но сие китайское чудо периодически зависало (раз в три дня), и температура падала - я мёрз.

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

    И так, нам понадобятся:
    1) Arduino nano 3 - $2
    2) Датчик температуры DHT-11 - $1
    3) ЖК-дисплей 1602 + контроллер i2C PCF8574 - $2.3
    4) Кнопочки 2 шт. и светодиод - $0.5
    5) Розетка внутренняя 230 В - $1.5
    6) Трансформатор + выпрямитель (и фильтр на 2000 мФ) - $0 (нарыл в загашнике)
    7) Резисторы 220 Ом 1 шт., 10 кОм 2 шт. - $0 (понавыпаивал из разных плат)
    8) Провода, припой, паяльник, клей - $0 (всегда имеется в хозяйстве)
    9) Какой-нить корпус (отлично подходит от компьютерного БП, нерабочего).

    Схему сборки представил на иллюстрации.

    Лампочка статуса розетки, чтобы ночью не светила прямо в глаз подвергалась множеству "издевательств".
    Сперва я её посадил на ШИМ вывод ардуинки (5 контакт), и поставил пульсацию 30. Но ночью лампа всё равно светила в глаз шо дурная. Уменьшил до 20-ти, не помогло. Ну а меньше ставить нету смысла, т.к. днём плохо будет видно. Поэтому была принята следующая модификация.

    А именно, увеличено отверстие в корпусе сверлом на 6, затем продел в него кусок колпачка от иголки (шприца), напёр туда немного ваты как светорассеиватель а затем воткнул диод. Корпус колпачка замотал изолентой в районе диода.

    Так же в программе задал отключение подсветки дисплея через 5 минут, чтобы не светило почём зря. Обновление изображения на дисплее тоже оптимизировано, чтобы не напрягать шину. Написал простенькую анимацию отображения изменения числа температуры кнопочками - для наглядности. Настройки сохраняются в EEPROM сразу после изменения.

    Так же реализована защита от скачка показаний датчика, чтобы реле не щёлкало как умалишённое туда-сюда. По умолчанию задержка 120 секунд. На этот период программа игнорирует показания датчика, но отображает их.

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

    Получилось довольно неплохо. Неаккуратно, но работает стабильно и не зависает. Конечо, можно допилить отдельную схему питания компонентов (релле + дисплей + датчик) на стабилизаторе 7805 (я их кстати заказал), чтобы разгрузить таковой в ардуинке. Может я так и сделаю. Но покуда, потрогал пальцем стабилизатор на плате и понял что он сильно не греется - и так походит.

    Скачать проект/скетч:

    Архив + необходимые библиотеки.zip --> 23 загрузок

    07.10.2019. 17:23

    Комментарии

    Статью еще не комментировали.

    Написать комментарий

    * - обязательное поле

    :

    :


    Обновить

    Меню

    Статьи

    Комментарии

    RSS Feed

    Реклама

    AnyDesk для Linux и Win
    Магазин Complex. Комплексные решения.
    Не хотите полить мобилу? Виртуальные СМС номера. Стоит копейки!