Inhaltsverzeichnis:

Temperaturregelung mit Arduino- und PWM-Lüftern - Gunook
Temperaturregelung mit Arduino- und PWM-Lüftern - Gunook

Video: Temperaturregelung mit Arduino- und PWM-Lüftern - Gunook

Video: Temperaturregelung mit Arduino- und PWM-Lüftern - Gunook
Video: Lüftersteuerung temperaturgeregelt über einen Arduino einfach zum nachbauen 2024, November
Anonim
Temperaturregelung mit Arduino- und PWM-Lüftern
Temperaturregelung mit Arduino- und PWM-Lüftern
Temperaturregelung mit Arduino- und PWM-Lüftern
Temperaturregelung mit Arduino- und PWM-Lüftern
Temperaturregelung mit Arduino- und PWM-Lüftern
Temperaturregelung mit Arduino- und PWM-Lüftern

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

Wie es funktioniert
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

Was ich verwendet habe
Was ich verwendet habe
Was ich verwendet habe
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

Der Fall
Der Fall
Der Fall
Der Fall
Der Fall
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

Elektronik
Elektronik
Elektronik
Elektronik
Elektronik
Elektronik
Elektronik
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: