PC Lüfter Überwachung / Tachosignal

  • Hallo zusammen ;)


    ich habe nun eine ganze Wile hin und her überlegt, aber nun muss ich doch einfach einmal irgendwo nachfragen, denn ich denke, dass ich gerade so richtig auf dem Schlauch stehe. Ich habe in den letzten Tagen sehr viel zum Thema Lüftersteuerung gelesen, aber alles was ich gefunden habe ist mir entweder viel zu hoch (muss leider zugeben, dass ich meistens mir alle Infos für Projekte einfach über Google und Youtube beschaffe und ich bin bis jetzt auch super damit klar gekommen) oder es ist einfach nicht das was ich genau suche. Also, lange Rede kurzer Sinn:


    Ich habe folgendes "Problem" und würde mich über einen Schubs in die richtige Richtung super freuen:


    Ich habe einen Pi der verschieden Aufgaben übernimmt und somit hatte ich die Idee den eingebauten Gehäuselüfter (gerade zum Testen ein alter 60mm NB mit 3 Pins) mit in die Geräteinformationen aufzunehemen, da ich die Temparatur mit passivem Kühlkörper so sehr niedrig halten kann. Alle wichtigen Infos über den Pi werden über ein kleines OLED Display am Gehäuse ausgegeben (IP, Temp, CPU Last, etc), da der Zugriff, wenn nötig, über SSH läuft. Mir geht es dabei nicht wirklich um die Regelung der Geschwindigkeit, sprich keine Anpassung der RPM über ein Script oder auch die Ausgabe wie schnell der Lüfter gerade läuft, da dieser immer mit laufen soll (bei 5V oder 6V ist der Lüfter ohnehin nicht zu hören) sondern ich würde einfach den Lüfter in der Richung überwachen wollen ob der sich dreht oder nicht, was ja im Grunde über das Tachosignal zu machen sein sollte. Allerdings habe ich immer nur Infos zu PWM Lüftern gefunden und in Verbindung damit dann auch immer gleich eine Mosfet oder Transistor Ansteuerung des Lüfters mit 12V. Auch war immer wieder die Rede davon, dass man mit den GPIO Pins und dem Tachosignal besonders aufpassen muss (wohl wegen der 3,3V). Somit will ich hier nicht einfach drauf loslegen (habe leider schon den ein oder anderen Arduino auf dem Gewissen... :( ...). Ich suche entweder nach dem Falschen oder bin einfach nicht ganze mit meinen Grundlagen auf dem laufenden.


    Somit wäre ich über jede Hilfe bzw. den besagten Schubs in die richtige Richtung super dankbar, da wenn ich das Signal ersteinmal sauber einlesen kann (an oder aus), ich es auch weiter nutzen kann um z.B. das ganze auch akustisch wiedergeben kann (z.B. Summer), wenn der Lüfter wirklich einmal steht oder per Nachricht.


    Dann sage ich auf jeden Fall schon einmal Danke für eventuelle Anworten und Hilfestellungen.


    LG

    Anna

  • Hi, Du könntest mit einem Potentiometer, sagen wir mal 10 KOhm, mit den beiden äußeren Anschlüssen zwischen Tachosignal und Masse, bzw. je nach Lüfter zwischen Tachosignal und 5V, die Spannung am mittleren Anschluss des Potis, gegen die Masse oder 5V messen. Hier sollte ein erkennbarer Unterschied zwischen läuft und läuft nicht messbar sein. Wenn Du das Poti dann auf 3 V einstellen kannst, könntest Du diese Spannung an einem GPIO anlegen und per Programm abfragen. Achtung immer auf die Polung achten. Am GPIO darf nie mehr als +3,3 V Anliegen

    Ist es das, was Du möchtest?

  • Grüße,

    die Pins am Pi liefern dir maximal 16mA.

    Wenn der Lüfter mehr braucht, raucht dir unter Umständen der Pi ab.


    Wenn du ein Gerät hast welches z.B. 2A benötigt sollte das Netzteil/Stromversorgung mindestens 2A liefern, besser etwas mehr.

    Ansonsten wird deine Stromversorgung zu warm bis kaputt gehen.


    Wenn dein Gerät 12V benötigt sollten da auch 12V angeschlossen werden aber niemals mehr. Sonst rauchts.


    Wenn du den Lüfter nicht steuern möchtest und nur überprüfen willst ob dieser läuft, könntest du den Lüfter an eine passende Stromzufuhr anschließen und das plus Signal mit einem Optokoppler abgreifen und damit überprüfen ob der Lüfter läuft.


    Wäre denke ich die einfachste Variante.

  • Du könntest theoretisch auch einen Stepup Spannungswandler nutzen.

    Der macht aus 3v dann deine 12v bzw. weniger. Damit könntest du auch deine Drehzahl per Hand einstellen.


    Stepup Spannungswandler (Affiliate-Link)


    Musst halt schauen was dein Lüfter für Strom will.


    Dann bräuchtest du theoretisch nicht schauen ob der Lüfter läuft weil du ihn mittels Pi schaltest.


    Hier noch ein Bsp. zum Optokopplerboard:

    Optokopplerboard

  • Hallo zusammen,


    danke erstmal für die Antworten. Es ist ja leider nicht immer so, dass man in einem Forum als neu angemeldeter User gleich eine Antwort bekommt. Aber hier, einfach toll ... somit noch einmal vielen DANK!!! :)


    Die Idee mit dem Potentiometer habe ich heute getestet, aber leider immer wieder das Problem, dass es nur hin und wieder zu funktionieren scheint, ich bin mir hier nicht ganz sicher, aber ich denke, dass es mit dem Tachosignal des Lüfters zusammenhängt und je nachdem wo der Lüfter eben stehen bleibt sich das Signal ändert oder eben nicht. Ich kann hier natürlich auch völlig falsch liegen?!?!


    Dass die Pins am Pi nicht für einen Lüfter oder ähnliches gedacht sind ist mir klar und das war so auch nicht der Ansatz (also zumindest nicht für den geplanten 60mm oder gar 80mm Lüfter). Der Lüfter hat im Grunde mit dem Pi nichts zutun, da er seine Spannung nicht über die Pins bezieht. Somit kann ich die Spannung unabhängig vom Pi anpassen wenn ich die Geschwidigkeit des Lüfters im Nachhinein doch noch ändern möchte (wobei die 5 V bei dem 60mm Testlüfter schon fast 10°C unterschied gebracht hatten, somit denke ich das sollte auch im Sommer noch sehr gut passen).


    Der Vorschlag mit dem Optokoppler (habe mich hier heute etwas zu dem Thema eingelesen) ist mir aber trotzdem nicht ganz klar, da ich mir nicht sicher bin, was die Überwachung des plus Signal denn hier bringen würde. Liege ich hier falsch oder ist es nicht doch auch so, dass wenn der Lüfter z.B. nicht genug Spannung bekommt, kommt der Motor nicht in Schwung und somit bleibt er beim Start stehen, die z.B. 5V liegen dann ja aber trotzdem an und der Lüfter steht. Das Problem hatte ich mit einem anderen Lüfter, der bei meinem Test eigentlich immer angesprungen ist, später dann aber im "Betrieb" (eingebaut in meinem "Projekt") doch immer wieder mal stehen geblieben ist, so dass ich die Spannung auf ca. 6V erhöhen musste damit er auch wirklich immer zuverlässig angelaufen ist - was aber wohl auch mit an der Ausrichtung des Lüfters lag :( ...


    Wenn ich hier einen Denkfehler habe, bitte einfach noch einmal in die richtige Richtung schubsen ;) ...


    Vielen DANK noch einmal!!!


    LG

    Anna

  • Du hast recht. Lüfter brauchen um anzulaufen mehr Saft.


    Dann hab ich nicht verstanden was du vor hast.

    Lüfter überprüfen oder Drehzahlsteuern oder beides?

  • Mir geht es eigentlich nur darum zu prüfen, ob sich der Lüfter dreht oder nicht, was ja eingeltich über das Tachosignal zu machen sein sollte (3 PIN Lüfter) und dieses Signal würde ich gerne auslesen über einen GPIO PIN, das würde mir schon völlig ausreichen. Sprich ist der Lüfter an "HIGH" steht er aus irgend einem Grund und dreht sich nicht "LOW" (also als Bsp.) dann kann ich dieses im Script weiter verarbeiten. Aber irgendwie finde ich dazu nichts das einfach nur in diese Richtung geht. Also ohne Drehzahl anpassung oder Überwachung oder versorung durch den Pi.


    Ich hoffe das Beschreibt es besser :) ... Danke auf jedenfall für die Rükfrage und Mühe!!!

  • Keine Ahnung ob du das vernünftig über das Tachosignal hin bekommst.


    Eine Frage:

    Wenn du deinen 12V Lüfter mit 5v oder 6v betreibst und der läuft aber nicht an. Liegen dann am minus 5V oder 6V an?


    Wenn nicht könntest du den Optokoppler nehmen.

    An der einen Seite des Optokoppler gehst du vom Lüfter zum Optokoppler und dann zum minus. Auf der anderen Seite des Optokopplers schließt du den Pi an also 3,3v.

    Wenn Strom auf der 12V Lüfter Seite fließt Schaltet der Optokoppler die Seite vom Pi und das kannst du dann auswerten.

  • Ich denke, Dein Lüfter gibt über die Tacholeitung Pulse aus, wenn er sich dreht. Wenn er sich nicht dreht hast Du entweder eine Spannung anliegen, oder eben nicht, je nach dem Winkel bei dem er stehen bleibt.

    Ergo müsstest Du am GPIO über die Potischaltung (s.d.) Pulse zählen. Also z.B. 1 - 2 Sekunden lang die Werte des GPIO schnell in ein Array schreiben und dann auswerten was drin steht. Pulse = Lüfter dreht.

    Wenn ich das richtig interpretiere, könnte es so klappen 😇.


    Spiel ein bisschen mit dem Tachosignal rum und Google mal wie viele Pulse pro Sekunde so ein Lüftertacho abgibt. Es sollten ja drehzahlabhängig nicht allzu viele sein. Hast Du ein Voltmeter zur Hand, manche können Pulse zählen.


    Good luck, Holger


    PS.

    Ich habe diese Aussage von einem Elektroniker in einem anderen Forum gefunden:

    Code: Zitat
    Bei allen mir bekannten 3-Pin Lüftern führt der zusätzliche Pin neben GND und VCC das Signal des internen Hallsensors und gibt einem zwei Pulse pro Umdrehung aus. Ist vielleicht nun nicht das beste Maß für Geschwindigkeit, aber immerhin genug um binär zwischen "Lüfter läuft" und "Lüfter kaputt" zu unterscheiden
  • Hallo zusammen,


    ich habe in den letzten Tagen zu diesem Thema etwas weiter gesucht da ich es unbedingt umsetzen möchte und dabei bin ich auf ein Anleitung aus dem Jahre 2002 gestoßen:


    http://www.modding-faq.de/index.php?artid=807


    Ich habe mir die genannten Teile zusammengesucht und das ganze ohne LED angepasst. Mit meinem Multimeter bekomme ich nun ca. 3.1V wenn sich der Lüfter dreht (angeschlossen ebenfalls an die 12V) und wenn er sich nicht mehr dreht, oder nicht anläuft (was bei 12V nicht passiert) ca. 0.18 bis 0.19V was für die GPIO Pins eigentlich genug sein sollte um zwischen "LOW" und "HIGH" unterscheidne zu können, zumindest nach dem was ich Online gefunden habe -> "Spannungen unter 0,8 V als "Low" erkennen und Spannungen über 1,3 V als "High""


    Das Verhalten, dass die Spannung sich auf mehr als 3V erhöht je nach Position in welcher der Lüfter nun ben stehen bleibt, konnte ich nach mehreren Tests auch nicht mehr verstellen. Angepasst habe ich das Ganze wie folgt:



    und wenn ich nun zwischen M1 und GNG messe, komme ich auf die oben genannten Ergebnisse ... :)


    R1 = 100k

    R2 = 560k

    R3 = 100k

    R4 = 47k

    R5 = 1k


    C1 = 22nF

    C2 = 22nF


    T1 = BC547A


    Meine Frage ist nun die, ob mir evtl. noch einmal jemand mit der Schaltung weiter helfen kann, da ich auf dem Gebiet wirklich nur die nötigsten Grundlagen verstehe (ich kenne mich mehr mit Scripten etc. aus. Aber das Ganze macht trotzdem einen riesen Spaß). Sprich mir vielleicht kurz erklären kann warum es hiermit nun klappt bzw. ob sich das Ganze vereinfachen lässt oder ob es erweitert werden muss bevor ich dann zum nächsten Schritt übergehe und den Aufbau mit meinem Pi teste, da ich ihn nicht auch noch auf meinem Gewissen haben möchte ;) ... z.B. einbau einer Diode wegen des Lüfter (Motor)? Da ich hierzu auch schon etwas gelesen habe.


    Ich wäre hier für jede weitere Hilfe super dankbar und vielleicht hilft es ja auch anderen die etwas in der Richtung gesucht haben, da ich wie schon geschrieben hierzu nicht wirklich viel gefunden habe.


    Schon einmal vielen Dank!!!


    LG

    Anna

  • Die meisten Lüfter haben i.d.R. einen OpenCollector Tachoausgang, d.h. mit einem Widerstand von der Versorgungsspannung des Lüfters zum Pin des Tachosignal ist dort bei drehendem Lüfter pro Umdrehung ein High bzw. ein Low Impuls zu messen. Jetzt stellt sich die Frage wie man dass auswertet. Wenn du schon einige negative Erlebnisse hattest, würde ich zu einer Erfassung über einen Optokoppler raten. Der Impuls des Tachosignals steuert einen Transistor welcher eine LED in einem Optokoppler schaltet. Das Signal auf der anderen Seite des Optokopplers wird dann über einen Vorwiderstand / Pullupwiderstand durch den RPi an einem GPIO Eingang ausgewertet. Der Rest ist Software.

  • Anna: Falls Du obige Schaltung an einen GPIO des Raspberry anschließt, ist es das gewesen mit Deinem PI.

    Die Schaltung gibt kurzzeitig 12V aus - also ca. 9V zuviel.


    Ich finde die Schaltung unnötig kompliziert. Falls der Lüfter am Tachosignal wirklich einen Open Collector hat - was durchaus sein kann, reicht es das Signal direkt auf einen GPIO zu legen und mit einem 10K Widerstand gegen 3,3V zu ziehen. Vorsichtshalber würde ich noch 1K zum Tachosignal empfehlen, falls der GPIO irgendwann mal als Ausgang und auf HIGH konfiguriert sein sollte...

    EDIT: Ganz sicher bin ich mir nicht, was die Schaltung macht - aber 12V sind definitiv gefährlich für den PI...

    ...wenn Software nicht so hard-ware ;) ...

    Freue mich über jeden like :thumbup:

  • Hallo Anna ,

    wenn Du Zeit hast, probier mal diese Filterschaltung hier. Über das Trimmpoti kannst Du die Ausgangsspannung zum GPIO hin regeln.

    Die Pulse des Tachosignals werden durch den großen Kondensator zu einer "welligen" Gleichspannung geglättet. Bitte Vorsicht, halte das maximale Ausgangssignal so bei 2,5V, nicht mehr.

    Kommen keine Pulse mehr, so wird durch den kleinen Kondensator kein Strom mehr fließen und am Ausgang liegt keine Spannung mehr an.

    Bitte zunächst mit dem Multimeter probieren !



    Da ich die Frequenz der Pulse nicht kenne, ist der Wert für den kleinen Kondensator geschätzt. Wenn Du keinen 100 µF Kondensator (Elko, ± beachten) hast, kannst Du auch einen größeren nehmen.

    Sollte Dein Lüfter am Tacho keine Pulse erzeugen, wird diese Schaltung nicht funktionieren.


    Gruß, Holger

  • meisten Lüfter haben i.d.R. einen OpenCollector Tachoausgang,

    Wenn dem so ist, fehlt in der Schaltung die Spannungsversorgung. Zuerst mal sollte man doch einfach mal die Spannung des Tachosignals messen. Wenn hier während des Betriebes keine Spannung zu messen ist, wird es wohl tatsächlich ein OpenCollector Ausgang sein. Wenn gilt meine Empfehlung aus #13.

    Danach noch eine kleine Software, die die Pulse des GPIO auswertet...

    ...wenn Software nicht so hard-ware ;) ...

    Freue mich über jeden like :thumbup:

  • Die Schaltung ist eigentlich schon etwas "oversized" und wird direkt so am Tachoausgang angeschlossen, nicht funktionieren. Und mit dem Messen ist das so eine Sache, selbst wenn man eine für den RPi nur "ungefährliche" Spannung misst, so bedeutet dass noch lange nichts. Bei einem einfachem Messgerät kann schnell mal "nur" 3V auf der Anzeige stehen, obwohl die Spannung einzelner Impulse deutlich höher ist. Da schafft nur ein Blick auf ein Oszi Gewissheit.

  • Weil ca. 95% aller Lüfter eine OC als Tachosignalausgang haben, d.h. dein Schaltungseingang klemmt nur auf dem C Pin des Transistors. Es braucht also noch einen "Verbraucher" ( Widerstand ) vom Tachoausgang nach +