Vous êtes sur la page 1sur 10

2MP-MMSI

Une introduction `a
MATLAB - CONTROL SYSTEM TOOLBOX

1 Fonction de transfert

1.1 Exemple 1 : 1er ordre

K
T (p) =
1+T p

Instructions :

>> K=10;
>> T=0.5;
>> num = [K];
>> den = [T 1];
>> sys = tf(num,den)

ou de manière condensée :

>> K=10;
>> T=0.5;
>> sys = tf(K,[T 1])

Sortie :

Transfer function:
10
---------
0.5 s + 1

1
2MP-MMSI

>> sys.inputname = ’débit’;


>> sys.outputname = ’niveau’

Sortie :

Transfer function from input "débit" to output "niveau":


10
---------
0.5 s + 1

1.2 Exemple 2

p+1
T (p) =
p2 + 4

>> sys = tf([1 1],[1 0 4])

Sortie :

Transfer function:
s + 1
-------
s^2 + 4

1.3 Exemple 3

p2 + p + 1
T (p) =
(p + 1)(p + 2)

>> sys1 = tf([1 1 1],[1 1]);


>> sys2 = tf(1,[1 2]);
>> sys=sys1*sys2

Sortie :

2
2MP-MMSI

Transfer function:
s^2 + s + 1
-------------
s^2 + 3 s + 2

Possibilité de factoriser1 avec l’instruction :

>> zpk(sys)

Sortie :

Zero/pole/gain:
(s^2 + s + 1)
--------------
(s+2) (s+1)

1.4 Exemple 4 : 1er ordre avec retard

Instructions :

>> K=10;
>> T=0.5;
>> sys = tf(K,[T 1])
>> sys.InputDelay = 2

ou

>> K=10;
>> T=0.5;
>> sys = tf(K,[T 1])
>> set(sys,’InputDelay’,2)
>> sys

Sortie :

Transfer function:
10
exp(-2*s) * ---------
0.5 s + 1
1
Attention l’instruction zpk() ne renvoie pas le gain statique du système.

3
2MP-MMSI

1.5 Propriétés des fonctions de transfert

Rentrer les fonctions de transfert suivantes :

p+1
sys1 =
p+2
3
sys2 =
p2 +p+1
3(p + 4)
sys3 =
p2 +2p+1
10
sys4 =
p2 + 3 p + 2
10
sys5 =
(p + 1)2
p+1
sys6 =
p(p + 2)(p + 3)

Pour chacune de ces fonctions de transfert, exécuter (pas à pas) la série d’instructions
suivante :

>> sys=sys1
>> class(sys)
>> size(sys)
>> get(sys)
>> dcgain(sys)
>> pole(sys)
>> zero(sys)
>> damp(sys)
>> pzmap(sys)

4
2MP-MMSI

1.6 Accès aux données

>> sys = tf([1 3],[1 3 2])


>> get(sys)
>> sys.num
>> num = sys.num{1}
>> sys.den
>> den = sys.den{1}
>> [num,den] = tfdata(sys)
>> celldisp(num)
>> num = num{1}
>> celldisp(den)
>> den = den{1}
>> [num,den] = tfdata(sys,’v’)

2 Analyse temporelle

2.1 Réponse à une impulsion de Dirac

>> sys = tf(10,[0.5 1])


>> impulse(sys)
>> title(’Réponse impulsionnelle’)

>> sys = tf(10,[0.5 1]);


>> sys.InputDelay = 2
>> impulse(sys)
>> title(’Réponse impulsionnelle’)

>> sys = tf(1,[1 1 1])


>> impulse(sys)
>> title(’Réponse impulsionnelle’)

2.2 Réponse à un échelon de position unité

>> sys1 = tf(10,[0.5 1])


>> step(sys1)
>> title(’Réponse à un échelon unité’)

5
2MP-MMSI

>> sys = tf(10,[0.5 1]);


>> sys.InputDelay = 2
>> step(sys)
>> title(’Réponse à un échelon unité’)

>> sys2 = tf(10,[1 1 1])


>> step(sys2)
>> title(’Réponse à un échelon unité’)
>> step(sys1,sys2)

>> stepinfo(sys1)
>> stepinfo(sys2)

2.3 Réponse à une entrée quelconque (fonction LSIM)

2.3.1 Réponse à un échelon d’amplitude quelconque

>> sys = tf(10,[0.5,1]);


>> t = [0:0.1:3];
>> amplitude = 10;
>> input = amplitude*ones(size(t));
>> output = lsim(sys,input,t);
>> plot(t,input,t,output)

On peut aussi écrire :

>> sys = tf(10,[0.5,1]);


>> amplitude = 10;
>> step(amplitude*sys)

2.3.2 Réponse à une rampe

>> t = [0:0.1:3];
>> input = t;
>> plot(t,input,t,dcgain(sys)*t,t,lsim(sys,input,t))
>> title(’Réponse à une rampe’)

6
2MP-MMSI

2.3.3 Réponse à une sinusoı̈de

>> sys = tf(10,[1 0.5 1]);


>> [u,t]=gensig(’sin’,100,1000);
>> plot(t,u,t,lsim(sys,u,t))
>> title(’Réponse à une sinusoı̈de’)

Visualisation du régime transitoire2

>> [u,t]=gensig(’sin’,1,30,0.01);
>> plot(t,u,t,lsim(sys,u,t))
>> title(’Réponse à une sinusoı̈de’)

2.4 Influence des zéros sur la réponse temporelle

Rentrer la fonction de transfert d’ordre 2 suivante :

1 + τa p
H(p) = K
(1 + τ1 p)(1 + τ2 p)

avec : K = 1, τ1 = 15 et τ2 = 5

Ce système comporte 2 pôles à partie réelle négative et un zéro.

Tracer sur un même graphique la réponse à un échelon unité pour :

a) τa = −10
b) τa = 0
c) τa = 10
d) τa = 15
e) τa = 50

2.5 Etude d’un actionneur électromécanique

Cet exercice est extrait du livre d’exercices « Applications du Formalisme d’Etat à la


Commande des Systèmes Continus » par D. Jaume, S. Thelliez et M. Vergé, Edition
EYROLLES.
2
RAPPEL : la réponse à un signal sinusoı̈dal est sinusoı̈dale en régime permanent.

7
2MP-MMSI

La modélisation simplifiée en vue de l’asservissement en position d’un actionneur élec-


tromécanique et de sa charge a conduit au schéma de la Figure 1.

Fig. 1 – Un actionneur électromécanique

L’ensemble chariot de masse M, ressort de raideur k, coefficient de frottement visqueux


f modélise la partie mécanique.

L’ensemble résistance R, inductance L, force contre-électromotrice introduite par l’en-


dy
roulement e(t) = α , force appliquée à la charge fc (t) = β i(t), caractérise la partie
dt
électrique.

Les variables u, i, y dénotent respectivement la tension à l’entrée, le courant dans l’en-


roulement et la position de la charge à partir d’un état d’équilibre.

On adopte les valeurs numériques suivantes :

M = 30 kg , k = 15 N/m , f = 15 N.s/m , R = 10 Ω
L = 10 H , α = 0, 2 V.s/m , β = 6 N/A

A partir des équations électriques et mécaniques du système :

di dy
u−Ri−L −α =0
dt dt

d2 y dy
M = −f −ky+βi
dt 2 dt

on peut obtenir sa fonction de transfert :

8
2MP-MMSI

Y ∗ (p) β
=
U (p)
∗ L M p + (R M + L f ) p + (R f + L k + α β) p + R k
3 2

1ère partie :

Dans un premier temps, on néglige le frottement visqueux (f = 0).

1) Introduire la fonction de transfert dans MATLAB.

2) Calculer le gain statique du système.

3) Quels sont les pôles du système ? Afficher les pôles et les zéros du système dans le
plan complexe.

4) Tracer la réponse y ∗(t) lorsqu’on envoie une impulsion de tension au système.

5) Tracer la réponse y ∗(t) lorsqu’on applique un échelon de tension u∗ = 100 V au


système.

6) Comment pouvait-on prévoir la valeur de régime permanent ?

7) Quel est le type de régime transitoire en présence ?

8) Quel est approximativement le temps de réponse de ce système ?

2ème partie :

On améliore le modèle en prenant en compte le frottement visqueux (f 6= 0).

9) Introduire la fonction de transfert dans MATLAB.

10) Calculer le gain statique du système.

11) Quels sont les pôles du système ? Afficher les pôles et les zéros du système dans le
plan complexe.

12) Tracer la réponse y ∗(t) lorsqu’on envoie une impulsion de tension au système.

9
2MP-MMSI

13) Tracer la réponse y ∗ (t) lorsqu’on applique un échelon de tension u∗ = 100 V au


système.

14) Comment pouvait-on prévoir la valeur de régime permanent ?

15) Quel est le type de régime transitoire en présence ?

16) Quel est approximativement le temps de réponse de ce système ?

10

Vous aimerez peut-être aussi