You are on page 1of 39

TP AUTOMATIQUE

Parcours S.I.

L3 EEA - L3 IE L3 EIA

UNIVERSITE DE CAEN

TRAVAUX PRATIQUES
AUTOMATIQUE.

Liste des travaux pratiques :


1 : Utilisation d'un logiciel de calcul matriciel et de simulation en
automatique.
2 : Utilisation d'un logiciel graphique de simulation de systmes physiques
SIMULINK / MATLAB.

3 : Identification des systmes.


4 : Boucle ouverte VS Boucle ferme.
5 : Etude de la stabilit d'une boucle ferme.
6 : Correction PI, PD, PID.
7 & 8 : Asservissement d'un systme thermique.

NOM :

GROUPE :

Reproduction interdite sans laccord de lauteur : eric.pigeon@unicaen.fr

T. P. AUTOMATIQUE.

T.P. N1

Utilisation d'un logiciel de calcul matriciel


et de simulation en automatique :

MATLAB / SIMULINK
Matlab est un logiciel de calcul scientifique gnral. Comme d'autres produits (Scilab, MatrixX),
c'est un logiciel de calcul NUMERIQUE. Il propose notamment la rsolution numrique d'un grand
nombre de problmes mathmatiques classiques, du plus grand intrt pour les ingnieurs et les
chercheurs. Bien plus qu'une super calculatrice, Matlab permet de dvelopper de faon rapide des
programmes de calcul scientifique pouvant prsenter des interfaces homme-machine trs conviviale
avec des possibilits graphiques intressantes. Il n'est donc pas ddi un domaine ou application
technique particulire. Parmi ses utilisations, on peut citer:

Mathmatique et calcul numrique

Dveloppement d'algorithmes

Modlisation, simulation et prototypage de systmes

Analyse des donnes, exploration et visualisation

Graphisme scientifique et engineering

Dveloppement d'applications notamment interface graphique.

Matlab prsente un ensemble de fonctions gnrales, fournies dans sa version de base. A cela
s'ajoute un certain nombre de groupes de fonctions spcialises appeles botes outils :
TOOLBOXS .Ces botes outils permettent de traiter de problmes particuliers des sciences de
l'ingnieur:

Simulink pour la simulation des systmes

Control System toolbox pour la modlisation, l'analyse et la commande `classique' des


systmes dynamiques linaires stationnaires

Mu analysis and synthesis toolbox pour modlisation, l'analyse et la commande `avance'


des systmes dynamiques linaires stationnaires

Identification toolbox pour l'identification des systmes dynamiques linaires


stationnaires

etc.

T. P. AUTOMATIQUE.

T.P. N1

Par exemple, les botes outils Control System toolbox et Mu analysis and synthesis toolbox
traitent de la conception de lois de commande. La puissance de Matlab est d'offrir tous les lments
ncessaires la construction rapide d'un programme de CAO par ses utilisateurs. De ce point de
vue-l, c'est un logiciel trs ouvert.
Dans le contexte de l'Automatique, MATLAB (MATrix LABoratory) offre un environnement
unique de simulation et de prototypage. Le langage technique puissant est la fois concis et
descriptif, permettant de modliser des systmes complexes avec des petites parties de code facile
comprendre. La vaste bibliothque de fonctions, disponibles comme faisant partie du noyau
MATLAB ou par l'intermdiaire de Botes Outils orientes objet, permettent de construire
rapidement des simulations et des modles pour un grand nombre de types d'applications. Les outils
de modlisation vont des solveurs d'quations diffrentielles dans MATLAB aux fonctions
spcialises des Botes Outils pour les statistiques et l'apprentissage et la modlisation de rseaux
de neurones. Des fonctions intgres d'animation et des graphiques rapides charger permettent de
visualiser le comportement d'un modle pour de l'analyse, des tests, du deboguage, des prsentations
de rsultats.
Matlab est un langage interprt, driv du langage C, avec lequel il est possible de modifier un
programme pour en voir immdiatement les effets, sans avoir recompiler comme en C. Comme la
plupart des algorithmes mathmatiques avancs et de bas niveau sont dj dvelopps pour vous, le
code ncessaire pour construire un modle dans MATLAB est beaucoup plus court que le code C ou
C++ correspondant. Ceci rend le code MATLAB facile crire et faire voluer au cours du temps.
Deux types de fonctions sont prsentes sous Matlab: celles qui sont compiles (crites en langage C)
et celles crites dans le langage MATLAB qui peuvent tre reprises, modifies par l'utilisateur (d'o
une grande flexibilit). MATLAB tant programme en langage C, il peut utiliser des routines en C
ou tre appel partir d'un programme de langage C.
L o MATLAB offre un environnement de programmation familier, Simulink et Stateflow
fournissent un environnement de conception graphique pour modliser et simuler des systmes
complexes de contrle, de Traitement du Signal et des systmes contrls par la logique. Btis
partir de MATLAB, ces produits peuvent appeler n'importe quelle fonction MATLAB y compris
des routines crites par l'utilisateur, permettant de combiner le meilleur des 2 approches. Mme les
fonctions des Botes Outils peuvent tre imbriques dans des schmas blocs Simulink. Le nombre
de fonctions disponibles dans les diffrentes bibliothques tant trs grand, nous nous limiterons ici
une description sommaire des T.P.

T. P. AUTOMATIQUE.

T.P. N1

ACCES A MATLAB
Matlab est une application Windows. En cliquant deux fois sur l'icne Matlab, s'ouvre alors la
fentre principale. Cette fentre est divise en plusieurs parties comme le montre la figure cidessous :

Aide
ou
Dtails des variables du
workspace

Fentre de travail :
Workspace
Rpertoire de travail
ou
Historique des commandes

Figure 1 : I.H.M. MATLAB

Tout le travail effectuer est indiqu en italique.


AIDE SUR MATLAB
Il y a deux types daide sur Matlab 7. La premire correspond une aide gnrale trs intressante
mais qui est assez lente pour obtenir un renseignement sur une simple fonction. La deuxime est
une aide en ligne qui est trs prcieuse si lon veut viter de consulter en permanence laide
gnrale. Matlab est structur en sous-rpertoires de fonctions lmentaires. La liste des rpertoires
est obtenue en tapant help.

T. P. AUTOMATIQUE.

T.P. N1

matlab\datafun

matlab\elmat

Data analysis and Fourier transform functions.

- Elementary matrices and matrix manipulation.

matlab\elfun- Elementary math functions.

matlab\general- General purpose commands.

matlab\funfun

matlab\color

-Function functions - nonlinear numerical methods.

- Color control and lighting model functions.

matlab\graphics- General purpose graphics functions.

matlab\iofun- Low-level file I/O functions.

matlab\lang

matlab\ops

- Language constructs and debugging.

- Operators and special characters.

matlab\matfun

matlab\demos

- Matrix functions - numerical linear algebra.

- The MATLAB Expo and other demonstrations.

matlab\plotxy- Two dimensional graphics.

matlab\polyfun- Polynomial and interpolation functions.

matlab\sparfun- Sparse matrix functions.

matlab\specfun- Specialized math functions.

matlab\specmat- Specialized matrices.

matlab\strfun- Character string functions.

matlab\plotxyz- Three dimensional graphics.

matlab\sounds- Sound processing functions.

matlab\dde- DDE Toolbox.

Pour obtenir le contenu d'un rpertoire, il suffit de taper help <nom_rpertoire> : help elmat
Pour obtenir des renseignements sur une fonction particulire, par exemple zeros qui est contenue
dans le bloc elmat, il suffit de taper :
help zeros
ZEROS

All zeros.

ZEROS(N) is an N-by-N matrix of zeros.


ZEROS(M,N) or ZEROS([M,N]) is an M-by-N matrix of zeros.
ZEROS(SIZE(A)) is the same size as A and all zeros.

Linstruction lookfor(zeros) permet dobtenir la liste dinstruction qui on un rapport avec la


fonction zeros.
Attention : Les noms de fonction MATLAB dans laide sont en majuscules mais il faut les
crire en minuscules.
I. UTILISATION ELEMENTAIRE
Dans une premire approche, on peut utiliser les fonctions de Matlab de manire squentielle pour
rsoudre un problme.
Exemple : zeros(5,2) crera une matrice de 5 lignes et deux colonnes remplies de zros. Les
5

T. P. AUTOMATIQUE.

T.P. N1

lments de cette matrice sont logs dans une variable provisoire appele ans (answer), mais cette
variable sera de nouveau utilise par la fonction suivante.
Un rsultat presque identique est obtenu en utilisant : yz=zeros(5,2) mais dans ce cas, le rsultat est
log dans une variable dont le nom est yz et qui est maintenue en mmoire par Matlab jusqu' ce
que:
Matlab soit ferm.
Ce nom de variable soit utilis pour stocker une autre valeur.
La variable soit efface par l'instruction clear (utiliser help).
La liste des variables en mmoire est obtenue par les commandes who (simple) ou whos (dtaille).

Rsolution d'un systme d'quations linaires.


3x + 2 y =1
Cherchons rsoudre le systme :
x + y = 5
Sous la forme matricielle :
3 2 x 1
1 1 y = 5

AX=B

1
La solution de ce problme est obtenue en calculant X = A B .

Rsolution directe :
1. Saisir la matrice A en crivant A=[3 2 ;-1 1]; Les crochets dlimitent la matrice, les lments
sont entrs ligne par ligne, chaque ligne tant spare par un ;. Le ";" aprs le "]" permet de
supprimer l'affichage du rsultat l'cran.
2. De la mme manire, saisir la matrice b et calculer la solution du problme en utilisant
l'instruction inv (help inv). Chercher la mme solution en utilisant l'une des divisions '/' ou '\'
(help slash). Quelle est la diffrence entre les deux ?

Rsolution graphique :
Pour prendre contact avec les reprsentations graphiques de Matlab, nous allons chercher la solution
y = 1.5 x + 0.5
du systme en visualisant l'intersection des deux droites :
y = x + 5
Connaissant dj la solution, nous choisissons un domaine de variation de x = [-3, 3].

T. P. AUTOMATIQUE.

T.P. N1

Saisir " x=[-3:0.2:3];". On cre ainsi un vecteur tel que :


Son premier lment est 3.
Les lments suivants sont obtenus par incrmentation de 0.2.
le dernier lment est le dernier nombre obtenu 3.
En utilisant laide et la fonction linspace, recrer la variable x.
Afficher le 5ime lment de x. Afficher une partie de x (5ime au 8ime lment). Afficher le
nombre situ sur la premire ligne, deuxime colonne de A.
Calculer pour chaque quation respectivement les vecteurs y1 et y2.
II. FONCTIONS GRAPHIQUES
Matlab possde de nombreuses fonctions permettant dobtenir de manire graphique des rsultats.
Les tracs se font dans des figures qui sont rfrences par un nombre ( 1, 2, 3, .). Il est possible
de crer une figure graphique laide de la commande figure (x), x tant le n de la figure. Dans le
cas o lon ne prcise pas le n de la figure, le n sera gal x+1, x tant le n de la dernire figure
cre.
Dans une figure il est possible de placer diffrents graphiques. Chaque graphique sappelle un
axe .
La fonction graphique de base est plot(x,y), cette fonction cre une figure graphique ainsi quun
axe o sera reprsent y en fonction de x. La figure 2 donne un exemple de trac o lon a trac de
courbes (plot(t,y1,t,y2)). Afin de rendre utilisable ce rsultat graphique,
TOUTES LES COUBES DOIVENT TRE ETALONNEES EN X ET Y
ET POSSEDER UN TITRE.
Voici quelques fonctions connatre pour les graphismes :
xlabel(temsp en seconde) ;
ylabel(sortie en tr/mn) ;
title(rponse indicielle) ;
legend(donnes 1, donnes 2,..) ; %insert une lgende dans la figure
axis([xmin, xmax, ymin, ymax]) ;
grid on ; (boolen permettant laffichage le quadrillage)
zoom on ; (boolen permettant de zoomer avec la souris) ;
hold on ; (les prochains tracs du mme type seront placs dans la figure et axe courant). On
appelle fentre graphique ou axe courant, la dernire figure ou axe utilis.
Ces fonctions sont accessibles dans longlet Insert de votre figure.
A noter, quil est possible de sauvegarder une figure partir de longlet file et la commande
save , lextension de la figure sera xxx.fig. Il est possible douvrir ce fichier xxx.fig avec la
commande open(xxx.fig)
7

T. P. AUTOMATIQUE.

T.P. N1

Figure 2 : Fentre graphique Matlab


Avec la fonction plot , reprsenter les deux courbes y1 et y2 en fonction de x sur le mme
graphique. En cliquant sur la courbe, aprs avoir fait un zoom judicieux, vous pourrez lire les
solutions de votre systme dquations.
Par la mme occasion, utiliser toutes les diffrentes fonctions graphiques pour rendre ce graphique
utilisable dans un compte rendu.

III. UTILISATION LIEE A L'AUTOMATIQUE


Matlab utilise pour les systmes LTI (Linaire et Invariant dans le Temps) une reprsentation objet.
Cette reprsentation est commune pour tous les types de reprsentation (fonction de transfert, tat,
zros-ples-gain,...). Ici, nous ne verrons que la reprsentation par fonction de transfert.
1. Saisie des fonctions de transfert
La fonction de transfert G1 ( p ) =

p+2
3p + 6 p + 1
2

sera mise en mmoire grce linstruction :

sys1 = tf([1 2],[3 6 1]);


Le premier vecteur contient les coefficients du numrateur dans lordre des puissances dcroissantes
de p. Le deuxime contient les coefficients du dnominateur dans lordre des puissances
dcroissantes de p.

T. P. AUTOMATIQUE.

T.P. N1

A noter que Matlab utilise la notation anglo-saxonne pour la variable de Laplace : s.


Lobjet systme sys1 est une structure comme le montre la rponse du logiciel linstruction
get(sys1 ) .
>>get(sys1)
num: {[0 1 2]}
den: {[3 6 1]}
Variable: 's'
Ts: 0
Delay: 0
InputDelay: 0
OutputDelay: 0
InputName: {''}
OutputName: {''}
InputGroup: {0x2 cell}
OutputGroup: {0x2 cell}
Notes: {}
UserData: []
Les diffrents champs fournissent tous les renseignements utiles pour caractriser le systme en
question.
Le paramtre Ts = 0 prcise quil sagit dun systme continu, le champ Delay renseigne sur la
valeur dun retard pur ventuel. Pour obtenir la valeur du retard de lobjet sys, il faut saisir :
sys1.InputDelay (analogie avec le langage C).
A noter que les champs num et den correspondent des cellules (ceil en langage Matlab), aussi
pour obtenir la valeur du dnominateur de sys, il faut taper : sys1.den{1} . Ce qui correspond
demander la valeur de la n1 cellule du champ den de la structure sys. On peut obtenir le vecteur
contenant les lments du dnominateur en utilisant lopration de vectorisation : sys1.den{:} .
2. affichage des fonctions de transfert
La manire dobtenir les caractristiques dun objet systme est tout simplement de taper son nom
dans le workspace :
>> sys1
Transfer function:
s+2
--------------3 s^2 + 6 s + 1
Entrer les fonctions de transfert suivantes et sauvegarder le numrateur et le dnominateur de
chaque systme dans des variables indpendantes. Vrifier leurs proprits laide des instructions
prcdentes.
G2 =

0.5
;
0.05 p + 1

G3 =

1
;
p +1

G4 =

2.5
p 2 + 0.5 p + 1

T. P. AUTOMATIQUE.

T.P. N1

3. Opration sur les fonctions de transfert


Il est possible dassembler 2 fonctions de transfert entre elles :
En srie :

sys1

sys2

>>sys_serie = sys1 * sys2;


En parallle :
sys1

>>sys_para=sys1 + sys2;

Dans les deux cas, vrifier le rsultat.

sys2

En boucle ferme :
Pour calculer la fonction de transfert en boucle ferme, il existe la fonction feedback qui calcule la
fonction de transfert en boucle ferme du systme prsent ci-dessous. Par dfaut le bouclage est
une contre raction (soustracteur) mais si lon veut faire de la raction, il suffit de placer le terme +1
aprs les systmes boucler (ex : SYS = FEEDBACK(SYS1,SYS2,+1) ) :

sys1

sys2
Si la fonction de transfert possde un retard, il nest pas possible dutiliser la fonction feedback pour
calculer le transfert en boucle ferme car le dnominateur nest plus un polynme coefficients
constants.
4. Reprsentation temporelle
A partir dune fonction de transfert, Matlab peut calculer la rponse temporelle dune fonction de
transfert une entre. La rponse impulsionnelle et la rponse indicielle sont dj programmes
dans des fonctions. Le rsultat de ce calcul (vecteurs contenant le temps et la rponse du systme)
peut tre plac dans des variables de retour ou par dfaut directement trac dans une figure. De
mme si lon ne prcise pas le vecteur temps, la fonction le dterminera automatiquement.
La rponse impulsionnelle (e(t) = (t)) laide de la fonction >>impulse(sys1);
10

T. P. AUTOMATIQUE.

T.P. N1

La rponse indicielle (e(t) = u(t)) laide de la fonction >>step(sys1);.


En cliquant sur le trac avec le bouton droit, il est possible de modifier les proprits du graphe et
surtout dobtenir des renseignements sur les temps de rponse ou dpassement du trac.
Tracer la rponse impulsionnelle et indicielle de sys2 et dterminer de manire graphique la valeur
de la sortie en rgime permanent et la valeur de la constante de temps. Vrifier ces valeurs avec
celles attendues. Tracer ces deux rponses pour sys4. Mesurer la pseudo-priode obtenue pour la
rponse indicielle et vrifier quelle correspond bien celle attendue.
5. Reprsentation frquentielle
Il est possible de tracer les 3 principales rponses frquentielles :
Diagramme de Bode : >>bode(sys)
Diagramme de Black-Nichols : >>nichols(sys)
Diagramme de Nyquist : >>nyquist(sys)
Tracer les diffrentes rponses frquentielles des systmes prcdemment tudis. Retrouver les
degrs relatifs, le gain statique, la pulsation de coupure -3dB sur chaque rponses.

11

T. P. AUTOMATIQUE.

T.P. N1

III. PROGRAMMATION ET M-FILE FUNCTIONS.


Matlab est aussi un langage de programmation qui dispose de plusieurs instructions de saut
conditionnel (if, elseif, else, end) et de boucle du type : for, while.
Exemple : Que reprsente EPS dans la suite dinstructions suivantes?

EPS=1 ;
for i=1 :1000
EPS=EPS/2
if (1+EPS)<=1 EPS=EPS*2
break
end
end
Pourquoi cette boucle de 1000 itrations sarrte t-elle avant ?
Dans lexemple prcdent, si lon veut recommencer avec un nombre d'itrations de 2000, il faut
rcrire la srie dinstructions pour obtenir le rsultat. Pour viter ce genre de problme, il est
possible denregistrer une srie dinstructions dans un fichier nom_fic.m et de vrifier quil ne
porte pas un nom identique une fonction MATLAB puis excuter ce fichier.
Dans le menu Fichier, ouvrir un nouveau fichier .m. Dans ce fichier, retaper lexemple prcdent,
sauvegarder le fichier et excuter le sous Matlab en crivant le nom du fichier sous le workspace.
Attention : un fichier Matlab (extension .m) ne dois jamais porter le mme nom quune variable du
workspace ou un nom dj existant dans un autre rpertoire.
Une fois ce TP termin, sauvegarder les diffrentes variables que vous avez utilises avec la
commande save workspace as dans le menu file.
Ces diffrentes variables vous resserviront dans le T.P. n2. N'oublier pas de noter le nom de
votre sauvegarde dans ce cahier pour ne pas l'oublier.

NOM DE LA SAUVEGARDE :

.mat

12

TP AUTOMATIQUE

TP N2

Utilisation d'un logiciel graphique de


simulation de systmes physiques :
SIMULINK / MATLAB

Matlab (voir TP 1) est un logiciel trs


performant pour le calcul numrique
et la visualisation. Ce logiciel permet,
entre autre, de calculer les rponses de
fonctions de transfert reprsentant des
systmes physiques. Afin d'amliorer
encore plus la convivialit de
certaines simulations,
particulire t cre
Celle-ci permet de
simulation grce

une Toolbox
: SIMULINK.
raliser une
une fentre

graphique o l'on ralise un schmabloc. On dispose d'un certain nombre


de bibliothques de SIMULINK
(Continuous,
Discrete,
Sources,
Sinks, etc.) ainsi que la possibilit
d'utiliser des variables dfinies sous
Matlab. Il est galement possible de
retourner des rsultats numriques
sous Matlab.
Pour

accder

la

fentre

de

commande de Simulink, il faut lancer


Matlab et taper simulink dans la
fentre de travail de Matlab ou cliquer

Figure1 : librairie Simulink

sur l'icne
. Celle-ci est
reprsente sur la figure ci-contre.

13

TP AUTOMATIQUE

TP N2

I. PRESENTATION DU SIMULATEUR
1. Ralisation d'un schma de simulation
Une fois la commande de Simulink ouverte, il est possible d'ouvrir un fichier o de dclarer un
nouveau new sous la rubrique "File". Les fichiers simulink possdent l'extension ".mdl".
Pour raliser le schma de la figure 2 , il faut runir ses lments dans la fentre graphique
correspondante au fichier courant. Pour cela, il faut ouvrir une bibliothque de simulink
(Continuous, Discrete, Sources, Sinks, etc.), choisir l'lment intressant dans cette bibliothque
en cliquant dessus avec la souris et en maintenant la souris clique, faire glisser llment ainsi
slectionn vers votre fentre graphique (NE JAMAIS FAIRE LA MANIPULATION
INVERSE).
Une fois les lments essentiels prsents, il suffit de les lier entre eux avec la souris, c'est--dire
tracer des connections entre la sortie du premier bloc et l'entre du deuxime bloc.
Noublier pas de sauvegarder le schma dans votre rpertoire de travail, il sera ainsi possible d'aller
le rechercher en cas de fausse manipulation.
2. Dfinition des paramtres des lments.
Ceux-ci peuvent tre dfinis en cliquant deux fois sur l'lment considr. La manire dont Matlab
les exige est indique en commentaire dans la boite d'entre qui s'ouvre cet effet. On dfinit ainsi
les paramtres des fonctions de transfert, les signaux appliqus, les chelles par dfaut des graphes
des signaux observs. On peut utiliser aussi comme paramtres des variables pralablement dfinies
dans le workspace (l'espace de travail) de Matlab.
3. Ralisation d'une simulation
Une fois le schma de simulation ralis, on effectue la simulation en choisissant dans le menu
"Simulation" les paramtres de celle-ci : instant de dbut, instant de fin, etc.. Ces paramtres sont
utiliss par l'algorithme de simulation qui est un algorithme d'intgration numrique. Il est possible
de choisir son algorithme de simulation mais sauf cas particulier, on utilisera "ode45 DormandPrince". Ensuite, lancer la simulation en cliquant sur l'icne

2. EXEMPLE N1
De manire retrouver les variables que vous avez dfinies dans le TP. n1, charger votre fichier de
sauvegarde (extension ".mat") ralise la fin du TP en tapant load <nom du fichier>.

14

TP AUTOMATIQUE

TP N2

Ouvrir ensuite un nouveau fichier sous Simulink. Prendre un gnrateur d'chelon sous la rubrique
"Sources", une fonction de transfert sous la rubrique "Continuous" et un scope dans la bibliothque
"Sinks". Ensuite relier les diffrents lments avec la souris. Le schma, une fois termin, doit
correspondre celui de la figure 2 donne ci-dessous.

Figure 2 : exemple de schma de simulation Simulink


Il est possible de manipuler aussi des blocs contenant un objet systme. Ce bloc est prsent dans le
rpertoire "Control System toolbox". Il suffit dindiquer le nom du systme mmoris dans le
workspace de Matlab. Remplacer le bloc "Transfert Fcn" par le bloc "LTI System" de la
bibliothque "Control System toolbox".
Modifier les paramtres du bloc " LTI System " de manire utiliser le systme sys2. Ajuster les
paramtres de la simulation pour obtenir une rponse indicielle complte. Vrifier les valeurs de la
sortie en rgime permanent et la constante de temps (vous pouvez utiliser les icnes de la figure
graphique pour effectuer un zoom par exemple).
De manire visualiser le signal d'entre sur la mme figure, utiliser un multiplexeur en
slectionnant l'objet "Mux" de la bibliothque "Signals&Systems" et relier le signal d'entre et de
sortie de la fonction de transfert. Relier enfin la sortie du multiplexeur au Scope.
Une explication de lenseignant va vous permettre de comprendre le fonctionnement du
moteur dintgration numrique ce moment du T.P.
3. GESTION DES SCOPES :
Vous pouvez configurez votre scope de plusieurs manires. Dans la capture dcran suivante, nous
avons un scope avec 4 courbes distinctes. Pour obtenir ce rsultat, vous devez cliquer sur le
deuxime icne.

15

TP AUTOMATIQUE

TP N2

Icne de configuration

Sauvegarde des chelles

Nombre
Nombre de tracs (Axes)

de

points

maximal afficher.

Nom de la variable
cre
dans
le
workspace de Matlab.

Dans longlet Data history , il est possible de limiter le nombre de points mmoriss ce qui limite
de fait le nombre de points affichs (sauvegarde de la mmoire RAM). Par dfaut, vous tes limit
5000 points.
Il est possible dimporter les donnes affiches en slectionnant Save data to workspace . Une
fois sauvegard dans le workspace de Matlab, il va tre possible dutiliser ces donnes sous forme
dune figure Matlab avec tous les avantages sur la prsentation et la sauvegarde des rsultats.
16

TP AUTOMATIQUE

TP N2

La difficult rside dans le format de la sauvegarde, il sagit dune structure avec le temps en
champs distinct. Voici des exemples de ligne de commande permettant de rcuprer les donnes
sous forme vectorielle :
>> temps=y.time ; %cration du vecteur temps contenant les instants de simulation
>> sortie=y.signals(2).values(:,1).

n de lentre du scope

dans le cas o lune des entres est multiplexe, il faut prciser


le n de lentre du multiplexeur branch au scope sinon
y.signals(2).values

Reprendre le schma prcdent, en utilisant un scope 2 entres. Bancher la sortie et lentre du


systme. Sauvegarder les donnes sous le workspace de Matlab sous la variable essai1. Reprsenter
sous une seule figure Matlab les donnes sauvegardes en mettant en forme les figures pour quelles
soient utilisables dans un Compte Rendu de T.P. (unit des abscisses : secondes, unit des
ordonnes : Volts, titre : rponse indicielle, quadrillage visible). Utiliser pour cela la fonction
subplot()
4. EXEMPLE N3
On dsire tudier le systme de fonction de transfert G(p) =

K
boucl par un gain proportionnel
1+ p

not A. K est le gain statique du systme et sa constante de temps (on prendra K = 1 et = 1 sec).
Reprendre le systme sys3 du TP 1 qui correspond cette fonction de transfert. La fonction de
transfert du systme boucl est note F(p).
Y*(p)

(p)

U(p)
A

G(p)

Y(p)

4.1. Modification du comportement : analyse frquentielle et temporelle.


Afin de visualiser l'effet du bouclage dans le domaine temporel (avec Simulink), tracer sur le mme
graphe la rponse indicielle de F(p) et celle de AG(p). Le systme tant trs rapide, il sera peut

tre ncessaire de modifier la prcision de lalgorithme de simulation notamment le Min Step


Size et le Max Step Size.
17

TP AUTOMATIQUE

TP N2

Pour mettre en vidence les effets du gain A, refaire ces manipulations en augmentant ou en
diminuant sensiblement sa valeur. Comment voluent les constantes de temps associes aux deux
systmes lorsque A devient trs grand ou trs petit ?
Dterminer les deux constantes de temps et les gains statiques de chaque rponse.
Tracer la rponse frquentielle (Bode) de la boucle ouverte et de la boucle ferme. Peut-on retrouver
la constante de temps et gain statique des deux systmes ?
Justifier par le calcul les diffrences existant entre la rponse boucle ouverte et boucle ferme en
terme de temps de rponse et de gain statique. Retrouve-t-on leffet du gain sur ces grandeurs ?

18

TP AUTOMATIQUE L3 EEA L3 IE L3 EIA

TP N3

Identification des systmes.

Lobjet de ce TP est de montrer la dmarche suivie pour modliser un procd. La mthodologie qui
va tre utilise est celle que lon retrouve gnralement dans lindustrie. Bien que le modle obtenu
soit assez peu satisfaisant, cette mthode, relativement sommaire, a le mrite de donner un modle
exprimental utilisable pour la commande.
I. RAPPEL.
I.1. Notion de rglabilit.
Cette notion est principalement utilise pour les processus ayant un retard pur important. Si on
examine la rponse indicielle (figure 1) dun processus sans intgrateur, on peut distinguer trois
phases :
un temps de retard : T',
un temps de dcollement : T'',
un temps de monte : TA.
y(t)

T'

T''

Figure 1 : Paramtre danalyse pour la rglabilit


La somme des temps de retard et de dcollement est note . Ce retard correspond en fait au dlai
ncessaire pour quune commande ait une action significative sur la sortie. On appelle rglabilit le
rapport TA/. En pratique, le processus sera dautant plus facile rgler que ce rapport sera
important (retard pur petit).
I.2. Systme rglabilit leve.
On considre un systme comme ayant un coefficient de rglabilit lev lorsque le rapport TA/ est
19

TP AUTOMATIQUE L3 EEA L3 IE L3 EIA

TP N3

suprieur 10. Toute action sur lentre provoque presque immdiatement une action sur la sortie et
les procds correspondants sont en gnral faciles asservir.
I.3. Systme faible rglabilit.
On place souvent dans cette catgorie les processus ayant un rapport TA/ infrieur 4 (limite tire
de lexprience industrielle). Si TA/ est faible, il faut attendre un temps lev (comparativement au
temps de monte du procd) pour quune entre commence agir sur la sortie. Si lon cherche
augmenter la prcision par les mthodes usuelles comme laccroissement du gain ou lintervention
dune action intgrale, on a de grandes chances de dstabiliser le procd.
De tels procds ne peuvent pas, en gnral, tre rguls correctement par de simples rgulateur de
type P.I.D. et ils ncessitent des commandes plus adaptes telles que la correction avec Prdicteur
de Smith ou une correction numrique (niveau BAC+4 et +5).
I.4. Systme rglabilit moyenne.
Ce cas correspond en gnral 4 < TA/ < 10, ces valeurs tires de lexprience sont fournies titre
indicatif et doivent tre releves si lon lve les exigences de prcision sur le processus.
II. MODELISATION EN BOUCLE OUVERTE.
La premire tape dun asservissement commence par une identification du procd.
Lidentification a pour objet de dterminer un modle du procd.
Les mthodes prsentes dans ce qui va suivre, donnent une reprsentation trs
approximative du procd modliser. Ces approches ont t couramment utilises dans
lindustrie par le pass car elles ne ncessitent pas lutilisation dun calculateur.
Malheureusement, lutilisation de ces mthodes persiste cause de leur simplicit dutilisation
malgr lapparition de mthodes beaucoup plus performantes.
II.1. Caractristique statique.
La caractristique statique d'un systme (si elle existe) est obtenue en appliquant un signal de
commande constant l'entre du systme. Ce systme atteindra alors asymptotiquement une valeur
finale constante en sortie. En imposant diffrentes valeurs pour la commande, le trac du signal de
sortie en rgime permanent en fonction de l'entre reprsente la caractristique statique du procd.
A noter que si le systme possde un temps de rponse relativement long, lobtention de cette
caractristique peut prendre un certain temps.

20

TP AUTOMATIQUE L3 EEA L3 IE L3 EIA

TP N3

II.2. Identification des systmes du premier ordre partir de leur rponse indicielle.
Le cas des systmes du premier ordre est le plus simple car ces fonctions de transfert sont dfinies
laide de deux paramtres K et

Comme ces systmes prsentent la particularit davoir une

tangente verticale lorigine, il est trs facile didentifier un premier ordre. Le gain statique
correspond la variation de la sortie divise par la variation de lentre (en rgime permanent). La
constante de temps se dtermine partir du temps de rponse 5% ou lorsque la rponse indicielle a
atteint 63% du rgime permanent (voir TD). Dans le cas de systmes plus complexes que le premier
ordre pur, il est obligatoire dutiliser une mthode didentification plus adapte.
II.3 Identification des systmes dordre quelconque partir de leur rponse indicielle : modle
de BRODA.
Cette mthode considre que le systme tudi est un premier ordre avec retard ce qui est trs
restrictif. Bien sur lorsque le systme est dordre lev, le rsultat ne sera pas trs bon.
Si l'on recherche un modle du 1er ordre avec retard pur, alors on cherche un modle de la forme :
p
e ( )
G(p) = K
(1 + p )

est le retard pur du modle, la constante de temps. On dtermine les temps t1 et t2 tels que:
y(t)

0,4 y
0,28 y

Figure 2 : Mthode de Broda


En utilisant t1, t2, 0,4 y et 0,28 y, un calcul simple permet dtablir les relations suivantes :

= 2,8 t1 1,8 t 2
= 5, 5 (t 2 t1 )
Do lexpression de G(p) avec les paramtres ainsi dtermins.

21

TP AUTOMATIQUE L3 EEA L3 IE L3 EIA

TP N3

II.4. Identification des systmes dordre quelconque partir de la rponse indicielle : Modle
de STREJC.
Si la rponse ne prsente pas de dpassement, le systme est donc apriodique. Dans ce cas, il est
possible de modliser le systme sous la forme dun modle de STREJC. Ce modle va donner un
modle ayant la structure suivante :
G(p) = K

p
e ( )

(1 + p )n

est le retard pur du systme, la constante de temps, n lordre du systme. Pour identifier ces trois
paramtres, on trace sur la rponse indicielle, la tangente au point dinflexion. Ensuite comme sur la
figure ci-dessous, on value deux paramtres : TA et TU.
y(t)

Figure 3 : Mthode de Strejc


Pour ce type de modle, on considre que la rglabilit du systme ne doit pas tre trop faible. A
partir de TU et TA, on identifie les paramtres , et n de la fonction de transfert, laide du
nomogramme 1 (page suivante).
Le rapport Tu/Ta dtermine le point de laxe vertical de gauche du nomogramme. Ta donne le point
sur laxe vertical de droite du nomogramme. Tracer une droite reliant ces deux points. A
lintersection de cette droite et de laxe central, on lit (secondes). A lintersection de la droite et de
laxe de gauche, on lit n sur laxe de gauche (chelle droite de laxe) .
Si (n') nest pas un nombre entier, poser n ' = n + avec n entier (0<<1) et crire = .
Dans le cas o le rapport Tu/Ta est grand (prsence dun retard pur important), la fonction de
transfert va possder un ordre lev. Afin de rduire lordre de la fonction de transfert, il est
possible de poser :
Tu = Tu+ap
Avec ap le retard apparent de la rponse. Refaire la procdure initiale avec Tu. Au final, le retard
du systme sera gal
final=+ap

22

TP AUTOMATIQUE L3 EEA L3 IE L3 EIA

Tu/Ta

TP N3

Ta

Nomogramme 1
23

TP AUTOMATIQUE L3 EEA L3 IE L3 EIA

TP N3

III. TRAVAIL PREPARATOIRE OBLIGATOIRE


Dterminer par les mthodes de Broda et de Strejc les fonctions de transfert qui sont l'origine de
la rponse indicielle donne figure (une mthode appliquer par figure).

Amplitude

Temps en secondes

Amplitude

Temps en secondes
Figure 4 : Rponse indicielle caractriser avec les mthodes Strejc et Broda
24

TP AUTOMATIQUE L3 EEA L3 IE L3 EIA

TP N3

II.5. Identification des systmes pseudo-priodique partir de leur rponse indicielle.


Dans le cas o la rponse indicielle prsente un caractre pseudo-priodique, il suffit de reprendre
les relations du cours donnant le dpassement en fonction du facteur damortissement et de la
pseudo-pulsation en fonction de la pulsation propre 0. Le gain statique se dtermine de la manire
habituelle.
En utilisant les relations tablies en T.D. sur le second ordre, identifier le systme dont la rponse
indicielle est donne ci-dessous.
Rponse indicielle
45
40
35

Sortie en Volts

30
25
20
15
10
5
0
-5
0

5
Temps en Secondes

10

Figure 5 : Rponse indicielle dun systme pseudo-priodique


IV. TRAVAIL PRATIQUE
IV.1 - Caractristique statique
A partir du fichier "proc_1.mdl" prsent dans votre rpertoire de travail, raliser avec SIMULINK,
un schma permettant de relever la caractristique statique point par point du procd identifier.
Relever la caractristique statique en envoyant une commande constante sur le procd.
Dterminer la plage de linarit du systme. Quelle est la valeur de la sortie Y0 si U0=5V ? Le
couple (U0, Y0) est-il un point de fonctionnement acceptable au vu de la plage de linarit ? Si non,
en proposer un autre ? Justifier votre rponse ?
Dterminer le gain statique du modle autour du point de fonctionnement.

IV.2 - Identification par les mthodes de la rponse indicielle


Toujours avec "proc_1.mdl", raliser une rponse indicielle autour du point de fonctionnement
choisi (lamplitude est dterminer en fonction de la caractristique statique).
25

TP AUTOMATIQUE L3 EEA L3 IE L3 EIA

TP N3

La rponse indicielle peut tre trace dans une fentre graphique MATLAB, ce qui permet de faire
toutes les manipulations ncessaire sans imprimer la courbe.
Sauvegarder la rponse complte aprs avoir fait un zoom adquat. Identifier la fonction de transfert
de ce procd en utilisant la mthode adapte la rponse.
Une fois le modle tabli, vrifier sur le mme graphique la similitude entre les rponses indicielles
du procd et du modle. Pour cela, il suffit dappliquer le signal dentre petit signal sur le
procd et sur le modle et de tracer sur le mme graphe la rponse indicielle du systme avec celle
du modle identifi. Cette validation devra figurer dans votre compte rendu.

Identifier ensuite les procds prsents dans les fichiers "proc_2.mdl", "proc_3.mdl" ,
"proc_4.mdl" en adoptant la mme dmarche que prcdemment.

26

TP AUTOMATIQUE L3 EEA L3 IE L3 EIA

TP N4

BOUCLE OUVERTE

VS
BOUCLE FERMEE
Pendant ce T.P., on se propose dtudier le comportement dun systme vis--vis de diffrentes
excitations en boucle ouverte et en boucle ferme. Pour le travail prparatoire, il est demand
d'tablir les expressions littrales avant de donner les valeurs numriques des diffrents
paramtres.
Considrons le systme reliant la sortie y(t) une sortie dsire y*(t). Ce systme est du premier
ordre et a pour fonction de transfert :
G( p) =

3
0.5 p + 1

Travail prparatoire : Donner le gain statique (K) et la constante de temps () du systme.


L'objectif est de comparer, tout d'abord, le comportement du systme en boucle ouverte et ensuite
celui du systme en boucle ferme corrig par un correcteur proportionnel A. On prendra A=2 pour
les questions suivantes. En boucle ouverte, on a donc le schma-bloc suivant :

Y*(p)
K
A

G(p)=

K
A

Y(p)

1+ p

Figure 1
Travail prparatoire : Donner le gain statique et la constante de temps de L(p) "systme +
correcteur" en boucle ouverte.
I. SYSTEME EN BOUCLE OUVERTE
Deux signaux sont susceptibles d'affecter le fonctionnement du systme : u(p) reprsentant un
signal de perturbation sur la commande U(p) et y(p) le signal de perturbation sur la sortie Y(p).
u(p)
Y*(p)

U(p)
C(p)

y(p)

+
G(p)

+
Y(p)

+
Figure 2
27

TP AUTOMATIQUE L3 EEA L3 IE L3 EIA

TP N4

Travail prparatoire : Etablir lexpression littrale de Y(p) en fonction de Y*(p), u(p) et y(p).
Donner les constantes de temps et les gains statiques des diffrentes fonctions de transfert. Ecrire le
schma bloc prcdent sous la forme suivante :
Y*(p)
y(p)
u(p)
Figure 3
II. SYSTEME EN BOUCLE FERMEE
On reprend maintenant le mme systme mais cette fois-ci boucl avec un correcteur proportionnel
de gain A, C(p) = A.
u(p)

Y*(p)

U(p)
C(p)

y(p)
+

+
G(p)

Y(p)

Figure 4

Travail prparatoire : Etablir lexpression littrale de Y(p) en fonction de Y*(p), u(p) et y(p).
Donner les constantes de temps et les gains statiques des diffrentes fonctions de transfert. Ecrire le
schma bloc prcdent sous la forme suivante :

Y*(p)
y(p)
u(p)
Figure 5

Donner le nom de chacune de ces fonctions de transfert ?

28

TP AUTOMATIQUE L3 EEA L3 IE L3 EIA

TP N4

III. COMPARAISON BOUCLE OUVERTE - BOUCLE FERMEE


III.1. Bande passante
Travail pratique : Tracer les diagrammes de Bode reliant les signaux Y*(p), u(p) et y(p) Y(p),
en superposant le diagramme en boucle ouverte et en boucle ferme pour chaque fonction de
transfert.
a) Quel est l'effet du bouclage sur le diagramme de Bode de la fonction de transfert
Y(p)/Y*(p)?
b) Quel est l'effet du bouclage sur le rejet de perturbation (statique et dynamique) ?.
c) D'aprs ces courbes, l'influence d'une excitation sinusodale Y*(p) ou dune perturbation
sera-t-elle toujours la mme sur la sortie lorsque la pulsation de l'excitation change ?
Justifier.

III.2. Performances en poursuite et en rgulation


Travail pratique : l'objectif est d'tudier le comportement de y(t) lorsque y*(t), u(t) et y(t) sont
des signaux chelons ou sinusodaux. Raliser avec simulink et dans la mme fentre, le systme en
boucle ouverte (figure 2) et en boucle ferme (figure 4). Relier la sortie de ces deux systmes un
scope pour les comparer.
a) Excitation chelon : successivement pour chaque entre (y*(t), u(t) et y(t)), prendre un
chelon unitaire comme signal d'excitation. Pour chaque essai, on comparera les rsultats
obtenus (erreur de position : y * ( t ) y ( t ) et temps de rponse 5%) en boucle
ouverte et en boucle ferme. Retrouver ces rsultats par le calcul (thorme de la valeur
finale).
b) Excitation sinusodale : successivement pour chaque entre (y*(t), u(t) et y(t)), prendre un
signal sinusodal de pulsation 20 rad/s et d'amplitude unitaire. Pour chaque essai, on
comparera l'amplitude de la sortie en boucle ouverte et en boucle ferme. Pourquoi y a-t-il
des variations d'amplitude entre chaque entre en boucle ferme ?
c) Excitation sinusodale bis : Sans imprimer les rponses, refaire les mmes essais avec un
signal sinusodal de pulsation 1 rad/s et d'amplitude unitaire. Justifier la diffrence de
comportement de la sortie avec l'excitation prcdente (20 rad/s) ?

29

TP AUTOMATIQUE L3 EEA L3 IE L3 EIA

TP N4

IV. ANALYSE DES PERFORMANCES D'UN SYSTEME BOUCLE


Sous Matlab, crer les fonctions de transferts suivantes :

G ( p) =

1
p + 2 0.3 10 p + 100
2

et C ( p ) =

1
.
p

Sachant que G(p) reprsente le systme asservir et C(p) le correcteur, reprsenter les diffrents
diagrammes de Bode des trois fonctions de sensibilit S(p), G(p) S(p) et T(p) de la boucle ferme
(retour unitaire).

On considre que le systme tudi est soumis une perturbation d'entre et une perturbation de
sortie. On dfinit la pulsation d'attnuation 6 dB pour une fonction de sensibilit comme tant la
pulsation pour laquelle l'effet de la perturbation est attnu d'un facteur 2 ou de 6dB.
A partir de ces indications et compte tenu des diagrammes de Bode obtenus, rpondez aux questions
suivantes en utilisant uniquement les trois rponses frquentielles prcdentes :
a) Donner la bande de pulsations d'attnuation pour les fonctions de sensibilit S(p) et T(p).
b) Quelle va tre l'amplitude en sortie d'une perturbation de sortie sinusodale de pulsation
s = 100 rad/s et 0,1 rad/s ?
c) Une perturbation de sortie de type chelon peut-elle tre rejete ?
d) Le systme boucl peut-il rpondre un chelon de consigne sans erreur de position ?
e) Le systme devant suivre une consigne sinusodale, donner la pulsation maximale pour
laquelle la sortie a la mme amplitude que la consigne.
f) Une perturbation d'entre de type chelon peut-elle tre rejete ?
g) Quelle va tre l'amplitude en sortie d'une perturbation d'entre sinusodale de pulsation
s = 100 rad/s et 0,1 rad/s ?

V. CONCLUSION
Aprs cette tude, quels sont les avantages de la boucle ferme sur la boucle ouverte ?

30

TP AUTOMATIQUE L3 EEA L3 IE L3 EIA

TP N5

ANALYSE D'UNE BOUCLE FERMEE


STABILITE - PERFORMANCES
1. RAPPELS ET DEFINITIONS :
La limite de stabilit en boucle ferme est caractrise par la valeur -1 (point critique) de la fonction
de transfert en boucle ouverte en rgime harmonique. Cette valeur correspond un module de 1 (0
dB) et une phase de -180. On dfinit :
La marge de gain G : pour une phase de -180, c'est la valeur du coefficient (not G) par
lequel il faut multiplier le module pour que celui-ci soit gal 1. On l'exprime gnralement en
dB (20*log((G)) et c'est sous cette forme qu'on le mesure dans le cas des diagrammes de Bode
et de Black-Nichols. Une autre dfinition donne : G est gale l'inverse du gain de L(j) pour
la pulsation laquelle le dphasage est de -180 (o L(j) = C(j) G(j)) :

1
G = min
i L ( j
i,180 )

La marge de module est la distance minimale entre le point critique et le lieu du systme. Ce
critre de stabilit est plus global que la marge de gain. L'expression de cette marge est donne
par :
M = ( -1- L ( j) )
On peut remarquer que :

min

= 1 + L ( j )

M = 1 + L ( j) min = S1 ( j)

min

min

= S ( j) max

La marge de phase : pour un module gal 1 ( = 0dB), c'est la valeur qu'il faut retrancher
la phase pour qu'elle soit gale -180. Dans le cas o il existerait plusieurs frquences de

croisement, l'expression de la marge de phase est : = min i 0dB


i

La marge de retard R qui correspond au plus grand retard additionnel que peut supporter le

systme sans entraner la dstabilisation du systme en boucle ferme : R =


.
0dB

Dans le cas o il existe plusieurs frquences de croisement, l'expression de la marge de retard est

min i 0dB
i
i .
: R =
0dB
i

31

TP AUTOMATIQUE L3 EEA L3 IE L3 EIA

TP N5

Im[L(j)]

1
G
=

Re[L(j)]

0dB ; L( j 0dB) = 1
i

Figure 1 : Lieu de Nyquist (hodographe) d'une fonction de transfert en boucle ouverte


avec ses marges de stabilit.
2. TRAVAIL PREPARATOIRE
2.1 - Soit la fonction de transfert suivante :
G(p) =

1.98
(p + 0.9) (p + 1) (p + 1.1)

Tracer les 3 diagrammes asymptotiques de G(p) (Bode, Nyquist et Black-Nichols).


2.2 Afin de faciliter les calculs, on considre que G(p) possde un ple triple en 1. Dans ces
conditions, calculer les marges de gain et de phase ainsi que les pulsations associes ces marges.
Si ce systme est boucl avec un gain proportionnel, quel doit tre la valeur de ce gain pour avoir
une marge de phase de 45. Justifier la rponse par le calcul et graphiquement.
Calculer la valeur du gain limite Klim qui amne le systme la limite de stabilit. Dans ce cas,
quelle est la valeur de la pulsation de loscillation de sortie (en rad/s) ?

3. TRAVAIL PRATIQUE
3.1 - Sous Matlab, en crant l'objet systme G, tracer les diagrammes de Bode, Nyquist et BlackNichols de G(p). Retrouver les marges de gain et de phase sur chaque diagramme et comparer les
valeurs avec celles dtermines lors du travail prparatoire.
En dduire la marge de retard et dterminer la marge de module.

32

TP AUTOMATIQUE L3 EEA L3 IE L3 EIA

TP N5

Illustration des marges de stabilit :


Raliser sous Simulink le schma suivant

Figure 2 : systme boucl raliser


Dans ce schma, les blocs "retard variable" (Transport Delay) et gain ont t introduits de manire
vrifier la valeur des marges de gain et de retard.
Avec un gain unitaire, trouver exprimentalement la valeur du retard au-del de laquelle le systme
boucl devient instable. Comparer cette valeur avec la marge de retard R calcule prcdemment.
Mesurer la pulsation d'oscillation de la sortie lorsque le systme est en limite de stabilit.
Avec un retard nul, retrouver, en simulation, la valeur du gain au-del duquel le systme boucl
devient instable. Comparer cette valeur avec la marge de gain G calcule prcdemment. Mesurer
la pulsation d'oscillation de la sortie lorsque le systme est en limite de stabilit. Est-ce la mme ?
Expliquer.
3.2 Application sur le procd lectrique
L'objectif est de faire l'tude de la stabilit concernant un systme lectrique constitu par la mise en
srie des systmes du 1er ordre et du 2nd ordre identifis lors du TP identification.
En reprenant les fonctions de transfert identifies, construire sous Matlab l'objet systme
correspondant la mise en srie des deux systmes. Recommencer le travail demand lors du
paragraphe 3.1 avec ce nouveau systme (sans la mesure de la pulsation d'oscillation).
Aprs avoir reli la sortie du systme du 1er ordre l'entre du systme du 2nd ordre, connecter la
l'entre du 1er ordre au botier d'extension de la carte en utilisant la voie 2 bipolaire et la sortie du 2nd
ordre une entre analogique. Charger le fichier "proc_3.mdl". Le modifier de manire reproduire
le schma de la figure 2. Vrifier que le bloc "Envoi d'une tension bipolaire sur la voie 2" soit
configur de manire gnrer une tension de 0 Volt en fin de simulation.
Vrifier exprimentalement les rsultats obtenus en simulation avec vos modles. Les rsultats sontils diffrents ? Expliquer.
33

TP AUTOMATIQUE L3 EEA L3 IE L3 EIA

TP N5

3.3 Compromis performances - stabilit


L'objectif est de mettre en vidence le compromis performance stabilit sur le systme du 3me
ordre en simulation. Reprendre les fonctions de transfert identifies. Choisir quelques valeurs
adquates de gain et l'aide de la rponse indicielle du systme en boucle ferme et des tracs
frquentiels (Bode, Nyquist et Black-Nichols), illustrer ce compromis. Pour cela, valuer, dans
chaque cas, les performances ainsi que les marges de stabilit correspondantes.

34

TP AUTOMATIQUE L3 EEA L3 IE L3 EIA

TP N6

CORRECTION PI, PD, PID


I. RAPPEL SUR L'OBJECTIF D'UN ASSERVISSEMENT.
Une configuration gnrale de systme boucl avec un retour unitaire est la suivante :
u(p)
Y*(p)

U(p)
C(p)

y(p)

G(p)

Y(p)

w(p)

Figure 1 : systme en boucle ferme


Le problme est de choisir le correcteur C(p) et de rgler ses paramtres pour que l'asservissement
fonctionne correctement c'est--dire faire suivre le mieux possible la sortie du systme y(t) vers le
signal de rfrence y*(t) malgr la prsence de perturbations qui agissent sur le systme. u(t) et
y(t) reprsentent les perturbations qui agissent respectivement l'entre et la sortie du systme.
w(t) reprsente du bruit de mesure. De plus, la commande u(t) doit tre admissible pour le systme
(problme de saturation des actionneurs par exemple).
Ce rglage est effectu de manire respecter des spcifications imposes par un cahier des charges.
Ainsi, il peut tre demand d'avoir :

une bonne prcision statique (rgime permanent)


un faible temps de rponse et dpassement limit
un bon rejet des perturbations, problme de rgulation
un bon suivi de trajectoire, problme de poursuite
de bonne marge de stabilit
une bonne robustesse (garantir le bon fonctionnement sur le procd rel)
etc.

Pour cela, l'automaticien a, sa disposition, plusieurs types de correcteur possdant chacun des
avantages et des inconvnients. Rappelons rapidement leffet des diffrents types disponibles de
correcteur pour une rgulation continue :

35

TP AUTOMATIQUE L3 EEA L3 IE L3 EIA

TP N6

II. CARACTERISTIQUES PRINCIPALES DES CORRECTEURS P, PI, PD, PID.


Correcteur Proportionnel (P): C( p) = K p .
Laugmentation de Kp amliore la prcision statique et peut aussi amliorer les performances
en dynamique mais un gain trop important peut dstabiliser un systme.

1
Correcteur Proportionnel et Intgral (PI) : C ( p ) = K p 1 +

Ti p
Il supprime lerreur de position en rgime permanent mais diminue les marges de robustesse
car il sagit dune action retard de phase. Il peut dstabiliser le systme s'il est mal choisi.

T p
Correcteur Proportionnel et Driv (PD) : C(p) = K p 1 + d
.
1 + Td p
N

En pratique, il nest pas possible de raliser un drivateur idal (signaux nergie infinie).
On implante donc un module de drive filtre. Le rglage de la constante de filtrage Td/N
permet de limiter le gain donn aux hautes frquences. Le coefficient N correspond au gain
donn au module de drive filtre. En dautres termes, le bruit de mesure ou les
changements de consigne seront amplifis au plus par N.
Sauf cas particulier, ce type de correcteur est utilis avec des procds comportant un
intgrateur. Il amliore les performances en dynamique. Mal choisi, il est inefficace mais
rarement dstabilisant.

T p
1
+ d
Correcteur Proportionnel, Intgral et Driv (PID) : C(p) = K p 1 +
.
Ti p 1 + Td p
N

Il regroupe les avantages et les inconvnients des correcteurs prcdents.


Sous cette forme, il s'agit de la forme fondamentale, standard ou mixte du PID.

y*(t)

y(t)

Figure 2 : exemple de structure de correcteur PID


Il existe plusieurs structures de P.I.D. Si ces structures ne modifient pas la position des ples en
36

TP AUTOMATIQUE L3 EEA L3 IE L3 EIA

TP N6

boucle ferme, elles agissent sur lordre du numrateur de la fonction de transfert du systme en
boucle ferme (cf. cours).
III. APPLICATIONS.
III.1. Correction PI
Le premier systme asservir est le suivant : G1 (p) =

0.5
( p + 1)( 0.5 p + 1)

Le cahier des charges prcise pour le systme en boucle ferme :


L'erreur de position doit tre nulle en rgime permanent.
Le dpassement de sa rponse indicielle doit tre de 25% au maximum.
Les marges de stabilit doivent tre suffisantes (M>-6dB, >40).
Travail prparatoire :
a) Pour rpondre aux spcifications du cahier des charges, quelle(s) action(s) le correcteur doit-il
contenir ? Justifier la rponse.
b) Etablir l'expression de l'erreur de position et montrer que le correcteur PI permet d'annuler cette
erreur.
c) Avec ce type de correcteur, est-ce que le systme boucl est adapt pour rejeter une ventuelle
perturbation de type chelon en sortie et en entre ? Pour chaque cas, justifier la rponse.
d) Par la mthode du lieu des racines, montrer que si lon utilise un correcteur PI, la diminution du
temps de monte est limite et montrer que cela entrane obligatoirement une augmentation du
dpassement. Que faut-il faire pour liminer cet inconvnient ?
e) Compte tenu du cahier des charges, quel est le contour (en dB) que doit tangenter le diagramme
de Black de la fonction de transfert en boucle ouverte ? Quelle est la valeur du coefficient
d'amortissement associ ?
Rappel : La valeur du 1er dpassement et le facteur de rsonance sont donns respectivement par les
2
1
relations suivantes : D% = 100 e / 1 et Q =
.
2 1 2
Travail exprimental : en utilisant les diffrents abaques, synthtiser un correcteur qui rpond aux
spcifications. Justifier les valeurs des paramtres de C(p) par une analyse frquentielle rigoureuse.
Vrifier le comportement temporel du systme corrig en utilisant le fichier boucle_fermee.mdl.

37

TP AUTOMATIQUE L3 EEA L3 IE L3 EIA

TP N6

III.2. Correction PD
Le deuxime systme asservir est le suivant : G 2 (p) =

4
p
p ( p + 1) + 1
3

Travail prparatoire :
Avec ce type de correction, est-ce que le systme boucl est adapt pour rejeter une ventuelle
perturbation de type chelon en sortie et en entre ? Pour chaque cas, justifier la rponse.

Travail exprimental :
a) Tracer les diffrents tracs frquentiels pour le systme G2(p).
b) En dduire la valeur des paramtres suivants : marges de gain et de phase, rsonance en boucle
ferme. Pour chacun de ces paramtres, dterminer approximativement la pulsation associe.
c) Expliquer en quoi il est ncessaire de faire une correction de type avance de phase.
d) Est-il utile de tracer la rponse indicielle de ce systme en boucle ferme ?
e) On doit effectuer la conception du systme boucl avec un correcteur de type proportionnel et
driv et retour unitaire de faon vrifier les conditions imposes suivantes :

L'erreur de position doit tre nulle en rgime permanent.


Le premier dpassement de sa rponse indicielle ne doit pas dpasser 20%.
Les marges de stabilit doivent tre suffisantes (M>-6dB, >40).
Dterminer les paramtres du correcteur avance de phase permettant de rpondre aux
spcifications. Calculer les marges de stabilit du systme corrig.
f) Vrifier le comportement temporel du systme corrig en utilisant le fichier boucle_fermee.mdl.
et dterminer le temps de rponse 5%.

III.3. Correction PID


a) Asservir le systme G1(p) avec un PID standard ou mixte de manire obtenir un temps de
rponse minimal avec les marges de stabilit spcifies par le cahier des charges.
b) Comparer les performances du systme boucl pour diffrentes structure de PID (forme parallle,
srie, actions drive ou proportionnelle et drive appliques sur le signal de sortie).

38

TP AUTOMATIQUE L3 EEA L3 IE L3 EIA

TP N7 & 8

Asservissement d'un systme thermique.

On cherche asservir le systme thermique prsent dans la salle de TP. Ce systme est constitu
dun tube de PVC conduisant un flux ascendant dair chaud. Lair est chauff la base du tube par
une rsistance chauffante qui est elle-mme alimente par une tension dlivre par le microordinateur. La temprature est mesure par un thermocouple situ lextrmit suprieur du tube.
La tension dlivre par le capteur de temprature est comprise dans un domaine de 0 10 Volts.
Le cahier des charges spcifie que lasservissement devra remplir les conditions suivantes :
La sortie ne doit pas prsenter derreur de position.
Les marges de gain et de phase doivent avoir des valeurs correctes.
Le dpassement, suite une consigne de type chelon, doit tre infrieur 10 %.
Le temps de rponse doit tre le plus rapide possible.
La mise au point de lasservissement se fera sous lenvironnement Matlab. Il est indispensable de
tester la boucle ferme en simulation avant de l'appliquer sur le systme rel.
Remarques
1 - Le fichier aero.mdl contient les blocs de base permettant de connecter le PC au systme.
2 - Le compte rendu doit tre prcis et concis, il doit notamment faire apparatre clairement les
justificatifs qui ont conduisent aux choix des paramtres du modle et du correcteur proposs.

39

You might also like