Fussbodenheizung mit PWM steuern

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

Vorheriges Thema - Nächstes Thema

gadget

Hallo,

Nach 2 Wochen Steuerung meiner Fussbodenheizung mit PWM stehe ich jetzt vor folgendem Problem: Ich habe zwei Räume mit großen Fenstern, bei denen sich die Raumtemperatur auch im Winter bei Sonneneinstrahlung signifikant nach oben ändert. Die Regelung schaltet dann natürlich folgerichtig die Heizkreise ab. Wenn die Sonne dann weg ist fällt die Temperatur schlagartig ab, die Heizkreise werden wieder eingeschaltet, aber der Boden ist dann schon ausgekühlt und es dauert 4 Stunden bis die Temperatur wieder ansteigt. Der WAF ist gerade nicht so wirklich gut. Was helfen könnte wäre eine einstellbare untere Mindestpuls-Schranke für einen Raum, damit trotzdem ein wenig weiter geheizt wird auch wenn durch die Sonneneinstrahlung eigentlich aktuell kein Bedarf ist. Oder kann ich dieses Verhalten anderweitig einstellen ? Ich brauche das nur für zwei Räume, bei anderen Räumen (WC, Flur usw.) ohne Sonneneinstrahlung ist das nicht relevant.

Grüße,

gadget

JoeALLb

Ich schalte in solchen Zeiten auf den Temperatursensor im Estrich um, dann kühlt der Boden nicht richtig aus und ist nachher nach 35 Minuten wieder warm. Zusätzlich erhöhen ich dir Raumtemperatur 10 Minuten vor dem  Sonnenuntergang um 1 Grad, damit sich der Heizung schon rechtzeitig Vorwärmt. Klappt eigentlich ganz gut!
FHEM-Server auf IntelAtom+Debian (8.1 Watt), KNX,
RasPi-2 Sonos-FHEM per FHEM2FHEM,RasPi-3 Versuchs-RasPi für WLAN-Tests
Gateways: DuoFern Stick, CUL866 PCA301, CUL HM, HMLan, JeeLink, LaCrosse,VCO2
Synology. Ardurino UNO für 1-Wire Tests, FB7270

sash.sc

Zitat von: wowogiengen am 18 Januar 2018, 18:55:30
Hallo Andy,
danke für die ausführliche Antwort,
langsam blicke ich immer mehr durch.
Ich habe leider noch nicht immer alle Messwerte und Parameter so in den Logdateien, wie "wir" es gerne haben möchten...
Die RoomsOn z.B. fehlen mir, das liegt aber wohl daran, dass die Logdevices die RegExp dafür nicht intus haben?
Das mit den Plots habe ich früher auch schon so gemacht, aber damit kann sehe ich im Detail ja nur, welcher Raum wann an und wann aus war, die Summe aller Räume wäre ja dann RoomsOn, was ich momentan nicht habe :(

Mich irritiert bei meinem Vorlaufplot die Sache, dass zu manchen Zeiten es so aussieht, als ob die Gastherme so wenig Wärme nachliefert, dass die Vorlauftemperatur nur sehr langsam steigt...

Dann gibt es aber wieder Zeiten, in denen im gleichen Zeitraum (sagen wir 1h) die Vorlauftemperatur etliche Male zwischen einem Min- und Maxwert hin und her pendelt, so als ob die Therme merken würde, jemand braucht Energie, die Energie wird erzeugt, aber bevor sie dann von der Therme weg kann, wird bereits wieder abgeschalten.
Schau dir mal dazu das Bild an.
Auf dem Bild sind von unten nach oben Bad, Büro, Schlafen und Wohnen abgebildet, also der Prozentwert des jeweiligen Heizungsaktors. Im Büro sieht man noch die Vorlauftemperatur (der ganzen Heizung) mitgeplottet.

So gegen 8 und 15 Uhr würde ich sagen, passt alles, aber die anderen Zeiten, da schwankt mir die Vorlauftemperatur sehr arg...

Ich dachte zuerst, vielleicht liegt es daran, dass nur 1 Raum Wärme braucht, aber da sind ja auch Zeiten dabei, wo mehrere Räume auf an sind (zumindest pulst da der entsprechende Aktor).

Wenn es notwendig sein sollte, dann zeichne ich nochmal die Vorlauftemperatur und den RoomsOn-Wert vom PWM-Modul mit auf...
Viele Grüße
Wolfgang
Hallo Wolfgang.

Wie hast du die Darstellung mehrerer Aktoren im Diagramm von bekommen?

Habe damit ein Problem!

Siehe

https://forum.fhem.de/index.php?topic=85276.0


Gruß Sascha

Gesendet von meinem...... was auch immer

Raspi 4B+ Bullseye ;LaCrosse; HomeMatic; MapleCUL; ZigBee; Signalduino ESP32 ; Shellys; MQTT2; Grafana mit Influxdb

wowogiengen

Zitat von: sash.sc am 05 März 2018, 12:01:59
Hallo Wolfgang.

Wie hast du die Darstellung mehrerer Aktoren im Diagramm von bekommen?

Habe damit ein Problem!

Siehe

https://forum.fhem.de/index.php?topic=85276.0


Gruß Sascha

Gesendet von meinem...... was auch immer

Hallo Sascha,
zum einen hab ich keine vollflächigen Plot gezeichnet,
zum anderen verwende ich, wenn es geht, keine textuellen Werte als Eingabe für den Plot. Vlt. kannst du bei dir auch mit dem "pct"-Wert des Aktors arbeiten? der hat von 0 bis 100 %, das kann man dann auch gut als Plot darstellen...

Ich habe aber auch das Problem, wenn sich ein Messwert im Darstellungszeitraum nicht physikalisch ändert, dass dann auch nicht der letzte vor oder der erste nach dem Darstellungszeitraum genommen und weitergezeichnet wird.
Viele Grüße
Wolfgang

sledge

@wowogiengen:

Das Problem des Plot-Abriss umgehe ich dadurch, dass ich alle 30 Minuten (halte ich von der Datenmenge für vernachlässigbar) via

define fillplot_PWMR.at +*00:30 set dblog addLog TYPE=PWMR:desired-temp

Zwischenpunkte setze. Geht sicherlich auch eleganter, ist aber eine einfache Lösung, die bei mir funktioniert. Und wenn sich der Zustand ohnehin nicht über den gesamten Darstellungszeitraum ändert, sind 30 Minuten als zeitliche Auflösung mehr als hinreichend.

Gruß,
Tom
FHEM: debian Intel-NUC / 25 x MAX!, 15 x HM-bidcos, MQTT, 3 x 1wire, 20 x Shelly, 20 x Tasmota, 12 x Yeelight, Opentherm-GW, Espeasy, alexa-fhem, kodi, unifi, musiccast, ...

sash.sc

Sollte das auch nicht mit Event - min-intervall gehen?

Gesendet von meinem...... was auch immer

Raspi 4B+ Bullseye ;LaCrosse; HomeMatic; MapleCUL; ZigBee; Signalduino ESP32 ; Shellys; MQTT2; Grafana mit Influxdb

JoeALLb

Zitat von: sash.sc am 10 März 2018, 09:45:46
Sollte das auch nicht mit Event - min-intervall gehen?

Nicht zu genau definierten Uhrzeiten, zB um 00:00. Dafür wurde das addlog extra gemacht.
FHEM-Server auf IntelAtom+Debian (8.1 Watt), KNX,
RasPi-2 Sonos-FHEM per FHEM2FHEM,RasPi-3 Versuchs-RasPi für WLAN-Tests
Gateways: DuoFern Stick, CUL866 PCA301, CUL HM, HMLan, JeeLink, LaCrosse,VCO2
Synology. Ardurino UNO für 1-Wire Tests, FB7270

wowogiengen

Hört sich gut an...
Gibts das auch für FileLog?
VG Wolfgang

sledge

FHEM: debian Intel-NUC / 25 x MAX!, 15 x HM-bidcos, MQTT, 3 x 1wire, 20 x Shelly, 20 x Tasmota, 12 x Yeelight, Opentherm-GW, Espeasy, alexa-fhem, kodi, unifi, musiccast, ...

sash.sc

Zitat von: JoeALLb am 10 März 2018, 10:04:23
Nicht zu genau definierten Uhrzeiten, zB um 00:00. Dafür wurde das addlog extra gemacht.

Ich weiss. Bei mir läuft es aber nicht, da ich das dewpoint modul mit allen Temp.sensoren am laufen habe !  ;)

Gruß
Sascha
Raspi 4B+ Bullseye ;LaCrosse; HomeMatic; MapleCUL; ZigBee; Signalduino ESP32 ; Shellys; MQTT2; Grafana mit Influxdb

gadget

Hallo,

Ich habe mir auf einer fhem-Testinstallation eine in sich abgeschlossene Demoumgebung gebaut (2 Räume, alle Eingangswerte über Dummys). Kann vielleicht mal jemand brauchen der sich das Modul erst mal ohne Sensoren und Aktoren ansehen will.


für die fhem.cfg

define d_FBH_Pumpe dummy
attr d_FBH_Pumpe alias Umwälzpumpe
attr d_FBH_Pumpe devStateIcon on:sani_pump:off off:sani_pump:on
attr d_FBH_Pumpe room PWR
attr d_FBH_Pumpe webCmd :
define fbh PWM 60 900 180 1 1,1 2,0,0.2 d_FBH_Pumpe
attr fbh event-on-change-reading roomsOn,pulseSum
attr fbh group Einzelraumregelung
attr fbh room PWR
attr fbh stateFormat roomsOn Raum an, roomsOff Raum aus
attr fbh valveProtectIdlePeriod 14
define d_HK1_solltemp dummy
attr d_HK1_solltemp alias HK1 Soll-Temperatur
attr d_HK1_solltemp readingList desiredTemperature
attr d_HK1_solltemp room PWR
attr d_HK1_solltemp setList desiredTemperature:21,21.5,22,22.5,23,23.5
attr d_HK1_solltemp stateFormat desiredTemperature
attr d_HK1_solltemp webCmd desiredTemperature
define d_HK1_isttemp dummy
attr d_HK1_isttemp alias HK1 Ist-Temperatur
attr d_HK1_isttemp readingList temperature
attr d_HK1_isttemp room PWR
attr d_HK1_isttemp setList temperature:21,21.5,22,22.5,23,23.5
attr d_HK1_isttemp stateFormat temperature
attr d_HK1_isttemp webCmd temperature
define d_FBH_HK1_aktor dummy
attr d_FBH_HK1_aktor alias HK1 Aktor
attr d_FBH_HK1_aktor devStateIcon on:rc_GREEN:off off:rc_RED:on
attr d_FBH_HK1_aktor room PWR
attr d_FBH_HK1_aktor webCmd :
define PWMR_HK1 PWMR fbh 1,0.11 d_HK1_isttemp:temperature d_FBH_HK1_aktor dummy 2:0.8:0.01:0
attr PWMR_HK1 alias HK1 Test
attr PWMR_HK1 autoCalcTemp 1
attr PWMR_HK1 desiredTempFrom d_HK1_solltemp:desiredTemperature
attr PWMR_HK1 event-min-interval desired-temp-used:300,temperature:300,PID_PWMPulse:300
attr PWMR_HK1 event-on-change-reading desired-temp-used,temperature,PID_PWMPulse
attr PWMR_HK1 group Einzelraumregelung
attr PWMR_HK1 room PWR
attr PWMR_HK1 stateFormat P: PID_PVal I: PID_IVal D: PID_DVal Pulse: PID_PWMPulse  Ist: temperature °C Soll: desired-temp-used °C
attr PWMR_HK1 tempCosy 22.7
attr PWMR_HK1 tempDay 22
attr PWMR_HK1 tempEnergy 17
attr PWMR_HK1 tempFrostProtect 12
attr PWMR_HK1 tempNight 21.5
attr PWMR_HK1 tempRule1 Mo    5:30,D 11:00,C 23:00,N
attr PWMR_HK1 tempRule2 Di-Do 5:30,D 14:00,C 23:00,N
attr PWMR_HK1 tempRule3 Fr-So 5:30,D 11:00,C 23:30,N
attr PWMR_HK1 webCmd desired-temp
define FL_PWMR_HK1 FileLog ./log/PWMR_HK1-%Y-%W.log PWMR_HK1
attr FL_PWMR_HK1 room Plots
define SVG_FL_PWMR_HK1_1 SVG FL_PWMR_HK1:SVG_FL_PWMR_HK1_1:CURRENT
attr SVG_FL_PWMR_HK1_1 alias Temperatur HK1
attr SVG_FL_PWMR_HK1_1 group Temperatur
attr SVG_FL_PWMR_HK1_1 label "Temperatur HK1 Min ".sprintf("%.1f",$data{min1}) ."° , Max ".sprintf("%.1f",$data{max1}) ."° , Last ".sprintf("%.1f",$data{currval1}) ."° Soll ".sprintf("%.1f",$data{currval2})."°"
attr SVG_FL_PWMR_HK1_1 room PWR
attr SVG_FL_PWMR_HK1_1 sortby 61
define FL_PWM FileLog ./log/PWM-%Y-%W.log fbh
attr FL_PWM room Plots
define d_HK2_solltemp dummy
attr d_HK2_solltemp alias HK2 Soll-Temperatur
attr d_HK2_solltemp readingList desiredTemperature
attr d_HK2_solltemp room PWR
attr d_HK2_solltemp setList desiredTemperature:21,21.5,22,22.5,23,23.5
attr d_HK2_solltemp stateFormat desiredTemperature
attr d_HK2_solltemp webCmd desiredTemperature
define d_HK2_isttemp dummy
attr d_HK2_isttemp alias HK2 Ist-Temperatur
attr d_HK2_isttemp readingList temperature
attr d_HK2_isttemp room PWR
attr d_HK2_isttemp setList temperature:21,21.5,22,22.5,23,23.5
attr d_HK2_isttemp stateFormat temperature
attr d_HK2_isttemp webCmd temperature
define d_FBH_HK2_aktor dummy
attr d_FBH_HK2_aktor alias HK2 Aktor
attr d_FBH_HK2_aktor devStateIcon on:rc_GREEN:off off:rc_RED:on
attr d_FBH_HK2_aktor room PWR
attr d_FBH_HK2_aktor webCmd :
define PWMR_HK2 PWMR fbh 1,0.11 d_HK2_isttemp:temperature d_FBH_HK2_aktor dummy 2:0.8:0.01:0
attr PWMR_HK2 alias HK2 Test
attr PWMR_HK2 autoCalcTemp 1
attr PWMR_HK2 desiredTempFrom d_HK2_solltemp:desiredTemperature
attr PWMR_HK2 event-min-interval desired-temp-used:300,temperature:300,PID_PWMPulse:300
attr PWMR_HK2 event-on-change-reading desired-temp-used,temperature,PID_PWMPulse
attr PWMR_HK2 group Einzelraumregelung
attr PWMR_HK2 room PWR
attr PWMR_HK2 stateFormat P: PID_PVal I: PID_IVal D: PID_DVal Pulse: PID_PWMPulse  Ist: temperature °C Soll: desired-temp-used °C
attr PWMR_HK2 tempCosy 22.7
attr PWMR_HK2 tempDay 22
attr PWMR_HK2 tempEnergy 17
attr PWMR_HK2 tempFrostProtect 12
attr PWMR_HK2 tempNight 21.5
attr PWMR_HK2 tempRule1 Mo    5:30,D 11:00,C 23:00,N
attr PWMR_HK2 tempRule2 Di-Do 5:30,D 14:00,C 23:00,N
attr PWMR_HK2 tempRule3 Fr-So 5:30,D 11:00,C 23:30,N
attr PWMR_HK2 webCmd desired-temp
define FL_PWMR_HK2 FileLog ./log/PWMR_HK2-%Y-%W.log PWMR_HK2
attr FL_PWMR_HK2 room Plots
define SVG_FL_PWMR_HK2_1 SVG FL_PWMR_HK2:SVG_FL_PWMR_HK2_1:CURRENT
attr SVG_FL_PWMR_HK2_1 alias Temperatur HK2
attr SVG_FL_PWMR_HK2_1 group Temperatur
attr SVG_FL_PWMR_HK2_1 label "Temperatur HK2 Min ".sprintf("%.1f",$data{min1}) ."° , Max ".sprintf("%.1f",$data{max1}) ."° , Last ".sprintf("%.1f",$data{currval1}) ."° Soll ".sprintf("%.1f",$data{currval2})."°"
attr SVG_FL_PWMR_HK2_1 room PWR
attr SVG_FL_PWMR_HK2_1 sortby 62


fhem/www/gplotSVG_FL_PWMR_HK1_1.gplot :


# Created by FHEM/98_SVG.pm, 2018-03-11 12:27:54
set terminal png transparent size <SIZE> crop
set output '<OUT>.png'
set xdata time
set timefmt "%Y-%m-%d_%H:%M:%S"
set xlabel " "
set title '<L1>'
set ytics
set y2tics
set grid ytics y2tics
set ylabel "%"
set y2label "Temperature"
#FL_PWMR_HK1 4:PWMR_HK1.temperature\x3a::
#FL_PWMR_HK1 4:PWMR_HK1.desired-temp-used\x3a::
#FL_PWMR_HK1 4:PWMR_HK1.PID_PWMPulse\x3a::
plot "<IN>" using 1:2 axes x1y2 title 'Ist-Temp' ls l0 lw 1 with lines,\
     "<IN>" using 1:2 axes x1y2 title 'Soll-Temp' ls l1 lw 1 with lines,\
     "<IN>" using 1:2 axes x1y1 title 'Pulse' ls l0fill_gyr lw 0.2 with lines


/opt/fhem/www/gplotSVG_FL_PWMR_HK2_1.gplot :


# Created by FHEM/98_SVG.pm, 2018-03-11 17:44:10
set terminal png transparent size <SIZE> crop
set output '<OUT>.png'
set xdata time
set timefmt "%Y-%m-%d_%H:%M:%S"
set xlabel " "
set title '<L1>'
set ytics
set y2tics
set grid ytics y2tics
set ylabel "%"
set y2label "Temperature"
#FL_PWMR_HK2 4:PWMR_HK2.temperature\x3a::
#FL_PWMR_HK2 4:PWMR_HK2.desired-temp-used\x3a::
#FL_PWMR_HK2 4:PWMR_HK2.PID_PWMPulse\x3a::
plot "<IN>" using 1:2 axes x1y2 title 'Ist-Temp' ls l0 lw 1 with lines,\
     "<IN>" using 1:2 axes x1y2 title 'Soll-Temp' ls l1 lw 1 with lines,\
     "<IN>" using 1:2 axes x1y1 title 'Pulse' ls l0fill_gyr lw 0.2 with lines



gadget

Hallo,

für mein Problem mit dem auskühlenden Fussboden habe ich jetzt einmal versucht, ein attr minPulse zu integrieren. Damit lässt sich für einen Raum ein minimaler Pulse setzen. Patch bzw. 93_PWMR.pm anbei. Mein perl ist sehr eingerostet, ich hoffe das ist nicht allzu schlimm geraten.

Grüße, gagdet

schnibi

Hallo zusammen,

ich habe die Steuerung meiner Fußbodenheizung mit PWM umgesetzt und bin an für sich ganz zufrieden mit der Funktionsweise. Ein Problem habe ich jedoch noch mit folgendem Verhalten:

Die Ventile werden häufig zugefahren, um unmittelbar wieder aufzufahren. Die Ventile "stottern" obwohl die Soll-Temperatur nicht erreicht ist (s. Bilder).

Womit kann ich das Verhindern und dafür sorgen, dass die Ventile länger aufbleiben?

Hier mein define von PWM:

define PWM.FussbodenHeizung PWM 60 900 180 1 1,1 0,0,0



sash.sc

Hatte auch die Probleme gehabt. Du wirst wohl mit dem pid Regler arbeiten müssen. Danach hat es auch bis jetzt sehr gut funktioniert.

Gruß Sascha

Gesendet von meinem...... was auch immer

Raspi 4B+ Bullseye ;LaCrosse; HomeMatic; MapleCUL; ZigBee; Signalduino ESP32 ; Shellys; MQTT2; Grafana mit Influxdb

schnibi

Zitat von: sash.sc am 18 März 2018, 12:04:57
Hatte auch die Probleme gehabt. Du wirst wohl mit dem pid Regler arbeiten müssen. Danach hat es auch bis jetzt sehr gut funktioniert.

Gruß Sascha

Gesendet von meinem...... was auch immer

Hast du das so umgesetzt wie Wolfgang in #577 beschrieben hat? Dann werde ich das mal versuchen, vielen Dank  ;)