NEWS
Raspberry Pi 4 aktiven Lüfter steuern
-
@R0bRakete sagte in Raspberry Pi 4 aktiven Lüfter steuern:
Ich habe jetzt nochmal ein bisschen weiter getüftelt:
Der Lüfter ist jetzt folgender Weise angeschlossen:
Pin 2: + Pol direkt zum Lüfter
Pin 6: GND über Transistor zum Lüfter
Pin 8: GPIO14 (TXD) über Widerstand (4,7k Ohm) zum Transistor.Dein Basiswiderstand ist ziemlich überdimensioniert. Damit lässt du ja nicht mal 1mA zu. Ich gehe mal davon aus, dass du irgendeinen Standard npn Transistor verwendest? Nimm mal eher so um die 470 Ohm.
Allerdings solltest du auch erst einmal skizzieren, was du wirklich aufgebaut hast. Wenn du den Lüfter tatsächlich zwischen +5V und dem Collector hängen hast, dürfte der momentan eigentlich eher nie laufen statt ständig.Ich selbst habe eine kleine Lüftersteuerung gerade über node-red realisiert und verwende dabei wiringpi. Geht recht bequem und erlaubt sogar eine Ansteuerung per PWM. Ein Exec Node muss initial einmal "gpio mode 26 pwm" ausführen (verwende GPIO 12, die wiringpi Nummerierung ist etwas ungewöhnlich) und anschließend je nach Bedarf "gpio pwm 26 280" (bzw. die gewünschte Dosierung zwischen 0 und 1023 anstelle der 280). Dazu noch ein bisschen Hysterese und schon läufts wie man sich das vorstellt.
-
@haiperf Erstmal danke für die Antwort. Hab mich an ein Anleitung aus dem Pi Forum gehalten.
-
@R0bRakete der Transistor ist ein BC547
-
Versuch mal, zwischen Basis und GPIO nur 1-2k zu nehmen und häng noch einen Pull-Down-Widerstand zwischen Basis und GND. Wenn dein Lüfter dann immer noch dauerhaft läuft, ist irgendwas faul.
-
@haiperf okay, werde ich bei Gelegenheit Mal machen. Aber das Problem ist ja im Moment, dass er gar nicht läuft....
-
@R0bRakete sagte in Raspberry Pi 4 aktiven Lüfter steuern:
@haiperf okay, werde ich bei Gelegenheit Mal machen. Aber das Problem ist ja im Moment, dass er gar nicht läuft....
Sorry, mit deinem vorherigen Post durcheinanderbekommen. Aber dafür soll der kleinere Basiswiderstand ja sein. Je nachdem welchen BC547 Transistor du hast (A/B/C) ist die Stromverstärkung möglicherweise deutlich < 200. Das kann daher mit dem Widerstand aktuell zu eng sein. Direkt an 5V läuft genau dieser Lüfter aber?
-
@haiperf ja. Hatte ihn Anfangs an Pins 4 und 6 aufgesteckt, da lief er. Jetzt läuft er kurz, wenn der Pi startet, geht dann aber aus
-
@R0bRakete
Hallo,
evtl. anstatt Regelung einen von Haus aus leisen Lüfter in Erwägung ziehen?Ich habe an meinem ioBroker-RPI einen Noctua NF-A4x10 5V (40mm x 40mm x 10mm) - Lüfter direkt mit 5V verbunden - ist kaum hörbar und läuft jetzt ca. 1/2 Jahr ohne Probleme 24/7.
CPU-Temp liegt immer zwischen 37-41 °C.Lt. Testberichten sind Noctua-Lüfter qualitativ recht gut, allerdings etwas teuerer.
Der 40mm x 40mm kostet in der Bucht ca. 15,-€.Gruß
Jörg -
@R0bRakete sagte in Raspberry Pi 4 aktiven Lüfter steuern:
@haiperf ja. Hatte ihn Anfangs an Pins 4 und 6 aufgesteckt, da lief er. Jetzt läuft er kurz, wenn der Pi startet, geht dann aber aus
Dann haut mit der Ansteuerung des GPIOs etwas nicht hin. Mein Tipp so wie ich es auch mache, wiringpi installieren:
cd /tmp
wget https://project-downloads.drogon.net/wiringpi-latest.deb
sudo dpkg -i wiringpi-latest.debÜber die Console dann einfach zu testen:
gpio mode 26 pwm
um den Port zu konfigurieren (das ist für GPIO12 / Pin32, falls du einen anderen verwenden willst, musst du dir die richtige Nummer raussuchen).
gpio pwm 26 1023
um den Lüfter voll anzusteuern, Werte < 1023 um mit verringerter Leistung zu fahren (mindestens etwa ein Wert zw. 200-300 ist wahrscheinlich erforderlich, damit der Lüfter andreht), 0 um ihn auszuschalten.
Das ganze lässt sich dann wie gesagt z.B. in node-red aber auch überall sonst, wo ein "exec" möglich ist, zu einer netten und variablen Steuerung ausbauen.Ich nutze übrigens auch den schon genannten Noctua 5V Lüfter. Ebenfalls über einen BC547, glaub ich, aber sogar nur an 3,3V. Reicht auch völlig. Da ich damit Luft auf ein armor case puste, bleibt der Lüfter zumindest momentan sowieso meist aus, wird im Sommer bestimmt häufiger anspringen.
-
Hier noch mal ein simples Beispiel in node-red, lässt sich natürlich noch beliebig tunen und erweitern:
[{"id":"c7158ecf.0f68e8","type":"tab","label":"Alexa","disabled":false,"info":""},{"id":"67a8eac.f8a9d94","type":"exec","z":"c7158ecf.0f68e8","command":"gpio mode 26 pwm","addpay":false,"append":"","useSpawn":"false","timer":"","oldrc":false,"name":"gpio mode 26 pwm","x":310,"y":60,"wires":[[],[],[]]},{"id":"94bd570c.1fd9a8","type":"inject","z":"c7158ecf.0f68e8","name":"","topic":"","payload":"Init","payloadType":"str","repeat":"","crontab":"","once":true,"onceDelay":0.1,"x":110,"y":60,"wires":[["67a8eac.f8a9d94"]]},{"id":"7e6cfa44.02931c","type":"inject","z":"c7158ecf.0f68e8","name":"Trigger 15s","topic":"","payload":"","payloadType":"date","repeat":"15","crontab":"","once":false,"onceDelay":0.1,"x":130,"y":140,"wires":[["8d985057.29349"]]},{"id":"8d985057.29349","type":"ioBroker get","z":"c7158ecf.0f68e8","name":"SOC Temperature","topic":"rpi2.0.temperature.soc_temp","attrname":"payload","payloadType":"value","x":150,"y":200,"wires":[["8d2e7103.1c215","f4acf8b3.bb47a","3b8d0070.e0237"]]},{"id":"8d2e7103.1c215","type":"hysteresis","z":"c7158ecf.0f68e8","name":"","ThresholdType":"fixed","ThresholdRising":"42","ThresholdFalling":"38","TopicThreshold":"","TopicCurrent":"","ThresholdDeltaRising":"","ThresholdDeltaFalling":"","InitialMessage":false,"OutRisingType":"pay","OutRisingValue":"","OutFallingType":"pay","OutFallingValue":"","OutTopicType":"top","OutTopicValue":"","x":380,"y":140,"wires":[["ef7a5a42.234278"]]},{"id":"f4acf8b3.bb47a","type":"hysteresis","z":"c7158ecf.0f68e8","name":"","ThresholdType":"fixed","ThresholdRising":"47","ThresholdFalling":"42","TopicThreshold":"","TopicCurrent":"","ThresholdDeltaRising":"","ThresholdDeltaFalling":"","InitialMessage":false,"OutRisingType":"pay","OutRisingValue":"","OutFallingType":"pay","OutFallingValue":"","OutTopicType":"top","OutTopicValue":"","x":380,"y":200,"wires":[["fa2a280f.aef118"]]},{"id":"3b8d0070.e0237","type":"hysteresis","z":"c7158ecf.0f68e8","name":"","ThresholdType":"fixed","ThresholdRising":"53","ThresholdFalling":"47","TopicThreshold":"","TopicCurrent":"","ThresholdDeltaRising":"","ThresholdDeltaFalling":"","InitialMessage":false,"OutRisingType":"pay","OutRisingValue":"","OutFallingType":"pay","OutFallingValue":"","OutTopicType":"top","OutTopicValue":"","x":380,"y":260,"wires":[["2df765b6.1838a2"]]},{"id":"ef7a5a42.234278","type":"switch","z":"c7158ecf.0f68e8","name":"","property":"payload","propertyType":"msg","rules":[{"t":"lt","v":"40","vt":"str"},{"t":"gte","v":"40","vt":"str"}],"checkall":"true","repair":false,"outputs":2,"x":510,"y":140,"wires":[["3a715a7d.030ace"],["2f5be40b.a559dc"]]},{"id":"fa2a280f.aef118","type":"switch","z":"c7158ecf.0f68e8","name":"","property":"payload","propertyType":"msg","rules":[{"t":"lt","v":"45","vt":"str"},{"t":"gte","v":"45","vt":"str"}],"checkall":"true","repair":false,"outputs":2,"x":510,"y":200,"wires":[["2f5be40b.a559dc"],["38678327.732de4"]]},{"id":"2df765b6.1838a2","type":"switch","z":"c7158ecf.0f68e8","name":"","property":"payload","propertyType":"msg","rules":[{"t":"lt","v":"50","vt":"str"},{"t":"gte","v":"50","vt":"str"}],"checkall":"true","repair":false,"outputs":2,"x":510,"y":260,"wires":[["38678327.732de4"],["fed32a3.d9981d8"]]},{"id":"3a715a7d.030ace","type":"exec","z":"c7158ecf.0f68e8","command":"gpio pwm 26 0","addpay":false,"append":"","useSpawn":"false","timer":"","oldrc":false,"name":"gpio pwm 26 0","x":680,"y":100,"wires":[[],[],[]]},{"id":"2f5be40b.a559dc","type":"exec","z":"c7158ecf.0f68e8","command":"gpio pwm 26 280","addpay":false,"append":"","useSpawn":"false","timer":"","oldrc":false,"name":"gpio pwm 26 280","x":690,"y":160,"wires":[[],[],[]]},{"id":"38678327.732de4","type":"exec","z":"c7158ecf.0f68e8","command":"gpio pwm 26 500","addpay":false,"append":"","useSpawn":"false","timer":"","oldrc":false,"name":"gpio pwm 26 500","x":690,"y":220,"wires":[[],[],[]]},{"id":"fed32a3.d9981d8","type":"exec","z":"c7158ecf.0f68e8","command":"gpio pwm 26 1023","addpay":false,"append":"","useSpawn":"false","timer":"","oldrc":false,"name":"gpio pwm 26 1023","x":690,"y":280,"wires":[[],[],[]]}]
-
Habs jetzt hinbekommen. Allerdings nicht mit iobroker, sondern über putty direkt in der bash mit einem Skript. Die Schaltung hab ich so gelassen wie sie war.
Danke nochmals -
@haiperf Hi, die histeresis lässt sich nicht importieren!
-
@flying-bolt ich weiß das Thema ist schon sehr alt aber gibt es einen Adapter um die GPIOś des Raspi aus IObroker zu steuern. Ich möchte mein PV Überschuss Leistungsabhängig steuern. Über einen zusätzlichen ESP mit Tasmota funktioniert das. Leider ist das Ganze nicht fail save. Sobald die Kommunikation abbricht bleibt der ESP in der Einstellung hängen.