Vous êtes sur la page 1sur 14

ISSAT-Mateur Atelier d’Automatique

Atelier
N°1 : Introduction au logiciel Matlab
Filière : 2-EEA, TEC
Enseignants : Hatem Trabelsi, Amira Marzouki

A la fin de cet atelier, l'étudiant doit être capable d’utiliser Matlab pour :
- Effectuer des calculs mathématiques
- Tracer des courbes
Objectifs :
- Définir la fonction de transfert d’un système linéaire continu et
visualiser sa réponse à un signal donné
- Simuler la réponse d’un système sous Simulink
Pré-requis : Fonction de transfert d’un système linéaire, Signaux canoniques
Moyens de
PC muni du logiciel Matlab.
réalisation :

I. Rappels théoriques

Définition 1 : Un système est un ensemble d’éléments en interactions : mutuelles et


avec l’extérieur.
Exemples :
- Systèmes électriques : convertisseurs statiques, filtres…
- Systèmes mécaniques : amortisseur d’un véhicule, gyroscope mécanique…
- Systèmes électromécaniques : moteur électrique, vérin électrique…
- Systèmes thermiques : chaudière industrielle, radiateur…
- Systèmes biologiques : système de régulation de la glycémie, système
nerveux…
- Etc.

Année universitaire 2020-2021 Page 1


ISSAT-Mateur Atelier d’Automatique

Eléments internes
Signaux Signaux
d’entrée de sortie

Figure 1 : Structure d’un système

 Les entrées désignent les actions du milieu extérieur sur le système.


 Les sorties représentent les actions du système sur son milieu extérieur.
 Les interactions internes entre les éléments du système peuvent être décrites
mathématiquement (par des équations différentielles par exemple). Ceci est parfois
très complexe, on se contente des relations liant les sorties aux entrées : les fonctions
de transfert.

 Un système est dit :


- Dynamique, si son comportement évolue au cours du temps.
- Mono-entrée/mono-sortie, s’il dispose d’une seule entrée et d’une seule
sortie.
- Linéaire, si son évolution est régie par une équation différentielle linéaire.
Exemple : s’’(t)+2*s’(t)+4*s(t)=3*e’(t)+e(t)
- Non linéaire, si son évolution est régie par une équation différentielle non
linéaire. Exemple : s’(t)+2*cos(s(t))=3*e’(t)+e2(t)
- Continu, si son état est défini à tout instant.
- Discret, si son état est défini à des instants bien déterminés.

 Les systèmes traités dans le cadre de ce cours sont des systèmes dynamiques
mono-entrée/mono-sortie, linéaires et pouvant être continus ou discrets.

Année universitaire 2020-2021 Page 2


ISSAT-Mateur Atelier d’Automatique

Définition 2 : Un signal désigne l’évolution d’une grandeur physique en fonction


d’une autre (généralement le temps ou l’espace).

 Un signal peut être :


- Continu (défini à tout instant) ou discret (défini à des instants donnés).
- Déterministe (évolue selon une fonction mathématique bien déterminée) ou
aléatoire (son évolution est imprévisible).
- Périodique (évolue selon une fonction mathématique périodique) ou
apériodique.
 La réponse d’un système à un signal x(t) donné désigne le signal de sortie quand
l’entrée est égale au signal x(t). En particulier, on parle de :
- Réponse indicielle, quand le signal d’entrée est un échelon.
- Réponse impulsionnelle quad le signal d’entrée est une impulsion de Dirac.

Année universitaire 2020-2021 Page 3


ISSAT-Mateur Atelier d’Automatique

Echelon

Rampe

Impulsion de Dirac

Sinusoïdal
Dirac

Carré
Dira
c
Triangulaire
Dirac

Dents de Scie

Figure 2 : Quelques signaux usuels

Définition 3 : La fonction de transfert H d’un système linéaire à temps continu


d’entrée e(t) et de sortie s(t) est donnée par la fraction rationnelle en « p »
où p désigne l’opérateur de Laplace, E(p) la transformée de Laplace du

signal d’entrée et S(p) celle du signal de sortie.

 La fonction de transfert est indépendante du type du signal d’entrée. Elle n’est


autre qu’une représentation simplifiée, dans le domaine fréquentiel, de l’équation
différentielle régissant l’évolution du système dans le temps.

Exemple :

Année universitaire 2020-2021 Page 4


ISSAT-Mateur Atelier d’Automatique

Soit le système régi par l’équation différentielle suivante :

s’’(t)+3s’(t)+4s(t) = 2e’(t)+5e(t)
d2
où s ''(t ) désigne la dérivée seconde de s par rapport au temps : s(t ) .
dt 2

On rappelle qu’à conditions initiales nulles, la transformée de Laplace appliquée à


une dérivée est donnée par :
dn
TL[ n f (t )]  p n F ( p)
dt
L’application de la transformée de Laplace aux termes de l’équation différentielle
donne :
p 2 S ( p )  3 pS ( p)  4S ( p)  2 pE ( p)  5E ( p)

qui peut s’écrire sous la forme :

( p 2  3 p  4) S ( p)  (2 p  5) E ( p)

D’où la fonction de transfert du système :

S ( p) 2p 5
H ( p)   2 .
E ( p) p  3 p  4

II. Présentation du logiciel Matlab

Matlab est un logiciel de calcul numérique puissant qui offre une variété de fonctions
et de boites à outils (« toolboxes ») couvrant plusieurs domaines d’application,
notamment l’automatique, le traitement de signaux, le traitement d’images,
l’aéronautique, la mécanique, l’électronique, la finance, etc.
Matlab est basé sur le calcul matriciel, d’où son nom : acronyme de « Matrix
Laboratory ».

Interface graphique du logiciel

Année universitaire 2020-2021 Page 5


ISSAT-Mateur Atelier d’Automatique

La fenêtre principale, appelée « Command Window », apparaît dans la partie centrale


de l'interface graphique de Matlab.

Figure 3 : Espace de travail (« Command Window ») de Matlab

Dans cette fenêtre, les commandes vont être saisies juste après les deux chevrons >>.
Les commandes sont exécutée une à une en tapant « Entrée » après la saisie. Le
résultat sera affiché à la ligne suivante. C’est le mode interactif de Matlab.

Un autre mode d’exécution est disponible: le mode exécutif. IL suffit d’ouvrir un


nouveau fichier (« fichiers M ») et de saisir tout un programme ou « script » puis
l’enregistrer et l’exécuter. L’exécution du script s’effectue ligne par ligne.

Historique d’exécution
Sur l’espace de travail, il n’est pas possible de modifier une ligne de commande déjà
exécutée (en tapant « entrée »). Sur la nouvelle ligne de commande il est possible de
récupérer les instructions déjà exécutée et sauvegardées dans l’historique en
appuyant sur les flèches haute et basse du clavier.

Année universitaire 2020-2021 Page 6


ISSAT-Mateur Atelier d’Automatique

III. Manipulations

1. Calculs numériques
1.1. Sur la fenêtre de commande de Matlab, affecter aux variables x et y les
valeurs 4 et 3, respectivement.
1.2. Affecter à la variable z le résultat de l’opération suivante :

1.3. Définir le vecteur U de taille 3 et dont les éléments sont : x,y et z.


1.4. Calculer le vecteur V de même taille et dont les composantes sont les
images des composantes du vecteur U par la fonction « sinus ».
1.5. Représenter graphiquement le vecteur V en fonction du vecteur U.

2. Représentations graphiques

Ecrire un script Matlab nommé « graphiques » permettant de :

2.1. Définir la fréquence f d’un signal avec f = 100 Hz.


2.2. Définir le vecteur temps t dont les éléments désignent les instants de calcul
variant entre 0 et 0.05 s par pas de 0.0001 s (Ne pas afficher t !).
2.3. Définir puis représenter, sur le même graphique, les vecteurs S1 et S2
donnés par S1 = 2*sin(2*π*f*t) et S2 = 2*cos(2*π*f*t+3).
2.4. Déterminer graphiquement, en utilisant la fonction « ginput », les
coordonnées du premier point d’intersection entre les deux courbes.

3. Simulation de systèmes linéaires continus

Soit le système linéaire continu, d’entrée e(t) et de sortie s(t), défini par l’équation
différentielle suivante : 5*s’’’(t)+2*s’’(t)+s’(t)+4*s(t) = e’’(t) - e(t)

3.1. Question théorique : A conditions initiales nulles, appliquer la transformée


de Laplace à cette équation. En déduire la fonction de transfert H(p)=S(p)/E(p) du
système.
3.2. Définir cette fonction de transfert sous Matlab (Attention : on l’appellera H
et non pas H(p)).
3.3. Visualiser, sur la même figure, la réponse indicielle unitaire du système puis
sa réponse indicielle à un échelon d’amplitude 3. Ajouter une légende pour
distinguer les deux courbes.

Année universitaire 2020-2021 Page 7


ISSAT-Mateur Atelier d’Automatique

3.4. Sur une nouvelle figure, visualiser la réponse impulsionnelle du système.


3.5. Visualiser, sur une troisième figure, la réponse du système à une rampe
d’amplitude 2.

4. Utilisation de l’interface graphique Simulink

Lancer Simulink en cliquant sur le logo correspondant ou en exécutant la


commande «simulink » sur la fenêtre de travail. La bibliothèque « Simulink »
s’ouvre.

Figure 4 : Raccourci pour Simulink

Ouvrir un nouveau modèle. Dans toute la suite, on aura besoin d’un bloc pour
générer le signal d’entrée (groupe « Sources » de la bibliothèque) et d’un bloc
oscilloscope pour visualiser la sortie (groupe « Sinks »)

Figure 5 : Ouverture d’un nouveau modèle Simulink

Année universitaire 2020-2021 Page 8


ISSAT-Mateur Atelier d’Automatique

4.1. Réaliser le schéma Simulink suivant, en utilisant comme fonction de


transfert celle calculée en 3.1. Pour ce faire, double cliquer sur le bloc « Transfer
Fcn » et saisir les coefficients du numérateur de la fonction de transfert séparés
par des « espaces » ainsi que les coefficients du dénominateur. Les coefficients
seront arrangés selon les puissances décroissantes en « p »

Figure 6 : Simulation sous Simulink

4.2. Utiliser les sources adéquates à l’entrée (groupe « Sources » de la


bibliothèque) pour simuler les mêmes réponses qu’en 3.3, 3.4 et 3.5. L’échelon
correspond au bloc « Step ». Pour le paramétrage de ce dernier, fixer le
paramètre « Step Time » à zéro. Le paramètre « Final value » indique l’amplitude
de l’échelon.
4.3. Ouvrir un nouveau modèle Simulink et réaliser, à base d’intégrateurs
(groupe « Continous » de la bibliothèque), d’additionneurs, de soustracteur et de
gains (groupe « Math operations » de la bibliothèque) le schéma d’entrée e et de
sortie s permettant de simuler le comportement du système régi par l’équation
différentielle suivante : 5*s’’’(t)+2*s’’(t)+s’(t)+4*s(t) = e’’(t) – e(t).
La figure suivante montre une réalisation de l’équation différentielle :
s’(t)+3*s(t) = e’(t) – 2*e(t).

4.4. Reprendre la question 4.2.


4.5. Ajouter au modèle deux blocs « To workspace » (groupe « sinks ») et un
bloc d’horloge (« clock »). Nommer « s » le bloc « To workspace » lié à la sortie et
« t » celui lié au block d’horloge, puis paramétrer les deux blocs en choisissant

Année universitaire 2020-2021 Page 9


ISSAT-Mateur Atelier d’Automatique

« Array » au lieu de « Structure » pour le format d’enregistrement de données


(voir figure suivante).

Figure 7 : Paramétrage des blocs « To Workspace »

Sur l’espace de travail de Matlab, taper plot(t,s), la courbe de simulation de


l’oscilloscope sera affichée sous forme de figure et prête à être éditée.

ANNEXE
Fonction Matlab Rôle Exemple d’utilisation
= Opérateur x=5
d’affectation x=5
y=3;
 affectation sans affichage à
cause de l’opérateur « ; » à la fin
Opérateurs mathématiques :
+, – , * , / , a^n (a puissance n) , sqrt(…) (racine carrée), exp(…) , log(…) , log10(…) ,
sin(…) , cos(…) , tan(…) etc.
Aide : Affiche la help sqrt
help func
syntaxe de la fonction  Aide concernant l’usage de la

Année universitaire 2020-2021 Page 10


ISSAT-Mateur Atelier d’Automatique

nommée « func » fonction « sqrt »


Efface les données
clear all mémorisées dans
l’espace de travail
clc Efface l’écran
Constantes prédéfinies :
pi 3.1415... eps 2.2204e-016
Inf infinité NaN nombre indéterminé
Ponctuation :
;  placé à la fin d’une instruction, évite l’affichage du résultat
,  sépare les instructions écrites sur la même ligne
,  sépare les paramètres d’une fonction
…  Placé à la fin d’une instruction, permet de poursuivre celle-ci sur la ligne suivante
%  permet d’ajouter un commentaire
Nombres complexes :
x=a+i*b  définition d’un nombre complexe x; exemple : x=2-3*i
abs(x)  module de x angle(x)  phase de x conj(x)  conjugué de x
real(x)  partie réelle de x
Vecteurs et matrices :
Création d’un vecteur V=[1 -3 2]
ligne nommé « V » à 3
V = [v1 v2 v3]
composantes : v1, v2 et
v3
Création d’un vecteur W=[-1 ; 0 ; 5 ; 2]
colonne nommé « W » à
W = [w1 ; w2 ; w3 ; w4] 4 composantes : w1,
w2, w3 et w4

Création d’une matrice M = [1 3 0 ; -1 5 4]


nommée « M » à 2  M=
lignes et 3 colonnes et 1 3 0
M= [m11 m12 m13 ; dont les éléments sont : -1 5 4
m21 m22 m23] m11, m12 et m13 (pour
la première ligne) et
m21, m22 et m23 (pour
la deuxième ligne)
Création d’un vecteur X = 1 : 0.5 : 3
« V » dont les éléments  X=
sont une suite 1 1.5 2 2.5 3
V=a:p:b
arithmétique de
nombres allant de « a »
jusqu’à « b » avec un

Année universitaire 2020-2021 Page 11


ISSAT-Mateur Atelier d’Automatique

pas « p ». si le pas n’est


pas mentionné, il vaut
par défaut 1.
Graphisme :
Créer une nouvelle
figure(n)
figure d’ordre « n » x = 0 : 0.1 : 100 ;  définition
Tracer une courbe « y » d’un vecteur x:
en fonction de « x » ou [0, 0.1, 0.2, 0.3, …., 100]
plot(x,y)
« x » et « y » désignent
des vecteurs y = cos(x) ;  définition du
Maintenir l’ancien vecteur y : chaque composante
hold on graphique pour yi de y est définie par :
superposer un nouveau yi = cos(xi)
axis([xmin xmax Définir les échelles des
ymin ymax]) axes figure(1)  ouverture d’une
grid Affiche un quadrillage nouvelle figure : « figure 1 »
Attribue un « titre »
title('titre') plot(x,y)  Représentation de la
pour le graphique
Attribue un « titre » courbe : « y en fonction de x »
xlabel('titre')
pour l’axe des abscisses
Attribue un « titre » hold on maintenir le graphe
ylabel('titre') pour l’axe des pour superposer un autre sur la
ordonnées même figure
Permet d’ajouter une
légende au graphe z = sin(x) ;  définition du
vecteur z : chaque composante zi
de z est définie par : zi = sin(xi)
legend('titre courbe1', title('Courbes des fonctions
'titre courbe2', …) Cosinus et Sinus')
xlabel('x')
ylabel('cos(x) et y(x)')
legend('cos(x)', 'sin(x)')

Permet de retourner sur ginput


l’espace de travail les 0 1
coordonnées (abscisse,
ordonnée) d’un point du
ginput
graphe en cliquant sur
ce dernier par la souris
et appuyant sur
« Entrée »

Année universitaire 2020-2021 Page 12


ISSAT-Mateur Atelier d’Automatique

Fonctions de transfert :
Définition d’un vecteur num=[2 3]
num=[… … … …] « num » contenant les  num = 2 3
den=[… … … …] coefficients de
polynôme numérateur den=[1 4 5]
de la fonction de  den = 1 4 5
transfert arrangés par
ordre décroissant des
puissances (bm, … ,b0 )
et d’un vecteur « den »
contenant les
coefficients du
dénominateur.
H = tf(num, den) Définition d’une H = tf(num, den)
fonction de transfert H 
de numérateur « num »
et de dénominateur
« den » déjà définis. NB : On aurait pu écrire
directement :
H = tf( [2 3], [1 4 5])

step(H) Trace la réponse indicielle unitaire du système défini par la


fonction de transfert H.
NB : si l’entrée est un échelon non unitaire d’amplitude
« a » on peut soit utiliser la fonction « lsim » suivante soit
multiplier la fonction de transfert par « a » : step(a*H)
impulse(H) Trace la réponse impulsionnelle du système défini par la
fonction de transfert H.
Trace, sur la plage de t = 0:0.01:5;
temps donné par le u = cos(t);
lsim(H,u,t) vecteur t, la réponse du H = tf( [2 3], [1 4 5]) ;
système défini par la lsim(H,u,t)
fonction de transfert H à
un signal d’entrée u.

Année universitaire 2020-2021 Page 13


ISSAT-Mateur Atelier d’Automatique

Année universitaire 2020-2021 Page 14

Vous aimerez peut-être aussi