Skip to content

Exercice 1 : Correcteurs PI, PD, PID

🌐 Énoncé du problème / Cadre d’étude

Section titled “🌐 Énoncé du problème / Cadre d’étude”

On s’intéresse à l’asservissement en position d’un axe vertical d’un robot manipulateur industriel, utilisé dans le cadre d’une chaîne de production automatisée. Le schéma bloc du système asservi est donné par une boucle de retour unité (H(p)=1H(p) = 1).

L’actionneur et la charge mécanique sont modélisés par une fonction de transfert du premier ordre avec un temps de réponse caractéristique : G(p)=Kτp+1G(p) = \frac{K}{\tau p + 1} où :

  • K=2 V−1⋅radK = 2\, \text{V}^{-1}\cdot\text{rad} (gain statique du procédé).
  • τ=0,1 s\tau = 0{,}1\, \text{s} (constante de temps).

L’objectif de l’étude est de comparer les performances du système en boucle fermée selon le type de correcteur C(p)C(p) utilisé : proportionnel simple (P), proportionnel-intégrateur (PI), proportionnel-dérivé (PD) ou PID. Le cahier des charges impose une erreur statique nulle pour une entrée en échelon, et une amélioration de la rapidité et de la stabilité par rapport au correcteur P.


  1. Étude du système non corrigé (Correcteur P)

    • On choisit un correcteur purement proportionnel : C(p)=KpC(p) = K_p.
    • Exprimer la fonction de transfert en boucle fermée FBF(p)F_{\text{BF}}(p) du système.
    • Déterminer l’erreur statique εs\varepsilon_s pour une consigne en échelon d’amplitude E0E_0.
    • Quelle valeur minimale de KpK_p faut-il choisir pour garantir une erreur statique inférieure à 5%5\% ? Quel est l’inconvénient majeur d’une augmentation excessive de KpK_p sur un système réel ?
  2. Apport d’un correcteur Proportionnel-Intégrateur (PI)

    • Afin d’annuler l’erreur statique sans pour autant augmenter excessivement le gain proportionnel, on adopte un correcteur PI de la forme : C(p)=Kp(1+1Tip)C(p) = K_p \left(1 + \frac{1}{T_i p}\right).
    • Exprimer la fonction de transfert en boucle ouverte (FTBO) du système corrigé. Quel est l’ordre du système en boucle ouverte ? Quelle est sa nouvelle classe ? En déduire l’impact sur l’erreur statique pour une entrée en échelon.
    • On choisit d’annuler le pôle dominant du procédé en posant Ti=τT_i = \tau. Exprimer alors la fonction de transfert en boucle fermée FBF, PI(p)F_{\text{BF, PI}}(p).
    • Déterminer l’expression du temps de réponse à 5%5\% de ce système en fonction de KpK_p, KK et τ\tau. Conclure sur l’intérêt de ce réglage (technique de compensation de pôle).
  3. Apport d’un correcteur Proportionnel-Dérivé (PD)

    • Pour améliorer la rapidité et l’amortissement du système, on utilise maintenant un correcteur PD sous la forme : C(p)=Kp(1+Tdp)C(p) = K_p (1 + T_d p), où TdT_d est le temps d’action dérivée.
    • Déterminer la fonction de transfert en boucle fermée FBF, PD(p)F_{\text{BF, PD}}(p) et l’exprimer sous la forme canonique d’un système du second ordre : FBF(p)=KBFp2ωn2+2zωnp+1F_{\text{BF}}(p) = \frac{K_{\text{BF}}}{\frac{p^2}{\omega_n^2} + \frac{2z}{\omega_n}p + 1}
    • Exprimer la pulsation propre ωn\omega_n et le coefficient d’amortissement zz en fonction de KK, τ\tau, KpK_p et TdT_d.
    • Montrer que le terme dérivé permet d’agir directement sur l’amortissement zz sans modifier l’ordre du système en boucle fermée.
  4. Synthèse d’un correcteur PID complet

    • On souhaite cumuler les avantages des deux actions précédentes en utilisant un correcteur PID idéal : C(p)=Kp(1+1Tip+Tdp)C(p) = K_p \left(1 + \frac{1}{T_i p} + T_d p\right)
    • Écrire la fonction de transfert en boucle ouverte. Préciser la classe du système et la valeur de l’erreur statique pour un échelon.
    • Proposer une stratégie de réglage (paramétrage) pour simplifier l’analyse de la boucle fermée, en s’inspirant des questions précédentes.

💡 Pistes & Indications méthodologiques

Section titled “💡 Pistes & Indications méthodologiques”
  • Rappel de cours indispensable : L’erreur statique se calcule via le théorème de la valeur finale (pour une entrée échelon) ou directement en fonction de la classe du système FTBO(p)=N(p)pαD(p)FTBO(p) = \frac{N(p)}{p^\alpha D(p)}.
  • Compensation de pôle : Lorsque le numérateur d’un correcteur contient un terme qui s’annule avec un pôle de la chaîne directe (le procédé), cela simplifie l’expression mathématique mais nécessite une attention particulière sur la robustesse en pratique (modélisation exacte).
  • Identification canonique : Identifiez toujours par identification terme à terme les coefficients du dénominateur du second ordre avec 1ωn2p2+2zωnp+1\frac{1}{\omega_n^2}p^2 + \frac{2z}{\omega_n}p + 1.

1. Étude du système non corrigé (Correcteur P)

Section titled “1. Étude du système non corrigé (Correcteur P)”
  • La FTBO est : FTBO(p)=C(p)G(p)H(p)=KpKτp+1\text{FTBO}(p) = C(p)G(p)H(p) = \frac{K_p K}{\tau p + 1}.
  • La fonction de transfert en boucle fermée est : FBF(p)=FTBO(p)1+FTBO(p)=KpKτp+11+KpKτp+1=KpKτp+1+KpK=KpK1+KpKτ1+KpKp+1F_{\text{BF}}(p) = \frac{\text{FTBO}(p)}{1 + \text{FTBO}(p)} = \frac{\frac{K_p K}{\tau p + 1}}{1 + \frac{K_p K}{\tau p + 1}} = \frac{K_p K}{\tau p + 1 + K_p K} = \frac{\frac{K_p K}{1 + K_p K}}{\frac{\tau}{1 + K_p K}p + 1}
  • Erreur statique pour un échelon d’amplitude E0E_0 : ε(p)=E0p(1−FBF(p))  ⟹  εs=lim⁡p→0p⋅ε(p)=E0(1−KpK1+KpK)=E01+KpK\varepsilon(p) = \frac{E_0}{p} \left(1 - F_{\text{BF}}(p)\right) \implies \varepsilon_s = \lim_{p\to 0} p \cdot \varepsilon(p) = E_0 \left(1 - \frac{K_p K}{1 + K_p K}\right) = \frac{E_0}{1 + K_p K}
  • Condition sur KpK_p : εsE0=11+2Kp≤0,05  ⟹  1+2Kp≥20  ⟹  Kp≥192=9,5 V⋅rad−1\frac{\varepsilon_s}{E_0} = \frac{1}{1 + 2K_p} \le 0{,}05 \implies 1 + 2K_p \ge 20 \implies K_p \ge \frac{19}{2} = 9{,}5\, \text{V}\cdot\text{rad}^{-1} Inconvénient : Augmenter KpK_p améliore la précision, mais amplifie le bruit de mesure et risque de saturer la commande (actionneurs réels limités en tension/courant) ou de provoquer des instabilités en présence de retards non modélisés.

2. Apport d’un correcteur Proportionnel-Intégrateur (PI)

Section titled “2. Apport d’un correcteur Proportionnel-Intégrateur (PI)”
  • FTBO(p)=Kp(1+1Tip)Kτp+1=KpK(Tip+1)Tip(τp+1)\text{FTBO}(p) = K_p \left(1 + \frac{1}{T_i p}\right) \frac{K}{\tau p + 1} = \frac{K_p K (T_i p + 1)}{T_i p (\tau p + 1)}.
  • Le système en boucle ouverte est d’ordre 22 et de classe 1 (présence d’un intégrateur pur pp au dénominateur).
  • L’erreur statique pour un échelon est donc nulle (εs=0\varepsilon_s = 0).
  • Si on choisit Ti=τT_i = \tau, le terme (Tip+1)(T_i p + 1) au numérateur de la FTBO simplifie le pôle (τp+1)(\tau p + 1) du procédé. La fonction de transfert en boucle ouverte devient : FTBOsimplifieˊe(p)=KpKτp\text{FTBO}_{\text{simplifiée}}(p) = \frac{K_p K}{\tau p}
  • La fonction de transfert en boucle fermée devient alors un système du premier ordre : FBF, PI(p)=KpKτp1+KpKτp=1τKpKp+1F_{\text{BF, PI}}(p) = \frac{\frac{K_p K}{\tau p}}{1 + \frac{K_p K}{\tau p}} = \frac{1}{\frac{\tau}{K_p K}p + 1}
  • Le temps de réponse à 5%5\% d’un premier ordre est tr5%=3τBF=3τKpKt_{r5\%} = 3\tau_{\text{BF}} = \frac{3\tau}{K_p K}. Conclusion: Ce réglage permet d’annuler l’erreur statique tout en conservant un comportement de système du premier ordre (pas de dépassement), avec une rapidité ajustable par le gain KpK_p.

3. Apport d’un correcteur Proportionnel-Dérivé (PD)

Section titled “3. Apport d’un correcteur Proportionnel-Dérivé (PD)”
  • FTBO(p)=KpK(1+Tdp)τp+1\text{FTBO}(p) = \frac{K_p K (1 + T_d p)}{\tau p + 1}.
  • La fonction de transfert en boucle fermée est : FBF, PD(p)=KpK(1+Tdp)τp+1+KpK(1+Tdp)=KpK(1+Tdp)(1+KpK)+(τ+KpKTd)pF_{\text{BF, PD}}(p) = \frac{K_p K (1 + T_d p)}{\tau p + 1 + K_p K (1 + T_d p)} = \frac{K_p K (1 + T_d p)}{(1 + K_p K) + (\tau + K_p K T_d)p} Mettons-la sous forme canonique du second ordre en divisant par (1+KpK)(1 + K_p K) : FBF, PD(p)=KBFτ1+KpKp2 (erreur d’eˊcriture, c’est un 1er ordre ? Oups, attention !F_{\text{BF, PD}}(p) = \frac{K_{\text{BF}}}{\frac{\tau}{1 + K_p K}p^2 \text{ (erreur d'écriture, c'est un 1er ordre ? Oups, attention !}} Rectification rigoureuse : Le correcteur PD en série avec un premier ordre donne un numérateur en pp de degré 1, et un dénominateur en pp de degré 1… Attends, 1+FTBO1 + \text{FTBO} a un dénominateur en (τp+1)(\tau p + 1), donc le dénominateur de FBFF_{\text{BF}} est (τ+KpKTd)p+(1+KpK)(\tau + K_p K T_d)p + (1 + K_p K), qui reste un premier ordre ! Note d’examinateur : Pour obtenir un second ordre avec un correcteur PD, il faut que le procédé initial soit lui-même au moins du second ordre, ou que l’on considère un système avec un capteur dynamique. Avec un procédé du 1er ordre, le PD n’augmente pas l’ordre mais modifie la constante de temps : τBF=τ+KpKTd1+KpK\tau_{\text{BF}} = \frac{\tau + K_p K T_d}{1 + K_p K}. Le terme dérivé TdT_d permet de réduire cette constante de temps et donc d’accélérer le système, au détriment d’une sensibilité accrue aux bruits de haute fréquence.

4. Synthèse d’un correcteur PID complet

Section titled “4. Synthèse d’un correcteur PID complet”
  • FTBO(p)=Kp(1+1Tip+Tdp)Kτp+1=KpK(TdTip2+Tip+1)Tip(τp+1)\text{FTBO}(p) = K_p \left(1 + \frac{1}{T_i p} + T_d p\right) \frac{K}{\tau p + 1} = \frac{K_p K (T_d T_i p^2 + T_i p + 1)}{T_i p (\tau p + 1)}.
  • Classe : Le système est de classe 1 (grâce à l’action intégratrice 1Tip\frac{1}{T_i p}), garantissant une erreur statique nulle en régime permanent pour une consigne en échelon.
  • Stratégie de réglage : Par compensation, si l’on choisit le régulateur de manière à ce que l’un des zéros du PID compense le pôle du procédé (τ=Ti\tau = T_i ou placement de pôles par identification polynomiale), on s’affranchit de la dynamique lente du procédé pour imposer des performances dynamiques propres (amortissement zz et pulsation ωn\omega_n souhaités via le choix conjugué de KpK_p, TiT_i et TdT_d).