C++ Programmieraufgabe: Simulation einer Heizung und eines Heizungsreglers

Vorgestellt wird ein Problem der Regelungstechnik: Es soll die Umgebung eines Hauses und dessen Heizung simuliert werden. Dabei sollen in konstanten Zeitabst√§nden die Au√üentemperatur und die Raumtemperatur gemessen werden und ein Algorithmus entwickelt werden, der daf√ľr sorgt, dass die Raumtemperatur der vorgegebenen Soll-Temperatur m√∂glichst nahe kommt.
Noch keine Stimmen abgegeben
Noch keine Kommentare

Einordnung des Artikels

Einf√ľhrung

Abbildung 1 zeigt ein Haus mit einer Heizung, die Wärme Q an den Wohnraum abgibt. Im Idealfall ist:

  • dieser W√§rmestrom (als Energie pro Zeit) identisch dem W√§rmestrom, der vom Haus an die Umgebung abgegeben wird und zugleich
  • die Temperatur im Haus auf den angenehmsten Wert eingestellt (Soll-Temperatur).

In diesem Fall kann die Heizung bei konstanter Leistung P weiterlaufen und die Raumtemperatur bleibt unverändert.

Abbildung 1: Wärmeströme in einem geheizten Haus: Die Heizung gibt Energie an die Raumluft ab; das Haus gibt Energie an die Umgebung ab. Hier ist schon der stationäre Zustand dargestellt, den man durch eine Heizungsregelung erreichen möchte.Abbildung 1: Wärmeströme in einem geheizten Haus: Die Heizung gibt Energie an die Raumluft ab; das Haus gibt Energie an die Umgebung ab. Hier ist schon der stationäre Zustand dargestellt, den man durch eine Heizungsregelung erreichen möchte.

Dass dieser stationäre Zustand eintritt und längere Zeit beibehalten wird, ist sehr unwahrscheinlich. Im Normalfall

  • stimmt die tats√§chliche Raumtemperatur nicht mit der gew√ľnschten Temperatur √ľberein und
  • die Au√üentemperatur ver√§ndert sich laufend, wodurch auch der W√§rmestrom an die Umgebung variiert.

Um die Raumtemperatur möglichst nahe an der Soll-Temperatur zu halten, ist eine Regelung der Heizung nötig, die immer wieder die Heizleistung an die aktuelle Raum- und Umgebungstemperatur anpasst.

Die konkreten Programmier-Aufgaben

Es soll ein Programm entwickelt werden, das die folgenden vier Komponenten enthält:

1. Ein physikalisches Modell f√ľr die Temperaturentwicklung im Haus in Abh√§ngigkeit von

  • der Heizleistung P
  • der Raumtemperatur TR und der Umgebungstemperatur TU

Einige Hinweise, wie dieses Modell aussehen kann, folgen weiter unten.

2. Einen Temperatur-Regler, also einen Algorithmus, der in regelmäßigen Zeitabständen t die Raumtemperatur TR und die Außentemperatur TU misst, und der durch Regelung der Heizleistung P versucht, die Raumtemperatur möglichst nahe an einer vorgegebenen Soll-Temperatur TS zu halten.

Der Temperatur-Regler kennt nat√ľrlich das oben beschriebene Modell f√ľr die Temperaturentwicklung nicht; das Modell dient dazu, die Umgebung, die Heizung und die Temperaturentwicklung zu simulieren. Dem Regler wird die Soll-Temperatur TS vorgegeben und er soll nur mit den Messwerten

  • Umgebungstemperatur TU
  • Raumtemperatur TR
  • Heizleistung P

arbeiten, wobei vergangene Zustände gespeichert werden können. Weitere Anforderungen an den Temperatur-Regler werden unten beschrieben.

3. Testdaten, mit denen typische Szenarien simuliert werden können. Etwa:

  • lange Dauerfrostperiode
  • Aprilwetter mit starken und schnellen Temperaturschwankungen
  • R√ľckkehr aus dem Winterurlaub: die Wohnung ist deutlich abgek√ľhlt und die Au√üentemperaturen sehr niedrig.

Die Ergebnisse beim Durchlauf der Testdaten k√∂nnen nat√ľrlich verwendet werden, um den Temperatur-Regler zu verbessern.

4. Graphische Aufbereitung der Testdaten, aus der man das Verhalten des Temperatur-Reglers ablesen kann. Dabei sollen die Testdaten vom eigentlichen Programm berechnet und anschließend weitergereicht werden, so dass eine geeignete Auswertung erfolgen kann.

Physikalisches Modell f√ľr die Temperaturentwicklung

Die Wärmemenge (in Joule), die pro Zeit t vom Haus an die Umgebung abgegeben wird, ist proprtional zur Temperaturdifferenz zwischen Raumtemperatur TR und Umgebungstemperatur TU:

Q = k (TR - TU) t

Dabei ist k eine Konstante, die man auch modellieren k√∂nnte, da sie von der Gr√∂√üe der Oberfl√§che des Hauses abh√§ngt und davon, wie gut die W√§rmed√§mmung des Hauses ist. Wie man einen geeigneten Wert f√ľr k finden kann, wird unten gezeigt.

Die Temperaturdifferenz (TR - TU) kann nat√ľrlich auch negativ sein, n√§mlich wenn es drau√üen w√§rmer ist als im Haus. Dann str√∂mt W√§rme aus der Umgebung ins Haus und die Heizleistung muss auch negativ werden; das hei√üt die Heizung muss als Klimaanlage arbeiten.

Die Energie QH, die die Heizung während der Zeitdauer t abgibt, ist proprtional zur Leistung P der Heizung:

QH = P t

Das Modell muss jetzt noch wiedergeben, wie sich die Temperatur TR verändert, wenn eine gewisse Außentemperatur TU herrscht und die Heizung die Leistung P abgibt. Dazu nimmt man an, dass

  • die Zeitdauer t klein genug gew√§hlt ist, so dass w√§hrend t keine merkliche Ver√§nderung der Au√üentemperatur eintritt (etwa t = 1 h)
  • die Leistung P und der nach au√üen abgegebene W√§rmestrom Q (wie oben mit Hilfe von k berechnet) w√§hrend der Zeitdauer t konstant bleiben und
  • das Haus durch seine W√§rmekapazit√§t C (in Joule pro Kelvin) charakterisiert ist.

Es ergibt sich dann eine einfache Energiebilanz:

1. Ist die Differenz P t - Q positiv, wird dem Haus die √ľbersch√ľssige Energie zugef√ľhrt und die Raumtemperatur steigt auf den neuen Wert TR,neu, der sich leicht berechnen l√§sst aus:

P t - Q = C (TR,neu - TR)

2. Ist die Differenz P t - Q negativ, wird dem Haus Energie entzogen und die Raumtemperatur sinkt auf den neuen Wert TR,neu, der sich aus der selben Formel berechnen l√§sst ‚ÄĒ nur sind jetzt beide Seiten der Gleichung negativ:

P t - Q = C (TR,neu - TR)

Aufgelöst nach TR,neu ergibt sich:

TR,neu = TR + C-1 (P t - Q)

Das Modell ist also vollständig, wenn man die beiden Konstanten angeben kann:

  • k, die Gr√∂√üe, die den W√§rme√ľbergang vom Haus an die Umgebung beschreibt und
  • C, die W√§rmekapazit√§t des Hauses.

Zudem muss man eine maximale Leistung Pmax angeben, die die Heizung bei Volllast liefern kann.

Die folgenden Überlegungen sollen einen Hinweis geben, wie man die drei Größen k, C, Pmax sinnvoll festlegen kann.

1. Die Gr√∂√üe C, die W√§rmekapazit√§t des Hauses, ist f√ľr den Regler gar nicht so wichtig wie man zun√§chst meinen wird. Denn ein gro√ües C steht f√ľr ein gro√ües Haus, ein kleines C f√ľr ein kleines Haus. Entsprechend wird in einem gro√üen Haus auch eine leistungsf√§higere Heizung zur Verf√ľgung stehen (also gr√∂√üeres Pmax). Der Algorithmus, nach dem der Regler die Heizleistung steuert (als Prozentzahl, also im Verh√§ltnis zu Pmax), sollte nicht vom absoluten Wert von C abh√§ngen. Diese Aussage ist nat√ľrlich nur in erster N√§herung richtig. In zweiter N√§herung muss man n√§mlich ber√ľcksichtigen: Ein Haus mit dicken Mauern hat eine sehr gro√üe W√§rmekapazit√§t, ein Haus mit d√ľnnen Mauern eine kleinere W√§rmekapazit√§t und ein Holzhaus eine sehr kleine W√§rmekapazit√§t.

2. Besonders einfach zu behandeln ist der stationäre Fall, der in Abbildung 1 dargestellt ist: Angenommen die Raumtemperatur hat genau ihren Sollwert, der Regler schafft es die richtige Heizleistung einzustellen und die Außentemperatur bleibt längere Zeit unverändert. Dann ist die Energiebilanz besonders einfach:

P t = k (TS - TU ) t, also P = k (TS - TU )

F√ľr den Fall, dass TU die kleinstm√∂glichen Wert annimmt (TU,min = -20¬įC), kann man diese Gleichung verwenden, um die Heizung zu dimensionieren, denn man ben√∂tigt jetzt

Pmax = k (TS - TU,min )

Man kann die Gleichung aber auch umgekehrt lesen: Ist bei einer bestimmten Umgebungstemperatur TU bekannt, welche Heizleistung P aufzubringen ist, um den stationären Zustand aus Abbildung 1 aufrecht zu erhalten, kann man sich die Konstante k ausrechnen:

k = P (TS - TU )-1

3. Ein anderer einfacher Fall ergibt sich, wenn die Heizung abgeschaltet wird: Jetzt str√∂mt W√§rme nach drau√üen und diese W√§rme wird allein aus der im Haus gespeicherten Energie entnommen - und daf√ľr steht gerade die W√§rmekapazit√§t C. Wartet man etwa bis die Temperatur um 1 K abgenommen hat, was einer Zeitdauer t1 entsprechen soll, so gilt

C (TR - 1 K) = k (TR - TU ) t1

Kennt man einen einigerma√üen verl√§sslichen Wert f√ľr t1, kann man C/k mit dieser Gleichung ausrechnen.

Nach diesen √úberlegungen sollte es nicht schwer fallen, realistische Zahlenwerte f√ľr C, k und Pmax anzugeben.

Einwände und Verbesserungen

Man kann gegen dieses Modell viele Einwände erheben zum Beispiel:

  • Die Temperaturen bleiben w√§hrend der Zeitdauer t nicht konstant, folglich stimmen obige Formeln nicht exakt.
  • Der Energieverlust an die Umgebung h√§ngt nicht nur vom Temperaturunterschied ab: bei starkem Wind ist der W√§rme√ľbergang von der Wand zur Luft h√∂her, was zu einem h√∂heren Energieverlust f√ľhrt.
  • Es gibt weitere W√§rmequellen, die das Modell nicht ber√ľcksichtigt, etwa Heizung durch Sonneneinstrahlung durch die Fenster, Heizung durch weitere W√§rmequellen im Haus (Elektroger√§te).
  • W√§rmeverluste durch L√ľften, T√ľr √∂ffnen.

Diese Liste kann man beliebig verl√§ngern ‚ÄĒ Sie k√∂nnen gerne das Modell um Eigenschaften erweitern, die Sie f√ľr relevant halten.

Anforderungen an den Temperatur-Regler

Oben wurde bereits beschrieben, dass der Regler das Modell zur Berechnung der neuen Raumtemperatur (aus den Größen C, k, P, TR und TU) nicht kennt; stattdessen muss er mit den Messwerten P, TR und TU arbeiten und kann alte Messwerte speichern.

Die Zeitdauer t, die durch das Modell vorgegeben ist (etwa t = 1 h) und die Abst√§nde beschreibt, in denen sich die Umgebungstemperatur TU ver√§ndert, soll zun√§chst auch als Intervall f√ľr den Regler verwendet werden: Immer nach der Zeitspanne t erh√§lt der Regler die neuen Messwerte und stellt die neue Heizleistung P ein.

Untersuchen Sie, wie groß dann etwa die Schwankung der Raumtemperatur TR ist.

Wie ver√§ndern sich die Schwankungen der Raumtemperatur TR, wenn der Regler schon nach Zeitabst√§nden t/2, t/4 beziehungsweise t/8 die neue Heizleistung berechnet? Achten Sie bei der Entwicklung des Modells und des Algorithmus f√ľr den Regler darauf, dass Sie diese verk√ľrzten Zeitabst√§nde leicht in Ihr Programm einbauen k√∂nnen.

Untrsuchen Sie, ob der Regler besser arbeitet, wenn die Heizung √ľberdimensioniert ist; das soll hei√üen, dass die maximale Heizleistung Pmax deutlich gr√∂√üer ist als es C und k (siehe Diskussion oben) erfordern!

Aufbereitung der Testdaten

Versuchen Sie Ihr Programm so zu gestalten, dass die Testdaten leicht exportiert werden können, um sie graphisch aufzubereiten.

Wählen Sie eine geeignete graphische Aufbereitung aus und diskutieren Sie damit die Ergebnisse.

Einheiten und g√ľltige Stellen

  1. Temperaturen werden generell in K (Kelvin) angegeben; damit vermeidet man Verwechslung von absoluten Temperaturen und Temperaturdifferenzen. Sinnvoll sind drei Stellen vor dem Komma und eine Stelle nach dem Komma. (Es gibt zwar viele Temperaturmesser, die zwei g√ľltige Stellen nach dem Komma angeben; um absolute Temperaturen ‚ÄĒ also nicht nur Temperaturdifferenzen ‚ÄĒ so genau zu messen, ben√∂tigt man aber sehr teure Ger√§te.)
  2. Leistungen werden in W (Watt) mit f√ľnf g√ľltigen Stellen ohne Nachkommastellen angegeben.