home     Inhaltsverzeichnis
erste Version am 21.10.2017
letzte Änderung am 30.10.2017

Zirkulationspumpen-Steuerung - Seite 7


eine Woche lang korrekte Funktion

Nun ist die zweite Woche bzw. Dienstreise rum und meine Änderungen vom letzten Wochenende haben offenbar dazu geführt, dass die Pumpe durchgehend sinnvoll angesteuert wurde.
Die Analyse des Temperatur/Zeit-Protokolls zeigt für den Montag, dass die Pumpen-Einschaltdauer bei erkannter Legionellen-Funktion deutlich zu lang ist.
Erst um 07:11 Uhr wurde am Rohr 2(L) über 60°C gemessen. Davor gab es an diesem Rohr fünf Schwingungen.
Screenshot LoggerView
        (Legionellen-Funktion)
Um 05:04 Uhr sackte die bis dahin relativ stabile Temperatur von 42.5°C in drei Minuten auf 39.5°C. Ab diesem Zeitpunkt stieg sie konstant bis 57.3°C. Das war um 05:24 Uhr. Danach ging es rauf und runter - bis um 07:11 Uhr 60.2°C erreicht wurden.
An den folgenden Tagen stieg die Temperatur an Rohr 2(L) maximal bis auf 58°C. Also leider kein sonderlich deutlicher Unterschied zwischen normalem Heizverhalten und der Legionellen-Funktion.
Am Rohr 1(E) ist der Unterschied hingegen deutlicher zu erkennen. 55.7°C am Montag zu 48.7°C als höchste Temperatur an anderen Tagen. Jedoch wurden die 55.7°C am Rohr 1(E) sehr wahrscheinlich nur deswegen erreicht, weil die Pumpe in diesem Zeitbereich eingeschaltet war. Folglich nützt mir das nix zur Erkennung....ob die Pumpe eingeschaltet werden soll, oder nicht.

Die jetzige Legionellen-Einschalt-Bedingung lautet: Sensor(E)>56°C OR Sensor(L)>60°C
Vielleicht könnte ich die 56°C nach 55°C ändern, aber die 60°C sollten wohl so bleiben.
Aber die Legionellen-Abschalt-Bedingung sollte geändert werden.
Derzeit lautet sie: (einschaltdauer>1h AND Sensor(Z)>52°C) OR einschaltdauer>2h
Und laut der protokollierten Daten hätte es auch gereicht, wenn die Pumpe eine halbe statt zwei Stunden eingeschaltet gewesen wäre.
Somit könnte die Legionellen-Abschalt-Bedingung geändert werden auf: (einschaltdauer>1/3h AND Sensor(Z)>52°C) OR einschaltdauer>2/3h

Die restlichen Wochentage sahen dann alle ziemlich ähnlich aus:
Screenshot Loggerview (ein
        Wochentag)
Einzige Erkenntnis daraus war bisher lediglich, dass die Pumpe jetzt zusätzlich auch um 11:00 Uhr eingeschaltet wird.
Weiterhin sind die Schlauchschellen heute endlich zum Einsatz gekommen, um die Sensoren damit noch näher an die Rohre zu bringen....mal schauen, ob dadurch nun zukünftig etwas höhere Temperaturen gemeldet werden.
Nachtrag: prompt wurde bei der nächsten Heizphase von Sensor(L) eine Temperatur von 60.2°C gemeldet und somit der Legionellen-Modus aktiviert. Daher steht dieser Schwellwert jetzt auf 62°C - statt auf 60°C.

Noch eine Woche mit sinnvoller Ansteuerung der Zirkulationspumpe.
Mittlerweile gelten folgende Schwellwerte:
#
Wert
Modus
Bedeutung
0
45°C
N
ab dieser Temperatur an Rohr Z kann die Pumpe im Normal-Modus abgeschaltet werden
1
55°C
L
ab dieser Temperatur an Rohr E wird Legionellen-Modus angenommen und die Pumpe eingeschaltet
2
62°C
L
ab dieser Temperatur an Rohr L wird Legionellen-Modus angenommen und die Pumpe eingeschaltet
3
52°C
L
ab dieser Temperatur an Rohr Z wird im Legionellen-Modus die Pumpe abgeschaltet
4
5
N
die Anzahl Minuten nach EinschaltBitmap, ab denen die Pumpe im Normal-Betrieb unbedingt ausgeschaltet wird
5
20
L
die Anzahl Minuten, nach denen die Pumpe im Legionellen-Modus frühestens ausgeschaltet wird (wenn auch #3 gilt)
6
20
L
die Anzahl weiterer Minuten bzgl. #5, nach denen die Pumpe im Legionellen-Modus unbedingt ausgeschaltet wird
7
70°C
S
ab dieser Temperatur an Rohr E, L oder Z wird auf reinen Zeitbetrieb umgeschaltet (Sensor-Störung)
8
5
S
die Einschalt-Verlängerung bzgl. Einschalt-Bitmap in Minuten bei Sensor-Störung
9
3°C
N
minimaler Temperaturunterschied zwischen Z und L, ab dem die Pumpe im Normal-Modus abgeschaltet wird
10
5
NLS
so viele Minuten nach Abschaltung der Pumpe wird das erneute Einschalten gesperrt

Und die Einschalt-Bitmap sieht jetzt so aus, dass die Pumpe zwischen 06:00 und 22:30 Uhr alle 30 Minuten für mindestens fünf Minuten eingeschaltet wird.
Dadurch wird [derzeit] erreicht, dass die Temperatur am Sensor(Z) praktisch nicht unter 37°C sinkt (damit kann man notfalls noch duschen, zumindest aber problemlos die Hände waschen).
ScreenShot LoggerView
        (halb-Stunden-Takt)
Allerdings wäre es denkbar, dass dieser Halb-Stunden-Takt nicht mehr reicht, sobald es draußen kälter wird.
Es könnte daher nützlich sein, einen weiteren/alternativen Modus zu implementieren, bei dem die Pumpe in einem zu definierenden Zeitbereich (z.B. zwischen 06:00 und 23:00 Uhr) immer dann für mindestens fünf Minuten eingeschaltet wird, wenn Sensor(Z) unter einen zu definierenden Wert (z.B. 37°C) sinkt.
Zusätzlich bräuchte es dafür wohl auch eine Abhängigkeit von den Sensoren L und/oder E - damit die Pumpe nicht eingeschaltet wird, wenn die definierte Temperatur [zeitweilig] gar nicht erreicht werden kann.
Sowohl Sensor(E) als auch Sensor(L) melden nämlich kurzfristig schon mal Werte unter 37°C:
Screenshot LoggerView (E<37°C) Screenshot LoggerView (L<Z)
Aber wenn ich mir sämtliche bisherigen Daten so ansehe, sollte es mit der folgenden Bedingung funktionieren:
Sensor(Z)<37°C AND (Sensor(E)-x>37°C OR Sensor(L)-x>37°C)        mit x>5
Naja, das baue ich ein, wenn der simple Halb-Stunden-Takt nicht mehr langen sollte.
Hier der derzeitige Stand der Firmware und des Python-SocketServers.


Überlegungen zur automatischen Pump-Zeiten-Anpassung

Die nächste große Änderung am Programmcode wäre dann irgendwann mal die automatische Pumpen-Einschaltzeit-Anpassung. Vielleicht sogar gleich samt einer Abwesenheits-Erkennung (bzw. Urlaubs-Modus).
Dafür sollte ich mir voraussichtlich mal die Steigungen der Temperatur-Kurven ansehen.

Immer dann, wenn trotz ausgeschalteter Pumpe am Rohr 3(Z) eine hohe positive Steigung erkannt wird, kann von Wasser-Entnahme ausgegangen werden.
Ähnlich sieht es bei Rohr 1(E) aus - allerdings müsste bei diesem Rohr offenbar zusätzlich das Rohr 2(L) einbezogen werden, weil die Temperatur an Rohr 1(E) bereits dann steigt, wenn die Heizung den Speicher erwärmt (z.B. gegen 05:15 Uhr in beiden Screenshots ganz oben auf dieser Seite).
Wichtig wird es werden, die Regel herauszufinden, woran trotz laufender Pumpe eine ausbleibende Wasser-Entnahme erkannt werden kann. Ohne diese Regel würden einmal festgelegte Einschaltzeiten nie wieder verschwinden können.
Voraussichtlich wird es dazu unumgänglich sein, eine Woche lang an sämtlichen Wasser-Entnahmestellen ein Logbuch liegen zu haben. Und sämtliche Familienmitglieder dazu zu bringen, dieses Logbuch ausnahmslos zu führen. Idealerweise sollte ich in dieser Woche alleine zuhause sein....

Ein bisschen Sorgen bereiten mir die Temperatur-Anstiege im Screenshot zum Halb-Stunden-Takt, die am Sensor(E) jeweils zwischen den Einschaltzeiten der Pumpe auftreten. Nahezu jedes mal nach Abschalten der Pumpe sinkt die Temperatur an Sensor(E) zunächst - um dann ca. 10 bis 15 Minuten später wieder zu steigen. Wegen dieser Regelmäßigkeit ist es höchst unwahrscheinlich, dass die Anstiege von einer Warmwasser-Entnahme herrühren.
Folglich muss der Anstieg im Rohr-System oder allgemein der Strömung des warmen Wassers begründet sein.
Erstmal will ich die Beobachtungen sammeln:
1.) die Pumpe wird eingeschaltet
1.a) unmittelbar danach steigt die Temperatur an Sensor(E) -> warmes Wasser fließt zunächst durch Rohr 1
1.b) wenige Minuten später steigt die Temperatur an Sensor(Z) -> das warme Wasser erreicht Rohr 3
1.c) manchmal sinkt die Temperatur an Sensor(Z) erstmal schlagartig, bevor sie steigt (hauptsächlich dann, wenn vorher Z<R galt)

2.) die Pumpe wird abgeschaltet (und es wird kein warmes Wasser entnommen)
2.a) sofort stoppt die weitere Erwärmung am Rohr 1
2.b) an Rohr 3 steigt die Temperatur weiterhin für ca. eine Minute
2.c) die Temperatur an beiden Rohren (1, 3) sinkt langsam und gleichmäßig

3.) zwischen 10 bis 15 Minuten später
3.a) die Temperatur an Rohr 1 steigt um ein bis zwei Grad
3.b) die Temperatur an Rohr 3 sinkt weiter gleichmäßig

Zu 1.c kommt es immer dann, wenn entweder die Raumtemperatur im Heizungsraum höher als die von Sensor(Z) ist, oder kurz vor Einschalten der Pumpe eine geringe Menge warmen Wassers entnommen wurde. Die Raumtemperatur im Heizungsraum liegt durchgängig zwischen 30 bis 36°C - also weitaus höher, als im Rest des Hauses. Folglich wird das stehende Wasser im längsten Teil von Rohr 3 deutlich kälter sein. Wird dann die Pumpe eingeschaltet, passiert dieses kältere Wasser Sensor(Z).
Der Punkt 2.b könnte sich mit der Trägheit des Temperatur-Sensors erklären lassen.
Beim Punkt 3.a liegen die Zeiten dafür jedoch viel zu weit auseinander. Vielleicht liegt es eher an der Verwirbelung des warmen Wassers in der Aqua Unit. Bei laufender Pumpe wird oben warmes Wasser entnommen und unten kaltes Wasser zugeführt. Nach Abschaltung der Pumpe ebbt die Bewegung des unterschiedlich temperierten Wassers in der Aqua Unit langsam ab, das warme Wasser sammelt sich wieder oben in der Aqua Unit und dessen Wärme kriecht schließlich bis zum Sensor(E).
Könnte so sein....muss aber nicht.....ist nur eine Theorie.

Jedenfalls macht dieser Umstand meine Idee kaputt, die Warmwasser-Entnahme anhand einzelner Temperatur-Steigungen erkennen zu können.
Weil die Schaltung das ursprüngliche Ziel, den durchschnittlichen Stromverbrauch auf 5W zu senken, bereits erreicht hat, bleibt die Firmware jetzt erstmal auf diesem Stand.