Gaszähler smart machen & Auswertung

Begonnen von Dracolein, 18 Februar 2020, 08:52:26

Vorheriges Thema - Nächstes Thema

Papa Romeo

Zitat von: Gisbert am 07 März 2020, 23:18:19
Meinst du, dass du mir eine Skizze anfertigen kannst...

Hallo Gisbert,

klar doch, look like this...
...die richtige Lötspitzentemperatur prüft man zwischen Daumen und Zeigefinger.
...überlasse niemals etwas einer Software, das du hardwaremässig erreichen kannst.
...unvorsichtige Elektriker werden schnell zu leitenden Angestellten.
und...never change a running System...no Updates if not necessary

Gisbert

#16
Hallo Papa Romeo,
die Schaltung funktioniert schon mal. Ich bekomme ~3.2V ohne Magnet und einige mV bei Annäherung eines Magneten.
Dieser Teil wäre dann schon mal geschafft.

Hallo Dracolein,
der schwierigere Part ist die Positionierung des Hall-Sensors. Ich habe einen Pipersberg G4 RF1c, siehe Bild und Datenblatt.
Wo um Himmelswillen positioniert man den Winzling von Hall-Sensor, und in welcher Frequenz läuft der Magnet einmal rum. Wenn es ein Umlauf bei der 3. Nachkommastelle ist, dann kann man es vielleicht durch Probieren rausbekommen. Wenn es die 1. Nachkommastelle ist, dann brauch ich ein Feldbett neben dem Gaszähler, und bei der 1. Vorkommastelle gebe ich auf. Bis jetzt habe ich ziemlich wahllos an verschiedenen Stellen probiert, jeweils mit mindestens einer Drehung der 3. Nachkommastelle. Nach 5 Minuten habe ich erstmal aufgegeben und hoffe hier auf Unterstützung.
Noch ein Hinweis die 6 der 3. Nachkommastelle hat eine Reflexionsschicht aufgeklebt.

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

Gisbert

Hallo Papa Romeo und Dracolein,

googlen nach dem besagten Gaszähler führt zu dieser Seite, in der gesagt wird, dass dieser Typ nicht per Reedkontakt ausgelesen werden kann. Angehängt ist noch eine weitere Beschreibung des Gaszählers mit den verschiedenen Typen "e" wie elektronisch, "o" mit Reedkontakt und "c" mit was anderem.

Auf der oben verlinkten Webseite wird gesagt, dass es mit einem induktiven Näherungsschalter funktioniert.
Ich werden diesen Weg mal beschreiten.

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

Papa Romeo

Hallo Gisbert,

normal ist es die 3. Nachkommastelle (0.01 m3). Zumindest ist es bei mir so.
Kannst mal schauen, ob du zwischen der 6 und 7 der dritten Nachkommastell auch eine kleine Spiegelfläche hast.
Dann könntest du auch eine Reflexlichtschranke, wie z.B. 

https://www.ebay.de/i/223898051348?chn=ps&norover=1&mkevt=1&mkrid=707-134425-41852-0&mkcid=2&itemid=223898051348&targetid=860476825588&device=c&mktype=pla&googleloc=9042127&poi=&campaignid=7219685408&mkgroupid=90355299118&rlsatarget=pla-860476825588&abcId=1139166&merchantid=112038509&gclid=CjwKCAiAzJLzBRAZEiwAmZb0aiv9O_LFQPJb48xsmYXAqk9HSSKJMQynBRljUd131ITYyLK8I6OYihoChRoQAvD_BwE

als Impulsgeber einsetzen.

Hab ich mal bei einem Wasserzähler so realisiert.

LG

Papa Romeo
...die richtige Lötspitzentemperatur prüft man zwischen Daumen und Zeigefinger.
...überlasse niemals etwas einer Software, das du hardwaremässig erreichen kannst.
...unvorsichtige Elektriker werden schnell zu leitenden Angestellten.
und...never change a running System...no Updates if not necessary

Gisbert

#19
Hallo Papa Romeo,

ich bin eine großen Schritt weitergekommen.
Ich hatte noch einen induktiven Näherungssensor LJ12A3-4-Z/BJ in meiner Sammlung. Der liefert auch noch mit 5.0V Versorgungsspannung ein eindeutiges Signal auf der Signalleitung bei Annäherung von Metall; man bekommt dann ca. 4.5V in der Spitze, die sich bei 4.38V einpendelt. Ohne Annäherung an Metall ist die Spannung < 1mV.

Jetzt kommt natürlich die unvermeidbare Bitte nach einem Schaltplan zum Anschluss an einem GPIO eines ESP8266.
Mindestens ein Spannungsteiler ist notwendig, um die Spannung auf ca. 3.3V zu bekommen.
Die meiste Zeit registriert der Näherungssensor kein Metall, dann liegen ca. 0V am GPIO an, es sei denn das Drehrad bleibt genau dann stehen, wenn der Näherungssensor ein Signal bekommt - dann würden die 4.5 bis 4.38V anliegen.
Könntest du mir nochmals eine Skizze machen (oder beschreiben), wie ich die Signalleitung an einen GPIO des ESP8266 anschließen muss?
Versorgungsspannung und GND sind mir klar.
Ist es elektrisch egal, ob die meiste Zeit 0V oder die runtergeregelte 3.3V am GPIO anliegen? Mit meiner Frage siehst du, auf welchem Niveau wir uns bewegen 8)

Bis hierher schon mal vielen Dank für deine großartige Unterstützung.
Viele Grüße
Gisbert

PS: Die Position am Gaszähler ist anhand des Datenblattes super leicht zu finden; d.h. dieser Teil der Aktion kann auch als erldigt betrachtet werden.
PPS: Das Datenblatt des Näherungssensors sagt, dass der Outputstrom 300 mA beträgt, das dürfte eindeutig zuviel für einen GPIO sein. Gemessen habe ich mit den oben beschriebenen Bedingungen (5V Versorungsspannung) ca. 67 mA, auch noch viel zuviel für einen GPIO.
Aktuelles FHEM | PROXMOX | Fujitsu Futro S740 | Debian 12 | UniFi | Homematic, VCCU, HMUART | ESP8266 | ATtiny85 | Wasser-, Stromzähler | tuya local | Wlan-Kamera | SIGNALduino, Flamingo Rauchmelder FA21/22RF | RHASSPY | DEYE | JK-BMS | ESPHome

Papa Romeo

Hallo Gisbert,

der Ausgangsstrom des Sensor´s spielt hier keine Rolle. Die Dinger sind auch dazu gedacht direkt eine Relais anzusteuern deswegen der hohe mögliche Ausgangsstrom. In der Anwendung wie du ihn nutzen willst, fließt nicht einmal annähernd soviel Strom.

Bei der Version 1 (Anhang) fließt der Strom, den der interne Pullup zulässt (nicht vergessen Diesen im Sketch zu aktivieren).

Funktioniert wie folgt: Stehen am Ausgang des Sensor´s 4.5 Volt an, ist die Diode in Sperrichtung und am GPIO stehen, durch den internen Pullup
oder wenn gewünscht auch durch einen externen Pullup (z.B. 10 kOhm), 3.3 Volt an. Geht der Ausgang des Sensor´s auf LOW, ist die Diode in
Durchlassrichtung und am GPIO verbleiben etwa 0.5 bis 0.7 Volt.

Bei der Version 2 (Anhang) fliessen 0,1 mA (12/33 kOhm) bzw. 1 mA (1.2/3.3 kOhm). Ob ständig 0 oder 3.3 Volt an GPIO liegen spielt keine Rolle.
Funktioniert nach dem normalen Spannungsteiler-Gesetz. Ua = Uges * Ra / Rv + Ra --> Ua = 4.5 * 33 / 12 + 33

Ich hoffe du kommst klar damit.

LG

Papa Romeo
...die richtige Lötspitzentemperatur prüft man zwischen Daumen und Zeigefinger.
...überlasse niemals etwas einer Software, das du hardwaremässig erreichen kannst.
...unvorsichtige Elektriker werden schnell zu leitenden Angestellten.
und...never change a running System...no Updates if not necessary

andies

Den Strom vom Sensor brauchst du ja nicht am GPIO, den musst du nur von der Stromversorgung her bereitstellen. Eigentlich verträgt wohl der Esp an den GPIOs 5V, ich habe in einem anderen Thread dazu Links. Wenn du das nicht riskieren willst, dann eben per Spannungsteiler.

<edit> papa romeo war wieder mal schneller [emoji41]

Gesendet von iPad mit Tapatalk Pro
FHEM 6.3 auf RaspPi4 (Raspbian:  6.6.28+; Perl: v5.36.0)
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

HomeAuto_User

#22
Hallo,
ich habe mal den Faden überflogen.

Gern kannst du deinen ESP auch mit dem Projekt von hier

https://github.com/elektron-bbs/ESP-Gaszaehler-GZ16

flashen. Somit hast du direkt die Diagramme zum aufrufen und parallel auch eine MQTT Anbindung zu FHEM.

Ich habe somit sämtliche Statistiken.

Liebe Grüße

BeispielScreens anbei
(https://uploads.tapatalk-cdn.com/20200309/0aa77253143ce3df49cfa7eba9fd5e80.jpg)

(https://uploads.tapatalk-cdn.com/20200309/e54e6d487d7558fd26a9eb64943fcc35.jpg)

(https://uploads.tapatalk-cdn.com/20200309/a48f59c9c7740b310e1a972f711f56de.jpg)

Gesendet von iPhone mit Tapatalk Pro
"Developer" heißt nicht, das man alles wissen kann!
- FHEM v5.9 | Rasberry PI 3
- radino CC1101 433Mhz (SIGNALduino)| - radino CC1101 868Mhz (CUL) | nano 433Mhz (SIGNALduino) - Sensoren: purer Dschungel querbeet

Gisbert

Zitat von: Papa Romeo am 08 März 2020, 21:28:56
Hallo Gisbert,

der Ausgangsstrom des Sensor´s spielt hier keine Rolle. Die Dinger sind auch dazu gedacht direkt eine Relais anzusteuern deswegen der hohe mögliche Ausgangsstrom. In der Anwendung wie du ihn nutzen willst, fließt nicht einmal annähernd soviel Strom.

Bei der Version 1 (Anhang) fließt der Strom, den der interne Pullup zulässt (nicht vergessen Diesen im Sketch zu aktivieren).

Funktioniert wie folgt: Stehen am Ausgang des Sensor´s 4.5 Volt an, ist die Diode in Sperrichtung und am GPIO stehen, durch den internen Pullup
oder wenn gewünscht auch durch einen externen Pullup (z.B. 10 kOhm), 3.3 Volt an. Geht der Ausgang des Sensor´s auf LOW, ist die Diode in
Durchlassrichtung und am GPIO verbleiben etwa 0.5 bis 0.7 Volt.

Bei der Version 2 (Anhang) fliessen 0,1 mA (12/33 kOhm) bzw. 1 mA (1.2/3.3 kOhm). Ob ständig 0 oder 3.3 Volt an GPIO liegen spielt keine Rolle.
Funktioniert nach dem normalen Spannungsteiler-Gesetz. Ua = Uges * Ra / Rv + Ra --> Ua = 4.5 * 33 / 12 + 33

Ich hoffe du kommst klar damit.

LG

Papa Romeo

Hallo Papa Romeo,

ich hab mich entschlossen den induktiven Näherungssensor mit 12V zu betreiben.
Ich hab mittlerweile auch den Adapter per 3D-Druck zur Montage am Gaszähler; das passt alles perfekt und der Sensor mit seiner LED leuchtet.

Bei letscontrolit.com (hier) wir die im Bild angehängte Schaltung vorgeschlagen. Diese ähnelt zumindest deinem Vorschlag 1.
Von den Bauteilen habe ich alle bis auf den BC-547, ich hätte aber den BC-337 - vom Datenblatt her sind die sich ziemlich ähnlich.

Wie ist deine Meinung zur Lösung bei letscontrolit.com unter der Prämisse, dass ich den Sensor mit 12V betreibe, und kann ich den BC-337 statt des BC-547 einsetzen?
Brauch ich dann auch den pull-up-Widerstand am GPIO?

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

Papa Romeo

Hallo Gisbert,

den BC337 kannste auch verwenden. Er verträgt einfach nur etwas mehr Leistung wie der BC547.

Die 12 Volt können auf Grund der Diode (ist in Sperrrichtung für die 12 Volt) nicht auf den GPIO
wirken. Wenn Du also den Pullup nicht softwäremäßig setzt oder setzen kannst, solltest du ihn schon einbauen,
damit der GPIO seinen definierten 3.3 Volt HIGH-Pegel bekommt, wenn der Transistor nicht geschaltet hat.

Gruß und coronafreie Zeit

Papa Romeo
...die richtige Lötspitzentemperatur prüft man zwischen Daumen und Zeigefinger.
...überlasse niemals etwas einer Software, das du hardwaremässig erreichen kannst.
...unvorsichtige Elektriker werden schnell zu leitenden Angestellten.
und...never change a running System...no Updates if not necessary

Gisbert

Hallo Papa Romeo,

im Testaufbau (ohne ESP) funktioniert es mit dem Schaltplan von letscontrolit.com (BC337 statt BC547) und dem pull-up mit 10 kOhm wie folgt:

  • keine Detektion von Metall: 3.305V
  • Detektion von Metall: 0.562V
Lasse ich den pull-up-Widerstand weg bekomme ich folgendes:

  • keine Detektion von Metall: ungefähr 0V
  • Detektion von Metall: -1.43 bis -1.47V

Auch wenn ich den negativen Spannungswert nicht verstehe, so überzeugt mich die Funktion des pull-up-Widerstands.
Jetzt muss ich das ganze noch zusammen"fummeln" und an einen bestehenden KANNIX anflanschen.

Viele Grüße, stay save and healthy
Gisbert
Aktuelles FHEM | PROXMOX | Fujitsu Futro S740 | Debian 12 | UniFi | Homematic, VCCU, HMUART | ESP8266 | ATtiny85 | Wasser-, Stromzähler | tuya local | Wlan-Kamera | SIGNALduino, Flamingo Rauchmelder FA21/22RF | RHASSPY | DEYE | JK-BMS | ESPHome

Papa Romeo

Zitat von: Gisbert am 29 März 2020, 11:50:53
Auch wenn ich den negativen Spannungswert nicht verstehe, so überzeugt mich die Funktion des pull-up-Widerstands.

Hallo Gisbert,

ohne Pullup hat dein ESp eine Open-Kollektor. D.h. idealerweise einen unendlichen Widerstand.
Störspannungen die nun auf den 12 Volt liegen können, gelangen über den 10 k Widerstand
an die Diode, die dann wie ein Gleichrichter wirkt. Aber eben für negative Spannungen, weil sie
für diese in Richtung hochohmigem GPIO in Durchlassrichtung geschaltet ist.

LG

Papa Romeo
...die richtige Lötspitzentemperatur prüft man zwischen Daumen und Zeigefinger.
...überlasse niemals etwas einer Software, das du hardwaremässig erreichen kannst.
...unvorsichtige Elektriker werden schnell zu leitenden Angestellten.
und...never change a running System...no Updates if not necessary

Gisbert

Hallo Dracolein,
hallo Papa Romeo,

das war mal wieder eine Mordsaktion für mich. Zunächst hatte ich den Aufbau wie bei letscontrolit.com realisiert, indem ich die Bauteile aneinander gelötet hatte und mit Schrumpfschläuchen geschützt hatte. Nachdem ich die Schaltung an einen existierenden KANNIX (wegen der Spannungsversorgung) und an einen vorhandenen Wemos D1 Mini (wegen freien GPIOs) verbunden hatte, und den Näherungsschalter mit externen 12V versorgt hatte, hatte ich kein Ergebnis in ESPEasy - Frust.

Ich hab mich dann entschlossen, den Näherungsschalter mit 5V vom KANNIX zu versorgen. Außerdem habe ich die Schaltung auf einem Löt-Breadboard/Platine (habe im Moment keine deutsche Bezeichnung parat) aufgebaut, das war schon mal viel übersichtlicher. Leider habe ich die Anschlüsse als Drähte ausgebildet, was wiederrum sehr fummelig war. Mir ist zu spät eingefallen, dass ich Jumper-Buchsen hätte einlöten können, was einen viel einfacheren Abschluss bei der Platine und Anschluss per Jumperkabel an die vorhandenen Controller bedeutet hätte. Aber letztlich funktioniert es, und ich bekomme in ESPEasy Werte beim Device Generic - Pulse counter rein.

Die Readings Count, Total und Time bekomme ich auch in ein Fhem-Device  rein - soweit so gut.

Ich bin natürlich auf das GasCalculator-Modul gestoßen, aber dieses Modul überfordert mich heute abend noch leicht (um nicht zu sagen deutlich).

Wie wertet ihr die Count-, bzw. Total-Readings aus? Falls ihr mit dem GasCalculator arbeitet, dann wäre ich für einen Schubs, bzw. Idee für die Definition dankbar.

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

PeMue

#28
Zitat von: Gisbert am 30 März 2020, 20:11:07
... auf einem Löt-Breadboard/Platine (habe im Moment keine deutsche Bezeichnung parat) ...
Steckbrett ;)

Leider kann ich Dir mit Deiner Schaltung nicht weiterhelfen, sorry.

Gruß Peter
RPi3Bv1.2 rpiaddon 1.66 6.0 1xHM-CC-RT-DN 1.4 1xHM-TC-IT-WM 1.1 2xHB-UW-Sen-THPL-O 0.15 1x-I 0.14OTAU  1xCUNO2 1.67 2xEM1000WZ 2xUniroll 1xASH2200 3xHMS100T(F) 1xRFXtrx 90 1xWT440H 3xTFA30.3150 5xFA21
RPi1Bv2 LCDCSM 1.63 5.8 2xMAX HKT 1xMAX RT V200KW1 Heizung Wasser

Gisbert

Hallo Peter,

die Hardware und die Übertragung nach Fhem per MQTT funktioniert.
Ich bekomme die readings Count, Total und Time, die ich in einem Fhem-Device subskribiere.

Meine Frage bzw. Hilferuf ging in die Richtung, wie ich diese Information jetzt sinnvoll auswerte.
Das Modul GasCalculator ist wahrscheinlich eine gute Wahl, aber der Thread im Forum und der Beitrag im Wiki haben mich erstmal ein wenig erschreckt.
Ich habe noch keine Ahnung, wie ich da konkret mit der Definition eines Devices anfangen soll.
Für heute wir das eh nix mehr, zu spät, aber wenn mir jemand unter die Arme greifen möchte, dann ist Hilfe willkommen.

Vielen Dank und viele Grüße
Gisbert
Aktuelles FHEM | PROXMOX | Fujitsu Futro S740 | Debian 12 | UniFi | Homematic, VCCU, HMUART | ESP8266 | ATtiny85 | Wasser-, Stromzähler | tuya local | Wlan-Kamera | SIGNALduino, Flamingo Rauchmelder FA21/22RF | RHASSPY | DEYE | JK-BMS | ESPHome