Você está na página 1de 28

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 Forces en présence :
..
...... - ressort : −k(x − x0 )
HH

- amortisseur : −f x0

k H
H f

a.......
a .. - 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 2
U
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 :
A B
X= √ + √
s + zw + iw 1 − z 2 s + zw − iw 1 − z 2
w2 w2
A= √ , B= √
−2iw 1 − z 2 2iw 1 − z 2
√ √
iw 1−z 2 t −iw 1−z 2 t
w −zwt e −e
x= √ e
1−z 2 2i
w −zwt
p
x= √ e sin(w 1 − z 2 t)
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 = e−iwt
1
U =
s + iw
1
X = H
s + iw
1
X = AH + B
s + iw
B = 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

w02
H =
s2 + 2zw0 s + w02
w02
H(−iw) =
−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 :

w02
|H(−iw)| = p
(w02 − w2 )2 + 4z 2 w02 w2
2zw0 w
ArgH(−iw) = 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 - pesanteur : m g
L → →
TA
KL
AdX - tension du cable : k(X0 − X)

mg 00
? - inertie : m X
→ → → →
00
mX = k(X0 − X) + m g

Projection sur l’axe vertical : Projection sur l’axe horizontal :


my 00 = k(y0 − y) − mg mx00 = k(x0 − x)
g
0 = kl − mg x00 = l (x0 − x)
w2
= m gl
k X = s2 +w2 X0
pg
avec w = l pulsation propre du pendule.
aucun amortissement !
plan
Notion de feedback

Commander en fonction de l’écart entre position désirée x0 et obtenue x :


b e = x0 − x
x0 e +- x
-+ g - C -g?
H - x = H(Ce + b)
- +
6 x = H(C(x0 − x) + b)
(1 + HC)x = H(Cx0 + b)
Calcul formel de ce diagramme !

HC H
x = x0 + b
1 + HC 1 + HC

plan
HC H
x = 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 :


2
w
H= s2 +2zws+w2
 HC w2 k
⇒ = 2
C=k  1 + HC s + 2zws + w2 (1 + k)

0
√ 0 z
w =w 1+k z =√
1+k
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
k00
Pour rallier le but, ajouter de l’intégrale s

00
k
C = 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 = (s + 1)(s2 + 1.4ws + w2 )


s3 + k 0 s2 + (k + 1)s + k 00 = s3 + (1 + 1.4w)s2 + (w2 + 1.4w)s + 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 1
In1 Out1
s2 +2s+1 s2 +1
Step Transfer Fcn1 SubSystem Transfer Fcn

White Noise

5.8

Gain2

1
1 Out1
1 4
s
In1
Gain Integrator

3.8 du/dt

Gain1 Derivative

plan
Résultats

Sans bruit Avec bruit


1 2

1
0.5
0

0
0 5 10 15 20 25 30 0 5 10 15 20 25 30

1 1.5

1
0.5
0.5

0 0
0 5 10 15 20 25 30 0 5 10 15 20 25 30

Time offset: 0 Time offset: 0

plan
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

Continu Echantillonné
Modèle équations différentielles équations aux différences
Solutions exponentielles puissances
Z ∞ ∞
X
Transformée L(f ) = f (t)e−st dt Z(f ) = f (n)z −n
0 0
z
Intégrale s−1
z−1
Retard e−T s z −1

plan
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 :


 k+1
z
Z(Cnk an−k ) =
z−a

plan
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
k
X Ti (i) T k+1 (k+1)
x(t + T ) = x (t) + x (t + αT )
0
i! (k + 1)!

plan
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
0.1
T =
a
.
plan
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
1 − sT ≈
z
1 z−1
sT ≈ 1 − =
z z
z−1
s ≈
zT
plan
Z, Laplace et Euler
z−1
s≈
zT
Et Euler ?
Appliquons à une fonction de transfert H :

z−1
H(s) ≈ H( )
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

x(n) − x(n − 1)
x0 (t) ≈
T
plan
Simulation Matlab/Simulink
5.8

Gain2

1
T
1 4 Out1
In1
Gain Hold
Integrator

3.8
0.1
Gain1 Discrete Filter

plan
Résultats
Sans bruit Avec bruit
1 3

0.5 1

0
0 5 10 15 20 25 30 0 5 10 15 20 25 30

1 1.5

1
0.5
0.5

0 0
0 5 10 15 20 25 30 0 5 10 15 20 25 30

Time offset: 0 Time offset: 0

comparables à ceux obtenus en continu

plan
Z et Lustre
5.8

Gain2

1
T
1 4 Out1
In1
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
De Z à Lustre
En transformée en Z

Tz
Yi = X
z−1

D’où

(z − 1)Yi = T zX
zYi = T zX − Yi
1
Yi = 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

Você também pode gostar