Impulse umrechnen / Tacho

  • Hallo,

    ich würde gerne Impulse (Magnetkontakt, IR-Kontakt u.ä) erfassen und umrechnen. In etwa so wie bei einem Fahrradtacho.

    Kennt da jemand eine Möglichkeit, Skript o.ä.?

    Danke für eure Hilfe

  • Hallo, hab ähnliches mit einem windsensor gemacht (#define USE_WINDMETER)

    Danke für den Hinweis.

    Hierfür müsste ich aber, wenn ich es richtig verstehe, einen Windsensor verwenden.

    Ich suche aber etwas für einen einfachen Magnetkontakt, IR-Sensor o.ä. Also ein reinen ein/aus Signal.

    Und das Ganze dann eben als Anzahl Impulse in einer Zeiteinheit.

    Ich habe nun folgendes gefunden:

    Impuls-Sensor

    Impulse werden abhängig von eingestellter Teleperiod gezählt und dann gesendet. Dann wird wieder zurückgesetzt.

    Counterdebounce anpassen an tatsächlichen Impuls!

    rule on tele-counter#c1>0 do publish cmnd/wind/counter1 %value% endon on tele-counter#c1>0 do counter1 0 endon

    So wie es aussieht ist das weitgehendst das was ich suche. Bei Teleperiod 6o würde das dann Anzahl Umdrehungen pro Minute bedeuten.

    Interessant wäre allerdings wenn man eine kürzere Teleperiod (z.B. 10) verwenden würde und dann das Ganze in der Rule noch mit 6 multiplizieren könnte. Kenne mich bis jetzt aber hier noch nicht ausreichend aus.

    Werde es mal ausführlich testen.

    Grüße

  • Hierfür müsste ich aber, wenn ich es richtig verstehe, einen Windsensor verwenden.

    nein, wird nicht benötigt

    der Windsensor ist nämlich genau nur ein so einfacher Reedkontakt mit ein/aus-Funktion,

    der pro Umdrehung 1x (oder 2x... einstellbar) den Kontakt schließt,

    und mit Counter am GPIO mit Tasmota ausgewertet wird,

    genau mit dem Ansatz (impulse pro zeiteinheit), wie du ihn beschreibst.

    Ist dann halt alles schon fertig in Tasmota, einfach anpassbar und Ausgabe in m/s km/h ...

    aber geht natürlich auch alles "zu Fuß" mit regel und umrechnung, deshalb der link zu den formeln oben.

  • Berker
    14. März 2024 um 10:34
  • Hallo, ich muss das Thema noch mal aufgreifen...
    Ich will die Wassermenge bestimmen, die ich aus meinem Regenwasserspeicher entnehme.
    Dazu habe ich einen Durchflussensor YF-B1 (Hallsensor) gekauft https://www.amazon.de/dp/B077TNHCWG
    Der Plan ist, den Sensor an einen ESP8266 (LoLIn) mit Tasmota anzuschließen und die Impulse mit dem Counter zu zählen.
    Also: Sensorleitung an D5 (GPIO14), im Tasmota 14.3.0 bei Geräteeinstellungen den Generic(0)-Modus gewählt und GPIO14 als Counter definiert.

    Im Hauptmenü wird nun ein Zähler1 angezeigt. Aber der Zähler zählt automatisch langsam hoch ohne dass sich die Turbine bewegt.
    Daher habe ich einen PullUp-Widerstand (10KOhm) zwischen GPIO14 und 3V geschaltet. Jetzt zählt der Zähler überhaupt nicht mehr, auch nicht wenn die Turbine sich bewegt.
    Was stimmt denn da nicht? Hat jemand einen Tipp? Wo liegt mein Fehler?
    Vielen Dank schon mal!!!

  • Bei YT gibt es ein Video von Eddy zu so einem Projekt mit Durchflußzähler und ESP8266 mit Tasmota.

    Super! Vielen Dank! Das hatte ich nicht gefunden...
    Gutes Video. Jetzt funktioniert alles!
    (Man muss den YF-Bx auch an 5V anschließen - sonst gehts halt nicht ;))
    ...und counter_n ist auch wichtig, dann brauchts keine PullUp.