Forum: Mikrocontroller und Digitale Elektronik automatisierte Wasserverbrauchsmessung durch Impulserfassung!!


von Neuling A. (jesuisla)


Lesenswert?

Guten Tag Zusammen,



ich bin neu hier in dieser Forum und das ist mein erster Projekt, da ich 
noch komplett neu bin in Sachen Raspberry aber dennoch einen Plan 
verfolge den ich gerne umsetzen möchte, bin ich nun auf die Expertise 
von euch angewiesen da ich kaum etwas dazu finde im Internet das passen 
würde.:

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: MA_12715-AC MA BM+m PM+m_TS0921.pdf 
(allmess.de), also ich arbeite mit der MODULTYP: PM+m, der eine 
Impulswertigkeiten von 1, 10 Liter oder 100 Liter:

ich habe mich nun ein bisschen mit MicroPython vertraut gemacht, und 
habe einen Interrupt Routine programmiert, einen Pin des esp8266 an den 
Eingang geklemmt und Ausgang an den Ground.
1
from   machine import Pin
2
import time
3
triggerPin = Pin(28, Pin.IN, Pin.PULL_UP)
4
count = 0
5
def TriggerCount():
6
    global count
7
    count += 1
8
    print(count)
9
triggerPin.irq(trigger=Pin.IRQ_FALLING, handler=TriggerCount)
10
while True:
11
    count = 0
12
    time.sleep(0.2)
13
    counted = count
14
    print("{} pulses".format(counted))
ich teste das ganze mit einem Magnet was ich auf den Sonsor bzw 
Kommunikationsmodul lege. da kommt aber nur 0 Pulse als Ergebnis:/


vielen Dank im Vorraus:)

: Bearbeitet durch Moderator
von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Ich würde vorschlagen, dass du das zuerst einmal mit einem simplen 
Taster testen würdest?

EDIT:
Neuling A. schrieb:
> zur Erfassung der Impulse einer Kommunikationsmodul für Modulzählwerk
> Impuls +m: MA_12715-AC MA BM+m PM+m_TS0921.pdf (allmess.de)
Du kannst auch einfach den Hersteller-Link hier reinkopieren, dann muss 
nicht jeder auf der HP dort herumsuchen...
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

Zeig doch mal deinen Schaltplan und den Aufbau. Ich kann nicht erkennen, 
dass du mit diesem Modul und deinem Code irgendwas sinnvolles erwarten 
könntest...

: Bearbeitet durch Moderator
von Neuling A. (jesuisla)


Lesenswert?

ich habs gerade getestet und wenn ich den Taster betätige kommt diese 
Nachricht sonst 0 Pulses
TypeError: function takes 0 positional arguments but 1 were given

mir fällt jetzt noch eine Frage: in dem Programm soll ja die Litermenge 
gerechnet werden bzw den aktuellen Verbrauch, also dazu brauche ich 
Formel, die die Impulse zu Litermenge umrechnet, ich habe leider keine 
Infos über die Impulslänge oder Frequenz, gibt es eine Alternative?

: Bearbeitet durch User
von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Neuling A. schrieb:
> TypeError: function takes 0 positional arguments but 1 were given
Das heißt in etwa: die Funktion erwartet 0 Parameter, du hast aber 1 
angegeben? Also musst du vermutlich den entsprechenden Funktionsaufruf 
korrigieren.

Neuling A. schrieb:
> ich habe leider keine Infos über die Impulslänge oder Frequenz, gibt es
> eine Alternative?
Entweder beim Hersteller nachfragen oder die Daten ausmessen.

: Bearbeitet durch Moderator
von Markus (Gast)


Lesenswert?


von Neuling A. (jesuisla)


Angehängte Dateien:

Lesenswert?

hier ist der Aufbau

von Mario M. (thelonging)


Lesenswert?

Bei "def TriggerCount():" fehlt "pin" als Argument. A0 ist der 
Analogeingang und m. W. nicht als Digitaleingang mit Interrupt zu 
gebrauchen. Den im Programm verwendeten Pin 28 gibt es beim D1 Mini 
nicht.

von Neuling A. (jesuisla)


Lesenswert?

So, danke für den Hinweis, der Programm zählt jetzt richtig nach jeden 
Taster-betätigung. ich habs jetzt mit dem PM+m Kommunikationsmodul 
getestet, und mit einem Magnet (anstatt des Magnets des Wasseruhrs) aber 
der zählt leider keine Impulse, hat jemand eine Idee?

von Abdul K. (ehydra) Benutzerseite


Lesenswert?

Dann hast du den falschen Magneten. Ausrichtung oder er war zu stark.

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
Noch kein Account? Hier anmelden.