Проект электронного термостата, описанный далее является логическим продолжением и в чем-то объединением двух предыдущих устройств: Терморегулятор на микроконтроллере PIC16F676и Термосигнализатор с батарейным питанием. Схема выполнялась по заказу и была изготовлена в количестве 2 экземпляров. Время наработки пока не большое, но работает все исправно.
В основу термостата положен микроконтроллер фирмы MicrochipPIC16F684. Главным критерием его выбора стал объем памяти программ в 2К слов, что позволило реализовать некоторые дополнительные функции. В частности прошивка позволяет изменить уставку и гистерезис срабатывания выходного реле, а также задать тип срабатывания – нагрев или охлаждение.
Принципиальная схема термостата
Для измерения температуры применен датчик MCP9800. Отображение температуры выполняется на светодиодном индикаторе в динамическом режиме. При положительных значениях отображаются два целых разряда и один после запятой. В диапазоне отрицательных температур происходит индикация только двух цифр целого значения и знака минус.
В конструкции термостата использованы в основном элементы поверхностного монтажа. В итоге получилась простая и относительно компактная конструкция. Для заливки готовой прошивки в микроконтроллер применялась специальная клипса, что позволило избежать разводки дополнительных цепей внутрисхемного программирования.
Печатная плата
Схема расположения элементов. Вид сверху.
Схема расположения элементов. Вид снизу.
Управляющая программа термостата написана на языке mikroPascal. Алгоритм стандартный. В цикле производится опрос датчика и обработка показаний. Для увеличения периода опроса применена задержка. Одновременно с этим работает таймер, генерирующий прерывания по переполнению. В прерывании выполнен алгоритм динамической индикации и опрос кнопки изменения уставки S2. В случае ее нажатия вызывается подпрограмма изменения задания и запускается второй таймер. Он используется для выхода из режима задания, в случае отсутствия длительного нажатия на какую-либо кнопку. Смена уставки производится поразрядно, с помощью кнопки S1. Повторные нажатия кнопки S2 приведут к сдвигу изменяемого разряда. Вначале задается температура в пределе от 0 до 99.9 градуса, потом устанавливается гистерезис от 0 до 9.9 градуса. Для отличия от температуры, при индикации гистерезиса дополнительно выводится символ h. Последним задается тип срабатывания. Он может принимать два значения: нагрев (индицируется символом H) или охлаждение (Символ L). При нагреве, выходное реле включено, когда температура ниже значения уставки. В режиме охлаждения наоборот, напряжение на реле подается при превышении измеренным значением, задания.