Petit cours d`automatique

Transcription

Petit cours d`automatique
Petit cours d’automatique
–
–
–
–
–
–
–
–
–
–
Pourquoi ce cours ?
Modèle d’un système physique
Résolution par transformée de Laplace
Réponse en fréquence, spectre
Commande par rétro-action
Commande PID
Simulation Matlab/Simulink
Commande par ordinateur
Transformée en Z
Simulation Matlab/Simulink
plan
Pourquoi ce cours ?
Les systèmes embarqués s’adressent à de nombreux domaines d’application et
beaucoup de ces domaines traitent et contrôlent des données issues du monde
physique :
1. il est important de savoir comment les spécialistes de ces domaines
procèdent pour pouvoir coopérer avec eux ;
2. les ordinateurs interagissant avec les systèmes physiques forment des
systèmes complexes qui acquièrent, par cette interaction, de nouvelles
propriétés : des changements mineurs du point de vue informatique peuvent
avoir des conséquences importantes du point de vue système ;
3. des langages et outils de simulation, d’origine automatique et traitement de
signal, deviennent par extension, des outils de programmation dont
l’importance croı̂t ; certains sont devenus des standards de fait (avionique,
automobile, . . .). Il est important de connaı̂tre et comprendre cette
« informatique venue d’ailleurs »
plan
Modèle d’un système physique
Une suspension de voiture
x
..
......
H
H
H
k H
a
a
.......
Forces en présence :
- ressort : −k(x − x0 )
f
- amortisseur : −f x0
- inertie : mx00
..
- force externe, pesanteur,...
bilan : équation différentielle
mx00 + f x0 + kx = u
normalisation :
x00 + 2zwx0 + w2 x = w2 u
– w pulsation propre
– z amortissement
plan
Résolution par transformée de Laplace
Z
X(s) = L(x) =
∞
x(t)e−st dt
0
propriétés :
– linéarité :
L(ax + by) = aL(x) + bL(y)
– transforme les équations différentielles en équations algébriques :
L(x0 ) = sL(x) − x(0)
– transforme les exponentielles en fractions rationnelles :
n
t −λt
1
L
e
=
n!
(s + λ)n+1
plan
Application
x00 + 2zwx0 + w2 x = w2 u ⇒ s2 X + 2zwsX + w2 X = w2 U
w2
X= 2
U
2
s + 2zws + w
Recherche de solutions :
– trouver les racines du dénominateur (pôles)
– décomposer en éléments simples et inverser la transformée.
Trois cas (réponse impulsionnelle U = 1) :
– z 2 < 1 : racines complexes conjuguées :
– z 2 = 1 : racine double
– z 2 > 1 : racines réelles
plan
– z 2 < 1 : racines complexes conjuguées :
X=
A
B
√
√
+
2
s + zw + iw 1 − z
s + zw − iw 1 − z 2
w2
w2
√
√
A=
, B=
2
−2iw 1 − z
2iw 1 − z 2
√
iw 1−z 2 t
√
−iw 1−z 2 t
w
−e
−zwt e
x= √
e
2
2i
1−z
p
w
−zwt
e
sin(w 1 − z 2 t)
x= √
1 − z2
régime oscillant (suspension trop molle) !
– z 2 = 1 : racine double
x = w2 te−wt
– z 2 > 1 : racines réelles
√
√
w
−w(z+ z 2 −1)t
−w(z− z 2 −1)t
x= √
(e
−e
)
2
z −1
(suspension trop dure) !
plan
Réponse en fréquence, spectre
A la mémoire de Joseph Fourier
u
U
X
X
B
= e−iwt
1
=
s + iw
1
= H
s + iw
1
= AH + B
s + iw
= H(−iw)
Les exponentielles complexes sont les vecteurs propres des opérateurs ;
H(−iw) est la valeur propre associée au vecteur propre e−iwt .
plan
Exemple de la suspension
H
H(−iw)
=
w02
s2 + 2zw0 s + w02
=
w02
−w2 − 2izw0 w + w02
H(−iw) est une fonction complexe de la fréquence d’ excitation w Elle se
décompose en amplitude et phase :
|H(−iw)| =
ArgH(−iw)
w02
p
(w02 − w2 )2 + 4z 2 w02 w2
2zw0 w
= Arctg 2
w0 − w2
les pages suivantes décrivent le spectre d’amplitude en fonction de w pour
w0 = 1 et des valeurs croissantes de z 2 = 0.5, 1, 2, 4.
plan
plan
Commande par rétro-action
Le système à commander : grue mono-dimensionnelle, linéarisée
X0
L
aL
L
L
KL
TA
AdX
→
- pesanteur : m g
- tension du cable :
mX =
→
→
− X) + m g
Projection sur l’axe vertical :
my 00
= k(y0 − y) − mg
Projection sur l’axe horizontal :
mx00
= k(x0 − x)
x00
=
= m gl
X
pg
avec w = l pulsation propre du pendule.
=
0
= kl − mg
k
aucun amortissement !
plan
− X)
- inertie : m X
?
→
k(X0
→
→
00
mg
→
00
→
k(X0
g
l (x0 − x)
w2
s2 +w2 X0
Notion de feedback
Commander en fonction de l’écart entre position désirée x0 et obtenue x :
b
x0
e
-+ g - C
6
e = x0 − x
?
+-g
H
+
x
-
x = H(Ce + b)
x = H(C(x0 − x) + b)
(1 + HC)x = H(Cx0 + b)
Calcul formel de ce diagramme !
x =
plan
HC
H
x0 +
b
1 + HC
1 + HC
x =
HC
H
x0 +
b
1 + HC
1 + HC
Idée de base : C grand
HC
H
≈1 ,
≈ 0 , x ≈ x0
1 + HC
1 + HC
Mais attention au pompage :
H=
w
2
s2 +2zws+w2
C=k



0
√
w =w 1+k
⇒
HC
w2 k
= 2
1 + HC
s + 2zws + w2 (1 + k)
z
z =√
1+k
0
k grand : le système devient de plus en plus oscillant.
plan
Commande PID
Pour réduire les oscillations, ajouter de la dérivée k 0 s
Pour rallier le but, ajouter de l’intégrale
C
k00
s
00
k
= k + k0 s +
s
Application à la grue (w = 1)
HC
k 0 s2 + ks + k 00
= 3
1 + HC
s + k 0 s2 + (k + 1)s + k 00
plan
Placement des pôles
Choix des paramètres : identification à un dénominateur
s3 + k 0 s2 + (k + 1)s + k 00
=
s3 + k 0 s2 + (k + 1)s + k 00
= s3 + (1 + 1.4w)s2 + (w2 + 1.4w)s + w2
(s + 1)(s2 + 1.4ws + w2 )
D’où
k 00 = w2 , k = w2 + 1.4w − 1 , k 0 = 1 + 1.4w
Par exemple
k 00 = 4 , k = 5.8 , k 0 = 3.8
plan
Simulation Matlab/Simulink
Scope
1
s2 +2s+1
Step
Transfer Fcn1
In1 Out1
1
s2 +1
SubSystem
Transfer Fcn
White Noise
5.8
Gain2
1
In1
4
Gain
3.8
Gain1
plan
1
s
Integrator
du/dt
Derivative
1
Out1
Résultats
Sans bruit
Avec bruit
1
2
1
0.5
0
0
0
5
10
15
20
25
30
1
0
5
10
15
20
25
30
0
5
10
15
20
25
30
1.5
1
0.5
0.5
0
0
Time offset: 0
plan
5
10
15
20
25
30
0
Time offset: 0
Commande par ordinateur
Et les ordinateurs dans tout ça ?
idée générale : schémas d’intégration à pas constant
– échantillonnage et fonctionnement périodique
deux techniques :
– construire un contrôleur continu et l’échantillonner ;
– échantillonner le système à contrôler et construire un contrôleur échantillonné
(théorie de la commande échantillonnée).
Dans tous les cas, il faut choisir la période.
plan
Commande échantillonnée
Fondée sur le parallèle
Modèle
Solutions
Transformée
Continu
Echantillonné
équations différentielles
équations aux différences
exponentielles
Z ∞
L(f ) =
f (t)e−st dt
puissances
∞
X
Z(f ) =
f (n)z −n
0
plan
Intégrale
s−1
Retard
e−T s
0
z
z−1
z −1
Propriétés de la transformée en z
– linéarité :
Z(ax + by) = aZ(x) + bZL(y)
– transforme les équations aux différences en équations algébriques :
Z(x(n + 1)) = z(Z(x) − x(0))
– transforme les puissances en fractions rationnelles :
Z(Cnk an−k ) =
plan
z
z−a
k+1
Choix de la période
Solution théorique :
Théorème de Shannon : la fréquence d’échantillonnage doit être supérieure à
deux fois la fréquence de coupure.
Solution pratique : analyse numérique
Théorème fondamental de l’analyse numérique
Théorème des accroissements finis : Pour tout x, t, il existe α ∈ [0, 1] tel que
x(t + T ) =
k
X
Ti
0
plan
T k+1 (k+1)
x (t) +
x
(t + αT )
i!
(k + 1)!
(i)
Exemple : schéma d’Euler
x(t + T ) ≈ x(t) + T x0 (t)
car
2
T
|x(t + T ) − (x(t) + T x0 (t))| ≤
supt |x00 (t)|
2
Application : exponentielle
x(t) = e−at
x00 (t) = a2 e−at ≤ a2
T 2 a2
0.14
≤ 0.01 ⇒ T ≤
2
a
En pratique on prend
T =
.
plan
0.1
a
Z, Laplace,. . .
1
est l’opérateur retard unité
z
Si on choisit un pas d’échantillonnage T on peut donc écrire :
1
= e−sT
z
On a alors l’approximation du premier ordre (développement limité)
e−sT ≈ 1 − sT
Donc, au premier ordre,
1 − sT
≈
1
z
1
z−1
sT ≈ 1 − =
z
z
z−1
s ≈
zT
plan
Z, Laplace et Euler
s≈
z−1
zT
Et Euler ?
Appliquons à une fonction de transfert H :
H(s) ≈ H(
z−1
)
zT
On est passé d’un système continu à un système échantillonné, implantable sur
calculateur
Cela correspond à la méthode d’Euler :
z−1
sx(s) ≈
x(z)
zT
x0 (t) ≈
plan
x(n) − x(n − 1)
T
Simulation Matlab/Simulink
5.8
Gain2
1
In1
4
Gain
Hold
Integrator
3.8
0.1
Gain1
plan
1
Out1
T
Discrete Filter
Résultats
Sans bruit
Avec bruit
1
3
2
0.5
1
0
0
0
5
10
15
20
25
30
1
0
5
10
15
20
25
30
0
5
10
15
20
25
30
1.5
1
0.5
0.5
0
0
5
10
15
20
25
30
Time offset: 0
comparables à ceux obtenus en continu
plan
0
Time offset: 0
Z et Lustre
5.8
Gain2
1
In1
4
Gain
Hold
Integrator
3.8
0.1
Gain1
Discrete Filter
Le même en Lustre :
y = 5.8*x + 4.0*yi + 3.8*yd ;
yi = T*x + (0.0 -> pre yi) ;
yd = (x - (0.0 -> pre x))/T ;
plan
1
Out1
T
De Z à Lustre
En transformée en Z
Tz
X
Yi =
z−1
D’où
(z − 1)Yi
zYi
Yi
= T zX
= T zX − Yi
1
= T X − Yi
z
Le même en Lustre :
yi = T*x + (0.0 -> pre yi) ;
plan
Conclusion
On note la parenté (filiation) entre Lustre et les méthodes de l’automatique :
Tous deux réfléchissent en termes de réseaux d’opérateurs agissant
globalement sur des signaux.
L’automatique linéaire a un calcul symbolique plus riche (fractions rationnelles)
mais limité au linéaire.
Lustre a aussi un calcul symbolique bien que plus restreint (commutation des
pre)
Cela explique sans doute la bonne acceptation de Lustre dans le monde de
l’automatique.
plan