Industrielle Fertigung
Industrielles Internet der Dinge | Industrielle Materialien | Gerätewartung und Reparatur | Industrielle Programmierung |
home  MfgRobots >> Industrielle Fertigung >  >> Manufacturing Technology >> Herstellungsprozess

Steuerung des AV-Schranklüfters

Komponenten und Verbrauchsmaterialien

Arduino Nano R3
× 1
DHT11 Temperatur- und Feuchtigkeitssensor (4 Pins)
× 1
5-V-DC-Relaismodul
× 1

Über dieses Projekt

Mein AV-Receiver lief sehr heiß, also wollte ich vor der Sommerhitze einen Schranklüfter hinzufügen. Zuerst habe ich versucht, eine 5-12-V-DC-Quelle an der Außenseite des Empfängers zu finden, die nur eingeschaltet wird, wenn der Empfänger eingeschaltet ist, konnte jedoch nur wenige Stellen im Inneren des Empfängers finden. Ich wollte auch, dass die Lüfter nach dem Ausschalten des Receivers noch eine Weile laufen, und die Dimensionierung der Kondensatoren wurde schwierig.

Raumtemperatur 75F, Schranktemperatur 109F

Ich habe mir temperaturgesteuerte Lüfter bei Amazon angeschaut und sie schienen alle teurer zu sein, als ich dachte, dass sie sein sollten. Sie waren alle über 30 Dollar und waren im Grunde nur ein Lüfter, eine Temperatursonde und ein Relais ... Ich schaute in meinen Teilebehälter und hatte schon all das Zeug.

Ja, das sollte reichen

Zuerst schrieb ich eine kleine Skizze für einen chinesischen Arduino Nano im Wert von 2 US-Dollar. Ein DHT11-Temperatursensor und ein 5-V-DC-Relais wurden hinzugefügt und es funktionierte wie ein Zauber.

Schneller Prototyp

Als nächstes musste ich einige alte PC-Lüfter finden, die sich mit nur 5 V hochdrehen und Luft bewegen würden, da ich wollte, dass das Ganze von einem alten USB-Telefonladegerät mit Strom versorgt wird. Ich fand zwei 80-mm- und einen 120-mm-Lüfter, die bei 5 V immer noch genug CFM bewegten und unter 200 mA blieben, also habe ich die Molex-Verbindung unterbrochen und sie als USB verkabelt.

Auf dem Steckbrett funktionierte alles, also fügte ich einige Status-LEDs und einen Piezo-Summer für einen Überhitzungsalarm hinzu. Es passte alles gut in eine kleine Projektbox, die ich hatte.

Enge Passform erfordert viel Heißkleber, um Shorts zu vermeiden Schön und kompakt und fügt sich in den Rest der AV-Ausrüstung ein Status-LEDs:oben links=Power (grün); unten links=Temp OK (grün); mittel=Lüfter an (orange); rechts=Überhitzung (rot)

Der Controller durchläuft einen Start-POST, um anzuzeigen, dass alle Lüfter, LEDs und der Piezo-Alarm funktionieren

Selbsttest beim Einschalten



Arduino-Skizze:


Der Regler misst die Durchschnittstemperatur über einen Zeitraum von 30 Sekunden. Wenn es über 95F ist, läuft der Lüfter 5 Minuten lang an, bevor er erneut überprüft. Wenn die Temperatur über 120 ° F liegt, ertönt der Alarm, während die Lüfter weiterlaufen. Der Alarm ertönt alle 30 Sekunden, bis die Temperatur wieder unter 120 ° F liegt.

Serieller Ausgang

In der Praxis laufen die Lüfter etwa 2 Minuten nach dem Einschalten des Receivers an und laufen die ganze Zeit, wenn er eingeschaltet ist. Nach dem Ausschalten des Media Centers laufen die Lüfter mindestens 5 Minuten lang, bevor die Temperatur unter 95 ° F sinkt. Bisher wurde der Überhitzungsalarm nicht ausgelöst.

Wenn ich dieses Projekt überarbeiten würde, würde ich den Arduino Nano durch einen ATtiny85 und das Relais durch einen MOSFET ersetzen. Dies wäre ein viel kleinerer Formfaktor und würde es mir auch ermöglichen, PWM zur Steuerung der Lüftergeschwindigkeit zu verwenden.

Code

  • FanTempController
FanTempControllerC/C++
Arduino-Skizze, die den durchschnittlichen Temperaturmesswert eines DHT11-Sensors verwendet, um einen Lüfter über ein Relais einzuschalten.
 // Temperaturregler für A / V-Schrank // Der Lüfter wird über ein 10 A-Relais gesteuert, das an einen 12 V (Computer) oder 5 V angeschlossen ist (USB) Lüfter // Piezo-Alarm für abwechselnden Überhitzungsalarmint FANTEMP =95; // Hohe Temperatur, bei der sich der Lüfter einschaltet (90 * F)int ALARMTEMP =120; // Überhitzungstemperatur (120 * F)int FANLED =2; // Pin für Lüfter "on" LEDint TEMPOK =3; // LED für Temperatur unter FANTTEMPint ALARMLED =4; // Alarm-LED int ALARMPIN =7; // Akustischer Alarm bei Überhitzung // DHTPIN =8; (unten definiert)int FANPIN =9; // Relais für Lüfterschalter#include "DHT.h" // Geschrieben von ladyada, public domain#define DHTPIN 8 // DHT Sensor// Entkommentieren Sie welchen Typ Sie verwenden!#define DHTTYPE DHT11 // DHT 11 //# define DHTTYPE DHT22 // DHT 22 (AM2302) // #define DHTTYPE DHT21 // DHT 21 (AM2301) // Initialisiere DHT-Sensor für normales 16-MHz-ArduinoDHT dht (DHTPIN, DHTTYPE); // HINWEIS:Für die Arbeit mit einem schnelleren Chip, wie bei einem Arduino Due oder Teensy müssen Sie // möglicherweise den Schwellenwert für Zykluszahlen erhöhen, die als 1 oder 0 angesehen werden. // Sie können dies tun, indem Sie einen dritten Parameter für diesen Schwellenwert übergeben. Es ist ein bisschen// Fummelei, um den richtigen Wert zu finden, aber im Allgemeinen gilt:je schneller die CPU, desto// höher der Wert. Der Standardwert für einen 16-MHz-AVR ist ein Wert von 6. Für einen // Arduino Due, der mit 84 MHz läuft, funktioniert ein Wert von 30. // Beispiel zum Initialisieren des DHT-Sensors für Arduino Due://DHT dht(DHTPIN, DHTTYPE, 30);// Verwendete Messwerte für Averageconst int numReadings =10;// Setze Variablen auf Zerofloat avetemp =0; Schwimmertemperatur =0; Schwimmerprüfverzögerung =0; Void setup () { Serial.begin (9600); Serial.println ("Temp Monitor gestartet"); dht.begin(); PinMode (FANPIN, AUSGANG); pinMode (ALARMPIN, AUSGANG); pinMode (ALARMLED, AUSGANG); pinMode (GEFÜHRT, AUSGANG); pinMode (TEMPOK, AUSGANG); digitalWrite (FANPIN, HOCH); digitalWrite (GEFÜHRT, HOCH); digitalWrite (ALARMLED, HIGH); digitalWrite (TEMPOK, HOCH); for (int x =0; x <5; x++) {// Test Alarmton (ALARMPIN, 220 * x, 75); Verzögerung (100); } Serial.print ("Lüftertest gestartet (5 Sekunden)"); für (int x =0; x <5; x++) {Serial.print ("."); Verzögerung (1000); } Serial.println ( "Fertig"); digitalWrite (FANPIN, NIEDRIG); digitalWrite (GEFÜHRT, NIEDRIG); digitalWrite (ALARMLED, NIEDRIG); digitalWrite (TEMPOK, NIEDRIG); kein Ton (ALARMPIN); }void loop () { // Warten Sie einige Sekunden zwischen den Messungen. Verzögerung (2000); Temperatur =0; Serial.print ( "Echtzeittemperatur:\t"); for (int x =0; x 
 ALARMTEMP) { DigitalWrite (ALARMLED, HIGH); Serial.print ("Temperatur ist über"); Serial.print (ALARMTEMP); Serial.println ( "Alarm ist an"); for (int x =0; x <3; x++) {// Alarm für 5 Sekunden Ton (ALARMPIN, 660, 1000); // Der Lüfter sollte bereits ab der letzten Schleife laufen, wenn nicht, startet er direkt nach dem Alarmton delay (500); Ton (ALARMPIN, 440, 1000); Verzögerung (500); } kein Ton (ALARMPIN); Prüfverzögerung =30000; // Schalten Sie die normale 5-Minuten-Verzögerung auf 30 Sekunden um, bevor Sie die Schleife erneut durchlaufen. aufrechtzuerhalten. Else { DigitalWrite (ALARMLED, LOW); Serial.print ("Temperatur ist unter"); Serial.print (ALARMTEMP); Serial.println ( "Alarm ist aus"); Prüfverzögerung =300000; // Sofern die Temperatur nicht über 120 * F liegt, läuft der Lüfter 5 Minuten, bevor die Temperatur erneut überprüft wird} // Lüfter einschalten, wenn das Gehäuse warm ist if (avetemp>
 FANTEMP) { digitalWrite (FANPIN, HIGH); digitalWrite (GEFÜHRT, HOCH); digitalWrite (TEMPOK, NIEDRIG); Serial.print ("Temperatur ist über"); Serial.print (FANTEMP); Serial.print (, Lüfter ist an (für "); Serial.print (checkdelay / 1000 / 60); Serial.println ( "Minuten)"); Verzögerung (Checkdelay); // Mindestens 5 Minuten einschalten (es sei denn, der Alarm wird ausgelöst, dann wird er nach 30 Sekunden wiederholt) } else { DigitalWrite (FANPIN, LOW); digitalWrite (GEFÜHRT, NIEDRIG); digitalWrite (TEMPOK, HOCH); Serial.print ("Temperatur ist unter"); Serial.print (FANTEMP); Serial.println (", Lüfter ist aus"); // Wenn der Lüfter ausgeschaltet ist, wird die Temperatur alle 30 Sekunden gelesen} Serial.println (); Serial.println(); }

Schaltpläne


Herstellungsprozess

  1. PWM Power Controller
  2. Archiv
  3. Temperaturgesteuerter Lüfter
  4. Lüftervibrationsprobleme lösen
  5. Webbetriebener DMX-Controller
  6. Gerät zur Automatisierung von Videospielaufgaben
  7. Arduino-Gamecontroller
  8. Unopad - Arduino MIDI-Controller mit Ableton
  9. Vakuum-Fluoreszenz-Display-Controller
  10. Arduino Home Controller aktiviert von Alexa