Raspberry Pi 4 Lüfter steuerung?
Hallo, ich habe seit neustem ein Raspberry Pi 4 mit 4GB mit diesenm Case: https://joy-it.net/de/products/RB-ALUcase+07FAN
kann ich den Lüfter auch Temperatur basierend steuern? habe nur was mit raspi-config gelesen, und da weiß ich nicht, was ich eingeben soll...
3 Antworten
![](https://images.gutefrage.net/media/user/Traveller5712/1629890425058_nmmslarge__42_194_875_875_9f49f49df1e9c8206fcf7c81ec1c6c82.jpg?v=1629890425000)
Man kann den per PWM (Pulsweitenmodulation) steuern. Das ist über Python realisierbar.
Zuerst das hier durchführen:
cd ~;
sudo apt -y update;
sudo apt -y upgrade;
sudo apt -y install python3-pip;
sudo pip3 install gpiozero;
nano USV/fancontrol.py;
Als Inhalt des Scriptes das hier:
from gpiozero import CPUTemperature, PWMLED
from time import sleep
led = PWMLED(2) # PWM-Pin
startTemp = 55 # Temperatur bei der der Luefter an geht
pTemp = 4 # Proportionalanteil
iTemp = 0.2 # Integralanteil
fanSpeed = 0 # Lueftergeschwindigkeit
sum = 0 # Speichervariable fuer iAnteil
while True: # Regelschleife
cpu = CPUTemperature() # Auslesen der aktuellen Temperaturwerte
actTemp = cpu.temperature # Aktuelle Temperatur als float-Variable
diff = actTemp - startTemp
sum = sum + diff
pDiff = diff * pTemp
iDiff = sum * iTemp
fanSpeed = pDiff + iDiff + 35
if fanSpeed > 100:
fanSpeed = 100
elif fanSpeed < 35:
fanSpeed = 0
if sum > 100:
sum = 100
elif sum < -100:
sum = -100
#print(str(actTemp) + " Grad Celsius, " + str(fanSpeed))
led.value = fanSpeed / 100 # PWM Ausgabe
sleep(1)
Dann das Script in /etc/rc.local vor dem finalen "exit 0;" einhängen:
### Ansteuerung des Gehaeuseluefters abhaengig von der Prozessor-Temperatur
python3 /home/pi/USV/fancontrol.py &
![](https://images.gutefrage.net/media/user/Traveller5712/1629890425058_nmmslarge__42_194_875_875_9f49f49df1e9c8206fcf7c81ec1c6c82.jpg?v=1629890425000)
Dann schreib' das bitte auch dem Fragesteller und nicht als Kommentar auf meine Antwort.
![](https://images.gutefrage.net/media/user/iEdik/1554103614131_nmmslarge__135_0_1080_1080_0e76a62ad1d9fed2d51f2896b9114006.jpg?v=1554103614000)
![](https://images.gutefrage.net/media/user/iEdik/1554103614131_nmmslarge__135_0_1080_1080_0e76a62ad1d9fed2d51f2896b9114006.jpg?v=1554103614000)
Hallo,
ja kannst du..
erstmal benötigst du eine Transistor-Schaltung wo das PWM-Signal vom Raspi verstärkt wird. DIe steuerbaren GPIO vom raspi selbst haben keine grosse leistung wo man einfach einen lüfter (mit 2-pins) anschliessen könnte.
Im bild wird der Lüfter auch auf 5V direkt-Pins angeschlossen = 100% drehzahl.
ich schlage dir vor: google bilder -> raspberry PWM FAN
schon hast millionen ergebnisse dazu..
dasd Script dazu hat bereits der User Traveller5712 gepostet..
![](https://images.gutefrage.net/media/user/julihan41/1689492318555_nmmslarge__61_0_257_257_393fc56d7c9e017d2841c8909482414f.jpg?v=1689492319000)
Da dee Lüfter nur zwei Pins hat, wird das mit diesem nicht möglich sein. Steuerbare Lüfter haben drei Pins. 2 für Strom und 1 zur Steuerung. Sorry.
Außer du schaffst es, den Strom Pin mit unterschiedlicher Spannung laufen zu lassen.
![](https://images.gutefrage.net/media/user/iEdik/1554103614131_nmmslarge__135_0_1080_1080_0e76a62ad1d9fed2d51f2896b9114006.jpg?v=1554103614000)
und wie das möglich ist! mit einem Transistor kannst jeden Lüfter auch ohne integrierter PWM-Steuerung die Drehzahl regeln. Ich hab bei meiner Externen HDD dasselbe gemacht ;)
![](https://images.gutefrage.net/media/user/NackterGerd/1459631419191_nmmslarge__4_21_414_414_4344501cccc644450d864209d1253d34.jpg?v=1459631419000)
dazu müsste der Fragesteller dem Lüfter an einem PWM-Fähigen Pin anschliessen. Und direkt sowieso nicht..also mit einer kleinen Transistor-Schaltung..
dann wirds gehen..