Heizungsregelung, PID sehr träge, regelt schlecht

Begonnen von Stefan 69, 07 Februar 2013, 10:42:57

Vorheriges Thema - Nächstes Thema

Stefan 69

Hallo,

ich nutze seit einiger Zeit die Heizungsregelung mit S300TH, FHT8V, PID und HC-Modul. Das ganze läuft auf einer 7390 mit CUL und für HM der HMLAN-Adapter. Update von fhem habe ich vor 3 Wochen gemacht.

Die Zeitabhängige Regelung funktioniert ohne Probleme. Was mich jedoch sehr stört ist das Verhalten der Temp-Regelung (auch ohne zeitliche Steuerung durch HC).

Die eingestellte Temperatur wird immer stark überschritten und pegelt sich nur langsam auf den entsprechenden Wert ein. Ist dieser dann erreicht (durch Abkühlung des Raumes) wird die Temperatur dann ordnungsgemäß gehalten und geregelt.

zB 21 Grad:
-Ausgangswert 19 Grad, Stellantriebe 100%
-Temp steigt bis zu 20,5 dann Stellantriebe ca. 60%

Dannach nehmen die Prozente sehr langsam ab, so dass bei 21,8 noch über 40% offen ist.
Bis zu 0% steigt die Temp teilweise auf über 23 Grad (Solltemp 21!).
Wenn sich der Raum dann wieder abkühlt funktioniert die Regelung dann wieder und es "pendelt" zwischen 20,8 und 21,2 Grad.

Gelegentlich erfolgt sogar nach dem überschreiten der eingestellten Soll-Temp auch gar keine Regelung und die Stellantriebe bleiben auf irgend einer Prozentzahl geöffnet.
Selbst ein manuelles Eingreifen durch die Änderung der Temp am Dummy oder die Eingabe eines Wertes beim FHT8V bringt nix.

Erst ein shutdown restart bring die Heizungsregelung wieder zum laufen, bzw. habe festgestellt wenn ich einfach über die Weboberfläche die fhem.cfg
öffne und dann auf save gehe, ohne etwas in ihr zu verändern, läuft auch wieder alles. Brauche dann also keinen Neustart.

Dachte erst, dass sich evtl. des CUL aufhängt, aber andere FS20 Komponenten lassen sich problemlos ansteuern. Auch alles mit HM läuft ohne Probleme weiter.

Hoffe, ich konnte das Problem einigermaßen verständlich schildern.

Fände es super, wenn mir hier wieder jemand weiterhelfen könnte.

Danke, Gruß Stefan

Ach so, was mir noch auffällt:
Die Werte vom S300TH kommen nicht immer alle 3 Min. manchmal dauert es bis zu 20 Min. bis wieder ein neuer Wert im Log auf taucht.
Habe vom s§==Th 2 Stück, bei beiden konnte ich dies schon beobachten. Habe auch mal die beiden für die Heizungsregelung getauscht, der fehler mir der Regelung bleibt jedoch. Sollte somit nicht am S300 liegen.

Bernhard

Hallo,

dein Problem liegt am S300TH. Schau mal, dass der Empfang besser wird - an anderer Stelle schon diskutiert.

PID rechnet/regelt offensichtlich immer dann, wenn ein neuer Wert kommt.

Ich hatte den PID mit den Werten einer FHT versorgt und hatte also (logischerweise) ein ähnliches Problem. Habe dann Werte zeitgetriggert (at) an PID übergeben, war schon viel besser.
Derzeit verwende ich ein S300IA direkt an PID gekoppelt und sehe eine recht gute Führung.

Gruß

Stefan 69

Danke für die Info

Muss aber trotz dem noch mal "nachbohren" sorry!

dein Problem liegt am S300TH. Schau mal, dass der Empfang besser wird

Dann verstehe ich aber nicht, warum meist bei beiden S300HT zur annähernd gleichen zeit die Werte weg bleiben.
Schaue gerade ins Log (ist schon wieder alles stehen geblieben) und sehe, dass bei einem um 13.43 und beim anderen 13:44 der letzte Wert registriert wurde (jetzt 14:00).
Zumindest sollte ein CUL-WS genau sein. Dieser steht im gleichen Raum wie die 7390 mit dem CUL.

Hab eben manuall valv 0 eingegeben. Stand auch kurz da, dann ging der Stellantrieb auf 84%. Gut, kann an dem fehlenden Temp-Wert liegen, jedoch war der letzte übermittelte bereits über dem Sollwert. Bis dahin sehe ich im Log auch keine Aussetzer von übertragenen Werten des S300TH.


- an anderer Stelle schon diskutiert

Hatte ja im Vorfeld gesucht, aber nix wirklich passendes gefunden.
Nach was sollte ich denn suchen, oder hat jemand einen Link?

Danke und sorry für ein evtl. schon mal behandeltes Thema.

Stefan

Bernhard

Gut,
abe gerade nachgesehen. Meinen S300TH empfange ich auch in Intervallen von 3 .... 20+ Minuten. Der hängt aber außerhalb des Hauses an einem Alu-Fenster 2 Zimmer weiter  und um Hauseck rum.
RSSI -85.
Für diesen Sensor ists mir nicht wichtig, dass er pünktlich empfangen wird. Sind die Rolladen zu oder andere blöde Einflüsse, fallen die Telegramme auch länger aus.
Werde also mal zusätzlich einen nich rumliegenden USB-WDE1 vors Fenster hängen ;-)

Besserer Empfang: da gibts ein paar Diskussionen über Empfangseinstellungen. Meine derzeitigen, bestimmt nicht optimalen:
ccconf    freq:868.350MHz bWidth:325KHz rAmpl:42dB sens:8dB

Bernhard

Stefan 69

So, habe mir gerade noch mal verschiedene Logs an gesehen.

Dabei ist mir aufgefallen, dass es scheinbar immer zu diesem hängen bleiben der Regelung kommt, wenn die Temperatur längere Zeit nicht geregelt werden kann, weil die Vorlauftemperatur der Heizung nicht da ist. Also wenn eben keine Wärme trotz Öffnung der Antriebe kommt und es somit nicht wärmer werden kann.

Äh, klingt komisch hängt aber scheinbar damit zusammen.

Meine damit, dass die Heizung (also der Ölbrenner) nur zu bestimmten Zeiten an ist.
Die Heizung schaltet um 7:00 in der Woche aus und um 13:00 wieder ein. Die Regelung über fhem lasse ich jedoch in dieser Zeit bei 21 Grad stehen, so dass im Laufe des Vormittags die FHTs auf 100% gehen (weil ja der Raum auskühlt). Wenn die Heizung dann ab 13:00 wieder an geht, kommt auch die Wärme und es erfolgt dann die von mir beschriebene "träge" Regelung bzw. das Hängen bleiben.

Werde mal der fhem-Regelung auch eine Absenktemperatur Tags über vorgeben, mal sehen ob es dann auch so ist.

Am Wochenende oder zu Feiertagen ist das Problem noch nicht aufgetreten. Da läuft der Brenner durch und die Absenkung gibt es nur Nachts, auch für fhem.

Eigentlich sollte es doch egal sein, wie lange der zum regeln braucht. Dachte immer, das lediglich die Soll- und Isttemp verglichen wird und es egal ist wie lange er für den Ausgleich brauch.

Ist schon alles komisch :-(

Stefan

tetzlav

Zitat von: Bernhard schrieb am Do, 07 Februar 2013 14:37Besserer Empfang: da gibts ein paar Diskussionen über Empfangseinstellungen. Meine derzeitigen, bestimmt nicht optimalen:
ccconf    freq:868.350MHz bWidth:325KHz rAmpl:42dB sens:8dB

schau mal hier

Ich hab bei mir CUL_0 ccconf => freq:868.350MHz bWidth:325KHz rAmpl:42dB sens:16dB
und hab damit wesentlich besseren Empfang der CUL_WS, da geht fast kein Telegramm mehr verloren.

Stefan 69

Zitat von: tetzlav schrieb am Do, 07 Februar 2013 18:43
Zitat von: Bernhard schrieb am Do, 07 Februar 2013 14:37Besserer Empfang: da gibts ein paar Diskussionen über Empfangseinstellungen. Meine derzeitigen, bestimmt nicht optimalen:
ccconf    freq:868.350MHz bWidth:325KHz rAmpl:42dB sens:8dB

schau mal hier

Ich hab bei mir CUL_0 ccconf => freq:868.350MHz bWidth:325KHz rAmpl:42dB sens:16dB
und hab damit wesentlich besseren Empfang der CUL_WS, da geht fast kein Telegramm mehr verloren.

Danke für die Info und Link!

Hab jetzt mal auf freq:868.350  und sens:8  geändert. Zumindest seit 19:00 keinerlei Aussetzer von beiden CUL_WS.

Mal sehen ob es so bleibt :-)

Stefan




Stefan 69

Hallo,

heute nun nach der Änderung und der Einsicht der Loggs stelle ich fest, dass bis her KEINE Daten von den beiden CUL_WS verloren gegangen sind.
Das ist schon mal ein schöner Erfolg, leider auch der einzige :-(

Habe heute erneut das Problem der "Übersteuerung" der Temperatur.

Füge mal das Logfile und das vom CUL_WS bei, damit ihr es mal seht.
Orange habe ich mal das manuelle eingreifen hervor gehoben, weil da die Temp schon kurz vor der Solltemp war und immer noch 100% geöffnete Stellantriebe.

Mir nicht nachvollziebar: Stellantrieb wurde durch das Eingreifen auch auf 40% runtergeregelt, wurde dann jedoch wieder automatisch auf 100% eingestellt.

2013.02.08 11:51:35 3: Heizung_WZ geaendert auf: 21.5
2013.02.08 11:54:26 3: FHT8V set stellantriebeWZ valve 60
2013.02.08 11:57:22 3: FHT8V set stellantriebeWZ valve 65
2013.02.08 12:00:19 3: FHT8V set stellantriebeWZ valve 71
2013.02.08 12:03:15 3: FHT8V set stellantriebeWZ valve 77
2013.02.08 12:06:12 3: FHT8V set stellantriebeWZ valve 83
2013.02.08 12:09:08 3: FHT8V set stellantriebeWZ valve 89
2013.02.08 12:15:01 3: FHT8V set stellantriebeWZ valve 94
2013.02.08 12:17:58 3: FHT8V set stellantriebeWZ valve 97
2013.02.08 12:20:54 3: FHT8V set stellantriebeWZ valve 100
2013.02.08 12:23:51 3: FHT8V set stellantriebeWZ valve 100
2013.02.08 12:26:47 3: FHT8V set stellantriebeWZ valve 100
2013.02.08 12:29:44 3: FHT8V set stellantriebeWZ valve 100
2013.02.08 12:32:40 3: FHT8V set stellantriebeWZ valve 100
2013.02.08 12:35:37 3: FHT8V set stellantriebeWZ valve 100
2013.02.08 12:38:33 3: FHT8V set stellantriebeWZ valve 100
2013.02.08 12:41:31 3: FHT8V set stellantriebeWZ valve 100
2013.02.08 12:44:27 3: FHT8V set stellantriebeWZ valve 100
2013.02.08 12:47:23 3: FHT8V set stellantriebeWZ valve 100
2013.02.08 12:50:20 3: FHT8V set stellantriebeWZ valve 100
2013.02.08 12:53:16 3: FHT8V set stellantriebeWZ valve 100
2013.02.08 12:56:13 3: FHT8V set stellantriebeWZ valve 100
2013.02.08 12:57:58 2: dummy set HeizkoerperWZ_Wunschtemp 21.5
2013.02.08 12:57:58 3: PID set heizungWZ desired 21.5
2013.02.08 12:57:58 3: FHT8V set stellantriebeWZ valve 100
2013.02.08 12:57:58 3: Heizung_WZ geaendert auf: 21.5
2013.02.08 12:58:15 3: FHT8V set stellantriebeWZ valve 40

2013.02.08 12:59:09 3: FHT8V set stellantriebeWZ valve 100
2013.02.08 13:02:06 3: FHT8V set stellantriebeWZ valve 100
2013.02.08 13:05:02 3: FHT8V set stellantriebeWZ valve 97
2013.02.08 13:07:59 3: FHT8V set stellantriebeWZ valve 95


hier der CUL_WS

2013-02-08_11:51:29 TempFeuchte_Sens_WZ T: 19.6  H: 45.9
2013-02-08_11:54:26 TempFeuchte_Sens_WZ T: 19.6  H: 45.9
2013-02-08_11:57:22 TempFeuchte_Sens_WZ T: 19.6  H: 45.9
2013-02-08_12:00:19 TempFeuchte_Sens_WZ T: 19.6  H: 45.9
2013-02-08_12:03:15 TempFeuchte_Sens_WZ T: 19.6  H: 45.9
2013-02-08_12:06:12 TempFeuchte_Sens_WZ T: 19.6  H: 45.9
2013-02-08_12:09:08 TempFeuchte_Sens_WZ T: 19.6  H: 45.9
2013-02-08_12:15:01 TempFeuchte_Sens_WZ T: 19.6  H: 45.9
2013-02-08_12:17:58 TempFeuchte_Sens_WZ T: 19.7  H: 45.9
2013-02-08_12:20:54 TempFeuchte_Sens_WZ T: 19.7  H: 45.9
2013-02-08_12:23:51 TempFeuchte_Sens_WZ T: 19.8  H: 45.9
2013-02-08_12:26:47 TempFeuchte_Sens_WZ T: 19.8  H: 45.9
2013-02-08_12:29:44 TempFeuchte_Sens_WZ T: 20  H: 45.9
2013-02-08_12:32:40 TempFeuchte_Sens_WZ T: 20.1  H: 46
2013-02-08_12:35:37 TempFeuchte_Sens_WZ T: 20.2  H: 46
2013-02-08_12:38:33 TempFeuchte_Sens_WZ T: 20.3  H: 46
2013-02-08_12:41:31 TempFeuchte_Sens_WZ T: 20.5  H: 46
2013-02-08_12:44:27 TempFeuchte_Sens_WZ T: 20.6  H: 46
2013-02-08_12:47:23 TempFeuchte_Sens_WZ T: 20.8  H: 46
2013-02-08_12:50:19 TempFeuchte_Sens_WZ T: 20.9  H: 46.6
2013-02-08_12:53:16 TempFeuchte_Sens_WZ T: 21  H: 46.7
2013-02-08_12:56:13 TempFeuchte_Sens_WZ T: 21.2  H: 46.7
2013-02-08_12:59:09 TempFeuchte_Sens_WZ T: 21.3  H: 46.7
2013-02-08_13:02:06 TempFeuchte_Sens_WZ T: 21.4  H: 46.7
2013-02-08_13:05:02 TempFeuchte_Sens_WZ T: 21.5  H: 46.7
2013-02-08_13:07:59 TempFeuchte_Sens_WZ T: 21.6  H: 46.1

Während ich hier schreibe (13:45) steigt die Temperatur ohne Ende (22,4 Grad) und die Stellantribe regeln langsam runter (momentan 80%).

Hab ja nix gegen ein warmes Wohnzimmer, aber das ist einfach zu viel:-(

Leider fehlt mir hier der Durchblick, welches "Element" für die Tempregelung zuständig ist. Dachte eigentlich das es das PID-Modul ist.

Kann man das nicht irgendwie anpassen, muss doch gehen?

Habe das Glück in einem Niedrigenergiehaus zu wohnen, da brauch ich nicht so eine "Überregelung".
Wenn das jedoch so gewollt ist, wo ist da der Sinn?
Da sich ja die Temperaturregelung im Laufe der Zeit "vernünftig" einpegelt, also um die eingestellten Sollwert regelt, sollte das doch auch gleich möglich sein.

Habt ihr auch solche Erfahrungen mit der Regelung gemacht?

Danke für eure Geduld beim lesen, aber weis langsam wirklich nicht mehr weiter:-(

Gruß Stefan

rudolfkoenig

Wenn ich es richtig verstanden habe, dann ist die Heizung nicht immer an, das fuehrt natuerlich zu Verwirrung des PIDs. Ich wuerde es fuer diese Zeit mit entsprechenden at Kommandos per "attr PID disable" deaktivieren.

Stefan 69

Zitat von: rudolfkoenig schrieb am Fr, 08 Februar 2013 15:44Wenn ich es richtig verstanden habe, dann ist die Heizung nicht immer an, das fuehrt natuerlich zu Verwirrung des PIDs. Ich wuerde es fuer diese Zeit mit entsprechenden at Kommandos per "attr PID disable" deaktivieren.

Danke für diese Info! Das klingt logisch. Also hat dieser PID sowas wie eine "Lernfunktion"?

Gut. Da ich ja nun nicht so den Durchblick habe, darf ich dich um einen genaueren Codeschnipsel bitten?

Also die Heizung (Kessel) ist von 7:00 bis 13:00 aus. Ebenso von 22:45 bis 5:00.
Kann aber mittels einem Dummy die Heizung von extern anschalten, falls mal jemand früher zu Hause ist.
Ebenso greift die Wochenendregelung mit holiday-Plan ein.
Das müsste ja auch berücksichtigt werden, oder mache ich es schon wieder komplizierter wie es eigentlich ist?

Danke Stefan

Bernhard

Also, ich trage regelmässig die Soll-Temp bei PID ein, also auch die Absenk-Temp für Nacht und Fenster-Auf. Und seither regelt das Ding sehr gut und - so wie gedacht, nah um die Soll-Temp.

Als ich "nur" die Soll- und Ist-Temp von einer FHT übergeben hatte, gab es auch den Effekt, dass die FHT runter regelte, PID aber sehr lange um die 100% blieb.

Stefan 69

Zitat von: Bernhard schrieb am Sa, 09 Februar 2013 14:27Also, ich trage regelmässig die Soll-Temp bei PID ein, also auch die Absenk-Temp für Nacht und Fenster-Auf. Und seither regelt das Ding sehr gut und - so wie gedacht, nah um die Soll-Temp.

Als ich "nur" die Soll- und Ist-Temp von einer FHT übergeben hatte, gab es auch den Effekt, dass die FHT runter regelte, PID aber sehr lange um die 100% blieb.

Wo trägst du dass den im PID ein?
Warum regelmäßig, bleibt das da nicht gespeichert?

Meine Zeiten werden über Heating-Control geregelt und stehen somit in der fehm.cfg.

Hab leider von dieser ganzen Regelung keine Ahnung und alles nur dank der SUPER Unterstützung hier im Forum hin bekommen. Diese ganze PID Geschichte übersteigt absolut meinen Horizont :-(

Stefan

Bernhard

Hallo Stefan,

das ist mehrteilig.
Teil 1: ein Notify

NAME
   
n_wz_PID_soll
wz_FHT:(actuator|desired-temp).* {
           my $win= ReadingsVal("wz_FHT","window","closed");;
           my $soll;;
           if ($win eq "open") {
             $soll=ReadingsVal("wz_FHT","windowopen-temp",12.0)+0.0;
           } else {
             $soll=ReadingsVal("wz_FHT","desired-temp",0)+0.5;
           }
           fhem "set wz_PID desired $soll";
           Log 1, "wz_temp @ desired $soll event -> % , Window ->$win"
         }

übergibt den Soll-Wert.  Das FHT8V wird alle ca. 2 Min mit der aktuellen Stellung von FHT versorgt. Dadurch wird "wz_FHT:actuator" getriggert.
"wz_desired-temp" wird a) vom FHT-Tagesprogramm gesteuert, vom mir selbst alle 5 Minuten.

2. Definition PID:   DEF    sz_temp:temperature:([\d\.]*) wz_v
wobei sz_tem ein S300IA ist, welches alle paar Minuten den aktuellen Ist-Wert sendet.
wz_v ist ein FHT8V

und das wars .....


Ob man PID wirklich verstehen muss - ich weiss nicht.
Ich hatte früher eine Steuerung für Solarthermie, da waren die Werte für [p i d] = [5 5 5]. Rechnung alle 30 Sekunden.
Jede Änderung hat sich negativ ausgewirkt. Diese Werte sind eben abhängigt vom zu steuernden Gerät und den Sensoren. Die vorgegebenen Werte sind eben erprobt und auf eine Heizung bezogen. Ansonsten eben nach Wiki und anderen Texten versuchen PID zu verstehen und abzubilden.

Stefan 69

Also,

irgendwie bekomme ich Bernhard's Geschichte nicht zum Laufen (typisch Anfänger) :-(
Da ich lediglich einen S300TH und den FHT8V habe und keinen Fensterkontakt, stelle ich mich zu dämlich an dieses Beispiel für meine Steuerung umzuschreiben. Hab somit aufgegeben.

Die Lösung ist jetzt folgende:

Gebe einfach zu den Schaltzeiten einen kleineren Wert ein (-1 Grad) und zwei Stunden später den "richtigen".

Somit kann er ruhig die erste Solltemp "übersteuern" und wird dann später auf die eigentliche geregelt.

Ist zwar nicht die Profilösung, aber es geht soweit ganz gut und läuft seit Dienstag ohne Probleme.

Gruß Stefan

Vladi2010

hallo Zusammen, bei mir war ds anfangs auch so, ich habe dann die P I D werte einfach individuell angepasst (auf jedes zimmer einzeln)

dFactor
1.5
iFactor
2.5
pFactor
6

define heizung.2 PID CUL_WS_2 Stellantrieb_Kinderzimmer 6 2.5 1.5

die  PID werte habe ich nicht ausgerechnet sonder ausprobiert, also nachgestellt fast wie mit drei Potis.

Grüße Andreas