Heizungsregelung | zurück

 
 

Inzwischen arbeitet ein Allwinner-SoC-Board für die Heizungs-Regelung. Dennoch interessiert sich vielleicht noch mancher für die Arduino-Lösung:


Eher der Ideologie wegen (oder aus Interesse an der Technik?) denn aus finanziellen Gründen kam auf das neue Dach im Herbst 2011 ein Solarmodul. Der Energieberater empfahl eine Paradigma-Anlage, deren Vakuumröhren-Kollektor mit Wasser durchströmt wird (und nicht, wie noch Standard, mit einem Glykol-Gemisch).

Das Solarmodul sollte mit Sonnenwärme das Brauchwasser erwärmen. Manchmal will man z.B. abends duschen, wenn die Sonne eben nicht mehr scheint. Um dennoch die Sonnenwärme nutzen zu können, muss sie gespeichert werden. Üblich sind hierfür thermisch isolierte Wassertanks, genannt „Speicher“.

So ein Speicher hält üblicherweise Brauchwasser vor, welches durch einen Wärmetauscher (eine „Heizschlange“) im Inneren erwärmt wird. Der Wärmetauscher bekommt sein warmes Wasser vom Sonnenkollektor oder von einem Heizkessel (oder  einer Therme), wenn die Sonne nicht ausreichend Energie liefert.

Aber unser Energieberater hatte etwas besonderes im Angebot: Einen Speicher, der genau „umgekehrt“ funktioniert: Er speichert nicht Brauchwasser, sondern Heizungswasser (das Wasser, was auch durch die Heizkörper zirkuliert). Innendrin ist wieder ein Wärmetauscher, aber hier fließt das Brauchwasser durch und wird auf dem Weg erwärmt, so wie bei einem Durchlauferhitzer. Die Vorteile:

  1. 1.frisches Warmwasser: Es stehen nicht einige Hundert Liter Brauchwasser halbwarm im Speicher und dienen der Kleintierzucht

  2. 2.der Speicher dient automatisch auch der Heizungsunterstützung, was den Heizkessel unter besseren Bedingungen arbeiten lässt (denn er springt seltener an und läuft länger am Stück), und an kalten, aber sonnigen Tagen hilft die Sonne auch das Haus heizen


Das so umgerüstete Heizungssystem verlangte nach einer Regelung, denn der in der bisher allein genutzten Therme mit Durchlauferhitzer verbaute Regler konnte damit nicht umgehen. Die Regelung sollte flexibel sein und komfortabel in der Bedienung. Auf überflüssige Komplexität sollte verzichtet werden.

Der gewählte Arduino mit Ethernet-Erweiterung („Ethernet-Shield“ genannt) konnte bisher überzeugen. Er arbeitet allerdings relativ dicht an seinen Kapazitäten, was Flash- und Hauptspeicher betrifft. Er liefert ein Web-Interface zur Bedienung (so sieht es aus), speichert alle Sensor- und Zustandsgrößen auf eine Micro-SD-Karte und sendet sie gleichzeitig zum Online-Dienst Pachube (inzwischen von xively.com übernommen). Er regelt die Therme, um den Speicher auf Temperatur zu halten. Weiterhin regelt er den Mischer (Oventrop "Regumat M3-180") des Heizkreislaufes. In Planung sind die Drehzahlregelung der Therme-Pumpe, um die Wassertemperatur der Speicher-Einspeisung zu optimieren. Im Heizkreislauf arbeitet eine Hocheffizienzpumpe (Grundfos Alpha 2 25-40) mit konstant 6W Leistung. Auch sie könnte bei zu geringer Spreizung der Vor- und Rücklauftemperatur abgeschaltet werden.

Alle nötigen Temperaturen werden von Dallas 18B20 Sensoren erfasst. Sie sind ab Werk kalibriert und hängen gemeinsam an einem dreiadrigen (5V, Masse, Signal) One-Wire-Bus.


Als Grundlage für einen Nachbau kann der Source-Code hier (steht unter GNU GPL-Lizenz) heruntergeladen werden. Weiterhin muss der Inhalt dieser Zip-Datei im Root-Verzeichnis der SD-Karte liegen.

Benutzung erfolgt natürlich auf eigene Gefahr. Einige Funktionen des Web-Interface sind noch nicht implementiert. Kompiliert wurde mit Arduino022, da die Version 1.0 viel größere Dateien produzierte (wohl aufgrund Änderungen in der Ethernet- und SD-Library). Hier die verwendeten Libraries (sie sind nicht von mir, ich stelle sie nur der Vollständigkeit halber hier rein).

Folgende Hardware-Komponenten setze ich ein (gekauft bei komputer.de, war der günstigste und übersichtlichste deutsche Anbieter):

  1. Arduino Uno

  2. DFRduino Ethernet Shield

  3. 4-fach Relais

  4. Uhr-Modul mit Batterie

  5. eine Handvoll Temperatursensoren Dallas 18B20 (z.B. hier)

  6. eine beliebige Micro-SD-Speicherkarte


Die Verkabelung ist denkbar einfach: Der One-Wire-Bus, der mit allen Temperatur-Sensoren
auf dem mittleren Beinchen verbunden wird, liegt auf Pin 3 des Arduino. Die im Bild mit V+ bezeichnete Beinchen wird mit dem 5V-Pin des Arduino gekoppelt, 0V versteht sich von selbst. Werden nackte 18B20-Sensoren verwendet, so muss noch ein 4,7kOhm-Widerstand zwischen „data“ und V+ gelegt werden, einer für den ganzen Bus, nicht für jeden Sensor. In der oben beispielhaft genannten Sensor-Platine ist der Widerstand schon integriert.

Jetzt noch die Relais anschließen: Pin 5 schließt das Relais, welches den Mischer in Richtung „wärmer“ dreht. Pin 6 in Richtung „kälter“. Wenn Pin 7 aktiv ist, sollte der Kessel oder die Therme anfangen, Energie zu liefern.


Regellogik: Bisher wird die unter „Temperaturen“ eingestellte Vorlauftemperatur auf +/-2K gehalten, indem der Mischer minütlich bewegt wird. Die Speichertemperatur wird über mittleren und unteren Speichersensor eingestellt: Sinkt der Wert des mittleren Sensors unter die eingestellte Brauchwassertemperatur, so arbeitet der Kessel so lange, bis der untere Sensor die Brauchwassertemperatur annähernd erreicht hat. In Kürze wird die Raumtemperatur in die Logik Einzug halten, geplant ist auch, die Außentemperatur mit einzubeziehen.


Für die Pachube(xively)-Funktionalität ist dort ein kostenloses Konto erforderlich. Dann müssen ein leerer Feed und ein API-Key erstellt werden. Die Feed-Nummer und der API-Key müssen in die Datei „pach1.txt“ im Root-Verzeichnis der SD-Karte eingesetzt werden. Als Entschädigung gibt es schöne live-Diagramme.


 

auf Basis des Open-Source-Mikroprozessors Arduino