Aus Raspberry Pi Geek 08/2022

Temperaturabhängige Lüftersteuerung per PWM

© Valentyn Volkov / 123RF.com

Keep cool

Martin Mohr

Ein Raspberry Pi 4 benötigt unter Volllast eine aktive Kühlung. Daher liegt vielen RasPi-Starter-Kits bereits ein Lüfter bei. Dessen Wirkung lässt sich mit intelligenter Ansteuerung optimieren.

Der Raspberry Pi entwickelt sich mittlerweile zu einem “heißen Typen”, den Sie aktiv kühlen müssen. Daher liegen vielen Starterkits Kühlkörper und ein Lüfter bei. Die Grundidee dahinter: Man schließt den Lüfter einfach an den 5-Volt-Anschluss der GPIO an, und alles wird gut. Allerdings ist dem nicht so.

Bei den beigelegten Lüftern handelt es sich meist um minderwertige Ware. Sie laufen so laut, dass man es nicht längere Zeit mit ihnen in einem Raum aushält. Um hier ein wenig Abhilfe zu schaffen, stecken Sie den Lüfter an den 3,3-Volt-Anschluss der GPIO. Der Elektroniker fühlt sich dabei nicht besonders wohl, einen Elektromotor an die Versorgungsspannung eines Kleincomputers zu hängen. Abstürze durch Störungen sind hier nur eines von vielen möglichen Problemen.

Erschwerend kommt hinzu, dass der RasPi die meiste Zeit gar keine aktive Kühlung benötigt und der Lüfter eine Pause machen könnte. Erst ab einer Temperatur von 70 Grad Celsius regelt der RasPi die Leistung der CPU herunter, um die Hardware zu schützen. Hinzu kommt: Sobald man einen Lüfter an den GPIO-Port stöpselt, passt kein Flachbandstecker mehr darauf. Zusammengefasst lässt sich feststellen: Es muss eine bessere Lösung her.

Die Lösung

Es gibt viele Ansätze, die dabei helfen, den Raspberry Pi kühl zu halten. Als Erstes helfen Sie dem Problem ab, dass der vierzigpolige Stecker nicht mehr auf die GPIO passt, sobald der Lüfter daran steckt. Abhilfe schafft hier eine kreativ selbst gequetschte Flachbandleitung (Abbildung 1). Die Idee besteht darin, die komplette GPIO so aus dem Gehäuse herauszuführen, dass sich die ersten zehn Pins zusätzlich im Gehäuse verwenden lassen.

Auf den fraglichen Pins liegen 5 Volt, 3,3 Volt und Masse. Zusätzlich stehen noch fünf GPIO-Ports zur freien Verfügung. Darauf befinden sich der UART, die I2C-Schnittstelle und der Hardware-PWM-Ausgang (Pulsweitenmodulation). Genau diesen Ausgang kann man nutzen, um einen Lüfter mit einem PWM-Signal anzusteuern. Bei PWM handelt es sich um ein Rechtecksignal mit einer festen Basisfrequenz, wobei die Ein- und Ausschaltzeit variiert. Eine PWM-gesteuerte Spannungsversorgung erlaubt es, die Leistungszufuhr zu elektrischen Verbrauchern sehr genau zu steuern.

Abbildung 1: Eine kreativ gequetschte Flachbandleitung, die die GPIO-Pins aus dem Gehäuse herausführt.

Abbildung 1: Eine kreativ gequetschte Flachbandleitung, die die GPIO-Pins aus dem Gehäuse herausführt.

Jetzt ergibt sich ein kleines Problem: Die GPIO schaltet nicht genug Strom, um einen Lüfter anzusteuern. Die Lösung liefert eine einfache Transistorschaltstufe mit ein paar zusätzlichen Bauelementen (Abbildung 2). Als Transistor kommt der BC337-40 zum Einsatz, der Ströme bis 800 mA schaltet; er liefert dabei einen Verstärkungsfaktor von mindestens 250. Das macht ihn zum idealen Bauteil für unseren Anwendungsfall. Die kleinen Lüfter, die beim Raspberry Pi zum Einsatz kommen, kommen mit erheblich geringeren Stromstärken aus.

Abbildung 2: Der Schaltplan für eine Transistorstufe, um einen Lüfter am Raspberry Pi anzusteuern.

Abbildung 2: Der Schaltplan für eine Transistorstufe, um einen Lüfter am Raspberry Pi anzusteuern.

Wenn Sie sich den Schaltplan ein wenig genauer ansehen, fällt die Diode auf, die auf den ersten Blick keine rechte Funktion zu haben scheint. Es gilt, ein wenig auszuholen, um zu erklären, welchen Zweck das Bauteil erfüllt. Spulen und Motoren neigen dazu, Spannungsspitzen zu erzeugen, die unter Umständen andere Bausteine beschädigen. Hier kommt die Diode ins Spiel: Sie baut diese gefährlichen Überspannungen ab und schützt so den Rest der Schaltung. Üblicherweise spricht man bei diesen Dioden von Freilaufdioden.

Auch für das nächste Bauteil, den Kondensator, fällt die Erklärung der Funktion etwas länger aus, was ebenfalls mit den Spulen in den Motoren zusammenhängt. Die Spulen beginnen im PWM-Betrieb mit der Basisfrequenz des Signals hörbar zu schwingen, was auf die Dauer nervt. Hier springt der Kondensator ein und erzeugt aus dem reinen Rechtecksignal so etwas Ähnliches wie eine Gleichspannung. Und siehe da, das fiese Geräusch verschwindet.

Der Rest der Schaltung (Abbildung 3) besteht aus einem Transistor im Schalterbetrieb mit einem Vorwiderstand. Letzterer begrenzt den Basisstrom.

Abbildung 3: Die Bauteile der Lüftersteuerung, auf einer Lochrasterplatine verlötet.

Abbildung 3: Die Bauteile der Lüftersteuerung, auf einer Lochrasterplatine verlötet.

Das Programm

Es gibt viele Wege, um mit dem Raspberry Pi ein PWM-Signal zu erzeugen. In unserem Beispiel kommen die Bibliothek Pigpio [1] und ein wenig Bash-Skripting zum Einsatz. Um auf die GPIO zuzugreifen, verwendet Pigpio einen Daemon. Alle Tools und Bibliotheksaufrufe funktionieren nur, wenn dieser läuft.

TIPP

Einen ausführlichen Artikel zur WiringPi-Alternative Pigpio finden Sie in dieser Ausgabe ab Seite 82.

Listing 1 zeigt die benötigten Kommandos, um die komplette Bibliothek zu installieren und den Daemon zu starten. Das letzte Kommando sorgt dafür, dass der Daemon beim Booten automatisch mitstartet. Mit dem zusätzlich zur Bibliothek installierten Werkzeug Pigs lassen sich die einzelnen Ports der GPIO ansteuern. In Listing 2 finden Sie die Kommandos, mit denen Sie den Lüfter ansteuern. Beachten Sie, dass die unteren Werte für den PWM-Generator vom Lüftermodell abhängen und Sie für Ihr Exemplar womöglich andere Werte benötigen.

Listing 1

Pigpio und Pigs

### Raspberry Pi OS aktualisieren
$ sudo apt update
$ sudo apt upgrade
### Pigpio installieren
$ sudo apt install pigpio
### Daemon sofort staten
$ sudo systemctl start pigpiod
### Daemon in den Autostart
$ sudo systemctl enable pigpiod
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