au boulot nous avons des systèmes de régulation de t° qui fonctionnent sur ces modèles PID, effectivement coriace à régler quand on travaille à moins de 0.5° près avec des variations de conditions aléatoires (comme le soleil en fait).
Mais nous avons aussi un mode d'apprentissage automatique (auto-calibrage) qui permet fonctionne correctement dans 90% des cas lors de chgt physique sur les machines (chgt d'une batterie de résistances, chgt d'environnement.. ).
est il possible d'avoir un tel système sur le routeur ?
10-11-2025, 03:39 PM (Modification du message : 10-11-2025, 04:45 PM par Lolo69.)
(10-11-2025, 03:03 PM)grostoto a écrit : Salut
au boulot nous avons des systèmes de régulation de t° qui fonctionnent sur ces modèles PID, effectivement coriace à régler quand on travaille à moins de 0.5° près avec des variations de conditions aléatoires (comme le soleil en fait).
Mais nous avons aussi un mode d'apprentissage automatique (auto-calibrage) qui permet fonctionne correctement dans 90% des cas lors de chgt physique sur les machines (chgt d'une batterie de résistances, chgt d'environnement.. ).
est il possible d'avoir un tel système sur le routeur ?
Très bonne remarque de Grostoto , le mode apprentissage est efficace sur des changements d'installation, et pourrait être pratique ici pour eviter de tatonner avec les parametres PID, par contre il me semble difficile d'intégrer ces algoithmes dans un ESP32 à la mémoire très limitée? car il faut etre capable de stocker pas mal de mesures horodatées pour enregistrer la réponse à un echelon de sortir pour evaluer le gain, la constante de temps et le temps mort du process
De plus ces systèmes d'apprentissage fonctionnent assez bien sur des process lents ( typiquement une regulation de temperature) mais beaucoup plus mal sur des procédés rapides ( pour le RMS regulation de puissance electrique) car le moindre ecart dans l identification est amplifiée par l 'alogorithme
Installé la version 16.01 ce-jour. Woahoo! Non pas que c'était pas bien avant, loin de là mais là Bravo!
L'asservissement fonctionne a merveille, malgré qu'il doive se "battre" avec une automatisation que j'ai fait dans HomeAssistant et qui me fait varier le courant injecté dans la batterie, en fonction des infos soutirage/injection fournies par le routeur.
Merci a André pour l’existence et le partage de ce projet, Merci aux contributeurs pour son évolution.
Hier, 01:00 PM (Modification du message : Hier, 01:00 PM par clyon44.)
Bonjour à tous.
Pour ma part avec ma configuration soit CE de 2200W + Shelly EM + 1200Watts de panneau, voici les réglages que j'obtiens pour le moment avec Kp=31, Ki=5, Kd=1 en mode demi sinus et un Pw réglé à -10 (voir image jointe).
J'ai des courbes relativement stables et lisses. Qu'est ce que je peux encore corriger ou améliorer ? J'imagine que ce qu'appelle la sortie lolo69 c'est la courbe du triac dans mon cas ? Et ce qu'appelle André les erreurs à corriger ça correspond à quoi exactement ? Merci d'avance.
Routeur v16.01, mesures Shelly EM + sonde de température DS18B20
Triac Robodyn 24A/600V avec radiateur externe
Réglages réactivité 5, seuil de déclenchement -50, multi sinus
3 panneaux photovoltaïques Sunology Play 405W
Cumulus 200L 2200W méca 62°
Pareil ici; la régulation par PID est beaucoup plus réactive.
Ne manque plus que d'avoir un petit guide pour régler les paramètres.
De mon côté, j'ai gardé le même coefficient d'intégration (12 en réactivité) car il fonctionnait bien seul. C'est la fonction intégrateur qui cherche à avoir une erreur nulle.
Ensuite j'ai ajouté un peu de coefficient proportionnel (10, pour 12 de réactivité); il va amplifier (de manière proportionnelle) la correction en cas d'erreur.
Et finalement, Le coefficient dérivé est là pour booster la correction en cas de gros changements (nuages, variation de charge sur réseau); ici, j'ai mis 50.
Je suis en demi-sinus
Pour ma part avec ma configuration soit CE de 2200W + Shelly EM + 1200Watts de panneau, voici les réglages que j'obtiens pour le moment avec Kp=31, Ki=5, Kd=1 en mode demi sinus et un Pw réglé à -10 (voir image jointe).
J'ai des courbes relativement stables et lisses. Qu'est ce que je peux encore corriger ou améliorer ? J'imagine que ce qu'appelle la sortie lolo69 c'est la courbe du triac dans mon cas ? Et ce qu'appelle André les erreurs à corriger ça correspond à quoi exactement ? Merci d'avance.
Oui la sortie c est bien la courbe triac dans ton cas
cette courbe étant très lisse tu pourrais tenter de monter KP ( à vus de nez 50) , ton regulateur réagirai plus vite aux perturbations, ce serait interessant de voir ta courbe Puissance active totale pour voir s il est necessaire ou pas d'augmenter Ki ( il faut agmenter Ki quand tu restes "trop" longtemps au dessus ou en dessous du seuil Pw de consigne
(Hier, 01:00 PM)Ludovic35 a écrit : Pareil ici; la régulation par PID est beaucoup plus réactive.
Ne manque plus que d'avoir un petit guide pour régler les paramètres.
De mon côté, j'ai gardé le même coefficient d'intégration (12 en réactivité) car il fonctionnait bien seul. C'est la fonction intégrateur qui cherche à avoir une erreur nulle.
Ensuite j'ai ajouté un peu de coefficient proportionnel (10, pour 12 de réactivité); il va amplifier (de manière proportionnelle) la correction en cas d'erreur.
Et finalement, Le coefficient dérivé est là pour booster la correction en cas de gros changements (nuages, variation de charge sur réseau); ici, j'ai mis 50.
Je suis en demi-sinus
Merci Ludovic, j’étais également à 12 en réactivité pour mon chauffe eau de 2200W en découpe sinus.
J'ai essayé la régulation PID avec les mêmes paramètres que toi et ça marche impeccable. La réactivité est impressionnante !
Un grand merci à André et aux autres contributeurs.
Il faut remarquer que dans ce PID, on a une relation très intéressante sur le coefficient proportionnel entre l'erreur et la correction, qui sont en lien direct.
Erreur=Puissance-Seuil
Correction proportionnelle en % =Kp*Erreur /1000;
Le coef de 1000 est un cadrage.
Si je prends un Kp de 50 et une erreur 100 W , j'ai une correction de 5%.
Sur une charge de 1000 W, ça nous fait 50 W de correction.
Sur une charge de 2000 W, cela fait 100W de correction. On voit bien qu'on ne peut pas dépasser les 50 pour 2000W.
Il y a 5 heures(Modification du message : Il y a 5 heures par Lolo69.)
Rien compris à cette explication.
Sur un CE de 2000 kw si on met KP >50 on aura certe des dépassements mais on rejoins la consigne plus rapidement et les dépassements s amortissent plus ou moins vite avec la dérivée et l intégrale. Il ne faut pas raisonner en statique mais en dynamique
Avec un kp de 50 on a un gain correcteur = au gain process , ce qui est un réglage de base convenable mais donne des réponses “molle” ( voir réglages ziegler Nichols)