Hallo Forum,
ich steuere/regle meine Heizung und Solaranlage seit einiger Zeit
mit Raspi und wollte mal berichten - für die die es interessiert.
Für die, die es nur halb interessiert: Fazit ist ganz unten
Die Hardware ist komplett zugekauft, beinhaltet 10 Relais, 16
Temperatur-
eingänge, ein Onewireinterface und 3 Digitalausgänge. Die Software ist
in php geschrieben. Die vom Anlagenerrichter hergestellte Verkabelung
(Temperatursensoren, Stromleitungen zu Aktoren) habe ich nach und nach
von der alten Regelung auf meine umgeklemmt, sodass der
Verdrahtungsaufwand überschaubar war.
Da ich die Solarregelung für weniger komplex als die Heizungsregelung
hielt, habe ich mit der Solarregelung begonnen. Hier reicht ein simpler
Vergleich der Speichertemperatur mit der Kollektortemperatur aus, um zu
entscheiden, ob die Solarpumpe anlaufen soll oder nicht. Da ich zwei
Speicher habe, gibt es ein Lade-Umschaltventil, welches ebenfalls
angesteuert werden muss, sobald der aktuelle Speicher voll ist.
Es werden auch Wetterdaten dahingehend verarbeitet, dass die Software
anhand der für den nächsten Tag erwarteten Sonnenstunden wird berechnet,
wieviel Energie über Nacht wieder aus den Pufferspeichern herausgekühlt
werden muss, um Stagnation zu verhindern.
Vier Sensoren an den Pufferspeichern liefern die dazu erforderlichen
Daten, um den Füllgrad der Speicher zu bestimmen.
Die Heizung läuft erst seit ein paar Tagen über Raspberry, wobei als
Hauptwärmequelle im Winter ein Holzvergaser vorhanden ist und eine
Gastherme als Backup dient. Die Regelung des Holzvergasers ist noch die
vom Hersteller mitgelieferte. Auch die Steuerung der Gastherme habe ich
nicht angefasst. Sie stellt sicher, dass der Speicher, aus dem die
Heizung bedient wird, immer mind. 35°C hat (Backup).
Was ist nun mit Raspi an der Heizung zu regeln? Es wird die Heizkurve
berechnet und - wieder unter Berücksichtigung von Wetterdaten - die
Heizungspumpe sowie die Heizkreisverteiler bedarfsgerecht geschaltet -
spart viel Strom.
Weiterhin wird mit Raspi die Heizungsvorlauftemperatur geregelt. Da die
Sache sehr träge ist, wird nicht die Soll/Ist-Differenz zum Regeln
benutzt sondern es wird zunächst der erforderliche Temperaturgradient
und das Vorzeichen seiner Steigung ermittelt und dann wird quasi auf den
Soll-Gradienten geregelt. Ist zumindest mein Ansatz, vielleicht gibt's
da Besseres. Zumindest regelt sich die Temperatur so innerhalb vom 20
Minuten auf 0.5°C ein und schwingt nicht über.
Alle Betriebsdaten werden in eine mysql Datenbank geschrieben und
mitgeloggt, sodass man nette Kurven erzeugen kann. Über eine interne
Webseite können auch alle Komponenten von Hand geschaltet werden und
alle relevanten Zustände auf einen Blick erfasst werden. Bei Fehlern
oder Anomalien gibt es eine Warnungs-email.
Fazit:
------
Die Programmierung der Steuerung war problemlos nach drei Tagen
erledigt. Für Solaranlage und Heizung habe ich dann jew. noch ca. 1
Woche die Daten beobachtet und hier und da etwas optimiert. Die
Solarregelung läuft
seit Mai ohne dass ich mich drum kümmern muss und die Heizungsregelung
ist bisher auch problemlos. Raspi in Verbindung mit einer ordentlichen
Relais/ADC-Hardware scheint mir eine gute Kombination.
Da nun Solaranlage und Heizung die gegenseitigen Zustände kennen, können
die beiden Regelungen unter Berücksichtigung der Wettervorhersage
optimal zusammenarbeiten, was Strom und Brennstoffe spart.
Nur mal so im Vorbeigehen:
>Hier reicht ein simpler>Vergleich der Speichertemperatur mit der Kollektortemperatur aus, um zu>entscheiden, ob die Solarpumpe anlaufen soll oder nicht.
Bist Du Dir sicher?
Steht das Wasser im Kollektor, so wird eine Temperatur erreicht, die
völlig unrealistisch ist. Also wird die Pumpe unnötig oft anspringen um
dann das gespeicherte Wasser eventuell sogar im Kollektor abzukühlen.
Noch 'ne Kleinigkeit:
>Da die>Sache sehr träge ist, wird nicht die Soll/Ist-Differenz zum Regeln>benutzt sondern es wird zunächst der erforderliche Temperaturgradient>und das Vorzeichen seiner Steigung ermittelt und dann wird quasi auf den>Soll-Gradienten geregelt. Ist zumindest mein Ansatz, vielleicht gibt's>da Besseres. Zumindest regelt sich die Temperatur so innerhalb vom 20>Minuten auf 0.5°C ein und schwingt nicht über.
Es stimmt, im Normalfall gibt es in einem Haus keine Temperatursprünge.
Allerdings nur, wenn man das Haus und nicht die Lufttemperatur misst.
Mach mal in der kalten Jahreszeit, versuchsweise, ein Fenster auf und
"vergiss" es zu schließen.
Dein Geschwindigkeitsansatz ist unabhängig davon aber höchst
mittelprächtig.
Nach der Nachtabsenkung ist nicht zu erwarten, dass Du das ganze Haus
innerhalb von 20 Minuten auf Vordermann bringst. Ist aber ein guter
Ansatz zum Energiesparen.
Senkst Du die Temperatur, wegen vorhersehbarer Abwesenheit
(Weihnachtsurlaub oder Skibenutzung) so kann es sogar viele Stunden
dauern.
Amateur schrieb:> Nach der Nachtabsenkung ist nicht zu erwarten, dass Du das ganze Haus> innerhalb von 20 Minuten auf Vordermann bringst.
Bei mir bringt eine Nachtabsenkung nichts.
Es geht um die Regelung und um den Gradienten der Vorlauftemperatur der
Fußbodenheizung, weiß nicht, ob das in meinem Ursprungspost so klar zu
verstehen war. Die Vorlauftemperatur ist - soweit ich recherchiert habe
- direkt von der Heizkurve abhängig und reagiert sowieso sehr träge. Da
scheint mir ein Gradientenregler passend. Eine Absenkung ist insofern
vorgesehen, dass man auf der Bedien-Webseite einen Abwesenheitsmodus
aktivieren kann. Lohnt aber erst ab ca. 3 Tagen.
gradientenregler wuerde mich jetzt spontan mal interessieren. könntest
du da mal etwas ins detail gehen?
ich regele meinen buderus brennwertkessel (fussbodenheizung) mit einem
rpi + ems-interface rücklaufgeführt über vorgabe der brennerleistung.
probiere hier zwecks optimierung immer mal wieder andere
regelungsansätze.
//niffko
Dennis schrieb:> Hier reicht ein simpler> Vergleich der Speichertemperatur mit der Kollektortemperatur aus, um zu> entscheiden, ob die Solarpumpe anlaufen soll oder nicht.
baue auf jeden fall eine max. temp. (i.d.r. 120°C) ein, ab der die
solarpumpe nicht mehr einschaltet. deine kollektoren werden dir sonst
gut hörbar kundtun, dass sie das nicht mögen.
Amateur schrieb:> Also wird die Pumpe unnötig oft anspringen um> dann das gespeicherte Wasser eventuell sogar im Kollektor abzukühlen.
passiert aus o.g. grund nicht.
//niffko
Niffko _. schrieb:> baue auf jeden fall eine max. temp. (i.d.r. 120°C) ein, ab der die> solarpumpe nicht mehr einschaltet.
Nur so: Mindestens die Hälfte des Codes zur Steuerung meiner privaten
Solar/Heizungsanlage beschäftigt sich mit Plausibilisierungen,
Überwachungen und Fehlerreaktionen. Ganz vorne steht erstmal die
Überwachung der Sensorversorgungsspannung. Die erwähnten 120°C sind nur
die Spitze des Eisberges. Die Schwelle liegt bei mir übrigens bei 115°C.
>Gradientenregler wuerde mich jetzt spontan mal interessieren.
Ist eigentlich keine Raketenwissenschaft: Es geht um die Regelung
der Vorlauftemperatur der Fußbodenheizung mittels eines PID-Reglers.
Das Stellglied ist ein Mischer mit 2 Steuereingängen für "Kälter machen"
und "Wärmer machen".
Wenn die Ist-Temperatur (Tist) zu weit von der Solltemperatur (Tsoll)
entfernt ist - also mehr als 1 Kelvin, kann man (zumindest aus meiner
Sicht) nicht einfach auf die Temperaturdifferenz regeln, weil das System
zu träge ist und der I-Anteil sich zu stark aufziehen würde sowie P und
D Werte liefern würde, die zum Regeln unbrauchbar sind.
Daher wird zunächst auf einen Sollgradienten geregelt- d.h. es wird der
gewünschte Temperaturanstieg bzw. Abfall hin zur Solltemperatur
geregelt.
Bsp: Wenn Tist 3 Kelvin unter Tsoll ist, regelt das System so, dass Tist
mit bspw. 0.5K/Minute in Richtung Tsoll steigt.
Wenn Tist nahe bei Tsoll ist, wird auf Temperaturregelung umgeschaltet.
Damit es beim Übergang von Gradientenregelung zu Temperaturregelung
nicht
zu Überschwingern kommt, wird der Gradient flacher, je geringer die
Differenz zwischen Tist und Tsoll ist.
Ich bin jetzt kein voll ausgebildeter Regelungstechniker, aber
es funktioniert so sehr gut. Falls hier ein Regelungstechnik-Profi
mitliest, kann er ja mal kommentieren...
Hallo Dennis,
>Die Hardware ist komplett zugekauft, beinhaltet 10 Relais, 16 Temperatureingänge
Was für eine Hardware verwendest Du ? Was für Temperatureingänge ? NTC ?
Ich wollte schon mit Wago 750 Modulen anfangen, aber insbesondere bei
den Temperatureingängen wird man schnell arm. Für One-Wire müsste alles
neu verkabelt werden.
Gruss Georg
Hei Georg,
meine Heizung wird auch mit Wago 750 geregelt.
Es gibt da nun eine 8-fach Temperaturmessklemme 750-451.
Für unter 200 Euro...
1Wire ist bei mir zusätzlich im Einsatz.
(Für das Profil des Schichtspeichers mit 70 Sensoren.)
Seit gestern läuft meine FBH mit einem PI Regler.
Einfach nur um eine konstante Vorlauftemperatur zu erreichen.
Mehr brauche ich eigentlich auch nicht. Die FBH ist nur aus
Komfortgründen im Bad verbaut, damit die Fliesen an den Füßen angenehmer
sind.
Grüße,
Tom
@Tom: Als ich die Zweikanalklemme für 200EUR gesehen hatte, habe ich
aufgehört. Aber die 750-451 ist durchaus interessant.
@Dennis: Vielen Dank für den Link! Sieht sehr gut aus. Die
Programmierung in einer "richtigen" Programmiersprache (nichts gegen die
Wago SPS :-) Webserver etc. gefällt mir sehr.