RPi 4, Lüfter über GPIO einschalten

  • Mein Raspberry Pi 4 kam vor paar Tagen an. Dazu hab ich mir ein Case gekauft, was einen integrierten Lüfter hat, dieser lediglich an Spannung (5V) und Masse angesteckt. Funktioniert auch. Nun will ich diesen an einem GPIO mit 3.3V betreiben, damit ich diesen über Code ein- und ausschalten kann.


    (Das der am Ende nur 60% Leistung hat ist hier nicht das Thema. Am Ende kommt ein Transistor eventuell dazwischen, welcher dann am 5V dran hängt und die Basis am GPIO, wie gesagt, darum geht es hier erstmal nicht).


    Ich habe mir für das Pinout verschiedene Vorlagen rausgesucht, nehmen wir bspw. diese hier.

    GND hängt an GND und Spannung an Pin 18 (entspricht GPIO24).


    Ich habe nun versucht sowohl über die Shell, als auch über Python-Code den Pin einzuschalten, nach dieser Anleitung.


    Mein luefter.py sieht derzeit so aus:


    Code
    import RPi.GPIO as GPIO
    import time
    
    GPIO.setmode(GPIO.BOARD)
    GPIO.setup(18, GPIO.OUT)
    GPIO.output(18, GPIO.HIGH)
    
    dauer = 20
    
    GPIO.cleanup()

    ich starte dies über sudo python luefter.py, keine Fehlermeldung soweit. Aber der Lüfter springt nicht an. Ich hab hier auch kein Multimeter zur Hand um nachzumessen, aber eventuell findet ja einer sofort das Problem. Wenn der Lüfter direkt am 5V dran hängt geht auch alles. Leider kann ich den nicht direkt am 3.3V Pin anstecken, da drumherum kein GND vorhanden ist (die Steckerleisten gehören zusammen und können nicht getrennt werden, Kabel umlöten will ich hier auch nicht falls das Gehäuse wieder zurück gehen sollte).

  • Simpel: So ein GPIO liefert beim Raspi zuwenig mA um einen kleinen Ventilator zu betreiben, auch wenn 3.3V darüber laufen. Hätte ich ein Multimeter zur Hand gehabt, wäre ich eher darauf gekommen. Ich habe das Kabel etwas umgelötet und direkt an einen 3.3V Pin angeschlossen, so läuft der Ventilator nun auch an.

    Das heißt, ich muss nun GND mal durchschneiden, dazwischen einen Transistor setzen und die Basis dann an einen GPIO denn ich auf high/low setze.


    Für alle die so ein Problem auch mal haben sollten. Der 3.3V Pin reicht übrigens für kleine Lüfter aus um den Raspi unter 50°C zu drücken.

  • Hat es jemand geschafft an einem PI einen Lüfter per phyton zu starten?


    Ich habe nach dieser Anleitung mal probiert. Doch leider scheitert es schon mit dem Startet des Lüfters. Er springt nicht an.😬


    ANLEITUNG

  • Keine weitere Fehlermeldung? Hol dir mal ein Multimeter. Schalte den GPIO, welcher an die Basis des Transistors angeschlossen wird um diesen durchzuschalten, mal mit einem Python-Skript auf HIGH (bzw. 1). Dann miss mal an diesem GPIO und irgendeinem GND ob auch tatsächlich jetzt 3.3V anliegen.

    Ab dann kann man immer weiter prüfen. Welchen Transistor man genau hat, wieviel Ohm an diesem anliegen bzw. ob dies schlüssig ist oder schlicht zu hoch und er deswegen nicht schaltet, etc. Man könnte auchmit einem Multimeter ganz schauen ob überhaupt der 5V-Pin seine 5V liefert oder dieser vielleicht defekt ist.

  • Moin!


    Für einen Pi 4 hier, auf dem allerdings eine piCorePlayer Installation mit einem Logitech Media Server läuft, habe ich das Argon One Gehäuse: https://www.argon40.com/catalo…-one-raspberry-pi-4-case/.


    Für das Gehäuse gibt es ein Script, das die Lüftersteuerung (bei bestimmten Temperaturen bestimmte Lüfterdrehzahlen) übernimmt. Das läuft so unverändert auf Raspbian. Mit Hilfe der piCorePlayer Entwickler gibt es auch eine Version, die mit der piCorePlayer Installation (ist ein minimales Linux, das komplett im RAM läuft, damit nicht mehr auf die SD-Karte zugegriffen werden muß und man das Gerät einfach so ausschalten kann) zusammen läuft und den Lüfter und den Powerbutton bedient.

    Vielleicht hilft Dir das ja etwas weiter: https://download.argon40.com/argon1.sh

    Das ist das Installationsscript für den Lüfter und den Powerbutton (der ist auch genial, da das System damit geordnet herunter gefahren wird und der Pi auch ausgeschaltet wird). Dort kann man aber gut sehen wie das Script nachher aussieht.

  • Mit Hilfe von DIESER ANLEITUNG habe ich es nun geschafft das der Lüfter Startet und Ausschaltet.

    So ganz gefällt mir das SHELL Skript nicht. Problem dabei ist wenn die Temperature unter bzw über einem Wert liegt, schaltet das SHELL script nicht und der Lüfter läuft weiter. 😬


    Ist es möglich das SHELL Skript umzuschreiben das hier der Lüfter bei einer Temperatur ÜBER bzw UNTER einem Wert schaltet? Und gerne lass ich mir ne Telegram PUSH schicken um zu beobachten wann das Script schaltet.


    P.S. Das Script habe ich aus einem anderen Skript was ich von sschuste habe teils angepasst

  • Ist es möglich das SHELL Skript umzuschreiben das hier der Lüfter bei einer Temperatur ÜBER bzw UNTER einem Wert schaltet? Und gerne lass ich mir ne Telegram PUSH schicken um zu beobachten wann das Script schaltet.

    Das verstehe ich nicht. Dein Script macht das doch: wenn der Wert über 64999 liegt, geht der Lüfter an und bleibt so lange an, bis der Wert unter 45001 fällt.

  • Hmm ok, Problem ist das alle Minute durch den crontab eine Telegram Nachricht kommt das der Lüfter aus bzw eingeschaltet wurde. 😬

  • Hmm ok, Problem ist das alle Minute durch den crontab eine Telegram Nachricht kommt das der Lüfter aus bzw eingeschaltet wurde. 😬

    So ist es programmiert. Wenn die Temperatur über 65000 liegt, dann schicke eine Nachricht. Steht da. Da steht nicht: schicke gelegentlich eine Nachricht. Da steht auch nicht: schicke dann eine Nachricht, wenn's schlau ist. Da steht: immer.

  • Wie du merkst, funktioniert das s nicht.


    Wenn es schlauer wäre, bekomme ich nur eine Nachricht wenn die Temperatur wirklich erreicht ist auch das passiert wie es soll. Also Lüfter an oder aus. Da ich kein Profi bin im Skripte schreiben, werde ich die Benachrichtigung per Telegram wohl raus nehmen. Geht einem dann schon aufn Sack.

    Bilder


  • Mach's ein bisschen schön, dann liest es sich leichter:


  • Wow. Baue ich gleich mal ein. Danke sschuste