chauffage PID

Vous avez crée 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.
Soyez précis quant aux prérequis, les manips à faire pour que votre bijou fonctionne (des chmod ?, un apt-get à faire ...)
Décrivez précisément son fonctionnement
Placez votre code entre [Quote] et {/Quote]
Ivro74
Messages : 26
Enregistré le : 29 oct. 2018, 03:24

Re: chauffage PID

Message par Ivro74 » 08 déc. 2018, 23:31

Bon ça avait finalement finis par me faire les 4 min/max necessaire et me suggérer des pid fallais juste que je soit patient.
J'ai recommencer l'autotune juste après montage avec fil pilote (en effaçant le fichier de valeurs créé précédement pour reprendre de nouvelles mesure, c'est ce qu'il faut faire j'imagine ?) Du coups je n'ai plus l'inertie qu'il y avait avant et j'atteint même plus tout à fait la consigne (21°). Je fait affiner les pid mais c'est top ça régule super bien. Rien a voir avec l'utilisation simple du thermostat interne du radiateur !! Sans envoie de commande analogiques et avec simplement la gestion TOR c'est bleuffant merciiiii !
On vois bien première periode en autotune, puis le passage en compute avec les nouvelles valeurs (entre les deux le pic c'est une prise de douche dans la salle de bain :lol: )
PID pendant autotune 45-20-45 et PID suggérer puis mis après autotune 54-1-734 :roll: J'avais mis des cycles de 5 minutes pour avoir des résultats plus rapidement mais sans doute à refaire sur 10 minutes.
Je testerais à nouveau avec ta MAJ de modules LUA.

Image
Modifié en dernier par vil1driver le 09 déc. 2018, 00:17, modifié 1 fois.
Raison : Images non miniature

Disable adblock

This site is supported by ads and donations.
If you see this text you are blocking our ads.
Please consider a Donation to support the site.


vil1driver
Messages : 4938
Enregistré le : 30 janv. 2015, 11:07
Localisation : Rennes (35)

Re: chauffage PID

Message par vil1driver » 09 déc. 2018, 00:16

Merci de ton retour

Oui teste avec la maj..
Les maxi doivent être consécutifs, probable qu'avant la maj ce ne soit pas forcément le cas et ça fausse tout.
Les valeurs obtenues me semblent étranges et tu restes sous la consigne.. L'intégrale sature certainement (somme erreur = 3 ?) faute à la valeur 1 je suppose.

Ps: images non miniature ça évite d'avoir à cliquer..
MAJ = VIDER LE CACHE(<-Clicable)


Domoticz v4.10078 (ubuntu server) OpenZwave v1.4-3229 (zwave+ sigma designs) rfxtrx433 fw1015T1

433mhz : thgn800, ms13e2, phenix, Di.O, zk1pa, creasol sender
868mhz : fgms-001, fgfs-101, dsd37-zweu, ZW098


modules.lua

Ivro74
Messages : 26
Enregistré le : 29 oct. 2018, 03:24

Re: chauffage PID

Message par Ivro74 » 09 déc. 2018, 01:17

Oui je trouve les valeurs PID suggérer assez étrange mais je voulais essayer avec.
Je testerais avec la MAJ demain et ferais un retour.
Voici mes logs actuels erreur 3 en effet.

Code : Tout sélectionner

2018-12-08 23:40:00.046 Status: LUA: PID zone: SDB_ETAGE
2018-12-08 23:40:00.046 Status: LUA: température: 20.8°C pour 21°C souhaité
2018-12-08 23:40:00.046 Status: LUA: Kp: 55
2018-12-08 23:40:00.046 Status: LUA: Ki: 1
2018-12-08 23:40:00.046 Status: LUA: Kd: 742
2018-12-08 23:40:00.047 Status: LUA: erreur: 0.2
2018-12-08 23:40:00.047 Status: LUA: &#8721; erreurs: 3
2018-12-08 23:40:00.047 Status: LUA: &#916; erreurs: 0
2018-12-08 23:40:00.047 Status: LUA: P: 11
2018-12-08 23:40:00.047 Status: LUA: I: 3
2018-12-08 23:40:00.047 Status: LUA: D: 0
2018-12-08 23:40:00.047 Status: LUA: cycle: 5min (sécu: 30s)
2018-12-08 23:40:00.047 Status: LUA: commande: 14% (00'42")
2018-12-08 23:40:00.047 Status: LUA:
2018-12-08 23:40:00.050 Status: EventSystem: Script event triggered: /home/pi/domoticz/scripts/lua/script_time_chauffageSdbHaut.lua

Ivro74
Messages : 26
Enregistré le : 29 oct. 2018, 03:24

Re: chauffage PID

Message par Ivro74 » 10 déc. 2018, 10:18

Hello,
Alors j'ai mis à jour ma version de modules.lua avec ta modification.
J'ai fait un nouvel autotune (avec les anciens PID suggérer soit 55-1-742.
J'ai obtenus de nouvelles suggestion à 55-5-143 que j'ai appliqué.
Les courbes, première phase en autotune de 14h à 23h (consigne 22°). Seconde phase en compute(pid) avec 21,5° de consigne. Les pics de températures sont toujours des douches (salle de bain). Je n'atteint jamais ma consigne, voir log. Je vais encore affiné mais je suis content du résultat. Je pense diminué le paramètre "dérivé" pour avoir moins d'anticipation.

Image

Code : Tout sélectionner

2018-12-10 10:10:01.308 Status: LUA: PID zone: SDB_ETAGE
2018-12-10 10:10:01.308 Status: LUA: température: 21.3°C pour 21.5°C souhaité
2018-12-10 10:10:01.308 Status: LUA: Kp: 55
2018-12-10 10:10:01.308 Status: LUA: Ki: 5
2018-12-10 10:10:01.308 Status: LUA: Kd: 143
2018-12-10 10:10:01.308 Status: LUA: erreur: 0.23
2018-12-10 10:10:01.308 Status: LUA: somme erreurs: 3
2018-12-10 10:10:01.308 Status: LUA: delta erreurs: 0
2018-12-10 10:10:01.308 Status: LUA: P: 12.65
2018-12-10 10:10:01.309 Status: LUA: I: 15
2018-12-10 10:10:01.309 Status: LUA: D: 0
2018-12-10 10:10:01.309 Status: LUA: cycle: 5min (sécu: 30s)
2018-12-10 10:10:01.309 Status: LUA: commande: 28% (01'24")
2018-12-10 10:10:01.309 Status: LUA:
2018-12-10 10:10:01.737 Status: EventSystem: Script event triggered: /home/pi/domoticz/scripts/lua/script_time_chauffageSdbHaut.lua
Maintenant j'ai 2 ou 3 questions.
- Pour appliquer un planning sur la température de consigne est-ce que je peux bêtement le faire sur mon thermostat/setpoint directement dans domoticz ? Mieux vaut-il passer par un script pour être plus efficace/précis ?
- Est-ce que l'un de vous à tester sur un plancher chauffant ? Mon régulateur classique utilise une sonde dans le carrelage pour réguler la température mais cela ne reflette pas la température ambiante réelle. Je me demande si j'arriverais à être plus précis avec une sonde d'ambiance et un pilotage du plancher chauffant (éléctrique) via ton script et Dz.

Merci par avance je suis déjà ravis du résultat.

Disable adblock

This site is supported by ads and donations.
If you see this text you are blocking our ads.
Please consider a Donation to support the site.


vil1driver
Messages : 4938
Enregistré le : 30 janv. 2015, 11:07
Localisation : Rennes (35)

Re: chauffage PID

Message par vil1driver » 10 déc. 2018, 14:53

Le planning fait bien le taf ici..

Laisse Kd et passe Ki à 15 pour voir..

Comme quoi l'autotune a ses limites ou plutôt mériterait une petite optimisation. Au moins ça dégrossi

Tu aurais le log de l'autotune ?

Pour le plancher ça fonctionnerait probablement mais sur des cycles bien plus longs rapport à l'inertie importante
MAJ = VIDER LE CACHE(<-Clicable)


Domoticz v4.10078 (ubuntu server) OpenZwave v1.4-3229 (zwave+ sigma designs) rfxtrx433 fw1015T1

433mhz : thgn800, ms13e2, phenix, Di.O, zk1pa, creasol sender
868mhz : fgms-001, fgfs-101, dsd37-zweu, ZW098


modules.lua

Ivro74
Messages : 26
Enregistré le : 29 oct. 2018, 03:24

Re: chauffage PID

Message par Ivro74 » 11 déc. 2018, 14:35

Merci pour ta rép.
Quand tu dit le planning fait bien le taf ici c'est dans Dz ? Il n'y à pas de gestion direct de planning via ton scrip ? Je vais tester sur Dz de toute manière.
Malheureusement j'ai effacé le log de l'autotune. Je pense qu'il à été faussé car je l'ai lancé juste avant qu'une douche soit prise donc le premier min/max enregistré à du tenir compte de cette écart anormal. Je recommencerais sans doute bientôt. Je viens de passer Ki à 15 et je vais regarder l'effet. En tous cas ça dégrossi bien oui, ça me plais c'est top ! je vais du coups équiper la deuxième Sdb...
Pour ce qui est du pilotage de mon plancher chauffant j'ai vraiment envie d'essayer..!
Mon régulateur d'ambiance de la pièce agit via un un contacteur de puissance Hager ESC225s http://www.hager.ch/produits-nouveautes ... 389790.htm. J'ai un peux de mal à identifier la puissance qui passe par ce contacteur au niveau de la commande et donc faire mon choix de matériel pour le pilotage via Dz... J'ai des équivalent de ZK1PA mais je pense que c'est moyen moyen pour cet usage :?

Une suggestion à me faire peu être ? Je te ferais un retour sur l'efficacité du script sur un plancher chauffant avec plaisir :D

Ici les caractéristiques de puissance qui peuvent transité via mon contacteur. Si je dois prendre en compte seulement les 2,2W c'est parfait pour un KR1201-A (j'en ai déjà deux sur mes télérupteurs dans mon tableau)

Image

vil1driver
Messages : 4938
Enregistré le : 30 janv. 2015, 11:07
Localisation : Rennes (35)

Re: chauffage PID

Message par vil1driver » 11 déc. 2018, 15:05

Tu dois vraiment t'intéresser au log de l'autotune.
C'est à toi de juger si les mini maxi sont cohérents avec ta courbe.
C'est dans ce but qu'ils sont indiqués..
Je ne pense pas que ta douche ai influencé, le point de départ étant une valeur sous la consigne.

Pour le planning, oui ici c'est dans domoticz directement sur les SetPoint (d'ici à ce que je finisse le portage sur arduino qui lui sera autonome - plannings dans le code).
Le script ne le gère pas mais tu peux si tu le souhaites faire un truc du genre (grossièrement)
If time = blabla
Pid['thermostat'] =16
Elseif time...
Pid['thermostat'] =..
...
Enfin c'est plus chiant ainsi, sauf si tu souhaites prendre en compte présences ou autres declancheurs type fenêtres ouvertes etc..
MAJ = VIDER LE CACHE(<-Clicable)


Domoticz v4.10078 (ubuntu server) OpenZwave v1.4-3229 (zwave+ sigma designs) rfxtrx433 fw1015T1

433mhz : thgn800, ms13e2, phenix, Di.O, zk1pa, creasol sender
868mhz : fgms-001, fgfs-101, dsd37-zweu, ZW098


modules.lua

jackslayter
Messages : 932
Enregistré le : 30 sept. 2014, 14:40
Localisation : Isère (38)

Re: chauffage PID

Message par jackslayter » 12 déc. 2018, 09:07

j'ai un switch selector avec off/planning/normal/eco
dans le mode planning je fais varier le thermostat de ±0.5°C suis l'heure

ce qui donne dans le script PID

Code : Tout sélectionner

...........
local moderadsal = tonumber(otherdevices_svalues['le switch selector'])
local consigneECO = 18
--------------------------------
-- Fin des variables à éditer --
--------------------------------

commandArray = {}

if moderadsal == 10 then
    if ((time.hour == 6) and (time.min == 47)) or ((time.hour == 12) and (time.min == 47)) or ((time.hour == 22) and (time.min == 57)) then
    setPoint('Temp Thermostat Salon',(otherdevices_svalues['Temp Thermostat Salon']-0.5))
    elseif ((time.hour == 0) and (time.min == 54)) or ((time.hour == 10) and (time.min == 53)) or ((time.hour == 15) and (time.min == 57)) then
    setPoint('Temp Thermostat Salon',(otherdevices_svalues['Temp Thermostat Salon']+0.5))
end
compute(pid)

elseif moderadsal == 20 then
compute(pid)
--autotune(pid)

elseif moderadsal == 30 then
pid['thermostat'] = consigneECO
compute(pid)
end

return commandArray
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 : 4938
Enregistré le : 30 janv. 2015, 11:07
Localisation : Rennes (35)

Re: chauffage PID

Message par vil1driver » 13 déc. 2018, 21:28

;)

Code : Tout sélectionner

if heure == "06:47".... 
Inclus dans modules.lua
MAJ = VIDER LE CACHE(<-Clicable)


Domoticz v4.10078 (ubuntu server) OpenZwave v1.4-3229 (zwave+ sigma designs) rfxtrx433 fw1015T1

433mhz : thgn800, ms13e2, phenix, Di.O, zk1pa, creasol sender
868mhz : fgms-001, fgfs-101, dsd37-zweu, ZW098


modules.lua

jackslayter
Messages : 932
Enregistré le : 30 sept. 2014, 14:40
Localisation : Isère (38)

Re: chauffage PID

Message par jackslayter » 14 déc. 2018, 08:49

vil1driver a écrit :
13 déc. 2018, 21:28
;)

Code : Tout sélectionner

if heure == "06:47".... 
Inclus dans modules.lua
;)
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

Disable adblock

This site is supported by ads and donations.
If you see this text you are blocking our ads.
Please consider a Donation to support the site.


Répondre