<!--# include virtual="/inc/titles/j3kQ8LVXclVKT7gv.html" --><!--# set var="page" value="{j3kQ8LVXclVKT7gv}" --> <!--# include virtual="/inc/titles/site.html" -->

Простейший цифровой термостат на PIC микроконтроллере



Основное отличие в представленном устройстве от похожих, коих предостаточно на просторах Интернета, это отсутствие в схеме знакосинтезирующих индикаторов (ж/к или светодиодных). Отказ от этого элемента позволяет применить более дешёвый микроконтроллер, многократно снизить стоимость устройства, уменьшить трудозатраты на его изготовление и минимизировать размеры.

Схема этого простейшего устройства содержит всего лишь полтора десятка копеечных элементов, самым дорогим из которых является цифровой датчик температуры DS18B20. К слову сказать он оказался неожиданно дорогим (130 рублей в Хабаровске). Сердцем устройства является дешёвый и доступный микроконтроллер PIC12F629 фирмы MICROCHIP. Видимая простота не означает убогий функционал, напротив, устройство получилось весьма функциональным и помимо основной функции - управление исполнительным устройством в зависимости от измеряемой температуры окружающей среды, имеет ряд дополнительных:

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

Управление устройством осуществляется одной кнопкой, а индикация производится одним светодиодом.

Для чего же он такой простой нужен? Это длинная история, но если коротко, то нужен он для автоматического управления дополнительной электрической помпой автомобиля. Однако сфера его применения этим не ограничивается. При необходимости и соответствующем желании его можно применить где-нибудь и в быту.

Теперь о самой схеме.

Принципиальная схема устройства приведена на рисунке 1.

Рисунок 1

Основной элемент схемы - доступный и недорогой микроконтроллер PIC12F629 фирмы Microchip.

Питание микроконтроллера осуществляется от стабилизатора DA1, напряжение на который поступает с реле выключателя печки через диод VD1. Это обеспечивает питание микроконтроллера при включении печки.

Резисторы R2 и R6 образуют делитель напряжения, необходимый для контроля уровня разряда аккумуляторной батареи (АКБ) автомобиля. Резистор R1 служит для питания цифрового датчика температуры, который включён по схеме паразитного питания. Резистор R4 обеспечивает подтяжку к плюсу вывода микроконтроллера, к которому подключена кнопка управления. Не смотря на то, что микропроцессор имеет возможность программой подтяжки входной линии к плюсу, в цепи согласования использован внешний резистор R4, что по некоторым сведениям улучшает помехозащищённость схемы, а в условиях импульсных помех при работе ДВС это крайне необходимо. Токоограничительные резисторы R3 и R5 ограничивают ток светодиода и транзистора VT1 соответственно.

В главном цикле программы микроконтроллера постоянно опрашивается состояние кнопки. В автоматическом режиме примерно каждые 5 секунд опрашивается датчик температуры. Интервал был выбран исходя из того, что более частый опрос датчика приводит к его саморазогреву с искажением показаний температуры. При падении температуры ниже определённого значения включается реле управления, при повышении этого значения с гистерезисом в 2 градуса, реле выключается. Температурным гистерезисом называется разность температур включения и выключения терморегулятора. От величины гистерезиса зависит точность поддержания температуры и частота включения-выключения реле. В исходных настройках температура выключения 20 градусов, температура включения реле – 18 градусов. Вход в режим изменения настроек позволяет оперативно изменять температуру срабатывания реле.

В режиме «постоянно включено» и в автоматическом режиме дополнительно измеряется уровень напряжения на АКБ. При снижении напряжения АКБ ниже 10 вольт реле управления отключается, а светодиод начинает быстро мигать. Для исключения многократного переключения реле под влиянием шумов и помех при граничной величине уровня напряжения на АКБ, включение реле осуществится при напряжении выше 11,3 вольта. Таким образом гистерезис составляет порядка 1,3 вольта.

По поведению свечения светодиода можно определить режим работы устройства.

режим состояние светодиода состояние устройства реле устройства
1 не горит не работает выключено
2 горит непрерывно постоянно включено включено
3 не горит, но периодически мигает автоматический режим (диапазон высокой температуры) выключено
3 горит и периодически мигает автоматический режим (диапазон низкой температуры) включено
3 не горит, но периодически мигает серией быстрых вспышек автоматический режим. Неисправен датчик температуры выключено
2, 3 непрерывно мигает постоянно включен или автоматический режим. Низкий заряд АКБ выключено

Изменение режима работы устройства производится путём нажатия и удержания (около 6 секунд) кнопки в нажатом состоянии. Переход к следующему режиму будет сигнализирован коротким однократным миганием светодиода, и кнопку можно отпустить, после чего светодиод мигнёт количество раз равное установленному режиму работы устройства. Смена режимов производится по кругу, от меньшего к большему. Выбранный режим сохраняется в памяти микроконтроллера и при следующем включении восстанавливается.

режим работы устройства количество миганий светодиода при выборе режима работы
не работает 1
постоянно включен 2
автоматический 3

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

Алгоритм отображения температуры следующий: После кратковременного нажатия на кнопку светодиод должен потухнуть. Спустя некоторую паузу двумя сериями вспышек отобразиться измеренная температура: Первая серия вспышек, пауза, вторая серия вспышек. В первой серии вспышек отобразиться знак температуры (1 вспышка – положительная, 2 вспышки – отрицательная, 3 вспышки – нулевая температура). Второй серией вспышек отобразиться сама температура (по числу вспышек светодиода). После чего устройство перейдёт в обычный режим работы. При неисправности датчика температуры светодиод вспыхнет 5 раз одной серией вспышек.

В режиме изменения настроек микроконтроллера можно оперативно изменить температуру срабатывания реле. Вход в режим изменения настроек осуществляется следующим образом: нажать и удерживать кнопку устройства, включить печку. Устройство инициализируется и светодиод начнёт быстро мигать. Удерживать кнопку нужно в течение примерно 20 секунд. Всё это время светодиод будет быстро мигать. Как только светодиод потухнет, кнопку нужно отпустить. После небольшой задержки, серией вспышек светодиод покажет температуру включения реле (нижний порог температурного гистерезиса) запрограммированной в настоящий момент. Затем можно приступать к программированию. Необходимо нажать кнопку устройства количество раз соответствующее желаемой температуре включения реле. Каждое нажатие на кнопку сопровождается одной вспышкой светодиода. Значение может быть в предёлах от 1 до 30. После окончания ввода необходимо ожидать 20 секунд. Впоследствии произойдёт выход микроконтроллера из режима изменения настроек, чем светодиод серией вспышек отобразить новую температуру включения реле, а значение будет сохранено в энергонезависимой памяти микроконтроллера. После выхода из режима изменения настроек микроконтроллер переход в обычный режим работы. Если при входе в режим изменения настроек кнопку не нажимать, то через 20 секунд произойдёт выход из режима без изменения настроек.

Подключение устройства. Устройство запитывается от бортовой сети автомобиля +12 Вольт. Провод питаня подключается в салоне автомобиля к проводу питания вентилятора печки. Клемма массы закручивается под любой удобный болт соединённый с кузовом автомобиля. Реле управления – автомобильное 12-ти вольтовое с шунтирующим диодом (в колодке). Удобнее его монтировать в подкапотном пространстве в месте, максимально защищенном от действия влаги. Кнопка и светодиод выводятся в удобное место. Датчик температуры помещается в пластиковую (например, от авторучки) или термоусадочную трубку и приделывается в салоне автомобиля к месту, максимально защищённому от действий прямых солнечных лучей и обдува потоком воздуха из печки.

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

Разводка печатной платы приведена на рисунке 2.

Рисунок 2

Внешний вид готового устройства приведён на рисунке 3.

Рисунок 3

Перед впаиванием микропроцессора его необходимо прошить. Сделать это можно даже самым простым программатором.

Схема (SPLAN 7.0), разводка печатной платы (Sprint Layout 4.0), прошивка (HEX) и исходник (ASM) доступны для скачивания по ссылке.

Данное устройство успешно установлено и функционирует на автомобиле супруги, о чём можно почитать здесь.

[НАЗАД]

Яндекс.Метрика

© Sprinter4WD