Схемы вентиляторов постоянного тока с регулируемой температурой Arduino

Попробуйте наш инструмент устранения неполадок





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

Обзор

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



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

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



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

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

Этот проект можно использовать там, где необходимо стабилизировать внутреннюю температуру контура или уберечь его от перегрева.

На схеме 1 мы подключаем вентилятор ЦП в качестве выхода. Эта установка может использоваться для контроля внутренней температуры окружающей среды замкнутого контура.

При достижении пороговой температуры вентилятор включается. Когда температура опускается ниже пороговой, вентилятор отключается. Так что это в основном автоматизированный процесс.

На схеме 2 мы подключили реле для управления устройствами, работающими от сетевого напряжения, такими как вентилятор стола.

Когда температура в помещении достигает пороговой температуры, вентилятор включается и выключается, когда в помещении остывает.

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

Принципиальная схема управления вентилятором постоянного тока

Управление вентилятором постоянного тока для автоматической регулировки температуры

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

Подключение реле для управления вентиляторами большего размера

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

Эта схема выполняет ту же функцию, что и предыдущая схема, теперь вентилятор заменен реле.

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

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

Представленная здесь принципиальная схема вентилятора постоянного тока с регулируемой температурой - лишь некоторые из множества возможных. Вы можете настроить схему и программу для своих целей.

ПРИМЕЧАНИЕ 1: # Вывод 7 выводится.

ПРИМЕЧАНИЕ 2: Эта программа совместима только с датчиком DHT11.

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

Программный код

//--------------------Program developed by R.Girish---------------------//
#include
dht DHT
#define DHTxxPIN A1
int p = A0
int n = A2
int ack
int op = 7
int th = 30 // set thershold tempertaure in Celsius
void setup(){
Serial.begin(9600) // May be removed after testing
pinMode(p,OUTPUT)
pinMode(n,OUTPUT)
pinMode(op,OUTPUT)
digitalWrite(op,LOW)
}
void loop()
{
digitalWrite(p,1)
digitalWrite(n,0)
ack=0
int chk = DHT.read11(DHTxxPIN)
switch (chk)
{
case DHTLIB_ERROR_CONNECT:
ack=1
break
}
if(ack==0)
{
// you may remove these lines after testing, from here
Serial.print('Temperature(°C) = ')
Serial.println(DHT.temperature)
Serial.print('Humidity(%) = ')
Serial.println(DHT.humidity)
Serial.print(' ')
// To here
if (DHT.temperature>=th)
{
delay(3000)
if(DHT.temperature>=th) digitalWrite(op,HIGH)
}
if(DHT.temperature {
delay(3000)
if(DHT.temperature }
}
if(ack==1)
{
// may be removed after testing from here
Serial.print('NO DATA')
Serial.print(' ')
// To here
digitalWrite(op,LOW)
delay(500)
}
}
//-------------------------Program developed by R.Girish---------------------//

Примечание: в программе

int th = 30 // устанавливаем пороговую температуру в градусах Цельсия.

Замените «30» на желаемое значение.

Второй дизайн

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

К:Анкит Неги

НАША ЦЕЛЬ:

1). Как только температура окружающей среды поднимется выше 25 градусов по Цельсию (вы можете изменить это значение в программе в соответствии с вашими потребностями, объяснено в рабочем разделе) двигатель запускается.

2). И с каждым градусом повышения температуры скорость двигателя также увеличивается.

3). Двигатель работает на максимальной скорости, как только температура поднимается до 40 градусов Цельсия (это значение можно изменить в программе).

ДАТЧИК ТЕМПЕРАТУРЫ LM35:

Для решения упомянутой выше задачи мы будем использовать temp. Датчик LM35 так же широко и легко доступен.

LM35 имеет 3 контакта, как вы можете видеть на рисунке.

Распиновка LM35 IC

1. Vin - этот вывод подключен к источнику постоянного тока от 4 до 20 В.
2. Vout - этот вывод выдает выходной сигнал в виде напряжения.
3. GND - этот вывод подключен к клемме gnd схемы.

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

LM35 может ощущать любую температуру. от -50 до +150 градусов Цельсия и увеличивает выходную мощность на 10 милливольт при повышении температуры на 1 градус. Таким образом, максимальное выходное напряжение составляет 1,5 В.

ПОЧЕМУ ARDUINO ДЛЯ ДАННОГО ПРОЕКТА КОНТРОЛЛЕРА ВЕНТИЛЯТОРА DC?

Arduino требуется, чтобы изменить аналоговое значение, полученное с выходного контакта LM35, на цифровое значение и отправить соответствующий цифровой выход (PWM) на базу mosfet.

Мы также будем использовать команды arduino для печати температуры, соответствующее аналоговое значение и цифровой выход для mosfet на последовательном мониторе ARDUINO IDE.

КАКОВА РОЛЬ МОП-транзистора?

Эта схема бесполезна, если она не может работать с сильноточным двигателем. Следовательно, для работы таких двигателей используется МОП-транзистор.

ПОЧЕМУ ИСПОЛЬЗУЕТСЯ ДИОД?

Диод используется для защиты МОП-транзистора от обратного электромагнитного излучения, генерируемого двигателем во время работы.

ПЕРЕЧЕНЬ ЧАСТЕЙ ДЛЯ ПРОЕКТА:

1. LM35

2. АРДУИНО

3. МОП-транзистор (IRF1010E)

МОП-транзистор (IRF1010E)

4. ДИОД (1N4007)

ДИОД (1N4007)

5. ВЕНТИЛЯТОР (мотор)

6. ИСТОЧНИК ПИТАНИЯ ВЕНТИЛЯТОРА.

ПРИНЦИПИАЛЬНАЯ ЭЛЕКТРИЧЕСКАЯ СХЕМА:

Управление вентилятором постоянного тока в зависимости от температуры Arduino

Выполните соединения, как показано на принципиальной схеме.

а) Подключите штырь vin lm358 к 5v arduino
б) Подключите вывод Vout lm358 к A0 Arduino
c) Подключите заземляющий контакт lm358 к GND Arduino
г) Подключите основание MOSFET к выводу 10 PWM Arduino.

КОД:

float x// initialise variables
int y
int z
void setup()
{
pinMode(A0,INPUT) // initialize analog pin A0 as input pin
Serial.begin(9600) // begin serial communication
pinMode(10,OUTPUT) // initialize digital pin 10 as output pin
}
void loop()
{
x=analogRead(A0) // read analog value from sensor's output pin connected to A0 pin
y=(500*x)/1023// conversion of analog value received from sensor to corresponding degree Celsius (*formula explained in working section)
z=map(x,0,1023,0,255) // conversion of analog value to digital value
Serial.print('analog value ')
Serial.print( x) // print analog value from sensor's output pin connected to A0 pin on serial monitor( called 'analog value')
Serial.print(' temperature ')
Serial.print( y) // print the temprature on serial monitor( called 'temprature')
Serial.print(' mapped value ')
Serial.print( z*10) // multiply mapped value by 10 and print it ( called ' mapped value ' )
Serial.println()
delay(1000) // 1 sec delay between each print.
if(y>25)
{analogWrite(10,z*10) // when temp. rises above 25 deg, multiply digital value by 10 and write it on PWM pin 10 ( ** explained in working section)
}
else
{analogWrite(10,0) // in any other case PWM on pin 10 must be 0
}
}

РАБОТА (понимание кода):

А). ПЕРЕМЕННАЯ X-

Это просто аналоговое значение, которое принимает контакт №. A0 с выходного контакта LM35.

Б). ПЕРЕМЕННАЯ И-

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

Y = (500 * x) / 1023
1. Первое аналоговое значение должно быть изменено на соответствующее напряжение, т.е.
1023: 5В
Следовательно, (5000 милливольт * x) / 1023 В
2. Теперь мы знаем, что на каждый градус повышения температуры соответствующее выходное напряжение увеличивается на 10 мВ, т.е.
1 градус Цельсия: 10 милливольт
Следовательно, (5000 милливольт * x) / (1023 * 10) ГРАДУС

C). ПЕРЕМЕННАЯ Z-

z = карта (x, 0, 1023, 0,255)
эта переменная изменяет аналоговое значение на цифровое значение для выхода ШИМ на выводе 10.

ПРИМЕЧАНИЕ :: Мы знаем, что lm35 может обеспечить максимум 1,5 вольта, и это тоже при темп. 150 град. что непрактично.

Это означает, что для 40 градусов Цельсия мы получаем 0,40 вольт, а для 25 градусов мы получаем 0,25 вольт. Поскольку эти значения очень низкие для правильного ШИМ на МОП-транзисторе, нам необходимо умножить их на коэффициент.

Следовательно, мы умножаем его на 10 и вместо этого передаем это значение как аналоговый выход на вывод 10 ШИМ, т.е.

** analogWrite (10, z * 10)

Теперь для 0,25 вольт mosfet получает 0,25 * 10 = 2,5 вольт.

Для 0,40 вольт mosfet получает 0,40 * 10 = 4 вольта, при котором двигатель почти работает на полной скорости.

СЛУЧАЙ 1. Когда темп. Менее 25 градусов

В этом случае arduino отправляет 0 PWM напряжение на вывод 10, как в последней строке кода.

** еще
{analogWrite (10,0) // в любом другом случае ШИМ на выводе 10 должен быть 0
} **

Поскольку напряжение ШИМ на основе МОП-транзистора равно 0, оно остается выключенным, и двигатель отключается от цепи.

См. Смоделированную схему в этом случае.

Моделирование управления вентилятором Arduino

Как видите, температура 20 градусов, следовательно

Аналоговое значение = 41
Температура = 20
Сопоставленное значение = 100

Но поскольку температура меньше 25 градусов, то МОП-транзистор получает 0 вольт, как показано на рис. (Обозначено синей точкой).
СЛУЧАЙ 2. Когда темп. Больше 25 градусов

Когда температура достигает 25 градусов, то, как указано в коде, сигнал ШИМ отправляется на базу МОП-транзистора, и с каждым градусом повышения температуры это напряжение ШИМ также увеличивается, т.е.

if(y>25)
{analogWrite(10,z*10)
} which is z* 10.

См. Смоделированную схему в этом случае.

Как вы можете видеть, когда температура увеличивается с 20 градусов до 40 градусов, все три значения меняются и достигают 40 градусов Цельсия.

Аналоговое значение = 82
Температура = 40
Сопоставленное значение = 200

Так как температура превышает 25 градусов, МОП-транзистор получает соответствующее напряжение ШИМ, как показано на рис. (Обозначено красной точкой).

Следовательно, двигатель начинает работать при 25 градусах, и при соответствующем повышении температуры на градус напряжение ШИМ от контакта 10 до основания МОП-транзистора также увеличивается. Следовательно, скорость двигателя линейно увеличивается с повышением температуры и становится почти максимальной при 40 градусах Цельсия.

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




Предыдущая статья: Простая схема защиты холодильника Далее: Как разработать схему источника бесперебойного питания (ИБП)