Beruflich Dokumente
Kultur Dokumente
Schéma de principe
Le schéma de principe du système est illustré par la figure suivante:
10 m/s
1m
Schéma blocs
Le schéma blocs correspondant est illustré par la figure suivante:
Convertisseur
N/A Moteur CC Vis
R* E* M* 17.7 Y
Kr Kp Bo(s) KN/A 0.0016
+ s(0.08s+1)
-
Y d* T=0.05s
Ym
KA/N 1000 e-Tds
1m
Td = = 0.1s
10m / s
212 lsb
K A/ N = = 409.6 lsb / v
10v
10v
KN /A = = 0.002441 v / lsb
212 lsb
K r = 1000 * K A / N
Gp(s)
T
R* E* M* 17.7 Y
Kr Kp Bo(s) KN/A 0.0016
+ s(0.08s+1)
-
Y d* T=0.05s
Ym
KA/N 1000 e-Tds
H(s)
On doit ensuite tracer les parcours, à rebours, de la sortie de chaque échantillonneur
jusqu’à la première variable échantillonné. Finalement, comme l’indique la figure
suivante, les parcours doivent être remplacé par la transformée en z de tous les fonctions
de transfert en s du parcours et les portions du système qui sont déjà dans le domaine
échantillonné ne doivent pas être modifiées.
Yd(z)
BoGpH(z)
Dans ce schéma blocs en z,
z − 1 Gp ( s ) z − 1 0.02832 K NA z − 1 0.00006913
BoGp ( z ) = Z {Bo( s )Gp ( s )} = Z = Z 2 = Z 2
z s z s ( 0.08s + 1) z s ( 0.08s + 1)
z − 1 1 / 0.08
BoGp( z ) = 0.00006913 Z 2
z s (s + 1 / 0.08)
BoGp( z ) = 0.00006913
[
z − 1 z z (T / 0.08 − 1 + e −T / 0.08 ) + (1 − e −T / 0.08 − T / 0.08e −T / 0.08 ) ]
1 / 0.08( z − 1) (z − e −T / 0.08 )
2
z
d’où
BoGp( z ) = 0.00006913
[z (T / 0.08 − 1 + e ) + (1 − e
− T / 0.08 −T / 0.08
]
− T / 0.08e −T / 0.08 )
1 / 0.08( z − 1)(z − e −T / 0.08
)
Pour simplifier l’écriture, on pose ensuite
a 2 = e −T / 0.08 = 0.5353
de sorte que
b1 z + b2
BoGp( z ) =
z + a1 z + a 2
2
1 z − 1 0.02832 * K NA *1000 * K AN
BoGpH ( z ) = Z
z2 z s 2 ( 0.08s + 1)
1 z − 1 0.02832 * K NA
BoGpH ( z ) = Kr Z 2
s ( 0.08s + 1)
2
z z
La dernière partie de cette expression est exactement BoGp(z) que nous avons déjà
trouvé. Ainsi,
1 K r b1 z + K r b2
BoGpH ( z ) = K r BoGp ( z ) =
z2 z 4 + a1 z 3 + a2 z 2
Yd(z)
Krb1z + Krb2
z4+a1z3+a2z2
Simulation du système
Pour simuler le système, on doit faire la transformée en z inverse de la sortie de chaque
blocs :
b1 z + b2
Y ( z) = M ( z)
z + a1 z + a 2
2
1) z 2Y ( z ) + a1 zY ( z ) + a 2Y ( z ) = b1 zM ( z ) + b2 M ( z )
2) Y ( z ) + a1 z −1Y ( z ) + a 2 z −2Y ( z ) = b1 z −1 M ( z ) + b2 z −2 M ( z )
3) y (k ) + a1 y (k − 1) + a 2 y (k − 2) = b1 m(k − 1) + b2 m(k − 2)
4) y (k ) = −a1 y (k − 1) − a 2 y (k − 2) + b1 m(k − 1) + b2 m(k − 2) (1)
K r b1 z + K r b2
Yd ( z ) = M ( z)
z + a1 z 3 + a2 z 2
4
e( k ) = K r r ( k ) − y d ( k ) (3)
et
m( k ) = K p e( k ) (4)
Condition initiales
Dans cette exemple les conditions initiales ne sont pas nulles puisque l’épesseur initial du
métal est de 0.005m. Ainsi, on suppose que
y (−1) = y (−2) = 0.005m
et
y d (−1) = y d (−2) = K r 0.005m
et les autres conditions initiales nulles. Parce que le système est d’ordre 4, les 4 premières
itérations de la simulation doivent être calculée à l’extérieure de la boucle de simulation :
k=0
y (0) = −a1 y (−1) − a 2 y (−2) + b1 m(−1) + b2 m(−2) = −a1 y (−1) − a 2 y (−2) = 0.005
yd (0) = −a1 yd (−1) − a2 yd (−2) + K r b1 m(−3) + K r b2 m(−4) = −a1 yd (−1) − a2 yd (−2) = 0.005K r
e(0) = K r r (0) − y d (0)
m ( 0) = K p e ( 0)
k=1
y (1) = −a1 y (0) − a 2 y (−1) + b1 m(0) + b2 m(−1) = −a1 y (0) − 0.005a 2 + b1 m(0)
yd (1) = −a1 yd (0) − a2 yd (−1) + K r b1 m(−2) + K r b2 m(−3) = −a1 yd (0) − a2 0.005K r
e(1) = K r r (1) − y d (1)
m(1) = K p e(1)
……………………………………………………………………………………………
k=3
y (3) = −a1 y (2) − a 2 y (1) + b1 m(2) + b2 m(1)
yd (3) = −a1 yd (2) − a2 yd (1) + K r b1 m(0) + K r b2 m(−1) = −a1 yd (2) − a2 yd (1) + K 0 b1 m(0)
e(3) = K r r (3) − y d (3)
m(3) = K p e(3)
Les autres itérations peuvent ensuite être calculées dans une boucle pour k = 4 … K (le
nombre d’échantillons que l’on souhaite simuler).
Programme MATLAB
Pour calculer la simulation de façon automatique, on peut utiliser le programme
MATLAB suivante :
%Exemple de la presse
%Periode d'echantillonnage
T = 0.05;
%Constantes
Kr = 409600;
a2 = exp(-T/.08);
a1 = -(1+a2);
b1 = .00006913*(T-.08+.08*a2);
b2 = .00006913*(.08-.08*a2-T*a2);
%Gains proportionnel
Kp = 0.06;
%References
r = 0.001*ones(K,1);
%Conditions initiales
y0 = 0.005;
yd0 = Kr*y0;
%k=0
y(1) = -a1*y0-a2*y0;
yd(1) = -a1*yd0-a2*yd0;
e(1) = Kr*r(1)-yd(1);
m(1) = Kp*e(1);
%k=1
y(2) = -a1*y(1)-a2*y0+b1*m(1);
yd(2) = -a1*yd(1)-a2*yd0;
e(2) = Kr*r(2)-yd(2);
m(2) = Kp*e(2);
%k=2
y(3) = -a1*y(2)-a2*y(1)+b1*m(2)+b2*m(1);
yd(3) = -a1*yd(2)-a2*yd(1);
e(3) = Kr*r(3)-yd(3);
m(3) = Kp*e(3);
%k=3
y(4) = -a1*y(3)-a2*y(2)+b1*m(3)+b2*m(2);
yd(4) = -a1*yd(3)-a2*yd(2)+Kr*b1*m(1);
e(4) = Kr*r(4)-yd(4);
m(4) = Kp*e(4);
%Boucle de simulation k=4...K-1
for k=5:K,
y(k) = -a1*y(k-1)-a2*y(k-2)+b1*m(k-1)+b2*m(k-2);
yd(k) = -a1*yd(k-1)-a2*yd(k-2)+Kr*b1*m(k-3)+Kr*b2*m(k-4);
e(k) = Kr*r(k)-yd(k);
m(k) = Kp*e(k);
end;
%Affichage
t=(0:K-1)*T;
plot(t,y),xlabel('s'),ylabel('m');
title('Réponse du système');