Bonjour Leute. mein Ziel ist eine automatisierte Wasservebrauchsmessung durch eine Impulserfassung, als Hardware habe ich eine D1 Mini, eine Raspberry Pico und eine Esp 8266, zur Erfassung der Impulse einer Kommunikationsmodul für Modulzählwerk Impuls +m: https://www.google.com/url?sa=t&rct=j&q=&esrc=s&source=web&cd=&ved=2ahUKEwj6wOuK46L4AhXrm_0HHW1eCPsQFnoECAIQAQ&url=https%3A%2F%2Fwww.allmess.de%2Ffileadmin%2Fmultimedia%2Falle_Dateien%2FMA%2FMA_12715-AC%2520MA%2520BM%2Bm%2520PM%2Bm_TS0921.pdf&usg=AOvVaw2CZ3bYjB_D4O1cSOpSgazU , also ich arbeite mit der MODULTYP: PM+m, der eine Impulswertigkeiten von 1, 10 Liter oder 100 Liter. ich habe hier einen Programm entwickelt der die Impulse per Interrupt erkennen soll: from machine import Pin import time import network triggerPin = Pin(0, Pin.IN, Pin.PULL_UP) count = 0 def TriggerCount(pin): global count count += 1 print(count) triggerPin.irq(trigger=Pin.IRQ_RISING, handler=TriggerCount) while True: time.sleep(1) counted = count print("{} pulses".format(counted)) Ziel ist es noch den momentanen Durchfluss zu berechnen. Kann mir jemand einen Tip geben mit welchen Mitteln ich den Impuls in einer noch festzulegenden Periode abgreifen kann? Ein Zähler mit einstellbaren Zeitraum? in der Datasheet sehe ich nicht wie viel Impulse pro Minute oder die Ausgangsfrequenz, habt ihr Ideen? Bspw: 2 Impulse / 10 sec = 12l/min beste Grüße. Youssef
überlege dir, ob du einen gleitenden Mittelwert brauchst, oder ob es genügt, den Zähler alle 10sec zu resetten. Im ersten Fall speicherst du eine ganze Historie mit Zeitstempeln. Man sollte vermutlich beide Methoden kombinieren, z.B. ein Ringbuffer von Zählern, jeder Zähler ist für eine Sekunde aktiv. Dann kannst du einen gleitenden Mittelwert über längere Zeiträume ausgeben, der aber jede Sekunde neu berechnet wird.
also erstmal den Zähler alle 10s oder wie auch immer resetten aber mir fehlt die Formel um den Wasserverbrauch zu rechnen, da bin ich jetzt verwirrt, weil ich keine Infos hab, wie viele Impulse pro Minute diesen Impulsgeber gibt.. ich weiss nur, dass die Impulswertigkeit 1, 10L oder 100 Liter ist und die Impulslänge 200ms für 1L und >3s ist für 10 und 100 Liter, was versteht man jetzt darunter? reichen diese Infos um die Formel zu finden?
achso, dann musst du wohl oder übel erstmal die Länge der Impulsflanken messen, oder? Ein reiner trigger auf "rising" wird dafür nicht ausreichen.
okey, wie kann das bitte machen? was brauch ich denn dafür, anstatt einen reinen Trigger auf rising?
Seit ihr komisch? Der Zähler zählt den Verbrauch, nicht den Durchfluss. Wenn 5 l in einer min durchfließen gibt der Zähler 5 Impulse aus (steigende Flanken). Die Länge der Impulsflanken ist doch irrelevant. Den Durchfluss bekommt man einfach mit Zählen von Zeit und Anzahl: q = (V2-V1)/(t2-t1) q - Durchfluss V - Volumen t - Zeit
Karl schrieb: > Seit ihr komisch? > > Der Zähler zählt den Verbrauch, nicht den Durchfluss. Wenn 5 l in einer > min durchfließen gibt der Zähler 5 Impulse aus (steigende Flanken) also ein delay für 1 Minute und counted ist ja dann wie viel Liter pro Minute? da Liter = Impuls?
Neuling A. schrieb: > zur Erfassung der Impulse einer Kommunikationsmodul > für Modulzählwerk Impuls +m: > https://www.google.com/url?sa=t&rct=j&q=&esrc=s&source=web&cd=&ved=2ahUKEwj6wOuK46L4AhXrm_0HHW1eCPsQFnoECAIQAQ&url=https%3A%2F%2Fwww.allmess.de%2Ffileadmin%2Fmultimedia%2Falle_Dateien%2FMA%2FMA_12715-AC%2520MA%2520BM%2Bm%2520PM%2Bm_TS0921.pdf&usg=AOvVaw2CZ3bYjB_D4O1cSOpSgazU Schön, dass du uns jetzt erzählst, wie du das Dokument gefunden hast. Meinst du nicht, dass der direkt Link auf die Montage- und Programmieranleitung für die BM +m und PM +m Kommunikationsmodule gereicht hätte? https://www.allmess.de/fileadmin/multimedia/alle_Dateien/MA/MA_12715-AC%20MA%20BM+m%20PM+m_TS0921.pdf
meinst du nicht das das Scheißegal ist und nicht jeder Lust hat die Links umzufummeln?
Karl schrieb: > Neuling A. schrieb: >> also ein delay für 1 Minute > > Überleg dir wie es ohne delay geht. hast Du bitte einen Hinweis?:)
und das soll dann über den D1 Mini oder ESP8266 weitergeleitet werden? Das ginge mit den Standardpaketen wie Tasmota oder ESPEasy einfacher, da können Eingänge gleich als Zähler konfiguriert werden.
Neuling A. schrieb: > hast Du bitte einen Hinweis?:) aus wenn ich nicht direkt angesprochen bin: millis()
J. S. schrieb: > meinst du nicht das das Scheißegal ist und nicht jeder Lust hat die > Links umzufummeln? Wär's mir scheißegal, hätte ich den Till nicht hervorgeholt. Aber jeder muss selber wissen, wieviel er von seiner Suchhistorie hier öffentlich posten möchte.
millis() in micropython? Hauptsache an Formalismen hochziehen.
J. S. schrieb: > meinst du nicht das das Scheißegal ist und nicht jeder Lust hat > die > Links umzufummeln? Genau! Also mich interessiert der Lebenslauf des TO sogar brennend. Also der TO hat es ja schon geschrieben: 2 Impulse / 10 sec = 12l/min Das muss man einfach umformen, zuerst mal die Minuten. Statt min schreibt erst man 60 sec: 2 Impulse / 10 sec = 12l / 60sec Dann tut man beide Seiten von der Formel mal 5 nehmen. Dann steht da: 5 * 2 Impulse / 10 sec = 5 * 12l / 60sec Und nun tut man mal die Zahlen ausmultiplizieren, also: 10 Impulse / 10 sec = 60l / 60sec So und nun kann man kürzen und erhält: 1 Impuls/sec = 1l/sec Nun kann man noch beide Seiten das sec eliminieren und erhält: 1 Impuls = 1 l Voila!!!
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.