Vous êtes sur la page 1sur 29

Université Sultan Moulay Slimane

Ecole Nationale des sciences Appliquées


Khouribga

COMPTE RENDU
Automatique des systèmes linéaires continus

Encadré par :

 Pr.Mohamed Bendaoud

Réalisé par :

 YOUSSEF LAMKHANTER N°57


Rapport TP1 :
Initiation MATLAB
Introduction
Le logiciel MATLAB (Matrix Laboratory) est spécialisé dans le domaine du calcul
matriciel numérique. Tous les objets définis dans MATLAB le sont donc au moyen de
vecteurs et de matrices/tableaux de nombres.
Le logiciel Matlab met à la disposition de l'utilisateur un environnement performant
pour effectuer des calculs numériques. L'intérêt de Matlab tient, d'une part, à sa
simplicité d'utilisation : pas de compilation, déclaration implicite des variables
utilisées et d'autre part, à sa richesse fonctionnelle : arithmétique matricielle et de
nombreuses fonctions de haut niveau dans de nombreux domaines (analyse
numérique, graphique, ...). Matlab contient également une interface graphique très
puissante. Les graphismes sur Matlab sont simples et attirent l'attention des
utilisateurs, vu les possibilités importantes offertes par ce logiciel. L’outil additionnel
Simulink qui permet la programmation graphique possède une bibliothèque des blocs
permettant la simulation des systèmes dynamiques.
I .Objectifs :

 Fournir les bases nécessaires à l’utilisation du logiciel MATLAB, dans le cadre


du cours de l’automatique.

II. Généralités et prise en main :


Après l’installation de MATLAB sur mon ordinateur, on l'exécute puis
on travaille sur l’espace Workspace on teste les commandes demandées
en fascicule du TP.
2+2 = 4 ; 5^2=25 ;
Donc (+, -, *, ^, /) se sont les opérateurs de base.
 les variables :
Comme tous les langages informatiques, MATLAB aussi a trois variable (réel,
complexe, chaine de caractères), en prend en considération lors de la déclaration
des variables a leurs forme (Minuscule ou Majuscule).
-les variable prédéfinie : On a vu dans cet exemple qu’on peut utiliser des symboles
auxquels sont associés des valeurs prédéfinies comme pi = 3,14...
-Effacement et liste des variable :
La commande clear(clc) : permet d’effacer une partie ou toutes variables définies
jusqu’à présent
-variables complexes : On peut définie une variable complexe naturellement
comme Z = 5+2i ;
Les fonctions usuelles de manipulation des nombres complexes sont prédéfinies
dans Matlab (commande) :
Real : retourne la partie réelle.
Imag: retourne la partie imaginaire.
Abs : retourne le module
Angle (en radian) : retourne argument.
Conj: retourne le conjugué.
 Chaînes de caractères :
Une chaîne de caractères est un tableau de caractères. Une donnée de type chaîne de
caractères (char) est
Représentée sous la forme d’une suite de caractères encadrées d’apostrophes simples
(‘’).
 Vecteurs, matrices et leur manipulation :
a- Vecteur ligne : on utilise un espace ou virgule avec v une variable
La commande length renvoie le nombre de composantes d’un vecteur.
b- Matrices :
La définition d’une matrice est délimitée pas des crochets « [] ». Les différents
éléments d’une Ligne sont séparés par un espace et les différentes lignes sont séparées
par des points virgules « ; ».
On peut aussi créer des matrices avec les fonctions zeros, ones et eye, ces fonctions
créent des matrices de
La taille précisée, respectivement remplies de zéros, d'un, et d'un sur la diagonale et
des zéros ailleurs. (eye = prononciation anglaise de I comme identité).
 Affichages graphiques 2D:
Matlab offre plusieurs possibilités pour tracer un graphe en 2D.
La commande plot permet l’affichage d’une courbe 2D :
Plot (vecteur d’abscisses, vecteur d’ordonnées)
Afficher plusieurs graphiques (Subplot) :
On peut effectuer plusieurs affichages sur une même figure en utilisant la commande
Subplot qui subdivise la fenêtre graphique. Sa syntaxe est
Subplot(nombre_lignes,nombre_colonnes,numéro_subdivision).
 Fichier Scripts
Il est parfois souhaitable de regrouper dans un fichier toutes les commandes Matlab
et de les exécuter en bloc. Il existe deux types de fichiers qui peuvent être
programmés avec Matlab : les fichiers SCRIPT et Function.
III. Exercice de simulation :

 Simulation sur MATLAB


 Script MATLAB

 Résultats et figures
Conclusion
Le TP suivant était suivant un pas très important vers le monde de
l’automatique , en effet il s’agit d’une initiation sur MATLAB qui constitue un logiciel
de simulation des systèmes asservis par excellence.
Rapport TP2 :
Réponse temporelle des
systèmes linéaires
Introduction
Un système automatique est un système capable d’effectuer plusieurs
opérations sans interventions de l’homme. La théorie de l’automatique permet de
concevoir et d’analyser des asservissements en tenant compte de plusieurs objectifs .

I .Objectifs :

 Faire une étude théorique des systèmes proposés.


 Réaliser un programme sous Matlab afin d’analyser et représenter les
réponses de ces systèmes à des entrées différentes.
 Déterminer leur performances.

II. Préparation théorique:


 Problématique :
Soit le système modélisé par une fonction de transfert de type :

1) A quoi correspond K0 et τ ?
Dans le cas d’une réponse indicielle (entrée : échelon unitaire) :
2) Donner la valeur finale de la sortie.
3) Donner la valeur du temps de réponse à 5%
4) Tracer la réponse indicielle de ce système

5) Quelle est la condition entre τ1et τ2 pour que le système défini par G1(p) soit considéré comme plus
rapide par rapport au système défini par G2(p).

On donne K1= 1, K2= 2, τ1= 1 et τ2= 0.5. Et on considère un système de fonction de transfert :

6) Expliquer les notations K3, ξ et ωn


 Solution :
Soit le système modélisé par une fonction de transfert de type :

1) K0 et τ sont respectivement le gain statique et la constante de temps du système.


2) L’entrée est un échelon unitaire ⇒ E(p)=1/p

S(p)=E(p)×G(p)=
( )
Par décomposition en éléments simples :
( )
= + = ⇒a𝜏+b=0 et a=1⇒a=1 et b=-𝜏
( ) ( )

Donc S(p)=Ko[ - ]=Ko[ - /


]

Par TL inverse :

S(t)=Ko[1-𝑒 /
]U(t)⇒S(+∞)= lim 𝑆(𝑡) ⇒ S(+∞)=Ko

3)la valeur du temps de réponse tr5%

On a : S(tr5%)=0,95×S(+∞) ⇒ Ko[1-𝑒 tr5%/


] =0,95Ko ⇒ 1-𝑒 tr5%/
=O,95

⇒𝑒 tr5%/
=0,05 ⇒ tr5%=-ln(0,05)×𝜏

⇒ tr5%=3 𝜏

4)réponse indicielle du système :

5)Pour que le système défini par G1(p) soit considéré comme plus rapide

par rapport au système défini par G2(p),il faut que : 𝜏1<𝜏2

6)K1=1,K2=2, 𝜏1=1 et 𝜏2=0,5

⇒ G3(p)= × ,
= = / / ²
Donc :
²
²

wn=1,41rad/s ⇒pulsation propre non amortie

ξ = √2 ⇒ Coefficient d’amortissement

K3=2 ⇒ Le gain statique


III. partie pratique :
1.Script MATLAB
a) Ecrire un fichier scripts Matlab, permettant de
 Définir la fonction de transfert du système défini par G1.
 Déterminer les pôles en utilisant la fonction damp(G).
 Afficher la réponse indicielle du système G(p).
 Déterminer la valeur du temps de réponse à 5%.
 Tracer la réponse du système à une impulsion unité.
 Tracer la réponse du système à une rampe de pente a=2
b) En utilisant la commande ltiview(sys), déterminer les caractéristiques des systèmes définis par les
fonctions de transfert G1, G2 et G3
c) D’après les réponses temporelles, quel système est le plus rapide (expliquez) ?
 Script MATLAB

 Commande Window sur MATLAB


Après définition de la fonction de transfert et exécution du script MATLAB , sur
la commande Window , on remarque l’apparition des poles de G1 (pole=-1) et
la valeur du temps de réponse (tr=3,9121).
 Commande ltiview(sys) : Script MATLAB

 Commande ltiview(sys) : Réponse temporelle

⇒Les points sur l’abaque représentent les diffèrents temps de réponse tr pour
diffèrents valeurs de ξ .Plus z est petit moins la réponse est amortie .
Pour z=0.7 le temps de réponse est minimum.
2.Simulink
 L’évolution de la réponse à un échelon d’amplitude 1

 L’évolution de la réponse à une rampe de pente 2


Conclusion
A la fin de ce TP nous avons pu étudier théoriquement les systèmes du 1 er et
2ème Ordre et leur rapidité on effectuant des simulations sur les réponses temporelles
de ces systèmes à une entrée Echelon et une rampe.
Rapport TP3 :
Réponse fréquentielle des
systèmes linéaires
Introduction
Après une étude théorique et pratique des réponses temporelles des systèmes
proposés , c’est de le temps de contacter l’étude fréquentielle des systèmes
théoriquement et de faire des simulations.
I .Objectifs :
 Faire une étude théorique des systèmes proposés.
 Réaliser un programme sous Matlab afin d’analyser et représenter les
réponses les réponses fréquentielles de ces systèmes.
 Déterminer leur performances.

II. Préparation théorique:


 Problématique :
Soit le système modélisé par la fonction de transfert suivante :
𝑘
𝐺(𝑝) =
1 + 𝜏𝑝
7) Donner l’expression du gain complexe et décibel de G(p)
8) Calculer la pulsation de coupure 𝜔 pour (K1= 2, τ1= 1) et (K2= 3, τ2= 0.5).
9) Tracer alors les allures des courbes dans les diagrammes de Bode et Nyquist correspondant aux
systèmes G1 et G2.
On considère un système de fonction de transfert de 3 ème ordre défini par:
8
𝐺 (𝑝) = 𝐺 (𝑝) ∗ 𝐺 (𝑝) ∗ 𝐺 (𝑝) =
(1 + 𝑝)
10) Tracer le diagramme de Bode de G3 et déduire les marges de stabilité.
 Solution :
Soit le système modélisé par la fonction de transfert suivante :
𝑘
𝐺(𝑝) =
1 + 𝜏𝑝
1)Expression du gain complexe et en décibel de G :
On a : 𝑝 = 𝑗𝜔
Donc :
𝑘
𝐺(𝑗𝜔) =
1 + 𝜏𝑗𝜔
Or système de premier ordre s’écrit :
𝑘
𝐺= 𝜔
1+𝑗
𝜔

Donc :
1
𝜏=
𝜔
Et par la suite :
𝑘
𝑮𝒂𝒊𝒏 𝒄𝒐𝒎𝒑𝒍𝒆𝒙𝒆: 𝐺(𝑗𝜔) = 𝜔
1+𝑗
𝜔
Gain en dB :
𝐺 = 20. log(|𝐺|)
𝜔
= 20. log(𝑘) − 20. log 1+
𝜔
𝜔
𝑮𝒂𝒊𝒏 𝒆𝒏 𝒅𝑩: 𝐺 = 20. log(𝑘) − 10. log 1 +
𝜔
2)Pulsation de coupure 𝜔 :
Pour 𝑘 = 2, 𝜏 = 1

1 1 1
𝜏= 𝑑𝑜𝑛𝑐 𝜔 = = = 1 𝑟𝑎𝑑/𝑠
𝜔 𝜏 1
ii. Pour 𝑘 = 3, 𝜏 = 0.5

1 1 1
𝜏= 𝑑𝑜𝑛𝑐 𝜔 = = = 2 𝑟𝑎𝑑/𝑠
𝜔 𝜏 0.5
3) Bode et Nyquist de G1, G2 :
Bode
On a
2
𝐺 (𝑝) =
1+𝑝
𝐺1 = 20. log(2) − 10. log(1 + 𝜔 ) = 6,02 − 10. log(1 + 𝜔 )
 On a une pente de -20dB/décade.

Même chose pour G2 on trouve :


𝜔
= 20. log(3) − 10. log 1 + ( ) = 9,54 − 10. log(1 + 𝜔 )
𝐺2
2
 On a une atténuation de -20dB d’où l’appellation de pulsation de coupure.

Nyquist :
𝑘 𝑘(1 − 𝑗𝜔𝜏)
𝐺(𝑗𝜔) = =
1 + 𝑗𝜔𝜏 1 − (𝑗𝜔𝜏)
𝑘 −𝑘𝜔𝜏
= +𝑗 = 𝑥 + 𝑗𝑦
1 + (𝜔𝜏) 1 + (𝜔𝜏)



𝑘
⎧𝑥 =
1 + (𝜔𝜏)
⎨𝑦 = −𝑘𝜔𝜏
⎩ 1 + (𝜔𝜏)

−𝑘𝜔𝜏
lim =0
→ 1 + (𝜔𝜏)
Or
𝑘
𝑥 +𝑦 = = 𝑘. 𝑥
1 + (𝜔𝜏)
𝑘 𝑘
𝑥 + 𝑦 − 𝑘. 𝑥 + =
4 4
𝑘 𝑘
𝑥− + (𝑦 − 0) =
2 2
 C’est un demi-cercle de centre (k/2 , 0) est de rayon k/2
4) Diagramme de Bode de G3
8
𝐺3 =
(1 + 𝑝)
𝐺3 = 20. log(|𝐺3|)
20 × 3
= 20. log(8) − . log(1 + 𝜔 )
2
= 18,06 − 30. log(1 + 𝜔 )
 On a une atténuation de -30dB/décade.

Les marges de stabilité :


MG :
𝑀𝑔 = 0𝑑𝐵 − 20. log 𝐹𝑇𝐵𝑂(𝑗𝜔 )
arg(𝐹𝑇𝐵𝑂) = −180°
arg(8) − 3 arg(1 + 𝑗𝜔 ) = −180°
−3 arg(1 + 𝑗𝜔 ) = −180°
180 𝜋
arctan(𝜔 ) = =
3 3
𝜔 = √3
8
𝑀𝑔 = −20. log
( 1+𝜔 )
20 × 3
𝑀𝑔 = −20. log(8) + . log(1 + 𝜔 ) 𝑎𝑣𝑒𝑐 𝜔 = √3
2
𝑀𝑔 = 0
Mφ :
𝑀 = 180 + arg(|𝐹𝑇𝐵𝑂|)
|𝐹𝑇𝐵𝑂| = 1
8
=1
1+𝜔
8= 1+𝜔

8 = 1+𝜔

𝜔 = 8 − 1 = √3
𝑀 = 180 + arg(8) − 3 arg(1 + 𝑗𝜔 ) = 180 − arctan(𝜔 ) = 180 − arctan √3
𝑀 =0
III. partie pratique :
Le tracé de diagramme de Bode d’un système :

Après la définition des différentes fonctions de transferts :


- on va déterminer les pôles et les zéros des fonctions de transferts :

⇒ On a les deux pôles sont réel négatifs donc donc E>1 alors système stable

La réponse fréquentielle :

on va tracer les diagrammes de Bode, de Nyquist, de Black d’un système :


⇒Donc d’après les données obtenues on constate que les systèmes sont stables
Partie 2 :
La réponse fréquentielle :

On va tracer les diagrammes de Bode, de Nyquist, de Black d’un système :

⇒D’après les diagrammes qu’on a tracé :G1,G2,G3 sont stables car ils sont loin de -1 ,
Cependant G4 est proche d’être instable, On dit qu’il est à l’extimité de stabilité.
Conclusion
A la fin de ce TP on a pu connaitre une autre méthode d’étude de stabilité , celle qui
est analytique est déjà fait en TD et la 2ème qu’on a découverte maintenant c’est la
méthode graphique à partir des différents tracés(Bode ,Black...) , il s’agit de comparer
avec la contrainte –1 et déduire la stabilité du système .
Rapport TP4 :
Correction des systèmes
linéaires
Introduction
Pour un système asservis, on souhaite : une bonne stabilité , une bonne
précision, un faible temps de réponse.Pour améliorer les performances du système, on
modifie la structure de l’asservissement en ajoutant des composants qui vont corriger
les signaux transmis entre les différents blocs.
I .Objectifs :
 Améliorer les performances d’un système asservi en faisant une régulation
Proportionnelle, Intégrale, Dérivée (correcteur PID).
II. Partie théorique:
Le tableau ci-dessous nous donne une idée générale sur les avantages et les
inconvénients d’utilisation de chacun des correcteurs qui vont être traités dans notre
TP.

Correcteurs Avantages Inconvénients

Simplicité
P Risque d'instabilité si Kp >> 1
Meilleure précision

Simplicité
PI Système parfois lent en BF
Erreur statique nulle

PD Amélioration stabilité et rapidité Sensibilité du système aux bruits

Très utilisé en industrie


PID Réglage des paramètres plus difficile
Action PI + PD

III. Partie pratique:


 Manipulation

Un processus physique est modélisé par la fonction de transfert suivante :

𝐺(𝑝) =
Le cahier des charges impose les critères suivants :

 Temps de réponse à 5% < 1,5s.


 Marge de phase ≥ 45°.
 Erreur statique 𝜀 ≤ 5%.

1) Tache 1 : Analyse du système sans correction

a) En utilisant la commande ltiview(G), déterminer les caractéristiques (temps


de réponse, erreur statique et marge de phase) du système définis par G(p).

b) Conclure vis-à-vis les critères imposés par le cahier des charges.


 On remarque que les valeurs trouvées lors de l’utilisation de la commande
ltiview (temps de réponse,erreur statique)dépassent les critères imposés par
le cahier de charge tandis que pour la marge de phase , elle est compatible
avec les critères imposés.

2) Tache 2 : analyse du système avec correction de type P, C(p)=Kp

a) Ecrire un fichier scripts Matlab, permettant de :


 Définir la fonction de transfert du système en boucle ouverte :
FTBO=G(p).C(p)
 Définir la fonction de transfert du système en boucle fermée.

 Il suffit de donner une valeur à kp pour trouver FTBO et par suite trouver
FTBF.
b) Varier la valeur de Kp et compléter le tableau suivant, en utilisant la
commande ltiview() :

Kp 0.5 1 2 8
Tempsderéponse 8.08 8.08 8.08 8.08
Erreur statique Inf Inf Inf Inf
DépassementD% 16.3 16.3 16.3 16.3
Margede phase 90 49.4 31.6 14.7

c) Que peut ont remarquer ? Conclure vis-à-vis les critères imposés par le cahier
des charges.
 On remarque qu’en augmentant Kp le temps de réponse et le dépassment
restent constants , or la marge de phase diminue ( la dégradation de la
stabilité) +on obtient une bonne précision ⇒ C’est l’effet du correcteur P.

3) Tache 3 : analyse du système avec correction de type PI

Pour annuler l’erreur statique de façon efficace, nous allons ajouter l’action intégrale
I , donnée par le

temps d’intégration Ti . La commande sera : 𝐶(𝑝) = 𝐾

a) Ecrire un fichier scripts Matlab, permettant de :


 Définir la fonction de transfert du correcteur C(p) en fonction de Kp et Ti.
 Définir la fonction de transfert du système en boucle ouverte et en boucle
fermée.

b) Pour Kp=1, varier la valeur de Ti et compléter le tableau suivant en utilisant


la commande ltiview(sys): NB : NaN means Not a Number
Ti 2 0.8
Tempsderéponse NaN NaN
Erreur statique 0 0
DépassementD% NaN NaN
Marge de phase 29.9 5.95


 Script MATLAB utilsé :
Que peut ont remarquer ?

 On remarque que les valeur des temps de temps de réponse et des dépassement
sont NaN=Not a Number en effet les réponses sont linéaires .

c)Pour Ti=2, varier la valeur de Kp et compléter le tableau suivant :


Kp 0.01 0.1 2 4
Tempsderéponse NaN NaN NaN NaN
Erreur statique 0 0 0 0
DépassementD% NaN NaN NaN NaN
Marge de phase 90.6 95.7 17.9 11.5

c) Que peut ont remarquer ? Conclure vis-à-vis les critères imposés par le cahier
des charges.
 On remarque pour la marge de phase (pour Kp=0.01 et Kp=0.1 les critères sont
respectés or pour Kp=2 et kp=4 ne sont pas respectés ) + une dégradation de la
marge de phase(stabilité diminue) en augmentant Kp, pour l’erreur statique elle
est nulle ⇒ C’est l’effet du correcteur PI.

4) Tache 4 : Analyse du système avec correction de type PD

Pour améliorer le temps de réponse, nous allons utiliser un correcteur de type PD :


𝐶(𝑝) = 𝐾 (1 + 𝑇 𝑝)

a) Ecrire un fichier scripts Matlab, permettant de :


 Définir la fonction de transfert du correcteur C(p) en fonction de Kp et Td.
 Définir la fonction de transfert du système en boucle fermée.
 Script MATLAB utilisé :

b) Pour Kp=1, varier la valeur de Ti et compléter le tableau suivant :


 Script MATLAB utilisé :

Td 2 0.1 0.01
Tempsderéponse 7.38 7.98 8.07
Erreur statique Inf Inf Inf
DépassementD% 69.9 16.4 16.3
Marge de phase 97.5 57.6 50.2

c) Que peut ont remarquer ?


 On remarque qu’en diminuant Td le dépassement diminue , la marge de
phase diminue(dégradation de la stabilité) et le temps de réponse
augmente(dégradation de la rapidité).
d) Pour Td=2, varier la valeur de Kp et compléter le tableau suivant :
 Script MATLAB utilisé :

Kp 0.1 2 4 8
Tempsderéponse 7.38 7.38 7.38 7.38
Erreur statique Inf Inf Inf Inf
DépassementD% 69.9 69.9 69.9 69.9
Marge de phase Non 93.6 91.8 90.9

e) Que peut ont remarquer ? Conclure vis-à-vis les critères imposés par le cahier
des charges.
 On remarque qu’en augmentant Kp le temps de réponse et le dépassement
restent constants ,Or la marge de phase diminue (stabilité
diminue)+L’amélioration de la rapidité⇒ C’est l’effet du correcteur PD.
5) Tache 5 : Synthèse d’un correcteur de type PID

En utilisant la commande pidtool(sys) déterminer les paramétres du correcteur PID


pour obtenir les performances définits par le cahier des charges.

Problèmes rencontrés en TP :
 Une difficulté à trouver l’erreur statique sur MATLAB(méthode
graphique)

Conclusion
Après un contact théorique avec la notion de correction des systèmes asservis
au bout du cours ,on a pu à l’intermédiaire de ce TP simuler l’effet de chacun des
correcteurs P , PI , PD et finalement PID.

Vous aimerez peut-être aussi