Hallo Forianer,
ich wurde gefragt ob ich bereit wäre, mein Raspy Projekt hier im Forum vorzustellen. Die kurze Antwort zu dieser Frage ist: Ja. Ich habe keinerlei Probleme damit, die verwendete Hardware vorzustellen und auch die Software zu veröffentlichen, wenn Interesse daran besteht. Ich hoffe, ich trete damit niemandem auf die Füße. Niemand sollte meinen, dass das Programm schon Massentauglich ist. Das Programm ist zunächst mal funktional um einen Abbrand damit zu regeln. Nebenher werden auch die RLA und Heizungsmischer sowie die RLA Pumpe damit angesteuert. Warmwasser und Heizkreispumpe wird noch folgen. Fehlerabfragen sind nicht viele vorhanden. Kurz gesagt, am Programm muss noch einiges gemacht werden, damit es auch jemand ohne Programmierkenntnisse einsetzen kann. Ich habe für dieses Programm Python verwendet, weil es schön einfach ist und die Funktionen nicht zeitkritisch sind. Wer Python nicht kennt aber etwas programmieren kann, sollte sich nicht scheuen mal einen Blick auf Python zu werfen. Ich habe Python vorher selbst noch nie eingesetzt, bin aber jetzt begeistert davon.
Als Hardware habe ich einen Rasperry Pi-B. Die A Version sollte auch funktionieren, wenn man keinen Ethernet Anschluss braucht. Allerdings hat der Raspy wohl einige Bugs in den Wifi Modulen. Bei meinen ersten Versuchen ist er mir immer innerhalb von 24h hängen geblieben. Man könnte das beheben, indem man einen Watch-dog programmiert, der immer mal wieder den Router im Haus an-pingt und bei mangelnder Antwort einen Reset der Wifi Verbindung durchführt. Ich habe mich jedoch für Ethernet-Adapter entschieden, die die Stromleitung zur Übertragung nutzen.
Zur Ansteuerung der Pumpen etc. verwenden ich eine Solid-State Relais Karte mit 8 SSR. Bei meinem derzeitigen Setup würden es aber auch ganz normale mechanische Relais tun. Zur Steuerung der Lambda-Sonde verwende ich die Schaltung von Sebastian Knödler. Im Moment kommuniziert der Raspi per serielle Schnittstelle mit der Lambda Schaltung. Das will ich jedoch ändern und zukünftig die Analogsignale verwenden. Dadurch kann man sich die extra Schaltung sparen, die notwendig ist um die seriellen 5V Signale des Raspi auf 12V Signale für die Lambda Schaltung umzuwandeln. Für die Auswertung des analogen Signals des PT1000 (Rauchrohr) verwende ich einen Arduino. Der liefert auch den PWM Takt für die 2x 12V Lüfter, die ich verwende. Das hat sich jedoch nicht bewährt. Der Arduino läuft nicht stabil, er hängt sich manchmal auf. Das scheint ein bekanntes Problem zu sein. Um das zu umgehen habe ich einen Watch-Dog verwendet, der dem Arduino einen Reset schickt, wenn er sich innerhalb einer gewissen Zeitspanne nicht meldet. Dadurch wird aber auch das PWM Signal zurückgesetzt, was dazu führt, dass die Gebläse kurz aufjaulen, bis die nächste Frequenz auf den Arduino geschickt wird. Das passiert zwar nicht oft, aber schon so ein Mal am Tag. Der Raspi kann auch PWM. Somit werde ich dem Raspi in Zukunft die Lüftersteuerung direkt übergeben. Ich wollte Pins sparen, hat aber nicht funktioniert. Den Arduino möchte ich mittelfristig durch einen A/D Wandler ersetzen. Als Netztteil verwende ich ein größeres 12V Netzteil, welches die ganze Schaltung incl. Lüfter versorgt. Für 5V verwende ich einen DC/DC Wandler. Allerdings kann man das wahrscheinlich einfacher machen, wenn man ein Computernetzteil verwendet. Die liefern 12V und 5V. Im Moment läuft die gesamte Kommunikation zum Raspy über SSH. Ich habe bereits ein Display bestellt, auf dem ich die wichtigen Daten direkt am Kessel ausgeben will.
So weit zu meinem Setup. Prinzipiell ist es denkbar, dass die Steuerung beliebig erweiterbar ist. Mit einem Raspy B+ hätte man auch mehr GPIO Pins zur Verfügung, somit könnten noch einige weitere Relais für Pumpen etc. schalten. Auch an HKS habe ich schon mal gedacht.
Allerdings bin ich mir nicht sicher, ob der ganze Aufbau nach VDE/DIN/ISO/EU/Schlagmichtot, den gültigen Normen entspricht. Ich bin weder Elektroniker noch Programmierer. Ich mache das alles nur als Hobby. Leute, die es besser wissen als ich, dürfen sich gerne mit Verbesserungen einbringen.
Zur Speicherung der Daten sende ich die Daten an Google Sheet. Dort werden sie in eine Tabelle eingetragen und können als Graphen aufbereitet werden, wie bei Excel. Allerdings ist Google Sheet dynamisch. D.h., der Graph ändert sich automatisch, wenn im Hintergrund weitere Daten eingefügt werden.
Ich hatte ursprünglich nicht vor, die gesamte Kesselsteuerung selbst zu programmieren. Ich habe mit das eigentlich schwieriger vorgestellt. Vor 2 Jahren habe ich mit dem Raspi angefangen, als mir die Steuerung der Ölheizung verreckt ist. Nachdem ich ein Angebot über €1300 für eine neue Steuerung bekam, habe ich mir Gedanken gemacht, wie man das günstiger lösen kann. Die Heizung lief ein paar Wochen manuell gesteuert und seit fast 2 Jahren läuft der Raspy ohne Probleme. Das Ziel für den Orlan war, die Mischer und die Pumpen und Thermofühler mit dem Raspy zu steuern bzw. abzufragen. Die RLA Regelung, die ich geschrieben hatte gefiel mir nicht, deshalb habe ich eine bereits fertige PID Python Klasse eingesetzt. Das hat wunderbar funktioniert. Da lag es nahe, die PID Klasse mal am Primärlüfter auszuprobieren. Das hat auch relativ schnell funktioniert. Dadurch habe ich mich dann auch an die O2 Regelung heran getraut und es funktioniert, meiner Meinung nach sehr gut.
Ich bin nun mal Gespannt auf euer Feedback. Wenn kein weiteres Interesse an dieser Lösung besteht, halte ich mich zurück. Falls Interesse besteht, poste ich das Python Skript im derzeitigen Zustand. Es wird sicherlich Erklärungen benötigen. Am liebsten wäre mir, wenn sich hier eine kleine Entwicklergruppe bilden würde, um Hard- und Software weiter zu entwickeln. Vielleicht kommen wir ja mal irgendwann zu dem Punkt, dass die Raspy Steuerung Massentauglich wird.
VG
Ralf