Viftene som brukes til å kjøle elektronikken kommer i to former. Noen er miniatyr, de sendes direkte til de avkjølte komponentene, andre er større, de fører luft gjennom hele huset. Det er best når begge typer vifter brukes sammen. Ofte "fans" av fans av den andre typen med full kraft, selv om dette ikke er nødvendig. Fra dette slites lageret raskere, og for mye støy forstyrrer brukeren. Den enkleste kontakttermostaten kan slå viften av og på, mens lagerressursen forbrukes bare når motoren er i gang, men det kan være enda mer irriterende å skille ut og forsvinne støy. En mer sofistikert termostat - for eksempel foreslått av forfatteren Instructables under kallenavnet AntoBesline - kontrollerer frekvensen av viftemotoren med en PWM og opprettholder den nødvendige og tilstrekkelige for å oppnå den innstilte temperaturen. Det anbefales å føre luft gjennom husrommet nedenfra og opp og plassere temperatursensoren ovenfra. Du kan også installere filtre for å forhindre at støv kommer inn i kabinettet, men de vil redusere ytelsen.
En temperatur- og fuktighetssensor som DHT11 er egnet bare for termostaten som styrer en andre type vifte, siden den måler temperaturen på luft, og ikke på noen overflate. Støtten er gitt av to biblioteker som er lagt ut her og her. Hvis du trenger å utstyre en vifte av den første typen med en termostat, må du bruke en annen sensor som måler overflatetemperaturen til komponenten som skal avkjøles. Da må programmet gjøres om, og andre vil være påkrevd, fordi sensoren kan avvike både i grensesnittet og strukturen til dataene som er overført til den.
Ved hjelp av følgende illustrasjon viser veiviseren hva PWM er, de fleste lesere vet dette allerede. På grunn av det faktum at utgangstransistoren alltid er helt lukket eller helt åpen, tildeles det alltid veldig lav effekt. Som du vet, er strøm lik produktet av strøm og spenning, og her, når transistoren er lukket, er strømmen veldig liten, og når den er åpen, er spenningsfallet over den liten. En av de to faktorene er alltid liten, noe som betyr at produktet deres også er lite. Nesten all kraften i PWM-kontrolleren går til belastningen, ikke til transistoren.
Mesteren utarbeider et termostatskjema:
Arduino den drives av en 5-volts kilde, viften - fra en 12-volt.Hvis du bruker en 5-volts vifte, kan du gjøre det med en kilde med tilstrekkelig lastekapasitet og mate Arduino gjennom et enkelt LC-filter. En diode koblet parallelt med viften i motsatt retning er nødvendig hvis motoren er en kollektormotor (som i noen moderne USB-vifter). Når du bruker en datamaskinvifte med en Hall-sensor og elektronisk viklingskontroll, er denne dioden valgfri.
Teksten satt sammen av veiviserprogrammet er ganske kort, den er gitt nedenfor:
# inkluder "DHT.h"
#definer dht_apin A1
#include
Liquid Crystal 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;
ugyldig oppsett ()
{
pinMode (vifte, UTGANG);
pinMode (ledet, UTGANG);
lcd.begin (16, 2);
dht.begin ();
lcd.print ("Room Temp Based");
lcd.set Markør (0, 1);
lcd.print ("Viftehastighet Ctrl");
forsinkelse (3000);
lcd.clear ();
}
void loop ()
{
flyte temperatur;
temperatur = dht.readTemperature ();
temp = temperat; // lagre temperaturverdien i temp-variabel
Serial.print (temp);
if (temp = tempMin) && (temp <= tempMax)) // hvis temperaturen er høyere enn minimumstemperaturen
{
fanSpeed = temp; // map (temp, tempMin, tempMax, 0, 100); // den faktiske hastigheten på viften // kart (temp, tempMin, tempMax, 32, 255);
fanSpeed = 1,5 * fanSpeed;
fanLCD = kart (temp, tempMin, tempMax, 0, 100); // viftehastighet som skal vises på LCD100
analogWrite (vifte, viftehastighet); // vri viften med viftehastighet
}
if (temp> tempMax) // hvis temp er høyere enn tempMax
{
digitalWrite (ledet, HØYT); // slå på ledet
}
ellers // ellers turn of led
{
digitalWrite (ledet, LAV);
}
lcd.print ("TEMP:");
lcd.print (temp); // vis temperaturen
lcd.print ("C");
lcd.set markør (0,1); // flytt markøren til neste linje
lcd.print ("FANS:");
lcd.print (fanLCD); // vis viftehastigheten
lcd.print ("%");
forsinkelse (200);
lcd.clear ();
}
Dessuten kan en skisse lastes ned som en fil her. Den ukjente utvidelsen må endres til ino.
Følgende bilder viser sammenstillingen av prototypenheten på en brettbrett:
Etter å ha satt sammen en prototype, tester masteren den. Temperaturen vises i grader Celsius, den faktiske spenningsverdien på viften - i prosent av det maksimale.
Det gjenstår å sette sammen kretsen ved å lodde og gjøre termostaten til en del av den hjemmelagetsom han vil avkjøle.