Меню

Регулятор температуры с lcd

arduinoLab

Применение термостата с ПИД управлением не ограничено птицеводством, КО , проект может использоваться пивоварами для поддержания температуры сусла, винокурами в перегонных аппаратах, может просто греть воду в бойлере до приятной температуры, после небольших изменений, в самодельных паяльных станциях, муфельных печах, кароче везде где требуется контроль температуры с высокой точность. Принцип работы и отличие от банального термостата с гистерезисом показан в видео:

Ниже схемы подключения и исходные коды проекта.

О датчиках температуры:

Исходные коды проекта написаны нескольких типов датчиков:

  • TMP102 — датчик температуры с интерфейсом I2C, подробнее про работу с датчиком написано тут. Возможно датчик потребует корректировку температуры.
  • LM35 — не дорогой и распространенный, достаточно точный аналоговый датчик температуры, подробнее про него тут.
  • MCP9808 — высокоточный датчик температуры с интерфейсом I2C. Оптимальный выбор.

Имея навыки программирования ардуино, изменить код под другие датчики температуры труда не составит.

О ЖКИ индикаторе:

Решил не усложнять и взял стандартный текстовый экран WH1602A, про подключение подобных экранов к ардуино уже написано тут. Подключается напрямую, без переходников на I2C. Указанные в проекте номера выходов для подключения ЖКИ совпадают с китайским LCD Keypad Shield, я его использовал на стадии отладки.

Органы управления:

Настройка температуры терморегулятора осуществляется с помощью энкодера, удобно использовать модуль KY-040 по китайской номенклатуре ?

О реле:

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

Правильным решением будет использование твердотельного реле, либо модуль с симистором (что по сути является одним и тем же) на необходимый ток. Например SSR-25DA на 25А, если мощность нагревателя в районе нескольких киловатт, OMRON G3MB 202P держит до 2А или 440Вт.

У меня они в наличии не оказались, пришлось закупить в местном магазине радиодеталей оптосимистор MOC3063 для гальванической развязки и «детекции нуля» с симистором BT137x-800 на 8А и собирать твердотельное реле на макетке. Схема взята из даташита на MOC3063.

Схема подключения:

Возможно на этой будет понятней.

Схема подключения актуальная для датчиков с интерфейсом I2C (MCP9808, TMP102), в случаи использования аналогового LM35, его выход подключается к аналоговому входу А5.

Источник



Автоматическая регулировка температуры в доме с помощью терморезистора и Arduino

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

Читайте также:  Регулятор скорости вращения вентилятора зависимости температуры

Внешний вид проекта для автоматической регулировки температуры в доме с помощью терморезистора и Arduino

Необходимые компоненты

  1. Плата Arduino Uno (купить на AliExpress).
  2. NTC thermistor 10 кОм (терморезистор с отрицательным температурным коэффициентом) (купить на AliExpress).
  3. ЖК дисплей 16х2 (купить на AliExpress).
  4. Электрическая лампочка.
  5. Реле (5v).
  6. Соединительные провода.
  7. Резистор 10 кОм (купить на AliExpress).
  8. Резистор 1 кОм (купить на AliExpress).
  9. Потенциометр 10 кОм (купить на AliExpress).

Работа схемы

Схема устройства представлена на следующем рисунке.

Схема проекта для автоматической регулировки температуры в доме с помощью терморезистора и Arduino

Схема содержит такие элементы как плата Arduino, ЖК дисплей, реле (Relay) и терморезистор (термистор). При повышении температуры реле будет включаться, а при понижении температуры ниже заданного порога – выключаться. Реле управляет цепью электрической лампочки – оно выполняет роль домашнего устройства, управляемого в зависимости от температуры. Весь процесс измерения температуры и включения/выключения лампочки выполняется платой Arduino. Также плата Arduino выводит информацию о температуре и статусе системы на экран ЖК дисплея.

Реле (Relay)

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

Мы в нашем проекте будем использовать реле типа SPDT (Single Pole Double Throw — однополюсное на два направления), которое имеет 5 контактов как показано на следующем рисунке.

Когда к катушке реле не приложено никакого напряжения общий провод реле COM соединен с контактом NC (normally closed contact – нормально замкнутым контактом). Когда же к катушке реле будет приложено управляющее напряжение, то оно переключит рычаг (якорь) реле и тогда контакт COM будет уже соединен с контактом NO (normally open contact – нормально разомкнутым контактом), что позволит сравнительно большому току протекать через эти контакты. Реле изготавливаются на различные номиналы напряжения, мы в нашем проекте использовали реле на 5 В, которое позволяет коммутировать переменный ток 7A-250VAC.

Внешний вид реле показан на следующем рисунке. Реле сравнительно просто можно купить в любом магазине электронных деталей.

Внешний вид реле

Внутренняя схема соединений реле показана на рисунке ниже и она содержит в своем составе транзистор, диод и резистор.

Внутренняя схема соединений реле

Расчет температуры с помощью терморезистора

Схема используемого нами делителя напряжения представлена на следующем рисунке.

Читайте также:  Соотношение норм права с другими социальными регуляторами

Схема используемого нами делителя напряжения

Напряжение на терморезисторе в этой схеме можно определить из известного напряжения:

Из этой формулы можно выразить значение сопротивления терморезистора Rt (R – известное сопротивление 10 кОм):

Значение Vout мы затем будем определять в коде программы с помощью считывания значения на выходе АЦП на контакте A0 платы Arduino.

Математически, сопротивление терморезистора можно вычислить с помощью известного уравнения Стейнхарта-Харта (Stein-Hart equation).

T = 1/(A + B*ln(Rt) + C*ln(Rt) 3 ).

В этой формуле A, B и C — константы, Rt – сопротивление терморезистора, ln — натуральный логарифм.

Мы для проекта использовали терморезистор со следующими константами: A = 1.009249522×10 −3 , B = 2.378405444×10 −4 , C = 2.019202697×10 −7 . Эти константы можно определить с помощью данного калькулятора, введя в нем значения сопротивления терморезистора при трех значениях температуры или вы их можете непосредственно узнать из даташита на ваш терморезистор.

Таким образом, для определения значения температуры нам будет нужно только значение сопротивления терморезистора – после его определения мы просто подставляем его значение в уравнение Стейнхарта-Харта и с его помощью рассчитываем значением температуры в кельвинах.

Объяснение программы для Arduino

Полный текст программы приведен в конце статьи, здесь же рассмотрим его наиболее важные фрагменты.

Для выполнения математических операций мы в программе должны подключить библиотеку “ #include ”, а для работы с ЖК дисплеем – библиотеку “ #include
«. Также мы должны инициализировать контакт, к которому подключено реле — “ #define RELAY 8 ”. Также плате Arduino необходимо сообщить контакты, к которым подключен ЖК дисплей.

Источник

Схема терморегулятора с ЖКИ экраном

Схема терморегулятора с ЖКИ экраномПриводится принципиальная схема проверенного терморегулятора — термостата, работающего под управлением микроконтроллера. В архиве прилагаются прошивки и файл печатной платы.

Терморегуляторы применяются в теплицах, для подогрева полов, поддержания температуры воды и воздуха взаданных пределах. Несмотря на то, что имеются десятки простых схем, на операционном усилителе и паре транзисторов, для управления дорогостоящим оборудованием желательно использовать более серьёзные схемные решения, имеющие в своей основе констроллер и все необходимые алгоритмы защиты от нештатных ситуаций. Этот терморегулятор работает совместно с ЖКИ экраном. Принципиальная схема ниже (кликните, чтоб увеличить её).

Принципиальная схема терморегулятора ЖКИ

Описание работы терморегулятора с ЖКИ экраном

Назначение датчиков. Датчик ROOM измеряет температуру в помещении. Датчик FLOOR измеряет температуру пола. Датчик ALARM измеряет температуру теплоносителя. Температура меряется 1 раз в секунду. Формат отображения: десятки, единицы. Десятые округляются. Если температура больше +99,5 градусов или меньше -9,5 градусов — на дисплее прочерки по данному каналу. В главном окне ЖКИ отображаются измеренные температуры и текущее состояние устройства.

Читайте также:  Регулятор домашней работы это

В главном окне ЖКИ отображаются измеренные температуры и текущее состояние

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

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

В зеленой зоне температура в помещении, состояние главного насоса котла и символ включения режима антифриза.

Индикатор терморегулятора и отображаемые режимы

Установка чекбоксов в PonyProg

Установка чекбоксов в PonyProg

Режимы работы термостата

При снижении температуры датчика ROOM ниже заданной включается нагреватель (HEATER) и насос (MAIN_POMP). Когда температура поднимется выше заданной на величину гистерезиса для ROOM нагреватель выключится. MAIN_POMP продолжит свою работу на время задержки выключения насоса.

Если температура теплоносителя достигнет заданной для датчика ALARM нагреватель отключится, насос включится в работу и будет работать все время превышения температуры. Показания температуры датчика ALARM будут мигать. Включается звуковой сигнал, если он активирован для этого датчика. После того, как температура теплоносителя снизится ниже заданной на величину гистерезиса для ALARM термостат перейдет в нормальный режим работы. MAIN_POMP продолжит свою работу на время задержки выключения насоса.

Электроника терморегулятора с ЖКИ экраном

Режим антифриз. При включении данной функции термостат продолжает работать в нормальном режиме, но заданная температура и гистерезис становятся равными заданным для FREEZE. Это же относится и к режиму «теплый пол». Режим антифриз включается нажатием на кнопку FREEZE. Индикация режима – *. Выключается режим повторным нажатием на кнопку FREEZE. Режим заносится в память МК. При отключении и включении питания режим сохраняется.

Самодельный микроконтроллерный терморегулятора с ЖКИ

Режим теплый пол. При снижении температуры датчика FLOOR ниже заданной включается POMP_FLOOR, HEATER. Когда температура поднимется выше заданной на величину гистерезиса для FLOOR — POMP_FLOOR и HEATER выключатся. При включенном режиме антифриз, заданная температура и гистерезис для FLOOR становятся равными заданным для режима антифриз.

Если вдруг в работе датчиков произойдёт сбой, то нагреватель выключается, состояние насоса не изменяется. На индикаторе вместо значений температуры прочерки для данного канала. Включится звуковой сигнал, если он активирован для данного датчика. Когда работа датчиков будет восстановлена — термостат продолжит свою работу. Звуковой сигнал включается, если он активирован для данного датчика. Пока существует нарушение, каждые 10 секунд раздается 4 коротких звуковых сигнала. При включении питания термостата раздается один короткий звуковой сигнал.

Источник