I fan utilizzati per raffreddare l'elettronica sono disponibili in due forme. Alcuni sono in miniatura, vengono inviati direttamente ai componenti raffreddati, altri sono più grandi, guidano l'aria attraverso l'intero spazio dell'alloggiamento. È meglio quando entrambi i tipi di fan vengono utilizzati insieme. Spesso, i fan del secondo tipo "costantemente" trebbiano a piena potenza, anche se questo non è necessario. Da questo, il cuscinetto si consuma più velocemente e troppo rumore interferisce con l'utente. Il termostato a contatto più semplice può accendere e spegnere la ventola, mentre la risorsa del cuscinetto viene consumata solo quando il motore è in funzione, ma la comparsa e la scomparsa del rumore possono essere ancora più fastidiose. Un termostato più sofisticato, ad esempio proposto dall'autore Instructables con il soprannome AntoBesline, controlla la frequenza di rotazione del motore del ventilatore con un PWM e lo mantiene necessario e sufficiente per raggiungere la temperatura impostata. Si consiglia di guidare l'aria attraverso lo spazio abitativo dal basso verso l'alto e posizionare il sensore di temperatura dall'alto. È inoltre possibile installare filtri per evitare che la polvere penetri nell'involucro, ma ridurranno le prestazioni.
Un sensore di temperatura e umidità come DHT11 è adatto solo per il termostato che controlla una seconda ventola di tipo, poiché misura la temperatura dell'aria e non di qualsiasi superficie. Il suo supporto è fornito da due biblioteche disposte qui e qui. Se è necessario dotare un termostato del primo tipo di un termostato, è necessario utilizzare un altro sensore che misura la temperatura superficiale del componente da raffreddare. Il programma dovrà quindi essere rifatto e altri saranno richiesti, poiché il sensore potrebbe differire sia nell'interfaccia che nella struttura dei dati trasmessi ad esso.
Utilizzando la seguente illustrazione, la procedura guidata mostra cos'è PWM, molti lettori lo sanno già. A causa del fatto che il transistor di uscita è sempre completamente chiuso o completamente aperto, viene sempre assegnata una potenza molto bassa. Come sapete, la potenza è uguale al prodotto di corrente e tensione, e qui, quando il transistor è chiuso, la corrente è molto piccola e, quando è aperta, la caduta di tensione attraverso di essa è piccola. Uno dei due fattori è sempre piccolo, il che significa che anche il loro prodotto è piccolo. Quasi tutta l'alimentazione del controller PWM va al carico, non al transistor.
Il master elabora un diagramma del termostato:
Arduino è alimentato da una sorgente da 5 volt, la ventola - da un 12 volt.Se usi una ventola da 5 volt, puoi farlo con una fonte con capacità di carico sufficiente, alimentando Arduino attraverso un semplice filtro LC. Un diodo collegato in parallelo con la ventola nella direzione opposta è necessario se il motore è un motore di raccolta (come in alcune moderne ventole USB). Quando si utilizza una ventola del computer con un sensore Hall e controllo elettronico dell'avvolgimento, questo diodo è opzionale.
Il testo del programma compilato dalla procedura guidata è piuttosto breve, è riportato di seguito:
#include "DHT.h"
#define dht_apin A1
#include
LCD a cristalli liquidi (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 (ventola, USCITA);
pinMode (led, OUTPUT);
lcd.begin (16, 2);
dht.begin ();
lcd.print ("Basato sulla temperatura ambiente");
lcd.setCursor (0, 1);
lcd.print ("Fan speed Ctrl");
ritardo (3000);
lcd.clear ();
}
void loop ()
{
float temperat;
temperatura = dht.readTemperature ();
temp = temperat; // memorizza il valore della temperatura nella variabile temp
Serial.print (temp);
if (temp = tempMin) && (temp <= tempMax)) // se la temperatura è superiore alla temperatura minima
{
fanSpeed = temp; // map (temp, tempMin, tempMax, 0, 100); // la velocità effettiva della ventola // map (temp, tempMin, tempMax, 32, 255);
fanSpeed = 1.5 * fanSpeed;
fanLCD = mappa (temp, tempMin, tempMax, 0, 100); // velocità della ventola da visualizzare su LCD100
analogWrite (fan, fanSpeed); // gira la ventola alla velocità fanSpeed
}
if (temp> tempMax) // se temp è maggiore di tempMax
{
digitalWrite (led, ALTA); // accende il led
}
else // else giro di led
{
digitalWrite (led, LOW);
}
lcd.print ("TEMP:");
lcd.print (temp); // visualizza la temperatura
lcd.print ("C");
lcd.setCursor (0,1); // sposta il cursore sulla riga successiva
lcd.print ("FANS:");
lcd.print (fanLCD); // visualizza la velocità della ventola
lcd.print ("%");
ritardo (200);
lcd.clear ();
}
Inoltre, è possibile scaricare uno schizzo come file qui. L'estensione sconosciuta dovrà essere cambiata in ino.
Le seguenti foto mostrano l'assemblaggio del dispositivo prototipo su una scheda tipo breadboard:
Dopo aver assemblato un prototipo, il maestro lo verifica. La temperatura viene visualizzata in gradi Celsius, il valore di tensione effettivo sul ventilatore - in percentuale del massimo.
Resta da assemblare il circuito mediante saldatura e farne parte il termostato fatto in casache si raffredderà.