Raumthermostat

Ansicht von vorne

Ansicht von vorne

Mein Vaillant-Raumregler VRT QZA ging mir mächtig auf den Zeiger. Denn er besitzt eine Quarzuhr, die jede Sekunde tickt und damit die Heiz- und Absenkphasen steuert. Diese werden wie bei einer alten Zeitschaltuhr mit Plastiknasen eingestellt. Es gibt somit nur die vorne eingestellte Heiztemperatur, eine auf der Platine einstellbare Nachtabsenktemperatur und einen Tagesplan, der jeden Tag ausgeführt wird. Generell war die Bedienung unzeitgemäß und fragwürdig.

Also habe ich einen Ersatz entworfen, der auch die 7-8-9-Schnittstelle verwendet und damit die Heizung regelt. Dazu die Möglichkeit, einfach zwischen Heiz-, Absenk- und Frostschutz umzuschalten, die Heiztemperatur digital einzustellen und die Raumtemperatur ablesen zu können. Ja, es gibt neben der Nachtabsenkung noch einen Frostschutzmodus, damit die Heizung beim Lüften nicht anspringt, falls die Temperatur unter die Absenktemperatur fällt. Der Heizplan lässt sich für jeden Tag der Woche getrennt mit Heizintervallen festlegen. Bedient wird das Gerät über einen Taster zwei Taster für das Erzwingen des Heiz- und Absenkmodus sowie einen Drehgeber zum Einstellen der Heiztemperatur und die Navigation des Menüs. Als Gimmick wird die LED-Helligkeit durch das Umgebungslicht gesteuert, damit man tagsüber den LED-Zustand ablesen kann und nachts dennoch nicht geblendet wird.

Hardware

Schaltplan

Schaltplan

Die Schaltung besitzt einen AVR ATmega168, der eine Uhr mit Wochentagsanzeige, einen P-Regler mit Hysterese für die Heizung und die ganze Benutzerschnittstelle realisiert. Mit einem OPV wird über einen Kniff die Steuerspannung für die Heizung im Bereich von 0-100% der Versorgungsspannung erzeugt – ja, die Heizung benötigt eine auf die Versorgungsspannung skalierte Steuerspannung.

Die Uhr läuft auch ohne Versorgungsspannung mit einem Goldcap eine Weile weiter, aber nicht den ganzen Sommer über bis zur nächsten Heizphase. ;-) Hierfür werden alle Ausgänge abgeschaltet, der Takt reduziert und der AVR wacht nur einmal pro Sekunde auf, um die Zeit zu zählen. Die Uhr bezieht ihren Takt vom externen Uhrenquarz, der nicht nur präzise, sondern vor allem stromsparend arbeitet. Aber keine Angst, der Heizplan und die Solltemperaturen werden im EEPROM gespeichert.

Als Temperatursensor kommt ein TSIC306 zum Einsatz. Er hat eine Auflösung von 0,1 °C, welche für die Raumtemperaturmessung mehr als ausreicht. Man muss ihn ein wenig abgeschirmt montieren, sonst bekommt er jeden Luftzug und auch die Wärmestrahlung mit, wenn man davorsteht. Im Bild ist er hinter dem Flachbandkabel zum LCD versteckt. Er reagiert aber immer noch schnell genug auf Temperaturänderungen.

Das alte Thermostat wird aus dem Halter entfernt, es ist nur reingeklemmt. Die drei Anschlüsse werden mit kleinen Kabeln mit der Klemmleiste auf der Befestigungsplatte verbunden. Danach wird die Platine auch reingeklemmt, dafür sind die vier Aussparungen für die Nasen nicht zu weit auszufeilen. Mit einer kleinen Schraube in der Mitte lässt sich die Platine sicher am Halter verschrauben, sicher ist sicher.

Achtung: Die Masse der Therme ist leider nicht mit dem Schutzleiter identisch, sondern liegt darunter. Die positive Versorgungsspannung ist mit dem Schutzleiter verbunden. Deswegen kann man die Masse nicht mit der Masse vom Rechner oder eines anderen Geräts verbinden, ohne dass die Sicherung in der Therme kommt.

Über eine serielle Konsole kann man das Thermostat auch bedienen. Ein Bluetooth-Modul bietet sich in dem Fall bei mir an.

Bedienung

Die Bedienung ist denkbar einfach und dem Junkers-Thermostat nachempfunden, das ich vorher hatte: Mit dem linken Taster erzwingt man den Spar- (kurz drücken) oder Frostmodus (lange drücken). Dies wird durch die LED im Knopf oder darunter angezeigt. Der rechte Taster erzwingt den normalen Heizmodus (Knopf auch beleuchtet, wenn aktiv). Wird kein Modus erzwungen, wird der Heizplan verfolgt. Wenn keine Absenkung aktiv ist, also normal geheizt wird, ist die rote LED unter dem rechten Knopf beleuchtet.

Mit dem Drehgeber kann die Heiztemperatur verändert werden, wenn normal geheizt wird. Ansonsten tut der Drehgeber nichts, die Absenktemperaturen sind im Menü einzustellen. Das Menü wird über einen langen Druck auf den Drehgeber aufgerufen.

Die Menüführung sollte halbwegs selbsterklärend sein: Das Drehen ändert den Wert oder Menüeintrag, ein kurzer Druck betritt einen Menüpunkt oder bestätigt einen Wert. Ein langer Druck führt eine Menüebene hoch oder bricht die Eingabe eines Wertes ab.

Im Normalzustand wird der Wochentag und die Uhrzeit angezeigt. Darunter links die Solltemperatur, bei Absenkung in Klammern. Rechts die Isttemperatur. Ein vertikaler Streifen zeigt die Höhe der Vorlauftemperatur an, wenn wirklich geheizt werden soll.

Soweit bin ich mit der Schaltung zufrieden, auch wenn sie erst relativ am Ende des Winters fertig wurde. Die Regelung scheint gut zu funktionieren. Eventuell muss ich im nächsten Winter die Hysterese und die Breite des Regelbereichs anpassen, aber bisher besteht kein Grund zur Klage. Vor allem zeigt sie an, was sie tut. Beim VRT QZA war ich mir nicht immer sicher, ob das Ding gerade tut was ich will.

Dateien

Die Firmware (BSD-lizenziert, nur der Bootloader steht unter der GPL) und die Eagle-Dateien stehen zum Download zur Verfügung:

Dateien
vailltherm-r2023.tar.bz2