Aus Raspberry Pi Geek 08/2022

Temperaturabhängige Lüftersteuerung per PWM (Seite 2)

Listing 2

Lüfter ansteuern

### Lüfter an
$ pigs w 4 1
### Lüfter aus
$ pigs w 4 0
### PWM auf 8 KHz
$ pigs pfs 4 8000
### PWM aus
$ pigs p 4 0
### PWM 100 Prozent
$ pigs p 4 255
### PWM langsamste Drehzahl
$ pigs p 4 70
### PWM etwa 50 Prozent
$ pigs p 4 180

Nun lässt sich der Lüfter zwar per GPIO ansteuern, doch stellt sich die Frage, anhand welchen Messwerts das erfolgen soll. Hier hilft der Linux-Kernel des Raspberry Pi weiter: Die Temperatur der CPU lässt sich mit dem schlichten Kommando aus der zweiten Zeile von Listing 3 auslesen. Auf dieser Grundlage steuert das Skript den Lüfter abhängig von der CPU-Temperatur stufenweise an. Bei 50 Grad Celsius läuft der Lüfter langsam an, bei mehr als 60 Grad Celsius schaltet er auf volle Drehzahl. Die Lüftung schaltet ab, sobald die Temperatur unter 40 Grad Celsius fällt. Die Werte lassen sich an die jeweiligen Bedürfnisse anpassen.

Listing 3

Lüfter automatisch ansteuern

#!/bin/bash
TEMP=$(cat /sys/class/thermal/thermal_zone0/temp)
RV=$(pigs pfs 4 8000)
if (( $TEMP > 50000))
then
  pigs p 4 70
fi
if (( $TEMP > 60000))
then
  pigs p 4 255
fi
if (( $TEMP < 40000))
then
  pigs p 4 0
fi

Das Skript führen Sie nun über einen Cron-Job aus, der jede Minute die Temperatur misst und entsprechend reagiert – schon haben Sie eine temperaturabhängige Lüftersteuerung. Alles in allem ist das schon eine recht gute Lösung für das eingangs beschriebene Problem. Nach wie vor übernimmt aber ein minderwertiger Lüfter die Kühlung. Daher sehen wir uns im nächsten Abschnitt an, wie sich ein richtig guter Lüfter ansteuern lässt.

Die Luxusvariante

Geht es darum, einen PC leise aktiv zu kühlen, empfehlen sich die Geräte der Firma Noctua als erste Wahl. Wie immer im Leben kostet gute Qualität mehr Geld. Das für den Raspberry geeignete Modell NF-A4x10 [2] schlägt mit etwa 15 Euro zu Buche. Dafür beträgt die Herstellergarantie für den Lüfter allerdings auch 6 Jahre. Die Produktwebseite fasst alle wissenswerten Daten zum NF-A4x10 zusammen [3]. Falls Sie sich für die genauen technischen Werte des Quirls interessieren, werden Sie im White Paper [4] dazu fündig.

Um den Noctua-Lüfter mit dem RasPi anzusteuern, benötigen Sie auch eine kleine Elektronik, die aber nur das PWM-Signal über einen Open-Collector-Ausgang an den Lüfter weitergibt. Bei einer Verbindung darüber spielen unterschiedliche Betriebsspannungspegel der verschiedenen Geräte keine Rolle. Den zugehörigen Schaltplan zeigt Abbildung 4.

Abbildung 4: Der Schaltplan des Steuermoduls f&uuml;r den Noctua-L&uuml;fter NF-A4x10.

Abbildung 4: Der Schaltplan des Steuermoduls für den Noctua-Lüfter NF-A4x10.

Weil er sich in der Grabbelkiste fand, kommt hier wieder der Transistor BC337-40 zum Zug, auch wenn er für diesen Anwendungsfall überdimensioniert ist. Der Noctua-Lüfter selbst bringt eine Elektronik mit, die das PWM-Signal auswertet und den Lüfter entsprechend ansteuert. Dadurch lässt sich die Drehzahl des Motors viel feiner steuern als bei unserem ersten Versuch.

Obwohl der Lüfter laut Dokumentation ein PWM-Signal mit 25 kHz benötigt, kommt er auch sehr gut mit den 8 kHz der Hardware-PWM des RasPi zurecht. Den Raspberry Pi dazu zu überreden, ein 25-kHz-Signal zu liefern, erweist sich als schwierige Aufgabe. Da der Open-Collector-Eingang das Signal invertiert, gilt es, die Werte für den Versuch etwas anzupassen (Listing 4). Ihnen fällt sicher auf, dass die Spanne, in der sich das PWM-Signal verarbeiten lässt, hier viel größer ausfällt als bei den Tests mit den günstigen Lüftern. Die geförderte Luftmenge liegt deutlich höher, und das bei einer erheblich geringeren Geräuschentwicklung.

Listing 4

Angepasste Werte

### PWM auf 8 kHz
$ pigs pfs 4 8000
### PWM aus
$ pigs p 4 255
### PWM 100 Prozent
$ pigs p 4 0
### PWM langsamste Drehzahl
$ pigs p 4 244
### PWM etwa 50 Prozent
$ pigs p 4 122

Um den Noctua zu betreiben, passen Sie einfach das Skript aus dem ersten Versuch entsprechend an. Alternativ dazu gibt es Projekte bei Github, die passenden Code bereitstellen. Der in Python geschriebene Code des Raspberry-Pi-PWM-Fan-Control [5] lässt sich leicht anpassen und errechnet das PWM-Signal anhand der Temperatur. Die Lösung arbeitet eleganter als die einfache Schaltschwelle aus Listing 3.

Fazit

Wer seinen RasPi 4 bis an die Grenzen auslasten möchte, kommt um eine aktive Lüftung nicht herum. Die günstigen Lüfter, die den Gehäusen beiliegen, lassen sich selbst mit zusätzlicher Elektronik und trickreicher Programmierung nicht besonders gut an die Kühlbedürfnisse des Raspberry Pi anpassen.

Mit einem etwas teureren Lüfter fahren Sie auf jeden Fall besser, zumal er vermutlich auch mehrere Raspberry-Generationen überlebt. Der Autor wünscht Ihnen viel Spaß bei Basteleien mit den Pi – und immer schön cool bleiben! (tle)

Der Autor

Martin Mohr erlebte die komplette Entwicklung der modernen Computertechnik live mit. Nach dem Studium entwickelte er überwiegend Java-Applikationen. Mit dem Raspberry Pi erwachte seine alte Liebe zur Elektronik wieder.

DIESEN ARTIKEL ALS PDF KAUFEN
EXPRESS-KAUF ALS PDFUmfang: 4 HeftseitenPreis €0,99
(inkl. 19% MwSt.)
RASPBERRY PI GEEK KAUFEN
EINZELNE AUSGABE Print-Ausgaben Digitale Ausgaben
ABONNEMENTS Print-Abos Digitales Abo
TABLET & SMARTPHONE APPS Raspberry Pi Geek bei Google Play Readly Logo
Nach oben