Vous êtes sur la page 1sur 34

MINISTERE DE LENSEIGNEMENT SUPERIEUR ET DE LA

RECHERCHE SCIENTIFIQUE

UNIVERSITE DES SCIENCES ET DE LA TECHNOLOGIE


DORAN-M B-

FACULTE DE GENIE ELECTRIQUE


DEPARTEMENT DAUTOMATIQUE

Polycopi de travaux pratiques:

Automatique des systmes linaires


continus

Prsent par : Dr. ZELMAT Mohammed El Mouloud

Septembre 2014
Avant-propos
Ce polycopi de travaux pratiques donne les lments de base ncessaires la comprhension
des systmes asservis linaires. Il sadresse aux tudiants de la troisime anne prparant une
licence en automatique.

Fonctionnement gnral

Organisation du cycle

Le cycle de TP se droule sur 6 sances (Salle de TP 5110 A)


Il comprend 6 manipulations de 2 heures chacune.

Les diffrentes manipulations sont dcrites par la liste ci-dessous.

LISTE DES MANIPULATIONS

TP 1 Amplificateur oprationnel 1
TP 2 Amplificateur oprationnel 2
TP 3 Introduction au logiciel Matlab
TP 4 Analyse temporelle dun systme dynamique du 1er ordre
TP 5 Analyse temporelle dun systme dynamique du 2me ordre
TP 6 Analyse frquentielle, stabilit et asservissement dun systme

Notation
Chaque manipulation donne lieu un compte-rendu par groupe rendre, et qui fera lobjet
dune note qui prend en compte la prparation (contrle en dbut de sance), la participation
des tudiants au droulement du TP, les rsultats obtenus et leur interprtation. La moyenne
des 6 notes obtenues (une par TP) constituera la note finale associe ce cycle
denseignement.
En cas dabsence prvisible et pralablement justifie par la Direction des tudes lors dune
sance, les tudiants doivent imprativement prvenir lenseignant qui les encadre.
Les absences injustifies donnent lieu un zro pour la sance concerne, sans aucune
possibilit de rattrapage. De plus, tout retard non justifi une sance entrainera la
pondration de la note obtenue par ltudiant cette sance par un coefficient gal au prorata
de la prsence de ltudiant durant la sance.
Automatique et informatique industrielle L3 Travaux Pratiques

TP1 : Amplificateur Oprationnel 1


dynamique du 2me ordre.

I. Objectifs pdagogiques
Etude thorique dun amplificateur oprationnel et manipulation sur quelques
montages de base :

Amplificateur inverseur ;
Amplificateur non inverseur ;
Amplificateur comparateur.

II. Matriels utiliss


Une alimentation stabilisante + 15V ;
Un gnrateur de fonction ;
Un oscilloscope double trace ;
Une plaque dessais universelle ;
Un amplificateur, des rsistances et des condensateurs ;
Un potentiomtre ;
Jeu de lignes de connexion des connecteurs.

III. Rappels thoriques


Lamplificateur oprationnel (A.O) est un circuit intgr associe des lments
passifs ou actifs, permet de raliser des oprations sur des grandeurs analogiques
(addition, multiplication, drivation, intgrationetc.). Pour fonctionner, il doit donc
tre polaris (entre -15V et +15V).

A tant trs leve (~100000), UD est trs faible en rgime linaire : UD <1V.

Pour un amplificateur oprationnel parfait (idal) fonctionnant en rgime linaire :

UD = E+ - E- 0 I+= I-= 0

1
Automatique et informatique industrielle L3 Travaux Pratiques

IV. Montages fondamentaux de lamplificateur oprationnel


Les amplificateurs oprationnels sont souvent exploits avec la contre raction. Une
partie de la tension de sortie est ramene lentre E- par la rsistance Rg.

1. Montage Inverseur

Dans ce montage Fig. 3, la tension dentre UE est applique par la rsistance R1.

( ) ( )

Lamplificateur :

2
Automatique et informatique industrielle L3 Travaux Pratiques

2. Montage non Inverseur

Dans ce montage Fig. 4, la rsistance R1 forme un diviseur de tension avec la


rsistance Rg.

( ) ( ) .

Lamplificateur :

3. Montage Comparateur

Ce circuit Fig. 5 sert comparer les deux tensions V1 et V2.

V1 = UE (Tension dentre) ; V2 = Vref (Tension de rfrence)

Us(t) = + Vcc si V1 < V2 ; Us(t) = - Vcc si V1 > V2

3
Automatique et informatique industrielle L3 Travaux Pratiques

V. Travail exprimental
Remarques importantes suivre avant toute mise en uvre :

Vrifier que lalimentation est coupe avant chaque manipulation ;


Alimenter dabord le circuit avant dinjecter un signal dentre.

1. Application du montage inverseur :

1.1 Construire le montage Fig.3, avec R1=1 KOhm et Rg = 2,2 KOhm ;


Slectionner une tension dentre sinusodale damplitude 4V et de frquence
= 1Khz ;
Identifier les deux tensions observes sur loscilloscope ;
Tracer les courbes UE = f(t) et Us = f(t). Bien noter leurs valeurs maximales
ainsi que la priode T du signal ;
Calculer lamplification du montage
Faites varier la tension dentre et mesurer les tensions de sortie
correspondants :
UE(V) 0.5 1 2 3 4 4.5 5
Us(V)

Tracer Us = (UE) ;
Vrifier que V= - =-

1.2 Modifier le circuit extrieur (R1 =10 KOhm, Rg =10 KOhm) ensuite
(R1 = 22 KOhm, Rg = 10 KOhm) et rpondre aux questions dcrites dans 1.1.

2. Application du montage non inverseur

Construire le montage Fig.4, et rpondre aux questions dcrites dans la manipulation


prcdente avec la prise en considration de lamplification correspondante ce
montage.

3. Application du montage comparateur

Construire le montage Fig.5, avec R 1= R2 = 1 k0hm et P =10 k0hm,

Pour cette exprience, V2 est la tension de rfrence valeur fixe compare a


V1variable reprsentant la tension dentre ;
Mesurer V2 et slectionner une tension dentre continue ;
Identifier les deux tensions observes sur loscilloscope ;
Faire varier la tension dentre et mesurer les tensions de sortie
correspondantes.

4
Automatique et informatique industrielle L3 Travaux Pratiques

UE(V) 0 2.5 5 7.5 8 10 12.5 15


US(V)

Que peut on conclure?

VI. Conclusion gnrale


Faites vos conclusions sur les montages que vous avez ralis.

5
Automatique et Informatique Industrielle L3 travaux pratiques

TP2 : Amplificateur Oprationnel 2

I. Objectifs pdagogiques
Etude thorique et manipulations sur quelques montages raliss base
damplificateur oprationnel :

Sommateur ;
Intgrateur;
Drivateur.

II. Matriels utiliss


Une alimentation stabilisante + 15V ;
Un gnrateur de fonction ;
Un oscilloscope double trace ;
Une plaque dessais universelle ;
Un amplificateur, des rsistances et des condensateurs ;
Un potentiomtre ;
Jeu de lignes de connexion des connecteurs.

III. Rappels thoriques

III.1 Montage Sommateur

Ce circuit Fig. 6 sert additionner les deux tensions dentre UE1(t) et UE2(t)

Fig.6 Amplificateur sommateur

6
Automatique et Informatique Industrielle L3 travaux pratiques

III.2 Montage Intgrateur

Un intgrateur Fig. 7 est un circuit dont la tension de sortie est proportionnelle la


tension dentre lorsque celle-ci est applique. On peut ainsi convertir des tensions
rectangulaires en tensions triangulaires avec diffrentes pentes.

( ) ( )

III.3 Montage drivateur

Un drivateur est un circuit dont la tension de sortie est proportionnelle la vitesse


laquelle varie la tension dentre. Des tensions rectangulaires peuvent donc tre
transformes en impulsions en dents.

Fig.8 Amplificateur drivateur

7
Automatique et Informatique Industrielle L3 travaux pratiques

IV. Travail exprimental

IV.1 Application du montage Sommateur

Construire le montage Fig.6 ; avec R1= R2= R3 ; aprs avoir calcul leurs
valeurs pour que Us = 8V, UE1= UE2 = 4V et la frquence = 1Khz ;
Identifier les tensions observes sur loscilloscope ;
Tracer les courbes UE = (t) et Us = (t). Bien noter leurs valeurs maximales
ainsi que la priode T du signal ;
Que se passe-t-il si on prend R1= R2 et R3 = 47 KOhm ?

IV.2 Application du montage intgrateur

IV.2.1 Construire le montage Fig.7 ; avec R= 10 Ohm et Cg = 50 nF (20.1F en


srie).
Slectionner une tension dentre rectangulaire damplitude 50 mV et de
frquence = 1Khz
Identifier les deux tensions dentre et de sortie observes sur loscilloscope ;
Tracer les courbes UE= ( ) et Us = ( ). Bien noter leurs valeurs maximales
ainsi que la priode T du signal.

IV.2.2 Varier la capacit de la contre raction Cg= 0.2F (20.1F en parallle) et


rpter les mesures de lexprience IV.2.1 et tracer les courbes visualises sur
loscilloscope.

IV.2.3 Comparer les courbes de la tension de sortie des expriences IV.2.1 et


IV.2.2 et interprter les rsultats.

IV.3 Application du montage drivateur

IV.3.1 Construire le montage Fig.8 ; avec R= 10 Ohm et Cg= 50nF (20.1F en


srie) ;
Slectionner une tension dentre rectangulaire damplitude 1V et de
frquence ;
Tracer les courbes UE = ( ) et Us = ( ). Bien noter leurs valeurs maximales
ainsi que la priode T du signal.

IV.3.2 Varier la capacit de la contre raction Cg= 0.2F (20.1F en parallle),


rpter les mesures de lexprience IV.3.1 et tracer les courbes visualises sur
loscilloscope.

IV.3.3 Comparer les courbes de la tension de sortie des expriences IV.3.1 et


IV.3.2 et interprter les rsultats.

V. Conclusion gnrale
Faites vos conclusions sur les montages que vous avez ralis.

8
Automatique et Informatique Industrielle L3 travaux pratiques

TP N3: Introduction au logiciel Matlab

dynamique
I. Objectifs pdagogiques
Etude des commandes de base du logiciel Matlab et ralisation de programmes Matlab pour la
simulation numrique des systmes asservis.

II. Introduction
Matlab (abrviation de Matrix Laboratory ) est un environnement informatique conu
pour manipuler aisment des matrices laide de fonction prprogrammes (addition,
multiplication, inversion, dcompositions, dterminants), en saffranchissant des
contraintes des langages de programmation classique :
Plus de dclarations de variables.
Plus de phase ddition-compilation-excution.
Llment de base est une matrice dont la dimension na pas tre fixe. Matlab est un outil
puissant qui permet la rsolution de nombreux problme en beaucoup moins de temps quil
nen faudrait pour les formuler en C ou en Pascal.
Sil est parfaitement adapt lAutomatique et au Traitement du Signale, sa facilit demploi
avec des nombres complexes et ses possibilits daffichages graphiques en font un outil
intressant pour bien dautres type dapplications. De plus, des toolboxes (boite outils)
sont disponibles dans de nombreux domaines (Contrle, Robotique, traitement de signal,
traitement dimage, optimisation,). Cet aspect modulaire est lun des plus grands atouts de
Matlab : lutilisateur peut lui mme dfinir ses propres fonctions, en regroupant des
instructions Matlab dans un fichier portant le suffixe .m.
Matlab peut tre donc considr comme un langage de programmation au mme titre que C,
Pascal ou Basic.
Cest un langage interprt, c'est--dire, que les instructions sont excutes immdiatement
aprs avoir t tapes.
Matlab permit de dvelopper des algorithmes rapidement, de visualiser des donnes (sous
forme de graphiques 2D ou 3D et dimages, avoir de squence dimage), et de raliser des
interfaces graphiques.
III. Gnralits et prise en main
III.1 Dmarrage, quitter
Pour dmarrer Matlab, il suffit de cliquer dans l'icne "Matlab" si vous tes sous Windows.
L'espace de travail de Matlab se prsente alors sous la forme d'une fentre affichant un
prompt ">>" la suite duquel vous pouvez taper une commande qui sera excute aprs avoir
tap sur la touche "return" (retour chariot).

9
Automatique et Informatique Industrielle L3 travaux pratiques

En haut de cette fentre se trouve une barre de menu qui vous permet d'ouvrir un fichier texte,
de dfinir certaines variables de travail et surtout d'accder l'ensemble des fichiers d'aides.
Vous pourrez quitter la session avec la commande quit.

III.2 Lespace de travail (workspace)


Comme tout langage de programmation, Matlab permet de dfinir des donnes variables. Les
variables sont dfinies au fur et mesure que lon donne leurs noms (identificateur) et leurs
valeurs numriques ou leurs expressions mathmatiques. Matlab ne ncessite pas la
dclaration de type ou de dimension pour une variable. Les variables sont stockes dans
lespace de travail (ou workspace) et peuvent tre utilises dans les calculs subsquents.

III.3 Langage interprt


Matlab est un langage interprt. Il n'est pas ncessaire de compiler un programme avant de
l'excuter et toute commande tape dans la fentre de commande est immdiatement excute
(aprs la frappe de return).
>> 2+2
ans = 4
>> 5^2
ans = 25

La rponse est affiche et stocke dans la variable ans.


La plupart des fonctions mathmatiques usuelles sont dfinies dans Matlab, et ceci sous une
forme naturelle (sin, cos, exp, ...) de mme que certaines constantes (pi ...).

>> 2*sin(pi/4)
ans = 1.4142

III.4 Variables
Matlab considre trois types de variables (rel, complexe et chanes de caractres). En fait,
toute variable de Matlab est une matrice (scalaire : matrice 1x1, vecteur : matrice 1xN ou
Nx1).
On peut indiquer le nom de la variable dans laquelle le rsultat doit tre stock (commence
par une lettre, moins de 19 caractres).
Attention, Matlab prend en considration les majuscules (x est diffrent de X).
>> x = pi/4
x = 0.7854

10
Automatique et Informatique Industrielle L3 travaux pratiques

Le nom de cette variable ainsi que le rsultat sont affichs.


Un point virgule (;) la fin de la ligne permet de ne pas afficher ce rsultat. On peut taper
plusieurs commandes par ligne, spares par un point virgule.
>> x = pi/2; y = sin(x);

Lorsqu'une ligne de commande est trop longue on peut l'interrompre par trois points (...) et la
poursuivre la ligne suivante, on peut aussi mettre des commentaires dans une ligne de
commande l'aide du signe " % ".

III.4.1 Effacement et liste des variables


La commande clear permet deffacer une partie ou toutes les variables dfinies jusqu
prsent. Il est conseill de placer cette commande au dbut de vos fichiers de commandes, en
particulier lorsque vous manipulez des tableaux. Syntaxe :

>>clear var1 var2 var3 . . .

Si aucune variable nest spcifie, toutes les variables seront effaces.


La commande who affiche les noms de toutes les variables en cours.

III.4.2 Variables complexes


Matlab travaille indiffremment avec des nombres rels et complexes. Par dfaut les
variables i et j sont initialises la valeur complexe. Naturellement si vous redfinissez la
variable i ou j avec une autre valeur elle n'aura plus la mme signification.
>> z = 3 + 2*i
z = 3.0000 + 2.0000i

Les fonctions usuelles de manipulation des nombres complexes sont prdfinies dans Matlab
: real, imag, abs, angle (en radian), conj.
>> r = abs(z);
>> theta = angle(z);
>> y = r*exp(i*theta);

III.4.3 Chanes de caractres


Comme on l'a vu prcdemment, toute variable de Matlab est une matrice. Cependant, il peut
tre utile de conserver des chanes de caractres dans des variables, et cela se fait de faon
tout fait naturelle :
>> message = 'bienvenue sur Matlab'

On peut alors raliser des manipulations de mme type que pour les vecteurs

11
Automatique et Informatique Industrielle L3 travaux pratiques

>> message = [message, ' version 4.1']


message = bienvenue sur Matlab version 4.1

On peut convertir des nombres en chane de caractres l'aide des fonctions num2str, int2str,
sprintf. Par exemple :
>> message = ['pi vaut ', num2str(pi)]
message = pi vaut 3.142
III.5 Vecteurs, matrices et leur manipulation
On peut spcifier directement une matrice sous la forme d'un tableau, l'espace ou la virgule
spare deux lments d'une mme ligne, les points virgules sparent les lments de lignes
distinctes.
>> A = [ 1, 2, 3 ; 4, 5, 6 ; 7, 8, 9 ]
A=123
456
789

Les lments d'une matrice peuvent tre n'importe quelle expression de Matlab :
>> x = [ -1.3, sqrt(3), (1+2+3)*4/5 ]
x = -1.3000 1.7321 4.8000

Les lments d'une matrice peuvent tre rfrencs par leurs indices :
>>x(2)
ans = 1.7321
>>x(5) = abs(x(1))
x = -1.3000 1.7321 4.8000 0.0000 1.3000

On peut remarquer que la taille du vecteur x a t ajuste en remplissant les lments non
prciss par 0.
On peut aussi crer des matrices avec les fonctions zeros, ones et eye, ces fonctions crent des
matrices de la taille prcise, respectivement remplies de zros, de un, et de un sur la
diagonale et des zros ailleurs (eye = prononciation anglaise de I comme identit).
>> eye(2,3)
ans = 1 0 0
010
>> ones(1,5)
ans = 1 1 1 1 1

12
Automatique et Informatique Industrielle L3 travaux pratiques

On peut avoir des informations sur la taille d'une matrice :

>> size(x)
ans = 1 5
>> length(x)
ans = 5

On peut ajouter des lignes et des colonnes des matrices dj existantes.

>> r1 = [10, 11, 12];


>> A = [A ; r1]
A=1 2 3
4 5 6
7 8 9
10 11 12

>> r2 = zeros(4,1);
>> A = [A, r2]
A=1230
4560
7890
10 11 12 0

III.6 L'oprateur " : "


Cet oprateur, sous Matlab, peut tre considr comme l'oprateur d'numration. Sa syntaxe
usuelle est : deb:pas:fin

Il construit un vecteur dont le premier lment est deb puis deb+pas, deb+2*pas... jusqu'
deb+n*pas tel que deb+n*pas fin < deb+(n+1)*pas.
>> x = 0.5:0.1:0.85
x = 0.5000 0.6000 0.7000 0.8000

Le pas d'incrmentation peut tre omis, 1 est alors pris par dfaut :
>> x =1:5
x=12345

13
Automatique et Informatique Industrielle L3 travaux pratiques

On peut aussi utiliser le " : " pour slectionner des lments d'un vecteur ou d'une matrice :
>> A(1,3) % Troisime lment de la premire ligne de A
>> A(1,1:3) % Premier, deuxime et troisime lments de la premire ligne de A
>> A(1,:) % Tous les lments de la premire ligne
>> A(:,3) % Tous les lments de la troisime colonne
>> A(:) % Vecteur colonne contenant tous les lments de A lus colonne par colonne.

III.7 Exemple dextraction de sous-tableaux

tableau(dbut :fin, dbut :fin)

>> M = [1 2 3;11 12 13;21 22 23]


>> M(1:2,2:3)% permet dextraire la matrice M=[2,3 ;12,13]
ans = 2 3
12 13

Si on utilise le caractre : seul, a veut dire prendre tous les indices possibles. Exemple :

>> M(1:2,:)
ans =1 2 3
11 12 13

Cest bien pratique pour extraire des lignes ou des colonnes dune matrice. Par exemple pour
obtenir la deuxime ligne de M :
>> M(2,:)
ans = 11 12 13

III.8 Construction de tableaux par blocs

Vous connaissez ce principe en mathmatiques. Par exemple, partir des matrices et vecteurs
prcdemment dfinis, on peut dfinir la matrice (4x4)

14
Automatique et Informatique Industrielle L3 travaux pratiques

Pour faire a sous Matlab, on fait comme si les blocs taient des scalaires, et on crit :
>> N=[M V
U 0]
N=
1 2 3 11
11 12 13 12
21 32 23 13
1 2 3 0

Ou bien en utilisant le caractre ;

>> N=[M V; U 0]

Cette syntaxe est trs utilise pour allonger des vecteurs ou des matrices, par exemple si on
veut ajouter une colonne M, constitue par V :
>> M=[M V]
M=
1 2 3 11
11 12 13 12
21 32 23 13

Si on veut lui ajouter une ligne, constitue par U :


>> M = [M;U]
M=
1 2 3
11 12 13
21 32 23
1 2 3

III.9 Affichages alphanumriques et graphiques


III.9.1 Affichage alphanumrique
On peut afficher des chanes de caractres dans la fentre de commande :

>> disp(pi vaut 3.142)

15
Automatique et Informatique Industrielle L3 travaux pratiques

Les fonctions sprintf et fprintf existe galement (mme syntaxe qu'en langage C).

>> fprintf('pi vaut %f\n',pi)


pi vaut 3.141593

On peut aussi demander des valeurs l'utilisateur :

>> var = input('Nombre d''itration de l''algorithme : ');

Matlab affichera la chane de caractre entre en paramtre et attendra une rponse de


l'utilisateur.
III.9.2 Affichages graphiques 2D
Matlab permet un grand nombre de types d'affichage 2D et 3D, seuls les plus courants seront
dcrits ici. Utiliser help et les autres commandes daide pour affiner vos connaissances et vos
graphismes.
La commande plot permet l'affichage d'une courbe 2D :

>>clear all ;clc


>> t= -pi:0.01:pi; % lintervalle de temps
>>y = sin(t);z=cos(t) ;
>>figure(1) %Ouvrir une figure numro 1
>>plot(t,y) % Tracer la fonction y en fonction de t dans l'intervalle [-,] avec un pas
%de 0.01.
>>hold on %Maintenir le graphe courant
>>plot(t,z) % tracer la fonction z en fonction de x dans le mme graphe
>>title(Fonctions sin et cos) % Afficher le titre du graphe
>>xlabel('Temps'); ylabel('y,z') % Dfinir les axes x et y
>>grid %Affiche un quadrillage sur la courbe
>>legend(sinus, cosinus) % Afficher les lgendes de x et y
>>hold off %Pour revenir en mode normal
>>figure (2) %Ouvrir une figure numro 2
>>plot(x,sin(x),x,cos(x),r-.) %Tracer deux courbe(sin(x) et cons(x) dans la mme
%figure(2)
>>legend(cosinus,sinus,racine)
>>clf % effacer le fentre graphique et annule toutes les commandes de traage (plot)

16
Automatique et Informatique Industrielle L3 travaux pratiques

On peut tracer la courbe en semilog ou en log avec les fonctions semilogx, semilogy et loglog.
Pour attribuer des couleurs ou des styles du trait et des points de traage des courbes vous
taper help plot pour avoir de laide.

>> plot(x,cos(x),:,x,sin(x),r-.,x,sqrt(x),g--)

Remarque:
Les commandes gtext et text permettent le positionnement et lcriture dans la zone
graphique.
>>gtext({'This is the first line','This is the second line'})

Linstruction axis ([xmin xmax ymin ymax]) permet de dfinir les dimensions des axes x et y
>> axis ([-pi pi 0 10])

Afficher plusieurs graphiques (subplot)


On peut effectuer plusieurs affichages sur une mme figure en utilisant la commande subplot
qui subdivise la fentre graphique. Sa syntaxe est :
subplot(nombre_lignes,nombre_colonnes,numro_subdivision)
Les subdivisions sont numrots de 1 nombre_lignes*nombre_colonnes, de la gauche vers
la droite puis de haut en bas.
Exemple :

>> subplot(3,2,1) 1 2
>> plot(x,y) 3 4
>> subplot(3,2,2) 5 6
>> plot(x,y.^2)

17
Automatique et Informatique Industrielle L3 travaux pratiques

III.10 Instructions de contrle


Comme dans la plupart des langages il existe des instructions de contrle de la forme for,
while ou if.
Instructions conditionnelles if
if condition logique
instructions ;
elseif condition logique
instructions ;
...
else
instructions
end

Structures de contrle boucles for

for variable = valeur dbut: pas: valeur fin


instructions ;
end

Structures de contrle boucles while

while condition logique


instructions ;
end

III.11 Fichier Scripts


Il est parfois (souvent) souhaitable, pour ne pas avoir taper plusieurs fois une mme
squence d'instructions, de la stocker dans un fichier. Ainsi on pourra rutiliser cette squence
dans une autre session de travail. Un tel fichier est dnomm script.
Il suffit d''ouvrir un fichier avec le menu file, new, et de taper la squence de commande dans
ce script ensuite sauvegarder le fichier avec une extension " .m " (nom_fich.m). En tapant le
nom du fichier sous Matlab (Workspace), la suite d'instructions s'excute.
Les variables dfinies dans l'espace de travail sont accessibles pour le script. De mme les
variables dfinies (ou modifies) dans le script sont accessibles dans l'espace de travail.
On peut (doit) mettre des commentaires l'aide du caractre " % ". Toute commande situe
aprs "% " n'est pas prise en compte par Matlab, jusqu' la ligne suivante.

18
Automatique et Informatique Industrielle L3 travaux pratiques

IV. Rsum des commandes MatLab


On a regroup par sujet d'intrt les diffrentes commandes et fonctions de MatLab. Il en
existe d'autres que l'on pourra trouver dans les diffrentes botes outils (toolbox) qui
viennent complter le logiciel de base.

19
Automatique et Informatique Industrielle L3 travaux pratiques

20
Automatique et Informatique Industrielle L3 travaux pratiques

TP N4: Analyse temporelle dun systme


dynamique du 1er ordre

I. Objectifs du TP
Ltudiant, aprs une tude thorique des systmes proposs (1er ordre), devra raliser
un fichier excutable sous Matlab afin danalyser les rponses de ces systmes des
entres diffrentes et de dterminer leurs performances.
Remarque : Pour la programmation Matlab utiliser les fonctions indiques ci-dessous en plus
des autres instructions tudies prcdemment.
k
Soit un systme du 1er ordre dont la fonction de transfert est T ( s) .
1 s

%%%%%%%% Analyse temporelle dun systme de 1er ordre %%%%%%%%%%%%%%%%%%%%%

t=init:pas:fin ; % Dfinir un vecteur de fin points linairement


% espac dun pas entre init et fin
%Dtermination de fonction de transfert
num=[ k ] ;den=[ 1] ;
sys=tf(num,den) ; % Cration de la fonction de transfert
%Rponse impulsionnelle dun systme de premier ordre
y1=impulse(sys,t) ; % Rponse une impulsion unit
figure(1) % Ouverture dune figure
plot(t,y1) %Traage de la rponse impulsionnelle
%Rponse indicielle dun systme de premier ordre
y2=step(sys,t) % Rponse indicielle du systme
figure(2)
plot(t,y2) ;

%Dtermination de la constante de temps graphiquement (tau) partir de la rponse indicielle

hold on %Maintenir les graphes courants


ym=max(y2 ) ; % Dtermine la valeur maximale de y2(Rep.indicielle)
yt=0.63*ym ; % Dtermine la valeur de yt correspondante au temps de rponse
max_idx=min(find(y2>=yt)) ; % find : permet de trouver lindice de llment auquel y2>=yt
tau=t(max_idx) ; % tau est le temps correspondant cet indice dans le vecteur t
plot([tau tau],[0 yt],m--) % Tracer une ligne verticale tr
str=sprintf(tau=\n%3.2f s,tau) % Crer ltiquette volante
gtext (str) % Permet de cliquer dans la fentre pour positionner le texte
hold off
%Rponse une rampe dun systme de premier ordre
u=a*t ; %Dtermination de la rampe u de pente a
y3=lsim(sys,u,t) % Rponse du systme une entre u quelconque (t :temps)
figure(3)
plot(t,y3) ;

21
Automatique et Informatique Industrielle L3 travaux pratiques

II. Etudes thoriques

Soit le circuit RC donn par Fig.1, avec E 40V , R 50 et C 63 F (les conditions


initiales sont nulles)

Fig.1. Circuit RC

On Considre la tension v1 comme entre e(t ) , et la tension v2 comme sortie s(t ) .


1. Etablir lquation diffrentielle qui rgit le fonctionnement de ce circuit en appliquant
la loi de Kirchhoff des tensions.

2. Donner la fonction de transfert de ce systme.

3. Calculer la constante de temps et le gain statique correspondant au systme.

4. Dterminer la rponse du systme lapplication dun chelon damplitude E0 . Tracer


cette rponse dune faon succincte. Calculer le temps de monte et le temps de
rponse.

5. Dterminer la rponse du systme lapplication dune rampe de pente a . Tracer


cette rponse dune faon succincte. Calculer lerreur de trainage (erreur de vitesse).

6. Tracer la rponse du systme lorsque nous appliquons une impulsion, e(t ) E0 . (t )


comme entre du systme.

III. Analyse sous Matlab

En se basant sur le programme donn ci-dessus, crire un fichier Matlab permettant de :


a. Calculer la fonction de transfert du circuit RC donn par Fig.1 ;

b. Tracer sa rponse une impulsion unit ;

c. Tracer sa rponse indicielle un chelon e(t)=1 ;

d. Retrouver graphiquement la constante de temps tau 63% de la rponse


indicielle ;

e. Calculer le temps de monte et le temps de rponse. Afficher les dans la


commande Windows et sur la figure de la rponse indicielle ;

f. Faites varier la constante de temps ( 0.0016, 0.0032, 0.0064. ) du


systme et tracer les rponses indicielles correspondantes dans la mme figure.

22
Automatique et Informatique Industrielle L3 travaux pratiques

Faite vos conclusion sur linfluence de la constante de temps sur les allures
obtenues ;

g. Tracer la rponse du systme une rampe de pente a 2 , et reprendre le mme


travail (tapes f). Calculer lerreur de trainage ;

Commenter votre fichier Matlab et donner vos conclusions.

23
Automatique et Informatique Industrielle L3 travaux pratiques

TP N5: Analyse temporelle dun systme


dynamique du 2me ordre

I. Objectifs du TP

Lobjectif de ce TP est dexploiter les connaissances acquises, pendant le cours sur


lanalyse temporelle dun systme dynamique du 2eme ordre. Ltudiant, aprs une tude
thorique des systmes proposs, devra dabord raliser un fichier excutable sous Matlab
afin danalyser les rponses de ces systmes des entres diffrentes et de dterminer
leurs performances. La reprsentation dun modle sous Simulink va permettre ensuite de
visualiser les rponses du systme tudi.
II. Rappels thoriques
Soit un systme du 2eme ordre dont la fonction de transfert est donne par :
S (t ) k
T ( s) 2
E (t ) s 2
2
s 1
wn wn
Avec k : est le gain statique du systme.
wn : est la pulsation naturelle(en rad/s).
: est le coefficient damortissement.

III. Etudes thoriques

Exemple 1 :
On considre le circuit RLC srie aliment par une source de tension continue v1 (t )
(Fig.1), avec R 20, L 3mH , et C 5 F (les conditions initiales sont nulles).

Fig.1. Circuit RLC

On Considre la tension v1 (t ) comme entre e(t ) et la tension v2 (t ) comme sortie s(t ) .


1. Dterminer la fonction de transfert de ce systme (rseau lectrique) ;
2. Mettre lquation trouve sous la forme de lquation (1), et dfinir chaque terme
( wn , , k ) en fonction des lments constitutifs du circuit RLC.
3. Donner les rponses du systme un chelon unitaire, une rampe de pente a=2 et
une impulsion unit.

24
Automatique et Informatique Industrielle L3 travaux pratiques

Exemple 2 :
On considre le systme mcanique donn par (Fig.2). Lapplication dune force f (t ) (entre
du systme) sur le systme provoque des oscillations de la masse m suivant la direction
x(t ) (la sortie du systme). Le systme est constitu, en plus de la masse m , dun ressort de
raideur k et dun amortisseur de coefficient b .

Fig.2. Systme mcanique en vibration Fig.3. Rponse indicielle du systme mcanique

Lquation diffrentielle correspondante ce systme est la suivante :


mx bx kx f (2)
1. Dterminer la fonction de transfert de ce systme ;
2. A partir de la Fig.3, illustrant la rponse du systme un chelon f (t ) 2N.m , dterminer
les valeurs numriques des paramtres du systme ( k , m, b ).
Note : le dpassement D 9,5% correspondant un amortissement 0,6 .

IV. Analyse sous Matlab


Exemple 1 :
1. Ecrire un programme sous un fichier Matlab, nomm tp3_1.m, qui permet de :
a. Dterminer la fonction de transfert du circuit donn par Fig.1
b. Tracer sa rponse une impulsion unit ;
c. Tracer sa rponse indicielle un chelon unitaire;
c1. Dterminer et afficher les performances du circuit (tr , , tm , t p , D, ) et indiquer
les sur la figure correspondante.
c2. Pour quelle valeur de R a-t-on 1 (amortissement critique) ;
c3. Pour R= 0, 20, 60 , tracer dans une mme figure les trois rponses du systme
un chelon unitaire et indiquer la valeur de pour chaque courbe.
d. Tracer la rponse du systme une rampe pour R 60 .
d1. Trouver lerreur de trainage du systme.
2. Commenter votre fichier Matlab et donner vos conclusions.

25
Automatique et Informatique Industrielle L3 travaux pratiques

Exemple 2 :
1. Ecrire un programme sous un fichier Matlab, nomm tp3_2.m, qui permet de :
a. Dterminer la fonction de transfert du systme mcanique donn par Fig.2
b. Tracer sa rponse une impulsion unit ;
c. Tracer sa rponse indicielle un chelon f (t ) 2N.m ;
c1. Dterminer et afficher les performances du systme (tr , , tm , t p , D, ) et
indiquer les sur la figure correspondante.
c2. Tracer la rponse indicielle dans la mme figure pour 1,0.4,0.7 . Indiquer
sur cette figure la valeur de pour chaque courbe.
d. Tracer la rponse du systme une rampe de pente 2 ;
d1. Trouver lerreur de trainage du systme.
2. Commenter votre fichier Matlab et donner vos conclusions.

V. Analyse sous Simulink


Dans Simulink reprsenter le processus de lExemple 2 par le bloc Transfer Fcn.
Sauvegarder le sous le nom tp3.mdl
1. Observer sur loscilloscope lvolution de sa rponse un chelon damplitude 5, lorsque le
paramtre damortissement b varie. Pour cela, affecter le numrateur et le dnominateur avec
les valeurs littrales : 1 k et m k , b / k ,1 .
2. Dans un fichier Matlab script, sauvegarder sous le nom tp3param, crire les paramtres du
systme : k 3 et m 5 qui resteront fixes et b 2 qui sera modifi avant chaque simulation,
savoir : b 2 puis b 4, puis 6.
3. Dans command windows du Matlab, taper tp3param puis lancer la simulation aprs avoir
choisi les paramtres de simulation : solver ode45, la dure de simulation (20s) et Diagnostic :
Automatic solver parameter selection, none. Observer les rsultats dans loscilloscope et tirer
les performances du systme.
4. De manire similaire laisser k 3 et b 3 , mais faire voluer la masse m de 2.5 5.
Expliquer les rsultats obtenus.
5. Changer lentr chelon par une rampe de pente 2 et visualiser les rsultats.

26
Automatique et Informatique Industrielle L3 travaux pratiques

TP N6: Analyse frquentielle, stabilit et asservissement


dun systme
asservi

I. Objectifs du TP

Observer et analyser la rponse frquentielle dun systme asservi en utilisant les


diffrentes prsentations graphique : le plan de Bode et de Nyquist;

Etudier la stabilit dun systme asservi en se basant sur son comportement


frquentielle en boucle ouvert et en utilisant le critre de Routh en cas de boucle
ferme ;

Amliorer les performances dun systme asservi en faisant une rgulation


Proportionnelle, Intgrale, Drive (correcteur PID) qui runit les trois avantages,
savoir, la rapidit, la stabilit, et la prcision.

II. Rappels thoriques


Lieux de transfert dun systme dynamique linaire
Considrons un systme linaire dordre quelconque avec une entre sinusodale
( e(t ) E0 sin(t ) ) et une sortie ( s (t ) S0 sin(t ) ).
Lanalyse harmonique (frquentielle) de ce systme consiste faire le lien entre la fonction
de transfert et la rponse de ce systme une sinusodale. Cette rponse sera caractrise par
S0
deux paramtres : Gain dephasage :
E0
Ces deux paramtres dpendent de la pulsation de l'entre :
S0
T ( j ) arg(T ( j)) (1)
E0
O T ( j ) est l'expression de la fonction de transfert du systme dans laquelle on remplace la

variable de Laplace s par j . Il existe trois types de reprsentation graphique du gain et du


dphasage, Equ.1, en fonction de la pulsation :
BODE se prsente sous la forme de deux courbes :
T ( j ) dB en fonction de (abscisses logarithmiques) : T ( j ) dB 20 log T ( j ) (2)

27
Automatique et Informatique Industrielle L3 travaux pratiques

arg(T ( j)) en fonction de (abscisses logarithmiques).


BLACK aussi appel NICHOLS reprsente T ( j ) dB en fonction de . La courbe est

gradue en .
NYQUIST reprsente T ( j) dans le plan complexe. La courbe est gradue en .
Evaluation de la stabilit dun systme dynamique linaire en rgime sinusodale
Cette partie montre que nous pouvons prvoir la stabilit dun systme en BF partir de la
reprsentation graphique du gain et du dphasage en BO.
Le critre graphique consiste tudier la position de la courbe de la rponse harmonique
en BO par rapport au point critique dfinie par
T ( j ) 1 0dB A rg(T ( j )) 180 (3)

pour valuer la stabilit de l'asservissement (boucle ferme).


Pour que la stabilit d'un systme asservi soit assure en toutes circonstances
(perturbations comprises), il faut que sa courbe de rponse harmonique en BO passe
suffisamment loin du point critique.
Les valeurs couramment admises pour assurer une stabilit suffisante sont :
Marge de gain Gm : 8 12 dB
Marge de phase Pm : de 30 45 .
Ces marges de stabilit peuvent tre lues directement dans les diffrents plans (Bode, Black).
Critre du revers dans le plan de Nyquist
Un systme asservi linaire est stable si en dcrivant le lieu de Nyquist en BO dans le sens
des frquences croissantes, on laisse le point critique sa gauche.
Rgle du revers dans le plan de Bode
Soit 0 la pulsation pour laquelle la courbe de gain coupe l'axe 0dB et c la pulsation pour

laquelle la courbe des phase passe par 180 . L'asservissement est stable si 0 c .
Remarque : un systme instable n'a pas de marge de stabilit.
Les commande Matlab utiliss dans ce Tp
Pour ce Tp vous pouvez utiliser les fonctions indiques ci-dessus.
Opration sur les fonctions de transfert :
Il est possible dassembler deux systmes T1 ( s ) et T2 ( s ) de fonctions de transferts
num1 num2 num
T1 ( s) , T2 ( s) et soit T ( s) la fonction de transfert quivalente.
den1 den2 den
Si les deux systmes T1 ( s ) et T2 ( s ) sont en sries
num, den series(num1, den1, num2, den 2) ou T T1 * T2

28
Automatique et Informatique Industrielle L3 travaux pratiques

Si les deux systmes T1 ( s ) et T2 ( s ) sont en parallle

num, den parallel (num1, den1, num2, den 2) ou T T1 T2


Systmes asservis avec un retour non unitaire
num, den feedback (num1, den1, num2, den 2, 1) ou T feedback (T1 , T2 , 1)
On met +1 si le retour est positif si non on met -1.
Systmes asservis avec un retour unitaire
num, den feedback (num1, den1,1,1, 1) ou T feedback (T1 ,1, 1)

Les fonctions correspondantes la rponse frquentielle de la fonction T(s) :


% Le trac de diagramme de Bode dun systme T(s)
T=tf(num,den); % Fonction de transfert de T
bode (num,den) % ou bode(T)
grid on
% Le calcul des marges de stabilit (gain et phase) partir de diagramme de Bode
[gain,phase,w]=bode(T);
[MG,MP,wpi,wc]=margin(gain,phase,w);
% Ces marges sont indiques sur le trac de Bode laide de
margin(gain,phase,w)
%Le trac de Nyquist sobtient
nyquist(T) %ou [Re,Im]=Nyquist(T)
grid on
Autres fonctions Matlab qui aide dduire la stabilit du systme T :
roots(den) % Permet de dfinir les ples du systme T
[z,p,k]=zpkdata(proc); % Dterminer les zros, les ples et le gain de T
p{1,1} % Dfinir le vecteur des ples
pzmap(T); % Placer les ples et les zros dans le plan complexe

III. Etudes thoriques


Exemple 1 :

Un systme du 1er ordre scrit de manire gnrale.


k
T ( s) (4)
1 s

Avec k gain statique, : constante de temps

1. Dterminer la fonction de transfert de ce systme en boucle ferme (retour unitaire);

2. Dans quels cas ce systme peut il tre stable en boucle ouverte et en boucle ferme
(critre de Routh) ;

29
Automatique et Informatique Industrielle L3 travaux pratiques

3. Donner lexpression du gain complexe et dcibel de T (s) pour k 10 et 1 , et


dduire la pulsation de coupure c ;

4. Tracer alors les allures des courbes dans le diagramme de Bode et Nyquist
correspondant au systme et en BO. Retrouver les valeurs de k et ;

5. Dterminer les marges de stabilit partir du trac de Bode.

Exemple 2 :

Soit le systme donn par le schma suivant, Fig.1:



X ( s) T ( s) Y ( s)

Fig.1 Schma fonctionnel du systme en Boucle ferme.

k
Avec T ( s) (5)
s(1 T1 s )(1 T2 s )

Ce systme possde une intgration (ple lorigine). Il est de classe 1. on donne T1 0.5s et
T2 1s .

Ce systme est inclus dans une boucle unitaire, munie dun correcteur C ( s) , Fig.2 :


X ( s) C ( s) T ( s) Y ( s)

Fig.2 Schma fonctionnel du systme avec contrleur en boucle ferme.

On envisage un correcteur PID pour un bon suivi une consigne variable, on dsire en
effet une erreur nulle (en rgime permanent) une consigne qui varie en rampe.
Le correcteur PID a pour fonction de transfert :

kc
C ( s) (6)
(1 1/ Ti s 1/ Td s)

On prendra dailleurs Td Ti / 4 (valeur courante adopte par Ziegler Nichols).


1. Dterminer la fonction de transfert du systme T (s) en BF en fonction de k ;
2. Etudier et discuter la stabilit du systme T (s) en BF en utilisant le critre de Routh et
cela suivant la valeur du gain k ;

30
Automatique et Informatique Industrielle L3 travaux pratiques

3. On donne k 2 , kc 0.8 et Ti 8 , dterminer la fonction de transfert du systme


(C(s) T (s)) en BF ;

IV. Analyse sous Matlab


Comparez les rsultats obtenus lors de ltude thorique avec lanalyse faite sous Matlab.
Exemple 1 :

1. Ecrire fichier Matlab, nomm tp4_1.m permettant de :


a. Dterminer la fonction de transfert T (s) en BO et en BF (retour unitaire);

b. Dterminer les ples du systme et dduire sa stabilit;

c. Tracer le diagramme de Bode et Nyquist en BO, et en BF (retour unitaire);

2. Commenter votre fichier Matlab ;

3. Donner vos remarques et conclusions partir des rsultats acquises.

Exemple 2 :

1. Ecrire un fichier Matlab, nomm tp4_2.m permettant de:

a- Analyser le systme T (s) donn par Fig.1 (sans correcteur) :


a.1. Dterminer sa fonction de transfert en BO et en BF (retour unitaire);

a.2. Dterminer les ples, les zros et le gain du systme en utilisant la fonction
Matlab zpkdata ;

a.3. Analyser les ples et les zros du systme en utilisant la fonction Matlab pzmap,
et dduire sa stabilit ;

a.4. Tracer le diagramme de Bode et Nyquist du systme en BO ;

a.5. Dterminer les marges de stabilit correspondantes. Discuter et comparer les


rsultats obtenus.

b- Analyser le systme (C(s) T (s)) donn par Fig.2 (avec correcteur) :


b.1. Dterminer sa fonction de transfert en BO et en BF (retour unitaire);

31
Automatique et Informatique Industrielle L3 travaux pratiques

b.2. Analyser les ples et les zros du systme en utilisant la fonction Matlab pzmap,
et dduire sa stabilit ;

b.3. Tracer le diagramme de Bode et Nyquist en BO (retour unitaire);

b.4. Dterminer les marges de stabilit, discuter et comparer les rsultats obtenus.

c- Comparer les rsultats obtenues de a et b pour le systme T (s) avec et sans correcteur
en BF :
c.1. Tracer dans la mme figure les rponses indicielles (chelon unitaire) du systme
en BF avant et aprs correction. Analyser les rsultats et spcifier les changements
(performances) que le correcteur a apport au systme.

c.2. Tracer dans la mme figure les rponses du systme en BF une rampe de pente
a=1, avant et aprs correction. Analyser les rsultats et vrifier que lerreur statique en rgime
permanent est nulle.

2. Commenter votre fichier Matlab ;

3. Donner vos remarques et conclusions partir des rsultats acquises.

32

Vous aimerez peut-être aussi