NEWS
Erfassung mechanischer Wasserzähler (induktiver Sensor + ESP8266 )
-
-
@crunchip
Das guck ich mir mal genauer an, danke dir -
@George_Best - Danke für den Hinweis. Ich habe den jetzt direkt am gpio und gnd des wemos.
Gruß Roland
-
@Roland2012 sagte in Erfassung mechanischer Wasserzähler (induktiver Sensor + ESP8266 ):
@George_Best - Danke für den Hinweis. Ich habe den jetzt direkt am gpio und gnd des wemos.
Gruß Roland
Wie steuerst du den ESP? Ich versuche es mit ESPEasy zu machen, habe aber das Problem, dass jede Umdrehung zwei Impulse auslöst. Wenn die Metallplatte anfängt und wenn sie endet. Egal ob ich den Mode Type auf RISING, FALLING oder CHANGE einstelle. Habe immer doppelt so viele Counts, als es sein sollten.
Getestet habe ich es mit Wemos und NodeMCU.
Für Infos wäre ich dankbar.
-
Du kannst doch bei ESPEasy auch direkt eine Formel hinterlegen. Wenn er immer doppelt zählt, dann teile den Counter doch einfach durch zwei
-
@SBorg sagte in Erfassung mechanischer Wasserzähler (induktiver Sensor + ESP8266 ):
Du kannst doch bei ESPEasy auch direkt eine Formel hinterlegen. Wenn er immer doppelt zählt, dann teile den Counter doch einfach durch zwei
Daran habe ich auch schon gedacht. Allerdings wenn der Wasserzähler im Zustand High stehen bleibt, dann habe ich eine ungerade Zahl. Wenn dann der Timer abgelaufen ist und der Counter auf 0 steht und ich das Wasser wieder aufdrehe, dann bekomme ich nur ungerade Zahlen.
Das mit der falling und rising ist eigentlich die richtige Lösung. Nur habe ich keine Ahnung wieso das nicht beachtet wird...
-
Das mit falling und rising wird so auch nicht funktionieren. Denn das bezieht sich auf die Flanke des Rechtecksignals, also bei steigender oder fallender Flanke. Nur liefert dein Sensor dieses Rechtecksignal bei jeder Änderung (und dann ist es egal ob es bei steigender oder fallender Flanke ist)
Ich weiß nicht wie "mächtig" ESPEasy rechnen kann, aber zur Not müsste man es im Broker per Javascript berechnen. Da könnte man auch auf den Sonderfall eingehen, dass gerade "auf der Scheibe" das Wasser abgedreht wurde. -
@SBorg Bist du sicher, dass der TCR5000 bei jedem Wechsel einen eigenen Impuls erzeugt?
Ich habe folgendes gefunden:
"Kanal 1 (gelb) entspricht dem Analogsignal während des Umlaufs, erscheint die rote Markierung steigt die Spannung leicht an und lässt dadurch den Komparator umschalten, das Signal an Kanal 2 (blau) verändert sich." Quelle: hierund hier die Dokumentation des TCR5000
GPIO <– Pulse: Pulse input is generally set to GPIO 14 (D5).
Debounce time: Debounce time is generally set to 100.
Counter type: In this example the type is set to Delta/Total/Time.
Mode type: Pulse input is generally set to Falling
LOW = count when signal go from not low to low (0.8+V to 0.8-V)
CHANGE = count on signal being changed, low to high (0.8-V to 2.4+V) or high to low (2.4+V to 0.8-V)
RISING = count if signal is rising, from low to not low (0.8-V to 0.8+V)
FALLING = count if signal is falling, from high to not high (2.4+V to 2.4-V) -
Es ist halt auch ein Unterschied ob du bei der Ferraris-Scheibe die rote Markierung abtastet (das ist für den Sensor schwarz) oder bei dir eine reflektierende Fläche. Trotzdem haben viele beim Stromzähler auch mit Fehlimpulsen zu kämpfen. Da er anscheinend ja ziemlich konstant doppelt zählt sind das auch keine üblichen Prellungen (die sind halt mal mehr oder weniger oft), sondern er reagiert korrekt auf die Flanke. Du hast beide vom Sensor angeschlossen, nutzt du den DO oder hast du auch mal mit dem AO probiert (dann halt an einem analogen Eingang)?
...oder mal anders gefragt: willst du eine richtige statistische Auswertung fahren oder nur den Wert in der VIS anzeigen?
Ich habe einen anderen Zähler, deswegen noch die Frage: eine Umdrehung der silbernen Scheibe entspricht 1 Liter?
Dann würde ich es eh per JS/Blockly (brauchst du sowieso für Tages-/Monat- etc. werte) regeln. Die Impulse zählen sowieso weiter, dann hättest du eine maximale augenblickliche Abweichung von einem Liter (aber auch nur wenn auf der Scheibe gestoppt wird). Beim nächsten Puls wäre dann aber der Verbrauch wieder ganz genau. Du hättest also immer eine augenblickliche Fehlmenge von einem Liter wenn er auf der Scheibe stehen bleibt, die sich mit dem nächsten Puls aber wieder egalisiert. -
@SBorg Ich nutze den digitalen Ausgang. Da aber beim Ablauf des Timers in ESPEasy der Counter zurückgesetzt wird, würde ich immer wieder ggf. ungenaue Werte haben.
Ich teste noch bisschen rum und werde dann vielleicht auf den Näherungssensor umsteigen. Trotzdem vielen Dank, aber die Softwarelösung ist für mich der zweite Weg.
-
Danke für die Ideen!
Ich habe es heute auch erfolgreich umgesetzt. Mein Wasserzähler hatte ebenfalls die Metallfahne und praktischerweise zwei Stehbolzen mittels derer ich eine Plexiglasscheibe befestigen konnte.
Den Näherungsschalter habe ich in der Scheibe eingeklebt.Sitzt perfekt und kann rückstandslos und einfach entfernt werden.
-
Hi Leute, habe diesen Threat gerade entdeckt...
Ich plane auch meinen Wasserzähler einzulesen.
Angeschlossen werden soll das ding direkt über GPIO an meinem Iobroker Slave im Unterverteiler. Folgenden Zähler habe ich.
Welchen sensor könnt ihr mir empfehlen.
Zur Verfügung stehen 3.3 V vom Pi, sowie Ground vom Pi und die 5 V vom Pi sowie externe 5 und 12 V von meiner DC UPS.
Für ein paar Tips wäre ich dankbar...
-
Unten (an der gelben Marke) ist das silberne Metall und dreht sich bei Wasserentnahme?
Der günstigste Versuch wäre ein TCRT 5000, der teurere (aber nicht zwangsläufig bessere) der induktive Sensor. -
@a200 sagte in Erfassung mechanischer Wasserzähler (induktiver Sensor + ESP8266 ):
Wie steuerst du den ESP? Ich versuche es mit ESPEasy zu machen, habe aber das Problem, dass jede Umdrehung zwei Impulse auslöst. Wenn die Metallplatte anfängt und wenn sie endet. Egal ob ich den Mode Type auf RISING, FALLING oder CHANGE einstelle. Habe immer doppelt so viele Counts, als es sein sollten.
Getestet habe ich es mit Wemos und NodeMCU.
Für Infos wäre ich dankbar.
Ich habe exakt den gleichen Wasserzähler und verwende auch den TCRT5000 Sensor in Kombination mit einem Wemos D1 Mini..
Ausgewertet wird das ganze über das analoge Signal vom TCRT5000 - programmiert habe ich das ganze mit der Arduino IDE.. (Kein ESPEasy oder ähnliches).. Die Umdrehungen kommen per MQTT im ioBroker an..
Ich habe jedoch festgestellt, dass der TCRT5000 nicht so "genau" ist.. Die ersten paar Stunden läuft alles wunderbar.. Danach stimmen die Werte nicht mehr zu 100% die der Sensor an den Wemos liefert..
z.B. Analoger Wert "41" wenn die Metallplatte vor dem Sensor ist.. 8 Stunden später ist der gelieferte Wert plötzlich "38"..Werde die Logik in meiner Programmierung noch anpassen damit es zuverlässig läuft und dann kann ich den Code bei Bedarf hier mal zur Verfügung stellen..
Gruß
-
@BuZZy
@SBorg
Danke für den Tipp...Analoger ausgang hoert sich gut an...Da ich direkt über gpio einlese und den state über den rpi Adapter direkt im Iobroker mit true und false angelegt habe, muss ich ja nur die Impulse zählen und ein entsprechendes Script schreiben...
Und das Teil ist ja richtig guenstig...Werde ich mal bestellen... -
@BuZZy Welche Menge Wasser entspricht denn eine Umdrehung der Scheibe?
-
ja,
5x TCRT5000 für 2,18 euro
oder
5x PNP... für 9,50 euroist wirklich nicht übel.
-
die wassermenge sollte auf dem zähler stehen ... der rest ist rechnen
-
@dondaik Das bekomme ich hoffentlich noch hin
-
denke ich auch ...