Projekt : Raspberry Pi 4B - die Suche nach geeigneter Kühlung (Teil 1)

Der Raspberry 4B ist ein "heisses Teil". Im Zusammenhang mit dem Ubuntu-Mate Projekt habe auch ich festgestellt, dass eine aktive Kühlung unumgänglich ist. Die angebotenen Kühlkörper oder sogar ein Alugehäuse (siehe oben Bild 2 und 3) reichen nicht aus.

Um das selbst zu überprüfen lesen wir zunächst einmal die CPU-Temperatur aus. Normalerweise geht das in Raspbian mit dem Tool 'vcgencmd'. Im Terminal gibt man z.B. folgende Zeile ein:

Damit wird die CPU-Temperatur alle 15 sec gelesen und ausgegeben, bis man den Vorgang mit STRG + C beendet. Unter Ubuntu ist 'vcgencmd' nicht verfügbar, deshalb entnehmen wir die CPU-Temperatur aus der Datei /sys/class/thermal/thermal_zone0/temp. Ich gebe dafür ein kleines Pythonscript an, welches später bei der Lüftersteuerung noch genutzt wird. Wir legen dafür die Datei temp_01.py an: und tragen den folgenden Inhalt ein:

Anschliessend mit STRG + O speichern und mit STRG + X schliessen. Dann wird das Pythonscript gestartet: Man bekommt die nachfolgende Ausgabe. Beendet wird die Scriptausführung mit STRG + C .

Sie können das komplette Script auch mit wget auf ihren Raspberry herunterladen. Geben Sie dazu folgende Zeile in der Konsole ein

Kommen wir nun zur Lüftersteuerung.

Abschliessendes Ziel ist es, dass der Lüfter bei einer festgelegten CPU-Temperatur startet, dann die CPU herunter kühlt und danach automatisch abschaltet.

Vorbemerkung

Meine Tests haben gezeigt, dass der Kühleffekt bei allen Varianten am effektivsten ist, wenn die Luft in Richtung der Platine geblasen wird. Ein Absaugen der erwärmten Luft bei offenem Gehäuse findet kaum statt. Da die Lüftermotoren sich aufgrund ihrer Konstruktion nur bei 'richtiger' Polarität drehen, kann man die Drehrichtung nicht ändern. Deshalb prüft man einfach, wie herum das Lüftergehäuse aufzusetzen ist.

Variante 1

Im einfachsten Fall ( ist noch keine Steuerung) verwendet man für ca. 3 Euro einen 5V-Lüfter und verbindet ihn mit Pin 4 (+5V) und Pin 6 (Masse) der 40-poligen GPIO-Leiste des Raspberry (siehe Bilder 1 und 2 unten).

Der Lüfter läuft ständig, solange der Raspberry mit Spannung versorgt wird. (Ich würde den Lüfteranschluss nicht im laufenden Betrieb anstecken oder entfernen, um dem Raspberry keine Lastspitzen zuzumuten). Parallel zum Lüfter lassen Sie das Pythonscript von oben laufen und können so den Temperaturverlauf am Monitor verfolgen.

Variante 2

Lüftersteuerung Raspberry Pi Kit von CodingWorld. Grundsätzlich ist zu sagen, dass das Kit

für knapp 20 Euro recht teuer ist. Auch ist es in erster Linie gedacht, entsprechende Experimente durchzuführen. So wird im Anleitungheft z.B. der Anschluss von LEDs an die GPIO sehr gut erläutert und ist deshalb für Neueinsteiger gut geeignet. Was hingegen gänzlich fehlt, ist eine Anleitung zum Aufbau der kompletten Schaltung. Es gibt zwar zwei Fotos, die das fertige Bauteil zeigen, aber keine Bauanleitung. Von Nachteil ist auch, dass die Grundplatte aus dem 3-D Drucker kommt und keine Leiterplatte ist, auf der die Bauelemente verlötet werden können. So ist eine 'Freiverdrahtung' erforderlich, die etwas billig wirkt. Immerhin, es funktioniert alles. Ich habe den 12 Volt Lüfter (sollte laut Teileliste eigentlich 5 Volt sein) an die 5 Volt des Raspberry angeschlossen, wodurch sich die Drehzahl stark verringert. Dadurch läuft der Lüfter aber sehr leise. Die Kühlung funktioniert trotzdem noch ausreichend. Es wird nun das Pythonscript ergänzt, damit der Lüftermotor und die LEDs gesteuert werden.

Die rot dargestellten Zeilen sind hinzu gekommen. Einige Zeilen, die nicht mehr gebraucht werden sind auskommentiert.

Die Änderungen wieder mit STRG + O speichern und mit STRG + X schliessen. Beachten Sie die Einrückungen, die bei der Python Syntax erforderlich sind. Sie können das komplette Script wieder mit wget auf ihren Raspberry herunterladen. Geben Sie dazu folgende Zeile in der Konsole ein: Beschreibung der Funktionsweise:
- Temp < 40 Grad: Lüfter aus, grüne LED leuchtet.
- Zwischen 40 und 60 Grad: Lüfter zunächst noch aus, gelbe LED leuchtet.
- Temp > 60 Grad: Lüfter an, rote LED leuchtet.
- Temp < 60 und > 40 Grad: Lüfter an, gelbe LED leuchtet
- Temp < 40 Grad: Lüfter aus, grüne LED leuchtet.
Der Vorgang wiederholt sich.

Die Temperaturwerte zum Ein- und Ausschalten können beliebig im Script angepasst werden. Im Test haben sich die angegeben Werte sehr gut bewährt. Bei Videowiedergabe mit dem VLC-Player z.B. stiegt die CPU-Temperatur ohne Lüfter innerhalb von 20s auf 75 bis 81 Grad Celsius. Der Lüfter schaffte es mühelos, die Temperatur auf ca. 57 Grad zu halten. Nach Videoende sank dann die Temperatur sehr schnell wieder auf ca. 40 Grad ab.

In einem 2. Teil werden weitere Varianten vorgestellt. Unter anderem legen wir einen Systemd-Service zur automatischen Ausführung beim Start an und testen das 'Melopero Fan HAT for Raspberry Pi 4' für ca. 15 Euro.

Hier geht es weiter zum Teil 2


Viel Spass und Erfolg beim Ausprobieren.