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

Опитайте Нашия Инструмент За Премахване На Проблемите





В тази статия ще изградим няколко прости базирани на Arduino автоматични вериги за постоянен ток с вентилатор, които ще включат вентилатор или други приспособления, свързани към него, когато температурата на околната среда достигне предварително определено прагово ниво. Ще използваме DHT11 сензор и arduino за този проект.

Общ преглед

Красотата на микроконтролерите е, че получаваме много прецизен контрол върху периферните устройства, които са свързани с него. В този проект потребителят просто трябва да въведе праговата температура в програмата, микроконтролерът ще се погрижи за останалата част от функцията.



В интернет се предлагат тонове проекти, базирани на немикроконтролерни автоматични температурни контролери, като например използване на компаратор и транзистори.

Те са много прости и работят добре, но проблемът възниква при калибриране на праговото ниво с помощта на предварително зададен резистор или потенциометър.



Имаме сляпа идея, докато го калибрираме и потребителят може да се наложи да направи метод на проба и грешка, за да намери сладкото място.

Тези проблеми се преодоляват от микроконтролери, потребителят просто трябва да въведе температурата в Целзий в този проект, така че няма нужда от калибриране.

Този проект може да се използва там, където трябва да се стабилизира вътрешната температура на веригата или да я спести от прегряване.

На диаграма 1 ние свързваме вентилатор на процесора като изход. Тази настройка може да се използва за контрол на вътрешната околна температура на затворена верига.

Когато се достигне праговата температура, вентилаторът се включва. Когато температурата падне под праговата температура, вентилаторът се изключва. Така че това е основно автоматизиран процес.

На диаграма 2 сме свързали реле за управление на устройства, което работи на мрежово напрежение като настолен вентилатор.

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

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

Електрическа схема, показваща управление на вентилатора на постоянен ток

DC управление на вентилатора за автоматично регулиране на температурата

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

Свързване на реле за управление на по-големи вентилатори

Управление на вентилатора на релейния превключвател с помощта на температурен сензор Arduino

Тази схема изпълнява подобната функция на предишната схема, сега вентилаторът е заменен от реле.

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

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

Схемата на веригата на вентилатора с постоянен ток, илюстрирана тук, е само няколко от многото възможности. Можете да персонализирате схемата и програмата за собствена цел.

ЗАБЕЛЕЖКА 1: Извежда се #Pin 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 pinout

1. Vin - този щифт е свързан към постояннотоково захранване между 4 до 20 v.
2. Vout - този щифт дава изход под формата на напрежение.
3. GND - този щифт е свързан към gnd терминал на веригата.

LM35, когато е свързан към захранване, усеща температура на околната среда и изпраща еквивалентно напрежение в съответствие с повишаване на температурата на градус през изходния си щифт.

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

ЗАЩО ARDUINO ЗА ТОЗИ ПРОЕКТ ЗА КОНТРОЛЕР НА ВЕНТИЛАТОРИ DC?

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

Ние също ще използваме команди arduino за отпечатване на температура, съответстваща аналогова стойност и цифров изход към MOSFET на сериен монитор на ARDUINO IDE.

КАКВА Е РОЛЯТА НА МОЩНОСТТА НА МОЩНОСТТА?

Тази схема няма да бъде от полза, ако не може да работи с мотор с висок ток. Следователно за работа на такива двигатели се използва мощност MOSFET.

ЗАЩО ДИОДЪТ СЕ ИЗПОЛЗВА?

Диодът се използва за защита на MOSFET от задния EMF, генериран от мотора по време на работа.

СПИСЪК НА ЧАСТИТЕ ЗА ПРОЕКТА:

1. LM35

2. ARDUINO

3. МОЩНОСТ НА МОЩНОСТ (IRF1010E)

МОЩНОСТ НА МОЩНОСТ (IRF1010E)

4. ДИОД (1N4007)

ДИОД (1N4007)

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

6. ЗАХРАНВАНЕ НА ВЕНТИЛАТОР

ДИАГРАМА НА КРУГА:

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

Направете връзки, както е показано на електрическата схема.

а) Свържете vin pin на lm358 към 5v на arduino
б) Свържете изходящия щифт на lm358 към A0 на arduino
в) Свържете заземяващия щифт на lm358 към GND на arduino
г) Свържете основата на MOSFET към PWM щифт 10 на 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: 5v
Следователно, (5000 миливолта * x) / 1023 V
2. Сега знаем, че за всеки градус на повишаване на температурата съответното изходно напрежение се увеличава с 10 mv, т.е.
1 градус по Целзий: 10 миливолта
Следователно, (5000 миливолта * x) / (1023 * 10) СТЕПЕН

° С). Променлива Z-

z = карта (x, 0, 1023, 0,255)
тази променлива променя аналоговата стойност на цифрова стойност за pwm изход на щифт 10.

ЗАБЕЛЕЖКА :: Знаем, че lm35 може да осигури максимум 1,5 волта и това също при температура. Е 150 градуса. което не е практично.

Това означава, че за 40 градуса по Целзий получаваме 0,40 волта, а за 25 градуса получаваме 0,25 волта. Тъй като тези стойности са много ниски за правилната pwm на MOSFET, трябва да го умножим по коефициент.

Следователно го умножаваме по 10 и вместо това даваме тази стойност като аналогов изход към PWM щифт 10, т.е.

** analogWrite (10, z * 10)

Сега за .25 волта mosfet получава 0.25 * 10 = 2.5 волта

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

СЛУЧАЙ 1. Когато темп. По-малко от 25 градуса

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

** друго
{analogWrite (10,0) // във всеки друг случай ШИМ на щифт 10 трябва да бъде 0
} **

Тъй като pwm напрежението на базата на MOSFET е 0, то остава изключено и двигателят се изключва от веригата.

Вижте симулирана схема в този случай.

Симулация за управление на вентилатора Arduino

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

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

Но тъй като температурата е по-малка от 25 градуса, следователно mosfet получава 0 волта, както е показано на фиг. (Обозначено със синя точка).
СЛУЧАЙ 2. Когато темп. Е по-голяма от 25 градуса

Когато температурата достигне 25 градуса, тогава, както е посочено в кода, pwm сигналът се изпраща към основата на MOSFET и с всяко повишаване на температурата това напрежение PWM също се увеличава, т.е.

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

Вижте симулирана схема в този случай.

Както можете да видите, когато температурата се повишава от 20 градуса до 40 градуса, и трите стойности се променят и при 40 градуса по Целзий

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

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

Следователно двигателят започва да работи при 25 градуса и със съответното повишаване на температурата на градус pwm напрежение от щифт 10 до основата на MOSFET също се увеличава. Следователно скоростта на двигателя се увеличава линейно с повишаването на температурата и става почти максимална за 40 градуса по Целзий.

Ако имате някакви допълнителни въпроси относно гореописаната автоматична верига за вентилатор с постоянен ток с контрол на температурата, използваща вентилатор и Arduino, винаги можете да използвате полето за коментари по-долу и да ни изпратите мислите си. Ще се опитаме да се върнем най-рано.




Предишна: Обикновена схема за защита на хладилника Напред: Как да проектираме схема за непрекъсваемо захранване (UPS)