Струјни кругови вентилатора са контролисаном температуром Ардуино

Испробајте Наш Инструмент За Елиминисање Проблема





У овом чланку ћемо конструисати неколико једноставних кола заснованих на Ардуино аутоматским дц вентилаторским круговима који контролишу температуру и који ће укључити вентилатор или било који други уређај повезан са њим, када температура околине достигне унапред одређени праг. За овај пројекат ћемо користити ДХТ11 сензор и ардуино.

Преглед

Лепота микроконтролера је у томе што добијамо врло прецизну контролу над периферним уређајима који су на њега повезани. У овом пројекту корисник само треба да у програм унесе граничну температуру, микроконтролер ће се побринути за остатак функције.



На интернету је доступно мноштво пројеката аутоматских регулатора температуре који се не темеље на микроконтролеру, као што је употреба компаратора и транзистора.

Врло су једноставни и раде добро, али проблем настаје приликом калибрације нивоа прага помоћу унапред подешеног отпорника или потенциометра.



Током калибрације имамо слепу идеју и корисник ће можда морати да покуша методу покушаја и грешака како би пронашао слатку тачку.

Ове проблеме решавају микроконтролери, корисник само треба да унесе температуру у Целзијусу у овом пројекту, тако да нема потребе за калибрацијом.

Овај пројекат се може користити тамо где треба стабилизовати унутрашњу температуру круга или га сачувати од прегревања.

У дијаграму 1 повезујемо ЦПУ вентилатор као излаз. Ова поставка се може користити за контролу унутрашње температуре околине затвореног круга.

Када се достигне гранична температура, вентилатор се укључује. Када температура падне испод граничне температуре, вентилатор се искључује. Дакле, то је у основи аутоматизовани процес.

На дијаграму 2 повезали смо релеј за управљање уређајима који раде на мрежном напону као што је стони вентилатор.

Када собна температура достигне граничну температуру, вентилатор се укључује и искључује када се просторија охлади.

Ово је можда најбољи начин за уштеду енергије, а ово може бити рај за лење људе који желе да други УКЉУЧЕ вентилатор кад им је топло.

Кружна шема која приказује контролу вентилатора једносмерне струје

ДЦ контрола вентилатора за аутоматско подешавање температуре

Ова поставка се може применити за кругове који су затворени у кутији. ЛЕД се укључује када достигне унапред задати ниво прага, а укључује и вентилатор.

Повезивање релеја за контролу већих вентилатора

Управљање вентилатором прекидача релеја помоћу Ардуино температурног сензора

Овај круг ради сличну функцију као претходни круг, сада је вентилатор замењен релејем.

Овај круг може да контролише столни вентилатор или плафонски вентилатор или било који други уређај који може да охлади температуру околине.

Повезани уређај се искључује чим температура досегне испод унапред подешеног нивоа прага.

Дијаграм струјног круга вентилатора са контролисаном температуром приказан је овде само неколико могућности. Коло и програм можете прилагодити за своју сврху.

НАПОМЕНА 1: #Пин 7 је излаз.

НАПОМЕНА 2: Овај програм је компатибилан само са ДХТ11 сензором.

Програм за горе објашњени круг аутоматског регулатора температуре помоћу Ардуина:

Програмски код

//--------------------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---------------------//

Напомена: У програму

инт тх = 30 // подесите граничну температуру у Целзијусу.

Замените „30“ жељеном вредношћу.

Други дизајн

Други пројекат круга вентилатора једносмерне струје са контролисаном температуром, о коме се говори у наставку, аутоматски препознаје температуру околине и подешава брзину мотора вентилатора како би одржавао температуру околине под контролом. Ова аутоматска обрада врши се преко Ардуина и температурног сензора ИЦ ЛМ35.

Од стране:Анкит Неги

НАШ ЦИЉ:

1). Чим се температура околине повећа изнад 25 степени Целзијуса (ову вредност можете променити у програму према вашим потребама, објашњено у радном одељку), мотор почиње да ради.

2). И са сваким степеном пораста температуре, брзина мотора се такође повећава.

3). Мотор ради највећом брзином чим температура порасте на 40 степени Целзијуса (ову вредност можете променити у програму).

СЕНЗОР ТЕМПЕРАТУРЕ ЛМ35:

Да бисмо постигли горе поменути задатак, користићемо темп. Сензор ЛМ35 како се користи широко и лако доступан.

ЛМ35 има 3 игле као што можете видети на слици.

ЛМ35 ИЦ пиноут

1. Вин-- овај пин је повезан на напајање једносмерном струјом између 4 и 20 в.
2. Воут - овај пин даје излаз у облику напона.
3. ГНД - овај пин је повезан на гнд терминал круга.

ЛМ35, када је повезан на напајање, осетјује температура околине и шаље еквивалентни напон у складу са порастом температуре по степену кроз свој излазни пин.

ЛМ35 може осетити било коју темп. између -50 степени до +150 степени Целзијуса и повећава излаз за 10 миливолти са порастом температуре од 1 степен. Стога је максимални напон који може дати као излаз 1,5 волти.

ЗАШТО АРДУИНО ЗА ОВАЈ ПРОЈЕКТ КОНТРОЛЕРА ВЕНТИЛАТОРА ДЦ?

Ардуино је потребан да промени аналогну вредност примљену са излазног пина ЛМ35 у дигиталну вредност и шаље одговарајући дигитални излаз (ПВМ) на базу МОСФЕТ-а.

Такође ћемо користити ардуино команде за штампање температуре, одговарајућа аналогна вредност и дигитални излаз на МОСФЕТ на серијском монитору АРДУИНО ИДЕ.

КАКВА ЈЕ УЛОГА МОСФЕТА СНАГЕ?

Овај круг неће бити од користи ако не може да покреће мотор велике струје. Стога се за покретање таквих мотора користи мрежни мосфет.

ЗАШТО СЕ КОРИСТИ ДИОДА?

Диода се користи за заштиту МОСФЕТ-а од задњег ЕМФ насталог мотором током рада.

ЛИСТА ДИЈЕЛОВА ЗА ПРОЈЕКТ:

1. ЛМ35

2. АРДУИНО

3. МОСФЕТ СНАГЕ (ИРФ1010Е)

МОСФЕТ СНАГЕ (ИРФ1010Е)

4. ДИОДА (1Н4007)

ДИОДА (1Н4007)

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

6. НАПАЈАЊЕ ВЕНТИЛАТОРА

ДИЈАГРАМ КОЛА:

Ардуино контрола једносмерног вентилатора зависна од температуре

Успоставите везе како је приказано на дијаграму кола.

а) Повежите вин пин лм358 са 5в ардуина
б) Повежите излазни пин лм358 са А0 ардуина
ц) Повежите пин за уземљење лм358 са ГНД ардуина
д) Повежите базу МОСФЕТ-а са ПВМ пин 10 ардуина

ШИФРА:

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
}
}

РАД (разумевање кода):

А). ПРОМЕНЉИВО Кс-

Ово је једноставно аналогна вредност коју прима пин бр. А0 са излазног пина ЛМ35.

Б). ПРОМЕНЉИВО И-

Само због ове променљиве, наш мотор вентилатора ради у складу са одговарајућом температуром. Оно што ова променљива ради је да мења аналогну вредност, тј. Променљиву к, на одговарајућу температуру околине.

И = (500 * к) / 1023
1. Прва аналогна вредност мора се променити у одговарајући напон тј.
1023: 5в
Отуда, (5000 миливолт * к) / 1023 В.
2. Сада знамо да се за сваки степен пораста температуре одговарајући напон повећава за 10 мв тј.
1 степен Целзијуса: 10 миливолти
Дакле, (5000 миливолт * к) / (1023 * 10) СТЕПЕН

Ц). ПРОМЕНЉИВО З-

з = мапа (к, 0, 1023, 0,255)
ова променљива мења аналогну вредност у дигиталну вредност за пвм излаз на пину 10.

БЕЛЕШКА :: Знамо да лм35 може пружити максимално 1,5 волти и то такође када је температура. Је 150 степени. што није практично.

То значи да за 40 степени Целзијуса добијамо 0,40 волта, а за 25 степени 0,25 волта. Будући да су ове вредности врло ниске за правилну пвм на МОСФЕТ-у, морамо је помножити са фактором.

Отуда га множимо са 10 и уместо тога дајемо ову вредност као аналогни излаз на ПВМ пин 10, тј.

** аналогВрите (10, з * 10)

Сада за 0,25 волта мосфет добија 0,25 * 10 = 2,5 волта

За .40 волти мосфет добија 0,40 * 10 = 4 волта при којима мотор скоро ради пуном брзином

СЛУЧАЈ 1. Када је темп. Нижи је од 25 степени

У овом случају ардуино шаље 0 ПВМ напон на пин 10 као у последњем реду кода

** иначе
{аналогВрите (10,0) // у сваком другом случају ПВМ на пину 10 мора бити 0
} **

Будући да је напон на бази МОСФ-а 0, он остаје искључен и мотор се одваја од струјног круга.

Погледајте симулирани круг у овом случају.

Симулација управљања вентилатором Ардуино

Као што видите, температура је 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 степени Целзијуса.

Ако имате било каквих додатних питања у вези са горе објашњеним аутоматским кругом вентилатора са контролисаном температуром помоћу вентилатора и Ардуина, увек можете да користите поље за коментаре у наставку и да нам пошаљете своје мисли. Покушаћемо да се вратимо најраније.




Претходно: Једноставни заштитни круг фрижидера Следеће: Како дизајнирати круг за непрекидно напајање (УПС)