Fussbodenheizung mit PWM steuern

Begonnen von jamesgo, 24 September 2015, 08:28:49

Vorheriges Thema - Nächstes Thema

Damian

#105
Zitat von: RainerS am 18 Dezember 2015, 19:09:21
Hallo,

wo soll der Vorteil der Ansteuerung per "PWM" liegen, zumal es sich bei der FB um ein sehr träges System handelt ? Ausserdem müsste ja ständig die Pumpe laufen ? ... evt. kann mir das ja jemand beibringen  :-\

Wenn es darum geht, das Takten des Brenners zu minimieren, würde es doch eigentlich ausreichen, parallel zu den regulären Raumthermostaten eine best. Anzahl Ventile zu übersteuern, damit die Wärme in der Anlaufphase der Therme sicher abgeführt wird. Nach 3 min kann man die "Übersteuerung" der Ventile wieder abschalten.

Ich sehe das so:
bevor der Brenner zündet, wird ja erstmal die Heizkreis-Pumpe aktiviert. Wenn dann (nach ein paar min) die erforderliche Vorlauftemperatur nicht vorhanden ist, schaltet der Brenner dazu. Zu diesem Zeitpunkt müssen genügend Heizkreise offen sein, damit die Wärme abgeführt wird und der Brenner nicht direkt wieder abschaltet und in die Sperrzeit geht.

Sehe ich auch so. Bei einer trägen FB reichen neben einem hydraulischen Abgleich zwei Zustände eines Ventils "offen" oder "geschlossen", das wird jeder Heizungsinstallateur bestätigen.

Das Problem des Taktens unserer überdimensionierten Heizung, die nicht unter 10 KW abgeben kann, habe ich einfach über ein DOIF mit Watchdog-Funktionalität gelöst.

Mein erstes Projekt in FHEM war übrigens das Modul THRESHOLD, welches zufriedenstellend seit ca. drei Jahren unsere FB steuert.

Gruß

Damian
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

jamesgo

Man kann eine FB Heizung sehr gut mit Hydraulischem Abgleich und der Zeitsteuerung der Therme betreiben. Das war Jahrzehntelang Praxis. Wenn du die Feineinstellung nicht selber machen kannst wird der Heizungsbauer gegen geringe Gebühr gerne täglich bei dir vorbeischauen und das machen.

Eine Temperaturmessung in den Räumen kann die Feineinstellung aber auch übernehmen.

Ob du jetzt weniger Energie (bei mir Gas über ein Brennwertgerät) verbrauchst wenn alle Heizkreise gleichzeitig an sind und nacheinander ausschalten - während der Brenner bei 10kw läuft.

Oder wenn im Schnitt nur 50% der Räume gleichzeitig an sind, die Spreizung Vorlauf-/Rücklauftemperatur groß ist, somit der Brennwerteffekt am größten und der Brenner bei 7kw läuft.

... Das ist ein sehr Akademisches oder empirisches Thema.

Darüber können wir gerne diskutieren, aber bitte mit Niveau.

Die Lösung sollte sich meiner Meinung nach dem Brenner richten. Ist er sehr Überdimensioniert (und das mach Heizungsbauer sehr gerne da sie sich nicht anhören wollen dass es im Winter nie richtig warm wir) bringt es wenig die Heizkreise zu takten und den Brenner zu unterfordern - was wiederum dazu führt dass dieser taktet und gerade "aus" ist wenn ein kleiner Raum ein 5 Minuten Puls bekommen sollte.

Grüße
Andy


Damian

Zitat von: RainerS am 19 Dezember 2015, 09:47:56
... verstehe ich jetzt nicht, kannst Du das erklären ?

In der Übergangszeit ging bei uns die Heizung im 15 Minuten Takt an und aus, weil sie die 10 KW nicht abgeben konnte (sie ist ja schon 16 Jahre alt)

Nun wird sie von FHEM angesteuert. U. a. wenn innerhalb von 5 Minuten der Brenner nicht erneut anspringt, weil Warmwasser benötigt wird, wird sie für eine bestimmte Zeit still gelegt. 

Solche Spielchen braucht man natürlich bei modernen Thermen, die wesentlich stärker modulieren können, sicherlich nicht zu betreiben.

Gruß

Damian
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

Damian

Zitat von: ms_9 am 19 Dezember 2015, 19:39:37
... das meinte ich. Wie hast Du denn die Ansteuerung gelöst ?

Ich befürchte, der eigentliche Thread driftet langsam ab, eigentlich geht´s hier um das PWM-Modul.

Ist eine recht spezifische Geschichte bei mir inklusive "Hardware-Umbau" - eine detaillierte Erklärung würde den Thread hier entführen.

Gruß

Damian
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

Skusi

Sehe ich auch so, also zurück zum Modul ! ;D

Von mir mal wieder ne kleine Anregung:

Mir ist aufgefallen das meine Pumpe + Kessel Ansteuerung zu früh einschaltet wenn der erste Heizkreis wieder anfordert. Das Ventil braucht ja eine gewisse Zeit um Auf zu sein und solange sollte der OverallHeatingSwitch noch warten.
Meine Therme springt dann an, wird die Wärme nicht los, und wenn das Ventil des Raumes auf ist, geht sie schon in die Sperrzeit. Wenn die Sperrzeit um ist, ist auch meist der Puls zu ende.

Der OverallHeatingSwitch sollte vielleicht um die MINONOFFTIME verzögert einschalten.

---Skusi
RPI3B, SIGNALduino, NanoCul868 (a-culfw), JeeLink Clone (LaCrosse), Firmata  für FB Heizung,Wasser+Gas+Klingel+Lux, Somfy Rolladen, Pollin Steckd.,TX29DTH,ESPEasy an S0 Stromz., MAX Fensterkontakte, IButton, SonOff Tasmota, ESP LED Controler

Skusi

Nanu, lange keiner was beizutragen gehabt.

Naja, dafür bin ich mal wieder mit einem Problem hier  ;)

Kurz und knackig: Was soll icj von folgendem Eintrag im Log halten:

No I/O device found for FBH_Regler_Wohnzimmer

Wobei "FBH_Regler_Wohnzimmer" der Name eines PWM Moduls ist.
Ich habe nun schond die cfg auswendig gelernt, aber ich kann nicht finden was das problem ist. Alles wird wichtige wird vor der define PWM Zeile ausgeführt.

Weches device fehlt ihm denn da ????
RPI3B, SIGNALduino, NanoCul868 (a-culfw), JeeLink Clone (LaCrosse), Firmata  für FB Heizung,Wasser+Gas+Klingel+Lux, Somfy Rolladen, Pollin Steckd.,TX29DTH,ESPEasy an S0 Stromz., MAX Fensterkontakte, IButton, SonOff Tasmota, ESP LED Controler

My-FHEM

#111
Zunächst einmal tolles Modul! :)

Ich möchte die Arbeit nicht kritisieren. sondern nur eine kleine Anregung geben.

Der Regelalgorithmus (((delta-temp * factor) ** 2) + offset) führt zu einer bleibenden
Regelabweichung. Könnte nicht ein PI-Regler (oder 20_PID.pm) stattdessen
eingebaut werden? Damit könnte die Regelabweichung weiter reduziert werden.

Da ich kein Perl beherrsche kann ich dies leider nicht selber coden.

Vielen Dank

jamesgo

Hallo Skusi,

kannst du bitte mal dein define für FBH_Regler_Wohnzimmer und für das zugehörige PWM objekt posten?

Danke
Andy

Skusi

#113
Hallo jamesgo,

kleine Vorgeschichte:
Ich habe Testweise zwei PWM defines gesetzt. Einmal:

define FBH_Regler_Wohnzimmer PWM 60 3600 400 0.85 99,99 1,2,0.25 FBH_Regler_Wohnz_Badarf,0,240

dem zugewiesen sind die drei großen Heizkreise des Wohnzimmers.

als zweites:

define FB_Heizung PWM 60 3600 400 0.85 99,99 3,3,0.25 FBH_Regler_Nebenraeume_Badarf,0,240

an dem hängen die restlichen 6 Heizkreise des Hauses.

FBH_Regler_Nebenraeume_Badarf und FBH_Regler_Nebenraeume_Badarf sind dummys, die über ein DOIF das Relais der Pumpe schalten. Wenn einer der PWM`s anfordert dann Pumpe an.
FB_Heizung: 60 3600 400 0.85 3,3 3,3,0.25 FBH_Regler_Nebenraeume_Badarf,0,120
FBH_Regler_Wohnzimmer:60 3600 400 0.85 99,99 1,2,0.25 FBH_Regler_Wohnz_Badarf,0,240

Bezwecken wollte ich damit das bei den drei Wohnzimmer-Kreisen Reihum immer nur einer auf ist. Die Kreise sind sehr groß und das Wohnzimmer hat viel Wärmebedarf durch große Fenster, und erzeugt eine große Heizlast für den Kessel.

Die anderen kreise sollten dann unabhängig sich abwechseln. Und zwar so das max 3 Kreise auf sind, aber auch nicht weniger als 3. So wollte ich etwa immer 4 Kreise dem Kessel zumuten um eine lange Laufzeit und wenig Takte zu erzielen.

Mittlerweile hab ich aber meinen Denkfehler erkannt und habe die Wohnzimmer Kreise wieder an das FB_Heizung PWM gehängt. Da ja alle drei Wohnzimmer Kreise über den selben Raumfühler laufen haebn sie immer denselben Puls, und dann funktioniert die NoRoomsToStayOff und NoRoomsToStayOn geschichte ja nicht.

Das PWM FBH_Regler_Wohnzimmer ist noch definiert, hat aber keine zugewiesenen PWMR`s mehr.

Da brauche ich übrigens auch mal dringend Hilfe von Dir.
Die zusammenhänge von NoRoomsToStayOff und NoRoomsToStayOn mit MaxSwitchOffPerCycle und MaxSwitchOnPerCycle wollen nicht in meinen Kopf.

Hast Du einen Tipp mit welchen Werten ich erreichen kann, das von den 9 Kreisen immer nur die 4 bedürftigsten auf sind und möglichst lange auch nicht weniger wie 4 anfordern.
Ich habe nun schon so viel Kombinationen ausprobiert, und studiere jeden Abend meine SVG`s und die commandref, aber ich binn echt zu blöd die zusammenhänge so zu verstehen das ich die von mir gewollte Funktion erreiche.

Ich möchte die Laufzeit und die Takte meines Brennwertkessels optimieren. Also auch möglichst wenig Lastspitzen. Ich bekomm es einfach nicht hin.

Heute hatte ich es mal so laufen:
define FB_Heizung PWM 60 3600 400 0.85 99,99 3,3,0.25 FBH_Regler_Nebenraeume_Badarf,0,240

Hier mal die Plots:

(Bemerkung: Büro ist schlecht Isoliert, die Temp Knicke um ca 7:00 ist das morgentliche Lüften und damit verbunden eine Stündliche aktivierung der Windo funktion bei betrefenden Räumen.)
RPI3B, SIGNALduino, NanoCul868 (a-culfw), JeeLink Clone (LaCrosse), Firmata  für FB Heizung,Wasser+Gas+Klingel+Lux, Somfy Rolladen, Pollin Steckd.,TX29DTH,ESPEasy an S0 Stromz., MAX Fensterkontakte, IButton, SonOff Tasmota, ESP LED Controler

jamesgo

Zitat von: My-FHEM am 04 Januar 2016, 23:03:49
Zunächst einmal tolles Modul! :)

Ich möchte die Arbeit nicht kritisieren. sondern nur eine kleine Anregung geben.

Der Regelalgorithmus (((delta-temp * factor) ** 2) + offset) führt zu einer bleibenden
Regelabweichung. Könnte nicht ein PI-Regler (oder 20_PID.pm) stattdessen
eingebaut werden? Damit könnte die Regelabweichung weiter reduziert werden.

Da ich kein Perl beherrsche kann ich dies leider nicht selber coden.

Vielen Dank


Hallo My-FHEM,

stimmt, die aktuelle Implementierung ist ein einfacher P-Regler.
Theoretisch regelt ein PID Regler genauer. Die Frage ist nur ob das auch tatsächlich auf eine träge Fussbodenheizung zutrifft.

Das kodieren wäre nicht das Problem aber ich habe im Moment keinen Indikator dafür dass es notwendig ist.

Wenn ich das "Threshold Modul" richtig verstanden habe kennt es nur einen Schaltpunkt und kann trotzdem die Raumtemperatur zufriedenstellend regeln. Über meine (aktuell verwendete) Formel kommt man je nach Parameter auf 3-5 Schaltpunkte und ich bin mit der erreichten Ist-Genauigkeit zufrieden.

Wichtiger ist mir die verschiedenen Heizkreise zu synchronisieren (nicht alle gleichzeitig an oder aus) und so die Möglichkeit zu haben das Takten des Brenners zu beeinflussen, den Brennwert Effekt besser auszunutzen (Rücklauftemperatur niedrig) und so Energiekosten zu sparen.

Wenn du aber deine Regelgraphen hier im Forum teilst und es sich herausstellt dass eine PID Regelung tatsächlich besser regeln könnte bin ich gerne bereit das zu Implementieren.

Viele Grüße
Andy







jamesgo

Hallo Skusi,

ich habe mir meine Logfiles nochmal angeschaut und die Meldug "No I/O device found for FB" habe ich auch.
Das wird einmal beim Starten von fhem "bemängelt" da das PWM Objekt keine Variable "IODev" hat.

Ich hab mal meinen wichtigsten Graphen angehängt. Dort kann man sehen wieviele Heizkreise gerade an oder aus sind.
Bei mir basiert das auf dem logfile des Relaisboards. Das geht aber auch über die Schalter.
Der Trick ist einen Offset zu verwenden um mehrere Graphen in verschiedene Ebenen zu bekommen. Der "Alle" Graph fasst alle Werte zusammen und dividiert das Ergebnis durch 4 um weniger Platz zu brauchen.

Zu den Parametern schreib ich dann später noch was.

Grüße
Andy

My-FHEM

#116
@jamesgo

Anbei die Temp Verläufe meiner PWM Regelung mit dem PID20 Modul.

Im ersten Bild ist die PID Regelung dargestellt, Im zweiten Bild die Heizkreistemperaturen
VorLauf, RückLauf des Heikreises am Wohnungsheizkreisverteiler. Man sieht deutlich den Sprung zum
Ende der Nachtabsenkung. Diese Fussbodenheizung wird von einem Heizkessel für neun
Parteien betrieben. (privat/gewerbl.) Diese sind dann je nach Bedarf fünf primären Mischerkreisen
zugeordnet. Ein Zugriff auf diese Komponeten (Kessel, Umwälzpumpen, 4 Wege Mischer)
ist offensichtlich durch die Steuerung nicht möglich.

Im dritten Bild is die Regelung mit PWM Modul wiedergegeben.

Meine Steuerung betrachtet nur eine der Wohnungen.

Die bleibende Regelabweichung ist deutlich zu erkennen. Ich könnte mir vorstellen, das ein I-Anteil des
Reglers diese Abweichung deutlich  verbessern könnte.

Grundsätzlich wäre eine Möglichkeit einen minimalen Duchfluss der Heizkreise einzustellen
interessant, um das Auskühlen des Bodens bei Stellgröße null zu verhindern.

Die AusGabe des Reglers wird bei mir in eine Dummy Variable geschrieben. Diese
wird über Crontab 15Min Periode an die aktoren ausgegeben. Das die
Raum aktoren nicht alle zum gleichen Zeitpunkt schalten wird durch Versatz
der crontab Zyklen pro Raum gemacht.

Die PWMR Funktion ermöglicht etwas ähnliches. Ich hatte vor ca. 4 Jahren die Crontab
Variante gewählt.

Grüße


RainerS

#117
ZitatGrundsätzlich wäre eine Möglichkeit einen minimalen Duchfluss der Heizkreise einzustellen
interessant, um das Auskühlen des Bodens bei Stellgröße null zu verhindern.

Grundsätzlich sollte eine FBH immer komplett offen sein und ein hydraulischer Abgleich für die jeweilige Heizlast der einzelnen Räume gemacht werden.
Der Einsatz von Raumthermostaten ist lediglich nötig, um einen Raum gar nicht zu heizen.

Eine Wärmeabgabe an den Boden kann nur erfolgen, wenn es eine Temperaturdifferenz zwischen Heizungsrohren und Boden gibt (Wärmeleitung). Wenn also in einem Raum die Wärme nicht mehr abgegeben wird, dann wird der nächste Raum beheizt, bzw. die Rücklauftemperatur erhöht sich schneller, da keine Wärmeabgabe mehr erfolgt. Somit ist eine Regelung nicht wirklich notwendig.

Der Wärmestrom ist von delta T abhängig. Wenn delta_T = 0, dann kein Wärmestrom.

jamesgo

Hallo My-FHEM,

wenn ich deine Bilder richtig verstehe dann zeigt der Graph ro:Kz.FL deine PID Steuerung und HzSZ1 die PWM Steuerung.

PID: nähert sich Soll langsam Ist an (erreicht diese aber nicht vor der Temperaturabsenkung)
PWMR: Temperatur wir erreicht dann überschritten und regelt sich dann auf eine Temperatur ein

Meine erste Schlußfolgerung wäre, dass der faktor für PWM zu hoch ist da die Solltemperatur überschritten wird.

Was mich aber stört ist, dass die Vorlauftemperatur ansteigt. Wie sollte das PWMR Modul diesen Anstieg berücksichtigen?

Die PID Regelung verstehe ich ebenfalls nicht.


  • um 1:00 wird die Temperatur abgesenkt - was zu einem Anstieg der Ventilöffnung führt. (?)
  • kurz nach 5:00 steigt die Solltemperatur und die Ventilöffnung regelt zurück. (?)

Meiner Meinung nach steigt die Ist-Temperatur nur duch den Anstieg der Vorlauftempertur und nicht aufgrund der Regelung duch die PID Steuerung.

Wie ist der Zusammenhang zwischen Ventilöffnung (0-100) in Öffnung Stellantrieb gelöst?

Grüße
Andy

My-FHEM

#119
Hallo Andy,

es ist genau anders herum. ro.Kz ist PWMR. Die Blaue Kurve ist energyusedp des PMWR Moduls. Hier sieht man deutlich,
das Regelabweichung max ca. 0,5° beträgt.  Der Temp Anstieg entsteht dann im wesentlichen durc den Vorlauf Boost.

Die oberen beiden Charts HzSz sind PID20.

Wie beschrieben ist die Fussbodenheizung in einem Mehr Parteien Haus installiert.

Die Kessel und VorlaufSteuerung ist daher nicht zu beeinflussen.

Die VorlaufTemp wird durch eine zentrale Steuerung der Heizungsanlage in Abhängigkeit der
Aussentemp geregelt. Hier gibt es eine Nachtabsenkung, welche mit dem 1 Std. Temp Boost bendet
wird. Die Vorlauf Temp ist in der Wohnung nicht zu steuern.

Die Stellgröße ist in sec offen aufgetragen. Die Zykluszeit beträgt 12 min (720 sec). Dh. 5 Zyklen pro std.
Bei PID ist zunächst Ist 0,2° über Soll die Offen zeit geht von 150 sec auf 120 sec zurück. (120 sec minimum um auf/zu des Stellantriebs
zu kompensieren).
Dann Ist = Soll Offen steigt auf 230 sec  und dann auf über 300 sec. Danach durch  Wärmemengenboost
geht die offen Zeit bis auf 120 sec (zu) zurück. Die eingebrachte Wärmemenge reichte bis ca. 12h um die Temp
über soll zu halten. Der Stellantrieb ist solange zu. AB 12 Uhr gibt es wieder Heizbedarf und der Regler macht wieder auf.

Die Regelabweichung nach unten ist sehr klein ca. 0.1° (Die Messgenauigkeit ist auch nicht größer.) Nach oben ca.0.3°
bedingt durch die quasi Störgröße "erhöhte VL" um 7 uhr.

@R2D2_ In einem Einfamilienhaus kann ich das noch nachvollziehen. Der hydraulische
Abgleich ist i.o. Da aber dem einem Bewohner eine höhere Temperatur, dem anderen eine
niederige Temperatur lieber ist gibt es kein Optimum für einen Mischerkreis an dem mehrere Wohnungen hängen.
Der Heizungsservicetechniker stellt lieber eine zu hohe LieferWärmemenge (dh. VL Temp) ein.
Die Modulation der Wärmemenge pro Raum ist hier die einzige Lösung. Die Gesamt Wärmemenge durch
das Wohnungsstellventil einzustellen hilft auch nicht, da Nord- Südseite, Sonneneinstahlung, Schlafzimmer kühler als Wohnzimmer,
suboptimale Heizkreisaufteilung in der Wohnung, gegen die Regelung der Wärmemenge über die VL Temp sprechen.

Ich hoffe ich konnte die Situation etwas klarer beschreiben. Ich bin der Auffassung, das die Integration eines PID Algos. in das tolle
PWM Modul das ganze optimieren könnte.

Grüsse