Комнатный термостат с цветным ЖК-дисплеем

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

ЖК-дисплей

Аппаратные средства
Основой устройства является 8-битный микроконтроллер PIC16F74. Он непрерывно контролирует показания интегрального цифрового термометра DS1820 от Maxim, и управляет реле, которое включает и выключает газовый котел. Также есть цветной ЖК-дисплей от старого мобильного телефона, несколько светодиодов, фоторезистор для ночного режима и несколько кнопок.

Схема устройства

Для корректной работы ЖК-дисплею необходимо напряжение питания 2.9 В. Я использовал LM317L и два резистора для получения этого значения. На каждой линии данных был использован делитель напряжения из двух резисторов.

Схема собрана на макетной плате. Я купил только пластиковый корпус, несколько резисторов и LM317L. Все остальные компоненты были использованы повторно. Прибор был установлен на стене в гостиной, фоторезистор направлен к окну, чтобы получать достаточно света.

Все элементы, которые выводятся на переднюю панель, крепятся с помощью термоклея с обратной стороны.

Плата и корпус термостата

Функции термостата:
Предварительно задаваемая температура

Точность 0.5 градуса Цельсия

Подсветка горит в течение 30 секунд после последнего нажатия кнопки (подсветка не отключается полностью, так что дисплей хорошо видно даже днем)

Отопление может быть отключено с помощью специальной кнопки, при её нажатии начинает  красный светодиод начинает мигать. Система имеет поправку 1 градус, что означает, что котел не включается, пока температура не падает ниже заданной на 1 градус. Это необходимо т.к. используется точный датчик.

Ночной режим. Аппарат оснащен фоторезистором и снимает показания с него каждые 5 минут. При смене день/ночь заданная температура падает или поднимется на 2,5 градуса.

Ночной режим индицируется оранжевым светодиодом.

Также есть линейный график, который показывает температуру за последние 1 или 10 часов(переключается кнопкой). График 1 часа разделен на шесть частей. Каждая из них рана 10 минутам (1 пиксель = 1 минута), а в 10 часовом в режиме есть 10 частей, и каждый из них равен одному часу. (1 пиксель = 10 минут). Вертикальное масштабирование производится с шагом 0,5 от 15 до 25.

Измерения проводятся один раз в секунду, а затем усредняются.

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

Список радиоэлементов

Обозначение Тип Номинал Количество Примечание Магазин Мой блокнот
МК PIC 8-бит PIC16F74 1
Линейный регулятор LM7805 1
Линейный регулятор LM317L 1
Датчик температуры DS18B20 1
Биполярный транзистор BC548 2
Выпрямительный диод 1N4004 1
Выпрямительный диод 1N4148 1
Светодиод Красный 1
Светодиод Желтый 1
Светодиод Зеленый 1
Конденсатор 0.1 мкФ 3
Электролитический конденсатор 22 мкФ 3
Резистор 150 Ом 1
Резистор 300 Ом 1
Резистор 390 Ом 1
Резистор 470 Ом 3
Резистор 560 Ом 5
Резистор 750 Ом 5
Резистор 1 кОм 2
Резистор 4.3 кОм 2
Резистор 4.7 кОм 1
Резистор 10 кОм 1
Резистор LDR 1
Кварцевый резонатор 12 МГц 1 В схеме не показан
LCD-дисплей Siemens M55 (LM15SGFNZ07) 1
Тактовая кнопка 4
RL1 Реле 1