PID, Ziegler & Nichols et Fussy Logic

Bonjour, J'étudie actuellement un dispositif de chauffage d'eau (entre 50°C et 100°C) utilisant un régulateur PID. Le dispositif se compose d'une "marmite" avec 4 litres d'eau et d'une plaque chauffante de 1500 W. La température est mesurée avec une CTN et la commande de puissance se fait par l'intermédiaire d'un relais statique (avec commutation au passage par 0) Le PWM utilisé pour la commande à une période 5100 ms ce qui correspond à 255 période de 20 ms. Après avoir relevé la courbe température en fonction du temps en boucle ouverte, j'ai pu déterminer les coefficients Kp, Ti et Td par la méthode de Ziegler et Nichols. Il n'est pas toujours facile de trouver le point d'inflexion de la courbe mais avec un peu de technique on y arrive ;) Par contre les problèmes commencent lorsqu'on calcule la contre réaction du PID.

Le PWM doit-il agir sur toute la dynamique de la contre réaction ?

Un retour d'expérience me permettrait de réduire considérablement le temps d'études car chaque mesure prend en général plus de 150 minutes. Merci pour votre aide et vos suggestions. @+

icare: ... J'étudie actuellement un dispositif de chauffage d'eau (entre 50°C et 100°C) utilisant un régulateur PID. Le dispositif se compose d'une "marmite" avec 4 litres d'eau et d'une plaque chauffante de 1500 W. La température est mesurée avec une CTN et la commande de puissance se fait par l'intermédiaire d'un relais statique ...

Bonsoir Icare ça ne repond pas pour l'instant à ta question , mais une regulation PID (ici en thermo) par definition tend à reguler les echanges thermique, plus il y a "d'interfaces/couches" à conductivités T° # , plus le process est difficile/long à stabiliser.

Je ne connais pas ton appli , mais tu ne peux pas déjà directement chauffer l'eau par un corps de chauffe dédié , ça eviterait déjà au moins un intermediaire ?

genre çà (2500W)

Bonjour, Une autre interrogation, comment déterminer le temps échantillonnage des mesures de la boucle de régulation en fonction de l'inertie de dispositif ou du temps de réponse ? @+

icare: Bonjour, Une autre interrogation, comment déterminer le temps échantillonnage des mesures de la boucle de régulation en fonction de l'inertie de dispositif ou du temps de réponse ? @+

bonjour Icare Déja tracer la courbe de croissance ET de decroissance T°/Temps du milieu à thermostater pour la T° à maintenir. et regarder la "tronche" de la courbe de regerssion (si elle est sortable et exploitable 8) )

pour la campagne de mesures je partirais sur un echantillon/seconde pour determiner selon ta precision demandée le pas de temps d'acquisition = mini X 2 .

Tu travaille en milieu T° nominale pseudo homogene ( en permanence agité/turbulé/etc) ou pas ?

un seul capteur dans le milieu ? positionné comment ?

j’avais trouvé cela il y a quelque temps peut’etre que tu ne l’a pas et ça peut te servir, moi j’ai décroche sur les operateur laplacien!

Bonjour,
Une autre interrogation, comment déterminer le temps échantillonnage des mesures de la boucle de régulation en fonction de l’inertie de dispositif ou du temps de réponse ?
@+

vue que la PID semble etre toujours en fonction du temp , je dirrai que c’est la référence de mesure !

[francais]_Techniques de l’ingénieur — Automatisme Et Régulation Des Équipements Thermiques.pdf (818 KB)

Bonjour,
Merci pour le lien, je vais le lire pour éventuellement compléter tous mes informations.

Heloderma-kris:
vue que la PID semble etre toujours en fonction du temp , je dirrai que c’est la référence de mesure !

Non ce n’est pas si évident que ça. Pour un système à inertie thermique importante l’intégral (somme des erreurs) devient énorme et il faudra des heures et des plombes pour inverser la tendance.
Si je ne trouve pas de solution simple, je vais finir avec une régulation en logique flou. Tout ce que j’ai pu lire, expérimenter et constater servira au moins à alimenter le moteur d’inférence.:wink:
@+

Salut,

faire de la PID sur une plaque chauffante, je trouve que c'est un peu de l'usine à gaz...

Pourquoi ne pas faire des relevés genre :

  • Montée totale puis descente totale en température en fonction du temps;
  • courbe de température à partir de la coupure du chauffage (j'imagine que ça doit continuer à grimper un poil avant de refroidir)
  • courbe de température lors du refroidissement, quand on remet en chauffe.

Les deux dernières m'intéresseraient beaucoup dans ton cas, car tu saurais à quelle température couper et remettre en chauffe. En gros, un hystérésis perfectionné...

Vu l'inertie du système, une régulation s'avère bien lourde, alors qu'un hystérésis devrait te permettre d'être assez précis.

Mais dis-moi, entre 50 et 100°, il y a des températures intéressantes (64°, 77.1°, 78°, 82°...) Tu n'aurais pas une idée alambiqueuse sur ce coup-là?

Salut Super_Cinci,

Super_Cinci: faire de la PID sur une plaque chauffante, je trouve que c'est un peu de l'usine à gaz...

C'est vrai que cela fait "usine à gaz" mais cela sert également de formation ;)

Super_Cinci: Pourquoi ne pas faire des relevés genre : - Montée totale puis descente totale en température en fonction du temps; - courbe de température à partir de la coupure du chauffage (j'imagine que ça doit continuer à grimper un poil avant de refroidir) - courbe de température lors du refroidissement, quand on remet en chauffe.

J'ai toutes ces courbes. Au total j'ai du faire plus d'une centaine de courbes de mesures

Super_Cinci: Les deux dernières m'intéresseraient beaucoup dans ton cas, car tu saurais à quelle température couper et remettre en chauffe. En gros, un hystérésis perfectionné... Vu l'inertie du système, une régulation s'avère bien lourde, alors qu'un hystérésis devrait te permettre d'être assez précis.

Très bonne idée mais ce type de régulation fait partie de la logique flou qui sera la prochaine étape.

Super_Cinci: Mais dis-moi, entre 50 et 100°, il y a des températures intéressantes (64°, 77.1°, 78°, 82°...) Tu n'aurais pas une idée alambiqueuse sur ce coup-là?

Je n'y avais pas pensé mais maintenant que tu y faits référence cela peut être une piste. Dommage que la saison des mirabelles soit terminée. :) Courbes à suivre...

Re, En attendant de retrouver la courbe de refroidissement voici la courbe de chauffe. Le plus dur était de partir avec une température d'eau proche de 0°C Attention: la température max dépasse les 100°C ce qui est normale. Dire que "l'eau bout à 100°C" et tout aussi faux que de dire "le soleil se lève à l'est et se couche à l'ouest". L'eau pure bout à 100°C sous une pression de 1023.25 hPa. Sans dispositif spécial, il est impossible de faire des oeufs durs au sommet du Mont Blanc. Par contre, on trouve des source d'eau chaude à 300°C au fond de la mer. Il est également possible d'augmenter la température de l'eau en mettant un couvercle sur la marmite ou en rajoutant du sel. pv = nRT reste vrai ;) Pour le soleil l'affirmation est vrai 2 jours dans l'année. @+

icare: Dire que "l'eau bout à 100°C" et tout aussi faux que de dire "le soleil se lève à l'est et se couche à l'ouest". L'eau pure bout à 100°C sous une pression de 1023.25 hPa.

tout ça ne releve que d'une simple acceptation ET de comprenhension de(s) reference(s) :grin:

demonterer que l'eau bout (verification de la presence de bulles) à des temperature bien inferieures avec une simple (une bonne grosse c'est meiux 8) ) serinqgue remplie d''eau à ~ 70° C , mise +/- en pression/depression est un "exercice" qui impressionne toujours , mais qui demontre facilement l'influence parametrique des "importants" . :grin:

Entre faire cuire des bonnes pâtes au niveau de la mer , ou en altitude elevée necessite pour les gardiens de refuges déjà une bonne adaptation à la gestion T° du milieu liquide 8)

Je suis vachement étonné de la linéarité de ta courbe de chauffe!

C9a aurait été intéressant de relever aussi la puissance (au moins le courant) consommée l'élément chauffant, voir si sa résistance interne varie selon la température atteinte (mais peut-être l'as-tu fait...). Ca doit aider dans le calcul, tout en rajoutant quelques inconnues...

Je ne pige pas trop cependant comment tu peux commander ta plaque par relais + PWM... surtout si elle est alimentée par le secteur... une petite description (schéma) de la commande / puissance?

Et enfin dernière question : c'est un TPE inutile ou un projet concret? XD

icare: Je n'y avais pas pensé mais maintenant que tu y faits référence cela peut être une piste. Dommage que la saison des mirabelles soit terminée. :) Courbes à suivre...

c'est bientot les pommes , sinon y'a la patate ( mais c'est moins bon), perso je prefere la canne ! besoin d'un chimiste! :grin:

Bonjour,

Super_Cinci: C9a aurait été intéressant de relever aussi la puissance (au moins le courant) consommée l'élément chauffant, voir si sa résistance interne varie selon la température atteinte (mais peut-être l'as-tu fait...). Ca doit aider dans le calcul, tout en rajoutant quelques inconnues... Je ne pige pas trop cependant comment tu peux commander ta plaque par relais + PWM... surtout si elle est alimentée par le secteur... une petite description (schéma) de la commande / puissance?

Non je n'ai pas relevé le courant de la plaque chauffante mais cela peut se faire. Il faut juste l'intégrer dans la chaîne de mesure car je ne peux pas rester à côté du système compte tenu de la durée des mesures. La plaque est pilotée par un relais statique (avec commutation au passage par zéro) piloté en PWM. A savoir, que la commande mini correspond à une période secteur (20 ms) toutes les 5.1 s ce qui correspond à une puissance de chauffe mini de 1500/255*1 = 5.9 W. Pour le schéma, rien de bien compliqué, une sortie UNO pilotée en PWM (custom) qui commande l'entrée opto du relais statique.

Super_Cinci: Je suis vachement étonné de la linéarité de ta courbe de chauffe!

J'ai fait le relevé sur une dizaine de courbes avec un duty variant de 1% à 100% et toujours la même linéarité.

Super_Cinci: Et enfin dernière question : c'est un TPE inutile ou un projet concret? XD

Pour moi jamais rien est inutile dans la mesure on l'on acquière de la connaissance. Mais pour le cas précis, il s'agit d'une étude pour la réalisation d'un dispositif d’appertisation automatique. @+ [u]Nota[/u] : Température de l'eau. Les essais de mesures de température avec de l'eau salée, on peut conclure : - 25 g/l permet d'augmenter la température de l'eau de 1°C - 50 g/l permet d'augmenter la température de l'eau de 2°C - 75 g/l permet d'augmenter la température de l'eau de 3°C - 100 g/l permet d'augmenter la température de l'eau de 3,5°C

Re, Courbe de refroidissement de l'eau (conditions environnementales identiques au chauffage)

Chauffage eau à différentes puissances @+ PS : Des essais très long :);)

Bonjour Icare tu demande quoi comme precision de T° sur maintien en palier ?

je ne sais pas si tu connais ? (déjà evoqué sur le forum, mais où ? .... :grin: ) bonnes docs http://www.tcdirect.fr/reference.asp

4 litres intuitivement ce n'est pas enorme comme volume pour faire de l'appertisation (encore que ça depend de ce que tu veux conserver 8) )

Bonjour Artouste,

Artouste:
tu demande quoi comme precision de T° sur maintien en palier ?

Mon objectif, avoir une erreur statique de +0.1°C (cad 0.1°C max au-dessus de la consigne)

Artouste:
je ne sais pas si tu connais ? (déjà evoqué sur le forum, mais où ? … :grin: )
bonnes docs
http://www.tcdirect.fr/reference.asp

Je ne connaissais pas ce lien mais je vais l’explorer car il y a certainement des infos utiles pour mon projet.

Artouste:
4 litres intuitivement ce n’est pas enorme comme volume pour faire de l’appertisation (encore que ça depend de ce que tu veux conserver 8) )

Le but est de faire de l’appertisation sur des petites portions individuelles.
On verra peut être plus grand par la suite.
Merci et @+

icare: ... Mon objectif, avoir une erreur statique de +0.1°C (cad 0.1°C max au-dessus de la consigne)

...

statique ou statistique ? :grin: mais dans un cas comme dans l'autre , intuitivement , tenir le 0.1 ° avec un relatif aussi petit volume en n'utilisant qu'un seul capteur et sans dispositif d'homogénéisation T° , me semble avec "une chauffe" tres indirecte un "bon gros challencge" 8)

Re,

Artouste: statique ou statistique ? :grin:

erreur statique cad différence entre consigne et mesure

Artouste: mais dans un cas comme dans l'autre , intuitivement , tenir le 0.1 ° avec un relatif aussi petit volume en n'utilisant qu'un seul capteur et sans dispositif d'homogénéisation T° , me semble avec "une chauffe" tres indirecte un "bon gros challencge" 8)

Actuellement avec un régulateur PI, j'arrive à une erreur statique de 0.01°C. Mais, bien sur, je n'ai aucune certitude sur le centième de °C car mon dispositif de mesure n'a pas la précision requise et pour les raisons que tu as évoqué. @+ [edit] La régulation fonctionne mais les Kp, Ti et Td sont très éloignés de ceux obtenus par les méthodes Ziegler & Nichols.

Bonjour, La suite du programme : l'utilisation de la logique floue. [u]Principe[/u]

data num.                variables         Moteur            variables                       Paramètres
du      --> Fuzzi. -->   linguistiques --> d'inférence  -->  linguistiques --> Défuzzi. -->  num.
capteur                  d'entrée          (règles )         induites (règles)               de sortie

Régulateur P flou simple : Fonctions d'appartenance du capteur On voit que pour une erreur de 128 le capteur appartient à 50 % à ON et 50 % à OFF (peut être que le nom de logique floue vient de là ;)) Fonction d'appartenance de la sortie et paramètres numériques Dans ce cas la commande se fait avec un coefficient constant. L'avantage de la logique floue c'est que l'on peut adapter les différentes règles. Régulateur P flou plus évolué : Fonctions d'appartenance du capteur On voit que pour une erreur de 128 le capteur appartient à 20 % à ON et 40 % à OFF Fonction d'appartenance de la sortie et paramètres numériques Dans ce cas le coefficient de commande du PWM peut être adapté en fonction des zones. @+

salut icare,

je rajoute ces deux lien qui sont for intéréssant car il permete a de debutant comme moi d'y voir plus clair! l'auteur explique bien la notion de PID dans le premier lien , et montre sur le second avec un moteur comment realisé ce type d'aservisement avec un arduino !

http://www.ferdinandpiette.com/blog/2011/08/implementer-un-pid-sans-faire-de-calculs/ http://www.ferdinandpiette.com/blog/2012/04/asservissement-en-vitesse-dun-moteur-avec-arduino/