Datenlogging des Tachosignals von externen 12-V-Lüftern mit RaspPi etc
Hallochen Gemeinde,
in einem Projekt soll bei mehreren spannungsgeregelten 12-V-Lüfter (3-pin) die Drehzahl kontinuierlich aufgezeichnet werden. Daher spricht alles dafür, dies mit einem Raspberry Pi oder einem vergleichbaren Einplatinencomputer oder ... zu realisieren.
Es gibt zwar ganz viele 3-pin-(PC-)Lüftersteuerungen wie beispielsweise Lamptron FC5 V2, die unabhängig von dem Einbau in einem PC betrieben werden könn(t)en. Über deren Display kann auch pro Kanal die aktuelle Drehzahl mit dem Auge abgelesen werden, aber mangels USB-/LAN-Anschluss ist das einer konstanten Datenaufzeichnung nicht zugänglich.
Ferner gibt es (PC-bezogene) Steuerungen, die auch an eine proprietäre Software (über Cloud) gebunden werden können. Aber eine Klicki-Bunti-Oberfläche wird nicht benötigt, zumal nicht ohne weiteres ersichtlich ist, inwieweit die hier interessierenden Drehzahldaten außerhalb der proprietären Software kontinuierlich aufgezeichnet werden können.
Es genügt völlig, wenn auf Systemebene über einen Gerätetreiber etc. die Daten ausgelesen und gegebenenfalls die Regelwerte für die Spannung geschrieben werden könnten.
So gibt es beispielsweise PCA9685-16-Kanal-Treiber-Boards. Diese gehen im Ansatz in die richtige Richtung. Aber beim jeweiligen Kanal kann das Tachosignal nicht ausgelesen werden, zumal mit den 3-pin-Anschlüssen pro Kanal kein Tachosignal zurückgeliefert werden kann, weil der dritte Pin das PWM-Signal an den Lüfter weitergibt. Außerdem scheinen diese Boards eher für die Ansteuerung von Servomotoren gedacht zu sein als für die Ansteuerung von bürstenlosen Motoren wie bei 3-pin-12-V-Lüftern. Mithin ist die Datenaufzeichnung über diese Boards nicht möglich.
Ein interessanter Ansatz könnte das OpenFAN-Modul mit 10 Kanälen sein. Hier sind laut der Eigenbeschreibung interessante Steuerungsmöglichkeiten gegeben. Problematisch für meinen Anwendungsfall sind einmal die Ausrichtung auf 4-pin-PWM-Lüfter, was die Ergänzung eine entsprechenden Treiberbeschaltung (Transistor/MOSFET) pro Kanal erfordern würde. Das ist mit der Situation bei den PCA9685-Boards vergleichbar, weil bei den PCA9685-Boards ohnehin zumeist noch eine Treiberbeschaltung nötig ist. Sofern mehrere Lüfter über einen Kanal angesteuert werden würden, würde dies ebenfalls eine Treiberbeschaltung für den betreffenden Kanal erforderlich machen.
Außerdem ist dieses Modul nicht skalierbar, wenn mehr als 10 Kanäle benötigt werden. Derzeit sind 18 Lüfter anzusteuern und es könnten noch ein oder zwei hinzukommen, wenngleich durchaus überlegenswert sein könnte, bei bestimmten Lüftern mehrere auf einen Kanal zu bündeln. Jedoch kann dann bekanntlich wieder nur bei einem der gebündelten Lüfter das Tachosignal erfasst werden.
Leider hat dieses Modul nur einen WiFi-Netzwerkzugang und keinen auf Drahtbasis. Die USB-Schnittstelle scheint jedenfalls nur dazu zu dienen, die Firmware-Updates aufspielen zu können, es sei denn, die API-Beschreibung meint mit dem Locally-API-Serverzugriff, dass das Modul über USB an einem Computer angeschlossen ist und auf diesem Computer der API-Server läuft. Das ist für mich nicht ganz klar verständlich. Sollte es aber doch so sein, so könnte der Computer eben auch ein RaspberryPi & Co. sein.
Gäbe es dieses Modul direkt für 3-pin-Lüfter und mit LAN-Schnittstelle, so wäre es auf den ersten Blick wohl ein Favorit.
(Zur Info: Das Modul gibt es auch in einer Mini-Ausführung für die Ansteuerung von nur einem (PWM-)Lüfter.)
Ein ähnlicher Ansatz wie das vorgenannte Modul könnte ein OCTO Fan Controller in Verbindung mit den Linux-Tools lm-sensors / fancontrol sein. Diese Tools würden ja das Datenlogging der Drehzahlen bieten. Das genaue Zusammenspiel mit dem OCTO, um die Spannung / Drehzahl zu verändern, ist für mich aber noch offen. Wahrscheinlich kommt es darauf gar nicht an, wenn stattdessen das Tool liquidctl dem ersten Anschein nach alles bieten könnte. Wegen der PWM-Auslegung der Kanäle besteht abermals der Bedarf der Treiberbeschaltung.
Die große Frage bei dem OCTO ist, ob er auch ohne die AquaComputerSuite lauffähig ist und die unmittelbare Ansteuerung der Lüfter reguliert.
Ein Vorteil des OpenFAN-Moduls scheint aber zu sein, dass es jedenfalls auch autonom als eigenständiges Netzwerkgerät betreibbar und zugreifbar wäre - wegen der WiFi-Funktion. Bei dem OCTO ist das nicht der Fall, weil es der USB-Verbindung zu einem Computer bedarf.
Dann könnte noch der deutlich höhere Preis des OCTO für das OpenFAN-Modul sprechen, wenngleich der OCTO zugleich Temperatur- und andere Sensoren unterstützt. Immerhin kann der OCTO hier in Deutschland gekauft werden. Physisch haben die beiden vergleichbare Dimensionen, die in etwa den Grundmaßen üblicher Erweiterungsplatinen für die Raspberry Pi's entsprechen.
Ferner gibt es unzählige Beschreibungen, wie mit einem Einplatinencomputer ein 3-pin-Lüfter gesteuert und das Tachosignal erfasst werden könnte. Für das Tachosignal wird ein interruptfähiger GPIO-Pin genutzt. Die Ansteuerung - insoweit meist ein einfacher Treiber mittels Transistor/MOSFET - von mehr als diesem einen Lüfter ist dann nicht oder nur eingeschränkt möglich, wenn das Tachosignal von jedem Lüfter erfasst werden soll. Infolgedessen müsste pro (wenigen) Lüfter(n) je ein Einplatinencomputer verwendet werden, was allein aus Platzgründen nicht darstellbar wäre.
Kennt jemand eine taugliche Erweiterungsplatine für RaspPi, Arduino & Co., die das Auslesen der Drehzahlen ermöglichen würde, möglichst für mehrere Kanäle / zugleich angeschlossene Lüfter?
Die Steuerung der Spannung für den/die 3-pin-Lüfter muss dabei nicht zwingend enthalten sein. Aber meinem Eindruck nach ist es eher immer so, dass die Auswertung des Tachosignals, sofern sie denn vorhanden wäre, eine Zusatzoption einer konkreten Ansteuerung ist.
Gibt es alternativ Erfahrungen mit dem OpenFAN-Modul oder dem OCTO Fan Controller?
Ist außerdem eine passende (fertige) Platine mit der nötigen Treiberbeschaltung für mehrere Kanäle (z.B. mit Treiber-IC) bekannt?
Im Hinblick auf die Skalierbarkeit für mehrere Lüfter wäre natürlich eine mehrfache Anbindung über die GPIO-Leiste oder über den I2C-Bus wohl vernünftig. Wiederum nachteilhaft - schon aus Platzgründen - wäre betreffend die Skalierbarkeit, wenn eine taugliche Erweiterungsplatine nur einen oder zwei Kanäle hätte.
Vielen Dank im Voraus für Euren Input und viele Grüße
HansDampf06
PS: Bitte beachtet, dass ein Austausch der 3-pin-Lüfter gegen 4-pin-PWM-Lüfter derzeit kein zu diskutierendes Thema ist!
in einem Projekt soll bei mehreren spannungsgeregelten 12-V-Lüfter (3-pin) die Drehzahl kontinuierlich aufgezeichnet werden. Daher spricht alles dafür, dies mit einem Raspberry Pi oder einem vergleichbaren Einplatinencomputer oder ... zu realisieren.
Es gibt zwar ganz viele 3-pin-(PC-)Lüftersteuerungen wie beispielsweise Lamptron FC5 V2, die unabhängig von dem Einbau in einem PC betrieben werden könn(t)en. Über deren Display kann auch pro Kanal die aktuelle Drehzahl mit dem Auge abgelesen werden, aber mangels USB-/LAN-Anschluss ist das einer konstanten Datenaufzeichnung nicht zugänglich.
Ferner gibt es (PC-bezogene) Steuerungen, die auch an eine proprietäre Software (über Cloud) gebunden werden können. Aber eine Klicki-Bunti-Oberfläche wird nicht benötigt, zumal nicht ohne weiteres ersichtlich ist, inwieweit die hier interessierenden Drehzahldaten außerhalb der proprietären Software kontinuierlich aufgezeichnet werden können.
Es genügt völlig, wenn auf Systemebene über einen Gerätetreiber etc. die Daten ausgelesen und gegebenenfalls die Regelwerte für die Spannung geschrieben werden könnten.
So gibt es beispielsweise PCA9685-16-Kanal-Treiber-Boards. Diese gehen im Ansatz in die richtige Richtung. Aber beim jeweiligen Kanal kann das Tachosignal nicht ausgelesen werden, zumal mit den 3-pin-Anschlüssen pro Kanal kein Tachosignal zurückgeliefert werden kann, weil der dritte Pin das PWM-Signal an den Lüfter weitergibt. Außerdem scheinen diese Boards eher für die Ansteuerung von Servomotoren gedacht zu sein als für die Ansteuerung von bürstenlosen Motoren wie bei 3-pin-12-V-Lüftern. Mithin ist die Datenaufzeichnung über diese Boards nicht möglich.
Ein interessanter Ansatz könnte das OpenFAN-Modul mit 10 Kanälen sein. Hier sind laut der Eigenbeschreibung interessante Steuerungsmöglichkeiten gegeben. Problematisch für meinen Anwendungsfall sind einmal die Ausrichtung auf 4-pin-PWM-Lüfter, was die Ergänzung eine entsprechenden Treiberbeschaltung (Transistor/MOSFET) pro Kanal erfordern würde. Das ist mit der Situation bei den PCA9685-Boards vergleichbar, weil bei den PCA9685-Boards ohnehin zumeist noch eine Treiberbeschaltung nötig ist. Sofern mehrere Lüfter über einen Kanal angesteuert werden würden, würde dies ebenfalls eine Treiberbeschaltung für den betreffenden Kanal erforderlich machen.
Außerdem ist dieses Modul nicht skalierbar, wenn mehr als 10 Kanäle benötigt werden. Derzeit sind 18 Lüfter anzusteuern und es könnten noch ein oder zwei hinzukommen, wenngleich durchaus überlegenswert sein könnte, bei bestimmten Lüftern mehrere auf einen Kanal zu bündeln. Jedoch kann dann bekanntlich wieder nur bei einem der gebündelten Lüfter das Tachosignal erfasst werden.
Leider hat dieses Modul nur einen WiFi-Netzwerkzugang und keinen auf Drahtbasis. Die USB-Schnittstelle scheint jedenfalls nur dazu zu dienen, die Firmware-Updates aufspielen zu können, es sei denn, die API-Beschreibung meint mit dem Locally-API-Serverzugriff, dass das Modul über USB an einem Computer angeschlossen ist und auf diesem Computer der API-Server läuft. Das ist für mich nicht ganz klar verständlich. Sollte es aber doch so sein, so könnte der Computer eben auch ein RaspberryPi & Co. sein.
Gäbe es dieses Modul direkt für 3-pin-Lüfter und mit LAN-Schnittstelle, so wäre es auf den ersten Blick wohl ein Favorit.
(Zur Info: Das Modul gibt es auch in einer Mini-Ausführung für die Ansteuerung von nur einem (PWM-)Lüfter.)
Ein ähnlicher Ansatz wie das vorgenannte Modul könnte ein OCTO Fan Controller in Verbindung mit den Linux-Tools lm-sensors / fancontrol sein. Diese Tools würden ja das Datenlogging der Drehzahlen bieten. Das genaue Zusammenspiel mit dem OCTO, um die Spannung / Drehzahl zu verändern, ist für mich aber noch offen. Wahrscheinlich kommt es darauf gar nicht an, wenn stattdessen das Tool liquidctl dem ersten Anschein nach alles bieten könnte. Wegen der PWM-Auslegung der Kanäle besteht abermals der Bedarf der Treiberbeschaltung.
Die große Frage bei dem OCTO ist, ob er auch ohne die AquaComputerSuite lauffähig ist und die unmittelbare Ansteuerung der Lüfter reguliert.
Ein Vorteil des OpenFAN-Moduls scheint aber zu sein, dass es jedenfalls auch autonom als eigenständiges Netzwerkgerät betreibbar und zugreifbar wäre - wegen der WiFi-Funktion. Bei dem OCTO ist das nicht der Fall, weil es der USB-Verbindung zu einem Computer bedarf.
Dann könnte noch der deutlich höhere Preis des OCTO für das OpenFAN-Modul sprechen, wenngleich der OCTO zugleich Temperatur- und andere Sensoren unterstützt. Immerhin kann der OCTO hier in Deutschland gekauft werden. Physisch haben die beiden vergleichbare Dimensionen, die in etwa den Grundmaßen üblicher Erweiterungsplatinen für die Raspberry Pi's entsprechen.
Ferner gibt es unzählige Beschreibungen, wie mit einem Einplatinencomputer ein 3-pin-Lüfter gesteuert und das Tachosignal erfasst werden könnte. Für das Tachosignal wird ein interruptfähiger GPIO-Pin genutzt. Die Ansteuerung - insoweit meist ein einfacher Treiber mittels Transistor/MOSFET - von mehr als diesem einen Lüfter ist dann nicht oder nur eingeschränkt möglich, wenn das Tachosignal von jedem Lüfter erfasst werden soll. Infolgedessen müsste pro (wenigen) Lüfter(n) je ein Einplatinencomputer verwendet werden, was allein aus Platzgründen nicht darstellbar wäre.
Kennt jemand eine taugliche Erweiterungsplatine für RaspPi, Arduino & Co., die das Auslesen der Drehzahlen ermöglichen würde, möglichst für mehrere Kanäle / zugleich angeschlossene Lüfter?
Die Steuerung der Spannung für den/die 3-pin-Lüfter muss dabei nicht zwingend enthalten sein. Aber meinem Eindruck nach ist es eher immer so, dass die Auswertung des Tachosignals, sofern sie denn vorhanden wäre, eine Zusatzoption einer konkreten Ansteuerung ist.
Gibt es alternativ Erfahrungen mit dem OpenFAN-Modul oder dem OCTO Fan Controller?
Ist außerdem eine passende (fertige) Platine mit der nötigen Treiberbeschaltung für mehrere Kanäle (z.B. mit Treiber-IC) bekannt?
Im Hinblick auf die Skalierbarkeit für mehrere Lüfter wäre natürlich eine mehrfache Anbindung über die GPIO-Leiste oder über den I2C-Bus wohl vernünftig. Wiederum nachteilhaft - schon aus Platzgründen - wäre betreffend die Skalierbarkeit, wenn eine taugliche Erweiterungsplatine nur einen oder zwei Kanäle hätte.
Vielen Dank im Voraus für Euren Input und viele Grüße
HansDampf06
PS: Bitte beachtet, dass ein Austausch der 3-pin-Lüfter gegen 4-pin-PWM-Lüfter derzeit kein zu diskutierendes Thema ist!
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 674050
Url: https://administrator.de/forum/raspberry-pi-datenlogging-luefter-674050.html
Ausgedruckt am: 30.07.2025 um 10:07 Uhr
15 Kommentare
Neuester Kommentar
Ich würde nicht den Raspi oder Arduino die Signale per IRQ zählen lassen, sondern einen kleinen Zähler Chip, der vom Raspi per I2C auf 0 gesetzt wird und nach einer gewissen Zeit das Zählregister ausgelesen wird und danach wieder auf 0 gesetzt wird. Dieses ließe sich dann auch hübsch multiplexen. Somit hätte der Raspi fast nichts zu tun...
Moin @HansDampf06,
ich habe ehrlich gesagt immer noch nicht so ganz verstanden, was du genau vor hast.
Wo sind die 18 Lüfter den überhaupt verbaut?
Gruss Alex
ich habe ehrlich gesagt immer noch nicht so ganz verstanden, was du genau vor hast.
Wo sind die 18 Lüfter den überhaupt verbaut?
Gruss Alex
de.elv.com/p/elv-arr-bausatz-usb-ic-interface-usb-i2c-2-P160452/
Der RasPi bringt aber den I2C-Bus doch schon mit.
Jürgen
Der RasPi bringt aber den I2C-Bus doch schon mit.
Jürgen
mikrocontroller.net/attachment/208351/Bildschirmfoto_2014-02-20_ ...
Hier eine Schaltung für optische Drehzahlerfassung und I2C-Bus
Jürgen
Hier eine Schaltung für optische Drehzahlerfassung und I2C-Bus
Jürgen
reichelt.de/magazin/projekte/optischer-drehzahlmesser/
Und hier gleich eine ganze Bauanleitung.
Jürgen
Und hier gleich eine ganze Bauanleitung.
Jürgen