Gaszähler

Geschichte

Wir verfügen in unserer Wohnung über eine Gasheizung und folglich auch über einen Gasanschluss mit Gaszähler. Leider verlgangte unser lokaler Gasanbieter, die GASAG, eine unverschämt hohe Abschlagszahlung von über 100 Euro pro Monat. Die Kundenbetreuung sah sich selbstverständlich außer Stande, die Höhe des Abschlags innerhalb des ersten Jahres, in dem man in der Wohnung wohnt, anzupassen. Dessen Höhe richtet sich nämlich nach den Werten der Vormieter der Wohnung. Tja, und wenn diese nun undichten Fenstern im Winter mit der Heizung entgegenwirkten, müssten wir das nun ausbaden.

Um also am Ende des Jahres nicht von durch eine hohe Nachzahlung überrascht zu werden, baute ich eine Schaltung und Software, um den Zählerstand mit einem Rechner zu erfassen.

Hardware

fertige Installation

fertige Installation

Viele Gaszähler besitzen eine reflektiv markierte Ziffer und/oder einen Magneten, der sich mit einer Ziffer (oder der Mechanik dahinter) dreht.

Hauptplatine

Hauptplatine

Der reflektierende Fleck wird mit einer Lichtschranke erkannt, die allerdings regelmäßig mit Strom versorgt werden muss. Weniger Strom benötigt ein Reed-Kontakt, mit dem man das Feld des Magneten registriert.

Der im rechten Bild sichtbare Gaszähler hat unten rechts eine Aussparung, in die ein Reed-Kontakt eingebracht werden kann. Den Gaszähler mit eingebautem Kontakt kann man bei der Gasag für einen Obolus von 30 Euro, wenn ich mich recht entsinne, bestellen. Aus Faulheit habe ich einfach die im Bild sichtbaren drei Reed-Kontakte vor die Scheibe montiert. Dort ist das Magnetfeld auch messbar. Die Kontakte werden von einem Magneten auf dem Zähler gehalten. Es ist natürlich kein Eingriff in den Zähler nötig.

Hardwarekommunikation

Hardwarekommunikation

Die verarbeitende Schaltung, im linken Bild zu sehen (oben ist ein MAX232-Pegelwandler, unten die eigentliche Schaltung), erfasst das Schließen und Öffnen des Reed-Kontakts, zählt dabei intern einen Zählerstand hoch und gibt diesen an der seriellen Schnittstelle aus. Der anfängliche Zählerstand wird auch über diese Schnittstelle gesetzt. Fällt die Stromversorgung, welche wie die Daten über ein 4-poliges Kabel mit Modularstecker übertragen wird, aus, so arbeitet die Schaltung intern eine Weile mit dem Pufferelko. Der Pegelwandler ist in dieser Zeit inaktiv, um Strom zu sparen. Sicherheitshalber wird der Zählerstand auch im EEPROM gespeichert, wenn die Stromversorgung fehlt. Nach einem Neustart wird dieser auch von dort geladen.

Auf dem Rechner

Diagramme

Diagramme

Auf dem Rechner läuft eine Perl-Software, welche die gelesenen Daten in eine RRD-Datenbank speichert.

Daraus generiert ein anderes Perl-Skript die im letzten Bild sichtbaren Diagramme. Für die Intervalle Tag, Woche, Monat und Jahr sind die Gasflüsse in Kubikmeter pro Stunde bzw. Euro pro Tag dargestellt.

Die Datenbank, von RRDtool bereitgestellt, verringert durch ihren Aufbau die Auflösung der Daten automatisch mit deren Alter. Das sichert die Privatsphäre der Bewohner insofern, als dass beispielsweise nicht nach einem Jahr noch festgestellt werden kann, wer wann geduscht hat.

Schaltung und Code

Die Lizenz des UART-Codes habe ich noch nicht geklärt, er stammt aus der Anwendungsbeschreibung AVR307 von Atmel. Sie sollte also ziemlich lax sein. Der Rest steht unter einer 2-Klausel-BSD-Lizenz.

Die verwendete Messwert-Datenbank ist RRDtool und steht unter der GPL.

Dateien
gasd-r1910.tar.bz2