Der SoC des Raspberry Pi kann bei einer Vielzahl von Anwendungen stark beansprucht werden. Folglich steigt die Betriebstemperatur des Einplatinencomputer. Diese Tatsache haben die Macher des Projekts Jugend Programmiert aufgearbeitet und im Rahmen des Kits “Raspberry Pi Lüftersteuerung” dokumentiert. Welche Themen das Kit umfasst und welche Hardware das Kit mit sich bringt, wird im Folgenden beschrieben.
Jugend Programmiert
Das Projekt Jugend Programmiert beabsichtigt grundlegend den Einstieg in die Programmierung für Neulinge zu erleichtern. Anhand von einfachen, aber sehr praxisorientierten Fallbeispielen, zeigen die Macher primär mit der Programmiersprache Python grundlegende Konstrukte der Programmierwelt. Als Basis kommt dabei der Raspberry Pi zum Einsatz, da dieser neben einer weitreichenden Softwareunterstützung eine Vielzahl von hardwarenahen Projekten zulässt. In Form eines Kits stellen die Entwickler die für ein entsprechendes Projekt benötigte Hardware bereit. Im Zuge eines solchen Kits und der Jugend Programmiert Anleitung kann das Projekt aufgebaut und programmiert werden. Vor einiger Zeit wurde im Blog bereits das Jugend Programmiert Starter Kit vorgestellt.
Raspberry Pi Lüftersteuerungs Kit
Hardware
Das Raspberry Pi Lüftersteuerungs Kit vom Projekt Jugend Programmiert bringt die notwendige Hardware mit, die man zur Umsetzung einer Lüftersteuerung am Raspberry Pi inklusive Zustandsanzeige der Temperatur mittels LEDs benötigt. Mit Hilfe der Hardware des Kits kann zunächst ein Testaufbau gebaut werden. Hierfür bringt das Kit ein Breadboard, sowie passende GPIO Jumperkabel mit. Als Lüfter kommt ein 5V Lüfter (0,9W) mit einem Durchmesser von knapp 4 cm zum Einsatz. Dieser wird mit einem Standardtransistor an oder aus geschalten.
Zur Montage des Lüfters auf dem Raspberry Pi liefert das Kit eine mechanische Fassung, sowie Abstandsbolzen und passende Schrauben. Damit lässt sich die Lüftersteuerung nicht nur als Testaufbau realisieren, sondern kann auch für den aktiven Betrieb verwendet werden. Hierfür ist allerdings dann ein Lötkolben notwendig. Insgesamt umfasst das Kit die folgende Bauteile. Der raspberry Pi selbst ist im Kit nicht enthalten. Den Einplatinencomputer besitzt man schon, oder muss sich diesen extra kaufen.
- Breadboard
- Jumperkabel
- GPIO Referenzplatine
- Lüfter (4 cm, 5V, 0.9W)
- Lüfterhalterung, Schrauben Abstandsbolzen
- 2 x Transistor BC337
- LEDs (grün, gelb, rot)
- Widerstände (Vorwiderstände LEDs)
- Anleitung zum Projekt
Anleitung und Umsetzung
Die im Kit enthaltene Anleitung zum Bau der Lüftersteuerung kann auch auf der Webseite der Macher betrachtet werden. Umgesetzt wird die Ansteuerung des Lüfters durch einen Pythonskript. Innerhalb der Anleitung zum Kit beschreiben die Macher Stück für Stück den Aufbau der Beschaltung des Lüfters am Raspberry Pi, sowie die einzelnen Bestandteile des Python-Programms.
Schaltungsaufbau
In Sachen Schaltungsaufbau wird der Lüfter mit Hilfe eines Transistors vom Typ BC337 an oder aus geschalten. Anders als in der Anleitung empfehle ich hier aber dringend den Lüfter mit den 5 Volt des Raspberry Pi zu versorgen, anstatt 3,3 Volt. Die 3,3 Volt des Pi sind in der Stromstärke begrenzt und nicht zur Spannungsversorgung von Verbrauchern gedacht. Andernfalls kann dadurch, insbesondere bei dauerhafter Belastung, der Raspberry Pi beschädigt werden. Geschalten wird der Transistor BC337 via eines GPIO Pins des Pi. Damit ist die eigentliche Lüfteransteuerung bereits realsiert. Das Ansteuern des Lüfters wird hierbei in abhängigkeit der aktuellen CPU Betriebstemperatur realisiert.
Erweitert wird der Raspberry Pi Lüfter mit einer Zustandsanzeige von 3 LEDs (grün, gelb und rot). Diese werden ebenfall herkömmlich über die GPIO Pins des Pi in Abhängigkeit der Temperatur beschalten. In meinem Fall habe ich den Lüfter für den aktiven Betrieb mit Hilfe der Montagefassung auf den Raspberry Pi gebaut. Die Fassung bietet hier ebenfalls eine Halterung für Transistor und die 3 LEDs. Dies ist sehr hilfreich sodass auch keine extra Platine notwendig ist. Die GPIO Jumperkabel habe ich entsprechend angelötet und mittels Schrumpfschlauch isoliert und befestigt. In den Schrumpfschläuchen sind auch jeweils die Vorwiderstände für die LEDs verschwunden :)
Python-Skript
Mit Hilfe des Kits wird, besonders für Einsteiger, gut verständlich erklärt, wie man mit Python die GPIO Pins ansprechen und schalten kann. Hierbei kommt die gängige RPi.GPIO Bibliothek zum Einsatz. Innerhalb des Skripts werden die zu nutzenden Pins initialisiert und als Ausgang definiert. Abweichend von der Originalanleitung verwende ich andere GPIO Pins, da diese mit den Jumperkabeln für mich besser erreichbar waren. Durch die Halterung des Lüfters wurde es ein bisschen eng, aber nicht unmöglich.
Als weiterer Kernpunkt des Skripts wird die aktuelle CPU Temperatur eingelesen und verarbeitet. Gelesen wird die CPU Temperatur des Raspberry Pi aus der Datei “/sys/class/thermal/thermal_zone0/temp”. Durch festlegen von Temperaturschwellwerten und vergleich derer mit der aktuellen CPU Temperatur werden dementsprechend die Zustands-LEDs und der Lüfter geschalten. Die Schwellwerte habe ich in meinem Fall testweise etwas heruntergesetzt, damit der Lüfter eher angeschalten wird (ab 36 Grad). Der Vergleich im Skript wird über ein herkömmliches If-Konstrukt umgesetzt.
# coding: utf8 import RPi.GPIO as GPIO import time GPIO.setmode(GPIO.BCM) GPIO.setup(25, GPIO.OUT) GPIO.setup(8, GPIO.OUT) GPIO.setup(7, GPIO.OUT) GPIO.setup(17, GPIO.OUT) GPIO.output(25, GPIO.LOW) GPIO.output(8, GPIO.LOW) GPIO.output(7, GPIO.LOW) GPIO.output(17, GPIO.LOW) while 1: tempData = "/sys/class/thermal/thermal_zone0/temp" dateilesen = open(tempData, "r") temperatur = dateilesen.readline(2) dateilesen.close() print("Deine CPU hat " + temperatur + " Grad") normal = 30 warm = 33 heiss = 36 temperatur = int(temperatur) if temperatur <= normal: #print ("Die CPU ist Normal, die grüne LED geht an.") GPIO.output(25, GPIO.HIGH) if temperatur >= normal: #print ("Die CPU ist Warm, die Gelbe LED geht auch an") GPIO.output(25, GPIO.HIGH) GPIO.output(8, GPIO.HIGH) if temperatur >= heiss: #print ("Die CPU ist wärmer als warm! Die Rote LED geht an und wir schalten den Lüfter ein !") GPIO.output(7, GPIO.HIGH) GPIO.output(17, GPIO.HIGH) time.sleep(60) GPIO.cleanup()
Fazit
Insgesamt ist das Raspberry Pi Lüftersteuerungs Kit von Jugend Programmiert ein rundum gelungenes Paket. Besonders für Neulinge, welche den Einstieg in hardwarenahe Programmierung mit dem Raspberry Pi suchen, ist das Kit interessant. Zudem liefert dieses alle notwendigen Bauteile auf einen Schlag. Der Fokus des Tutorials liegt zwar nur auf dem Schalten der GPIos des Pi als Ausgang, dennoch lässt sich das erlernten Wissen mit in das nächsten eigene Projekte nehmen. Unter diesem gesichtspunkt ist das Jugend Programmiert Starter Kit etwas vielseitiger.
Lüftersteuerungskit auf Amazon ansehenLüftersteuerungskit auf Coding World ansehen
1.) Danke für den Beitrag
2.) WIE bekomme ich das ganze ohne Breadboard gescheit verkabelt
Ohne Breadboard ist etwas Basteln angesagt. Ich hab mir paar GPIO Kabel geteilt und diese an Transistor, Lüfter, LED + Widerstände selber drangelötet. Die Kabellänge dabei so abschätzen, dass die Kabel nicht zu viele Schlaufen ziehen sondern locker vom Lüfter zu den GPIOs gehen. An den Lötstellen habe ich Schrumpfschlauch drüber. Die Widerstände habe ich ebenfalls in den Schrumpfschlauch jeweils mit reingetan. Damit habe ich keine extra Platine gebraucht, die sonst wieder unnötig irgendwo mit dranhängt :)
Hallo Tony, bin begeistert von diesen Projekt und es hat mich fasziniert als ich gesehen habe , das du ohne Breadboard gemacht hast. Könntest du eventuell eine Skitze, oder Zeichen hier dranlegen wie du es genau gemacht hast, wie du die Leds gelötet hast bzw. wie schaut die Schaltung mit die drei Lüfter und Transistor aus.
Habe schon ein paar Tage die Schaltung über Breadboard gemacht funktioniert wunderbar, aber die löterei will einfach nicht funktionieren. Kann ich vielleicht ein 2 kohm Wiederstand nehmen statt 3 x 0,6 ? Fragen über Fragen :( Sorry, dass ich so viele Fragen stelle aber ich möchte unbedingt diesen Projekt nachbauen, ohne Breadboard.
Danke
und liebe Grüeße aus Österreich
Albert
Hallo J Albert,
schön das dir das Projekt auch gefällt :) Wenn du sagst, dass du das Ganze nachbauen möchtest, dann nehm ich mal an, dass du nicht das Kit vor dir liegen hast, sondern selbst organisierte Teile? Um welchen Lüfter handelt es sich hierbei? Zeig doch mal deine Schaltung, dann sprechen wir drüber :)