Vous êtes sur la page 1sur 14

Université Sidi Mohammed Ben Abdellah

Faculté Des Sciences Dhar El Mahraz Fès


Département De Physique

Filière : Master Micro électronique, Signaux et Systèmes

Module : Asservissement et régulation

Réalisé par: Prof. El Houssaine Tissir


Quelques Notions utiles de Matlab et Simulink

I. Simulation des systèmes dynamiques avec Matlab


L'application de nombreux outils d'analyse et synthèse de lois de commande des systèmes
dynamiques est basée sur l'utilisation de modèles mathématiques. Une solution complète à un
problème peut nécessiter la visualisation graphique sous différents formats. Notons que les
caractéristiques graphiques représentent un outils essentiel d'analyse et de synthèse de lois de
commande. Le logiciel Matlab peut être employé pour décrire les propriétés des systèmes
dynamiques. Avec Matlab on obtient un affichage sous forme de fenêtre pour représenter les
graphiques. L'objectif de cette séance de travaux pratiques est d'exploiter les fonctions de
"control Toolbox" de Matlab pour l'analyse des systèmes dynamiques modélisés par des
fonctions de transfert.

Les fonctions principales utilisées pour le calcul des différentes réponses harmoniques des
systèmes linéaires sont:

w=logspace(d1,d2,N) Génère un vecteur de N points logarithmiquement


d d
espacés entre 10 1 et 10 2 .
[module,phase]=bode(num,den,w) Calcul du diagramme de Bode (gain,phase) de la
fonction de transfert pour les pulsations définies
dans le vecteur w.
[Re, Im]=nyquist(num,den,w) Calcul dans le plan de nyquist (partie réelle, partie
imaginaire) de la fonction de transfert pour les
pulsations définies dans le vecteur w.
[mod,phase]=nichols(num,den,w) Calcul dans le plan de Black (gain,phase) de la
fonction de transfert pour les pulsations définies
dans le vecteur w.
[Gm,Pm,Wcg,Wcp]=margin(num,den) Calcul de la marge de gain, la marges de phase et
des pulsations associées.

Les fonctions utilisées pour la simulation des réponses temporelles sont les suivantes:

y=impulse(num,den,t) Calcul de la réponse à une impulsion de Dirac dans


y pour le temps défini dans le vecteur t.
y=step(num,den,t) Calcul de la réponse à un échelon dans y pour le
temps défini dans le vecteur t.
y=lsim(num,den,u,t) Calcul de la réponse dans y pour la commande
précisé dans u et le temps défini dans le vecteur t

La visualisation des graphiques peut être obtenue en utilisant les fonctions suivantes:

plot(x,y) Trace le vecteur y en fonction du vecteur x. les deux axes x et


y sont linéaires
semilogx(x,y) Trace le vecteur y en fonction du vecteur x. l'axe x est en
coordonnées logarithmiques, l'axe y est linéaire.
semilogy(x,y) Trace le vecteur y en fonction du vecteur x. l'axe x est linéaire,
l'axe y est en coordonnées logarithmiques
lolog(x,y) Trace le vecteur y en fonction du vecteur x. Les deux axes x et
y sont en coordonnées logarithmiques.

Les fonctions suivantes peuvent servir pour la personnalisation du graphique.


Grid Dessine une grille sur le graphique courant
Subplot(m,n,p) Dessine le graphique initiale en plusieurs graphiques (matrice
(m,n)). Exemple (2,2,p) divise le plan en quatre, p=1,2,3, ou 4
et (2,2,p) divise le plan en 2, p=1 ou 2.
title('texte') Affiche la chaîne 'texte' en titre
xlabel('texe') Affiche la chaîne 'texte' en l'axe des abscisses
ylabel'text') Affiche la chaîne 'texte' en l'axe des ordonnées

II. Simulation des systèmes dynamiques avec Simulink


Simulink est une boite à outils de Matlab qui permet de représenter d’une manière graphique
les systèmes dynamiques. Cette boite à outils contient des bibliothèques, accessibles dans la
fenêtre Simulink que l’on ouvre en exécutant la commande Simulink à partir de la ligne de
commande Matlab. Le contenue de cette fenêtre est représenté par la figure suivante

Figure 1: Fenêtre Simulink

II.1. Eléments constituants la bibliothèque Simulink


Le contenue de quelques partie de la bibliothèque est donné par les figures suivantes:
Figure 2 : Bibliothèque: 'Sources’

Figure 3: Bibliothèque: 'Sinks’ Figure 4: Bibliothèque : ‘Continuous’


Figure 5: Bibliothèque : ‘Math Operation’

Figure 6: Bibliothèque 'Commonly Used Bloks'


Figure 7: Bibliothèque 'Signal Routing'

II.2. Construction d'un diagramme Simulink


Pour commencer, dans le menu File, on choisit New - Model. Une fenêtre de travail
Untitled s'ouvrira. Faire glisser dans la fenêtre de travail les blocs dont on a besoin pour
construire le diagramme. Faire des liaisons entre les blocs à l'aide de la souris. Lorsqu'on
double clique sur un bloc, une fenêtre de dialogue s'ouvrira. On peut alors changer les
paramètres de ce bloc. Une fois terminé, on ferme la fenêtre de dialogue. Une fois le
diagramme terminé, on peut l'enregistrer dans un fichier: dans le menu File, choisir Save As
et donner un nom (*.mdl) au fichier.

Exemple d'utilisation de Simulink

Les instructions ci-dessous permettent de construire le diagramme de simulation suivant.

Dans la fenêtre simulink :


Cliquer sur le bloc source (vous ouvrez une fenêtre source).
Amener avec la souris un signal generateur (Step) depuis la fenêtre source dans la fenêtre
untitled.
Cliquer sur le bloc Continuous (vous ouvrez une fenêtre continuous).
Amener avec la souris un bloc transfert function depuis la fenêtre continuous dans la
fenêtre untitled.
Cliquer sur le bloc sink (vous ouvrez une fenêtre sink).
Amener avec la souris un oscilloscope depuis la fenêtre sink dans la fenêtre untitled.
Dans la fenêtre untitled :
Relier le générateur au bloc fonction de transfert (cliquer sur la pointe du bloc
generator, maintenez le clic enfoncer et aller jusqu'à la pointe entrante du bloc transfert
function, puis relâcher le clic)
Relier le bloc fonction de transfert à l'oscilloscope.
Double cliquer sur transfert function. Donner le numérateur et le dénominateur d'un
système du premier ordre (constante de temps trois secondes et gain statique 2). Fermer
la fenêtre transfert function.
Double cliquer sur le générateur (Step) et régler le temp initial et les valeurs initiales et
finales. Fermer la fenêtre générateur.

II.3. Simulation Avec Simulink


Avant de lancer une simulation, on doit choisir les paramètres appropriés au modèle du
système. Dans le menu Simulation, lorsqu'on choisit Parameters, la fenêtre Simulation
Parameters suivante s'ouvrira.

Figure 8 : Paramètres de ‘Solver’

On doit alors choisir les paramètres de Solver par exemple les instants initial et final de la
simulation.
En cliquant sur la fenêtre suivante s’ouvre, on peut alors choisir un facteur de raffinage
convenable (‘Refine factor’)pour améliorer les performances de simulations.
Figure 9: Paramètres de 'Data Import/Export’'

Une fois les paramètres choisis on démarre la simulation en choisissant dans le menu
Simulation Start. On peut alors observer la réponse en double cliquant sur l'oscilloscope.
TP1 : Simulation Des Systèmes linéaires

I. Système de premier ordre


Y ( s) 0.5
a) Relever la réponse du système de fonction de transfert  à un échelon
E ( s ) 1  0.1s
unité
b) Retrouver à partir de cette réponse les valeurs caractéristiques de la fonction de
transfert (gain statique et constante de temps)

II. Système de second ordre


Pour le système de fonction de transfert

Y ( s) 0 .5

E ( s ) 1  2s  s 2
a) Relever la réponse y(t) à un échelon unité pour ξ=1.5 et ξ=0.15.
b) Pour ξ=0.15, mesurer la valeur finale stabilisée de y(t), le premier dépassement et la
pseudo-période. Comparer aux valeurs théoriques.

III. Système de second ordre bouclé


La fonction de transfert du système de second ordre défini précédemment avec ξ=0.15, noté
G(s), est insérée dans une boucle d’asservissement selon le schéma fonctionnel suivant :

a) Donner en fonction de K, les expressions de la pulsation propre non amortie, le


coefficient d’amortissement ζ, le dépassement D1%, et l’erreur statique.
b) Pour une entrée en échelon unitaire, relever y(t) pour K=1, K=10 et K=50.
c) Pour trois valeurs du gain K, mesurer le dépassement et la pseudopériode . remplir le
tableau suivant et conclure.
K Valeurs mesurées Valeurs théoriques
1 Tp Tp
D1% D1%
10 Tp Tp
D1% D1%
50 Tp Tp
D1% D1%

d) Mesurer l’erreur statique dans chacun des cas précédents et comparer aux résultats
théoriques, remplir le tableau suivant,
K ε() mesurée Théorique
1
10
50
IV. Système de troisième ordre bouclé
1
On réalise un asservissement du même type qu’en III. Avec G ( s) 
s( s  1)(s  2)
a) calculer la valeur maximale du gain K, notée Kmax pour que le système reste stable.
b) Tracer la réponse du système à un échelon unité pour K=0.1, K=1 et K=5.
c) Comparer les trois réponses (oscillation, rapidité et précision) et conclure.
TP 2: Correction d’un Système de Troisième Ordre à l'aide des
correcteurs Avance de phase, retard de phase et combiné

Le but de cette manipulation est de construire à l’aide de Matlab les lieux de transfert
(Nyquist , Black) de la fonction de transfert B.O. non corrigée et celle corrigée avec différents
correcteurs et d’analyser l’influence de ces correcteurs sur la réponse du système: déformation
de la courbe de transfert, marges de stabilité. Enfin, donner une interprétation.

Le schéma fonctionnel du système à étudier est le suivant:

Où C(s) est la fonction de transfert du correcteur. G(s), transmittance du système est donnée
par :
9
G (s)  avec a  2, b  3 et c  1.5.
1   s 1   s 1   s 
a c
  b  

Travail demandé

A. Partie théorique
A-1) Calculer la pulsation de résonance r et la facteur de résonance M du système non
corrigé.

A-2) Tracer les diagrammes de Nyquist et de Black de G(s), déduire les marges de gain et de
phase

B. Partie simulation
B-1) Correcteur à avance de phase
1  s
C (s)  K , K=1, α=0.1
1  s
Tracer les diagrammes de Nyquist et de Nichols de la fonction de transfert en boucle ouverte
corrigée G'(s)=C(s)G(s) pour 1=2 secondes et 2=0.01 secondes. Relever les marges de gain
et de phase du système asservi et noter la déformation apportée par cette correction aux lieux
de transfert. Interpréter.

B-2) Correcteur à retard de phase


1  s
C( s ) 
1  s

Tracer les diagrammes de Nyquist et Nichols de la fonction de transfert en boucle ouverte


corrigée G'(s)=C(s)G(s) pour deux valeurs 1=25 secondes et 2=0.1 secondes. Relever les
marges de gain et de phase du système asservi et noter la déformation apportée par cette
correction aux lieux de transfert. Interpréter.

B-3) Correcteur à avance et retard de phase

C(s) 
1  2s 1  3s 
1  1s 1  4s 
Tracer les diagrammes de Nyquist et Nichols de la fonction de transfert en boucle ouverte
corrigée G'(s)=C(s)G(s) pour :
a)  1  100sec ondes, 2  55 sec ondes, 3  2 sec ondes, 4  1.1sec ondes
b)  1  2 sec ondes, 2  1.1sec ondes, 3  0.02 sec ondes, 4  0.001sec ondes
Relever les marges de gain et de phase du système asservi et noter la déformation apportée
par cette correction aux lieux de transfert. Interpréter.
TP 3: Régulation de niveau

On considère une cuve cylindrique de section A qu'on peut remplir d'eau et dont on souhaite
réguler le niveau
H est le niveau d'eau dans la cuve
Qe est le débit d'entrée ( m 3 / s ), réglable.
Qs est le débit du robinet de sortie. Il dépend du niveau
H
H selon la relation Qs  avec R est la résistance
R
du robinet.

Figure 1

1. Etude du processus
Initialement la cuve est vide, les vannes sont fermées.
a) On ouvre brusquement la vanne d'entrée que l'on maintient ouverte; le débit Qe est
considéré comme un échelon. Comment varie le volume d'eau dans la cuve.

b) Lorsque la cuve est remplie la vanne de sortie est ouverte. Lorsque le niveau H est
stabilisé au niveau h o (niveau d'équilibre), le débit Qe équilibre exactement le débit de
sortie Qs (Qeo=débit d'équilibre). Montrer que le modèle linéarisé autour des valeurs
d'équilibres h o et Qeo est donné par :

dh 1
A  h  qe
dt 2R h o

c) Déterminer le gain statique et la constante de temps du système

2. Commande en boucle ouverte


Supposons que l'on désire élever le niveau de h o à h o + h c c'est à dire de passer de h=0 à
h= h c . Calculer le débit qu'il faut appliquer pour obtenir le niveau désiré.

3. Utilisant Matlab
Tracer la réponse indicielle si l'on désire avoir h c =0,5m puis h c =1m. Qu'elle conclusion
pouvez vous tirer sur la commande en boucle ouverte (précision et rapidité). On prend le gain
statique K=3m-2s et la constante de temps T=2s.

4. Commande en boucle fermée


Pour pallier aux inconvénients de la commande en boucle ouverte on passe maintenant à
l'étude du système en boucle fermée. Le schéma de la régulation automatique du niveau d'eau
dans la cuve est donné par la figure suivante :

Figure 2

 Le débit qe est réglé par une vanne motorisée; il est proportionnel à l'angle d'ouverture de
la vanne  v (rd), qe  K vv avec K v  0,1m3 /(s.rd) . Le débit qe ne peut pas être
négatif.
 Le débit de sortie qs est lié à l'utilisation (ou perte par fuite) de l'eau du réservoir supposé
h
satisfaire la relation qs  .
R
 Le moteur est alimenté par l'induit sous la tension u crée par l'amplificateur opérationnel
de gain A1 ; la position angulaire de l'arbre du moteur est m , son modèle (entrée tension,
sortie vitesse) est de premier ordre de gain statique K  4,78 tr /(mn.V) , et de constante de
temps T=0,1s.

 Ce moteur va ouvrir ou fermer la vanne par l'intermédiaire d'un réducteur  v  m .
20
 Le potentiomètre d'entrée Pc est gradué en mètres; il délivre une tension v c
proportionnelle au niveau de consigne h c : vc  Kh c (K=20V/m).
 Le flotteur F mesure le niveau h dans la cuve; il déplace le curseur du potentiomètre de
sortie Ps : la tension v s est proportionnelle à la hauteur d'eau h : vs  Kh (les
potentiomètres Pc et Ps sont identiques).

4.1) Donner le schéma fonctionnel du système bouclé (entrée h c , sortie h).


4.2) Calculer la fonction de transfert en boucle ouverte. Etudier la stabilité du système.
Calculer la valeur à donner au gain A1 pour avoir une marge de gain de 10dB.
4.3) Avec Matlab Tracer le lieu de Black, mesurer la marge de gain et la marge de phase.
4.4) Tracer le diagramme de Nyquist
4.5.) Avec Simulink, construire le schéma fonctionnel du système, relever la réponse
indicielle, mesurer le temps de réponse, le temps de monté ainsi que l'erreur statique.
4.6) Maintenant, si h c varie en rampe de pente 0,2, relever la sortie h(t) et l'erreur (t).

Vous aimerez peut-être aussi