Réglage regulateur PID
Répondre à la discussion
Affichage des résultats 1 à 25 sur 25

Réglage regulateur PID



  1. #1
    Forhorse

    Réglage regulateur PID


    ------

    Bonjour à tous,

    Je travail actuellement sur un projet de regulateur PID. ça semble au point mais j'y connais pas grand chose en régulation et vient maintenant la phase de réglage des paramètres.

    Après pas mal de tâtonnement j'ai trouvé (en simulation) deux jeux de paramètres qui me semble pas trop mal.
    Voir capture jointes.
    Le rouge semble plus réactif car il permet d'arriver à la consigne plus rapidement.
    Le vert est un peu plus lent mais n'induit quasiment pas de dépassement.

    Selon vous lequel est le mieux ?

    -----
    Images attachées Images attachées

  2. #2
    Gérard

    Re : Réglage regulateur PID

    C'est la réponse à quel type de signal d'entrée ?
    Les réglages dépendent de ce que tu souhaites.
    Un dépassement est-il autorisé ou pas ?
    Doit-on privilégier la vitesse de réaction sans tenir compte du dépassement ?

  3. #3
    erff

    Re : Réglage regulateur PID

    Bonjour,

    Il y a les méthodes empiriques "toutes faites" pour ce genre de trucs, du moment que tu peux faire des mesures sur le process, ou que tu as un modèle comportemental assez précis en simulation par exemple...

    De mémoire,
    - Méthode de Ziegler-Nichols
    - Méthode de Astrom-Hagglund
    - D'autres...

    On trouve des infos là dessus en cherchant sur le web, mais si besoin je possède des pdf bien foutus sur le dimensionnement des PID (par contre je ne les aurai pas avant 2 semaines, m'envoyer un message privé d'ici là ... )

  4. #4
    Gérard

    Re : Réglage regulateur PID

    Citation Envoyé par erff Voir le message
    Bonjour,

    Il y a les méthodes empiriques "toutes faites" pour ce genre de trucs, du moment que tu peux faire des mesures sur le process, ou que tu as un modèle comportemental assez précis en simulation par exemple...

    De mémoire,
    - Méthode de Ziegler-Nichols
    - Méthode de Astrom-Hagglund
    - D'autres...

    On trouve des infos là dessus en cherchant sur le web, mais si besoin je possède des pdf bien foutus sur le dimensionnement des PID (par contre je ne les aurai pas avant 2 semaines, m'envoyer un message privé d'ici là ... )
    Bonjour,

    Pour ma culture perso, je serais preneur des pdf.
    2 semaines, c'est rien, je ne suis pas pressé.

    Merci d'avance.

  5. A voir en vidéo sur Futura
  6. #5
    Forhorse

    Re : Réglage regulateur PID

    Ayant un peu approfondit mes connaissances en simulation sous ISIS j'ai pu faire un test de réaction au changement de consigne (et accessoirement pris ma mesure à un endroit un peu plus adapté)
    Le jeux de paramètres est le "vert"

    Le but est de réguler une tension en aval d'une résistance, en faisant varier le courant dans ladite résistance.
    Au départ la consigne est à 2.79V
    à 6s (de 6 à 7s) elle passe à 3.47V
    puis à 16s elle passe à 2.11V
    On voit que quelque soit le sens du variation de consigne, le regulateur met environ 3s pour stabiliser la tension.
    Je pense que pour un programme qui tourne sur un16F876 à 12Mhz c'est pas trop mal, non ?
    Images attachées Images attachées  

  7. #6
    Gérard

    Re : Réglage regulateur PID

    Peux-tu donner le schéma ?
    En aval d'une résistance, il ne devrait pas y avoir de retard.

  8. #7
    Antoane
    Responsable technique

    Re : Réglage regulateur PID

    Bonjour,
    je pense que ton simulateur est mal réglé : le signal de sortie est en escalier au lieu de prendre la forme d'une belle courbe. C'était déjà le cas post1. Essaye peut-être de réduire le time-step (je sais pas comment ).

    Je suis pas très doué en régulation, mais 3s pour réguler une tension me parait terriblement élevé !
    Un schéma s'impose !
    Deux pattes c'est une diode, trois pattes c'est un transistor, quatre pattes c'est une vache.

  9. #8
    Forhorse

    Re : Réglage regulateur PID

    Le schéma ne servira pas à grand chose je pense, vu que tout est traité de façon software.
    J'ai d'un côté la mesure de la tension par un port du CAN
    de l'autre côté j'ai un sortie PWM qui par le biai d'un filtre passe-bas attaque la consigne d'une "source" de courant constitué d'un mosfet, un shunt et un ampli-op.

    Pour améliorer le time-step sans monter en fréquence il faudrait que j'optimise le programme qui est loin d'être exemplaire.
    Mais je voulais déjà valider le principe avec un programme simple.

  10. #9
    Antoane
    Responsable technique

    Re : Réglage regulateur PID

    Pourquoi la sortie PWM filtrée n'attaque-t-elle pas directement la Gate du MOS (quitte à passer par un translateur de niveau qui convertira le 0/5V PWM en 0/15V) ?

    Le but est de réguler une tension en aval d'une résistance, en faisant varier le courant dans ladite résistance.
    Je crois vraiment qu'un schéma, ou, à défaut, une explication un peu plus poussée , aiderait car j'ai pas compris : pourquoi réguler une tension en passante par un courant, qui lui-même revient à une régulation en tension ?

    Je parlais de diminuer le time-step de la simulation : il me semble que le logiciel ne calcule pas le nouveau point d'équilibre assez souvent, d'où un résultat en escalier qu'on ne retrouverais, à mon avis, pas en vrai.
    Deux pattes c'est une diode, trois pattes c'est un transistor, quatre pattes c'est une vache.

  11. #10
    invite29971eb1

    Re : Réglage regulateur PID

    Comme me l'avait dit un vieux briscard de la régulation pneumatique:
    "Quelque-soit la méthode que tu utilises , tu finiras par tout bidouiller au pif, alors autant commencer directement par là"

    Plus sérieusement, une méthode que j'avais retenu:
    - on part de Kp=1, Ki=0, Kd=0
    - on règle Kp jusqu'au max pour avoir un début d'oscillation
    - on ajoute du Ki pour annuler l'erreur de position et supprimer l'oscillation
    - on s'arrête dès que le dépassement devient important
    - on ajoute éventuellement un peu de Kd pour réduire l'overshoot
    - au final on retouche Kp et Ki pour affiner le résultat

    Donc on finit par bidouiller, mais on part sur une bonne base

    Les réponses que tu montres me paraissent très mauvaises vu le régime pseudo-oscillatoire, on est à deux doigts de l'instabilité là

    Un lien bien pratique:
    http://linuxcnc.org/docs/html/motion_pid_theory_fr.html

  12. #11
    Gérard

    Re : Réglage regulateur PID

    Les graphiques que tu donnes ne veulent pas dire grand chose.
    En régulation, il y a une entrée et une sortie. Toi tu ne montres que la sortie et le schéma est confidentiel. Va pas être simple de t'aider.

    +1 avec ftorama.

  13. #12
    Antoane
    Responsable technique

    Re : Réglage regulateur PID

    Citation Envoyé par Gérard Voir le message
    Les graphiques que tu donnes ne veulent pas dire grand chose.
    En régulation, il y a une entrée et une sortie. Toi tu ne montres que la sortie et le schéma est confidentiel
    Bah si : on l'a l'entrée, c'est des échelons :
    Citation Envoyé par Forhorse
    Au départ la consigne est à 2.79V
    à 6s (de 6 à 7s) elle passe à 3.47V
    puis à 16s elle passe à 2.11V
    On peu donc considérer le truc comme une boite noire dont on veux régler les paramètre. Possible, mais quand même plus simple si on avait le schéma !

    Citation Envoyé par un vieux briscard de la régulation pneumatique
    Quelque-soit la méthode que tu utilises , tu finiras par tout bidouiller au pif, alors autant commencer directement par là
    J'aime beaucoup !
    A mon tour :
    Citation Envoyé par un gars qui était en train de régler une machine-outils dans l'atelier du lycée
    Je n'y connais rien en asservissement : je tourne les potentiomètres et trouve le bon réglage, principalement à l'oreille
    Deux pattes c'est une diode, trois pattes c'est un transistor, quatre pattes c'est une vache.

  14. #13
    Forhorse

    Re : Réglage regulateur PID

    Citation Envoyé par Antoane Voir le message
    Pourquoi la sortie PWM filtrée n'attaque-t-elle pas directement la Gate du MOS (quitte à passer par un translateur de niveau qui convertira le 0/5V PWM en 0/15V) ?
    Je sais que c'est très bizarre, mais je voulais expérimenter par moi même une solution que j'ai découverte ici-même, qui consiste a utiliser le MOS à la fois comme organe de commande et comme dissipateur d’énergie.

    Je vous mettrais le schéma si vous y tenez, il n'y a strictement rien de confidentiel (c'est juste extrêmement moche) mais je ne pense pas que ça change grand chose.
    C'est juste un petit exercice didactique plus qu'un réel projet (mais l’expérience acquise me servira pour un autre projet)

  15. #14
    Forhorse

    Re : Réglage regulateur PID

    Voilà le schéma
    Images attachées Images attachées

  16. #15
    Forhorse

    Re : Réglage regulateur PID

    Petite bidouille de dernière minute. R2 passe de 10 à 100K
    C'est plus stable.
    Pas eu le temps de refaire un réglage des paramètres du regulateur (mon PC est trop lent, il lui fait bien 10mn pour simuler ces 24s...)

  17. #16
    erff

    Re : Réglage regulateur PID

    Re

    2 trucs qui me troublent :

    Si j'ai bien compris, tu cherches à faire une boucle de tension et de courant imbriquées, la boucle de tension étant extérieure à la boucle de courant (un peu comme on fait souvent dans les alim à découpage)

    - La dynamique de la boucle de courant (tout ce qui est après le filtre de consigne) est entièrement contrôlée par les éléments parasites du montage (qui sont en fait les variables d'état qu'on n'aime pas avoir à traiter), car nulle part il n'y a d'éléments qui "calment" les variations de I (une self par exemple)...donc tu es totalement tributaire du temps de réponse de l'AOP, des capas parasites du MOS, des temps de retard liés aux échantillonnages des mesures etc... j'aurais peur que ça devienne un oscillateur...(bon apparemment ce n'est pas le cas...tant mieux )
    - Les temps caractéristiques de la boucle de tension sont comparables aux temps caractéristiques de la boucle de courant filtrée (tout ce qui est après "consigne")...(RC de mesure tension et RC de consigne courant sont quasi identiques) ... en général, on s'arrange pour que la boucle externe soit lente devant la boucle interne d'un facteur 10 au moins (ce n'est pas une obligation mathématique, mais on sait faire des choses dans cette config).


    Du coup je ne vois pas ce qui empêche de travailler direct avec une boucle de tension car d'abord, moins on met de contreréaction, moins on a de chances de se planter, et ici, il n'y pas de variable d'état 'courant' : si on met le système en équation, la seule variable d'état physique qui apparaitra sera la tension de mesure (RC), et les éléments parasites du MOS si on veut regarder du coté de la HF...si on veut bien faire les chose on met une capa en sortie histoire que l'on ait une variable d'état 'tension de sortie' dont on connait bien la dynamique (comportement intégrateur dans le cas le + déstabilisant)...En plus avec une seule boucle on sera potentiellement plus rapide (on ne sera pas obligé de faire une boucle de tension volontairement ralentie).

    Après c'est peut être un peu trop scolaire comme approche, et il y a peut etre des tas de contre exemples, mais je crois qu'il est vain de vouloir réguler une variable qui n'est pas une variable d'état.

  18. #17
    invite2313209787891133
    Invité

    Re : Réglage regulateur PID

    Citation Envoyé par ftorama Voir le message
    Comme me l'avait dit un vieux briscard de la régulation pneumatique:
    "Quelque-soit la méthode que tu utilises , tu finiras par tout bidouiller au pif, alors autant commencer directement par là"

    Plus sérieusement, une méthode que j'avais retenu:
    - on part de Kp=1, Ki=0, Kd=0
    - on règle Kp jusqu'au max pour avoir un début d'oscillation
    - on ajoute du Ki pour annuler l'erreur de position et supprimer l'oscillation
    - on s'arrête dès que le dépassement devient important
    - on ajoute éventuellement un peu de Kd pour réduire l'overshoot
    - au final on retouche Kp et Ki pour affiner le résultat

    Donc on finit par bidouiller, mais on part sur une bonne base

    Les réponses que tu montres me paraissent très mauvaises vu le régime pseudo-oscillatoire, on est à deux doigts de l'instabilité là

    Un lien bien pratique:
    http://linuxcnc.org/docs/html/motion_pid_theory_fr.html
    La démarche est presque bonne, mais cette méthode ne donnera pas des paramètres optimaux : Il ne faut pas monter aussi haut en P, sous risque de voir le système partir en oscillation suite à une perturbation un peu plus forte.
    Par ailleurs en ajoutant du I on ne va pas atténuer le pompage on va plutôt l'augmenter.

    On commence avec D = 0sec, I= le plus possible (si l'action est une base de temps, sinon 0 si c'est un coefficient).
    On augmente P jusqu'à obtenir un pompage régulier (=gain critique); on note la période du pompage = T
    On règle P = 0.2 à 0.5 fois le gain critique, I =0.4 T et D = 0.2 T.

  19. #18
    Forhorse

    Re : Réglage regulateur PID

    Citation Envoyé par erff Voir le message
    Re


    Du coup je ne vois pas ce qui empêche de travailler direct avec une boucle de tension car d'abord, moins on met de contreréaction, moins on a de chances de se planter, et ici, il n'y pas de variable d'état 'courant' : si on met le système en équation, la seule variable d'état physique qui apparaitra sera la tension de mesure (RC), et les éléments parasites du MOS si on veut regarder du coté de la HF...si on veut bien faire les chose on met une capa en sortie histoire que l'on ait une variable d'état 'tension de sortie' dont on connait bien la dynamique (comportement intégrateur dans le cas le + déstabilisant)...En plus avec une seule boucle on sera potentiellement plus rapide (on ne sera pas obligé de faire une boucle de tension volontairement ralentie).
    Euh... oui peut-être... (j'ai rien compris !)
    C'est quoi "travailler direct avec une boucle de tension"

  20. #19
    invite29971eb1

    Re : Réglage regulateur PID

    Citation Envoyé par Dudulle Voir le message
    La démarche est presque bonne, mais cette méthode ne donnera pas des paramètres optimaux : Il ne faut pas monter aussi haut en P, sous risque de voir le système partir en oscillation suite à une perturbation un peu plus forte.
    Par ailleurs en ajoutant du I on ne va pas atténuer le pompage on va plutôt l'augmenter.

    On commence avec D = 0sec, I= le plus possible (si l'action est une base de temps, sinon 0 si c'est un coefficient).
    On augmente P jusqu'à obtenir un pompage régulier (=gain critique); on note la période du pompage = T
    On règle P = 0.2 à 0.5 fois le gain critique, I =0.4 T et D = 0.2 T.
    N'oublie pas la dernière étape....la bidouille

    Citation Envoyé par Antoane
    Envoyé par un gars qui était en train de régler une machine-outils dans l'atelier du lycée
    Je n'y connais rien en asservissement : je tourne les potentiomètres et trouve le bon réglage, principalement à l'oreille
    ça me rappelle un truc qui n'a rien à voir...un ami avait conçu une sorte d'orgue à cristal qui frappait (doucement quand même) des verres remplis d'eau avec des vérins pour produire diverses mélodies. En début d'exposition, il était en train d'accorder l'engin, en faisant les niveaux d'eau, la tête dans l'orgue et concentré sur chaque note. Ce qu'il n'avait pas vu, c'est que la fanfare municipale était arrivé quelques mètres derrière lui pour l'inauguration de l'expo

    J'ai bien cru que l'orgue allait disparaitre avant même d'avoir fonctionné

  21. #20
    erff

    Re : Réglage regulateur PID

    Re

    Bon désolé si je ne suis pas clair :

    - Ce que je veux dire c'est que normalement on ne s'amuse à réguler que les grandeurs physiques qui sont des variables d'état (tension dans un condensateur, courant dans une self) càd des variables intervenant dans le vecteur d'état du système (à tous les coups, il y a des exceptions...mais bon).
    Par exemple, il est impossible de réguler (techniquement parlant) un courant dans une résistance, s'il n'y a pas de self derrière, ni une tension aux bornes d'une résistance s'il n'y a pas de capa en parallèle avec celle-ci (c'est pour cela qu'on met des condo en sortie des régulateurs 78xx p.ex).

    - Physiquement, les self parasites, capas parasites existent donc on a envie de dire que toute grandeur électrique est grandeur d'état, mais les équations de comportement sont impossibles à déterminer de manière sure...on préfère réguler une tension dans un condo que l'on a mis, et dont la valeur est suffisamment importante pour tuer les oscillations HF et donner de 'l'inertie' au système, que réguler une tension en comptant sur les capas parasites qui font de cette tension une grandeur d'état.

    Dans le schéma proposé, si on met le système sous sa représentation d'état, le vecteur d'état ne contient que les courant/tension dans les éléments parasites du système, car on est obligé de descendre à ce niveau d'analyse si on veut exhiber des équa-diff.


    "Travailler direct avec une boucle de tension" = Ne mettre qu'une régulation de tension. En gros ton système sans boucle de courant (puisque le courant n'est pas grandeur d'état, et que donc ses variations peuvent être arbitrairement brusques ou presque). Un condo entre la tension de sortie et la masse, une mesure de tension avec un pont résistif, et puis le correcteur codé dans le PIC...(+ éventuellement quelques zéros si le truc a encore tendance à l'instabilité)

    Bref, je ne prétends pas donner LA solution, mais je voulais seulement souligner les trucs qui me paraissaient bizarres (notamment le fait de réguler une grandeur qui n'est pas grandeur d'état).

  22. #21
    Forhorse

    Re : Réglage regulateur PID

    Je pense que c'est déjà ce que je fais, ou alors j'ai rien compris.
    La mesure du courant est faite mais n'intervient strictement pas dans la régulation, c'est juste pour affichage.
    J’agis sur le courant parce que, je pense ne pas avoir le choix pour faire varier la tension dans le système que je "modélise" mais c'est bien la tension que je mesure et que je régule.

  23. #22
    erff

    Re : Réglage regulateur PID

    Alors au temps pour moi, j'étais parti dans l'idée que tu imbriquais une boucle de tension et une de courant (#16) dans ta régul.

    Du coup la seule chose qui me parait encore bizarre c'est l'absence de condo sur la tension de sortie (car le correcteur, pour être calculé, aura besoin du comportement de la partie physique, et si on néglige les éléments parasites, elle est infiniment rapide).

    EDIT : correction ; la partie physique est déterminée par le filtre PWM...

  24. #23
    Forhorse

    Re : Réglage regulateur PID

    Alors en fait, pour expliquer certaine "bizarrerie" de mon schéma, je dois vous expliquer le but (je ne pensais pas que ce soit nécessaire mais ça permet comme ça de comprendre tous les tenants et les aboutissants du truc...)

    En fait, j'utilise la source de tension d’impédance nulle VCC et la résistance R9 de 1ohms pour modéliser grossièrement une batterie sur laquelle est connectée un chargeur (très théorique hein, c'est pas un projet réel)
    Le but est dons simuler la régulation de tension d'une batterie au plomb chargé par une source de courant quelconque ayant un impédance non négligeable et pour laquelle ont a une obligation de débit de courant.
    Si on laisse cette source courant débiter dans la batterie, il va se produire une surtension destructrice pour la batterie.
    Le but est donc d'absorber ce surplus de production et de maintenir la tension au bornes de la batterie à un niveau acceptable. (ici les valeurs sont totalement aléatoire, c'est juste pour valider le modèle)

    Dans mon vrai projet j'utilise de MOSFET en commutation piloté en PWM qui alimentent une résistance ballast (c'est le sujet d'un ancien topic)
    Mais le problème de régulation est quasi identique...
    Je voulais simplement essayer, en simulation, d'utiliser les MOSFET aussi comme élément de dissipation de l’énergie.

  25. #24
    erff

    Re : Réglage regulateur PID

    Bonjour,

    Je vous transmets les pdf en PJ

    Le premier aborde les aspects théoriques, et le second bien que basé sur l'utilisation d'un CI propose une méthode de dimensionement d'un correcteur numérique pour un moteur (ça s'étend à bcp d'autres systèmes).

    Bonne lecture !
    Fichiers attachés Fichiers attachés

  26. #25
    Forhorse

    Re : Réglage regulateur PID

    Super ! merci beaucoup !

Discussions similaires

  1. Régulateur PID
    Par invite0c29e916 dans le forum Programmation et langages, Algorithmique
    Réponses: 1
    Dernier message: 12/03/2011, 21h39
  2. Régulateur pid
    Par invite93b6780b dans le forum Électronique
    Réponses: 9
    Dernier message: 25/04/2010, 14h51
  3. PID régulateur
    Par invitea3e5f877 dans le forum Technologies
    Réponses: 7
    Dernier message: 24/11/2008, 21h38
  4. Régulateur PID
    Par Bonnes perspectives dans le forum Électronique
    Réponses: 9
    Dernier message: 18/10/2008, 13h13
  5. régulateur PID
    Par invitea821b3a8 dans le forum Physique
    Réponses: 3
    Dernier message: 12/06/2007, 13h03
Dans la rubrique Tech de Futura, découvrez nos comparatifs produits sur l'informatique et les technologies : imprimantes laser couleur, casques audio, chaises gamer...