Lüfterüberwachung PICO

Heute ist Stammtischzeit:
Jeden Donnerstag 20:30 Uhr hier im Chat.
Wer Lust hat, kann sich gerne beteiligen. ;)
  • Ich habe mal wieder ein Frage zu den GPIO an einem Raspberry Pico.

    Muss ich etwas beachten wenn ich das Tacho Signal eines 12 Volt Lüfters über ein Pico auswerten will ?

    Ich möchte über zwei NTC an zwei verschiedenen Stellen an einem Leistungstreiber mit Kühlkörpern deren Temperaturen erfassen und dementsprechend die Lüfter regeln. Die NTC-Abfrage über die ADC Anschluüsse habe ich schon soweit umgesetzt. Jetzt möchte ich noch eine Abfrage der Lüfterdrehzahl hinzufügen. Kann ich das abgehende Tachosignal der Lüfter direkt auf einen GPIO klemmen und eine Impulszählung vornehmen ? Oder benötige ich dafür eine Zusatzbeschaltung weil die Lüfter doch mit 12 Volt betrieben werden ?

    Roland aus Thüringen

  • ... Kann ich das abgehende Tachosignal der Lüfter direkt auf einen GPIO klemmen und eine Impulszählung vornehmen ? Oder benötige ich dafür eine Zusatzbeschaltung weil die Lüfter doch mit 12 Volt betrieben werden ?

    Schau zuerst mal in das Datenblatt des Lüfters, die meisten Lüfter haben für das Tachosignal einen Open-Collector-Ausgang. Alternativ kannst Du ja auch mal messen, ob aus dem Ausgang ein Signal kommt, falls nicht schaltest Du den Ausgang über einen Widerstand an deine 12V und misst danach noch einmal. Ich würde die Auswertung über einen Optokoppler machen, du kannst aber auch einen einfachen Spannungsteiler verwenden, wichtig ist nur das die max. Eingangsspannung der GPIO Ports eingehalten wird und ggf. der Strom begrenzt wird.

  • Danke Fliegenhals,

    entschuldigt bitte meine verzögerte Rückmeldung. Ich war leider Bettlägerig erkrankt.

    Ja ich habe das mal gemessen, so gut es mir mit meinen bescheidenen Mitteln möglich ist.
    Je nach Drehzahl des Lüfters erhalte ich hier ein Spannung Gleichspannungsmessung bis 8,7 V angezeigt, und bei einer Wechselspannungsmessung liegt der Wert ca 1,4 Volt unter dem was bei der Gleichspannungsmessung angezeigt wird.
    Ein Datenblatt, ja , sehr schlecht. Die Lüfter habe ich in einem Computerladen gekauft, braune Pappkartons, und der Aufdruck auf dem Lüfterrad hier ein Kreuz, ähnlich dem der franz. Spielkartenfarbe, bringt mich nicht wirklich weiter.
    Wenn es hilft als Information, ab 7% PWM von 100 beginnt sich der Lüfter langsam an zu drehen, wenn auch etwas rucklig noch. Ab etwa 9% laufen sie dann ganz rund und gleichmäßig. Die Lüfter haben alle diesen 3 Pin Mainboard Anschlussstecker.

  • In Zeiten des Krieges eine Lüfterdrehzahlsteuerung mit "Luftüberwachung" zu umschreiben, ist schon etwas schräg. :conf:

    Oh, man kann hier unliebsame Nutzer blockieren. Wie praktisch!

  • "Luftüberwachung" zu umschreiben

    Wo noch auf dieser Seite liest du das Wort "Luftüberwachung" ? :wink:

    Hast du schlecht geträumt, oder ist deine Brille verrutscht ?
    In der Überschrift zu diesem Thema steht ->

    Könntest du das bitte etwas detaillierter erklären, wie du zu dieser Aussage kommst. Denn ich kann damit nicht wirklich etwas anfangen. Danke.

  • Oh, da ist wirklich die Brille verrutscht. Da bin ich wohl Opfer meiner eigenen Wahrnehmung geworden. ;)

    Oh, man kann hier unliebsame Nutzer blockieren. Wie praktisch!

  • In Zeiten des Krieges eine Lüfterdrehzahlsteuerung mit "Luftüberwachung" zu umschreiben, ist schon etwas schräg. :conf:

    Und selbst wenn da irgendwo "Luftüberwachung" gestanden hätte, würde ich diesen Begriff nicht in diesen Zusammenhang bringen. Es geht ja nicht um Luftraumüberwachung und selbst über dieses Wort, müsste man sich nicht aufregen.

    Roland53

    mit einem Voltmeter wirst Du an einen OC Ausgang nichts vernünftiges messen können. Besser wäre ein Oszi bzw. wenn dein Messgerät eine Frequenzmessung hat, würde das schon eher funktionieren. ( mit einem Widerstand vom Tachosignalausgang zur Spannungsquelle )

    Dein Lüfter wird doch wohl sicher ein Typenschild o.ä. haben, mit dem man mal auf die Suche gehen könnte.

  • Fliegenhals

    mit deinen Vorschlägen komme ich so auch nicht wirklich weiter.
    Wie kann man ohne in eine Großinvestition wie in ein Oszi dennoch die Spannung ermitteln ? Ich will ja schließlich nur wissen ob die Lüfter sich überhaupt noch drehen. Eine Auswertung auf Drehzahl mit einer wirklich geringen Fehlerrate ist gar nicht notwendig.
    Aber ich habe nach wie vor Angst, wenn ich den gemessenen Spannungen Glauben schenke, das ich damit den GPIO kaputt mache, denn die Spannungen liegen teilweise deutlich über den 3,3 Volt die als Eingangsspannung zulässig sind.
    Danke

  • Wenn du nur wissen willst, ob sich der Lüfter dreht, wäre es erst mal praktisch, wenn du aus dem PWM-Signal des Lüfters ein stetiges Signal machst. Mit einem RC-Glied sollte das eigentlich gehen. Das Signal könntest du dann mit einer Zenerdiode auf 3,3 V begrenzen und mit dem Pi erfassen.

    Geht das? Oder wäre da noch mehr zu beachten?

    Oh, man kann hier unliebsame Nutzer blockieren. Wie praktisch!

  • Fliegenhals

    mit deinen Vorschlägen komme ich so auch nicht wirklich weiter.
    Wie kann man ohne in eine Großinvestition wie in ein Oszi dennoch die Spannung ermitteln ? Ich will ja schließlich nur wissen ob die Lüfter sich überhaupt noch drehen. Eine Auswertung auf Drehzahl mit einer wirklich geringen Fehlerrate ist gar nicht notwendig.
    Aber ich habe nach wie vor Angst, wenn ich den gemessenen Spannungen Glauben schenke, das ich damit den GPIO kaputt mache, denn die Spannungen liegen teilweise deutlich über den 3,3 Volt die als Eingangsspannung zulässig sind.
    Danke

    K.A. was nun genau das Problem ist, wenn Du mit der max. Eingangsspannung zum PICO sichergehen willst dann verwendest Du wie bereits geschrieben eine Schaltung mit einem Optokoppler. Das mit der "Abfrage der Lüfterdrehzahl" steht so in deinem Startbeitrag und da Du nicht den Typ des Lüfters nennen kannst, kann man nur eine allgemeine Aussage treffen. Es gibt ja nicht nur den einen Lüftertyp. Bei den meisten Lüftern wird ein unbeschalteter Kollektoreingang eines Transistor, ein mal pro Umdrehung nach Masse geschaltet ( das ist nur ein Impuls u. kein PWM Signal ) damit dieses Signal ausgewertet werden kann, muss ein geschlossener Stromkreis entstehen, d.h. es ist mindestens ein Widerstand vom Tachoausgang des Lüfters zur Spannungsquelle nötig. Ob man das Signal dann analog o. digital auswertet kommt halt auf die sonstigen Gegebenheiten an.

    Wenn dich aber nur interessiert ob der / die Lüfter laufen, so kannst Du doch diese Info indirekt aus der Temperaturmessung über deine NTC's und der Drehzahl (PWM) ermitteln. Hat also bei gleicher Leistung in deiner Schaltung, eine Erhöhung der Lüfterdrehzahl eine Senkung der Temperatur zur folge, ist davon auszugehen, das der Lüfter läuft.

  • Fliegenhals

    wie ich dir schon mitgeteilt hatte habe ich diese Lüfter in einem braunen Pappkarton erworben, auf denen nur ein Barcode des Verkäufers und die minimlistischen Angaben "PC-Lüfter 12 Volt und 4800 U/min" enthalten sind. Dieser Karton hat ein Loch, ein großes rundes, wo man den - wie nennt man das Die Narbe des Lüfterrades sehen kann. Auf diesen befindet sich ein Symbol in Form eines Kreuzes wie bei einer französischen Spielkarte. Mehr Infos habe ich nicht. Jedoch habe ich dort noch einmal dort angerufen, und nur die selben Infos in Erfahrung bringen können, und das es OEM Lüfter aus einer Konkursmasse sind. Dafür waren sie verhältnismäßig günstig, sie funktionieren aber auch rein von dem was sie als Lüfter machen sollen. Sind angenehm leise, machen bei Fullpower ordentlich Wind. Außer diesem Markierung auf der Narbe selber gibt es auf dem Lüfter keinerlei Angaben oder Hinweise zu einem Hersteller oder den Betriebsparametern.
    Okay, deine Idee aufgegriffen mit dem Optokoppler. Wie dann weiter ?
    Einfach den Optokoppler an den Tachosignal Ausgang gegen Masse klemmen, und dann mit dem Ausgang dieses auf das PICO ?

    Könntest du evt. bitte mal eine Beschaltungsskizze hier posten ? Danke

  • Wenn du nur wissen willst, ob sich der Lüfter dreht, wäre es erst mal praktisch, wenn du aus dem PWM-Signal des Lüfters ein stetiges Signal machst. Mit einem RC-Glied sollte das eigentlich gehen. Das Signal könntest du dann mit einer Zenerdiode auf 3,3 V begrenzen und mit dem Pi erfassen.

    Geht das? Oder wäre da noch mehr zu beachten?

    Das verstehe ich überhaupt nicht !
    Wenn der Lüfter drehen soll, gibt der Pico einen Signal pwm.duty_u16(5_900) oder großer - bis (65_ 535) aus. Darunter dreht der Lüfter noch nicht an. Den optimale PWM Takt konnte ich experimentell ermitteln. Diesen habe ich mit pwm.freq(1_210)  ermittelt, hier dreht der Lüfter mi dem kleinst möglichen duty_u16 Wert an.
    Das PWM-Signal aus dem Pico ist doch schon auf 3,3 Volt limitiert !? Was bringt mir hier eine Z-Diode ?

    Oder meinst du mit dem PWM-Signal das Tachosignal des Lüfters ?

  • Ja, natürlich meine ich das Tachosignal des Lüfters - darum gehts doch bei deiner Frage. Oben wirde zwar gesagt, es sei ein Impuls und kein PWM-Signal, aber da wäre ich mir nicht so sicher. Es kann durchaus sein, dass die Pulse bei langsamer Drehung länger sind als bei schneller Drehung - und dann wäre es doch ein PWM-Signal. Das spielt aber möglicherweise hier nicht die entscheidende Rolle.

    Du solltest erst mal rauskriegen, was dein Lüfter als Ausgangssignal liefert. Wenn ich dich richtig verstehe, wird er an 12 V angeschlossen und du misst je nach Drehzahl verschiedene Spannungen am Tachoausgang. Das scheint mir dann ein 12-Volt-PWM- oder Puls-Signal zu sein. Ein Multimeter ist so träge, dass es dann eben eine Spannung unter 12 V anzeigt, je nach Geschwindigkeit.

    Aber das ist doch noch ziemlich spekulativ, weil nicht klar, ist, was du verkabelt hast. Vielleicht ist es auch ein Open Collector, das wäre wesentlich einfacher.

    Falls es ein 12-V Signal ist, hast du folgende Situation:

    - 12 Volt sind zu viel für den Pi, du darfst nur 3,3 V haben.

    - Du bekommst ein unterbrochenes Signal, das relativ blöd auszuwerten ist, weil du fallweise beim auslesen gerade kein Signal angezeigt bekommst, obwohl sich der Lüfter dreht (weil du gerade in der Aus-Phase des Signals misst).

    Abhilfe wäre:

    - du begrenzt die Spannung am Ausgang mit einer Zenerdiode auf maximal 3,3 V. Ein Widerstand (1 K) sorgt dafür, dass der Strom durch die Zenerdiode klein bleibt.

    - du "speicherst" die Spannung im Kondensator eines RC-Gliedes. Die Pulse des Tachosignals laden den Kondensator auf. In den Pulspausen entläd er sich sehr langsam über einen Widerstand (deshalb RC-Glied - R für Widerstand, C für Capacitor=Kondensator). Da das Entladen sehr langsam geht (R = 20 K oder größer), bleibt die Spannung bei ca. 3,3 V, auch wenn in den Pulspausen (Millisekunden) keine Ladung (kein Strom) vom Tachosignal nachfließt. Wenn der Lüfter aber "länger" steht (also z. B. > eine Sekunde), dann hat die Ladung des Kondensators genug Zeit, abzufließen und die Spannung sinkt auf null. Das kannst du dann mit dem Pi gut erfassen. Ich hab die Werte so gewählt, dass die Zeitkonstante des RC-Gliedes bei einer Sekunde liegt.

    Es wäre aber wirklich sinnvoll, mehr über das Signal des Tachoausgangs zu wissen. Wenn der wiederum einen Pulldown hat, saugt er vielleicht die Ladung aus dem Kondensator selbst wieder ab, was dann vielleicht die Sache stört. Dann müsste man noch eine Diode (In der Zeichnung rechts) einbauen, um den Rückfluss zu sperren. Blöd wäre. wenn der Tacho im Stillstand die 12 V liefert. Ich gehe davon aus, dass das Signal auf null ist, wenn sich das Ding nicht dreht - das kannst du ja leicht messen. Den 20-K-Widerstand kannst du dir vielleicht sparen, wenn du den internen Pulldown des Pi verwendest - da dessen Größe aber nicht genau bekannt ist, müsstest du dann den Kondensator ggf. anpassen. Größenordnungsmäßig sollte es aber gehen (die internen Pulldowns liegen angeblich zwischen 30 und 50 K).

    Das sollte doch klappen, oder?

    Oh, man kann hier unliebsame Nutzer blockieren. Wie praktisch!

    5 Mal editiert, zuletzt von Gnom (5. April 2023 um 17:45)

  • ... Einfach den Optokoppler an den Tachosignal Ausgang gegen Masse klemmen, und dann mit dem Ausgang dieses auf das PICO ?

    Den Link mit der Beschreibung eines Opencollectorausgangs bzw. meine Erklärung zur Funktionsweise hast Du dir nicht angesehen? Um die Funktion eines OC Lüfters Ausgang zu testen, schaltest Du eine LED über einen ca. 1KOhm Vorwiderstand an +12V deiner Lüfter SV, der Kathodenanschluss der LED kommt an den Tachoausgang des Lüfters. Spiel mal etwas mit der Drehzahl des Lüfters, bzw. halte den Rotor mal an verschiedenen Positionen an und beobachte die LED. Wenn die Helligkeit der LED mit der Drehzahl zu- / abnimmt bzw. beim Blockieren des Lüfters ausgeht, wird es mit hoher Wahrscheinlichkeit ein OC Ausgang sein. Sicher ist die Impulsdauer am Tachoausgang abhängig von der Lüfterdrehzahl, aber PWM ( PulsWeite = OK, aber Modulation ) meint etwas anderes. Man braucht mit einem OC Ausgang auch keinen Optokoppler bzw. Spannungsteiler, lass die LED weg und schalte den 1K Widerstand direkt an den Tachoausgang und die 3,3V SV von deinem Pico, damit hast Du am Tachoausgang ein 3,3V Signal welches einmal pro Umdrehung nach GND gezogen wird. Die Massen der 12V SV des Lüfters u. des Pico müssen verbunden sein. ( Die Spannung des Tachosignals würde ich vor dem Anschluss an den Pico sicherheitshalber nochmal messen! )

  • Sicher ist die Impulsdauer am Tachoausgang abhängig von der Lüfterdrehzahl, aber PWM ( PulsWeite = OK, aber Modulation ) meint etwas anderes.

    Ja, das stimmt natürlich. Der Duty Cycle wäre ja trotzdem immer der gleiche nur die Frequenz steigt mit größerer Drehzal in dem Maße in dem auch der Impuls kürzer wird. Aber hier gehts ja eh nicht um die Länge des Impulses oder den Duty Cycle, insofern hat es für die Anwendung keine große Bedeutung.

    Oh, man kann hier unliebsame Nutzer blockieren. Wie praktisch!

  • Hallo Leute,

    erst einmal ein schönes Ostern, wenn auch verspätet.

    Ich bin leider nicht früher dazu gekommen mit diesem Experiment fortzufahren.

    Fliegenhals mit diesem Link komme ich nicht klar. Entschuldigung, das überschreitet meinen Wissenshorizont.

    Gnom deine Schaltung wie dargestellt funktioniert irgendwie nicht so. Jedoch habe ich den linken Teil neben der Z-Diode durch eine LED mit einem Vorwiderstand ersetzt. Als Detektor mangels eines echten Optokopplers habe ich Fototransistor verwendet. Sozusagen einen offenen Optokoppler selber auf dem Steckbrett aufgebaut. Jetzt muss ich nur noch erreichen einen dauerhaften Low = 0 Volt Pegel zu erhalten, wenn die LED nicht blinkert. Jedoch kann ich jetzt mit machine.time_pulse_us() auf das Signal - Level 0 "to Low" eine proportionale Verkürzung der Impulszeit feststellen, die mit zunehmender Drehzahl in Übereinstimmung steht. Aktuell verwende ich einen 3,3 kOhm Widerstand am Collector des FT, und gehe von dort aus zu dem Eingangs-GPIO. Den FT speise ich mit 3,3 Volt aus dem Pin 36 des PICOs über diesen Widerstand. Der Emitter des FT liegt z.Z. auf GND. Wenn ich nun die Verbindung zum PICO an den Emitter anschließe bekomme ich keine erfassbaren Impulse mehr.

    Ich danke euch für eure Geduld, auch wenn es bei mir manchmal etwas länger dauert bis ich euch antworten kann.

    Danke nochmals.

    Roland

  • Hast du mal gemessen, was die Schaltung macht, wenn du 12 V anlegst? Wie es dann mit den Impulsen aussieht, ist noch mal ne andere Sache, je nachdem, wie kurz die sind, muss man vielleicht noch an den Widerständen basteln. Entscheidend ist aber, dass hinten nur ca. 3,3 V rauskommen und dass die Schaltung ne gewisse Verzögerunung bewirkt.

    Oh, man kann hier unliebsame Nutzer blockieren. Wie praktisch!

  • Guten Morgen

    Gnom

    ich bin mit der Lösung über die LED und den Fototransistor soweit zufrieden, und würde diesen experimentellen Aufbau später durch einen Optokoppler als Baustein ersetzen wollen. Mein Hauptaugenmerk liegt jetzt noch auf der Pegelumkehr am FT. Dazu habe ich nun, wenn auch immer noch mit dem umgekehrten Pegel eine kleine Routine für einen TIMER geschrieben, welcher mit einer Periode von 500 ms period= 500 am GPIO eine einzelne Impulslängenmessung durchführt, bei einem Timeout von 250.000 µs.

    Roland

  • Wenn du die Impulslänge messen willst, musst du aber den Kondensator weglassen - der soll je gerade die Impulse verlängern, damit beim Drehen des Lüfters dauerhaft ein Signal anliegt.

    Im Übrigen wäre es, wenn du die Drehgeschwindigkeit ermitteln willst, sinnvoller, die Frequenz zu messen, als die Impulslänge.

    Oh, man kann hier unliebsame Nutzer blockieren. Wie praktisch!

  • ...
    Fliegenhals mit diesem Link komme ich nicht klar. Entschuldigung, das überschreitet meinen Wissenshorizont.

    Gnom deine Schaltung wie dargestellt funktioniert irgendwie nicht so.

    ....

    Ich kann mich irren, aber wie bereits geschrieben, muss kein OC Tachosignalausgang sein, es ist aber sehr oft so. Bevor man eine Schaltung mit "unbekannten Komponenten" aufbaut, testet man i.d.R. deren Funktion bzw. Funktionsweise, z.B. nach welchem Prinzip funktioniert der Tachoausgang. Zum Thema Wiki-Link, es kommt halt auf das Wesentliche an.

    Zitat

    Der Open-Collector-Ausgang (OC) (zu deutsch „offener Kollektor“, auch „unbeschalteter Kollektor“) ist ein Ausgang einer integrierten Schaltung.

    Je nach Schaltzustand ist der OC entweder hochohmig, oder er ist niederohmig mit Masse verbunden.

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!