- Необходимый материал
- Принципиальная электрическая схема
- Реле:
- Расчет температуры с использованием термистора:
- Код Arduino
- Работа системы домашней автоматизации с контролем температуры:
Предположим, вы сидите в комнате и вам холодно, и вы хотите, чтобы ваш обогреватель автоматически включался, а затем выключался через некоторое время при повышении температуры в помещении, тогда этот проект поможет вам автоматически управлять вашей бытовой техникой в соответствии с температурой. Здесь мы контролируем домашнюю бытовую технику переменного тока с помощью Arduino в зависимости от температуры. Здесь мы использовали термистор для считывания температуры. Мы уже подключили Термистор к Arduino и отображали температуру на ЖК-дисплее.
В этом руководстве мы подключим устройство переменного тока с реле и создадим систему домашней автоматизации с контролируемой температурой с использованием Arduino. Он также показывает температуру и состояние прибора на ЖК-дисплее 16 * 2, подключенном к цепи.
Необходимый материал
- Arduino UNO
- Реле (5 В)
- ЖК-дисплей 16 * 2
- Лампочка (КЛЛ)
- Термистор NTC 10к
- Соединительные провода
- Резисторы (1 кОм и 10 кОм)
- Потенциометр (10к)
Принципиальная электрическая схема
Эта система домашней автоматизации на основе температуры состоит из различных компонентов, таких как плата Arduino, ЖК-дисплей, реле и термистор. Работа в основном зависит от реле и термистора, поскольку при увеличении температуры реле будет включено, и если температура упадет ниже заданного значения, реле будет выключено. Бытовая техника, подключенная к реле, также будет соответственно включаться и выключаться. Здесь мы использовали лампочку CFL в качестве прибора переменного тока. Весь процесс запуска и установка значения температуры осуществляется запрограммированной платой Arduino. Он также дает нам подробную информацию об изменении температуры каждые полсекунды и состоянии прибора на ЖК-экране.
Реле:
Реле - это электромагнитный переключатель, который управляется небольшим током и используется для включения и выключения относительно гораздо большего тока. Значит, подавая небольшой ток, мы можем включить реле, которое позволяет протекать гораздо большему току. Реле - хороший пример управления устройствами переменного (переменного тока) с использованием гораздо меньшего постоянного тока. Обычно используется Реле Одно двухпозиционных (SPDT) реле, он имеет пять терминалов, как показано ниже:
Когда на катушку не подается напряжение, COM (общий) подключен к NC (нормально замкнутый контакт). Когда на катушку подается некоторое напряжение, создается электромагнитное поле, которое притягивает якорь (рычаг, соединенный с пружиной), и COM и NO (нормально открытый контакт) подключаются, что позволяет протекать большему току. Реле доступны во многих номиналах, здесь мы использовали реле рабочего напряжения 5 В, которое позволяет протекать току от 7 до 250 В переменного тока.
Реле сконфигурировано с использованием небольшой схемы драйвера, которая состоит из транзистора, диода и резистора. Транзистор используется для усиления тока, чтобы полный ток (от источника постоянного тока - батарея 9 В) мог течь через катушку, чтобы полностью зарядить ее. Резистор используется для смещения транзистора. И диод используется для предотвращения обратного тока, когда транзистор выключен. Каждая катушка индуктивности производит равную и противоположную ЭДС при внезапном выключении, это может привести к необратимому повреждению компонентов, поэтому для предотвращения обратного тока необходимо использовать диод. Релейный модуль легко доступны на рынке, со всеми его драйвером схемы на плате или вы можете создать его, используя выше компонентов. Здесь мы использовали модуль реле 5V
Расчет температуры с использованием термистора:
Из схемы делителя напряжения мы знаем, что:
V выход = (V в * Rt) / (R + Rt)
Таким образом, значение Rt будет:
Rt = R (Vin / Vout) - 1
Здесь Rt будет сопротивлением термистора (Rt), а R будет резистором 10 кОм.
Это уравнение используется для расчета сопротивления термистора по измеренному значению выходного напряжения Vo. Мы можем получить значение Voltage Vout из значения АЦП на выводе A0 Arduino, как показано в приведенном ниже коде Arduino.
Расчет температуры по сопротивлению термистора
Математически сопротивление термистора можно рассчитать только с помощью уравнения Стейна-Харта.
Т = 1 / (А + В * ln (Rt) + C * ln (Rt) 3)
Где A, B и C - постоянные, Rt - сопротивление термистора, а ln - log.
Постоянное значение термистора, используемого в проекте, составляет A = 1,009249522 × 10 −3, B = 2,378405444 × 10 −4, C = 2,019202697 × 10 −7. Эти постоянные значения можно получить с помощью калькулятора, введя три значения сопротивления термистора при трех различных температурах. Вы можете либо получить эти постоянные значения непосредственно из таблицы данных термистора, либо вы можете получить три значения сопротивления при разной температуре и получить значения постоянных с помощью данного калькулятора.
Итак, для расчета температуры нам понадобится только значение сопротивления термистора. После получения значения Rt из приведенного выше расчета поместите значения в уравнение Штейн-Харта, и мы получим значение температуры в единицах Кельвина. Поскольку небольшое изменение выходного напряжения вызывает изменение температуры.
Код Arduino
Полный код Arduino для этой бытовой техники с регулируемой температурой приведен в конце этой статьи. Здесь мы объяснили несколько его частей.
Для выполнения математической операции мы используем заголовочный файл «#include
#включают
Для настройки реле (в качестве выхода) и ЖК-дисплея во время запуска мы должны написать код в части настройки void
Установка пустоты () {lcd.begin (16,2); lcd.clear (); pinMode (РЕЛЕ, ВЫХОД); }
Для расчета температуры по уравнению Стейна-Харта с использованием электрического сопротивления термистора мы выполняем несколько простых математических уравнений в коде, как объяснено в расчетах выше:
float a = 1.009249522e-03, b = 2.378405444e-04, c = 2.019202697e-07; float T, logRt, Tf, Tc; термистор с плавающей точкой (int Vo) {logRt = log (10000.0 * ((1024.0 / Vo-1))); T = (1.0 / (a + b * logRt + c * logRt * logRt * logRt)); // Мы получаем значение температуры в Кельвинах из этого уравнения Стейна-Харта Tc = T - 273.15; // Преобразование Кельвина в Цельсия Tf = (Tc * 1.8) + 32.0; // Преобразование Кельвина в Фаренгейт return T; }
В приведенном ниже коде функциональный термистор считывает значение с аналогового вывода Arduino и распечатывает значение температуры, выполняя математическую операцию.
lcd.print ((Термистор (analogRead (0))));
И это значение принимается функцией термистора, и затем начинается расчет.
Термистор с поплавком (int Vo)
Мы должны написать код для условия включения и выключения света в соответствии с температурой, поскольку мы устанавливаем значение температуры, например, если температура повышается более чем на 28 градусов Цельсия, свет включается, если меньше света остается выключенным. Поэтому всякий раз, когда температура поднимается выше 28 градусов, нам нужно установить высокий уровень на контакте RELAY (PIN 8), чтобы включить модуль реле. И когда температура опускается ниже 28 градусов, нам нужно сделать вывод RELAY низким, чтобы выключить модуль реле.
если (Tc> 28) digitalWrite (RELAY, HIGH), lcd.setCursor (0,1), lcd.print («Состояние света: ВКЛ.»), delay (500); иначе, если (Tc <28) digitalWrite (RELAY, LOW), lcd.setCursor (0,1), lcd.print («Состояние освещения: ВЫКЛ.»), delay (500);
Работа системы домашней автоматизации с контролем температуры:
Чтобы обеспечить питание Arduino, вы можете подключить его к ноутбуку через USB или подключить адаптер 12 В. ЖК-дисплей подключен к Arduino для отображения значений температуры, термистор и реле подключены согласно принципиальной схеме. Аналоговый вывод (A0) используется для проверки напряжения вывода термистора в каждый момент, и после расчета с использованием уравнения Стейна-Харта через код Arduino мы можем получить температуру и отобразить ее на ЖК-дисплее в градусах Цельсия и Фаренгейта.
Когда температура увеличивается более чем на 28 градусов по Цельсию, Arduino включает релейный модуль, устанавливая ВЫСОКИЙ контакт 8 (к которому подключен релейный модуль), когда температура опускается ниже 28 градусов. Arduino выключает релейный модуль, переводя контакт в НИЗКОЕ. Лампа CFL также будет включаться и выключаться в соответствии с модулем реле.
Эта система может быть очень полезна в проектах с вентилятором с регулируемой температурой и автоматическим регулятором температуры переменного тока.
Также проверьте наши многочисленные типы проектов домашней автоматизации с использованием различных технологий и микроконтроллеров, таких как: