Fussbodenheizung mit PWM steuern

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

Vorheriges Thema - Nächstes Thema

sash.sc

Ja, habe ich.......

Gruß Sascha

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

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

gadget

Hallo,

Meine "minPulse" Erweiterung (*) setzt zwar inzwischen bei mir brav das PID_PWMPulse beim PWMR auf den eingestellten Mindestwert, aber das PWM scheint das irgendwie bei der Berechnung der Ein/Ausschaltvorgänge des Aktors nicht zu berücksichtigen. Bin grad etwas ratlos. Mag sich das vielleicht mal jemand anschauen, der sich schon etwas tiefer in die Eingeweide der Implemetierung vorgearbeitet hat ?

Grüße, gadget

(*) https://forum.fhem.de/index.php/topic,41399.msg780157.html#msg780157

wowogiengen

Zitat von: schnibi am 18 März 2018, 11:35:14
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


Hallo, bei mir ist es auch so, dass die Ventile teilweise im Minutentakt auf und zu schalten. Aber wohl nur, wenn die Isttemperatur fast gleich der Solltemperatur ist...

Aber wo ich da drehen muss, weiß ich auch nicht :(

sash.sc

Bei mir geht es. Siehe Diagramm.

Gruß Sascha (https://uploads.tapatalk-cdn.com/20180318/12b08ba733890da9c1af95df3532f331.jpg)

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

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

gadget

Zitat von: wowogiengen am 18 März 2018, 15:25:23
Hallo, bei mir ist es auch so, dass die Ventile teilweise im Minutentakt auf und zu schalten. Aber wohl nur, wenn die Isttemperatur fast gleich der Solltemperatur ist...

Aber wo ich da drehen muss, weiß ich auch nicht :(

Eigentlich macht die Impulsbreitensteuerung ja genau das, was sie tun soll.

Ich würde mal beobachten, wie lange Deine Ventilköpfe brauchen um von "voll zu" auf "voll auf" zu regeln und dann würde ich die p_minOnOfftime auf die doppelte Zeit einstellen.

Grüße,

gadget.


Grüße, gadget.

JoeALLb

Grüß Euch,

ich hänge mich hie rmal mit einem Wunsch an:
für mich wäre es viel praktischer, wenn man die PID-Werte über Attribute eingeben und ändern kann.

Dafür 2 Gründe:
1. Übersichtlicher, denn hier dden Überblick über die ganzen : zu behalten, ist nicht immer ganz einfach
2. Änderbarkeit. Im Sommerbetrieb, in dem ich NUR die Fußbodentemperatur leicht warm halten möchte, um barfus zu gehen, benötige ich andere Werte als
im Wintermodus. Daher würde ich die zum Jahreszeitenwechsel gerne ändern. Mit Attributen ginge das Problemlos und automatisiert....

sG Joe
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

jamesgo

Hallo Joe,

dann würden auch die Zeitprogramme weg fallen - warum verwendest du nicht einfach einen PID Regler anstatt PWM/PWMR.

Ein PID Wert von z.B. 30 würde die Aktoren permanent bedienen - durch die PID statt P-Regelung wurde versucht genau das zu verhindern.
Was du brauchst ist m.E. eher ein "disable" für PWM im Sommer und dann "morgens und abends" die Ventile für n Minuten öffnen um den Boden zu temperieren.

Irgendwie habe ich den Eindruck, dass keiner die P oder I Parameter anpassen möchte.

Grüße
Andy

Morgennebel

Zitat von: jamesgo am 20 März 2018, 07:15:13
Irgendwie habe ich den Eindruck, dass keiner die P oder I Parameter anpassen möchte.

Hat denn die außer Dir noch jemand verstanden...?

Ciao, -MN
Einziger Spender an FHEM e.V. mit Dauerauftrag seit >= 24 Monaten

FHEM: MacMini/ESXi, 2-3 FHEM Instanzen produktiv
In-Use: STELLMOTOR, VALVES, PWM-PWMR, Xiaomi, Allergy, Proplanta, UWZ, MQTT,  Homematic, Luftsensor.info, ESP8266, ESERA

sledge


Zitat von: Morgennebel am 20 März 2018, 09:33:42
Hat denn die außer Dir noch jemand verstanden...?

Ciao, -MN
Mit der Erklärung hier https://www.atwillys.de/content/explained/pid-controller/ habe ich mich damals rangetastet.


So kompliziert ist es dann auch nicht. Und wenn man sich schon an seine Heizungssteuerung ranmacht, sollte man das mit den Reglern IMHO auch verstehen.


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

Hallo zusammen.

Brauche mal einen Denkanstoß für das PWMR.
Ich möchte die Regelung, jetzt wo es wärmer wird, ausser Kraft mittels des Fensterkontaktes, setzen.

Reicht einfach die Angabe

FK_Bad

Oder muss noch was anderes rein bzw. wie wird das zusammen gesetzt ?

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

jamesgo

#625
Hallo Sascha,
beim Kopieren deines Codes ist wohl ein bisschen verloren gegangen.

Was hast du gegen "set roomWohnen frostProtect on" oder "attr roomWohnen frostProtect 1"? (tempFrostProtect steht normalerweise auf 6 Grad was dazu führt dass  nicht mehr geheizt wird). Der Status steht dann auf "frostProtect". Die Reaktionszeit ist 5 Minuten.


Um das mit einem Fensterkontakt zu regeln brauchst du eine dummy (z.b WohnenSommerBetrieb) mit einer setList von "on|off" und dann beim Raum (PWMR) nach dem aktor gibst du an "WohnenSommerBetrieb:.*on.*". Der Status steht dann auf "Calculating". Die Reaktionszeit ist "sofort".

Um alles auszuschalten beim PWM das attribut "disable" auf "1" setzen.

Grüße
Andy

sash.sc

Hallo Jamesgo.

danke für deine Antwort. Ich habe den Dummy angelegt und die Definition im PWMR  geändert.
Scheint zu funktionieren.

Hier mal die Definitionen.


ACTOR      EG_HZ_CH1
   DEF        PWM_Bad 1,0 ts_bad_eg:temperature EG_HZ_CH1 FK_Bad 1:0.8:0.3,15:0.5,10
   INTERVAL   300
   IODev      PWM_Bad
   NAME       PWMR_Bad
   NR         464
   STATE      Calculating
   TEMPSENSOR ts_bad_eg:temperature
   TYPE       PWMR
   WINDOW     FK_Bad
   a_regexp_on on
   actor      EG_HZ_CH1
   c_PID_DFactor 0.5
   c_PID_DLookBackCnt 10
   c_PID_IFactor 0.3
   c_PID_ILookBackCnt 15
   c_PID_PFactor 0.8
   c_PID_useit 1
   c_autoCalcTemp 1
   c_desiredTempFrom
   c_frostProtect 0
   c_tempC    23
   c_tempD    21.7
   c_tempE    19
   c_tempFrostProtect 10
   c_tempN    20.7
   c_tempRule1 1-5 0400,D 2115,N
   c_tempRule2 6-0 0600,D 2115,N
   c_tempRule3
   c_tempRule4
   c_tempRule5
   h_deltaTemp 0.2
   h_deltaTemp_D 0.2
   p_actor    EG_HZ_CH1
   p_factor   1,0
   p_pid      1:0.8:0.3,15:0.5,10
   p_tsensor  ts_bad_eg:temperature
   p_window   FK_Bad
   t_reading  temperature
   t_regexp   ([\d\.]+)
   t_sensor   ts_bad_eg
   w_regexp   .*Open.*
   windows    FK_Bad
   READINGS:
     2018-04-15 09:56:39   PID_DVal        0.00
     2018-04-15 09:56:39   PID_IVal        -0.06
     2018-04-15 09:56:39   PID_PVal        0.00
     2018-04-15 09:56:39   PID_PWMOnTime   00:00
     2018-04-15 09:56:39   PID_PWMPulse    0
     2018-04-15 09:59:10   actorState      unknown
     2018-04-15 09:59:20   desired-temp    21.7
     2018-04-15 09:56:39   desired-temp-used 21.7
     2018-04-15 09:56:39   energyused     
     2018-04-15 09:56:39   energyusedp     0.0
     2018-04-15 09:55:50   lastswitch      1523778950
     2018-04-15 09:56:39   oldpulse        0
     2018-04-15 09:59:20   state           Calculating
     2018-04-15 09:56:39   temperature     21.9
     2018-04-15 09:59:10   timer1_Mo       04:00-21:15,D,21.7
     2018-04-15 09:59:10   timer2_Di       04:00-21:15,D,21.7
     2018-04-15 09:59:10   timer3_Mi       04:00-21:15,D,21.7
     2018-04-15 09:59:10   timer4_Do       04:00-21:15,D,21.7
     2018-04-15 09:59:10   timer5_Fr       04:00-21:15,D,21.7
     2018-04-15 09:59:10   timer6_Sa       06:00-21:15,D,21.7
     2018-04-15 09:59:10   timer7_So       06:00-21:15,D,21.7
   helper:
     PID_D_previousTemps:
       21.9
     PID_I_previousTemps:
       21.9
Attributes:
   group      Bad
   room       10_Bad,20_Heizung
   tempCosy   23
   tempDay    21.7
   tempFrostProtect 10
   tempNight  20.7
   tempRule1  Mo-Fr 4:00,D 21:15,N
   tempRule2  Sa-So 6:00,D 21:15,N


Und hier der Dummy


Internals:
   NAME       FK_Bad
   NR         465
   STATE      Open
   TYPE       dummy
   READINGS:
     2018-04-14 21:13:20   state           Open
Attributes:
   group      Bad
   room       10_Bad
   webCmd     Open:Close


Wenn ich den Dummy auf Open schalte, dann scheint es zu funktionieren, dass PWMR auf FrostProtect stellt. Habe bei mir nur die Temp auf 10°C angehoben.

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

Ingo298

Hallo zusammen, ich benutze seit Januar dieses Modul zum steuern
meiner FBH die an einer Erdwärmepumpe angeschlossen ist und bisher
auch super funktioniert.
Im Sommer benutze ich die FBH zum kühlen unserer Räume.
Wie kann ich nun Realisieren das die Steuerung im Sommer deaktiviert wird
und die Aktoren über ein doif anhand der Vorlauftemperatur geschaltet werden?

Bin für jeden Tip offen.

Mit freundlichen Grüßen Ingo
RPi4 8GB: Buster FHEM 6.3, FTUI-3, AMAD,10.1" Tablet; MiLight;IT;HM;Dect200;VZLogger;MQTT

Morgennebel

at oder DOIF in Abhängigkeit von Deinen Ideen.

PWMR disablen und Aktoren selbst ansteuern...

Ciao, -MN
Einziger Spender an FHEM e.V. mit Dauerauftrag seit >= 24 Monaten

FHEM: MacMini/ESXi, 2-3 FHEM Instanzen produktiv
In-Use: STELLMOTOR, VALVES, PWM-PWMR, Xiaomi, Allergy, Proplanta, UWZ, MQTT,  Homematic, Luftsensor.info, ESP8266, ESERA

Ingo298

ZitatPWMR disablen

Wie kann ich alle mit einmal disablen (8 Stck)
ohne attr bei jeden einzel zu setzten?
RPi4 8GB: Buster FHEM 6.3, FTUI-3, AMAD,10.1" Tablet; MiLight;IT;HM;Dect200;VZLogger;MQTT