Inhaltsverzeichnis:
- Schritt 1: Wie es funktioniert
- Schritt 2: Was ich verwendet habe
- Schritt 3: Der Fall
- Schritt 4: Elektronik
- Schritt 5: Der Code
- Schritt 6: Fazit
Video: Temperaturregelung mit Arduino- und PWM-Lüftern - Gunook
2024 Autor: John Day | [email protected]. Zuletzt bearbeitet: 2024-01-30 07:21
Temperaturregelung mit PID auf Arduino- und PWM-Lüftern für DIY-Server-/Netzwerk-Rack-Kühlung
Vor ein paar Wochen musste ich ein Rack mit Netzwerkgeräten und ein paar Servern aufbauen.
Das Rack steht in einer geschlossenen Garage, daher ist die Temperaturspanne zwischen Winter und Sommer ziemlich hoch und auch Staub könnte ein Problem sein.
Beim Durchstöbern des Internets nach Kühllösungen stellte ich fest, dass diese, zumindest an meiner Stelle, ziemlich teuer sind: >100€ für 4 230V Deckenventilatoren mit Thermostatsteuerung. Der Thermostatantrieb hat mir nicht gefallen, weil er im eingeschalteten Zustand viel Staub ansaugt, weil die Lüfter auf volle Leistung laufen und im ausgeschalteten Zustand überhaupt keine Belüftung bietet.
Da ich mit diesen Produkten unzufrieden war, beschloss ich, den DIY-Weg zu gehen und etwas zu bauen, das eine bestimmte Temperatur reibungslos aufrechterhalten kann.
Schritt 1: Wie es funktioniert
Um es einfacher zu machen, habe ich mich für DC-Fans entschieden: Sie sind viel leiser als AC-Lüfter, während sie etwas weniger leistungsstark sind, aber sie sind immer noch mehr als genug für mich.
Das System verwendet einen Temperatursensor, um vier Lüfter zu steuern, die von einem Arduino-Controller angetrieben werden. Der Arduino drosselt die Lüfter mit PID-Logik und treibt sie über PWM an.
Temperatur und Lüftergeschwindigkeit werden über eine 8-stellige 7-Segment-Anzeige angezeigt, die auf einer im Rack montierten Aluminiumleiste montiert ist. Neben dem Display gibt es zwei Tasten zum Einstellen der Solltemperatur.
Schritt 2: Was ich verwendet habe
Hinweis: Ich habe versucht, dieses Projekt mit Dingen zu realisieren, die ich im Haus hatte, daher kann nicht alles ideal sein. Budget war ein Problem.
Hier die von mir verwendeten Komponenten:
-
Hardware
- Eine Acrylplatte: als Basis verwendet (1,50 €);
- Vier 3,6x1cm L-förmige PVC-Profile (€ 4,00);
- Eine Aluminiumplatte: 19" in der Breite geschnitten (3,00 €);
-
Elektronik
- Vier 120-mm-PWM-Lüfter: Ich habe mich für Arctic F12 PWM PST entschieden, weil ich sie parallel stapeln kann (4x 8,00 €);
- One Pro Micro: Jedes mit ATMega 32u4 betriebene Board sollte mit meinem Code gut funktionieren (€ 4,00);
- Eine Relaisplatine: zum Abschalten der Lüfter, wenn sie nicht benötigt werden (1,50 €);
- Ein 8-stelliges 7-Segment-Anzeigemodul MAX7219 (€ 2,00);
- Drei Taster, 1 für Reset (€ 2,00);
- Ein 3A Netzschalter (€ 1,50);
- Eine LAN-Kabelkupplung: zum einfachen Trennen der Hauptbaugruppe vom Display (€ 2,50);
- Ein 5V und 12V Netzteil mit zwei Ausgängen: Sie können 2 getrennte Netzteile verwenden oder ein 12V mit einem Abwärtswandler auf 5V (€ 15,00);
- Kabel, Schrauben und andere Kleinteile (€ 5,00);
Gesamtkosten: 74,00 € (wenn ich alle Komponenten bei Ebay/Amazon kaufen müsste).
Schritt 3: Der Fall
Das Gehäuse besteht aus 4 dünnen L-förmigen Kunststoffprofilen, die auf eine Acrylplatte geklebt und vernietet sind.
Alle Komponenten der Box sind mit Epoxid verklebt.
Vier 120-mm-Löcher sind in das Acryl geschnitten, um die Lüfter anzupassen. Ein zusätzliches Loch wird geschnitten, um die Thermometerkabel durchzulassen.
Auf der Vorderseite befindet sich ein Netzschalter mit einer Kontrollleuchte. Links führen zwei Löcher das Frontpanel-Kabel und das USB-Kabel heraus. Zur einfacheren Programmierung wurde ein zusätzlicher Reset-Knopf hinzugefügt (der Pro Micro hat keinen Reset-Knopf, und manchmal ist er nützlich, um ein Programm darauf hochzuladen).
Die Box wird von 4 Schrauben gehalten, die durch die Löcher der Acrylbasis gehen.
Die Frontplatte besteht aus einer gebürsteten Aluminiumplatte, die auf eine Breite von 19 und eine Höhe von ~4cm geschnitten ist. Das Display-Loch wurde mit einem Dremel und die anderen 4 Löcher für Schrauben und Knöpfe mit einem Bohrer hergestellt.
Schritt 4: Elektronik
Die Steuerplatine ist ziemlich einfach und kompakt. Während der Erstellung des Projekts habe ich herausgefunden, dass wenn ich 0% PWM an die Lüfter liefere, sie mit voller Geschwindigkeit laufen. Um das Drehen der Lüfter vollständig zu stoppen, habe ich ein Relais hinzugefügt, das die Lüfter abschaltet, wenn sie nicht benötigt werden.
Die Frontplatte ist über ein Netzwerkkabel mit der Platine verbunden, das mit Hilfe eines Kabelkopplers einfach vom Hauptgehäuse gelöst werden kann. Die Rückseite des Paneels besteht aus einem 2,5x2,5-Elektrorohr und wird mit doppelseitigem Klebeband am Paneel befestigt. Das Display wird ebenfalls mit Klebeband am Panel befestigt.
Wie Sie in den Schaltplänen sehen können, habe ich einige externe Pullup-Widerstände verwendet. Diese bieten einen stärkeren Pullup als die Arduinos.
Die Fritzing-Schaltpläne finden Sie in meinem GitHub-Repository.
Schritt 5: Der Code
Intels Spezifikation für 4-Pin-Lüfter schlägt eine Ziel-PWM-Frequenz von 25 kHz und einen akzeptablen Bereich von 21 kHz bis 28 kHz vor. Das Problem ist, dass die Standardfrequenz von Arduino 488 Hz oder 976 Hz beträgt, aber der ATMega 32u4 ist perfekt in der Lage, höhere Frequenzen zu liefern, sodass wir ihn nur richtig einrichten müssen. Ich habe auf diesen Artikel über die PWM des Leonardo verwiesen, um den vierten Timer auf 23437 Hz zu takten, was am nächsten an 25 kHz liegt.
Ich habe verschiedene Bibliotheken für das Display, den Temperatursensor und die PID-Logik verwendet.
Den vollständigen aktualisierten Code finden Sie in meinem GitHub-Repository.
Schritt 6: Fazit
Hier ist es also! Ich muss bis diesen Sommer warten, um es tatsächlich in Aktion zu sehen, aber ich bin ziemlich zuversichtlich, dass es gut funktionieren wird.
Ich plane, ein Programm zu erstellen, um die Temperatur von dem USB-Anschluss zu sehen, den ich an einen Raspberry Pi angeschlossen habe.
Ich hoffe, dass alles verständlich war, wenn nicht, lass es mich wissen und ich werde es besser erklären.
Vielen Dank!
Empfohlen:
Heimwerken -- Einen Spinnenroboter herstellen, der mit einem Smartphone mit Arduino Uno gesteuert werden kann – wikiHow
Heimwerken || Wie man einen Spider-Roboter herstellt, der mit einem Smartphone mit Arduino Uno gesteuert werden kann: Während man einen Spider-Roboter baut, kann man so viele Dinge über Robotik lernen. Wie die Herstellung von Robotern ist sowohl unterhaltsam als auch herausfordernd. In diesem Video zeigen wir Ihnen, wie Sie einen Spider-Roboter bauen, den wir mit unserem Smartphone (Androi
Bewegungsaktivierte Cosplay Wings mit Circuit Playground Express - Teil 1: 7 Schritte (mit Bildern)
Bewegungsaktivierte Cosplay-Flügel mit Circuit Playground Express - Teil 1: Dies ist Teil 1 eines zweiteiligen Projekts, in dem ich Ihnen meinen Prozess zur Herstellung eines Paars automatisierter Feenflügel zeige. Der erste Teil des Projekts ist der Mechanik der Flügel, und der zweite Teil macht es tragbar und fügt die Flügel hinzu
Schnittstellentastatur mit Arduino. [Einzigartige Methode]: 7 Schritte (mit Bildern)
Schnittstellentastatur mit Arduino. [Einzigartige Methode]: Hallo, und willkommen zu meinem ersten instructable! :) In diesem instructables möchte ich eine fantastische Bibliothek für die Schnittstelle der Tastatur mit Arduino teilen - 'Password Library' einschließlich 'Keypad Library'. Diese Bibliothek enthält die besten Funktionen, die wir wi
SCARA-Roboter: Lernen über Vorwärts- und inverse Kinematik !!! (Plot Twist Erfahren Sie, wie Sie mit PROCESSING eine Echtzeitschnittstelle in ARDUINO erstellen !!!!): 5 Schritte (mit Bildern)
SCARA-Roboter: Lernen über Vorwärts- und inverse Kinematik !!! (Plot Twist Learn How to Make a Real Time Interface in ARDUINO Using PROCESSING !!!!): Ein SCARA-Roboter ist eine sehr beliebte Maschine in der Industriewelt. Der Name steht sowohl für Selective Compliant Assembly Robot Arm als auch für Selective Compliant Articulated Robot Arm. Es ist im Grunde ein Roboter mit drei Freiheitsgraden, da er die ersten beiden Displ
Einfaches BLE mit sehr geringem Stromverbrauch in Arduino Teil 3 - Nano V2-Ersatz - Rev 3: 7 Schritte (mit Bildern)
Einfaches BLE mit sehr geringem Stromverbrauch in Arduino Teil 3 - Nano V2-Ersatz - Rev 3: Update: 7. April 2019 - Rev 3 von lp_BLE_TempHumidity, fügt Datums- / Zeitdiagramme mit pfodApp V3.0.362+ hinzu und automatische Drosselung beim Senden von DatenUpdate: 24. März 2019 – Rev 2 von lp_BLE_TempHumidity, fügt weitere Plotoptionen hinzu und i2c_ClearBus, fügt GT832E