Home Automation

Wie kann man vom Öl oder Gas loskommen? ...

2010 habe ich damit begonnen die Temperaturdaten der Heizungsanlage und einer nachträglich installierten Solarkollektoranlage zu erfassen, um das Verhalten der Regler zu beobachten. Ursprünglich sollte nur eine Vorlage für einen Regler entstehen, der einen Wärmetauscher am Kamin mit in die bestehende Heizungsanlage einbindet. Die Daten brachten jedoch einige Schwächen des vom Hersteller gelieferten Solarreglers zum Vorschein und ich beschloss, selbst eine Steuerung zu entwickeln, die mehrere Wärmequellen in Kombination steuern kann. Interessant an der Datenerfassung und grafischen Auswertung ist die Tatsache, dass man sieht was wirklich im Wechsel der Jahreszeiten am "Objekt" passiert. Eine optimale Anpassung der Steuerung an diese Vorgänge birgt viel zusätzliches Potential. Allein die Nutzung der Wärme von Sonnenkollektoren und Kamin hat hier den Ölverbrauch um ca. 65% gesenkt.

 

Seit 2019 ist die zweite Version im Einsatz.

Die Steuerung ist nun modluar aufgebaut und alle Platinen sind auf SMD-Bauteile umgestellt. Das System besteht aus einem Steuerrechner mit XMega CPU, an dem einerseits ein RaspberryPi zur Datenaufbereitung und andererseits 2 SPI Bussysteme zur Kommunikation mit den einzelnen Modulen angeschlossen sind. Alle Bussignale vom Steuermodul sowie die Eingänge und Ausgänge sind galvanisch getrennt. Pro Bus können maximal 7 Module angesteuert werden. Jedes Modul hat seine eigene XMega CPU und kann im laufenden Betrieb getauscht werden. Als Module sind zur Zeit im Einsatz: Modul für 16 Relais, Modul für 8 Relais und 8 Eingände (wahlweise Zähler oder Schalter), Modul für 4 PT100, 8 PT1000 und 4 Analoge Eingänge, Modul für 16 OneWire Leitungen (max 64 Dallas Sensoren), Modul zur Ansteuerung von vier PWM Heizungspumpen. Alle Module sind in einem 4TE Hutschienengehäuse untergebracht. Der Steuerrechner selbst hat 8 Eingänge zur "Echtzeitüberwachung" von zeitkritischen Schaltzuständen.

 

Hardware

Seit 2011 ist die erste Version der Steuerung im Einsatz.

Nach Fertigtellung des ersten Softwarerelease wurde die Software ständig um weitere Funktionen ergänzt und die Hardware kontinuierlich weiterentwickelt. Derzeit befinde ich mich in der Planungs- und Testphase die komplette Steuerung modular in Hutschienenmodule mit Bussystem aufzuteilen. Dabei ist gleichzeitig der Umstieg auf den RasPI als Webschnittstelle und Datenerfassung vor Ort und der Ersatz der ATMega CPUs durch XMega CPUs vorgesehen. Damit verbunden soll auch der Wechsel zu SMD Bauelementen erfolgen.

 

Update 01/2022

Entwicklung UP-Raumsensor für CO2, Temperatur und Luffeuchte mit Anbindung an die Steuerung

Update 10/2021

Inbetriebnahme der zweiten Steuerung am Standort Gauern

Update 2020

Redesign einiger Komponenten zur Verbesserung der Funktionen und Erweiterung der Software

Update 04/2019

Inbetriebnahme der ersten Version der neuen Steuerung am Standort Gera

Update 2016

Beginn Neuentwicklung einer modular aufgebauten Steuerng mit XMega Microcontrollern und Raspi

Update 08/2015

Neuer Hauptspeicher in Betrieb, alle Wärmequellen angeschlossen, Ölheizung läuft als Backup

alle 1000L Tanks befüllt, Inbetriebnahme von zusätzlich 2 Vakuumkollektoren

Update 04/2015

Einbau der 5x 1000L Wassertanks als Puffer für die Wärmepumpe

Update 02/2015

Erweiterung der Software für OneWire Sensoren von 16 auf 32 Sensoren auf 8 Datenkanälen

Update 10/2014

Die erste Version der Steuerung ist dauerhaft außer Betrieb

Update 04/2014

Inbetriebnahme von Drucksensoren in den Heizkreisläufen

Inbetriebnahme der Füllstandsmessung der Regenwasserzisterne

Update 07/2013

Der Windmesser ist in Betrieb und die Messdaten werden aufgezeichnet.

Update 06/2013

Die Version 2 der Steuerung geht nun als Test parallel zur alten in Betrieb. Dazu wurde der gesamte analoge Messteil neu entwickelt, um die Genauigkeit und den Abgleich zu verbessern. Die Software wurde dafür neu geschrieben bzw. alte Funktionen angepasst. Es können nun 12 statt 8 PT-Sensoren angeschlossen werden.

Update 03/2013

Als Anzeige wird jetzt wahlweise LCD oder OLED Display mit 4x20 Zeichen ünterstützt.

Update 06/2012

zusätzliche Speicherung aller Messdaten in einer SQL Datenbank

2011

Inbetriebnahme der ersten Steuerung und Ablösung des vorhandenen Solarreglers.

 

Schema

Hardware

Die Platinen wurden mit Target3001 entwickelt und es finden mit einem AD-Wandler und 4 Schaltern nur wenige SMD Bauteile Verwendung. Die Verwendung von mehr SMD Bauteilen wäre sicherlich sinnvoll, aber gerade für die Erprobungsphase sollte der Aufbau vor allem einfach sein. Das Herz der Steuerung bildet je nach Umfang der Steuersoftware ein Atmega 16, 32 oder 644. Dieser wird als I2C Master betrieben und nimmt sowohl Daten von den Slaves entgegen sowie versendet alle nötigen Informationen und Signale an diese Slaves.Die zweite Aufgabe ist die Ansteuerung von acht Leitungen mit One-Wire Sensoren zur digitalen Temperaturerfassung. Die dritte Funktion besteht in der Ansteuerung des Displays und Verarbeitung von Tasteneingaben für die Programmierung der Steuerparameter.

Als Schnittstelle nach außen habe ich eine angepasste Version des Webserver-Projektes "ETH_M32_EX" von Ulrich Radig verwendet. Die Schaltung und Software habe ich entsprechend verändert und in meine integriert. Der Webserver liefert zum einen die Webseiten zur Übersicht der Schaltausgänge  sowie der Mess- und Triggerwerte und zum anderen eine Datenseite im HTML-Format, die alle Messwerte auflistet und zur einfachen Übernahme dieser Werte in die Datenbank dient. Bei allen Atmegas sind durch einen Umschalter ( 4053 ) die Programmierpins per Stecker von außen zugänglich, damit Softwareupdates bequem möglich sind.

Um die Leistungswerte der Wärmequellen möglichst genau berechnen zu können habe ich eine Uhr mit Hilfe des DS1307 eingebaut. Per I2C wird vom Master Uhrzeit und Datum abgefragt. Zusätzlich ermöglicht sie unter Berücksichtigung der Jahreszeit eine dynamische Anpassung der Regelparameter für die Solarkollektoren. Die zweite wichtige Funktion des DS1307 ist die Speicherung von Zählerständen in seinem SRAM. Alle Liter- und kWh-Werte sind so nach einem Neustart (Programmierung oder Stromausfall) wieder hergestellt.

Der gesamte analoge Teil der Steuerung ist auf eine Platine gelegt. Dazu gehören 2 Differenzverstärker für die PT100 und PT 1000 Messbrücken und 2 Differnzverstärker zur freien Verfügung. 4 analoge Eingänge arbeiten als Impedanzwandler mit einstellbarer Verstärkung. An diesen Eingängen werden die Drucksensoren angeschlossen. Als Wandler dient der AD7998. Es existiert für die PT100 und PT1000 Messfühler jeweils nur eine Messbrücke, die über die elektronischen Analogumschalter an die Messfühler geschaltet werden. Die Brücken selbst werden mit einem  konstantem Strom versorgt. Damit ist nur ein Abgleich für alle Fühler nötig und es werden auch nur zwei Kanäle vom AD Wandler belegt. Die vorgeschalteten OVs bringen zwar etwas Rauschen und Nichtlinearität in die Messung ein, dafür ermöglichen Sie die optimale Ausnutzung der 12bit Wandlerauflösung des AD7998 und ermöglichen so einen Messbereich von 409,6 Kelvin bei einer Auflösung von 0,1 Kelvin. Zur Kompensation der Abweichungen habe ich eine Kennlinie aufgenommen und diese werden anschließend wieder herausgerechnet. Damit ergibt sich eine gute Messgenauigkeit mit einer Abweichung von etwa +/- 0,5 Kelvin zum genormten Wert über den gesamten Messbereich hinweg. Von den möglichen 2x 8 PT-Sensoren werden nur 8+4 genutzt, da auf der Platine leider der Platz für weiter Klemmen fehlt.

Alle Netzspannung führenden Teile wurden ebenfalls auf einer separaten Platine untergebracht. Dazu zählen das Netzteil für die 5V Versorgung (auflötbares Schaltnetzteil), Sicherungen, die Relais und die 3 Kanäle für die Phasenansteuerung von ohmschen und induktiven Lasten. Die Ansteuerung der Relais übernehmen zwei PFC 8574. Die Phasenanschnittsteuerung ist mit einem Triac und gekoppeltem LC-Glied aufgebaut.Dadurch werden Spannungsspitzen sowie steile Ansteige verhindert und die Umwälzpumpen nicht zu sehr belastet. Die Ansteuerung des Triacs per Optokoppler übernimmt ein Atmega8. Da der Mega8 noch Reseven für andere Aufgaben hat übernimmt er noch die Messung der Temperatur im Schaltschrank sowie die Zählung von Impulsen der Wasserzähler, des Anemometers und die Zeitmessung am Ölbrenner.

Die Platinen wurden so dimensioniert, dass sie in einen 10" Schaltschrank passen und in drei Etagen gestapelt sind. Jede Platine lässt sich über Steckverbinder abziehen und zusammensetzen. Das Display wird ebenfalls 90Grad abgewinkelt aufgesteckt. Eine Aluminum Frontplatte wird daran über Winkel montiert und kann selbst in die Rasterschienen der 10" Schränke verschraubt werden.

Die hier gezeigten Schaltungen stellen durch meine ständige Weiterentwicklung nicht den aktuellen Stand dar und sind auch nicht vollständig. Dem interessierten Leser stelle ich gern auf Anfrage weiteres Material und Informationen zur Verfügung.