Regelung der Vorlauftemperatur

Übersicht

Dieser Artikel beschreibt, wie ich die Vorlauftemperatur meiner Heizungsanlage mit einem Linux-PC regele. Die Heizungsanlage besteht aus einem Scheitholzvergaser und einer 23qm großen thermischen Solaranlage, die einen 2660 Liter fassenden Pufferspeicher aufheizen. Aus Sicht der Heizkreise dient also der Pufferspeicher als Wärmequelle und ein einfaches Drei-Wege-Ventil reicht aus, um die gewünschte Vorlauftemperatur zu mischen.

Mischung der Vorlauftemperatur mittels Dreiwegeventil

Das Dreiwegeventil wird durch ein 0-10V Signal so gesteuert, dass genau die richtigen Mengen heißen Pufferwassers (rot, von oben kommend) und kaltem Heizungsrücklauf (blau, von unten kommend) die gewünschte Vorlauftemperatur für die Flächenheizungen ergeben.

Ansteuerung des Drei-Wege-Ventil

Die Vorlauftemperatur regele ich mittels eines Drei-Wege-Ventils, das dem kalten Heizungsrücklauf genau die richtige Menge heißen Pufferwassers zumischt um die gewünschte Vorlauftemperatur zu erhalten. Drei-Wege-Ventile gibt es in verschiedenen Ausführungen, meistens in Verbindung mit einem Elektromotor, der die Ventilstellung ändert. Mein Drei-Wege-Ventil wird jedoch von einem Proportional-Stellantrieb angesteuert, der anders als die Stellantriebe für die Heizkreise, einen Eingang für ein 0-10V Signal besitzt und dadurch das Ventil tatsächlich kontinuierlich öffnen und schließen kann. Theoretisch könnte man diese Proportional-Stellantriebe auch für die Heizkreise verwenden. Sie sind allerdings wesentlich teuerer und benötigen eine aufwändigere Ansteuerung. Umgekehrt sind die “normalen” Stellantriebe für die Vorlauftemperatur leider ungeeignet.

Die Aufgabe lautet hier also, in Abhängigkeit von gewünschter Vorlauftemperatur, Rücklauftemperatur und Puffertemperatur eine Gleichspannung zwischen 0 und 10 Volt zu erzeugen. Da meine Hardware keinen analogen Ausgang besitzt, erzeuge ich mir die 0-10V Spannung mittels Pulsweitenmodulation. Die Periodendauer liegt diesmal bei unüblichem 1 Hz was einen entsprechend großzügig dimensionierten Kondensator erfordert. Die so produzierte Spannung ist zwar nicht übermässig glatt, aber da auch dieser Stellantrieb einigermaßen träge ist, stört das nicht weiter. Die Periodendauer könnte ich reduzieren, allerdings möchte ich den “Verkehr” auf dem USB zum IOWarrior im Full-Speed/Interrupt-Transfer-Mode möglichst gering halten, da hier auch noch einige andere Informationen unterwegs sind.

Schaltskizze zur Pulsweitenmodulation

Erzeugung einer 0-10V Gleichspannung aus einem pulsweitenmodulierten 24V Signal. Um z.B. eine Spannung von 5V am Stellantrieb zu erzeugen, wird die Betriebsspannung von 24V im Rhythmus von 0,5 Sekunden ein- und ausgeschaltet. Die Zenerdiode soll sicher stellen, dass z.B. bei abgeklemmten Stellantrieb eine Spannung größer als 10V erzeugt wird.

Nun muss nur noch die gewünschte Stellung des 3-Wege-Ventils berechnet werden. Im Prinzip ganz einfach, in der Praxis aber tückisch. Der Anteil heißen Pufferwassers mit Temperatur T_h, der dem Heizungsrücklauf mit T_r zugemischt werden muss um die Vorlauftemperatur T_v zu mischen, lässt sich im Prinzip berechnen:

x = (T_v-T_r)/(T_h-T_r) * 100%

Bei mir sind dabei folgende Probleme aufgetaucht:

  • Die Temperatur des Pufferwassers ist nicht genau bekannt. Ich habe zwar insgesamt sieben Temperaturfühler am Pufferspeicher sitzen, auf einen zusätzlichen Temperaturfühler am Rohr vom Puffer zum Drei-Wege-Ventil habe ich jedoch verzichtet. Wenn zwischen den beiden obersten Sensoren am Puffer -zwischen denen irgendwo im inneren das Entnahmerohr endet- ein großer Temperaturunterschied besteht, kenne ich T_h nur sehr ungenau. Schlimmer noch: In dem Moment, in dem der Heizkessel beginnt, Wärme abzugeben, fließt das ca. 80°C heiße Wasser vom Heizkessel direkt zum Drei-Wege-Ventil, welches gerade -weil Puffer leer- sehr weit geöffnet ist.
  • Die Rücklauftemperatur messe ich zwar, sie schwankt aber minütlich mit dem Öffnen und Schließen der Heizkreise, weil nicht alle Heizkreise exakt dieselbe Rücklauftemperatur liefern. Leider ist das System aus Temperatursensoren und Drei-Wege-Ventil zu träge, um diese Schwankungen von bis zu 2°C zu kompensieren.
  • Das Drei-Wege-Ventil schließt zwar einigermassen linear aber nicht ausreichend perfekt.

Diese Widerwärtigkeiten habe ich mit dem folgenden Algorithmus einigermßen in den Griff bekommen: Da der Zyklus meiner Heizkreise 20 Minuten dauert (siehe Regelung der Raumtemperatur) messe und mittle ich Vorlauf- und Rücklauftemperatur über 20 Minuten. Auf die eigentlich gewünschte Vorlauf-Solltemperatur wird eine kleine Korrektur T_korr aufgeschlagen. Zuvor wird zu T_korr die Hälfte der Differenz T_vorlauf_soll – T_vorlauf_ist addiert und T_korr für den nächste Iteration (20 Minuten später) gespeichert. Die Stellung des Dreiwege-Ventils wird anschließend mit dieser korrigierten Vorlauftemperatur und der Formel in obenstehendem Kasten berechnet. Nach zwei Iterationen liegt die mittlere Vorlauftemperatur sehr gut bei der ursprünglich gewünschten Temperatur. Die Abweichung ist meist kleiner als 0.5°C.

Im Prinzip ist das natürlich zweimal geregelt: Einmal über die Rückkopplung der Vorlauf-Ist-Temperatur und ein zweites Mal durch die Berechnung mittels obiger Formel. Die Idee dahinter ist, dass die Rückkopplung die globalen Nichtlinearitäten des Ventils und die unbekannte Puffertemperatur auffängt. Schwankungen in der Rücklauftemperatur über einige Minuten werden von der Formel ausgeglichen. Zudem merkt man mit diesem Verfahren relativ schnell, wenn etwas nicht stimmt: Im Normalbetriebt ist die Korrektur (T_korr) der Vorlauftemperatur kleiner als 3°C. Falls die Korrektur wesentlich größer ausfällt, könnte z.B. ein Temperatursensor seinen Geist aufgegeben haben. Bisher ist dies allerdings noch nicht vorgekommen.

Welche Vorlauftemperatur bei welcher Außentemperatur?

Dies bestimmt die sogenannte Heizkurve. Sie ordnet jeder Außentemperatur eine bestimmte Vorlauftemperatur zu und ist in der Regel keine Gerade, sondern eine Kurve, die zunächst steil ansteigt, bei niedrigeren Außentemperaturen aber etwas flacher verläuft. Bei extremen Niedertemperarturheizungen ist die Abweichung von einer Geraden jedoch erst zu spüren, wenn die Außentemperatur deutlich unter 0°C liegt. Vermutlich aus diesem Grund bin ich bisher mit einer geraden Heizkurve bestens ausgekommen. Meine Vorlauftemperatur steigt um 0,6°C pro 1°C Außentemperaturdifferenz und beträgt 20°C bei 20°C Außentemperatur und 32°C bei 0°C Außentemperatur.
Die tiefste Außentemperatur betrugt bisher jedoch nur -8°C und das nur kurzfristig. Über Temperaturen unter ca. 0°C kann ich also nicht viel sagen und werde bei Bedarf meine “Heizgerade” mit einem quadratischen Term “krümmen”.

Sicherheit

Wie bei jedem Computer muss ich auch bei meinem Heizungs-PC damit rechnen, dass er irgendwann den Geist aufgibt oder einfach mal abstürzt (was übrigens bisher – in anderthalb Jahren – noch nicht vorgekommen ist). Falls er doch einmal eine schwache Minute haben sollte, muss verhindert werden, dass das Drei-Wege-Ventil vollkommen öffnet und unsere Fußbodenheizung mit bis zu 90°C heißem Pufferwasser versorgt. Aus diesem Grund habe ich einen schlichten, rein mechanischen Anlege-Temperaturfühler am Heizungsvorlauf montiert, der die Heizungspumpe abschaltet, wenn die Vorlauftemperatur über ca. 40°C steigt.


Posted

in

by

Tags: