Vous êtes sur la page 1sur 12

Ecole polytechnique de l’Université de Nantes TP Systèmes échantillonnés N.

Aït-Ahmed
Département GE

Travaux Pratiques d’Automatique

TP n° 1 : Conception et mise œuvre d’un PID numérique

TP n° 2 : Régulation numérique de la vitesse d’un moteur CC


TP n° 3 : Commande “ RST ” d'une centrale hydroélectrique

Remarque :
• Il est demandé aux étudiants de préparer la partie théorique chez eux et de
rendre les comptes rendus à la fin de chaque séance.
• Le compte rendu doit être clair ; la structure conseillée est la suivante :

Introduction
Objectifs
Etude théorique - Solution proposée
Test - Résultats - Analyse des résultats
Conclusion

• L’existence de courbes inutiles dans le compte rendu, sera sanctionnée par des
points en moins sur la note du rapport.

Répartition des TP :

N° TP 1 2 3
N°Binôme
1 1 2 3
2 1 2 3
3 1 2 3
4 1 2 3
5 1 2 3
6 1 2 3
7 1 3 2
8 1 3 2
9 1 3 2
10 1 3 2
11 1 3 2
Ecole polytechnique de l’Université de Nantes TP Systèmes échantillonnés N. Aït-Ahmed
Département GE

TP N°1 : Conception et mise en œuvre d’un PID numérique

Le système étudié dans ce TP est un actionneur électrique. Le modèle suivant a été


 .    34 
x = Ax + Bu  − 180 − 23     
obtenu par identification : (Sc)  , avec: A =   , B =   , C =  0 1
 y = Cx  205 − 1.4   0  

u représente la tension (en V) appliquée à l’actionneur et y sa vitesse angulaire (rad/s).

I- Etude préliminaire : (à préparer avant la séance)


b0 b0
Soit le système du second ordre : G ( p ) = =
p + a1 p + a 0
2
( p − p1 )( p − p 2 )
1
Déduire les coefficients du régulateur PID analogique : C ( p) = k p (1 +
+ Td p) , permettant
Ti p
d’imposer en boucle fermée le comportement d’un système du premier ordre de temps de
réponse tr .

II- Discrétisation du processus :


1. Calculer les valeurs propres de la matrice A (Fonction Matlab à utiliser : eig ). Déduire la
période d’échantillonnage maximale théorique Temax applicable au système.

2. Considérons le modèle d’état discret obtenu par échantillonnage du système continu


 x(k + 1) = Ad x(k ) + Bd u (k )
précédent (Sc) : (Sd) 
 y (k ) = C d x(k )
Calculer à l’aide de MATLAB :
a- Les matrices Ad, Bd, Cd du système échantillonné à la période Te=Temax/2 lorsqu’un
bloqueur d’ordre zéro est utilisé (Fonction Matlab : c2dm ou c2d).
b- Les pôles du système discrétisé. Vérifier la relation qui lie les pôles discrets aux pôles
continus.

3. Simuler, en utilisant la figure 1, à l’aide de SIMULINK, la réponse indicielle du système


échantillonné pour différentes périodes d’échantillonnage : Te=2Temax, Te=Temax,
Te=Temax/2, Te=Temax/10. Conclure

u(t) y(t)
u(k) y(k)
CNA Système CAN
(A,B,C)

Te

Figure 1: système discret

III- Calcul d’un PID numérique par discrétisation :


4. A partir de la fonction ss2tf déduire la fonction de transfert G(p) du système continu (Sc).
Calculer, en utilisant les résultats obtenus lors de l’étude préliminaire, les paramètres du
Ecole polytechnique de l’Université de Nantes TP Systèmes échantillonnés N. Aït-Ahmed
Département GE

régulateur PID analogique permettant d’imposer au système en boucle fermée un temps de


réponse tr=Temax.
Simuler la réponse du système asservi à un échelon de consigne de vitesse de 200 (rad/s)
( Figure 2).

Kp
yc u(t) y(t)
+
1 + Processus
- Ti p

d
Td
dt

PID analogique

Figure 2: asservissement analogique


1 − z −1
5. Déduire le PID numérique discrétisé correspondant en remplaçant p par .
Te

Kp
u(t)
yc + u(k) y(t)
1 Te + CNA Processus
- Ti 1 − z −1

Te
1 − z −1
Td
Te Te

PID numérique y(k)


CAN

Figure 3: asservissement numérique

Observer la réponse indicielle du système bouclé (échelon de consigne de 200 rad/s) pour
Te max Te max
Te = et Te = . Comparer avec la réponse indicielle obtenue avec celle obtenue par
2 10
le PID analogique. Commenter.

IV- Problème de mise en œuvre :


6. En pratique, il y a toujours des bruits de mesure (les capteurs ne sont pas idéaux) pouvant être
modélisés comme perturbation additionnelle sur la sortie.

a)- Ajouter un bruit haute fréquence sur la mesure de la sortie du système comme indiqué sur
la figure 4 et observer son incidence sur le comportement de la boucle fermée.
On pourra modéliser la perturbation par : d (t ) = 20 sin(Ωt ) avec Ω = 3Ω e + 130 .
Ecole polytechnique de l’Université de Nantes TP Systèmes échantillonnés N. Aït-Ahmed
Département GE

y(k) u(k) u(t)


+ PID y(t)
numérique CAN Système
-
CNA +
y(k) +
d(t)
Figure 4. Asservissement numérique (avec de perturbation)

b)- Insérer un filtre passe bas sur la sortie bruitée et observer la réponse du système. Quel est
le rôle de ce filtre ?

7. On considère que la commande ne doit pas excéder 200 en valeur absolue (contrainte sur
l’actionneur). Inclure une saturation en entrée du système, supprimer tout ce qui est bruit de
mesure, et observer son incidence sur : la commande du système, la sortie, l’action intégrale
du PID. Conclure.

y(k) u(k) usat(k) u(t)


+ PID y(t)
numérique Saturation CAN Système
-
CNA +
y(k) +
d(t)
Figure 5. Commande avec saturation

8. Question optionnelle : en pratique, il est nécessaire de corriger l’action intégrale pendant la


saturation. Ajouter cette correction sur le correcteur et observer les grandeurs citées en 7.

ε u u sat
Kd +
s a tu ra tio n
K p + K iTe +
Te -
+

Kd
z −1
Te

Te
Ki z −1
1 − z −1
-
Kd +
z −1
Te +

−1
 Kd 
K 
 p + K iTe + T 
 e 

Figure 5 Traitement de saturation


Ecole polytechnique de l’Université de Nantes TP Systèmes échantillonnés N. Aït-Ahmed
Département GE

TP N°2 : Régulation numérique de la vitesse d’un moteur à courant


continu

Le but de ce TP est l’asservissement en vitesse d’un moteur à courant continu. Le moteur


est relié à un micro ordinateur (PC) via une carte d’interface NI PCI-6221 qui réalise les
conversions digitale-analogique (bloqueur d’ordre zéro) et analogique-digitale ainsi que le
conditionnement des différents signaux (cf. figure1). Le pilotage de cette carte (acquisition de la
mesure de vitesse, application d’une tension de commande) est réalisé sous Matlab/Simulink
comme indiqué sur le guide d’utilisation de la carte NI PCI-6221 en annexe.
u (k) u (t)
PC NI PCI-6221 MCC
Ω(k) Ω(t)
Figure 1 : Dispositif expérimental

Le moteur est modélisé par une fonction de transfert du premier ordre (la constante de
temps électrique est suffisamment rapide pour pouvoir être négligée) identifiée préalablement :
K b0
G ( p) = =
τp + 1 p + a0
On cherche un algorithme de commande capable d’imposer au moteur le comportement souhaité,
à savoir :
- erreur statique nulle,
- pôles en boucle fermée : p1, p2.

Cet algorithme calculera les échantillons de commande (tension) u(k) adéquats à partir de la
donnée du signal de vitesse Ω(t) échantillonné à la période Te (cf. figure 2) et de la consigne de
vitesse Ωc(t).
Ωc(k) u(k) u(t)
+ Ω(t)
T ( z) R( z )
CDA Moteur
R( z ) S ( z)
Ω(k)
CAD
Figure 2 : Diagramme fonctionnel de l’asservissement numérique

Fonctions Matlab utiles : conv, c2dm, roots, poly, conj.

I- Etude préliminaire : (à préparer avant la séance)


L’algorithme de commande peut se déduire du calcul d’un régulateur RST discret.

- Donner la fonction de transfert discrète du moteur.


- Ecrire l’équation de Bezout permettant le calcul du régulateur satisfaisant aux
spécifications données précédemment
- Déterminer, en fonction de p1, p2 et Te, l’expression littérale des coefficients du
régulateur.
Ecole polytechnique de l’Université de Nantes TP Systèmes échantillonnés N. Aït-Ahmed
Département GE

- Ecrire la loi de commande sous forme récurrente (obtenir u(k) en fonction de la


consigne et de la réponse du moteur).

II- Calcul du régulateur numérique :


1. On souhaite imposer au système en boucle fermée un temps de réponse tr = 100 ms et un
amortissement ξ =0.707.
- Calculer le modèle discret Gd(z) du moteur pour Te=10 ms.
- En déduire les coefficients du régulateur RST adéquats.

2. Même question pour tr=30 ms.

III- Simulation sous Matlab/Simulink :


1. Tester ces régulateurs sous Simulink.
2. Tester ces régulateurs sur le moteur réel via la carte NI PCI-6221 (voir le guide
d'utilisation de la carte National Instruments PCI-6221).
3. Tester les régulateurs calculés précédemment en simulation sous Matlab (instructions
Matlab uniquement).

Conclusion
Ecole polytechnique de l’Université de Nantes TP Systèmes échantillonnés N. Aït-Ahmed
Département GE

Guide d'utilisation de la carte NI PCI-6221 sous Matlab/Simulink

1. Lancer Simulink et créer un nouveau fichier dans lequel vous allez mettre les blocs
Analog input et Analog output qui se trouvent dans Real-Time Windows Target de
Simulink Library Browser. Voir les figures ci-dessous.

2. Double-cliquez sur le bloc Analog output pour obtenir la fenêtre ci-dessous, mettez les
champs Initial Value et Final value à 0 et dans le champ Sample time la valeur de la
période d'échantillonnage (0.01 dans l'exemple ci-dessous). Choisissez la carte National
Instruments PCI-6221 (auto).
Ecole polytechnique de l’Université de Nantes TP Systèmes échantillonnés N. Aït-Ahmed
Département GE

3. Faites de même pour le bloc Analog input (choisissez la période d'échantillonnage ainsi
que la carte National Instruments PCI-6221).

4. Dans les paramètres de simulation (Onglet Simulation → Configuration Parameters)


5.

Choisissez dans Solver le type Fixed-step ansi que le pas de calcul Fixed-step size
(fundamental sample time) (dans l'exemple la période a été choisie à 0.005).
Ecole polytechnique de l’Université de Nantes TP Systèmes échantillonnés N. Aït-Ahmed
Département GE

6. Dans Real-time Workshop choisir dans le champ System target file le fichier rtwin.tlc
en cliquant sur Browse.

7. Pour lancer le programme, choisissez dans (1) le mode External ; cliquez sur (2) pour la
compilation ; cliquez sur (3) puis sur (4) (N'oubliez pas de fixer le temps de simulation ;
dans la figure ci-dessous le temps de simulation a été fixé à 4 s).
Ecole polytechnique de l’Université de Nantes TP Systèmes échantillonnés N. Aït-Ahmed
Département GE

(4) (3) (1) (2)


Ecole polytechnique de l’Université de Nantes TP Systèmes échantillonnés N. Aït-Ahmed
Département GE

TP N°3 : Commande à temps discret d’une centrale hydroélectrique

Le but de ce TP est l’étude et la commande à temps discret d’un processus continu mono
variable donné par sa fonction de transfert. Le système que l’on se propose de contrôler est une
centrale hydroélectrique dont le modèle est donné en Figure 1. Précisément, il s’agit d’asservir la
fréquence du courant en sortie (y) à celle du réseau (yc=50Hz).
Wch
u(t) + y(t)
1 1− Tw p + kp2 1
1+ Ti p 1+ 0.5Tw p + kp2 Wm Ta p
G1
G2 G3
Figure 1 : diagramme fonctionnel du système en boucle ouverte

Paramètres du modèle : Ta=10s, Ti=0.3s, Tw= 1s, k=0.5.


Notations :
u : consigne d’ouverture de vanne.
G1 : transfert représentant l’asservissement d’ouverture de vanne
G2 : transfert représentant une conduite forcée
G3 : transfert représentant une turbine
Wm : puissance hydraulique disponible en sortie de la conduite forcée
Wch : puissance électrique demandée par le réseau : c’est une perturbation
y: fréquence du courant en sortie

Fonctions Matlab utiles: conv, poly, c2dm, polyval, rstrob, roots.

I- Simulation du système en boucle ouverte :


Simuler, à l’aide de SIMULINK, la réponse (à vide) de la puissance hydraulique Wm et de la
fréquence du courant de sortie y à un échelon de consigne d’ouverture de vanne.
Ajouter au schéma du processus un bloqueur d’ordre zéro et un échantillonneur qui permettront
ultérieurement la mise en œuvre du régulateur numérique. Donner le schéma de principe de
l’asservissement numérique de la centrale.

II- Conception d’un régulateur RST discret de type placement de pôles robuste :
Le correcteur utilisé pour le placement de pôles robuste est du type R, S, T (Figure 2).
 AS + BR = CF B
R, S et T sont calculés tels que:  où est le transfert du processus, F et C sont
T = k c F A
deux polynômes.

yc + 1
u
T S
-
y
R

Figure 2 Structure du régulateur RST


Ecole polytechnique de l’Université de Nantes TP Systèmes échantillonnés N. Aït-Ahmed
Département GE

On montre alors que ce régulateur est équivalent à un retour d’état reconstruit avec rejet
asymptotique de perturbation. Le gain de commande (retour d’état) serait déterminé à partir de la
donnée de C(z) et le gain du filtre serait déterminé par la donnée du polynôme F(z).
Les valeurs de R, S et T sont donc liées aux choix de C(z) et F(z). Tout le principe du placement
de pôles robuste réside alors dans la détermination de ces deux polynômes. La méthode proposée
permet de réduire ce choix à celui de deux paramètres de synthèse de haut niveau :
- Tc : horizon de commande ou constante de temps caractéristique associée au polynôme C.
- Tf : horizon de filtrage ou constante de temps caractéristique associée au polynôme F.
On peut également imposer, si besoin était, ξc et ξf amortissements caractéristiques associés aux
deux polynômes que l’on pourra prendre égaux à 0.707. Pour obtenir un régulateur strictement
propre, on cherchera à placer 2n+1 pôles.
1. On choisit dans un premier temps : Tc=0.5 s et Tf=2s (à comparer avec les constantes de
temps en boucle ouverte). La stratégie de placement de pôles robuste vue en cours permet le
calcul des 2n+1 pôles continus à placer en boucle fermée. On choisit une période
d’échantillonnage Te= 0.1s. Ce choix est-il correct ?
2. En utilisant la fonction Matlab rstrob :
a- Donner les pôles continus et discrets de la boucle fermée.
b- Donner les coefficients des polynômes R, S et T.
3. Mettre en œuvre le régulateur sous la forme du schéma de la figure 2. Simuler le démarrage
de la centrale (échelon de consigne de fréquence de 50Hz à t=0s) et un échelon de charge de
10 à t=15s.
Rajouter une saturation sur la commande en supposant que la pleine ouverture des vannes ait
lieu pour u=100. Analyser l’effet de cette saturation.
4. Mettre en œuvre le régulateur sous la forme du schéma de la figure 3. Reprendre les
conditions de simulations de la question 3. Commenter les résultats obtenus.
5. Considérons cette fois que le paramètre Ta du modèle est connu avec un certain pourcentage
d’imprécision. Analyser la réponse du système asservi pour Ta légèrement différent de sa
valeur nominale. Commenter
6. Analyser l’incidence du choix de Tc et Tf.

yc + u2 y
kc
s a tu ra tio n P ro c é d é
-

S − F
+ F
+

R
F

B lo c é q u iv a le n t à u n e
ré g u la te u r
c o m m a n d e p a r re to u r d ’é ta t
re c o n s tru it

Figure 3 Traitement de saturation