РадиоКот :: Двухканальный термометр-термостат на ATmega8.
Например TDA7294

РадиоКот >Схемы >Цифровые устройства >Бытовая техника >

Теги статьи: ТермостатТермометрДобавить тег

Двухканальный термометр-термостат на ATmega8.

Автор: АСУ
Опубликовано 27.08.2013
Создано при помощи КотоРед.
Участник Конкурса "Поздравь Кота по-человечески 2013!"

Приветствую уважаемых котов!
Вот и я нашёл время присоединиться к поздравлению кота по-человечески!
 
Конечно же, данное направление (термостатирование) не является чем-то выдающимся, потому в интернете и на этом сайте Вы найдёте множество похожих устройств. Тем не менее, каждое устройство имеет свой не повторяемый алгоритм работы.
В базовом варианте устройство разрабатывалось под конкретную задачу, поддержание заданной температуры в ящике для хранения овощей, установленном на лоджии и для измерения температуры на улице. В процессе разработки печатной платы (ПП) устройства, была заложена возможность для модернизации устройства при необходимости. Признаюсь, это было сделано так, на всякий случай, без каких либо нужд. Но в дальнейшем оказалось, что данная схема приобрела оптимальную универсальность данного термостата. Кто, осилит статью до конца, тот поймёт, о чём идёт речь.
 
Теперь о самом устройстве (Базовый вариант):
Устройство сделано на базе микроконтроллера ATmega8A-PU. Индикатор светодиодный четырёхразрядный FYQ-5641AHR-21. Реле HLS8-22F-DC5V-C. Датчики DS18B20. Корпус блока управления G1908, корпус силовой части, вот уже и не помню.
 
Схема устройства:
 
 
Микроконтроллер работает от внутреннего задающего генератора на 4 мГц (дополнительно, на плате предусмотрена возможность установки кварца). Из-за артефактов динамической индикации (заметно было подмигивания в момент опроса датчика) пришлось отказаться от чтения ROM датчика и подсчёта CRC. Тем не менее, в устройстве используются два датчика, которые подключены к разным выводам МК. Один (№1) измеряет температуру наружного воздуха, другой (№2) температуру в ящике. Термостатирование организовано только для датчика №2 (ящик) – базовый вариант.
Термометр-термостат разделён по двум корпусам. В одном управляющая часть и дисплей, в другом блок питания и реле управления нагрузкой. На плате управления предусмотрена установка стабилизатора питания с конденсаторами для питания микроконтроллера, но так как питание от БП приходит и так 5 v он не впаян (в случае питания от блоков питания с выходным напряжением больше 5 v, его необходимо впаять). Корпус управления снабжён кронштейном который позволяет устанавливать его как на DIN-рейку или просто саморезами к стене.
 
 
Разъёмы устройства:
– по USB разъёму передаются управляющие сигналя для включения реле;
– через аудио разъёмы подключены датчики температуры. 
 









 
 
 
 
 
 
 
 
 
 
 
  
 Описание работы термостата.
Устройство имеет три кнопки для управления. Кнопка (ОК), (Up), (Dn). При включении питания на индикаторе высвечивается температура датчика №1 (наружный воздух).
Для просмотра температуры в ящике необходимо нажать кнопку (ОК). При этом загорается светодиод синий HL1 (см. схему), указывающий, что на дисплей выведена температура датчика №2.
При повторном нажатии кнопки (ОК), на дисплей выводится температура датчика №1, а светодиод HL1 гаснет.
Для входа в режим установки верхнего порога отключения и нижнего порога включения обогрева. Необходимо нажать обе кнопки (Up), (Dn) и удерживать их нажатыми не менее 5 сек. По истечении этого времени устройство перейдёт в режим просмотра верхнего порога выключения обогрева. Теперь кнопки нужно отпустить. На дисплее будет высвечиваться значение порога и у четвёртого разряда засветится верхний сегмент, указывающий, что это верхний порог.
Для изменения уставки порога, необходимо нажать кнопку (ОК). Значение на дисплее начнёт мигать, сигнализирующее о готовности к изменению уставки. Уставку можно менять в пределах от +1 до +10 градусов, с дискретностью 1 градус. Увеличение значения происходит с помощью кнопки (Up), а уменьшение с помощью кнопки (Dn). Для сохранения уставки или просто для перехода на следующий порог, необходимо нажать кнопку (ОК). На дисплее высветится нижний порог и у четвёртого разряда засветится нижний сегмент, указывающий, что это нижний порог.
Для изменения уставки порога, необходимо опять нажать кнопку (ОК). Значение на дисплее начнёт мигать, сигнализирующее о готовности к изменению уставки. После установки порога включения, нажимаем кнопку (ОК) для сохранения и выхода из режима установки порогов термостатирования. Уставки сохраняются в энергонезависимой памяти МК и при исчезновении питания не сбрасываются.
Для удобства контроля состояния температуры в ящике, был введён дополнительный алгоритм сигнализации о низкой температуре в ящике. Что он из себя представляет? Когда на дисплее отображается температура датчика №1, а температура в ящике снижается (допустим, из-за неисправности нагревателя) и достигает значения ниже +1 градуса, светодиод HL1 начинает мигать, сигнализируя о низкой температуре в ящике. Если температура в ящике поднимется выше + 2 градусов, светодиод перестанет мигать.
Алгоритм неисправности датчиков. При неисправности датчика да дисплее выводится надпись Err №. Номер обозначает код неисправности от 1 до 3. Цифра 1 обозначает – нет высокого уровня, 2 – нет датчика, 3 – высокий уровень не восстановлен.
Когда на дисплее отображается температура датчика №1, и произошла неисправность датчика №2,то светодиод HL1 начинает мигать, сигнализируя о неисправности. Таким образом, при выведенной на дисплей температуре датчика №1 Вы не пропустите возникшую неисправность термостата. Естественно при неисправности датчика №2, обогрев отключается.
Ещё несколько моментов. Термостат отключен если уставка нижнего порога равна уставке верхнего порога, или уставка нижнего порога выше уставки верхнего порога. Если неисправны датчик №1 или №2, то в меню уставок, значение уставки Вы не увидите, хотя уставку изменить можно, но вслепую. Это сделано для того, что бы пользователь не лез изменять уставки при неисправных датчиках.
 
Фьюзы для прошивки базового варианта термостата
 
Для Algorithm Builder и UniProf галочки ставятся как на картинке.
Для PonyProg, AVR Studio, SinaProg галочки ставяться инверсно.
 
Модификации устройства.
 
МОД1_1. Новые возможности:
1. Верхнюю уставку теперь можно изменять в диапазоне от +1 до +120*С, нижнюю – от 0 до +110*С.
2. Фьюзы установлены для работы от внешнего кварца (3 – 8 МГц).
3. Увеличена частота динамической индикации для кварца 4 МГц.
Так что из-за динамической индикации придётся устанавливать кварц на 4 МГц, или править код для Вашего кварца.
 
МОД2_1. Дополнение к МОД1_1:
Появилась возможность управления охлаждением по первому датчику. Диапазон уставок охлаждения: Верхняя от 1 до 50 градусов, нижняя от 0 до 50 градусов. Управление реле №2 осуществляется с порта РВ5 (19). При охлаждении реле №2 «встаёт под ток», в дежурном режиме – обесточено. Верхняя уставка включает реле №2, нижняя - отключает. При входе в режим изменения уставок, первые изменяются уставки охлаждения (светодиод погашен) для датчика №1, вторые – нагрева (светится светодиод) для датчика №2. 
 
МОД 2_2
Отличие от МОД2_1: прошивка для индикатор с ОА. Использовать транзисторы PNP при соответственном включении.
 
МОД2_3.
Принцип работы на охлаждения остался как в МОД2_1.
Уставки на нагрев фиксированы: 30, 40, 50, 60, 70. Выбираются кнопками Up и Dow. Гистерезис на включения 2 градуса, то есть при уставке 30, ниже 28 включается, при 30 отключается.
Режим предупреждения: При снижении температуры датчика №2 ниже 25 градусов, светодиод начнёт мигать. При достижении температуры 28 и выше, мигание отключится.
 
Вход для уставок нагрева, осуществляется удержанием кнопок Up и Dow в нажатом положении более 2 сек.
 
Вход для уставок охлаждения, осуществляется удержанием кнопок Up и Dow в нажатом положении более 6 сек. То есть при удержании кнопок более 2 секунд, устройство войдёт в режим уставок нагрева, не отпускайте кнопки, по завершении ещё 2 секунд, устройство вернётся обратно в режим отображения температуры датчика, продолжайте удерживать кнопки, по завершении ещё 2 секунд, устройство войдёт в режим уставок охлаждения (и того больше 6 сек).
 
Алгоритм ввода и сохранения уставок остался как и в предыдущих версиях.
 
Фьюзы для прошивки МОД1_1 - МОД2_3 термостата
 Для Algorithm Builder и UniProf галочки ставятся как на картинке.
Для PonyProg, AVR Studio, SinaProg галочки ставяться инверсно.
 
 

Файлы:
Рисунки печатных плат термостата (Sprint Layout)
МОД1_1
МОД2_1
Исходник Algorithm Builder
МОД2_2
МОД2_3
Прошивка (HEX)
Схема (Splan7.0)


Все вопросы в Форум.




Как вам эта статья?

Заработало ли это устройство у вас?

10 0 0
1 0 1

Эти статьи вам тоже могут пригодиться: