Ventilatoarele folosite la răcirea electronicelor au două forme. Unele sunt în miniatură, sunt trimise direct la componentele răcite, altele sunt mai mari, duc aer prin întregul spațiu al carcasei. Este cel mai bine atunci când ambele tipuri de ventilatoare sunt folosite împreună. Adesea, fanii celui de-al doilea tip se „trec” în mod constant la puterea maximă, chiar dacă acest lucru nu este necesar. Din acest motiv, rulmentul se uzează mai repede, iar zgomotul interferează prea mult cu utilizatorul. Cel mai simplu termostat de contact poate porni și opri ventilatorul, în timp ce resursa rulmentului este consumată numai atunci când motorul funcționează, dar zgomotul care apare brusc și dispare poate fi și mai enervant. Un termostat mai sofisticat - de exemplu, propus de autor Instructables sub porecla AntoBesline - controlează frecvența de rotație a motorului ventilatorului cu un PWM și îl menține necesar și suficient pentru a atinge temperatura setată. Este recomandabil să conduceți aerul prin spațiul carcasei de jos în sus și să plasați senzorul de temperatură de sus. Puteți instala, de asemenea, filtre pentru a preveni pătrunderea prafului în incintă, dar acestea vor reduce performanța.
Un senzor de temperatură și umiditate precum DHT11 este potrivit doar pentru termostatul care controlează un al doilea fan, deoarece măsoară temperatura aerului și nu a oricărei suprafețe. Suportul său este oferit de două biblioteci aici și aici. Dacă trebuie să dotați un ventilator de primul tip cu un termostat, va trebui să utilizați un alt senzor care măsoară temperatura suprafeței componentei care trebuie răcită. Programul va trebui apoi redirecționat, iar altele vor fi necesare, deoarece senzorul poate diferi atât în interfață, cât și în structura datelor transmise acestuia.
Utilizând următoarea ilustrație, expertul arată ce este PWM, majoritatea cititorilor știu deja acest lucru. Datorită faptului că tranzistorul de ieșire este întotdeauna fie complet închis, fie complet deschis, îi este alocat întotdeauna o putere foarte mică. După cum știți, puterea este egală cu produsul curentului și tensiunii, iar aici, când tranzistorul este închis, curentul este foarte mic, iar atunci când este deschis, căderea de tensiune peste el este mică. Unul dintre cei doi factori este întotdeauna mic, ceea ce înseamnă că produsul lor este de asemenea mic. Aproape toată puterea din controlerul PWM merge la sarcină, nu la tranzistor.
Maestrul întocmește o diagramă de termostat:
Arduino este alimentat de o sursă de 5 volți, ventilatorul - de la 12 volți.Dacă utilizați un ventilator de 5 volți, vă puteți descurca cu o singură sursă cu capacitate de încărcare suficientă, alimentând Arduino printr-un simplu filtru LC. Este necesară o diodă conectată în paralel cu ventilatorul în direcția opusă dacă motorul este un motor colector (ca în unele ventilatoare USB moderne). Când utilizați un ventilator de computer cu senzor Hall și control electronic de înfășurare, această diodă este opțională.
Textul programului compilat de vrăjitor este destul de scurt, este prezentat mai jos:
#includeți „DHT.h”
#define dht_apin A1
#include
Cristal lichid 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;
void setup ()
{
pinMode (ventilator, OUTPUT);
pinMode (led, OUTPUT);
lcd.begin (16, 2);
dht.begin ();
lcd.print ("Bazat pe temperatura camerei");
lcd.setCursor (0, 1);
lcd.print ("Ctrl speed speed");
întârziere (3000);
lcd.clear ();
}
nul buclă ()
{
float temperat;
temperature = dht.readTemperature ();
temp = temperat; // stocați valoarea temperaturii în variabila temp
Serial.print (temp);
if (temp = tempMin) && (temp <= tempMax)) // dacă temperatura este mai mare decât temperatura minimă
{
fanSpeed = temp; // hartă (temp, tempMin, tempMax, 0, 100); // viteza reală a ventilatorului // hartă (temp, tempMin, tempMax, 32, 255);
fanSpeed = 1,5 * fanSpeed;
fanLCD = hartă (temp, tempMin, tempMax, 0, 100); // viteza ventilatorului de afișat pe LCD100
analogWrite (fan, fanSpeed); // rotiți ventilatorul la viteza de viteză a vitezei
}
if (temp> tempMax) // dacă temp este mai mare decât tempMax
{
digitalWrite (led, HIGH); // porni led
}
altceva // altfel turnul de led
{
digitalWrite (led, LOW);
}
lcd.print ("TEMP:");
lcd.print (temp); // afiseaza temperatura
lcd.print ("C");
lcd.setCursor (0,1); // mutați cursorul pe linia următoare
lcd.print ("FANS:");
lcd.print (fanLCD); // afiseaza viteza ventilatorului
lcd.print ("%");
întârziere (200);
lcd.clear ();
}
De asemenea, o schiță poate fi descărcată ca fișier aici. Extensia necunoscută va trebui să fie schimbată în ino.
Următoarele fotografii arată asamblarea dispozitivului prototip pe o placă de tip panou:
După ce a asamblat un prototip, maestrul îl testează. Temperatura este afișată în grade Celsius, valoarea tensiunii reale a ventilatorului - ca procent din maxim.
Rămâne să asamblați circuitul prin lipire și să faceți termostatul să facă parte din acesta de casăpe care îl va răci.