Inhaltsverzeichnis:

Raspberry Pi Box mit Kühllüfter mit CPU-Temperaturanzeige - Gunook
Raspberry Pi Box mit Kühllüfter mit CPU-Temperaturanzeige - Gunook

Video: Raspberry Pi Box mit Kühllüfter mit CPU-Temperaturanzeige - Gunook

Video: Raspberry Pi Box mit Kühllüfter mit CPU-Temperaturanzeige - Gunook
Video: Raspberry Pi – CPU Temperatur auslesen und aufzeichnen | TUTORIAL | German - Deutsch 2024, Juli
Anonim
Raspberry Pi Box mit Kühllüfter mit CPU-Temperaturanzeige
Raspberry Pi Box mit Kühllüfter mit CPU-Temperaturanzeige

Ich hatte im vorherigen Projekt Himbeer-Pi (im Folgenden als RPI) CPU-Temperaturanzeigeschaltung eingeführt.

Die Schaltung zeigt einfach die verschiedenen CPU-Temperaturstufen von RPI 4 wie folgt an.

- Grüne LED leuchtet, wenn die CPU-Temperatur innerhalb von 30 bis 39 Grad liegt

- Gelbe LED zeigt an, dass die Temperatur im Bereich von 40 bis 45 Grad. erhöht wird

- 3. rote LED zeigt an, dass die CPU etwas heiß wird, wenn sie 46 ~ 49 Grad erreicht

- Eine weitere rote LED blinkt, wenn die Temperatur mehr als 50 Grad beträgt

***

Wenn die Temperatur mehr als 50 ° C überschreitet, ist jede Hilfe erforderlich, damit der kleine RPI nicht zu stark belastet wird.

Nach den Informationen, die ich auf mehreren Webseiten gesehen habe, die über das maximal tolerierbare Temperaturniveau von RPI sprechen, sind die Meinungen unterschiedlich, wie zum Beispiel jemand erwähnt, dass mehr als 60 ° C immer noch in Ordnung sind, wenn ein Kühlkörper verwendet wird.

Aber meine persönliche Erfahrung sagt etwas anderes, dass Übertragungsserver (mit RPI mit Kühlkörper) langsam werden und sich schließlich wie ein Zombie verhalten, wenn ich ihn mehrere Stunden lang einschalte.

Daher wird dieser zusätzliche Kreislauf und Kühllüfter hinzugefügt, um die CPU-Temperatur unter 50 ° C zu regulieren, um einen stabilen Betrieb von RPI zu unterstützen.

***

Auch die zuvor eingeführte CPU-Temperaturanzeigeschaltung (im Folgenden als INDICATOR) ist zusammen integriert, um eine bequeme Überprüfung des Temperaturniveaus zu unterstützen, ohne den Befehl „vcgencmd measure_temp“auf dem Konsolenterminal auszuführen.

Schritt 1: Vorbereiten von Schaltplänen

Vorbereiten von Schaltplänen
Vorbereiten von Schaltplänen

In zwei früheren Projekten hatte ich die vollständige Trennung der Stromversorgung zwischen RPI und externen Schaltkreisen erwähnt.

Im Falle des Kühllüfters ist eine unabhängige Stromversorgung sehr wichtig, da der DC-5V-Lüfter (Motor) relativ stark belastet und im Betrieb ziemlich laut ist.

Daher werden die folgenden Überlegungen zum Entwerfen dieser Schaltung betont.

- Optokoppler werden verwendet, um mit dem RPI GPIO-Pin verbunden zu werden, um das Aktivierungssignal des Kühlventilators zu erhalten

- Kein Strom von RPI bezogen und Verwendung eines üblichen Ladegeräts für Handtelefone als Stromquelle dieser Schaltung.

- LED-Anzeige wird verwendet, um den Betrieb des Kühlventilators zu informieren

- 5V-Relais wird zur mechanischen Aktivierung des Kühlventilators verwendet

***

Diese Schaltung arbeitet mit der CPU-Temperaturanzeigeschaltung (im Folgenden INDICATOR) mittels Python-Programmsteuerung zusammen.

Wenn die ANZEIGE zu blinken beginnt (Temperatur über 50 °C), beginnt dieser Kühllüfterkreislauf zu arbeiten.

Schritt 2: Teile vorbereiten

Wie bei anderen früheren Projekten werden sehr gängige Komponenten für die Herstellung des Lüfterkreislaufs verwendet, wie unten aufgeführt.

- Optokoppler: PC817 (SHARP) x 1

- 2N3904 (NPN) x 1, BD139 (NPN) x 1

- TQ2-5V (Panasonic) 5V Relais

- 1N4148 Diode

- Widerstände (1/4 Watt): 220 Ohm x 2 (Strombegrenzung), 2,2 K (Transistorschaltung) x 2

- LED x 1

- 5V Kühllüfter 200mA

- Universalplatine mit mehr als 20 (W) mal 20 (H) Lochgröße (Sie können jede beliebige Größe der Universalplatine auf die Schaltung zuschneiden)

- Zinndraht (Weitere Informationen zur Verwendung von Zinndraht finden Sie in meinem Projektposting "Raspberry Pi Shutdown Indicator")

- Kabel (rotes und blaues gemeinsames Einzeladerkabel)

- Jedes Handtelefon-Ladegerät 220V Eingang und 5V Ausgang (USB Typ B Stecker)

- Stiftkopf (3 Stifte) x 2

***

Die physischen Abmessungen des Kühllüfters sollten klein genug sein, um auf der Oberseite des RPI montiert zu werden.

Jeder Relaistyp kann verwendet werden, wenn er mit 5 V betrieben werden kann und mehr als einen mechanischen Kontakt hat.

Schritt 3: PCB-Zeichnung erstellen

Erstellen von PCB-Zeichnungen
Erstellen von PCB-Zeichnungen

Da die Anzahl der Komponenten gering ist, ist die erforderliche universelle PCB-Größe nicht groß.

Bitte achten Sie auf die Pin-Polarität von TQ2-5V wie im Bild oben gezeigt. (Entgegen der herkömmlichen Denkweise ist das tatsächliche Plus/Boden-Layout umgekehrt angeordnet)

Persönlich habe ich ein unerwartetes Problem nach dem Löten aufgrund der (im Vergleich mit anderen Relaisprodukten) umgekehrt angeordneten Polaritätsstifte von TQ2-5V.

Schritt 4: Löten

Löten
Löten

Da die Schaltung selbst recht einfach ist, ist das Verdrahtungsmuster nicht sehr komplex.

Ich schraube die "L" -förmige Montagehalterung an, um die Leiterplatte in aufrechter Richtung zu fixieren.

Wie Sie später sehen können, ist das Acrylchassis, das alles montiert, etwas klein bemessen.

Daher ist ein kleinerer Footprint erforderlich, da Acrylchassis mit PCBs und anderen Unterteilen sehr überfüllt sind.

LED befindet sich auf der Vorderseite, um den Betrieb des Lüfters leicht zu erkennen.

Schritt 5: Herstellung und Montage des Kühlerlüfters

Herstellung und Montage von Cooling FAN HAT
Herstellung und Montage von Cooling FAN HAT

Ich nehme an, Universal-PCB ist ein sehr nützliches Teil, das für verschiedene Verwendungszwecke verwendet werden kann.

Der Kühllüfter wird auf einer Universalplatine montiert und mit Schrauben und Muttern montiert und befestigt.

Um den Luftstrom zu ermöglichen, mache ich ein großes Loch, indem ich eine Leiterplatte bohre.

Auch zum einfachen Einstecken von Überbrückungskabeln wird der GIPO 40-Pin-Bereich durch Schneiden der Leiterplatte geöffnet.

Schritt 6: Leiterplatten zusammenbauen

Leiterplatten bestücken
Leiterplatten bestücken

Wie oben erwähnt, hatte ich geplant, zwei verschiedene Schaltkreise zu einer einzigen Einheit zusammenzufassen.

Der zuvor erstellte CPU-Temperaturanzeigekreis wird mit dem neuen Kühllüfterkreis zusammengeführt, wie in der Abbildung oben gezeigt., Alles ist in einem transparenten und kleinen (15 cm B x 10 cm T) Acrylchassis verpackt.

Obwohl etwa die Hälfte des Gehäuseraums leer und verfügbar ist, werden später zusätzliche Komponenten auf dem verbleibenden Platz untergebracht.

Schritt 7: RPI mit Schaltkreisen verdrahten

Verdrahtung von RPI mit Schaltkreisen
Verdrahtung von RPI mit Schaltkreisen

Zwei Stromkreise werden mit RPI isoliert über Optokoppler miteinander verbunden.

Auch wird kein Strom vom RPI gezogen, da das externe Ladegerät für das Handtelefon die Schaltkreise mit Strom versorgt.

Später werden Sie wissen, dass sich diese Art von isoliertem Schnittstellenschema auszahlt, wenn später zusätzliche Komponenten mehr in das Acrylgehäuse integriert werden.

Schritt 8: Python-Programmsteuerung aller Schaltkreise

Python-Programmsteuerung aller Schaltkreise
Python-Programmsteuerung aller Schaltkreise

Aus dem Quellcode der CPU-Temperaturanzeigeschaltung ist nur ein geringfügiges Hinzufügen von Code erforderlich.

Wenn die Temperatur 50 °C überschreitet, beginnen zwanzig (20) Iterationen mit dem Einschalten des Lüfters für 10 Sekunden und dem Ausschalten für 3 Sekunden.

Da der kleine Motor des FAN während des Betriebs maximal 200 mA Strom benötigt, wird die Motoraktivierungsmethode PWM (Pulsweitenmodulation) verwendet, um das Ladegerät für Mobiltelefone weniger zu belasten.

Der geänderte Quellcode ist wie folgt.

***

#-*- Kodierung:utf-8 -*-

##

import subprocess, signal, sys

Importzeit, re

importiere RPi. GPIO als g

##

A = 12

B = 16

LÜFTER = 25

##

g.setmode (g. BCM)

g.setup(A, g. OUT)

g.setup(B, g. OUT)

g.setup (LÜFTER, g. OUT)

##

def signal_handler(sig, frame):

print('Du hast Strg+C gedrückt!')

g. Ausgabe (A, Falsch)

g. Ausgabe (B, Falsch)

g. Ausgang (LÜFTER, Falsch)

f.schließen()

sys.exit(0)

signal.signal(signal. SIGINT, signal_handler)

##

während Wahr:

f = open('/home/pi/My_project/CPU_temperature_log.txt', 'a+')

temp_str = subprocess.check_output('/opt/vc/bin/vcgencmd measure_temp', shell=True)

temp_str = temp_str.decode(encoding = 'UTF-8', error = 'strict')

CPU_temp = re.findall("\d+\.\d+", temp_str)

# Extrahieren der aktuellen CPU-Temperatur

##

current_temp = float(CPU_temp[0])

wenn aktuelle_temp > 30 und aktuelle_temp < 40:

# Temperatur niedrig A=0, B=0

g. Ausgabe (A, Falsch)

g. Ausgabe (B, Falsch)

Zeit. Schlaf(5)

elif current_temp >= 40 und current_temp < 45:

# Temperatur Medium A=1, B=0

g. Ausgabe (A, Wahr)

g. Ausgabe (B, Falsch)

Zeit. Schlaf(5)

elif current_temp >= 45 und current_temp < 50:

# Temperatur hoch A=0, B=1

g. Ausgabe (A, Falsch)

g. Ausgabe (B, Wahr)

Zeit. Schlaf(5)

elif aktuelle_temp >= 50:

# CPU-Kühlung ist erforderlich hoch A=1, B=1

g. Ausgabe (A, Wahr)

g. Ausgabe (B, Wahr)

für i im Bereich (1, 20):

g. Ausgang (LÜFTER, wahr)

Zeit. Schlaf(10)

g. Ausgang (LÜFTER, Falsch)

Zeit. Schlaf(3)

aktuelle_Zeit = Zeit. Zeit()

formated_time = time.strftime("%H:%M:%S", time.gmtime(current_time))

f.write(str(formated_time)+'\t'+str(current_temp)+'\n')

f.schließen()

##

Da die Betriebslogik dieses Python-Codes der der CPU-Temperaturanzeigeschaltung fast ähnlich ist, werde ich hier keine Details wiederholen.

Schritt 9: Betrieb des Lüfterkreises

Betrieb des Lüfterkreises
Betrieb des Lüfterkreises

Bei Betrachtung des Diagramms liegt die Temperatur über 50 °C ohne FAN-Schaltung.

Es scheint, dass die durchschnittliche CPU-Temperatur bei etwa 40 bis 47 ° C liegt, während RPI in Betrieb ist.

Bei starker Systemlast, wie z. B. beim Abspielen von Youtube im Webbrowser, steigt die Temperatur normalerweise schnell auf bis zu 60 ° C an.

Aber mit FAN-Schaltung wird die Temperatur durch den Betrieb des Kühl-FAN innerhalb von 5 Sekunden auf weniger als 50 °C gesenkt.

Infolgedessen können Sie RPI den ganzen Tag lang einschalten und alle gewünschten Arbeiten ausführen, ohne sich über Überhitzung Gedanken machen zu müssen.

Schritt 10: Weiterentwicklung

Weitere Entwicklung
Weitere Entwicklung

Wie Sie sehen, ist die Hälfte des Acrylchassis leer geblieben.

Ich werde dort zusätzliche Komponenten einfügen und diesen Basisblock der RPI-Box zu etwas Nützlicherem erweitern.

Natürlich bedeutet mehr Addition auch eine etwas höhere Komplexität.

Wie auch immer, ich integriere in diesem Projekt zwei Schaltungen in eine einzige Box.

Danke, dass du diese Geschichte gelesen hast.

Empfohlen: