Vous êtes sur la page 1sur 22

4 ‫ـــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ‬eme année ingéniorat Électrotechnique ‫ ــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ‬Module Asservissement ‫ــــــــــــــــــــــــــــ‬

MATLAB
(MATrix LABoratory)

Le but : Etude des caractéristiques d'un système premier ordre par une
simulation sous le MATLAB.
I. Introduction
MATLAB est un langage interprété qui permet de développer des
algorithmes rapidement, de visualiser des données (sous la forme de
graphiques 2D ou 3D et d'images, voir de séquences d'images), et de réaliser
des interfaces graphiques conviviales.
Université de U.S.T.O Page 1
4 ‫ـــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ‬eme année ingéniorat Électrotechnique ‫ ــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ‬Module Asservissement ‫ــــــــــــــــــــــــــــ‬

MATLAB est un logiciel de traitement numérique qui présente de nombreux


avantages pour l’étude, et même la conception, de systèmes de traitement
numériques des signaux. Parmi ces avantages, on peut citer les
suivants:
- La syntaxe MATLAB est très proche du formalisme de l’algèbre
linéaire, ce qui permet de transcrire rapidement en code des
opérations comme le produit scalaire de deux vecteurs (corrélation)
ou encore le produit d’une matrice et d’un vecteur (transformée)
- Toutes les variables sont par définition des matrices de
complexes, ce qui signifie qu’on n’a pas à déclarer une variable
avant de l’utiliser – les variables sont instances à leur première

Université de U.S.T.O Page 2


4 ‫ـــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ‬eme année ingéniorat Électrotechnique ‫ ــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ‬Module Asservissement ‫ــــــــــــــــــــــــــــ‬

affectation (par exemple, la ligne a = 1 crée la variable a – si cette


variable n’existe pas déjà – puis lui affecte la valeur 1)
- MATLAB comprend de nombreuses librairies, notamment pour le
traitement numérique des signaux, ce qui permet de réaliser
rapidement des opérations comme le filtrage numérique et les
transformées discrètes, et même de concevoir des filtres
numériques FIR et IIR (Butterworth, Chebychev, elliptiques, etc.)
- MATLAB comprend également une bonne librairie graphique, ce
qui permet d’observer facilement les caractéristiques des signaux et
le comportement des systèmes numériques (réponses en
fréquence, pôles et zéros, etc.)

Université de U.S.T.O Page 3


4 ‫ـــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ‬eme année ingéniorat Électrotechnique ‫ ــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ‬Module Asservissement ‫ــــــــــــــــــــــــــــ‬

Pour tous ces avantages, MATLAB a aussi quelques inconvénients. Un


des plus importants est certainement le fait que MATLAB est un
langage interprété, i.e. que la transcription du code se fait à l’exécution.
Par rapport à des langages compilés comme le C++, ceci implique
qu’un programme MATLAB sera plus long à exécuter, surtout si on ne
prend pas avantage de la syntaxe MATLAB qui permet en principe
d’éviter les boucles “for”.
Malgré cet inconvénient, MATLAB est un outil très utile qui permet
d’explorer rapidement des idées avant de les mettre en œuvre
éventuellement en C++, ou en langage assembleur sur
microprocesseur.

Université de U.S.T.O Page 4


4 ‫ـــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ‬eme année ingéniorat Électrotechnique ‫ ــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ‬Module Asservissement ‫ــــــــــــــــــــــــــــ‬

MATLAB est conçu aussi pour d'autres domaines de mathématiques


appliquées :
-La résolution des équations différentielles (ordinaires et partielles),
-L'analyse statistique des données,
-La simulation des processus aléatoires.
Ses caractéristiques principales sont
-Langage interprété
-Syntaxe minimal : pas de déclarations, pas de dimensionnement,
opérateurs vectoriels
-extensibilité a l'aide des fichiers ".m"
-help, helpdesk et doc commandes pour une aide en ligne
-entrée simplifiée de vecteurs et matrices : x = [1 :10], A= [1 2; 3 4]
Université de U.S.T.O Page 5
4 ‫ـــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ‬eme année ingéniorat Électrotechnique ‫ ــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ‬Module Asservissement ‫ــــــــــــــــــــــــــــ‬

-functions built-in: sin, cos, exp, log; std, dev...


-utilitaires: clear, whos, save, load
-graphiques: plot, hist, bar
-operateurs: +, -, *, /, ^, .* , ./ , .^ ; == , ~= , >, <; & , j ;
-boucles: for i=1: n; ...; end
-blocs conditionels: if i >= 1; ...; end

Actuellement, MATLAB recouvre d'autres domaines d'applications de


l'informatique scientifique:
 visualisation graphique 2D et 3D
 résolution d'équations aux dérivées partielles
 optimisation
Université de U.S.T.O Page 6
4 ‫ـــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ‬eme année ingéniorat Électrotechnique ‫ ــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ‬Module Asservissement ‫ــــــــــــــــــــــــــــ‬

 contrôle de procédés
 traitement du signal
 traitement de l'image
 logique floue
 réseaux de neurones

Les systèmes MATLAB se divisent en deux parties :


 le noyau MATLAB, qui comprend :
1. l'environnement de travail offrant plusieurs facilités pour la
manipulation des données. Son interprétateur permet de tester
rapidement ses propres programmes MATLAB.

Université de U.S.T.O Page 7


4 ‫ـــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ‬eme année ingéniorat Électrotechnique ‫ ــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ‬Module Asservissement ‫ــــــــــــــــــــــــــــ‬

2. le système graphique MATLAB (interfaces homme- machine,


graphiques, images, animations).
3. le langage de programmation MATLAB.
4. une librairie de fonctions mathématiques MATLAB.
5. un système d'interfaçage facilitant l'exécution de
programmes C ou Fortran sous MATLAB.
Une collection de toolboxes (boîtes à outils) regroupant un ensemble
de fonctions spécifiques à un thème.

Université de U.S.T.O Page 8


4 ‫ـــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ‬eme année ingéniorat Électrotechnique ‫ ــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ‬Module Asservissement ‫ــــــــــــــــــــــــــــ‬

II. Simulation sous MATLAB

Un système est un groupement de composant (électrique, mécanique,


…..)Qui paramètre de transformait grandeur d’être X(t) en une autre grandeur
Y(t) et ce la pour obtenir une certain tache

Université de U.S.T.O Page 9


4 ‫ـــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ‬eme année ingéniorat Électrotechnique ‫ ــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ‬Module Asservissement ‫ــــــــــــــــــــــــــــ‬

e(t) - R. i(t) - s(t)  0


1
C
e(t) - R. i(t) - i (t ).dt  0

1
C
 e(t)  R. i(t)  i (t ).dt

1
C
s (t )  i (t ).dt

1 1
 S ( p)  . .I ( p )
C P
1
S ( p)  ..I ( p )
Cp
 I ( p )  Cp. S ( p )
E ( p )  R. I ( p )  S ( p )
E ( p )  R. Cp. S ( p )  S ( p )
E ( p )  S ( p ).(1  RCp )
RC  
 E ( p )  S ( p ).(1   p )
S ( p) 1

E ( p) 1   p

La fonction de transfert du système premier ordre est :


1
H ( p) 
1 p
D’après l’étude théorique

Le gain : E=K = 1.

Université de U.S.T.O Page 10


‫ــــــــــــــــــــــــــــ ‪ Module Asservissement‬ــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ ‪eme année ingéniorat Électrotechnique‬ـــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ ‪4‬‬

‫‪R=50 Ω , C = 63 µF.‬‬

‫‪  RC‬‬
‫‪R  50‬‬
‫‪C  63µF‬‬
‫‪   3,15 * 10 3‬‬

‫‪1‬‬
‫‪H ( p) ‬‬
‫‪1  3,15 * 10 3 p‬‬

‫‪Réponse indicielle‬‬
‫‪E(p)=1/p‬‬
‫) ‪S ( p )  H ( p ). E ( p‬‬
‫‪1‬‬ ‫‪1‬‬
‫‪ S ( p) ‬‬ ‫‪.‬‬
‫‪1 p p‬‬
‫‪1‬‬
‫‪S ( p ).(1   p) ‬‬
‫‪p‬‬

‫‪1‬‬
‫‪S ( p )   p. S ( p ) ‬‬
‫‪p‬‬
‫‪  RC‬‬
‫) ‪ds (t‬‬
‫‪s (t )  RC‬‬ ‫) ‪ u (t‬‬
‫‪dt‬‬

‫‪Université de U.S.T.O‬‬ ‫‪Page 11‬‬


4 ‫ـــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ‬eme année ingéniorat Électrotechnique ‫ ــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ‬Module Asservissement ‫ــــــــــــــــــــــــــــ‬

Les paramètres caractéristiques du système :


a) Pour un échelon unité :
La constante de temps : τ= R*C =50*63*10-6 = 0. 00315 s
Le temps de montée : tm = 2.2*τ= 0. 00693 s
Le temps d’établissement : te = 4*τ= 0. 0126 s
b) pour une rampe :
L’erreur statique : es = τ= 0. 00315 s
L’erreur du traînage : yt =τ*K =0.00315*40= 0. 126
a) Application d’un échelon unité
( i ) Pour l’établissement de la réponse du notre système, on écrire un
programme interactif qui permet d’introduire les valeurs d’entrée (en

Université de U.S.T.O Page 12


4 ‫ـــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ‬eme année ingéniorat Électrotechnique ‫ ــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ‬Module Asservissement ‫ــــــــــــــــــــــــــــ‬

évitant la réécriture de programme pour chaque nouvelle valeur


d’entrée ) .

Le programme :

E=input ('valeur de tension= ');


R=input ('valeur de resistance= ');
C=input ('valeur de capacite= ');
num=E;
den=[R*C 1];
'f(s)'
printsys(num,den);
step(num,den);
Université de U.S.T.O Page 13
‫ــــــــــــــــــــــــــــ ‪ Module Asservissement‬ــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ ‪eme année ingéniorat Électrotechnique‬ـــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ ‪4‬‬

‫‪Remarque: On écrire ce programme dans l’éditeur du texte du‬‬


‫‪MATLAB, sur un fichier script‬‬ ‫‪(.m). ou bien directement sur le‬‬
‫‪workspace‬‬

‫‪Université de U.S.T.O‬‬ ‫‪Page 14‬‬


4 ‫ـــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ‬eme année ingéniorat Électrotechnique ‫ ــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ‬Module Asservissement ‫ــــــــــــــــــــــــــــ‬

(ii) le graphe de sortie :


On trouve graphiquement :

La constante de temps : pour y (τ)= 0.632*40 =25.28 .

On a t =τ= 0.00314 s
Le temps de montée : tm = 0.00692 s ( Rise time) .
Le temps d’établissement : te = 0.0123 s (setting time) .
(iv) Pour remarque l’effet de variation de la constante du temps dan le
graphe, on ajoute l’instruction ’ hold on ’ ( dans le programme précèdent ) , qui
sert à insérer deux graphes ou plus dans la même figure .

Université de U.S.T.O Page 15


‫ــــــــــــــــــــــــــــ ‪ Module Asservissement‬ــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ ‪eme année ingéniorat Électrotechnique‬ـــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ ‪4‬‬

‫‪Pour change la constante de temps, on fait varier la valeur de la‬‬


‫‪résistance R. On obtient donc la figure suivante :‬‬

‫‪On remarque que :‬‬

‫‪Université de U.S.T.O‬‬ ‫‪Page 16‬‬


4 ‫ـــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ‬eme année ingéniorat Électrotechnique ‫ ــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ‬Module Asservissement ‫ــــــــــــــــــــــــــــ‬

Si on augment la valeur de la constante de temps ( RC) , la réponse du


système atteint la valeur final plus rapidement que l’état initial , et si on
diminue cette valeur (RC) le système doit être plus lent.

On conclu que la constante de temps détermine le temps de repense du


système.

Réponse Rampe unité


E(p)=1/p²
S ( p)  H ( p). E ( p ) 1
S ( p )   p. S ( p ) 
1 1 p2
 S ( p)  .
1 p p 2   RC
1 ds (t )
S ( p).(1   p )  2 s (t )  RC  R (t )
p dt

b) Application d’une rampe d’unité

Université de U.S.T.O Page 17


4 ‫ـــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ‬eme année ingéniorat Électrotechnique ‫ ــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ‬Module Asservissement ‫ــــــــــــــــــــــــــــ‬

(i) Pour obtenir la réponse système d’après l’application d’une


rampe d’unité , on écrire le programme suivant :
E=input('valeur de tension=');
R=input('valeur de resistance=');
C=input('valeur de capacite=');
num=E;
den=[R*C 1 0];
'f(s)'
printsys(num,den);
step(num,den);
hold on;
t=0:0.001:0.035;

Université de U.S.T.O Page 18


‫ــــــــــــــــــــــــــــ ‪ Module Asservissement‬ــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ ‪eme année ingéniorat Électrotechnique‬ـــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ ‪4‬‬

‫;)‪plot(t,40*t‬‬
‫‪On obtient la figure suivant :‬‬

‫‪Pour déterminer les valeur du l’erreur statique (es) et l’erreur du‬‬


‫‪traînage (yt) , on utilise la commande ‘ ginput ’.‬‬
‫‪Université de U.S.T.O‬‬ ‫‪Page 19‬‬
‫ــــــــــــــــــــــــــــ ‪ Module Asservissement‬ــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ ‪eme année ingéniorat Électrotechnique‬ـــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ ‪4‬‬

‫‪Pour trouve l’erreur statique (es) on a :‬‬


‫)‪>> ginput(2‬‬
‫= ‪ans‬‬

‫‪0.0151 0.5997‬‬
‫‪0.0181 0.5948‬‬
‫‪es = 0.0181 - 0.0151= 0. 003 s‬‬
‫‪Pour trouve l’erreur du traînage (yt) on a :‬‬

‫)‪>> ginput(2‬‬

‫= ‪ans‬‬

‫‪0.0250‬‬ ‫‪0.9962‬‬
‫‪0.0251‬‬ ‫‪0.8689‬‬
‫‪yt =0.9962 - 0.8689= 0.1273‬‬

‫‪Université de U.S.T.O‬‬ ‫‪Page 20‬‬


4 ‫ـــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ‬eme année ingéniorat Électrotechnique ‫ ــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ‬Module Asservissement ‫ــــــــــــــــــــــــــــ‬

C) Si on compare les valeurs des paramètres du système que nous trouvons


graphiquement ( à l’aide du MATLAB ) avec les valeurs théoriques, on
remarque une minimale d’erreurs commis ( de l’ordre de 10-4 ). Donc, les
résultats obtenus sont acceptables par rapport à l’étude théorique.

Conclusion générale
On trouve que les erreurs entre les valeurs théoriques et les valeurs
obtenues avec la simulation sous MATLAB sont très petites. On constate que
la simulation effectuée est efficace, car elle implique un bon accord avec les
résultats théoriques.
La fonction du transfert contient les paramètres caractéristiques du
système, qui permettent la détermination de l’évolution de ce système dan le
temps.

Université de U.S.T.O Page 21


‫ــــــــــــــــــــــــــــ ‪ Module Asservissement‬ــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ ‪eme année ingéniorat Électrotechnique‬ـــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ ‪4‬‬

‫‪Les résultats montrent clairement que le système du premier ordre est un‬‬
‫‪système stable.‬‬

‫‪Université de U.S.T.O‬‬ ‫‪Page 22‬‬

Vous aimerez peut-être aussi