Всем привет, год назад сделал себе обогрев рабочего места на балконе, и чтобы не постоянно работал сделал терморегулятор. Работает вторую зиму без нареканий.
В качестве источника тепла используется инфракрасный обогреватель на 600Вт.
За основу был взят данный проект с изменениями под себя, в частности вместо реле включения нагрузки использовал симисторы. Устройство собрано на двух платах: основная и силовая.
Регулятор собран на базе микроконтроллера ATMEGA8A, с выводом показаний на двухстрочный индикатор. Для ввода настроек применен энкодер с кнопкой ( в моем исполнении кнопка отдельно от энкодера). Введенные настройки сохраняются в энергонезависимой памяти микроконтроллера, поэтому пропадание питания не грозит пропаданием настроек.
В качестве исполнительного устройства выбраны симисторы BT-138 12А 600В управляемый оптроном MOC3063M
Схема основная

Схема силового блока

Фьюзы

Датчиком влажности/температуры служит DHT22. Также пойдет более дешевый DHT11.

Настройка порогов температуры и влажности происходит с помощью энкодера с кнопкой, для этого организовано простое меню. При нажатии на кнопку появляется возможность установить порог температуры, значение устанавливается вращением ручки энкодера. При повторном нажатии кнопки, появляется возможность установить порог влажности. Следующее нажатие кнопки сохранит установки в EEPROM, но только в том случае, если новые значения отличаются от прошлых (для уменьшения количества циклов записи энергонезависимой памяти).
Настройка порога влажности
Дисплей имеет подсветку. Если активно меню настроек, то подсветка не погаснет. При выходе из меню она проработает еще примерно 15 секунд и погаснет. Чтобы активировать подсветку достаточно крутануть энкодер в любую сторону. Кстати, на случай если пользователь забудет выйти из меню настроек, микроконтроллер это сделает самостоятельно. В этом случае установленные настройки не сохраняются.
В основном режиме на дисплей выводятся измеренные показания. Когда температура или влажность достигают заданного предела, напротив значения появляется специальный символ.
Для индикации работы устройства имеются 5 светодиодов. Светодиод D3 (светит зеленым на фото выше) показывает наличие питания схемы. Светодиод D4 моргает с интервалом 5 сек, сразу будет видно, выполняется ли основная программа или нет. Светодиод D2 индицирует проблемы работы с датчиком. А светодиоды С/Д1 и С/Д2 показывают какое из реле находится во включенном состоянии.
Ну и немного фото процесса

Корпус из текстолита









Обогреватель на 600Вт

Скачать файлы к проекту. Прошивка скомпилирована под частоту работы микроконтроллера 10МГц.
для работы прошивки с датчиком DHT22 требуется использовать кварц на 16МГц



Comments 5
Хороший проект! А какова инертность этого датчика?
Данным вопросом не задавался, если вам очень нужно, можно в датише посмотреть или тесты на просторах интернета
Возможно, вопрос не понятен, мне интересно как быстро датчик показывает корректные показания, при изменении температуры. Как быстро он остывает или согревается до температуры помещения, если открыть окно зимой, либо интенсивно греть ТЭНом. Я использую DS18B20 — он довольно инертный. При резком изменении температуры помещения — он показывает это только спустя 2-3 измерения (периодичность 1 сек.).
честно не задавался вопросом и не замерял, да и за 2-3 секунды вам ничто так бвстро не нагреет, я свой использую на балконе с ИК обогревателем 600Вт, с 10-14 гр, до 19 довольно быстро нагревает, меня все устраивает.да и сам нагреватель в разы инертнее датчика, поэтому необходим гистерезис, который можно выставить на нужный режим,
Вас понял, спасибо за ответы.