Gaszaehler & Reedkontakt.

Zurück

Gaszähler besitzen an der mechanischen Zählwalze einen Magnetstreifen, der einen Reedkontakt zum Schalten bringt. Im Internet findet man viele Beispiele wie so eine Abtasteinrichtung funktioniert.

Das hier vorgestellte Projekt „Webserver für den Gasverbrauch“ steht oder fällt mit der Reedkontakt-Signalqualität. Es sind einige Vorversuche notwendig bevor man dieses Projekt „anschiebt“. Es gibt einiges zu beachten: Position Reedkontakt, Prellen Reedkontakt, lange Signalleitung (8 Meter), maximaler- und minimaler Durchfluss und stundenlanges Verweilen des Reedkontakt-Signals im High-Zustand, weil die Zählwalze genau zwischen 9 auf 0 stoppt.

Hier wollte ich die Flinte schon ins Korn werfen, letztendlich hat es dann doch geklappt. Lese weiter in diesem Kapitel.


Gaszaehler & Reedkontakt


Unterhalb der mit einem Magnetstreifen ausgerüsteten rotmarkierten Zählwalze befindet sich eine rechteckförmige Aussparung. Mit einer Länge von 33mm, einer Breite von 13mm und einer Tiefe von 5mm. Hier wird der Reedkontakt platziert.

Zum Einsatz kommt ein Glaskolben Reedkontakt, Schließer, 100 mA für unter einem Euro. Dieser Reedkontakt wird auf einer 10mm x 25mm Lochrasterplatine aufgelötet und mit einer flexiblen zweiadrigen Litze (geringen Querschnitt, wenig Eigengewicht) angeschlossen.

Als Nächstes muss eine Prüfeinrichtung gebaut werden. Ich habe einen Mikrokontroller Raspberry Pi Pico und ein Display genommen. Der Reedkontakt wird am Mikrokontroller angeschlossen. Die Impulse sollen gezählt werden. Noch habe ich keine Soft- und Hardware-Entprellung eingebaut! Nun wird der Reedkontakt in die obengenannte Aussparung mittels Schaumstoffes und etwas Klebeband fixiert. Die Heiß-Wasseraufbereitung der Gasheizung wird auf Desinfektionstemperatur gestellt, so dass der Gaszähler zählt. Während dieser Phase wird die optimale Position für den Reedkontakt eingestellt. Das Finden des optimalen Abtastpunktes braucht Zeit! Ist dieser Vorgang abgeschlossen, wird der Reedkontakt endgültig mit Panzerband abgeklebt. Siehe Bild oben.

Nun vergleicht man das Ergebnis auf dem Display des Mikrokontrollers mit der Anzeige des Gaszählers. Das Resultat ist erschreckend! Das Display zeigt ein Vielfaches mehr an. Nicht nur das! Es werden auch Impulse registriert obwohl der Gaszähler nicht zählt. Wie man damit umgeht wird weiter unten in diesem Kapitel behandelt.

Vorher betrachten wir noch die Eigenschaften des Zählers und die Besonderheiten von Erdgas. Der Gaszähler vom Typ BK-G4-MT kann einen maximalen Durchfluss von sechs Kubikmeter Gas pro Stunde (6m³/h) zählen. Weiterhin besitzt er eine Auflösung von 0,01m³ Gas pro Impuls. Das bedeutet: 0,01m³ Gas dividiert durch 6m³ Gas pro Stunde multipliziert mit 3600 Sekunden pro Stunde entspricht alle 6 Sekunden einen Impuls als maximalen Durchsatz. Hinweis! Man muss für das Einlesen der Impulse mittels Reedkontakt kein GPIO-Interrupt in der Steuerung verwenden! Ganz im Gegenteil!

Zum Thema Erdgas nur eine kurze Vorstellung: Der Haupanteil von Erdgas ist Methan. Das Volumen von Erdgas wird in Kubikmeter angegeben. Bezogen auf die Einheiten der Masse entspricht das in Abhängigkeit der Dichte 0,67 Kilogramm Gas oder 1,59 Liter Gas (flüssig!).


Schaltung Gaszaehler Reedkontakt


Reedkontakt-Schließer prellen. Undefiniertes Schalten kann auch durch Resonanzfrequenz entstehen. Besuche auch diese Seite!

Weiterhin habe ich installationsbedingt eine lange Signalleitung (8 Meter zum Raspberry Pi). Hier kann es zu Rauschen durch Impedanzkopplung kommen. Der Einsatz von Schaltnetzteilen ist auch ein Thema.

Die obige Tiefpass-Schaltung ist die erste Maßnahme für ein störungsfreies Signal. Mehr über dieses Thema findest du hier. Die rote Leuchtdiode in Reihe mit einem 680 Ohm Widerstand dient zur optischen Kontrolle. Das bietet sich an, weil diese Einheit direkt neben den Gaszähler montiert ist. Ein Telefonkabel mit zweimal paarverseilten Adern dient als Signalleitung.


Impulslaenge Gaszaehler Reedkontakt


Die Gaszufuhr stoppt genau zwischen Ziffer Neun und Null an der Zählwalze des Gaszählers. Der Magnetstreifen aktiviert den Reedkontakt. Das Eingangssignal für den Raspberry Pi geht von Null Volt auf 3,3 Volt und verweilt dort. Das obige Bild zeigt diese Situation. Aus meiner Sicht kann die Software hier nichts mehr kompensieren! Ein RC-Glied (Hardware) ist erforderlich.

Python -2- Reedkontakt Entprellung


Python-Funktion: „reedSwitch()“, Auszug aus der Datei: tools.py, wird später noch behandelt.

In Zeile 235! Zählt die Software weniger als die Anzeige des Gaszählers, muss die Zeit verkürzt werden. Umgekehrt, die Zeit vergrößern.

Alle sechs Sekunden liefert der Gaszähler bei maximalem Durchfluss einen Impuls. Das entspricht ein High-Signal von etwa 1700 Millisekunden am Reedkontakt. Gemessen. Bei minimalem Durchfluss messe ich ein High-Signal von bis zu 3400 Millisekunden.

Weiterhin, wie oben schon erwähnt, kann es auch zu einem längeren High-Signal kommen, wenn die Gaszufuhr zwischenzeitlich stoppt. Die Software muss all diese Gegebenheiten berücksichtigen.

Die Hardware-Endprellung und die Software-Entprellung ist keine „doppelt gemoppelte“ Angelegenheit!

Ich habe mich für ein Schrittschaltwerk entschlossen. Von Mitte Januar 2023 bis Ende Mai 2023 kam es zu keiner Abweichung zwischen Gaszähleranzeige und dem Raspberry Pi Projekt.

August 2023! Doch eine Korrektur erforderlich! Änderung in Zeile 235, nach einer Betriebszeit von drei Monaten: Verweilzeit von 0,3 Sekunden auf 0,15 Sekunden reduziert. Grund: Sporadisch aktiviert die Gasheizung eine thermische Desinfektion für das Warmwasser. Erhitzen des gesamten Leitungsnetzes auf 71°C für drei Minuten (Legionellen). Hier kam es zu Fehlzählungen!


Python -1- Reedkontakt Thread


Python Datei: reed_contact_Thread.py

Reedkontakt, beziehungsweise das Einlesen des Gasverbrauchs ist ein Python-Thread, eigenständiges Parallelprogramm.

In Zeile 30, wird der Gasverbrauch eingelesen. In Zeile 34, wird der Tage-Gasverbrauch zurückgesetzt (0 Uhr). In Zeile 35, wird jede Stunde eine CSV-Datei mit neuen Daten gefüllt.




Zurück