Go Down

Topic: Projekt: HeizungsLogger für Öl-Brennwert-Heizungsanlagen (Read 2 times) previous topic - next topic

Reinhardt

Hallo alle,

ich bin hier noch nicht so sehr lange dabei und habe bisher hauptsächlich mitgelesen und vieles gelernt. Dafür möchte ich mich bedanken bei allen, die hier unermüdlich reichlich Input geben!
Damit auch etwas zurückkommt, hier die Vorstellung eines meiner Projekte.

Das Projekt „HeizungsLogger" liest 4 Dallas DS18B20 Temperatursensoren ein und zeigt sie auf einem 4x20 LCD-Display zusammen mit Datum und Uhrzeit an, die von einer DS1307 RTC geliefert werden.
Die Temperatursensoren sind sternförmig an einen Arduino Mega angeschlossen, die gesamte Buslänge beträgt 20m und wurde mit einfach geschirmter 3-Ader-Litze (3x0,14mm²) realisiert. In Arduino-Board-Nähe wird ein 2kOhm-Widerstand als Pullup für den I²C-Bus verwendet.
Die Temperatursensoren messen die Vorlauf-, Rücklauf- und die Aussentemperatur sowie die Raumtemperatur des Wohnzimmers.
Ein digitaler Pin des Arduinos wird benutzt, um den Status des Öl-Brenners einzulesen (Brenner aktiv bzw. passiv).
Die aktive Zeit des Brenners wird aufsummiert und angezeigt.
Die Brennerstarts werden gezählt und angezeigt.
Das Programm überwacht die Rücklauftemperatur am Brenner und zeichnet zusätzlich auf, wenn sie 43°C übersteigt UND der Brenner aktiv ist (heizt). In genau diesem Fall würde der Brennwerteffekt der Anlage nicht genutzt werden, da der Abgasstrom nicht mehr am niedrigen Rücklauf kondensieren kann. Die tageskumulierte Zeit dieses Zustands wird ermittelt und sowohl in Stunden als auch in Prozent der aktiven Brennzeit angezeigt. Hohe anteilige Werte können z.B. auf eine nicht optimal eingestellte Öl-Brennwert-Heizungsanlage hinweisen.
Das Programm ermittelt auf Tagesbasis ständig die minimale und maximale Außentemperatur und berechnet laufend die Durchschnitts-Aussentemperatur. Alle drei Werte werden auf dem LCD-Display angezeigt.

Ein Ethernet-Shield bietet die Möglichkeit, die Temperaturdaten und verschiedene Stati des Brenners im 10sec-Takt als .csv-Datei auf SD-Karte abzuspeichern. In einer weiteren .csv-Datei werden die Tagesdaten jeweils in einer einzelnen Zeile pro Tag abgespeichert (Statistikdaten).
Mit Hilfe eines Tasters wird zwischen drei verschiedenen Anzeigen des LCD-Displays umgeschaltet, wenn die Betätigungszeit des Tasters unter 2sec liegt:
erste Seite: Datum + Uhrzeit,  Recording auf SD-Card an/aus, Brenner aktiv/passiv, alle vier Temperaturwerte
zweite Seite: Hilfsanzeige für die Werte auf der dritten Seite
dritte Seite: Aussentemperatur min, Durchschnitt und max, Online-Zeit der Überwachung am jeweiligen Tag in h, Summe der aktiv-Zeiten des Brenners am jeweiligen Tag in h, Summe der Zeiten, in denen die Rücklauftemperatur von 43°C überschritten wurde UND der Brenner aktiv war (in h) und dieser Wert auch noch einmal prozentual von der aktiv-Zeit des Brenners.
Eine längere Betätigung des Tasters  stoppt/startet die Datenaufzeichnung auf SD-Karte.

Ein kleiner WebServer stellt alle oben beschriebenen Daten im Netzwerk zur Verfügung und zeigt sie numerisch an. Die Anwendung ermöglicht auch einen Blick auf die Daten der zurückliegenden Tage, indem die Statistikdatei angezeigt werden kann.

An dieser Stelle möchte ich mich bei vielen Forumanen hier bedanken, die HowTo's und konkrete Vorschläge zu diesem Projekt lieferten, ohne es zu ahnen oder zu wissen. Mancher wird seine Handschrift bestimmt erkennen, denke ich.

Für den Nachbau müssen die Adressen der Temperatursensoren sowie die Mac-Adresse und die IP-Adresse des Ethernet-Shields angepasst werden.

Viel Spaß beim Stöbern wünscht Reinhardt!

Reinhardt

Und noch ein paar Bilder dazu...

Reinhardt

gleich fertig....

Reinhardt

nun aber...
Allen einen guten Rutsch und ein frohes neues Jahr!

michael_x

Sehr schön, Reinhardt !
Danke für den interessanten .ino

1. Zum Arduino:
Sehe ich das richtig, dass du ziemlich früh ( bevor was funktioniert hat ) von Uno auf Mega umgestiegen bist ?

2. Zur Brennwert-Technik:
Nutzt du den Brenner auch zum Warmwasser Heizen ?

Alles Gute für 2014 !

Scherheinz

Großes Kompliment!!
Ein tolles Projekt und auch sehr detailiert beschrieben! Genau sowas wollte ich auch schon realisieren leider sind meine Programmierkenntnisse noch nicht ausreichend genug. Was ist denn das für ein Gehäuse das du bearbeitet hast? Und hast du einen Schaltplan erstellt?

Gruß
Frank

ht81

Hallo Reinhardt,

erst mal an Dich und alle anderen "Ein gutes Neues Jahr 2014"

Nun zu deinem Projekt, super und detailliert erklärt. Top! Und mechanisch scheinst Du ja ebenfalls Top ausgestattet zu sein. Da kann man ja echt neidisch werden....

Klaus_ww

Ich weiß auch nicht, wovon ich mehr beeindruckt sein soll: vom Programm oder der mechanischen Ausführung. Ach was soll's, beides ist super  8)

Reinhardt

Hallo,
schön, dass Euch das Projekt gefällt, danke für die Blumen!
Ich hatte es gestern mal zusammengeschrieben, weil ich bei „iselein" gesehen habe, dass er ähnliche Anforderungen hat.
Meine vorherige Logger-Variante lief auf einem PC, der 24/7/365 durchlief und mit seinen 75W im Jahr ca. 150€ an Stromkosten verursachte (Tendenz im Rahmen der Energiewendemaßnahmen aufgrund steigender Abgaben: auch steigend).

@michael_x:
zu a): es funktionierte schon Einiges, bevor ich auf den Mega umgestiegen bin, aber ich bin letztendlich über den zu kleinen Speicherplatz gestolpert. Ich weiß: es gibt beim Code noch eine Menge besser zu machen, z.B. die Stringausgaben mit F(), aber das hätte an Optimierung nicht ausgereicht.

zu b): Brennwert-Technik: gut aufgepasst!
Ja, der Brenner erzeugt auch Heißwasser, es ist ein Wolf COB20 und läuft seit 2 Jahren.  Wenn man sich die aufgezeichneten Daten einmal genauer ansieht („DAILSTAT Forum.csv"), dann sieht man für den 22.12.13: 0,16h Überschreitung der RL-Temperatur während der Heizphase, das sind 2,8% der täglichen Heizdauer, also völlig zu vernachlässigen.
Wenn man nun wissen will, unter welchen Bedingungen das passiert, schaut man in die jeweilige Datendatei des Tages hinein (131222.csv) und arbeitet sie grafisch auf (siehe „20131222 Temperaturgänge.pdf"). Dort ist erkennbar, dass die Überschreitung meistens mit der Warmwasserbereitung zusammenfällt (? der Peak der roten Kurve).

@Scherheinz:
Das Gehäuse habe ich von C****d (Best. Nr. 535167), Hersteller ist Hammond (Canada), die machen gutes Zeug.
Ja, Schaltbild ist eine gute Idee, siehe bitte im Anhang, ja?

Und ich habe noch 2 ScreenShots beider WebPage-Ansichten zugepackt. Vielleicht ist hier jemand, der sich mit HTML besser auskennt, das ist mir nicht so glatt von der Hand gegangen (wechselseitiger Aufruf beider Seiten). Da gibt es auch noch was zu verbessern…

Reinhardt


maverick1509

Hallo Reinhardt,

ich steuere ja auch meine Heizung mit einem Mega.
Ein Verbesserung habe ich noch, tausch deine DS1307 gegen eine DS3231, die gibt es bei ebay für unter 3 Euro.
Bei mir lief die 1307 sehr ungenau, die 3231  geht in einer Woche nicht eine Sekunde falsch und läuft auch mit der gleichen lib.
Gruß
Bernward

sschultewolter

Glückwunsch, sieht nach einem sehr gelungenem Projekt aus! An der Verarbeitung gibt es nichts zu meckern. Eiwand von Bernward mit dem DS1307 ist berechtigt, der DS3231 ist besser. Aber über das NetzwerkShield kann er die Uhr auch täglich mit dem NTP Dienst abgleichen
Keinen technischen Support über PN!

Scherheinz

Nochmal danke das du alles so schön offen legst. Jetzt werd ich die Brennwert Heizung meiner Eltern mal in Angriff nehmen  :)
Das Gehäuse scheint super zum Mega zu passen, ich werds mir mal genauer ansehen.
Was die Uhr angeht geb ich maverick1509 recht, hab auch eine DS3231 im Einsatz. Die läuft schon seit 6 Monaten ohne falsch zu gehen obwohl sie immer nur kurz mit Spannung versorgt wird.

Gruß

Reinhardt

Danke Euch Dreien für den Vorschlag mit dem DS3231,
ich habe gleich mal ein paar davon bestellt.

Was das Offenlegen angeht: wenn ich nicht vorher hätte studieren können, was ihr hier preisgebt, wäre ich in 2Monaten nicht so weit gekommen, der Dank geht also zurück!

@Frank,
in das Gehäuse passt der Mega zwar ohne Probleme hinein, wenn man jedoch in der ersten Schicht das LCD-Modul versenken möchte, muss man das Gehäuse etwas auffräsen (seitlich, also in Display-HÖHE) - das ist ja nicht jedermanns Sache, wg. Fräsmaschine.
Aber dann macht die Anschlussseite des Boards (USB-Buchse) die nächsten Probleme: das Board passt nicht zwischen den angespritzten Stehbolzen des Gehäuses vorbei, daher die Hilfsmechanik aus Messing für die Deckelbefestigung.
Wenn man dann noch das Ethernet-Shield draufpackt, muss man zwangsläufig noch etwas Tiefe gewinnen, daher die ausgefräste Tasche für das Display als Erstes. An der Stelle, wo das Ethernet-Shield hinten zu Ende ist, beginnt auch gleich die Mulde auf der Gehäuserückseite, um bei Betrieb auch mit normalen Fingern an die SD-Karte heranzukommen.
Jedenfalls: beim finalen Schließen des Gehäuses hört man quasi, wie die Restluft entweicht. Ich hätte gern ein etwas größeres Gehäuse verwendet, habe aber keins zu einem adäquaten Preis gefunden.
Das war jedenfalls etwa so, als wenn man die Grugahalle durch's Schüsselloch tapeziert. XD

Scherheinz

Achso, ok da war viel Geschick gefragt  :smiley-roll-sweat:
Ich dachte wenn man das LCD in ein seperates Gehäuse packt reicht der Rest ohne viel Anpassungsarbeiten. Weißt du eigentlich wieviele Stunden du an diesem Projekt gearbeitet hast?

Go Up