Предлагаю вашему вниманию комнатный термостат для регулировки температуры в доме. Принцип этого устройства, как и в любого термостата основан на включении котла при понижении температуры и отключении при повышении. Управление котлом осуществляется через реле в термостате, подключенного на место перемычки для термостата в плате управления котлом (если замкнуто — значит есть запрос обогрева). Основным преимуществом данного термостата является возможность программирования его работы на неделю, наличие часов реального времени, энергонезависимая память параметров настроек и т.д.
Температуру измеряем DS18B20, МК — Atmega8, часы реального времени — DS1307. Дисплей LCD 16Х2. Основной дисплей:
Вид макетной платы без дисплея:
Принцип работы его таков: Есть два температурных режима — повышенный (огонек на дисплее) и пониженный (луна). Они настраиваются в пункте меню — температуры. Для каждого дня недели существуют шесть временных интервалов. Каждый интервал может быть «пониженным» или «повышенным».
Например: вы просыпаетесь в 7:00, значит настраиваете первый интервал примерно на 6:30 (для прогрева) и назначаете повышенный режим. Уходите на работу в 8:00 — настраиваете второй интервал на 8:00 и «пониженный». Приходите с работы в 18:00 — устанавливаете 5-й интервал (3-й и 4-й к примеру пропускаем, то есть устанавливаем также «пониженный» режим) на 17:30 и «повышенный». Ложитесь спать в 23:00 — устанавливаете 6-й интервал на 23:00 и «пониженный» (в холоде лучше сохранитесь :).
Установленный интервал действует с начала установленного для него времени и до начала следующего интервала. При этом держится установленный для первого интервала режим. Помимо шести основных интервалов есть не настраиваемый нулевой. Он начинается в 00:00 каждого дня и длится до первого интервала. Режим для него считывается из интервала №6 предыдущего дня. Номер интервала показывается на дисплее до режима.
Интервалы настраиваются в пункте меню — график:
Для каждого дня недели настраиваем свой график работы по желанию трудящихся. Выбор позиции кнопками влево/вправо. Установка повышенного режима только кнопкой вверх, пониженного — только вниз. Для сохранения нажимаем ОК (средняя). При переходе к след. дню предыдущий автоматически сохраняется. График работы хранится в EEPROM.
Температурные режими настраиваем в пункте меню-температуры
Влево/вправо — выбор позиции, +/- — установка значений. При нажатии ОК сохраняются в EEPROM. Естественно температуру повышенного режима (огонек) выбираем выше пониженного (луна), иначе получим совсем обратный эффект.
Часы настраиваются в пункте меню-дата/время
Влево/вправо — выбор позиции, +/- — изменение. В настройках даты учтена проверка на высокостный год, переполнение месяца (30-й или 31-й день). День недели настраивать не нужно, так как он вычисляется автоматически по дате.
Можно также временно (или постоянно) изменить температуру уставки. Если в основном меню нажать кнопку +/- то появится диалоговое окно изменения температуры. Для временного изменения просто устанавливаем нужную температуру и нажимаем ОК. На дисплее в свою очередь вместо значка режима появляется стрелочка вверх или вниз, что соответственно означает повышение или понижение температуры в сравнении с текущей уставкой по графику. Данный режим прервется по переходу на следующий интервал, при вхождении в меню или обратной настройке на температуру уставки по программе. Если же установить режим вместо переводом в эту позицию клавишей влево или вправо и нажатием +, то установленный температурный режим будет длиться пока на главном дисплее не нажмем кнопку ОК. Флаг этого режима также сохраняется в EEPROM, поэтому режим сохранится и после отключения устройства от питания.
Временное изменение температуры
Исходник для CV AVR v.2.04.4a прилагаю. Проект еще окончательно не «вылизан», хотя ошибок в работе последней прошивки пока не наблюдаю. Последняя версия заняла 90% памяти контроллера, поэтому возможностей для «апгрейда», например по погодному регулированию маловато. Схема в Протеусе ведет себя некорректно, поэтому по ней о работе устройства не судить (ну не хотелось ее отлаживать).
И еще, реле управления выбрал, какое было под рукой, а под рукой было как раз реле с двумя обмотками на 5В и запоминанием положения. То есть для того чтобы перевести реле в другое положение, нужно подать напряжение на противоположную катушку. После снятия напряжение реле остается в последнем положении, поэтому реле на самом деле одно (в протеусе не нашлось такого), но с двумя катушками, которое управляется импульсами. Правильно собранное устройство запускается сразу. Нужно всего лишь настроить первый раз часы реального времени, так как без установки времени они запускаться не хотят.
Источник
Программируемый недельный термостат.
Автор: с2. Опубликовано в Термометры
Содержание материала
Программируемый недельный термостат, с часами реального времени.
Программа использует два установленных значения температуры,
в результате пользователь получает максимально комфортный климат в помещении при максимальной экономии газа.
Программируемый недельный термостат.
Диапазон измеряемой температуры . -55°C +125°C
Точность показаний . ±0,1°C
Диапазон регулирования температуры Эконом . +10,0 ÷ 30,0°C
Диапазон регулирования температуры Комфорт . +15,0 ÷ 35,0°C
Гистерезис (дельта служит временной задержкой повторного включения котла) . 0,2÷0,9°C
автономная работа часов при отсутствии внешнего питания.
Программная корректировка погрешности хода часов.
Работа термостата в основном режиме и отображение информации на экране ЖКИ.
☼ Индикация температурного режима «Комфорт»
☽ Индикация температурного режима «Эконом»
Индикация работы котла
Настройки программного термостата.
Кнопка кн5 температурного режима «Комфорт» ☼
Кнопка кн6 температурного режима «Эконом» ☽
Кнопки ▲кн1 ▼кн2 «Увеличение», «Уменьшение» (ручной режим ☽ или ☼ )
◄ кн4 Сброс функций, или возвращение в основной режим.
► кн5 вход в меню настроек
Установка температуры
Установка температуры Комфорт-режим
Нажмите кнопку кн5 , начнет мигать поле ☼ «Текущая температура».
С помощью кнопок ▲кн1 или ▼кн2 введите нужное значение.
Для завершения процедуры введения, нажимайте кнопку ◄кн4, или процедура завершится автоматически через 20 секунд (выбранное значение будет сохранено).
Установка температурыЭконом-режим
Нажмите кнопку кн6, начнет мигать поле ☽«Текущая температура».
С помощью кнопок ▲кн1 или ▼кн2 введите нужное значение.
Установка гистерезиса термостата
Нажмите кнопку кн5 и кн6 одновременно, начнет мигать поле d=«Текущая температура».
С помощью кнопок ▲кн1 или ▼кн2 введите нужное значение.
Для завершения процедуры установки температуры, нажмите кнопку ◄кн4, или процедура завершится автоматически через 20 секунд (установленное значение будет сохранено в любом случае).
Ручная установка режима Комфорт или Эконом, на необходимое время.
Комфорт : В основном режиме работы термостата нажмите кнопку кн5.
На дисплее в нижней строке пиктограмма Реж.комф.☼ , также будет отображено 1:00 «Время».
С помощью кнопок ▲кн1 или ▼кн2 установите время (в часах), на протяжении которого Вам необходимо удерживать Комфорт –режим.
Эконом: В основном режиме работы термостата нажмите кнопку кн6. На дисплее в нижней строке пиктограмма Реж.экон.☽ , также будет отображено 1:00 «Время».
С помощью кнопок ▲кн1 или ▼кн2 установите время (в часах), на протяжении которого Вам необходимо удерживать Эконом -режим
Для преждевременного выхода из ручного режима, нажмите кнопку ◄кн4, или процедура завершится автоматически после отсчитанного таймером промежутка «Времени». (установленное значение будет сохранено), программный термостат возвратится к выполнению текущей суточной программы
Вход в меню настроек программного термостата, происходит по нажатию кнопки ►кн3.
Настройка суточных программ 1 (2,3).
На каждый день недели можно задать нужный режим суточной программы (3 независимые программы с 4-мя настраиваемыми периодами), которые создают очень гибкую систему управления климатом в помещении.
Выбрав меню «Установка суточной программы» (выбор номера ▲кн1 или ▼кн2) нажмите кнопку ►кн3 , войдете в меню настройки суточных периодов
Устанавливая период в активное состояние, мы в это время, включаем термостат в Комфорт-режим, (в основном режиме работы на дисплее в поле «таймер» будет графически отражено эта часть периода, притом что, температуры Комфорт-режима и Эконом-режима Вы уже установили.)
С помощью кнопок ▲кн1 или ▼кн2 установите нужный отрезок времени для включения Комфорт-режима.
Период будет неактивен при установках значения, если час включения больше чем час выключения.
Запрограммируйте таким образом, нужные периоды (1,2,3,4) на сутки.
Для завершения процедуры введения, нажимайте кнопку ◄кн4, или выход из меню завершится автоматически через 20 секунд (установленные периоды будут сохранены).
а) Вы установили температуру Комфорт-режима, равную +25,0°C , а температуру Эконом-режима +20,0°C.
б) Ваш суточный график выглядит таким образом:
Вы, с помощью программного термостата, составляете суточную программу, которая:
в 6:00 вкл. даст команду котлу повысить температуру в помещении до Комфорт-режима (к 7:00 — время Вашего пробуждения, помещение будет прогрето);
в 8:00 котел изменит температуру на Эконом-режим (Вы пошли на работу, зачем напрасно греть помещение)), что приведет к значительной экономии газа;
в 18:00 котел снова получает команду перейти в Комфорт-режим и к моменту Вашего возвращение из работы в помещении будет комфортная температура;
в 23 :00, когда Вы ложитесь спать, котел снова переходит в Эконом-режим до 6:00. Ваша программа будет выглядеть таким образом:
Выбор суточной программы на день недели.
Каждому дню недели Вы можете указать свою суточную программу.
Находясь в меню «установка программы на день недели», нажмите кнопку ► кн3, выберите поле — требуемый день недели «равен» номеру суточной программы (кнопками ▲кн1 или ▼кн2 выбор суточной программы 1,2 или 3).
Установка текущего времени и дня недели.
Находясь в меню «установка текущего времени», нажимайте кнопку ► кн3, выберите поле, что Вас интересует: «Часы», «Минуты», «День недели».
Программная корректировка погрешности хода часов.
Использование функции программной корректировка погрешности хода часов
В пользовательском меню выбираем пункт, в котором выбираем, плюс или минус нужное количество секунд.
ВНИМАНИЕ корректировка секунд по установленному значению производиться автоматически один раз каждые 10 дней 00:01.30 ,. (При выставленной минимальном значении коррекции 1 сек., это составит ±0.1 сек. в день, а при установленном значении 9 сек это составит примерно ±1 сек. В день).
FUSE: для работы МК, выставляются на тактовую частоту 4 МГц. МК тактируется от внутреннего RS осциллятора.
Комплектующие: ЖКИ 16х2 на базе контроллера HD44780 или KS0006 (с поддержкой отображения кириллицы), МК ATmega16 с любой буквой и корпусе.
Часовая микросхема DS1302, ведет подсчет реального времени в секундах, минуты, часы, день недели. (DS1302 не взаимозаменяема с DS1307)
Резервное питание микросхемы DS1302, от 3-х вольтовой батарейки, кварц на 32768 Гц
Цифровой датчик температуры DS18b20.
В торговых точках имеется версия аналога этой программы.
Для общей информации, инструкция пользователя: Программный термостат LT08LCD.pdf (1,02 МБ)