Asservissement PI pour un système du premier ordre

Introduction

Le but de ce post est d’expliquer et de démontrer comment calculer un correcteur PI (proportionel-intégral) pour un système du premier ordre. Considérons le système à asservir avec pour fonction de transfert G, le système en boucle fermé est donné par le schéma suivant:

ClosedLoopControl

Fonction de transfert en boucle fermée

La fonction de transfert du stystème est donnée par:

 \frac{y}{y_c} = \frac {CG}{1+CG}

comme G est modélisé par un système du premier ordre, sa fonction de transfert est donnée par:

 G=\frac{b}{z-a} = \frac{b} { z-e^{-\Delta/\tau} }

\Delta est la période d’échantillonage et \tau la constante de temps du système en boucle ouverte.

C est le correcteur PI, sont équation est donnée par:

 C=K . \frac{z-a}{z-1}

La fonction de tranfert du système en boucle fermée devient:

  \frac{y}{y_c} = \frac { K  \frac{z-a}{z-1} \frac{b}{z-a} }{1+ K  \frac{z-a}{z-1} \frac{b}{z-a}}

L’équation précédente peut être simplifiée:

  \frac{y}{y_c} = \frac { K  \frac{b}{z-1}  }{1+ K  \frac{b}{z-1} }

La nouvelle fonction de transfert est donnée par:

  \frac{y}{y_c} = \frac { Kb }{ z -1 + Kb }

Gain statique du système en boucle fermée

Considérons la réponse du système en boucle fermée à une entrée de type échelon unitaire (\frac{z}{z-1}):

 y(z) = \frac { zKb }{ (z -1 + Kb)(z-1) }

D’après le théorème de la valeur finale (transformée en z), le gain statique du système est donné par:

 \lim\limits_{z \to 1} (z-1).y(z) = \lim\limits_{z \to 1} \frac { zKb(z-1) }{ (z -1 + Kb)(z-1) } = \lim\limits_{z \to 1} \frac { zKb }{ (z -1 + Kb) } = 1

Comme le gain statique du système est équal à 1, l’erreur statique est nulle.

Constante de temps du système en boucle fermée

Le système en boucle fermée est aussi un premier ordre :

  \frac{y}{y_c} = \frac { Kb }{ z -1 + Kb } = \frac { Kb }{ z - e^{-\Delta/\tau_c} }

\Delta est la période d’échantillonage et \tau_c la constante de temps du système en boucle fermée. Il est à noter que \tau_c peut être inférieur à \tau (la constante de temps du système en boucle ouverte). Si \tau_c<\tau le système est plus vif, (mais consomme plus d’énergie). En pratique, \tau_c=\tau/2 est un bon compromis. D’après l’équation précédente :

 1-Kb = e^{-\Delta/\tau_c}

et :

 K= \frac {1-e^{-\Delta/\tau_c}} {b}

Pour obtenir le même temps de réponse en boucle ouverte et en boucle fermée, l’équation précédente devient:

 K= \frac {1-a} {b}

Stabilité

Le système est stable si tous ses pôles sont situés à l’intérieur du cercle unité. Ici, comme le système est du premier ordre, il n’y a qu’un seul pôle : 1-Kb. Le système est stable si:

 -1<1-Kb<1

Cette équation peut être reformulée :

 0<Kb<2

et :

 0<K<\frac{2}{b}

Il est à noter que si  K est calculé depuis  \tau_c (K= \frac {1-e^{-\Delta/\tau_c}} {b} ), le terme e^{-\Delta/\tau_c} est inclus dans l’interval [0,1[ et le système est nécessairement stable car il en découle que 0<Kb\le1.

Domaine échantillonné

La fonction de transfert du correcteur exprimée dans le domaine échantillonné est donnée par:

 \frac{u(z)}{\epsilon(z)} =  K . \frac{z-a}{z-1}

 (z-1)u(z) =  K(z-a)\epsilon(z)

 z.u(z) - u(z) =  K.z.\epsilon(z) -K.a.\epsilon(z)

 z.u(z) = K.z.\epsilon(z) - K.a.\epsilon(z) + u(z)

Exprimons maintenant l’équation précédente dans le domaine discret:

 u_{n+1}= K\epsilon_{n+1} - K.a.\epsilon_n + u_{n}

ou :

 u_{n}= K\epsilon_{n} - K.a.\epsilon_{n-1} + u_{n-1}

Vidéo

Téléchargement

Remerciements

Je tiens à remercier Laurent Hardouin de l’Université d’Angers pour son aide et ses explications.

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *