Gas Therme, Messungen, Version 2

Ansicht


Mittlerweile bin ich durch einige Bastelarbeiten ein Anhänger der Mikro Controller geworden. Ich bedanke mich für die Anregungen die ich im WWW gefunden habe. Besonders möchte ich erwähnen: Mikrocontroller.net und die Seiten von Ullrich Radig. Ohne diese Quellen wäre das hier beschriebene Gerät nicht entstanden.

Ziel des Gerätes: Alle wichtigen Werte der Heizung sammeln und später am PC grafisch auswerten. Mittlerweile ist die Gas Therme im Haus 15 Jahre alt (Buderus GB112-24), eine Erneuerung ist absehbar. Es ist daher sinnvoll seine Heizleistung zu kennen.

Temperatur Messungen von Vorlauf, Rücklauf, Außen, Warmwasser und Gewächshaus.
Gasverbrauch Messungen: Summe sowie der Anteil für das Warmwasser.
Stromverbrauch der Heizung messen.

Diese Messwerte müssen gespeichert werden um sie nachträglich auszuwerten. Die Daten sollen jede Minute gesichert werden, dazu muss jeder Messreihe einem Zeitstempel haben. Eine vorhandene kleine Alarmanlage mit einer DCF77 Uhrzeit wurde erweitert und sendet die Zeit über ein RS232 ähnliches Interface ( 20mA Strom und Optokoppler).

Nach einigen Probemessungen mit verschiedenen Sensoren habe ich mich für den DS1822 Sensor als Temperatursensor entschieden.

Der Gasverbrauch wird über einen kleinen Reed Kontakt am Balgen-Gaszähler ermittelt, so erhält man je 0,01m³ einen Impuls.

Am 3-Wegeventil der Heizung wurde ein Mikro Schalter angebracht zur Erkennung ob die Therme das Warmwasser aufheizt.

Die Strommessung erfolgt mit einem kleinen Einbauzähler mit einem S0 Ausgang. Dieser liefert 1000 Impulse je kWh.

Die Messwerte werden auf eine SD-Karte gespeichert und einmal im Monat ausgewertet. Ein Display zeigt alle Messwerte an sowie die aktuelle Leistung der Therme je Gasimpuls.

power


Wegen der Sektorgröße von 512Byte schied ein Atmega8 aus. Die Entscheidung viel auf den Atmega32, der sich als ausreichend erwiesen hat (Takt 14,7456MHz). Im Keller war schon eine 12V Versorgung (Steckernetzteil) für eine kleine Alarmanlage, damit soll dieses Gerät auch versorgt werden. Als sog. Standard-Leitungen benutze ich 4 adrige Telefonleitungen. Diese sind ausreichend da die UART-Signale nur mit 600Baud gesendet werden. Der Standort des Gerätes ist neben der Heizungsanlage. Wegen der Leitungsoptimierung wurden 2 Temperatur Sensoren in die Alarmanlage ausgelagert und diese Messwerte werden ebenfalls über UART geliefert. Zur Programm Vereinfachung betreibe ich jeden DS1822 Sensor an einem eigenen Port. Die Schalter und reed Kontakte werden je alle 10msek ausgewertet. Das ist für den Gasimpuls unproblematisch da dieser relativ lange ansteht. Die SD-Card Schreibroutinen verhindern Unterbrechungen, so wird der S0 Impuls mit dem T0 Counter gezählt (S0 Impuls 90msec). Zuerst wurde das S0 Signal nach dem Optokoppler direkt auf den T0 Eingang geschaltet, dies gab jedoch sporadische Messfehler. Ein attiny24-Kontroller wurde als Signalfilter dazwischen geschaltet, seitdem ok. Wie aus der Schaltung zu entnehmen ist, sind die Signale für die SD-Karte und ISP fast gleich. Ein unbenutzter Pin des ISP Steckers wird mit dem fehlenden Signal belegt und so wird die SD-Karte über den ISP Stecker betrieben. Zur Wartung oder zum Wechsel der SD-Karte kann über das in der Kurzanleitung beschriebene Menü die SD-Aufzeichnung angehalten werden.
Für die Version 2 wurde eine einlagige Platine für die  3 Mikrocontroller entworfen, die Bedienung über einen Drehimpulsgeber. Die Anzeige ist eine kleines 4*20 LCD-Modul (EA DIP204-4) und wird über eine 8Bit Port Erweiterung angesteuert. Die Erweiterung wurde notwendig da ich die Daten der Heizung und des Regenmessers einen mini-Webserver übertrage. 

Ich benutzte WinAVR-20100110.
Die Quelltexte des Verzeichnisses \abc hier
Die Quelltexte des Verzeichnisses \gmess_sd hier inklusive S0 und Drehimpulsgeber

Für die Speicherung der Daten ist das Programm gatag.exe (cmd Zeilen Version) vorgesehen.
Daten Daten werden jeweils in Monatsfiles abgelegt. Die grafische Auswertung erfolgt über ein Java-Applet, dazu muss mit dem Programm gmess2html eine html-Seite erstellt werden. Im Programm gmess2html ist ein Java Aufruf Mytool1 implementiert. Dies war notwendig da die Monatsdaten mit vielen Infos den Browser überforderten.
Mytool1 komprimiert die Daten über die java.zip Methode deflate und expandiert sie auf ein base64 Format.

gmess2html Eingabe auf cmd:
gmess2html gmd1011.bl3 > test1011.html

Die Batchprogramme in c (für Open Watcom IDE )
Das Java Programm und das Applet inclusive einer Korrektur für die Anzeige der Temperatur.  

Für die Darstellung der html-Seite ist der Firefox Browser zu benutzen oder der appletviewer aus dem JDK.

Beispiel November 2010


Update Dezember 2011

Von meinem Netzbetreiber wurde im November 2011 eine neue Gasuhr eingebaut. Leider das neueste elektronische Modell, Landis G350.
Diese Gasuhr kann man nur manuell auslesen. Sie hat zwar ein sog. MBus Interface, aber mit diesem könnte man maximal die Summe einer Stunde auslesen. Kein Impuls je 10l Gas möglich. Es gibt Experten, die mir zu einem eigenen Balgen-Gaszähler raten, den ich hinter dem vorhandenen einbauen lasse. Mein Heizungsbauer sagt: Kostet in der Summe ca. 1000€........ Jetzt lese ich nur manuell monatlich aus. Für die Messung der Heizleistung und des Anteils für das warme Wasser habe ich genug Daten gesammelt. Eine Solaranlage für das warme Wasser kommt mir daher nicht aufs Dach, bis sich die rentiert sehe ich von unten das Gras wachsen.....        

Update: 16.2.2013             Reinhard Alfons Lidzba 2013       Kontakt