Hallo Gemeinde,
wollte euch mal mitteilen, dass ab der Version ESPEasy "mega-20191123" endlich die Drehzahlregelung von den 4 Pin PC Lüftern funktioniert. Vorher ging das auch schon, nur leider konnte die Trägerfrequenz nicht verändert werden, so dass deshalb manche Lüfter gepiept haben.
Der Lüfter wird ganz normal an 12V Angeschlossen und das PWM Signal vom ESP8266 Ausgang an den PIN 4 von dem Lüfter. Da der ESP eine Spannung von ca. 3V am GPIO Ausgang liefert und das PWM Signal bis zu 5 V (Low Signal <0,8V / max. high Signal 5,25V) hoch sein darf, ist die Ansteuerung kein Problem.
Danach muss nur noch ein MQTT Befehl an den ESP geschickt werden und alles läuft wunderbar. ESP Easy muss hierfür nicht großartig konfiguriert werden, es sollte nur MQTT aktiviert sein.
PWM,<GPIO>,<duty>,<duration>,<frequency>
Publish:
ESP_Easy_30/cmd
PWM,16,512,0,25000
Im Beispiel wird der GPIO16 angesprochen. Es wird ein Tastverhältnis (duty cycle: 512) von 50% eingestellt, also halbe Lüfterdrehzahl. Der Wert von Duty kann von 0-1023 eingestellt werden. Die Trägerfrequenz beträgt PWM-Lüfterkonforme 25kHz (25000) und es piept nix.
Was ich noch nicht hinbekommen habe, ist die Auswertung des Tachosignals von den PC Lüftern mit ESP Easy, aber vielleicht kann jemand von euch das Geheimnis verrraten ;-)
Hallo Martin,
um ein Signal überhaupt auswerten zu können, müsste man zuerst wissen, wie das Tacho-Signal aussieht.
Dann kann man erst darüber eine Aussage treffen, ob ESPEasy oder Tasmota oder sonstige Software von sich aus in der Lage ist
das Signal so zu verarbeiten oder ob es eventuell für die Verarbeitung erst "aufgearbeitet" werden muss.
Ich häng mich hier mal dran, weil ich das gleiche schon mal mit einem RPI gemacht und auch schon überlegt habe, das irgendwann auf einem ESP umzusetzen.
Der hier dürfte mit ESPEasy pulse counter versucht habe, jedoch nicht erfolgreich wie es scheint.
https://www.letscontrolit.com/forum/viewtopic.php?t=4771
Wiki:
https://www.letscontrolit.com/wiki/index.php?title=Pulse_logic_input
Zitat von: Papa Romeo am 09 Dezember 2019, 09:54:41
Hallo Martin,
um ein Signal überhaupt auswerten zu können, müsste man zuerst wissen, wie das Tacho-Signal aussieht.
Dann kann man erst darüber eine Aussage treffen, ob ESPEasy oder Tasmota oder sonstige Software von sich aus in der Lage ist
das Signal so zu verarbeiten oder ob es eventuell für die Verarbeitung erst "aufgearbeitet" werden muss.
Hi Papa Romeo,
danke für deinen Kommentar. Da es sich um normale PWM Lüfter für den PC handelt, die jedes PC Motherboard auswerten kann, wird es mit sicherheit eine Spezifikation geben die alle nötigen Informationen beeinhaltet, oder? Ich bin wirklich überrascht, dass es zu dem Thema ESP8266 und PC Lüftersteuerung so wenige informationen gibt. Es gibt doch wahrscheinlich keine billigere alternative als einen ESP8266 dafür zu nutzen, glaube ich zumindest.
Gruß
Martin
Ich denke mal, dass die Motherboard´s soweit ausgerüstet sind, das sie mit Rechtecksignalen und mit analogen Sinus-Signalen zurecht kommen.
In der Regel ist das Tacho-Signal eine Sinuswelle die bei steigender Drehzahl in Amplitude und Frequenz zunimmt. Führt man dieses analoge Signal z.B auf einen OP-Amp der als Schmitt-Trigger (im Prinzip ein Verstärker mit sehr hohen Verstärkungs-Faktor) arbeitet erhält man ein Rechtecksignal. Dieses könnte dann mit PulseCount bestimmt verarbeitet werden. Mit der reinen Analogspannung wird das eher nicht so gut funktionieren. Eventuell etwas bei den höheren Drehzahlen.
Aus einem anderen Forum:
ZitatAll the needed infos are published here:
http://www.formfactors.org/developer/specs/REV1_2_Public.pdf
More specifically,
Voltage 12 ± 1.2V
Peak current (@13.2V) 2A
Tachometer section:
Speed reading: 2 pulses per revolution
Open-collector or open-drain type output
Mobo has pullup
PWM frequency: 21-28 kHz, target 25 kHz
logic low: <=0.8V
Imax: 5 mA
Vmax: 5.25V
PWM duty represents the speed output compared to full speed, linear relationship
If PWM is lower than minimum accepted value for that fan, undetermined behavior according to specs
Fan should match PWM control signal ±10%
Rotor lock and polarity protections are expected
Pins: 1, 2, 3, 4 are black, yellow, green, blue and their function is GND, 12V, sense, control
Du brauchst wohl einen Vorteiler
Oder Du wandelst das signal in ein analoges und misst dieses per ESP?
So genau wird es ja nicht sein müssen, sondern eher eine Funktionskontrolle?
Die neueren Lüfter dürften den Spezifikationen entsprechen die Klaus eingestellt hat. Diese haben den Schmitt-Trigger schon integriert und stellen dieses Signal meistens über einen Open-Kollektor-Ausgang zu Verfügung, welches dann keine weiteren Anpassungen an Auswerte-Module, die mit anderen Betriebs-Spannungen arbeiten, erforderlich macht.
Das Tacho-Ausgangssignal ist hier z.B. gut zu sehen
https://www.youtube.com/watch?v=xcyuClnTwxE
Auch der Ansatz der begrenzten Sinuswelle mit abnehmender Amplitude bei sehr niederen Drehzahlen ist gut zu sehen.
Hallo,
danke für die Antworten. Also ich brauche nur das Tachosignal direkt an den GPIOxx legen und ESPEasy nur richtig einstellen, korrekt? Was ist mit Vorteiler gemeint, das Tachosignal durch 2 teilen? Das kann doch auch ESPEasy, oder? Grüße und Danke
Martin
Ich weiss nicht wie schnell ESPEASY die Impulse verarbeiten kann - ist ja eher für Stromzähler usw gedacht
Vom Ventilator kommen ein paar hundert pro Minute
Mit Vorteiler meinte ich was in der Richtung:
http://mschrod.de/elektronetz/Elektronik/Allgemeines/Quarzteiler/Quarzteiler.html (http://mschrod.de/elektronetz/Elektronik/Allgemeines/Quarzteiler/Quarzteiler.html)
Hallo Klaus,
das mit dem Vorteiler verstehe ich jetzt auch nicht ganz. Ich kenne mich mit ESPEasy jetzt nicht so aus, da ich es nicht nutze, aber eine Teilung durch zwei, so denke ich, dürfte bestimmt kein Problem darstellen und mehr ist eigentlich auch nicht nötig um dann die Drehzahl zu erhalten.
Und die Impulszahl geht schon eher an ein paar Tausend pro Minute.
Hier hat einer mal was von max 1000 Hz heraus gefunden:
https://www.letscontrolit.com/forum/viewtopic.php?t=3647 (https://www.letscontrolit.com/forum/viewtopic.php?t=3647)
Mich wundert das nicht, der ESPEASY Pulse counter ist auch eher dazu gedacht, S0-Zähler usw abzufragen, da kommen max 2-3 Impulse pro Sekunde
Mit dem Vorteiler würde ich nicht durch 2 Teilen ( Ich vermute Du meinst wegen 2 Impulsen pro Umdrehung?)
Sondern eher z.B. durch 1024 oder noch mehr
ESPEasy ist vermutlich für diese Aufgabe hier viel zu langsam
..ach so, jetzt verstehe ich dich. Du hast Bedenken wegen der Verarbeitungsgeschwindigkeit der Software.
Ich ging von der Hardware aus. Für die dürfte es kein Problem sein.
Bis zu welcher Frequenz ESPEasy Daten verarbeitet, kann ich leider nicht mitreden. Wie schon erwähnt, ich nutze es nicht.
...hier hat einer was mit ESPEasy gebastelt:
https://www.letscontrolit.com/forum/viewtopic.php?t=3476
...die Auflösung scheint aber nicht besonders zu sein...
Hallo,
so ich bin jetzt ein bisschen weiter gekommen. Das Tachosignal muss auf 12V (über ein 10 kOhm Widerstand) gezogen werden. Des weiteren sollte das Tachosignal an dem Eingang vom ESP8266 über einen Spannungsteiler angeschlossen werden (10 kOhm + 10kOhm). Auf dem Oszilloskop sieht das super aus, nur ESPEasy kann leider nicht die Signale Zählen/Auswerten/ oder etwas damit anfangen. Ich denke, da müssen wir noch ein bisschen auf ESPEasy warten ;-)
Gruß und Dank an euch!
Martin
Hallo Martin,
mit 10 und 10 kOhm hast du aber immer noch 4 Volt am ESP liegen.
Besser wären 15 und 10 kOhm (ca. 3.4 Volt) oder 18 und 10 kOhm( knapp 3.2 Volt).
Weitere Möglichkeit ohne Spannungsteiler. Den internen Pullup des GPIO´s aktivieren
und eine Diode in Sperrrichtung vom GPIO des ESP´s zum Tachosignal.
(Anode an GPIO, Tachosignal an Kathode)
In der Regel kannst du dir dann sogar auch noch den 10 kOhm Pullup an die 12 Volt sparen.
LG
Papa Romeo
Wie gesagt, der Pulse Counter ist wohl nicht dafür gemacht, der ist eher für Stromzähler usw, mit wesentlich geringeren Frequenzen
Du könntest
- ein eigenes PlugIn schreiben?
- Wandel die Frequenz in eine Spannung und werte die aus
google mal nach LM2907
oder so was:
https://www.ebay.de/itm/Frequency-to-Voltage-0-10Khz-to-0-5V-0-10V-Linear-Conversion-Transmitter-Module/191687132129?_trkparms=aid%3D555018%26algo%3DPL.SIM%26ao%3D2%26asc%3D20160908110712%26meid%3D94b18b613c944b5bb2af9f1b56a39a04%26pid%3D100677%26rk%3D2%26rkt%3D19%26sd%3D192956859945%26itm%3D191687132129%26pmt%3D1%26noa%3D0%26pg%3D2386202&_trksid=p2386202.c100677.m4598
(https://www.ebay.de/itm/Frequency-to-Voltage-0-10Khz-to-0-5V-0-10V-Linear-Conversion-Transmitter-Module/191687132129?_trkparms=aid%3D555018%26algo%3DPL.SIM%26ao%3D2%26asc%3D20160908110712%26meid%3D94b18b613c944b5bb2af9f1b56a39a04%26pid%3D100677%26rk%3D2%26rkt%3D19%26sd%3D192956859945%26itm%3D191687132129%26pmt%3D1%26noa%3D0%26pg%3D2386202&_trksid=p2386202.c100677.m4598)