Вентилаторите, използвани за охлаждане на електрониката, се предлагат в две форми. Някои са миниатюрни, изпращат се директно към охладените компоненти, други са по-големи, прокарват въздух през цялото пространство на корпуса. Най-добре е, когато и двата вида вентилатори се използват заедно. Често феновете от втория тип непрекъснато "вършат" с пълна мощност, дори ако това не е необходимо. От това лагерът се износва по-бързо и твърде много шум пречи на потребителя. Най-простият контактен термостат може да включи и изключи вентилатора, докато ресурсът на лагера се изразходва само когато двигателят работи, но рязко появяващият се и изчезващ шум може да бъде още по-досаден. По-сложен термостат - например, предложен от автора 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.
Следните снимки показват сглобяването на прототипното устройство на дъска от тип дъска:
Сглобил прототип, капитанът го тества. Температурата се показва в градуси по Целзий, действителната стойност на напрежението на вентилатора - като процент от максималното.
Остава да сглобим веригата чрез запояване и да направим термостата част от това домашнокоято той ще изстине.