Vous êtes sur la page 1sur 14

Université Sidi Mohammed Ben Abdellah Faculté Des Sciences Dhar El Mahraz Fès Département De Physique

Des Sciences Dhar El Mahraz Fès Département De Physique Masters: MASS, MME, ISAI Responsable: Prof. El
Des Sciences Dhar El Mahraz Fès Département De Physique Masters: MASS, MME, ISAI Responsable: Prof. El
Des Sciences Dhar El Mahraz Fès Département De Physique Masters: MASS, MME, ISAI Responsable: Prof. El
Des Sciences Dhar El Mahraz Fès Département De Physique Masters: MASS, MME, ISAI Responsable: Prof. El
Des Sciences Dhar El Mahraz Fès Département De Physique Masters: MASS, MME, ISAI Responsable: Prof. El
Des Sciences Dhar El Mahraz Fès Département De Physique Masters: MASS, MME, ISAI Responsable: Prof. El
Des Sciences Dhar El Mahraz Fès Département De Physique Masters: MASS, MME, ISAI Responsable: Prof. El

Masters: MASS, MME, ISAI

Des Sciences Dhar El Mahraz Fès Département De Physique Masters: MASS, MME, ISAI Responsable: Prof. El

Responsable: 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(d 1 ,d 2 ,N)

Génère un vecteur de N points logarithmiquement

espacés entre

10

d

1

et

10

d

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

de cette fenêtre est représenté par la figure suivante Figure 1: Fenêtre Simulink II.1. Eléments constituants

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: Biblio thèque :

Figure 2 : Bibliothèque: 'Sources’

Figure 2 : Bibliothèque: 'Sources’ Figure 3: Bibliothèque: 'Sinks’ Figure 4: Biblio thèque :

Figure 3: Bibliothèque: 'Sinks’

2 : Bibliothèque: 'Sources’ Figure 3: Bibliothèque: 'Sinks’ Figure 4: Biblio thèque : ‘Continuous’

Figure 4: Bibliothèque : ‘Continuous’

Figure 5: Bibliothèque : ‘Math Operation’ Figure 6: Bibliothèque 'Commonly Used Bloks'

Figure 5: Bibliothèque : ‘Math Operation’

Figure 5: Bibliothèque : ‘Math Operation’ Figure 6: Bibliothèque 'Commonly Used Bloks'

Figure 6: Bibliothèque 'Commonly Used Bloks'

Figure 7: Bibliothèque 'Signal Routing' II.2. Construction d'un diagramme Simulink Pour commencer, dans le

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.

permettent de construire le diagramme de simulation suivant. Dans la fenêtre simulink : Cliquer sur le

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.

la fenêtre Simulation Parameters suivante s'ouvrira. Figure 8 : Paramètres de ‘Solver’ On doit alors

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

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

a)

(

Y

s

)

0.5

Relever la réponse du système de fonction de transfert E s

(

)

1

0.1 s

à un échelon

unité

b) Retrouver à partir de cette réponse les valeurs caractéristiques de la fonction de

transfert

II. Système du 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 du second ordre bouclé

Le système du second ordre défini précédemment est inséré dans une boucle d’asservissement

selon le schéma fonctionnel suivant :

d’asservissement selon le schéma fonctionnel suivant : a) Pour ξ=0.15, K=1, relever y(t) pour une entrée

a) Pour ξ=0.15, K=1, relever y(t) pour une entrée en échelon

b) Pour trois valeurs du gain K : K=1, K=10, et K=50, mesurer le dépassement et la pseudopériode . comparer aux résultats théoriques.

c) Mesurer l’erreur statique dans chacun des cas précédents et comparer aux résultats théoriques.

IV. Système de troisième ordre bouclé

On réalise un asservissement du même type qu’en III. Avec

(

G s

)

1

s s

(

1)(

s

2)

a) calculer la valeur maximale du gain K, notée K max 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) Mesurer l’erreur dans chaque cas

d) Conclusion.

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:

schéma fonctionnel du système à étudier est le suivant: Où C(s) est la fonction de transfert

Où C(s) est la fonction de transfert du correcteur. G(s), transmittance du système est donnée par :

G(s)

9

1

   

 

1

a

s

b

s

 

  1 

c

s

avec

a 2, b 3et c 1.5.

Travail demandé

A. Partie théorique

A-1) Calculer la pulsation de résonance r corrigé.

et la facteur de résonance M du système non

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

C

(

s

)

K

1 1

s

, K=1, α=0.1

 



s

Tracer les diagrammes de Nyquist et de Nichols de la fonction de transfert en boucle
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
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 s1

1

s
4
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) b)    
100secondes, 2secondes,    1.1secondes,  55secondes,     0.02secondes, 2secondes,  
2
3
 
4
1.1secondes 0.001secondes
1 1
2
3
4
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.

C s

(

)

1 

2 s



1



3

s

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

remplir d'eau et dont on souhaite réguler le niveau Figure 1 H est le niveau d'eau

Figure 1

H est le niveau d'eau dans la cuve

3

Qe est le débit d'entrée ( m /s ), réglable.

Qs est le débit du robinet de sortie. Il dépend du niveau H selon la relation

est la résistance du robinet.

H Qs  R avec R
H
Qs 
R
avec R

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 ho (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 ho et Qeo est donné par :

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

q

e

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 ho à ho + hc c'est à dire de passer de h=0 à h= hc . 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 hc =0,5m puis hc =1m. Qu'elle conclusion pouvez vous tirer sur la commande en boucle ouverte (précision et rapidité). On prend le gain statique K=3m -2 s 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 :

d'eau dans la cuve est donné par la figure suivante : Figure 2  Le débit

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 Kvv

avec

K

négatif.

v

3

0,1m /(s.rd) . Le débit qe ne peut pas être

Le débit de sortie qs est lié à l'utilisation (ou perte par fuite) de l'eau du réservoir supposé

satisfaire la relation

qs

h .
h
.

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

Le potentiomètre d'entrée Pc est gradué en mètres; il délivre une tension vc proportionnelle au niveau de consigne hc : vc Khc (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 vs est proportionnelle à la hauteur d'eau h : vs Kh (les potentiomètres Pc et Ps sont identiques).

m

.

20

 

v

4.1) Donner le schéma fonctionnel du système bouclé (entrée hc , 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 hc varie en rampe de pente 0,2, relever la sortie h(t) et l'erreur (t).