Lüfter automatisch an- und ausschalten

  • Hallo,


    ich habe an meinem Raspberry Pi über den 5v und die Ground Pin einen kleinen Lüfter angeschlossen, welcher nun dauerhaft läuft.


    Gibt es eine Möglichkeit diesen an einen anderen Pin zu klemmen, welcher automatisch diesen mit 5V belegt, wenn die z.B. die CPU-Temperatur zu hoch ist?


    Falls das nicht funktionierten sollte, gibt es eine Möglichkeit das anders zu realisieren, ich kenne mich leider noch nicht so gut mit Elektrotechnik aus.


    edit:
    Ne Idee hätte ich schon:
    Ein Cronjob, der z.b. alle 5min folgenden Wert abgleicht und dann den PIN anschaltete.
    wenn z.b.
    cat /sys/class/thermal/thermal_zone0/temp
    über 36000 ist.


    Mfg. und Frohe Weihnachten :D
    Logan517

    Edited once, last by logan517 ().

  • Machbar ist das, aber ich würde aber keinen Cron-Job nehmen, ich würde das Programm immer im Hintergrund laufen lassen.
    Da der PI nur 3,3Volt-Ausgänge hat brauchst Du eine Schaltstufe dazwischen. Du kannst z.B. einen Transistor nehmen wie er gerade hier vorgeschlagen wurde.

  • Also mit dem Transistor unterbreche ich dann den 5V plus Pol und wenn dann die 3,3V von einem GPIO kommen, schaltete dieser dann "offen und lässt die 5V duch", hab ich das so richtig verstanden?


    Meinst du hier den:
    http://www.amazon.de/Components-ICs-Transistors-COM-08928-Transistoren/dp/B0053L4N1I/ (Affiliate-Link)


    Und um da Programm durchlaufen zu lassen, einfach ne unendliche Schleife machen, welcher immer die Temperatur überprüft?


    Ich hab hier noch ein Transistor rumliegen, da steht folgendes drauf, kann ich den auch nehmen, oder soll ich mir, falls richtig, den anderen kaufen:
    C548C PH69


    edit:
    also, ich habe nun testweise GND mit dem Emitter, dann den Collector mit dem Lüfter-Minus-Pol verbunden. Der Lüfter-Plus-Pol hab ich dann mit dem 5V Pol aufm Pi verbunden. Der 14te GPIO-Pin ist an der Basis vom Transistor


    Mit folgendem Script kann ich den 14ten GPIO nun aus/an schalten und dadurch schaltet sich dann auch der Lüfter aus/an.
    Dort habe ich nur



    Python
    #!/usr/bin/python
    import RPi.GPIO as GPIO
    GPIO.setwarnings(False)
    GPIO.setmode(GPIO.BCM)
    GPIO.setup(14, GPIO.OUT)
    GPIO.output(14, False) #auf True zum anschalten


    Mein Problem ist nun noch, wie bekomme ich es hin, dass das Script vorher den Status abfragt.
    z.B.
    Wenn die Temperatur unter 36°C ist und der Lüfer (GPIO 14) bereits ausgeschaltet ist, dieser dann nicht nochmal ausgeschaltet wird.
    Ich denke da an so was
    [hr]
    if GPIO.status(14, False) != false:
    GPIO.output(14, False)
    [hr]



    Gibt es so etwas und kann ich das alles so lassen mit dem Transistor?

    Edited once, last by logan517 ().

  • Zwischen den GPIO-Pin und die Basis muß noch ein Widerstand, ich würd 6,8KiloOhm nehmen. Der Transistor sollte nach der Beschriftung ein BC548c sein, der ist in Ordnung.


    Warum man allerdings Elektronische Bauteile bei Amazon kaufen will verstehe ich nicht. Für sowas gibt es Fachhändler, Reichelt z.B.:
    http://such002.reichelt.de/?SI…6ed029e1283adb;ACTION=446
    4ct statt einem Euro rechnet sich schon.


    Du kanst die Datei /sys/class/thermal/thermal_zone0/temp einlesen und den Wert mit Deiner Wunschtemperatur vergleichen.
    Wie das in Python geht kann ich Dir aber nicht sagen, ich sprech nur c.
    Bei 36° fängt der Pi aber erst an warm zu werden, bei 85° verringert er den Takt um nicht heiß zu werden.

    Edited once, last by orb ().

  • ok, dann haben die 12Ohm, ich hab noch ein anderer, welcher hier rumliegt hat 15k Ohm


    brauch der denn genau 6,8ohm, oder kann ich auch den mit 15k nehmen, weil ich hab nun kein Lust für ein widerstand 5,6€ Versandkosten zu bezahlen, oder gibts da auch ein anderen shop?

  • jup, passt nun, ich habe 3x 15k Ohm Widerstände genommen, und diese parallel zusammengelötet.
    Nun funktioniert alles.


    Eingestellt habe ich es nun so, dass der Lüfter für 1 Minute anschaltet, wenn die Temperatur 45°C erreicht. Falls die Temperatur dann immernoch zu hoch ist, läuft er einfach weiter, an sonsten schaltet dieser aus und vergleicht alle 5 Sekunden die Temperatur.


    Danke an alle:)


  • Hi logan
    Kannst du mal ein tut schreiben wie du das nun gemacht hast?


    Da ich nun auch im Besitz eines Raspberry Pis bin würde mich das auch sehr interessieren.
    Könntest du mir das vielleicht auch schreiben?Da ich den Pi übertakten wollte möchte ich zur Sicherheit ebenfalls einen aktiven Kühler benutzen.


    Gruß