Универсальный программируемый термометр-термостат

Это устройство разрабатывалось как контроллер дровяного котла и содержит два полноценных термостата. В меню можно настраивать режим работы выходов управления.

Основной алгоритм меню и работы такой:
Имеем мы кнопки -/+ первого выхода, -/+ второго выхода, MENU , AUTO/HWM. Нажимая на кнопку MENU мы по часовой стрелке «листаем» меню.
Главное меню, в нем происходит измерение температуры и кнопками -/+ можно настраивать температуру (соответствующего выхода).
При удержании кнопок — и + мы переходим в режим настройки дельты.
Если не нажимать на кнопки около 10секунд, мы автоматически выходим с режима настройки дельты в режим настройки температуры.
При кратковременном нажатии на кнопку мы добавляем/убавляем параметр на еденичку. При удержании — быстро (перебираем) добавляем/убавляем параметр.
Благодаря именно такому алгоритму устройством очень удобно пользоваться.

И так нажали кнопку MENU , переходим в первое меню «конфигурация выходов»

Сразу договоримся, что датчики температуры у нас Т1,Т2, а выходы у нас Q1,Q2 соответственно.
Первый режим:
T1=Q1
T2=Q2

Этот параметр выбирается по умолчанию, как лишь прошили контроллер. В этом режиме выходы работают на свой отдельный датчик температуры.
Два независимых термостата.
T1=Q2
T2=Q1

При такой конфигурации второй выход работает от первого датчика, а первый от второго.
T1=OFF
T2=Q1=Q2

В этом режиме оба выхода работают от второго датчика температуры
Идеально подходит к таким устройствам как: «инкубатор 2-х уровневого подогрева» , охлаждение и обогрев по двум точкам «климат-контроль», промышленные усадочные машины и т.д.
T1=Q1
T2=OFF

Работает один термостат
T1=Q1=Q2
T2=OFF

В этом режиме оба выхода работают от первого датчика температуры
Идеально подходит к таким устройствам как: «инкубатор 2-х уровневого подогрева» , охлаждение и обогрев по двум точкам «климат-контроль», промышленные усадочные машины и т.д.
T1=OFF
T2=OFF

Используется без функции термостата лишь измерение температуры.

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

Если же выставить например 25град.

То когда в котле дрова догорят и температура трубы упадет ниже этого предела, то привод закроет шибер.

Диапазон установки температуры закрытия шибера 20…..69град.

Следующее меню у нас ручной режим управления шибером.
Нажимая кнопку AUTO/HWM мы открываем либо закрываем шибер.

 В него можно попасть перебирая меню кнопкой MENU а так же быстро можно попасть нажав кнопку AUTO/HWM
Если не нажимать никаких кнопок примерно 30секунд, мы автоматически возвращаемся в главное меню.

Если мы находимся в первом или втором меню и если нажать кнопку AUTO/HWM мы выходим в главное меню, то есть кнопка эта работает как RETURN.

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

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

Ещё есть статусный светодиод, который сигнализирует нормальную работу устройства и сигнализирует чтение температуры.
Введено автоотключение подсветки дисплея через 5минут.

В будущем планирую добавить обратную связь от привода для вывода сообщения на дисплей при аварии привода.

Проект буду поддерживать и усовершенствовать постоянно.

 Выкладываю первую демо версию прошивки контроллера (в демо режиме все функции доступны в полном объеме, лишь при включении будет отображаться данные разработчика, то есть мои данные )
Прошу меня не ругать за это.

Фьюзы надо запрограммировать на частоту кварца 8мгц
Для этого ЧИТАЕТЕ фьюзы с МК и ставите биты отвечающие за частоту. это у нас CKSEL3..0

Новая версия прошивки V2.0 (от 24.07.2013):
— введена поддержка ATmega88 (отдельная прошивка)
— исправлены программные ошибки
— ускорен опрос термодатчиков вместо ~10сек. — 2сек. (лишь в ATmega8)
— оптимизирован код в целом.

Описание и вид отображения на дисплее разных сообщений

Ниже вы можете скачать проект в Proteus, файлы печатной платы в LAY и прошивку

Список радиоэлементовОбозначение
Тип
Номинал
Количество
ПримечаниеМагазинМой блокнот

U1
МК AVR 8-битATmega81
ATmega88U2
ОптопараMOC3021M1
U3, U4
Датчик температурыDS18B202
Q1
MOSFET-транзисторIRF5401
Q2
Биполярный транзистор2N55511
LCD1
LCD-дисплейLM0161
Standard HD44780 LCDs 2x16D1-D4
Светодиод4
R1
Резистор4.7 кОм1
R2, R4-R8
Резистор1 кОм6
R3, R9
Резистор10 кОм2

Кнопка6
Добавить все

Скачать список элементов (PDF)

Прикрепленные файлы:

Добавить комментарий

Ваш адрес email не будет опубликован.