[LUA] Chauffage PID

Vous avez créé un script LUA dont vous êtes fier, un .sh génial, un programme Python hors du commun, un Tuto, c'est ici que vous pouvez les partager.
vil1driver
Messages : 5661
Inscription : 30 janv. 2015, 11:07
Localisation : Rennes (35)

Re: chauffage PID

Message par vil1driver »

Je n'ai pas fait grand chose, j'ai juste repris l'excellent travail d'un autre comme souvent.

Avec un peu plus de recul, j'avoue que ça fonctionne plutôt pas mal.. Juste la détection des pics qui demande amélioration.

Bravo à l'auteur de la méthode ;)

J'attends les retours du plus grand nombre et aide sur l'amélioration du code de détection des extrêmes sur la courbe de temp en mode hystérésis
MAJ = VIDER LE CACHE(<-Clicable)
/!\Les mises à jour de Domoticz sont souvent sources de difficultés, ne sautez pas dessus
modules.lua

Un ex domoticzien
ogulf
Messages : 445
Inscription : 15 juin 2017, 14:41

Re: chauffage PID

Message par ogulf »

Je tâche de mettre en application ce soir, au pire demain et vous tiens tous au jus !

Remarque : la méthode n'aurait de sens que pour une consigne contente je suppose ?
Genre avec changement de consigne jour/nuit ça ne va donner rien de probant ?
Domoticz Stable sur RPi3 + RFPlayer + ZWave+ + RFLink R48 :
- 11 x RF660P
- 1 x FGSD-002
- 10 x F007TH
- 5 x Emcoluxr EV1527 + 4 x NAS-DS01Z
- 4 x NAS-PD02Z
- 1 x Shelly 1PM
vil1driver
Messages : 5661
Inscription : 30 janv. 2015, 11:07
Localisation : Rennes (35)

Re: chauffage PID

Message par vil1driver »

Lors de la phase autotune, mieux vaut ne pas toucher à la consigne, d'instinct je dirais qu'il vaut même mieux le faire sur la consigne 'confort'

Après, si.. le but est de gérer les changements tout comme le maintien de consigne au plus proche.

A venir, petite modif pour tenir compte de la température extérieure ;)
MAJ = VIDER LE CACHE(<-Clicable)
/!\Les mises à jour de Domoticz sont souvent sources de difficultés, ne sautez pas dessus
modules.lua

Un ex domoticzien
lmet
Messages : 252
Inscription : 30 juin 2017, 18:16
Localisation : Val d'Oise
Contact :

Re: chauffage PID

Message par lmet »

Bonsoir,
Je confirme qu'il est préférable que la température de consigne soit constante :
img_003.jpg
img_003.jpg (82.25 Kio) Consulté 5606 fois
On voit une régulation quasi parfaite malheureusement pour cause de délestage je suis obligé de couper le chauffage pendant 2 heures. L'algorithme a ensuite un peu de mal à s'en remettre.
Domoticz : V4.10717
Zigate : V4.11230 plugin:4.5.4 firmware:031a
Mon petit blog domotique
jackslayter
Messages : 1040
Inscription : 30 sept. 2014, 14:40
Localisation : Isère (38)

Re: chauffage PID

Message par jackslayter »

heu, normal ces résultats ?

Code : Tout sélectionner

2018-11-27 08:07:24.876 Status: LUA: PID autotune SALON
2018-11-27 08:07:24.876 Status: LUA: 20.2;20;0;1543233921;20;1543302444;0
2018-11-27 08:07:24.876 Status: LUA: Pu:25720565
2018-11-27 08:07:24.876 Status: LUA: A:0.2
2018-11-27 08:07:24.876 Status: LUA: Ku:318
2018-11-27 08:07:24.876 Status: LUA: Kp:191 Ki:0 Kd:61343548
fkdl.png
fkdl.png (29.26 Kio) Consulté 5574 fois
Raspberry Pi + RFLink + Domoticz Beta
Oregon - 3x Thgr122Nx / Chacon - micromodule 200w, télécommande 3b et 16b, 2x module 1000w, détecteur de fumée, contact de porte, 2x prise 3500w / OWL - CM180 / TRC02 v2 RGB 3M / Cheap - PIR, contact de porte
vil1driver
Messages : 5661
Inscription : 30 janv. 2015, 11:07
Localisation : Rennes (35)

Re: chauffage PID

Message par vil1driver »

@jackslayter, le processus n'est pas encore complet.
Il aurait du l'être, c'est ce que j'entends par améliorer la détection des pics.. Je me penche dessus

@Imet, étrange ta courbe, ici ça reprend sans trop de difficultés.

Image

Image
MAJ = VIDER LE CACHE(<-Clicable)
/!\Les mises à jour de Domoticz sont souvent sources de difficultés, ne sautez pas dessus
modules.lua

Un ex domoticzien
vil1driver
Messages : 5661
Inscription : 30 janv. 2015, 11:07
Localisation : Rennes (35)

Re: chauffage PID

Message par vil1driver »

maj
nouvelle approche pour choper les mini/maxi par enregistrement de toutes les temps dans un fichier
puis analyse du fichier..

A priori ça ne doit plus louper de valeurs.
le résultat n'est affiché que lorsque les données sont suffisantes..
pour ma salle de bain cela à juste pris 1h
sur le graph de jackslayter, pour son salon ça doit être plié en 2 à 3h
MAJ = VIDER LE CACHE(<-Clicable)
/!\Les mises à jour de Domoticz sont souvent sources de difficultés, ne sautez pas dessus
modules.lua

Un ex domoticzien
ogulf
Messages : 445
Inscription : 15 juin 2017, 14:41

Re: chauffage PID

Message par ogulf »

Une première valorisation PID pour moi en 2h juste pour une chambre.
J'ai laissé tourné un peu car il y avait de fortes oscillations.. Et j'ai eu un nouveau triplet au bout de 2h45 : cela fait 4h qu'il tourne, le triplet n'a pas bougé ==> je vais tester ces valeurs maintenant.

Vivement la version qui tient compte de la température extérieure !! ;)


A noter : dans l'algo autotune, il n'est pas prévu le cas où la température mesurée correspond exactement à la consigne. Je suis tombé sur ce cas de figure :o :( .
Certes, c'est à la marge, mais si la température de la pièce est en train de monter (donc le radiateur chauffe), ce dernier ne sera pas coupé avant la prochaine remontée de température (qui sera supérieure stricte à la consigne).
A l'inverse, si la température descend (le radiateur est à l'arrêt), ce dernier ne sera pas allumé avant la prochaine remontée de température (qui sera inférieure stricte à la consigne).

Le risque c'est si le prochain relevé tarde à être remonté... comme cela arrive parfois sur certaines de mes sondes 433 (trop loin du RFLink je suppose).


En ce qui me concerne, la température baissait (il aurait fallu rallumer le radiateur à 15h26) :

Historique des températures :

Code : Tout sélectionner

Wed Nov 28 14:25:03 2018 1543411503;18.6
Wed Nov 28 14:29:28 2018 1543411768;18.3
Wed Nov 28 14:31:14 2018 1543411874;18.3
Wed Nov 28 14:37:25 2018 1543412245;18.1
Wed Nov 28 14:42:43 2018 1543412563;17.9
Wed Nov 28 14:43:36 2018 1543412616;17.9
Wed Nov 28 14:51:33 2018 1543413093;18.1
Wed Nov 28 14:59:30 2018 1543413570;18.6
Wed Nov 28 15:00:23 2018 1543413623;18.6
Wed Nov 28 15:01:16 2018 1543413676;18.6
Wed Nov 28 15:02:09 2018 1543413729;18.6
Wed Nov 28 15:09:13 2018 1543414153;18.4
Wed Nov 28 15:10:06 2018 1543414206;18.4
Wed Nov 28 15:10:59 2018 1543414259;18.4
Wed Nov 28 15:14:31 2018 1543414471;18.3
Wed Nov 28 15:16:17 2018 1543414577;18.2
Wed Nov 28 15:18:56 2018 1543414736;18.1
Wed Nov 28 15:26:00 2018 1543415160;18
Wed Nov 28 15:27:46 2018 1543415266;17.8
Wed Nov 28 15:29:32 2018 1543415372;17.8
Wed Nov 28 15:30:25 2018 1543415425;17.8
Wed Nov 28 15:36:36 2018 1543415796;18.1
Wed Nov 28 15:38:22 2018 1543415902;18.3
Wed Nov 28 15:41:54 2018 1543416114;18.6
Historique des commandes du chauffage, sur la même période (aucune consigne à 15h26) :

Code : Tout sélectionner

2018-11-28 15:41:54	Off
2018-11-28 15:38:22	Off
2018-11-28 15:36:36	Off
2018-11-28 15:30:25	Comfort
2018-11-28 15:29:32	Comfort
2018-11-28 15:27:46	Comfort
2018-11-28 15:18:56	Off
2018-11-28 15:16:17	Off
2018-11-28 15:14:31	Off
2018-11-28 15:10:59	Off
2018-11-28 15:10:06	Off
2018-11-28 15:09:13	Off
2018-11-28 15:02:09	Off
2018-11-28 15:01:16	Off
2018-11-28 15:00:23	Off
2018-11-28 14:59:30	Off
2018-11-28 14:51:33	Off
2018-11-28 14:43:36	Comfort
2018-11-28 14:42:43	Comfort
2018-11-28 14:37:25	Off
2018-11-28 14:31:14	Off
2018-11-28 14:29:28	Off
2018-11-28 14:25:03	Off
Domoticz Stable sur RPi3 + RFPlayer + ZWave+ + RFLink R48 :
- 11 x RF660P
- 1 x FGSD-002
- 10 x F007TH
- 5 x Emcoluxr EV1527 + 4 x NAS-DS01Z
- 4 x NAS-PD02Z
- 1 x Shelly 1PM
vil1driver
Messages : 5661
Inscription : 30 janv. 2015, 11:07
Localisation : Rennes (35)

Re: chauffage PID

Message par vil1driver »

merci de ton retour, j'espère que les valeurs vont convenir, tu me diras..

tu aurais souhaité un cas où l'on rallumerait le chauffage si temp >= consigne ?
j'ai volontairement omis ce cas de figure car le but ici n'est pas d'avoir une température stable mais justement en dent de scie pour mieux se rendre compte du comportement et avoir un vrai écart entre mini et maxi, une température trop lisse changerait énormément le résultat..

reste à savoir si j'ai eu raison de faire ainsi ou si ta proposition serait préférable voir au contraire augmenter encore l'hystérésis..
avec par exemple un temp > consigne + 0.1
il faudrait faire l'essai..

pour la temp extérieure je pense faire un truc tout bête
indiquer dans le script l'écart entre temp extérieure et consigne au moment de l'autotune et appliquer un simple pourcentage (de valeur réglable) sur les 3 paramètres pid, suivant l'évolution de l'écart.
A vrai dire c'est déjà réalisé mais j'attends un peu le temps de "jouer" avec l'autotune

une modif à la fois ;)
MAJ = VIDER LE CACHE(<-Clicable)
/!\Les mises à jour de Domoticz sont souvent sources de difficultés, ne sautez pas dessus
modules.lua

Un ex domoticzien
ogulf
Messages : 445
Inscription : 15 juin 2017, 14:41

Re: chauffage PID

Message par ogulf »

vil1driver a écrit : 28 nov. 2018, 16:46 ...

tu aurais souhaité un cas où l'on rallumerait le chauffage si temp >= consigne ?
j'ai volontairement omis ce cas de figure car le but ici n'est pas d'avoir une température stable mais justement en dent de scie pour mieux se rendre compte du comportement et avoir un vrai écart entre mini et maxi, une température trop lisse changerait énormément le résultat..

...
Non, l'action sur le chauffage dépend en fait du sens de la variation de la température.
Dans l'idéal :
si température en baisse (par rapport à la dernière ligne du fichier) ET si température = consigne, alors on allume le chauffage
si température en hausse (par rapport à la dernière ligne du fichier) ET si température = consigne alors on coupe le chauffage

L'idée est d'anticiper au mieux l'action sur l'élément chauffant pour avoir des valeurs Kp, Ki et Kd au plus juste
Mais je ne pense pas que ce soit rédhibitoire ! ;)


Oui tu as raison : chaque chose en son temps !!! :mrgreen:
Domoticz Stable sur RPi3 + RFPlayer + ZWave+ + RFLink R48 :
- 11 x RF660P
- 1 x FGSD-002
- 10 x F007TH
- 5 x Emcoluxr EV1527 + 4 x NAS-DS01Z
- 4 x NAS-PD02Z
- 1 x Shelly 1PM
Répondre