» електроника » Arduino »Термостат за вентилатор

Термостат за вентилатор



Вентилаторите, използвани за охлаждане на електрониката, се предлагат в две форми. Някои са миниатюрни, изпращат се директно към охладените компоненти, други са по-големи, прокарват въздух през цялото пространство на корпуса. Най-добре е, когато и двата вида вентилатори се използват заедно. Често феновете от втория тип непрекъснато "вършат" с пълна мощност, дори ако това не е необходимо. От това лагерът се износва по-бързо и твърде много шум пречи на потребителя. Най-простият контактен термостат може да включи и изключи вентилатора, докато ресурсът на лагера се изразходва само когато двигателят работи, но рязко появяващият се и изчезващ шум може да бъде още по-досаден. По-сложен термостат - например, предложен от автора Instructables под псевдонима AntoBesline - контролира честотата на въртене на двигателя на вентилатора с PWM и поддържа необходимото и достатъчно за постигане на зададената температура. Препоръчително е да задвижвате въздух през корпуса отдолу нагоре и да поставите температурния сензор отгоре. Можете също да инсталирате филтри, за да предотвратите навлизането на прах в заграждението, но те ще намалят производителността.

Датчик за температура и влажност от типа DHT11 е подходящ само за термостата, управляващ вентилатор от втори тип, тъй като измерва температурата на въздуха, а не на всякаква повърхност. Подкрепата му се осигурява от две библиотеки тук и тук, Ако трябва да оборудвате вентилатор от първия тип с термостат, ще трябва да използвате друг сензор, който измерва температурата на повърхността на компонента, който трябва да се охлади. След това програмата ще трябва да бъде преработена и библиотеките ще се нуждаят от други, защото сензорът може да се различава както в интерфейса, така и в структурата на предадените към него данни.

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

Термостат за вентилатор


Майсторът изготвя термостатна схема:



Arduino захранва се от 5-волтов източник, вентилаторът - от 12-волтов.Ако използвате 5-волтов вентилатор, можете да направите с един източник с достатъчна товароносимост, захранвайки Arduino чрез обикновен LC филтър. Диод, свързан успоредно с вентилатора в обратна посока, е необходим, ако двигателят е колектор мотор (както в някои съвременни USB вентилатори). Когато използвате компютърен вентилатор със сензор на Хол и електронно управление на намотката, този диод е незадължителен.

Текстът на програмата, съставен от съветника, е доста кратък, той е даден по-долу:

#include "DHT.h"
#define dht_apin A1
#include

Течен кристал lcd (7,6,5,4,3,2);
DHT dht (dht_apin, DHT11);
int fan = 11;
int led = 8;
int temp;
int tempMin = 30;
int tempMax = 60;
int fanSpeed;
int fanLCD;
настройка за невалидност ()
{
   pinMode (вентилатор, изход);
   pinMode (led, OUTPUT);
   lcd.begin (16, 2);
   dht.begin ();
   lcd.print ("На база темп на стаята");
   lcd.setCursor (0, 1);
   lcd.print ("Скорост на вентилатора Ctrl");
   забавяне (3000);
   lcd.clear ();
}
void loop ()
{
    плаваща температура;
    температура = dht.readTemperature ();
    темп = температура; // съхранявайте стойността на температурата в temp променлива
   Сериен.принт (темп);
   if (temp  = tempMin) && (temp <= tempMax)) // ако температурата е по-висока от минималната temp
   {
       fanSpeed ​​= temp; // map (temp, tempMin, tempMax, 0, 100); // действителната скорост на вентилатора // map (temp, tempMin, tempMax, 32, 255);
       fanSpeed ​​= 1.5 * fanSpeed;
       fanLCD = карта (temp, tempMin, tempMax, 0, 100); // скорост на вентилатора за показване на LCD100
       analogWrite (вентилатор, fanSpeed); // завъртете вентилатора със скоростта на вентилатора
   }
      ако (temp> tempMax) // ако temp е по-висок от tempMax
     {
     digitalWrite (led, HIGH); // включете led
     }
   else // else завой на led
     {
     digitalWrite (led, LOW);
     }
      lcd.print ("TEMP:");
   lcd.принт (темп); // показване на температурата
   lcd.print ("C");
   lcd.setCursor (0,1); // премести курсора на следващия ред
   lcd.print ("Вентилатори:");
   lcd.принт (fanLCD); // показва скоростта на вентилатора
   lcd.print ("%");
   забавяне (200);
   lcd.clear ();
 }


Също така, скица може да бъде изтеглена като файл тук, Неизвестното разширение ще трябва да бъде променено на ino.

Следните снимки показват сглобяването на прототипното устройство на дъска от тип дъска:









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







Остава да сглобим веригата чрез запояване и да направим термостата част от това домашнокоято той ще изстине.
8
8
6

Добавете коментар

    • усмихвамусмивкиxaxaдобреdontknowYahooНеа
      шефдраскотинаглупакдаДа-даагресивентайна
      съжалявамтанцувамdance2dance3извинениепомощнапитки
      спиркаприятелидобърgoodgoodсвиркаприпадамезик
      димплясканеCrayдеклариратподигравателендон-t_mentionизтегляне
      топлинасърдитlaugh1MDAсрещаmoskingотрицателен
      not_iпуканкинаказвамчетаплашаплашитърсене
      присмехthank_youтоваto_clueumnikостърСъгласен
      лошоbeeeblack_eyeblum3изчервяванесамохвалствоскука
      цензурираншегаsecret2заплашвампобедаюsun_bespectacled
      ShokРеспектхахаprevedдобре дошълkrutoyya_za
      ya_dobryiпомощникne_huliganne_othodifludзабранаблизо
10 коментар
Авторът
Е, в долния край на диапазона може да се приложи хистерезис. След като леко променихме програмата. А в останалата част от обхвата, където вентилаторът все още се върти, само скоростта се променя, възможно е без хистерезис.
Цитат: tormozedison
Необходим е хистерезис при рязко натоварване при изключване. С плавното регулиране на ШИМ, както тук, е безполезно.

Не съм съгласен, хистерезисът е необходим точно по логиката за включване / изключване. Например, вентилатор, дори при най-ниска скорост, се включва при> 30 градуса и се изключва при <30. Но ако си представите, че температурата е около 30 градуса, вентилаторът се включва с ниски скорости, след което температурата веднага спада до 29, вентилаторът спира. Накратко, оказва се, че се „отблъсква“ вентилатора за включване / изключване. Просто хистерезисът спестява от това, например, включете, когато температурата е> 30, и изключете, когато <25. Ако това не е направено, тогава изобщо няма смисъл в Arduino, тъй като има KY-028 и аналози, които ви позволяват да използвате плавно увеличаване на скоростта и просто включване / изключване и само отсъствието на хистерезис не прави тези модули идеални.
Авторът
Необходим е хистерезис при рязко натоварване при изключване. С плавното регулиране на ШИМ, както тук, е безполезно.

Знам за KU208 от края на осемдесетте. Научих за KY-028 от вас, благодаря за съвета.

Не е необходимо да свързвате дисплей към този термостат. Вместо ООН, вземете евтин клонинг със същите характеристики. И ще бъде икономически оправдано.
2Dem не обиждайте тези (и знаете, че аз съм ПРОФИ, в електрониката, просто не искате да го признаете).
Реших да нулирам всички харесвания на вашите камъни към моите домашни продукти. Днес е моят щастлив ден и празник.
Започвам да нулирам вашите харесвания ... А можете ли да оттеглите обидите си?
Цитат: Иван_Похмелев
Цитат: R555
Моронът дори не изписва правилно името KU208.
Но той правилно изписва името на температурния сензор KY-028. Какво общо има KU208?

Първо, благодаря за цитирането на съобщението, ми беше много смешно да видя, че „знаеш всичко“ не знае такива основни неща. Второ, дадох KY-028 като пример, струва си да добавите захранващ превключвател и получаваме по-ефективен термостат. И ефективен във всеки смисъл. Ако не се лъжа, няма и хистерезис при минимална температура. А именно, това трябва да се направи на първо място, в противен случай няма никаква причина да се използва Arduino. Неефективно използване на материали, грубо казано, на китайски Nano с 16k памет, контролът на вентилацията в котелното помещение се основава на температура и влажност, защита от течове в цялата къща (6 сензора), интелигентна циркулация на БГВ, измиване на осмозната мембрана и показване на цялата тази информация се показва 1602. А използването на Uno за стартиране на вентилатора е рационално само ако е урок за начинаещи, но този „домашен“, както изобщо няма урок, има много по-добри уроци. Тогава какво е значението му?
Защо безполезни? Разбира се, това не е продукт, а оформление, има грешки в схемата, но идеята има право да съществува. И за какъв екран говорите?
Не бих бил толкова категоричен: устройството, освен самата регулация, показва и температурата, което може да бъде полезно. Но името е грешно, не е термостат, но оформление контрол на скоростта на вентилатора в зависимост от температурата.
Цитат: R555
Моронът дори не изписва правилно името KU208.
Но той правилно изписва името на температурния сензор KY-028. Какво общо има KU208?
Например, за KY-028 не чухте ли? Глупост е да използвате UNO за такъв безполезен занаят. Екранът изобщо не е необходим в такова изпълнение. Целият този боклук е като първата и най-важна неуспешна работа на ученик, тъй като всичко, което може да се направи погрешно, е точно това, което е направено.
Още един микроскоп-чук за нокти! Неа

Съветваме ви да прочетете:

Предайте го за смартфона ...