Wasseruhr anbinden

Begonnen von Edi77, 01 Mai 2017, 03:21:53

Vorheriges Thema - Nächstes Thema

roedert

#30
Habe jetzt noch ein wenig "gebastelt". Die Ergebnisse der schnell implementierten "Quick-and-Dirty-Selbstkalibrierung" sind erstaunlich gut ... bisher habe ich noch keine Abweichung erkennen können. Sind aber auch erst ca 150 Liter durchgeflossen.
Das bleibt denke ich erstmal so - allerdings muss ich überlegen ob die Kalibrierung bei jedem Strom-Ein erfolgen soll/muss, da dafür ja auch Wasser fliessen muss. Man könnte die Werte auch im EEPROM speichern und die Kalibrierung nur auf Tastendruck ausführen lassen.
Mit der permanenten Selbstkalibrierung tue ich mich noch ein wenig schwer. Welchen Zeitraum soll ich da auswerten? Je nach Durchflussmenge ist der Ausschlag einer Zeigerumdrehung ja sehr schmal oder auch sehr breit. Und je nach Stellung des Zeigers kann der Wert auch über Stunden (wenn kein Wasser entnommen wird) auf irgendeinem Level zwischen Low und High sein.

Alternativ habe ich auch schonmal das Progrämmchen auf eine nodeMCU mit WLAN gebracht - über die Weboberfläche werden mir dann die Kalibrierungswerte und ein Diagramm der letzten 60sec angezeigt. Die Werte stammen jetzt von einem Testaufbau mit Taschenlampe und nicht von einer Wasseruhr - siehe Beispielbild.

Wenn das Teil dann auch schon Netzanbindung hat, könnte man sich überlegen die Werte auch direkt darüber zu übermitteln statt dies über den HM-ES-TX-WM zu machen.

Sind also einige parallele Dankanstösse ... in welche Richtung sich meine Lösung entwickeln wird, weiss ich jetzt noch nicht.  ;)
Die optische Methode zu Zeigererkennung ist aber auf jeden Fall brauchbar - den Rest muss dann die Software auf dem Arduino machen.

Zitat von: andies am 22 Oktober 2017, 11:17:17
Ich hätte großes Interesse an einer genaueren Beschreibung (mit Fotos?).

Fotos habe ch ja schon eingestellt, was wie wo prinzipiell gemacht wurde, ist doch in den beiden von mir verlinkten Webseiten (einige Beiträge weiter oben) beschrieben.
Was genau ist noch unklar?

andies

Ich konnte mein Tapatalk nicht bedienen, alles klar...


Gesendet von iPad mit Tapatalk Pro
FHEM 6.1 auf RaspPi3 (Raspbian:  6.1.21-v8+; Perl: v5.32.1)
SIGNALduino (433 MHz) und HM-UART (868 MHz), Sonoff, Blitzwolf, Somfy RTS, CAME-Gartentor, Volkszähler, Keyence-Sensor, Homematic-Sensoren und -thermostat, Ferraris-Zähler für Wasseruhr, Openlink-Nachbau Viessmann

roedert

#32
Update:
Der Sensor läuft seit mittlerweile 1,12 m^3 ohne Abweichung  :D
Hab mal ein 3D-Modell für meinen Wasserzähler entworfen - da der bestellte Drucker aber noch nicht da ist, ist es noch ungetestet.
Mit dem Prinzip des Sensors bin ich auf jeden Fall zufrieden - nun liegt es daran die Software noch zu optimieren bzw die generelle "Richtung" zu entscheiden .... arduino nano und HM-ES-TX-WM oder nodeMCU (oder auch direkt auf einem ESP8266) und direkt Anbindung an FHEM per WLAN.

Anbei für die die es interessiert die 3D-Datei für den "Abnehmer"

UPDATE:
Habe jetzt mal versucht, ohne den HM-ES-TX-WM auszukommen.  Nun muss ich die Daten ja irgendwie via WLAN zu FHEM bekommen.
Erste Idee war ein Webserver der den Wert des Pulszählers liefert, den ich periodisch von FHEM aus via HTTPMOD abfrage. Allerdings braucht mir diese Abfrage zu lange ... zwischen 20 bis zu 350ms. Und diese Zeit könnte zu lange sein und es entgehen somit Zählimpulse, da der ESP8266 mit der Webabfrage beschäftigt ist.
Wenn hier jemand bessere Ideen für die Datenübertragung hat, nur her damit. Eine Idee wäre evtl. auch auf Standards wie mySensors oder FIRMATA zurückzugreifen, jedoch muss ich da erstmal schauen wie ich die zeitkritische Zählerabfrage-Schleife in die bestehenden FIRMATA- oder mySensors-Sketche einbauen kann.
 

roedert

Update:
Aktuell läuft der Sensor mit der kleinen Software zur Impulserkennung auf dem Arduino nano und einem HM-ES-TX-WM ... Abweichung nach nem knappen Monat liegt bei 0!
Wie das "Endprodukt" aussehen soll ist für mich nun auch entschieden - der Sensor kommt an einen Wemos D1 mini und sendet seine Daten per WLAN und MQTT an FHEM.
Versuchsaufbau/-programmierung dazu war schon erfolgreich.
Um das ganze dann auch richtig "professionell" zu machen, muss ich mir mal anschauen wie zB die Konfiguration bei ESPeasy umgesetzt ist:
Bei der ersten Inbetriebnahme wird ein neues WLAN aufgespannt, auf dessen Startseite man auswählen kann in welches bestehende WLAN sich nach Eingabe des Passworts verbunden werden soll.
Dann kommt man auf eine Konfigurationsseite für IP-Adresse, MQTT-Daten etc.

3D-Druck konnte ich mangels noch fehlendem Drucke noch nicht testen.

Aber es geht auf jeden Fall weiter und die Chancen stehen gut, dass am Ende ein wirklich komfortables und zuverlässiges "Produkt" bei rauskommt.   

roedert

So, mein Wasserzählersensor ist mittlerweile im produktiven Einsatz. Als Lösung hat sich durchgesetzt:
- unverändert: "Abnahmeplatte" für die Wasseruhr mit einem kleinen ca 3,5cm langem Messingröhrchen mit Fototransisitor an der richtigen Position um den letzten roten Zeiger zu erkennen. Beleuchtung erfolgt über 2 helle grüne LEDs
- Hardware: wemos D1 mini mit 128x64-SSd1306-I2C-OLED-Display
- Software: eigenes Arduino-IDE-Programm mit Weboberfläche zur Konfiguration, Kontrolle (MesswerteGraph, Log) und Auto-Konfiguration der Sensor-Schwellwerte - kommuniziert wird per MQTT zu FHEM

Nach dem ersten Hochladen arbeitet der wemos als WLAN-Hotspot mit dem man sich verbinden kann und in ein bestehenden WLAN einbuchen kann. Am besten die serielle Konsole starten um Statusmeldungen zu erhalten.
Weitere Details (Schaltplan und Mini-Doku) sind im Arduino-Sketch enthalten
 

Kai-Alfonso

Hi,

nachdem mein Wasserversorger 200 Euro für den Einbau einen Zählers mit Impulsausgang haben will, würde ich lieber mir einen Zähler selber bauen. Hast Du vielleicht eine Teile-Liste? Wie hast Du die Adapterplatte gemacht? 3D Druck?
Raspi2|nanoCul433|nanoCul868|CCU2
Energie-USBZähler|homebrew HM Devices
DBLog|DBRep|Homematic|Baumarktsteckdosen
Hue|Webcams mit DS-Station (Synology)|Bewegungsmelder|Rollladen|Schalter (IT|HM)

roedert

#36
Teileliste ist nen D1 mini, SSD1306-OLED (0,96" 128x64 I2C), 1 oder 2 helle grüne 3mm-LEDs mit entsprechendem Vorwiderstand für 5V, Fototransistor SFH309-5 (die klare Variante, nicht die dunkle IR-Variante), ein 110k-Pullup-Widerstand und evtl nen 100nF-Kondensator ... steht alles im Sketch.
Die Adapterplatte ist noch Handarbeit, hatte mal mit 3D angefangen, dies aber noch nicht komplett umgesetzt. Ist ja auch je nach Wasseruhr unterschiedlich.

Kai-Alfonso

Alles klar - das ist ja recht überschaubar - ich frag mal, ob mein 3D Drucker des Vertrauens für mich was drucken kann  8)

Für was ist das Oled Display? Anzeige Impulse? Muss die Adapterplatte eine Mindestdicke haben? Muss der Abstand Transistor einen bestimmen Abstand zum Sternrädchen haben?

Ich werd mal gleich ins Sketch schauen, dann ergibt sich die eine oder andere Frage von alleine  8)
Raspi2|nanoCul433|nanoCul868|CCU2
Energie-USBZähler|homebrew HM Devices
DBLog|DBRep|Homematic|Baumarktsteckdosen
Hue|Webcams mit DS-Station (Synology)|Bewegungsmelder|Rollladen|Schalter (IT|HM)

roedert

#38
Das OLED-Display zeigt die gezählten Impulse an und paar Statusinfos ... könnte man aber auch weglassen.
Stärke der Adapterplatte sollte egal sein - wichtig ist das ca. 3-4cm lange Röhrchen mit dem Fototransistor am Ende um Streuungen auszublenden. Es wird aber nicht das Sternrädchen, sondern einer der roten Zeiger -am sinnvollsten der letzte- abgetastet!
Das Röhrchen mit dem Fototransistor sollte an dieser Stelle sein - siehe Bild. Auf welcher Ziffer ist egal - nur eben soll der rote Zeiger so viel wie möglich Änderungen im "Blickfeld" hervorrufen.

Kai-Alfonso

Zitat von: roedert am 15 Januar 2018, 15:18:44
Das OLED-Display zeigt die gezählten Impulse an und paar Statusinfos ... könnte man aber auch weglassen.
+

Ah, alles klar - Status ist ja schon wichtig, grade auch wenn da ein Webserver/Wlan Chip mit involviert ist.

Zitat von: roedert am 15 Januar 2018, 15:18:44
Stärke der Adapterplatte sollte egal sein - wichtig ist das ca. 3-4cm lange Röhrchen mit dem Fototransistor am Ende um Streuungen auszublenden. Es wird aber nicht das Sternrädchen, sondern einer der roten Zeiger -am sinnvollsten der letzte- abgetastet!

Ok, ist das ein bestimmtes Röhrchen oder hast Du dir einfach ein passendes Rohr besorgt und zurecht gesägt?

Zitat von: roedert am 15 Januar 2018, 15:18:44
Das Röhrchen mit dem Fototransistor sollte an dieser Stelle sein - siehe Bild. Auf welcher Ziffer ist egal - nur eben soll der rote Zeiger so viel wie möglich Änderungen im "Blickfeld" hervorrufen.

Ah, ok - ich denke, ich hab das Prinzip verstanden. Wie hast Du die Adapterplatte auf dem Zähler befestigt?
Raspi2|nanoCul433|nanoCul868|CCU2
Energie-USBZähler|homebrew HM Devices
DBLog|DBRep|Homematic|Baumarktsteckdosen
Hue|Webcams mit DS-Station (Synology)|Bewegungsmelder|Rollladen|Schalter (IT|HM)

roedert

Hab einfach ein Messingrohr aus dem Baumarkt genommen - 3mm Innendurchmesser so dass der Fototransistor reinpasst.
Die Adapterpatte ist nur reingedrückt - saß anfangs was locker aber eine Lage Isolierband außen um den Rand und schon sitzt sie von selbst straff. Durch die Aussparungen für das Zählwerk und die restlichen Zeiger ist auch mit Platte ein manuelles Ablesen möglich.

C0mmanda

Wäre es evtl möglich ein Foto von dem Aufbau zu bekommen?
Mich interessiert vor allem das Röhrchen mit den LEDs.
Kommen die grünen LEDs mit der Photodiode zusammen in das Röhrchen?

Danke!


roedert


C0mmanda


Kai-Alfonso

Hi,

eine Frage zu dem Pullup Widerstand (da ich kein E-techniker bin) - ist das ein normaler Widerstand, der in der Schaltung als Pullup genutzt wird?

In dem Sketch sind auch noch optional Info LED und ein Button vorgesehen. Der Button startet einen WLAN Hotspot zur Erstkonfiguration? Habe ich das richtig interpretiert? und die Info LED ist optional, eigentlich wird die wemos LED genutzt?
Raspi2|nanoCul433|nanoCul868|CCU2
Energie-USBZähler|homebrew HM Devices
DBLog|DBRep|Homematic|Baumarktsteckdosen
Hue|Webcams mit DS-Station (Synology)|Bewegungsmelder|Rollladen|Schalter (IT|HM)