FriconiX
Des milliers de pictogrammes gratuits dessinés avec amour!

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 :

Schéma d'un système en boucle fermée avec correcteur

C est le correcteur du système que nous allons dimensionner dans la suite de cette page :

Close loop transfer function

La fonction de transfert en boucle fermée 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} } $$

où \( \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} }$$

où \( \Delta \) est la période d’échantillonage et \( \tau_c \) a 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é

Te 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 < \dfrac{2}{b} $$

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

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} $$

Cette équation peut être reformulée :

$$ (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} $$

où :

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

Réponse des systèmes en boucle ouverte et en boucle fermée

Téléchargement

Voici un script MATLAB qui permet de simuler la réponse des systèmes en boucle ouverte et en boucle fermée :

pi-first-order.m

Voir aussi


Dernière mise à jour : 24/01/2021