Термостат на atmega8 своими руками

Добавил пользователь Morpheus
Обновлено: 04.10.2024

Согласитесь, что комфорт во многом зависит от температуры в доме. В настоящее время технологические решения систем отопления частного дома практически полностью соответствуют потребительским потребностям жильцов. Однако, автоматический котел, работающий на природном газе, как правило, имеет внутренний термостат, который позволяет поддерживать необходимую температуру… в трубах отопления. Для поддержания комфортной температуры внутри помещений приходится вручную увеличивать или уменьшать температуру теплоносителя в трубах либо с помощью вентилей, регулируя поток, либо с помощью термостатов, каким либо образом связанных с трубой или теплоносителем. Для автоматического поддержания температуры внутри помещения производители котлов рекомендуют использовать КОМНАТНЫЕ ТЕРМОСТАТЫ, устанавливаемые внутри отапливаемого помещения. Комнатные термостаты представлены на рынке достаточно широким ассортиментом. А в котлах, как правило, предусмотрены контакты для подключения комнатных термостатов.

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


Рисунок 1.
Комнатный термостат.

Описание устройства

Электрическая принципиальная схема устройства показана на Рисунке 2.

highslide.js

Рисунок 2.
Схема электрическая принципиальная.

продаётся раскрученный сайт недорого обращаться в личку

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

В качестве датчиков использовал DS18B20. Микроконтроллер (ATmega8) работает от внутреннего задающего генератора на 4 мГц (дополнительно, на плате предусмотрена возможность установки кварца). Из-за артефактов динамической индикации (заметно было подмигивания в момент опроса датчика) пришлось отказаться от чтения ROM датчика и подсчёта CRC. Тем не менее, в устройстве используются два датчика, которые подключены к разным выводам МК. Один измеряет температуру наружного воздуха, другой в ящике. Термостатирование организовано только для датчика №2 (ящик).



Термометр-термостат разделён по двум корпусам. В одном управляющая часть и дисплей, в другом блок питания и реле управления нагрузкой. На плате управления предусмотрена установка стабилизатора питания с конденсаторами для питания микроконтроллера, но так как питание приходит и так 5 v он не впаян (в случае питания от блоков питания с выходным напряжением больше 5 v, его необходимо впаять). Корпус управления снабжён кронштейном который позволяет устанавливать его как на DIN-рейку или просто саморезами к стене.

Разъёмы устройства:
– по USB разъёму передаются управляющие сигналя для включения реле;
– через аудио разъёмы подключены датчики температуры.

Так как программа занимает 66 % памяти, решено было сделать ещё и второй канал управления, на всякий случай, от РВ5. В данной программе второго канала нет, и понадобится ли вообще, пока не знаю, но на ПП второй канал организован в полном объёме, только не установлено реле.

Описание работы термостата.
Устройство имеет три кнопки для управления. Кнопка (ОК), (Up), (Dn). При включении питания на индикаторе высвечивается температура датчика №1 (наружный воздух).

Для просмотра температуры в ящике необходимо нажать кнопку (ОК). При этом загорается светодиод синий HL1 (см. схему), указывающий, что на дисплей выведена температура датчика №2.

При повторном нажатии кнопки (ОК), на дисплей выводится температура датчика №1, а светодиод HL1 гаснет.

Для входа в режим установки верхнего порога отключения и нижнего порога включения обогрева. Необходимо нажать обе кнопки (Up), (Dn) и удерживать их нажатыми не менее 5 сек. По истечении этого времени устройство перейдёт в режим просмотра верхнего порога выключения обогрева. Теперь кнопки нужно отпустить. На дисплее будет высвечиваться значение порога и у четвёртого разряда засветится верхний сегмент, указывающий, что это верхний порог.

Для изменения уставки порога, необходимо нажать кнопку (ОК). Значение на дисплее начнёт мигать, сигнализирующее о готовности к изменению уставки. Уставку можно менять в пределах от +1 до +10 градусов, с дискретностью 1 градус. Увеличение значения происходит с помощью кнопки (Up), а уменьшение с помощью кнопки (Dn). Для сохранения уставки или просто для перехода на следующий порог, необходимо нажать кнопку (ОК). На дисплее высветится нижний порог и у четвёртого разряда засветится нижний сегмент, указывающий, что это нижний порог.

Для изменения уставки порога, необходимо опять нажать кнопку (ОК). Значение на дисплее начнёт мигать, сигнализирующее о готовности к изменению уставки. После установки порога включения, нажимаем кнопку (ОК) для сохранения и выхода из режима установки порогов термостатирования. Уставки сохраняются в энергонезависимой памяти МК и при исчезновении питания не сбрасываются.

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

Для удобства контроля состояния температуры в ящике, был введён дополнительный алгоритм сигнализации о низкой температуре в ящике. Что он из себя представляет? Когда на дисплее отображается температура датчика №1, а температура в ящике снижается (допустим, из-за неисправности нагревателя) и достигает значения ниже +1 градуса, светодиод HL1 начинает мигать, сигнализируя о низкой температуре в ящике. Если температура в ящике поднимется выше + 2 градусов, светодиод перестанет мигать.

Алгоритм неисправности датчиков. При неисправности датчика да дисплее выводится надпись Err №. Номер обозначает код неисправности от 1 до 3. Цифра 1 обозначает – нет высокого уровня, 2 – нет датчика, 3 – высокий уровень не восстановлен.

Когда на дисплее отображается температура датчика №1, и произошла неисправность датчика №2,то светодиод HL1 начинает мигать, сигнализируя о неисправности. Таким образом, при выведенной на дисплей температуре датчика №1 Вы не пропустите возникшую неисправность термостата. Естественно при неисправности датчика №2, обогрев отключается.

Ещё несколько моментов. Термостат отключен если уставка нижнего порога равна уставке верхнего порога, или уставка нижнего порога выше уставки верхнего порога. Если неисправны датчик №1 или №2, то в меню уставок, значение уставки Вы не увидите, хотя уставку изменить можно, но вслепую. Это сделано для того, что бы пользователь не лез изменять уставки при неисправных датчиках.


Файлы для сборки устройства.

Termostat_PCB_ATtmega8_OK - Рисунки печатных плат термостата
7_seg_term_OK_v2b_ATtmega8 - Исходник термостата на Билдере v2b_1
Termostat_7_LED.hex - Прошивка термостата для ATmega8 v2b_1
FuseBits - Фьюзы для прошивки термостата
Для Algorithm Builder и UniProf галочки ставятся как на картинке.
Для PonyProg, AVR Studio, SinaProg галочки ставяться инверсно.
Как правильно прошить AVR фьюзы


--> -->

--> Ваш браузер
chrome 19.0.1061.0

Очень простой термостат для отопления.


В схеме, можно применять светодиодные семисегментные индикаторы с общим катодом или анодом (2 прошивки).
Датчик температуры DS18B20. Микроконтроллер ATmega8. Внутренний RC генератор 4 Meg. Желательно запрограммировать бит BODEN.
В регуляторе, кроме термостата, можно программировать работу по разности температур между датчиками, для управления насосом отопления. То есть, например, если разница между обраткой и подачей воды с котла, станет 20гр., то насос включить, а если уменьшится до 5гр., то насос выключить.
Нажатие SET, на дисплее:

Пороги термостата
tr.oF - нижний порог.
tr.On - верхний порог.
Алгоритм работы такой:
Если температура ниже 2 "верхнего" порога вывод PD5 установлен, иначе сброшен до снижения температуры до 1 "нижнего" порога.

Далее идут Пороги по разности температур между 1 и 2 датчиком.
P.On - разница между обраткой и подачей воды с котла станет, например 20гр., то насос включить.
P.OF - а если уменьшится, например до 5гр., то насос выключить.

Настройки времени для трех режимов.
П ВР. - Время, которое отображается температура подачи воды.
о ВР. - отображается температура обратки.
Р ВР. - отображается реальная разница между подачей и обраткой.
END

При включении, если контрольная сумма параметров не совпадает, то на экран выводится надпись EEP.


тут, конечно же, радиолюбитель может собрать какой либо нестандартный термостат .

И дополнительно используется два термометра с точностью до 0.1°С.

Назначение термометров, информация о температуре окружающего воздуха.

Основные элементы схемы это; ЖКИ 16х2 на базе контроллера HD44780 или KS0006, МК ATmega8 с любой буквой и корпусе, внешний кварц 8 МГц, пьезодинамик с генератором.

FUSE. Схема МК работает с кварцем, на частоте 8MHz.


Принцип работы программы.

Термостат - датчик U -1 , имеет настраиваемый порог температуры и гистерезиса. Настройка производится из пользовательского меню, вход в меню происходит после нажатия кнопки Кн2, в этом же меню вводится вручную количество используемых датчиков DS18b20 (по умолчанию 3 шт.) , это такая необходимость, чтобы в случае ошибки определения температурных датчиков во время работы термостата, это обеспечивает управление компрессором только тем датчиком, который подключен для него при настройке схемы.

Например; если в меню выставлено кол. датчиков 3, а в наличии будет только два или один, в таком случае выход термостата отключается и звучит сигнал зуммера.

Поставите кол. датчиков 1, а на самом деле подключено три (два или один). термостат будет работать как и положено , зуммер не включится никак (только если кол. датч. ноль).

Установка кол датчиков в меню нужно для исключения ошибки при потере датчика, так как они находятся на одной линии, и определяются МК автоматически,

Не подключенные (или не обнаруженные программой) датчики сопровождается надписью error DS , при этом на табло в полях значений температуры вот такие символы: -:-; -:- .

Датчик U -2, U -3 , это дополнительные термометры, используются для отображения на ЖКИ температуры окружающего воздуха в помещении и улице.

Сигнальный выход РВ1 (15 нога МК) предназначен для подачи звукового сигнала в случае обрыва датчика(при неправильно выставленном в меню кол. датчиков, это тоже вызовет сигнал неисправности).

Исполнительный выход РС0 (23 нога МК) управляется термостатом U -1 , предназначен для управления компрессором холодильника. Выход РС2 (25 нога МК) это инверсия выхода РС0.

Исполнительный выход РС1 (24 нога МК) предназначен для подключения второго компрессора, отличие от выхода РС0 это 3-х секундная задержка на включение и выключение, ( в приведенной выше схеме, показано последовательное включение реле для одного компрессора) .

Исполнительный выход РС5 (28 нога МК) управляет вентилятором, предназначенным для смешивания воздушных потоков внутри холодильной камеры. Команда на включение вентилятора подается периодически на 10 секунд, пауза между включениями вентилятора, во время работы компрессора в активном состоянии 3 минуты, во время простоя компрессора пауза 8 минут.

Текущий в первой строке ЖКИ правая часть экрана, или более полный осуществляется по нажатию кнопки Кн1.

Первая строка это время текущее время работы компрессора в активном состоянии, вторая строка это время неактивности компрессора, то есть паузы.

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

Читайте также: