Page Personnelle de Vincent Kerhoas
Vincent Kerhoas
Professeur Agrégé
Page Personnelle de Vincent Kerhoas

Réglage (Rapide) d’un Correcteur PI

Le schéma simplifié d’un asservissement est le suivant

identification

Le systéme à Asservir regroupe donc Le moteur, le variateur, les périphériques ; éventuellement une boucle de courant.

Modélisation du Systéme à Asservir

Avant tout calcul de correcteur, il est nécessaire d’avoir une idée du modèle du système à asservir (le plus simple étant le premier ordre \(\frac{G}{1+\tau .s}\)

Un simple essai indiciel suffit donc à déterminer le Gain et la Constante de temps du système à asservir :

identification

On envoie donc un échelon sur Iq* (consigne de l’image du courant) et on observe N (image de la vitesse). Le gain G correspond au rapport entre le régime continu de la mesure et l’amplitude de l’échelon de commande. La constante de temps \( \tau \) correspond au temps nécessaire pour que la mesure atteigne 63% du régime continu.

A noter que la période d’échantillonnage du correcteur doit être au moins 10 fois plus petite que \( \tau \) (afin de “voir” les transitoires précisément).

Détermination d’un correcteur PI

De manière générale, asservir (boucler) un système peut entrainer de l’instabilité.

On considère le système suivant, FTBO(s) système à asservir :

identification

Si le module de FTBO(s) est inférieur à -1, on soustrait à la consigne une valeur négative, ce qui a pour conséquence de rendre l’ensemble instable.

Par ailleurs la consigne étant généralement soit un échelon soit une rampe, constitué d’une somme de sinusoïdes de différentes fréquences (cf. décomposition en séries de fourrier) , il peut exister une fréquence pour laquelle on s’approche dangereusement de ce point -1.

Tout le problème de l’automatique est de veiller à respecter une certaine distance vis-à-vis de ce point.

Le diagramme de Nyquist représente le tracé de FTBO(s) pour l’ensemble des fréquences :

identification

La marge de phase correspond à la distance entre le point -1 et la courbe de FTBO lorsque cette dernière coupe le cercle de rayon 1.

Cette marge de phase est également visible (et plus facilement mesurable) sur le bode de FTBO :

identification

Un critère de réglage d’un correcteur peut donc être l’observation de cette marge de phase.

identification

Rappel des différentes caractéristiques d’une réponse d’un système :

Un correcteur PI possède une intégration, ce qui permet de régler le problème de l’erreur statique. En contrepartie il ralentit le système, on veillera donc à respecter une marge de phase suffisante mais pas trop grande non plus (plus la marge de phase est grande, plus la réponse et lente et les risques de saturation augmentent).

Ci-dessous figurent les bodes du correcteur PI et de FTBO tel que la constante de temps du correcteur PI vaut 0.1*\( \tau \)

\( PI(s)=K _{1}+\frac{K _{2}}{s} \)

On préfèrera la forme : \( PI(s)=K _{p}.\frac{\omega _{i}}{s}.(1+\frac{s}{\omega _{i}}) \)

avec :
\( K _{p}=K _{1} \)
\( \omega _{i}=\frac{K _{1}}{K _{2}}=\frac{1}{T _{i}} \)

identification

L’association de ces deux blocs donne :

identification

La constante de temps du correcteur étant fixée, le tracé de la phase est figé, on peut alors jouer sur le gain du correcteur pour modifier le module du système corrigé en boucle ouverte et de fait régler la marge de phase.

Pour une marge de phase de 45° on a la réponse temporelle suivante :

identification


Les fichiers de calcul ci dessous reprennent la méthode décrite ; il suffit de modifier les paramètres du système identifié en boucle ouverte, puis modifier le gain du correcteur PI pour avoir une marge de phase correcte. A noter qu’il s’agit d’un PI ANALOGIQUE.

PYTHON

CALCUL_PI.py

OCTAVE / MATLAB

CALCUL_PI.m

SCILAB

CALCUL_PI.sce


Correcteur Numérique

identification

Discrétisation

\( K _{i}=\frac{T _{e}}{T _{i}} \)

\( u _{p}[n]=K _{p}.\epsilon[n] \)

\( u _{i}[n]=u _{i}[n-1] + K _{p}.K _{i}.\epsilon[n] \)

\( cde[n]=u _{p}[n] + u _{i}[n] \)


Vérification

On a supposé jusqu’à présent un système parfaitement linéaire.
En réalité il existe toujours des saturations.
Il faut donc vérifier l’allure de la commande, en s’assurant que cette dernière ne sature pas.

Vérification avec scilab-xcos :

sys_corr.zcos
contexte.sce

identification