Die zur Kühlung der Elektronik verwendeten Lüfter gibt es in zwei Formen. Einige sind Miniatur, sie werden direkt an die gekühlten Komponenten gesendet, andere sind größer, sie treiben Luft durch den gesamten Raum des Gehäuses. Es ist am besten, wenn beide Lüftertypen zusammen verwendet werden. Oft "dreschen" Lüfter des zweiten Typs ständig mit voller Leistung, auch wenn dies nicht erforderlich ist. Dadurch nutzt sich das Lager schneller ab und zu viel Lärm stört den Benutzer. Der einfachste Kontaktthermostat kann den Lüfter ein- und ausschalten, während die Lagerressource nur bei laufendem Motor verbraucht wird. Scharf erscheinende und verschwindende Geräusche können jedoch noch ärgerlicher sein. Ein ausgefeilterer Thermostat - beispielsweise vom Autor Instructables unter dem Spitznamen AntoBesline vorgeschlagen - steuert die Drehzahl des Lüftermotors mit einer PWM und hält sie notwendig und ausreichend, um die eingestellte Temperatur zu erreichen. Es ist ratsam, Luft von unten nach oben durch den Gehäuseraum zu treiben und den Temperatursensor von oben zu platzieren. Sie können auch Filter installieren, um zu verhindern, dass Staub in das Gehäuse eindringt. Dies verringert jedoch die Leistung.
Ein Temperatur- und Feuchtigkeitssensor vom Typ DHT11 ist nur für den Thermostat geeignet, der einen Lüfter vom zweiten Typ steuert, da er die Lufttemperatur und keine Oberfläche misst. Die Unterstützung wird von zwei Bibliotheken bereitgestellt hier und hier. Wenn Sie einen Lüfter des ersten Typs mit einem Thermostat ausstatten müssen, müssen Sie einen anderen Sensor verwenden, der die Oberflächentemperatur des zu kühlenden Bauteils misst. Das Programm muss dann erneut erstellt werden, und die Bibliotheken benötigen andere, da sich der Sensor sowohl in der Schnittstelle als auch in der Struktur der an ihn übertragenen Daten unterscheiden kann.
Anhand der folgenden Abbildung zeigt der Assistent, was PWM ist. Die meisten Leser wissen dies bereits. Aufgrund der Tatsache, dass der Ausgangstransistor immer entweder vollständig geschlossen oder vollständig geöffnet ist, wird ihm immer eine sehr geringe Leistung zugewiesen. Wie Sie wissen, ist die Leistung gleich dem Produkt aus Strom und Spannung, und hier ist bei geschlossenem Transistor der Strom sehr klein, und bei offenem Transistor ist der Spannungsabfall darüber gering. Einer der beiden Faktoren ist immer klein, was bedeutet, dass ihr Produkt auch klein ist. Fast die gesamte Leistung im PWM-Controller geht an die Last und nicht an den Transistor.
Der Master erstellt ein Thermostatdiagramm:
Arduino Es wird von einer 5-Volt-Quelle, dem Lüfter, gespeist - von einer 12-Volt-Quelle.Wenn Sie einen 5-Volt-Lüfter verwenden, können Sie mit einer Quelle mit ausreichender Tragfähigkeit Arduino über einen einfachen LC-Filter speisen. Eine Diode, die in entgegengesetzter Richtung parallel zum Lüfter geschaltet ist, wird benötigt, wenn der Motor ein Kollektormotor ist (wie bei einigen modernen USB-Lüftern). Bei Verwendung eines Computerlüfters mit Hallsensor und elektronischer Steuerung der Wicklungen ist diese Diode optional.
Der vom Assistenten kompilierte Text des Programms ist ziemlich kurz und wird unten angegeben:
#include "DHT.h"
#define dht_apin A1
#include
Flüssigkristall 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 (Lüfter, OUTPUT);
PinMode (LED, OUTPUT);
lcd.begin (16, 2);
dht.begin ();
lcd.print ("Room Temp Based");
lcd.setCursor (0, 1);
lcd.print ("Lüftergeschwindigkeit Strg");
Verzögerung (3000);
lcd.clear ();
}}
void loop ()
{
Float Temperat;
Temperatur = dht.readTemperature ();
Temp = Temperat; // speichere den Temperaturwert in der Temp-Variablen
Serial.print (temp);
if (temp = tempMin) && (temp <= tempMax)) // wenn die Temperatur höher als die Mindesttemperatur ist
{
fanSpeed = temp; // map (temp, tempMin, tempMax, 0, 100); // die tatsächliche Geschwindigkeit des Lüfters // map (temp, tempMin, tempMax, 32, 255);
fanSpeed = 1,5 * fanSpeed;
fanLCD = map (temp, tempMin, tempMax, 0, 100); // Drehzahl des Lüfters zur Anzeige auf dem LCD100
analogWrite (fan, fanSpeed); // Lüfter mit der Geschwindigkeit von fanSpeed drehen
}}
if (temp> tempMax) // wenn temp höher als tempMax ist
{
digitalWrite (LED, HIGH); // LED einschalten
}}
sonst // sonst LED ausschalten
{
digitalWrite (LED, LOW);
}}
lcd.print ("TEMP:");
lcd.print (temp); // Temperatur anzeigen
lcd.print ("C");
lcd.setCursor (0,1); // Bewegen Sie den Cursor in die nächste Zeile
lcd.print ("FANS:");
lcd.print (fanLCD); // Lüftergeschwindigkeit anzeigen
lcd.print ("%");
Verzögerung (200);
lcd.clear ();
}}
Eine Skizze kann auch als Datei heruntergeladen werden hier. Die unbekannte Erweiterung muss in ino geändert werden.
Die folgenden Fotos zeigen die Montage des Prototyps auf einem Steckbrett:
Nachdem der Master einen Prototyp zusammengebaut hat, testet er ihn. Die Temperatur wird in Grad Celsius angezeigt, dem tatsächlichen Spannungswert am Lüfter - als Prozentsatz des Maximums.
Es bleibt, den Stromkreis durch Löten zusammenzubauen und den Thermostat dazu zu machen hausgemachtwas er abkühlen wird.