Gaszähler Pipersberg G4 RF1 c

Begonnen von Gisbert, 01 Oktober 2016, 09:28:59

Vorheriges Thema - Nächstes Thema

schlaubstar

Hallo zusammen,

ich wollte nur kurz meine Lösung präsentieren, die einen gewissen Charme hat, denn sie behebt einige Probleme die andere hier hatten.
Ich verwende einfach ein ESP8266 Modul mit einem via I2C angeschlossenen HCM5883L Magnetfeldsensor, der eigentlich für "Kompassapplikationen" gedacht ist.
Positiv: Das Ding ist nicht teurer als der hier empfohlene Näherungssensor, dank 3-5V kann man es direkt an ESP8266/Arduino/Raspi anschließen und vor allem: Ein Stück Tape reicht zur sicheren Befestigung.

Wenn ich den Sensor mit Chip in Richtung G4 RF1 c klebe und zwar ca. auf 11 Uhr (das ist dann quasi unterhalb der vorletzten Rolle des Zählers) erhalte ich folgendes Bild.

https://ibb.co/2gD9dhZ

Die Y Messwerte "kippen" (nähern sich 0) und springen dann auf das das Maximum und zwar genau, wenn auf der letzten Rolle von 7 auf 8 wechselt - und kurze Zeit später, geht es zurück.
Das ist ultra prägnant und leicht auszuwerten. Das Bild zeigt zwei Durchläufe der Ziffer 7.

Ich habe folgende Arduino Bibliothek verwendet (ich hoffe, der Link ist in Ordnung): https://github.com/jarzebski/Arduino-HMC5883L/
Und das o.g. Diagramm ist mit folgenden "Initialisierungswerten" des Sensors entstanden: Mode: COMPASS_SINGLE, Datarate: HMC5883L_DATARATE_30HZ, Samples: HMC5883L_SAMPLES_4, Scale: COMPASS_SCALE_190

Vielleicht hilft das jemandem.





fir3drag0n

Funktioniert dies auch mit dem Pipersberg G4 RF1 c?
Kann man die Werte per mqtt dann beliebig an ein anderes Device senden?

jo-me

Zitat von: schlaubstar am 03 April 2022, 20:06:47
Hallo zusammen,

ich wollte nur kurz meine Lösung präsentieren, die einen gewissen Charme hat, denn sie behebt einige Probleme die andere hier hatten.
Ich verwende einfach ein ESP8266 Modul mit einem via I2C angeschlossenen HCM5883L Magnetfeldsensor, der eigentlich für "Kompassapplikationen" gedacht ist.
Positiv: Das Ding ist nicht teurer als der hier empfohlene Näherungssensor, dank 3-5V kann man es direkt an ESP8266/Arduino/Raspi anschließen und vor allem: Ein Stück Tape reicht zur sicheren Befestigung.

Wenn ich den Sensor mit Chip in Richtung G4 RF1 c klebe und zwar ca. auf 11 Uhr (das ist dann quasi unterhalb der vorletzten Rolle des Zählers) erhalte ich folgendes Bild.

https://ibb.co/2gD9dhZ

Die Y Messwerte "kippen" (nähern sich 0) und springen dann auf das das Maximum und zwar genau, wenn auf der letzten Rolle von 7 auf 8 wechselt - und kurze Zeit später, geht es zurück.
Das ist ultra prägnant und leicht auszuwerten. Das Bild zeigt zwei Durchläufe der Ziffer 7.

Ich habe folgende Arduino Bibliothek verwendet (ich hoffe, der Link ist in Ordnung): https://github.com/jarzebski/Arduino-HMC5883L/
Und das o.g. Diagramm ist mit folgenden "Initialisierungswerten" des Sensors entstanden: Mode: COMPASS_SINGLE, Datarate: HMC5883L_DATARATE_30HZ, Samples: HMC5883L_SAMPLES_4, Scale: COMPASS_SCALE_190

Vielleicht hilft das jemandem.


Hi @schlaubstar,

die Lösung hört sich interessant an. Könntest du bitte ein Foto posten wie der Aufbau aussieht.
Meine Versuche mit dem Sensor ergeben leider keine brauchbaren Daten...

Danke
Jochen

taskforce

Hi Zusammen,

würde mich auch brennend interessieren, ob die Variante mit einem HCM5883L Magnetfeldsensor bei einem Gaszähler OHNE Magnet funktioniert... Ich kann es mir eigentlich nicht vorstellen. Wenns einer ausprobiert hat, weil er einen HCM5883L rumliegen hat wäre das super. Berichte, dass der HCM5883L mit einem G4 älterer Bauert funktioniert gibt es viele, aber da war ja auch noch ein Magnet verbaut im Gegensatz zum neueren G4 RF1 c.

Viele Grüße

fermoll

Ich möchte den Gaszähler auch mit dem LJ12A3-4-Z/BX Sensor auslesen, weiß aber nichts mit dem Adapter anzufangen, da ich von 3D Druck keine Ahnung habe. Kann mir jemand freundlicherweise die Datei zur Verfügung stellen, da Woopy's Quelle nicht mehr funktioniert?
FHEM auf Synology Ds 1621+ in Docker, . 2x Max!Cube, Debmatic auf RPI 3  mit HM-MOD-RPI-PCB , CUNO mit 35cm Antene, 2x HM-LC-Bl1PBU-FM, HC-LC-Bl1-FM
22 HT u. HT+, Fensterkontakte, S300TH, EM 100-GZ(S).
Diverse Wemos mit ESPEasy. 2. RPI3+, 1 RPI 4 8GB

Hoopy

Ich bin von thingiverse auf printables umgezogen, da thingiverse immer langsamer wurde und auch noch andere Probleme hatte. Die Daten kann man unter https://www.printables.com/model/252308-halterung-pipersberg-g4-rf1-c runterladen.

Grüße,
Martin

schlaubstar

#66
Hallo zusammen,
leider habe ich erst per PN bemerkt, dass es zu meinem Magnetfeldsensor Rückfragen gab. Inzwischen habe ich aber viel mehr Details, die ich dann hier für alle einstellen wollte.


  • Ich verwende den HCM5883L Sensor, der Magnetfeldstärken in X, Y, Z Richtung misst und ausgibt.
  • Ich verwende folgende Konfiguration (wobei es vermutlich mit jeder anderen auch geht):
        SingleMeasurement, 15Hz Output Rate, HMC_GAIN130 und das Average aus 8 Readings.
        Ich lese die Feldstärken alle 320ms aus (damit erfasse ich auch den Schornsteinfegermodus, im Normalbetrieb sollten 450ms reichen)
  • Ein Problem bei der Datenanalyse war es, dass die Sensorwerte normal nicht kleiner als 0 werden, sondern statt von 0 auf -1 zu fallen auf 65535 springen. Das führt bei der Analyse zu total konfusen Kurven mit ständigen Sprüngen. Daher habe ich den Code beim Auslesen modifiziert:
       
    if (sample.X >= 65000) sample.X = -((65535 - sample.X) +1);

Damit ist das wichtigste erledigt, und wenn mein neuer Account bei einem Imagehoster älter ist als 1 Tag (morgen) füge ich hier noch die passenden Bilder ein.
Ich nutze den MQTT Client und schicke mit Nachrichten an mein Heimautomatisierungssystem (das nicht FHEM heißt).

Bild1: Ansicht Aufbau grob https://icedrive.net/s/QSWQvGtu6kihw5ttgAxkRStBgZV2
Bild2: Ansicht positionierung Sensor https://icedrive.net/s/kt9iSYV9YwCAGk15kvu2WS726X5P
Bild3: Ansicht ESP-CAM https://icedrive.net/s/thtA6XXg579hNwhkt9zFVgbaxZCu
Bild4: Ansicht Magnetfeld im Zeitverlauf https://icedrive.net/s/N4zZW57RQxuatkkPASPYW1AVuu7X
Bild5: Ansicht Wasseruhr https://icedrive.net/s/4yAX7k8aD9XD333vG7AB751F62yu

zu Bild4: Das sind 3 vollständige Umdrehungen des letzten Rades (also 0,03m³ Verbrauch) in ca. 220 Sec. (was sehr gemächlich ist)

Bei Bild 3 fragt sich der ein oder andere, was das ist: Ein ganz anderer Ansatz, die Dinger auszulesen.
Das ist ein "NodeMCU-Modul" auf Basis des ESP32 und einer ESP-CAM. Kostet ~15€ in DE, in CN etwas weniger.
Braucht noch eine 8GB microSD Karte und hat einen WebServer integriert. Man erstellt Referenzphotos, markiert dort "Ausrichtemarken" (die in jedem Bild konstant sind), sagt wo "digitale" Zähler sind (also Ziffern auf Rädern) ... on Top kann man auch analoge Zeiger definieren, die sich drehen. Und das ganze komfortabel in einer Web-Oberfläche.
Dann läuft da eine AI (Google Tensor Flow Modell) auf dem ESP32 Modul, macht Bilder und setzt aus den "Digits" bzw. bei Wasseruhren auch den Zeigern, den aktuellen Zählerstand zusammen, den man dann (per bereits vorhandenem) MQTT-Modul an einen MQTT-Server senden kann. Code und weitere Infos gibts hier.
https://github.com/jomjol/AI-on-the-edge-device

Ich habe eine Weile lang beide Varianten (Magnetfeldsensor und ESP-CAM32) parallel betrieben um die Werte und Abweichungen besser im Auge zu haben. Inzwischen habe ich 150m³ Gasverbrauch mit nur 0,01m³ Abweichung, die aber von einem WLAN Problem kamen - und ich werde das ESP32 Modul wieder abbauen und dem WeMos (an dem mein Magnetfeldsensor hängt) noch einen Methangassensor verpassen und alles sauber verkabeln.

Nachdem ich dann das ESP32 Modul an die Wasseruhr gehängt habe, ist mir dort ein kleines Metallplättchen am "liter" Zeiger aufgefallen und ich hab wieder den Magnetfeldsensor angesetzt und damit die Wasseruhr nun auch noch digitalisiert.

@taskforce: Der Sensor ist so empfindlich, dass er auf jegliche Änderung des Erdmagnetfelds durch ein ferromagnetisches Material reagiert. Wäre er auf einen Magneten angewiesen, würde es vermutlich auch mit einem Reed-Kontakt gehen. Irgendwo ist da ein Metallplättchen (kein Magnet) auf Höhe der 0 angebracht und das detektiert der Sensor. Bei der Wasseruhr führt das kleine Metallplättchen, das sich mit dem Literzeiger dreht um eine Änderung des Magnetfelds um 30% was ein sehr deutliches Signal gibt.

Viele Grüße an alle


schlaubstar

#67
Ich habe den letzten Eintrag nochmal editiert und die Bilder eingefügt.
Für das Thema ESP32-CAM habe ich noch einen sehr guten Thread gefunden: https://forum.fhem.de/index.php/topic,115506.0.html

fermoll

#68
Ich habe mittlerweile das Projekt zum Laufen gebracht.
Pulsecounter:  M12 LJ12A3-4-Z Bx 5 V
mit Optokoppler PC817
auf Wemos mini plus nach folgender Anweisung:
https://www.letscontrolit.com/forum/viewtopic.php?p=43942&hilit=LJ12A3+4+Z%2FBX&sid=a8698bb6f52b4dae6925056b7ec0cd1b#p43942ESPEasy%20Wasseruhr
Die Anordnung lief auf Anhieb.
Die Aussagekraft der Messung versuche ich täglich zu verifizieren, indem ich die Impulse mit dem Gasverbrauch vergleiche. Genau da zeigt sich ein Problem. Der Sollwert müsste dem Verbrauch in m3/100 entsprechen. Jetzt ist die Frage, an welcher Stellschraube gedreht werden muss, um plausible Werte zu bekommen.
s. Pulscounter.jpg und pulscounter_b.jpg
Möglich Debounce Time, Counter Type, Mode Type,
Das Problem kann m.E. sein, dass momentan der Gasverbrauch nur sporadisch erfolgt. Ich habe beobachtet, dass die LED auf dem Sensor manchmal länger aufleuchtet, weil die Gasuhr steht.
FHEM auf Synology Ds 1621+ in Docker, . 2x Max!Cube, Debmatic auf RPI 3  mit HM-MOD-RPI-PCB , CUNO mit 35cm Antene, 2x HM-LC-Bl1PBU-FM, HC-LC-Bl1-FM
22 HT u. HT+, Fensterkontakte, S300TH, EM 100-GZ(S).
Diverse Wemos mit ESPEasy. 2. RPI3+, 1 RPI 4 8GB

Gisbert

Hallo fermoll,

ich hab für den Gas- und Wasserverbrauch induktive Näherungssensoren im Einsatz, vom Typ her zu deinem ähnlich oder identisch.

Für Wasser gibt es so gut wie keine Abweichung zum mechanischen Zähler. Beim Gas gibt es kleine Abweichungen, da meine Anordnung nicht ideal ist.
Bei mir leuchtet die rote LED manchmal stundenlang, ohne dass irgendeine negative Auswirkung auf das Messergebnis zu sehen ist, warum auch.
Die Auswertungen mache mich mit ESPEasy (Einstellungen s. Screenshot) und in Fhem mit dem GasCalculator und WaterCalculator.

Viele Grüße Gisbert
Aktuelles FHEM | PROXMOX | Fujitsu Futro S740 | Debian 12 | UniFi | Homematic, VCCU, HMUART | ESP8266 | ATtiny85 | Wasser-, Stromzähler | Wlan-Kamera | SIGNALduino, Flamingo Rauchmelder FA21/22RF | RHASSPY

fermoll

Leuchten der LED:
Ich habe festgestellt, dass das Dauerleuchten erfolgt, wenn der Gasfluss still steht. Ist wegen des Wetters im Moment häufiger der Fall. Bei mir zeigt die 2. Stelle nach dem Komma dann immer eine vier an.
FHEM auf Synology Ds 1621+ in Docker, . 2x Max!Cube, Debmatic auf RPI 3  mit HM-MOD-RPI-PCB , CUNO mit 35cm Antene, 2x HM-LC-Bl1PBU-FM, HC-LC-Bl1-FM
22 HT u. HT+, Fensterkontakte, S300TH, EM 100-GZ(S).
Diverse Wemos mit ESPEasy. 2. RPI3+, 1 RPI 4 8GB

Gisbert

Hallo fermoll,

der induktive Näherungssensor zeigt an, dass entweder was Metallisches in der Nähe ist oder nicht.
Falls es dich wundert (meine Interpretation aus dem Threadverlauf, bitte um Korrektur, falls ich falsch liege), dass die LED länger an ist, wenn kein Durchfluss da ist, dann müsste es dich auch wundern, wenn sie länger aus ist, wenn kein Durchfluss da ist.

Der Sensor misst keinen Durchfluss, sondern "meldet" die Drehungen des mechanischen Zählers, und der angeschlossene Microcontroller und letztlich ein Statistikmodul in Fhem errechnet dadurch einen Durchfluss und Verbrauchen etc.

Die LED leuchtet, wenn gerade etwas Metallisches am Sensor dran ist. Falls gerade in diesem Moment der Durchfluss stoppt, dann leuchtet die LED solange, bis das Gas erneut fließt. Dein Sensor arbeitet nach deiner Schilderung, die genauso auf meine Sensoren zutrifft, erwartungsgemäß - alles andere würde mich wundern.

Viele Grüße Gisbert
Aktuelles FHEM | PROXMOX | Fujitsu Futro S740 | Debian 12 | UniFi | Homematic, VCCU, HMUART | ESP8266 | ATtiny85 | Wasser-, Stromzähler | Wlan-Kamera | SIGNALduino, Flamingo Rauchmelder FA21/22RF | RHASSPY

fermoll

#72
Leider entspricht auch meine heutige Messung nicht den Vorgaben:

05.11.22 17:21  6232,114    5,361  3800  386

386 registrierte Impulse  bei 5, 361 m³  Verbrauch

Übertragungsrate 0,01 m 3  / Umdrehung laut Beitrag # 11
s. Foto
Also muss in der Einstellung von ESPeasy irgend etwas verändert werden.
s. Pulscounter.

Auch heute stand die Diode wieder auf Duerlicht. Das heißt der Gasfluss hat genau da aufgehört, an dem die Cyble-Schnittstelle einen Impuls auslöst. Das habe ich jetzt schon mehrfach beobachtet.

Hier noch ein Hinweis auf die Dokumentation:
https://espeasy.readthedocs.io/en/latest/Plugin/P003.html

Ich bleibe dran mit Versuch und Irrtum.
FHEM auf Synology Ds 1621+ in Docker, . 2x Max!Cube, Debmatic auf RPI 3  mit HM-MOD-RPI-PCB , CUNO mit 35cm Antene, 2x HM-LC-Bl1PBU-FM, HC-LC-Bl1-FM
22 HT u. HT+, Fensterkontakte, S300TH, EM 100-GZ(S).
Diverse Wemos mit ESPEasy. 2. RPI3+, 1 RPI 4 8GB

Gisbert

Hallo fermoll,

was hält dich davon ab, dieselben Einstellungen wie bei meinem ESPEasy (Mode Type Falling) zu benutzen?
Zumindest funktioniert das bei mir präzise bis sehr präzise.

Viele Grüße Gisbert
Aktuelles FHEM | PROXMOX | Fujitsu Futro S740 | Debian 12 | UniFi | Homematic, VCCU, HMUART | ESP8266 | ATtiny85 | Wasser-, Stromzähler | Wlan-Kamera | SIGNALduino, Flamingo Rauchmelder FA21/22RF | RHASSPY

fermoll

Genau auf diese Idee bin ich auch endlich gekommen. Muss blind gewesen sein. Vielen Dank.
Grüße Ferdi
FHEM auf Synology Ds 1621+ in Docker, . 2x Max!Cube, Debmatic auf RPI 3  mit HM-MOD-RPI-PCB , CUNO mit 35cm Antene, 2x HM-LC-Bl1PBU-FM, HC-LC-Bl1-FM
22 HT u. HT+, Fensterkontakte, S300TH, EM 100-GZ(S).
Diverse Wemos mit ESPEasy. 2. RPI3+, 1 RPI 4 8GB