Académique Documents
Professionnel Documents
Culture Documents
RECHERCHE SCIENTIFIQUE
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
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
I. Objectifs pdagogiques
Etude thorique dun amplificateur oprationnel et manipulation sur quelques
montages de base :
Amplificateur inverseur ;
Amplificateur non inverseur ;
Amplificateur comparateur.
A tant trs leve (~100000), UD est trs faible en rgime linaire : UD <1V.
UD = E+ - E- 0 I+= I-= 0
1
Automatique et informatique industrielle L3 Travaux Pratiques
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
( ) ( ) .
Lamplificateur :
3. Montage Comparateur
3
Automatique et informatique industrielle L3 Travaux Pratiques
V. Travail exprimental
Remarques importantes suivre avant toute mise en uvre :
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.
4
Automatique et informatique industrielle L3 Travaux Pratiques
5
Automatique et Informatique Industrielle L3 travaux pratiques
I. Objectifs pdagogiques
Etude thorique et manipulations sur quelques montages raliss base
damplificateur oprationnel :
Sommateur ;
Intgrateur;
Drivateur.
Ce circuit Fig. 6 sert additionner les deux tensions dentre UE1(t) et UE2(t)
6
Automatique et Informatique Industrielle L3 travaux pratiques
( ) ( )
7
Automatique et Informatique Industrielle L3 travaux pratiques
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 ?
V. Conclusion gnrale
Faites vos conclusions sur les montages que vous avez ralis.
8
Automatique et Informatique Industrielle L3 travaux pratiques
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.
>> 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
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 " % ".
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);
On peut alors raliser des manipulations de mme type que pour les vecteurs
11
Automatique et Informatique Industrielle L3 travaux pratiques
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
>> size(x)
ans = 1 5
>> length(x)
ans = 5
>> r2 = zeros(4,1);
>> A = [A, r2]
A=1230
4560
7890
10 11 12 0
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.
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
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
>> 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
15
Automatique et Informatique Industrielle L3 travaux pratiques
Les fonctions sprintf et fprintf existe galement (mme syntaxe qu'en langage C).
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])
>> 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
18
Automatique et Informatique Industrielle L3 travaux pratiques
19
Automatique et Informatique Industrielle L3 travaux pratiques
20
Automatique et Informatique Industrielle L3 travaux pratiques
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
21
Automatique et Informatique Industrielle L3 travaux pratiques
Fig.1. Circuit RC
22
Automatique et Informatique Industrielle L3 travaux pratiques
Faite vos conclusion sur linfluence de la constante de temps sur les allures
obtenues ;
23
Automatique et Informatique Industrielle L3 travaux pratiques
I. Objectifs du TP
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).
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 .
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.
26
Automatique et Informatique Industrielle L3 travaux pratiques
I. Objectifs du TP
27
Automatique et Informatique Industrielle L3 travaux pratiques
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)
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
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
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 ;
Exemple 2 :
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)
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)
30
Automatique et Informatique Industrielle L3 travaux pratiques
Exemple 2 :
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 ;
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.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.
32