Vous êtes sur la page 1sur 7

TD/TP Outils de Simulation 1

Outils de
simulation Prise en main de Anne
2009-2010
M1 ASE Matlab et Simulink

I-Introduction
Lobjectif de cette manipulation est de matriser les principales fonctionnalits du plus
reprsentatif des logiciels de calcul scientifique: le logiciel de calcul Matlab et sa Toolbox
graphique Simulink.
Conseils pour la rdaction:
La rdaction de la manipulation se fait directement sur machine, en utilisant le
'copier/coller' sous Windows vers un logiciel de traitement de texte (Open Office..). Cette rgle
s'applique aussi bien pour les rsultats graphiques que les programmes ou les schmas
graphiques.
Il est inutile de consacrer une page complte pour un graphique ou un schma.
[Le compte-rendu n'est pas valu au nombre de pages et de copies d'cran, dont l'excs nuit la lisibilit. Les
copies d'cran ne sont que la consignation du travail fait en manipulation et leur nombre excessif ne saurait
apporter un poids supplmentaire au compte-rendu]
Il est impratif de porter un regard critique sur les rsultats et d'identifier les sources
d'erreurs apportes par la simulation numrique. Le compte-rendu sera valu principalement
sur les remarques personnelles soulignant le lien entre les rsultats obtenus et les principes
thoriques.
LE COMPTE-RENDU EST A RENDRE EN FIN DE SEANCE

IIManipulation de concepts de base


On considre un systme dynamique caractris par une fonction de transfert de la forme
K
G p = 2 2 (1) dont on dsire tracer la rponse indicielle et la rponse
p / n 2 zp / n 1
frquentielle. On suppose que n = 3 rd /s et K = 5 .

Rponse temporelle
Rappel sur la rponse indicielle d'un systme du 2nd ordre
Pour un systme du deuxime ordre ayant un gain statique unitaire, la rponse l'chelon
unitaire est donne par la solution gnrale ( z 1 ) :
p2 p t p1 p t
yt = 1 e 1 e 2
p 1 p2 p 2 p1

avec p1 = z z 2 1 n et p 2 = z z 2 1 n ples de la fonction de transfert.


Note importante : les possibilits de calculs complexes sous Matlab permettent d'utiliser
directement cette solution, y compris pour le cas z 1 . D'un point de vue thorique, le cas
z = 1 (prsence d'un ple double) est exclu de cette solution; le travail demand ici envisage une
approche exprimentale du cas z = 1 .

Master ASE M1 - Outils de simulation 2009-2010


TD/TP Outils de Simulation 2

Travail demand

1) Calculer sous Matlab les ples p 1 et p 2 du systme pour z = 0,3 .


Construire un vecteur temps de 0 10s, pas 0,1s
Calculer le vecteur de sortie y t (pas besoin de boucle itrative!).
Tracer la rponse temporelle (ne pas oublier de prciser l'chelle des temps pour le trac en
prcisant l'abscisse)
2
Vrifier rapidement la cohrence des rsultats (pseudo-priode T , amplitude du
n
dpassement de 30% environ).

Note importante : le travail ne consiste pas utiliser la fonction step applique un


second ordre mais faire le calcul partir de y(t) .!!!

2) Relancer le calcul la rponse indicielle pour z = 0,1 0,3 0,5 0,7 2 et 5 et reprsenter la
rponse sur un mme graphique (utiliser hold on ).

3) Analyser le rsultat Matlab obtenu pour z = 1 . Peut-on s'approcher de z = 1 en prenant


une valeur de z trs proche de 1 (1+0.001 par exemple)? L'erreur introduite influe-t-elle le
rsultat (valeur crte, pseudo-priode)?

4) Pour z = 0,3 , tracer sur le mme graphe la rponse obtenue pour un pas de 0.1s et pour le
pas 2s du vecteur temps. Les solutions se superposent-elles ? Y a-t-il une approximation dans le
calcul des valeurs, dans la trac ?

Rponse frquentielle
Le systme dynamique tant caractris par la fonction de transfert
K
G p = 2 2 , la rponse frquentielle est obtenue en faisant p = j dans
p / n 2 zp/ n 1
l'expression
Les possibilits de calcul complexe de Matlab permettent de calculer G j par criture
directe, aprs avoir fix les valeurs de n , z , K et

Travail demand
1) Construire un vecteur frquence OMEGA en suite logarithmique reprsentant l'tendue
frquentielle d'observation de n /100 100 n avec n=3rd / s (utiliser la fonction
logspace dont on consultera l'aide en ligne)
En dduire le vecteur frquence complexe j (on rappelle que j=sqrt(-1) )
2) Calculer le vecteur rponse G j obtenu pour p= j et z = 0,3 puis le vecteur
module en dB , le vecteur phase en rd ou degr (utiliser abs, log10 et angle)
3) Tracer dans une mme fentre l'amplitude et la phase du lieu de Bode de cette fonction de
transfert (utiliser semilogX et subplot ; ne pas oublier de marquer les chelles du graphe)
Comment obtient-on le lieu de Black-Nichols ?
Note importante : le travail ne consiste pas utiliser la fonction bode applique un
second ordre mais faire le calcul partir de G j .!!!

Master ASE M1 - Outils de simulation 2009-2010


TD/TP Outils de Simulation 3
IIIEtude des systmes dynamiques sous Matlab
Rappel: Matlab permet reprsenter directement les systmes dcrits par leur fonction de
transfert. Plusieurs reprsentations sont possibles : polynomiale, ples et zros ou par blocs; le
logiciel dispose des outils ncessaires pour passer d'une forme l'autre et pour tudier les rponses
de ces systmes.

Forme polynomiale (transfert function)


On considre que la fonction de transfert G p est crite sous la forme :
m1 m1
bm p m b m1 p ... b 0
G p =
a n p n a n1 pn 1 . .. a 0
Cette fonction de transfert se dfinit en Matlab sous forme de deux vecteurs lignes
reprsentatifs des coefficients des polynmes du numrateur et du dnominateur.
>> num = [ bm b m1 ... b 0 ] et >> den = [ an an 1 ... a 0 ]
Les noms utiliss pour la description sont gnriques (vous pouvez donner un autre nom au
numrateur ou au dnominateur)
La fonction TF(num, den) permet de construire la fonction de transfert partir de ses
composants (numrateur et dnominateur).
Forme zros-ples ( ZPK )
Dans cette reprsentation, on considre que G p est reprsente sous la forme :
p z 1 .. . p z n
G p = K
p p1 ... p p n
Cette fonction de transfert se dfini en Matlab sous forme de deux vecteurs ligne
reprsentatifs des coefficients des polynmes du numrateur et du dnominateur.
>> mes_zeros = [ z 1 z 2 ... z n ] et >> mes_poles = [ p1 p2 ... pn ]
La fonction ZPK(mes_zeros, mes_poles, K) permet de construire la fonction de transfert
partir de ses composants (numrateur et dnominateur).

Travail demand

p1
1) Soit la fonction de transfert G p = 2
p 0,5 p 1

Dfinir cette fonction de transfert dans Matlab par la forme polynomiale.

2) Donner la reprsentation zros-ples de ce systme (utiliser zpkdata ).

3) Reprsenter dans le plan complexe les ples et zros (utiliser pzmap) et pointer les ples et
zros. Noter les rsultats donns par Matlab sur le comportement prvisible en boucle ouverte
en dplaant/cliquant la souris sur le graphique [si votre version de Matlab inclus la
fonctionnalit des info-bulles]

Master ASE M1 - Outils de simulation 2009-2010


TD/TP Outils de Simulation 4

Rponse temporelle
Rappel: la rponse temporelle est obtenue sur un systme quelconque par simulation. Les
diffrentes possibilits offertes par Matlab sont:

impulse(sys) ou calcul de la rponse impulsionnelle pour les instants dfinis par le vecteur t
y=impulse(sys, t )
step(sys) ou calcul de la rponse indicielle pour les instants dfinis par le vecteur t
y=step(sys, t )
y=lsim(sys, u, t ) calcul de la rponse l'entre u pour les instants dfinis par le vecteur t

Travail demand
1) Pour la fonction de transfert prcdemment dfinie, dterminer la rponse indicielle en
utilisant le paramtrage par dfaut (pas de vecteur temps!). La rponse a-t-elle les proprits
prvues par l'analyse zros-ples [info-bulle]?
Commentez le rsultat.

2) Reprer sur la simulation prcdente les bornes temporelles. Construire un vecteur temps de
pas T ech = 2s . Simuler la rponse indicielle avec vecteur temps et superposer le rsultat au
prcdent. La mthode de simulation adopte par Matlab pour les fonctions de transfert est-elle
exacte ou approche ?

Master ASE M1 - Outils de simulation 2009-2010


TD/TP Outils de Simulation 5

Rponses frquentielles
L'tude frquentielle est souvent envisage pour le rglage en boucle ferme d'un systme.
Cette approche permet d'tablir la notion de marge de gain et marge de phase d'un systme.

Rappel: Les diffrentes rponses frquentielles usuelles sont :


bode (sys) ou bode(sys,w) lieu de Bode (pour les pulsations du vecteur w)

nyquist (sys) ou nyquist(sys,w) lieu de Nyquist (pour les pulsations du vecteur w)

nichols (sys) ou nichols(sys,w) lieu de Black (pour les pulsations du vecteur w)


margin(sys) calcul des marges de gain et de phase, ainsi que de leur
pulsations associes

Travail demand
On considre le systme boucl constitu des sous-systmes K et G suivants:
e y
K G

0.1
avec G p = 2 et K gain de bouclage
p p 0,5 p 1

1) Tracer le lieu de Black/Nichols de la boucle ouverte KG(p) pour K=1. Utiliser ngrid
pour faire apparatre les valeurs de la fonction de transfert en boucle ferme.

2) Evaluer graphiquement la marge de gain et la marge de phase ainsi que les


frquences associes (utiliser le curseur souris pour faire apparatre les proprits du
systme par l'aide contextuelle de Windows). Comparer aux valeurs calcules par
Matlab avec margin . Le systme serait-il stable en boucle ferme avec le gain K=1 ?

3) Dfinir K pour une marge de gain de 3dB . Tracer la rponse indicielle en boucle
ferme pour cette valeur de K (utiliser la fonction feedback) . Le dpassement
correspond-il aux attentes ? Conclure sur le comportement temporel.

Master ASE M1 - Outils de simulation 2009-2010


TD/TP Outils de Simulation 6

IV-Utilisation de Simulink
La Toolbox Simulink permet de dcrire les systmes par une reprsentation graphique et
d'en tudier le comportement dynamique par simulation numrique du comportement de chacun
des blocs ainsi relis. Cette approche permet de simplifier l'tude des systmes ainsi que
d'introduire des lments non-linaires qui ne peuvent tre tudis par la transforme de Laplace.
L'tude porte sur la commande d'un ensemble lectromcanique constitu de:
- un moteur lectrique courant continu caractris par une constante
lectromcanique k e , une rsistance interne d'induit r e et d'une self-inductance
le
- un hacheur dont la fonction de transfert est suppose tre un simple gain K h pour
cette tude.
- une charge mcanique constitue d'une inertie J et d'un couple perturbateur C ext .

L'ensemble fonctionnel est reprsent selon le schma suivant:

ke

C ext
-
commande + 1 1 vitesse
hacheur ke
uh u re + le p i Jp

Travail demand

1) Reprsenter graphiquement sous Simulink le moteur pour les valeurs


suivantes des paramtres:
J =1 k e = 0.5 r e = 0.1 l e = 0.01 K h = 0.5
et
C ext = 0
2) Observer la rponse (vitesse et courant) de ce systme pour un chelon
d'amplitude unitaire.
Expliquer la forme de la rponse (vitesse et courant). Comment voluent
ces sorties pour C ext = 0 .3 ?
3) Pour simplifier la reprsentation graphique du moteur, regrouper les
lments pour former une sous-fonction. Masquer la fonction avec
saisie des paramtres caractristiques.

Master ASE M1 - Outils de simulation 2009-2010


TD/TP Outils de Simulation 7

4) Pour faire un asservissement de vitesse, on se propose de faire un


bouclage avec correction P selon le schma suivant:

+ ensemble vitesse
consigne
kp hacheur
vitesse
uh moteur
-

Dterminer exprimentalement la valeur de k p donnant un dpassement


acceptable pour une consigne en chelon .Quelle est la valeur finale ;
en dduire l'erreur de gain de cet asservissement. Quelle est la forme
du courant pour ce rglage ?

5) Pour amliorer le fonctionnement, on dsire mettre en place un retour


de courant selon le schma suivant:

ki

- ensemble courant i
consigne + +
kp hacheur
vitesse uh
- moteur
vitesse

Rechercher exprimentalement le compromis ( k p k i ) donnant le


meilleur rsultat. Observer la forme du courant. La commande
apporte-t-elle une amlioration supplmentaire ?

Master ASE M1 - Outils de simulation 2009-2010

Vous aimerez peut-être aussi