Els ventiladors habituats per refredar l'electrònica es diferencien. Alguns són en miniatura, s’envien directament als components refrigerats, d’altres són més grans, condueixen l’aire per tot l’espai de l’allotjament. És millor quan s’utilitzen tots dos tipus de ventiladors junts. Sovint, els fanàtics del segon tipus estan "trillant" constantment a tota potència, fins i tot si això no és necessari. A partir d’això, el rodament es desgasta més ràpidament i hi intervé massa soroll amb l’usuari. El termòstat de contacte més senzill pot encendre i apagar el ventilador, mentre que el recurs del rodament només es consumeix quan el motor funciona, però el soroll apareixent i desapareixent pot ser encara més molest. Un termòstat més sofisticat, per exemple, proposat per l’autor Instructables amb el sobrenom de AntoBesline - controla la freqüència de rotació del motor del ventilador amb una PWM i la manté necessària i suficient per aconseguir la temperatura establerta. És aconsellable conduir l’aire per l’espai de l’allotjament de baix a dalt i col·locar el sensor de temperatura des de dalt. També podeu instal·lar filtres per evitar que la pols entri al recinte, però reduiran el rendiment.
Un sensor de temperatura i humitat del tipus DHT11 és adequat només per al termòstat controlant un ventilador de segon tipus, ja que mesura la temperatura de l’aire i no de qualsevol superfície. El seu suport el proporcionen dues biblioteques distribuïdes aquí i aquí. Si heu d’equipar un ventilador del primer tipus amb un termòstat, haureu d’utilitzar un altre sensor que mesura la temperatura superficial del component que s’ha de refrigerar. Aleshores, s'hauran de tornar a fer, i seran necessaris altres, ja que el sensor pot diferir tant en la interfície com en l'estructura de les dades transmeses.
Utilitzant la il·lustració següent, l’assistent mostra què és PWM, la majoria de lectors ja ho saben. Degut al fet que el transistor de sortida sempre està tancat o totalment obert, se li assigna sempre una potència molt baixa. Com ja sabeu, la potència és igual al producte del corrent i la tensió, i aquí, amb el transistor tancat, el corrent és molt petit, i amb el transistor obert, la caiguda de tensió al seu voltant és petita. Un dels dos factors sempre és petit, cosa que significa que el seu producte també és petit. Gairebé tota la potència del controlador PWM va a la càrrega i no al transistor.
El mestre elabora un diagrama de termòstat:
Arduino està alimentat per una font de 5 volts, el ventilador, a partir de 12 volts.Si utilitzeu un ventilador de 5 volts, ho podeu fer amb una font amb capacitat de càrrega suficient, alimentant Arduino mitjançant un simple filtre LC. Es necessita un díode connectat en paral·lel amb el ventilador en sentit contrari si el motor és un motor col·lector (com en alguns ventiladors USB moderns). Quan s'utilitza un ventilador d'ordinador amb sensor Hall i control de bobinat electrònic, aquest díode és opcional.
El text del programa compilat per l'assistent és força curt, a continuació, es mostra:
#inclou "DHT.h"
#define dht_apin A1
#incloure
Cristal líquid 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;
nul configuració ()
{
pinMode (ventilador, SORTIDA);
pinMode (led, OUTPUT);
lcd.begin (16, 2);
dht.begin ();
lcd.print ("Basat en la temperatura de l'habitació");
lcd.setCursor (0, 1);
lcd.print ("Ctrl velocitat del ventilador");
retard (3000);
lcd.clear ();
}
bucle void ()
{
flotar la temperatura;
temperature = dht.readTemperature ();
temp = temperatura; // emmagatzema el valor de temperatura en la variable temp
Serial.print (temp);
if (temp = tempMin) && (temp <= tempMax)) // si la temperatura és superior a la temperatura mínima
{
fanSpeed = temp; // mapa (temp, tempMin, tempMax, 0, 100); // la velocitat real del ventilador // mapa (temp, tempMin, tempMax, 32, 255);
fanSpeed = 1,5 * fanSpeed;
fanLCD = mapa (temp, tempMin, tempMax, 0, 100); // velocitat del ventilador per mostrar a LCD100
analogWrite (fan, fanSpeed); // gireu el ventilador a la velocitat del ventilador
}
if (temp> tempMax) // si temp és superior a tempMax
{
digitalWrite (led, HIGH); // encendre led
}
else // else turn of led
{
digitalWrite (led, LOW);
}
lcd.print ("TEMP:");
lcd.print (temp); // mostrar la temperatura
lcd.print ("C");
lcd.setCursor (0,1); // mou el cursor a la línia següent
lcd.print ("FANS:");
lcd.print (fanLCD); // mostrar la velocitat del ventilador
lcd.print ("%");
retard (200);
lcd.clear ();
}
A més, es pot descarregar un esbós com a fitxer aquí. L'extensió desconeguda haurà de canviar-se per ino.
Les fotos següents mostren el muntatge del dispositiu de prototip en un tauler de taula:
Havent muntat un prototip, el mestre ho prova. La temperatura es mostra en graus centígrads, el valor real de la tensió del ventilador, com a percentatge del màxim.
Es queda per muntar el circuit per soldar i fer que el termòstat en sigui part casolansque refredarà.