4`
eme ann
ee AE
Semestre 2
e 2011-2012
Anne
TPs dAUTOMATIQUE 4`
eme ann
ee AE
1 Etude
dun asservissement de position
1.1 But de la manipulation . . . . . . . .
1.2 Rappels de cours . . . . . . . . . . . .
1.3 Manipulation . . . . . . . . . . . . . .
1.4 Realisation sur site reel . . . . . . . .
1.5 References bibliographiques . . . . . .
`
a relais
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
.
.
.
.
.
3
3
3
5
6
6
2 R
egulation de d
ebit dair LTR 701
2.1 Description de la manipulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.2 Modelisation et identification du processus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.3 Conception du retour detat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
8
8
9
9
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
3 R
egulation dun niveau deau par PID num
erique
3.1 But de la manipulation . . . . . . . . . . . . . . . .
3.2 Description du procede et de lenvironnement . . . .
3.3 Modelisation et identification du processus . . . . . .
3.4 Mise en place dun correcteur de type PID . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
11
11
11
13
15
4 Etude
dun asservissement de position
4.1 Presentation de la manipulation . . . .
4.2 Materiel utilise . . . . . . . . . . . . .
4.3 Manipulation . . . . . . . . . . . . . .
4.4 References bibliographiques . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
17
17
18
18
20
.
.
.
.
21
21
21
21
22
`
a relais
. . . . .
. . . . .
. . . . .
. . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
TPs dAUTOMATIQUE 4`
eme ann
ee AE
6.4
6.5
6.6
6.7
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
24
25
27
27
A xPC Target
28
A.1 Introduction et principes de fonctionnement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
A.2 Configuration dxPC Target . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
B Commande par retour d
etat
B.1 Introduction et principes de fonctionnement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
B.2 Obtention de la matrice K . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
B.3 References bibliographiques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
33
33
33
35
TPs dAUTOMATIQUE 4`
eme ann
ee AE
1
1.1
Etude
dun asservissement de position `
a
relais
But de la manipulation
1.2
Rappels de cours
G
en
eralit
es sur la m
ethode du Plan de Phase
0
++
+
+
+
++
9ROW
0
x
= f (x, x)
(1)
TPs dAUTOMATIQUE 4`
eme ann
ee AE
x = y
(2)
y = f (x, y)
Levolution depend donc de deux param`etres, la position x
et la vitesse x du syst`eme, que lon peut definir comme les deux
variables detat du syst`eme X = (x1 = x, x2 = x).
Levolution du syst`eme en fonction du temps pour des conditions initiales donnees est decrit par la trajectoire dite trajectoire de phase du plan P dans le plan de phase.
Lensemble des trajectoires de phase correspondant aux diverses conditions initiales (x0 , x 0 ) en P0 permises, constitue
le portrait de phase du syst`eme.
Propri
et
es particuli`
eres li
ees `
a la forme x 1 = x2
TPs dAUTOMATIQUE 4`
eme ann
ee AE
dv
=
dx
dv
dt
dx
dt
V*
+
- -
Vr
Sr
UHODLV
5HWRXU
WDFK\PpWULTXH
k2
9
.P
+ S
dv
dt
+
- V
Vr
Sr
UHODLV
5HWRXU
WDFK\PpWULTXH
Position d
equilibre dans le plan de phase : Les positions
dequilibre sont definies par v = x = 0 et x
= v = 0, et sont donc
sur laxe des abcisses.
k2
9
S
Ks
Kg
f (x, v)
v
V*
.P
+ S
.V
G9
GW
S
Kg
1.3
Manipulation
Etude
du syst`
eme sans correction tachym
etrique
(3)
TPs dAUTOMATIQUE 4`
eme ann
ee AE
V
Km Ks Sr
= 1 dV
ddt
dt +
9
dV
dt
le mode non-oscillant.
Remarque 2 Le choix du nombre diterations et de la valeur du
pas de calcul devra etre un bon compromis entre la precision du
trace et le temps dexecution.
Influence de la correction tachym
etrique sur le r
egime
transitoire
On met maintenant en place sur le syst`eme une boucle interne
de contre reaction (k2 non nul).
I Modifier votre mod`ele en consequence et verifier son bon
fonctionnement.
I Pour H = 5 , = 0 (hysteresis pur), trouver les equations
des droites de commutation.
I Identifier deux valeurs du taux de contre reaction qui correspondent lun `
a un regime non-glissant, lautre `
a un regime
glissant.
I Chercher experimentalement le taux de contre reaction limite et celui du regime optimum (origine atteinte apr`es une
seule commutation).
= V
1.4
R
ealisation sur site r
eel
1.5
R
ef
erences bibliographiques
TPs dAUTOMATIQUE 4`
eme ann
ee AE
TPs dAUTOMATIQUE 4`
eme ann
ee AE
R
egulation de d
ebit dair LTR 701
2.1
Description de la manipulation
TPs dAUTOMATIQUE 4`
eme ann
ee AE
P (s)
0.48
=
M (s)
1 + 0.6323s + 0.1001s2
(4)
Validit
e du mod`
ele
Afin de verifier la validite de la fonction de transfert (Equation 4), on se propose de comparer la reponse du syst`eme reel et
du syst`eme identifie `
a un echelon.
I Mettre en place un mod`ele simulink permettant de tracer
la reponse du syst`eme identifie `
a un echelon autour du point
de fonctionnement utilise lors de lidentification.
I Mettre en place un mod`ele simulink permettant de tracer
la reponse du syst`eme reel `
a un echelon autour du point de
fonctionnement utilise lors de lidentification. On se servira
de xPCTarget pour mettre en place ce test (voir Annexe
xPC Target).
I Comparer les deux reponses `
a un echelon de 5%, 10%, 20%
(depassement, temps de reponse, retard, valeur finale, etc).
Conclure sur la validite de la fonction de transfert proposee.
Eventuellement, proposer une meilleure fonction de transfert
pour modeliser le syst`eme.
2.2
Mod
elisation et identification du processus
Mod
elisation
On souhaite contr
oler ce syst`eme en debit dair grace `a la commande M de la vitesse du ventilateur produisant le flux dair. Le
debit dair est perturbe par le volet, que lon reglera 80%. Il est
egalement pertube, car il est chauffe par une resistance. La commande du chauffage sera reglee en interne, `a 10%.
Le mod`ele du syst`eme perturbe est non lineaire. On a donc
identifie le mod`ele sur un point de fonctionnement (M0 , P0 ), et
on cherchera dans cette manipulation `a mettre en place une commande par retour detat autour de ce point de fonctionnement.
2.3
Conception du retour d
etat
En approximant le syst`eme `
a un deuxi`eme ordre, le mod`ele
identifie en choisissant M0 = 80% et en effectuant un echelon de
TPs dAUTOMATIQUE 4`
eme ann
ee AE
10
TPs dAUTOMATIQUE 4`
eme ann
ee AE
R
egulation dun niveau deau par PID
num
erique
But de la manipulation
Lobjectif de cette manipulation est dillustrer les differents aspects de la commande dun processus par calculateur numerique :
modelisation et identification des param`etres du processus ;
synth`ese theorique dune commande ;
mise en oeuvre de la commande en temps reel du processus.
Le processus `
a commander est ici un reservoir de liquide dont
on veut reguler le niveau. Loutil de simulation est Matlab. La
mise en oeuvre numerique de la commande en temps reel est faite
dans lenvironnement logiciel XPC Target.
3.2
1
0
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
1
0
0
1
0
1
0
1
0
1
Qe
0
1
0
1
0
1
0
1
0
1
0
1
000000000000000000000
111111111111111111111
000000000000000000000
111111111111111111111
000000000000000000000
111111111111111111111
000000000000000000000
111111111111111111111
000000000000000000000
111111111111111111111
000000000000000000000
111111111111111111111
000000000000000000000
111111111111111111111
000000000000000000000
111111111111111111111
000000000000000000000
111111111111111111111
000000000000000000000
111111111111111111111
000000000000000000000
111111111111111111111
000000000000000000000
111111111111111111111
000000000000000000000
111111111111111111111
000000000000000000000
111111111111111111111
000000000000000000000
111111111111111111111
000000000000000000000
111111111111111111111
000000000000000000000
111111111111111111111
000000000000000000000
111111111111111111111
Qs
000000000000000000000
111111111111111111111
000000000000000000000
111111111111111111111
000000000000000000000
111111111111111111111
1111111
0000000
000000000000000000000
111111111111111111111
000000000000000000000
111111111111111111111
0000000000
1111111111
000000000000000000000
111111111111111111111
0000000000
1111111111
000000000000000000000
111111111111111111111
0000000000
0000000000000000000001111111111
111111111111111111111
11111111111
00000000000
Description du proc
ed
e et de lenvironnement
Le proc
ed
e
Le processus illustre Fig. 6 commande dans ce TP est un simple
reservoir cylindrique de section S. Lentree est le debit dentree Qe
et la sortie est le niveau X de fluide dans le reservoir. Un debit de
fuite Qs est assure `
a travers une vanne manuelle.
Qe est proportionnel `
a une tension de commande Qe = kq U .
Le niveau X est mesure par un capteur lineaire Xm = kc X.
TPs dAUTOMATIQUE 4`
eme ann
ee AE
Le PC h
ote sert dunite de developpement. A partir de
Matlab/Simulink, il est possible dengendrer directement lapplication temps reel (loi de commande dans notre cas). Il
fonctionne dans lenvironnement Windows habituel.
Le PC cible est oriente temps reel. Il est donc demarre
(`a laide dune disquette ou dune EPROM) non pas sur
DOS ou Windows mais sur un noyau temps reel specifique.
Ce noyau, entre autres choses, permet de recevoir et faire
executer le code engendre par le PC hote et dassurer la communication entre les deux machines (telechargement, mise en
marche, adaptation en ligne de param`etres, rapatriement de
donnees...). Enfin ce PC est equipe de cartes (dans notre cas
une carte National Instrument PC6424 avec convertisseurs
analogique/numerique et convertisseurs numerique/analogique) qui lui permettent de commander le processus `a reguler.
Pour lapplication consideree dans ce TP, on nutilise XPC Target que par lintermediaire dune interface ecrite en Matlab. Ainsi
la mise en boucle ouverte ou en boucle fermee, la mise en marche
ou en arret et la modification des param`etres ne demandent aucune manipulation particuli`ere (telle que la regeneration du code
pour la machine cible par exemple).
Description de linterface
Au cours de ce TP, XPC Target sera utilise par lintermediaire
dune interface ecrite en Matlab.
Cette interface permet la mise en boucle ouverte (Fig. 7) ou
en boucle fermee (Fig. 8) du processus. Le passage dune configuration `a lautre se fait au moyen dun menu deroulant.
R
eglages en Boucle Ouverte En boucle ouverte, il est possible de regler :
la periode dechantillonnage et la duree de lexperience
le point de fonctionnement U
lamplitude de lechelon de position U et son temps dapplication (temps au bout duquel lechelon sera applique)
12
TPs dAUTOMATIQUE 4`
eme ann
ee AE
R
eglages en Boucle Ferm
ee
Exploitation des r
esultats
3.3
Mod
elisation et identification du processus
Mod
elisation
Le mod`ele de ce syst`eme est non lineaire si lon consid`ere que
le debit de fuite Qs est de type turbulent et depend du niveau X
selon la relation :
Qs = X
Le bilan volumique conduit `
a:
dX =
1
(Qe Qs )dt
S
1
dX
X + Qe
=
dt
S
S
kq kc
kc p
dXm
=
Xm +
U
dt
S
S
soit :
p
dXm
= Xm + kU = f (Xm , U )
dt
(
avec :
=
k=
kc
S
kq kc
S
(5)
TPs dAUTOMATIQUE 4`
eme ann
ee AE
I Tracer la reponse `
a un echelon damplitude 0.5, puis damplitude 1, autour du point de fonctionnement U = 5. Pour
ce faire :
)
Le mod`ele linearise autour dun point de fonctionnement (U , Xm
est obtenu en developpant le mod`ele en serie de Taylor autour de
) tronqu
ee au premier ordre. Pour cela on definit :
(U , Xm
Xm = Xm Xm
U = U U
On a alors :
f
f
dXm
f (Xm , U ) +
Xm +
U
dt
Xm (Xm
U (Xm
,U )
,U )
dXm
p
Xm + kU
dt
2 Xm
La fonction de transfert valable autour du point de fonction ) s
nement (U , Xm
ecrit alors :
(
m
Xm (s)
K
T =2 X
G(s) =
=
avec :
(6)
U (s)
1 + Ts
K = kT
TPs dAUTOMATIQUE 4`
eme ann
ee AE
)
Mesure et Commande la valeur du point de fonctionnent (U , Xm
car les valeurs mesurees sont celles du procede reel et non de son
approximation lineaire.
3.4
Etude
th
eorique et simulation On veut etudier la stabilite du
syst`eme boucle pour differentes valeurs de la periode dechantillonnage (entre 1 et 20 secondes). Le logiciel de simulation utilise est
Matlab et on fait appel `
a loutil sisotool qui permet detudier un
syst`eme boucle selon le schema indique `
a lecran.
I Trouver theoriquement G(z) en discretisant G(s).
I Tracer la courbe critique de lauto-oscillation Te = f (Kp )
ou Kp = g(Te ) pour Te entre 1 et 20 secondes.
I Trouver le gain critique pour une periode dechantillonnage
Te = 4s.
I Creer la fonction de transfert discr`ete G(z) en utilisant la
commande tf .
I Lancer lapplication sisotool, importer dans G la fonction de
transfert discretisee du procede et rechercher manuellement
(poignee rouge) la valeur limite Klim pour laquelle le syst`eme
en boucle fermee devient theoriquement instable.
I Verifier ces resultats sous Simulink.
1
s
(7)
Les param`etres saisis sur lecran de controle sont ceux du correcteur continu (Eq. 7). On supposera que la phase de codage de
XPC Target utilise une discretisation de type avant (p = z1
Te )
pour realiser le correcteur numerique.
V
erification exp
erimentale On souhaite verifier experimentalement la perte de stabilite. Afin de realiser la manipulation suivante vous devez :
1. Commuter linterface en mode boucle fermee et selectionner
dans la partie commande uniquement le gain P .
) pour
2. Positionner les valeurs du couple (U , Xm
etre dans le
cas de letude considere ci-dessus.
Etude
de la stabilit
e dans le cas dun correcteur proportionnel P
Lobjectif est de rechercher theoriquement et experimentalement la limite de stabilite du syst`eme boucle avec un correcteur
15
TPs dAUTOMATIQUE 4`
eme ann
ee AE
Etude
de la pr
ecision dans le cas dun correcteur proportionnel P
Simulations
I Sous Matlab creer un correcteur discret (Te evidemment `
a
1 seconde) PI correspondant `
a Kp = 1 et Ki = 1.
I Lancer loutil rltool de Matlab et importer le syst`eme discretise dans G et le correcteur PI dans C. Regler ensuite manuellement la position de zpi (qui apparat comme un cercle
rouge) et le gain (poignee rouge) afin de positionner les p
oles
du syst`eme en boucle fermee le plus pr`es possible de lorigine.
I A laide du menu Compensators/Edit, relever les valeurs des
param`etres du correcteur. En deduire les valeurs correspondantes de Kp et Ki .
V
erification exp
erimentale
I Experimentalement, introduire sur lecran de contr
ole les
valeurs de Kp et Ki ainsi trouvees et etudier la reponse `
a un
echelon.
I Quobserve-t-on et pourquoi ne retrouve-t-on pas les resultats theoriques ?
R
eglage dun correcteur PI
Afin de corriger lerreur statique on se propose dinserer lintegrateur du PID.
Etude
th
eorique
R
eglage dun correcteur PID
Lajout de la partie integrale annule les erreurs statiques mais
introduit des oscillations. La mise en place dune partie derivee
aura pour effet de corriger ce travers.
I Experimentalement, chercher `
a regler les trois gains du correcteur pour annuler les erreurs statiques tout en minimisant
les oscillations.
I Conclure
1
(8)
s
I Montrer que le correcteur continu (Eq. 8) se discretise sous
la forme (Eq. 9) :
P I(s) = Kp + Ki
P I(z) =
Kpi (z + zpi )
z1
(9)
16
TPs dAUTOMATIQUE 4`
eme ann
ee AE
Etude
dun asservissement de position `
a
relais
4
4.1
Pr
esentation de la manipulation
But de la manipulation
module = Wl /Xl
argument =
Etude
de la stabilit
e dun asservissement non lin
eaire
boucl
e
Considerons le syst`eme de la figure 12.
La fonction de transfert generalisee en boucle ouverte de ce
syst`eme est :
s
= N (Xl ).L(j)
x
TPs dAUTOMATIQUE 4`
eme ann
ee AE
4.2
Mat
eriel utilis
e
4.3
Manipulation
Etude
des auto-oscillations. Trac
e du lieu critique
Il sagit de construire experimentalement le lieu critique correspondant `a un relais ayant des caracteristiques determinees, et
de comparer les resultats obtenus avec le lieu critique construit `
a
partir des formules mathematiques etudiees en cours.
18
TPs dAUTOMATIQUE 4`
eme ann
ee AE
V*
Pe
Sr
k1
- -
UHODLV
5HWRXU
WDFK\PpWULTXH
k2
.P
+ S
9
Rr
S
Ps
I Etude th
eorique : On prend k1 = 0.5. Tracer sous Matlab dans le plan de Nyquist le lieu de transfert de la partie
lineaire k1 .L(j). Lintersection du lieu critique 1/N (Xl )
avec le lieu lineaire k1 .L(j) donne lieu `
a une autooscillation
dont lamplitude est Xl = X0 , et la pulsation de pompage
vaut . Noter ces valeurs theoriques.
I Pour remettre loscilloscope en mode normal, faire Main
Delayed>Roll. Regler k1 `
a 0.5. Relever la tension crete `
a
crete (2X0 ), ainsi que la frequence pour ces auto-oscillations.
Comparer aux valeurs theoriques damplitude et de pulsation de pompage.
I En faisant varier lattenuateur calibre, on fait varier le gain
k1 de k1 L(j)) ; on determine un nouveau point dintersection avec le lieu critique et ainsi de suite. Confronter les
valeurs theoriques et experimentales damplitude et de pulsation de pompage pour les valeurs de k1 suivantes : 0.7, 0.6,
0.5, 0.4, 0.3. Commentaires ?
I A partir des donnees reelles obtenues et du procede connu,
tracer le lieu critique du relais.
I Que peut-on en conclure ?
Am
elioration des performances de lasservissement
Lin
earisation par balayage Caracteristique du relais H =
1V ; attenuateur k1 = 0.5.
I On prend `
a present le GBF que lon r`egle prealablement
pour obtenir une sortie sinusodale de frequence 50 HZ et
damplitude 0.2V.
I Le syst`eme etant en auto-oscillation, ajouter au signal derreur, sur une autre entree du relais, la tension delivree par le
GBF. Augmenter progressivement lamplitude. Quobservezvous ?
I Retrouver ce resultat avec Matlab.
I Conclusion
Mode op
eratoire
Il sagit de construire experimentalement le lieu critique pour
le relais avec hysteresis H = 1V
I Dans un premier temps, on veut verifier la caracteristique
du relais desiree. On prendra sur X lentree du relais, et
sur Y la sortie du relais. On reglera loscilloscope en mode
XY en appuyant sur Main Delayed>XY, et en se servant
du mode persistant de loscilloscope Display> Persist.
Observer la courbe Sr = f () apr`es avoir regle le seuil (dead
band) `
a zero, puis lhysteresis H `a la valeur correcte de 1 V
sur le module relais simule. La sortie Sr vaut 7.25V .
19
TPs dAUTOMATIQUE 4`
eme ann
ee AE
4.4
R
ef
erences bibliographiques
20
TPs dAUTOMATIQUE 4`
eme ann
ee AE
Commande numerique
Commande dun moteur electrique par ordinateur
5
5.1
But de la manipulation
5.2
Identification du proc
ed
e
On dispose dun moteur electrique, que lon souhaite commander par xPC Target sous Simulink. Pour une presentation dxPC
Target, se referer `
a lannexe A. Seule une voie CAN (bloc Simulink PCI-6024E AD) pour acquerir le signal de sortie et une voie
CNA (bloc Simulink PCI-6024E DA) pour envoyer le signal de
commande sont utiles. Le signal issu des capteurs correspond `a
une tension comprise entre -10.0 et +10.0 volts. De meme les valeurs de sorties qui attaquent les CNA doivent etre comprises dans
cette meme plage de valeurs. On pourra donc rajouter un saturateur pour ne pas depasser les valeurs permises.
Le moteur est modelise par un premier ordre
G(p) =
5.3
R
egulation num
erique avec correcteur proportionnel
Km
1 + p
TPs dAUTOMATIQUE 4`
eme ann
ee AE
yc,k
uk
yk
Rgulateur proportionnel
numrique
B0(s)
G(s)
y(t)
5.4
Etude th
eorique
On desire realiser une commande bouclee dun procede de fonction de transfert echantillonnee G(z) avec un correcteur discret
R(z) selon le schema de la figure 16.
TE
yc,k
uk
R(z)
yk
G(z)
(10)
Etude de stabilit
e
I En recherchant les conditions de stabilite limite (stabilite
simple), calculer et representer la courbe de stabilite critique :
K = f (TE )
(11)
o`
u le param`etre d =
r
TE
o`
u K represente le gain du regulateur proportionnel et TE
la periode dechantillonnage.
I Pour la periode dechantillonnage T = 0, 35s, donner la
valeur du gain Klim correspondant `a la limite de stabilite.
Verifier en simulation avec votre application Simulink puis
verifier experimentalement ce resultat.
22
TPs dAUTOMATIQUE 4`
eme ann
ee AE
6.2
Pr
esentation de la maquette
unique place sur un resonateur `
a quartz. Concr`etement, ce capteur
gyroscopique mesure le nombre de degres par seconde ainsi que la
direction de la rotation.
Le fonctionnement du robot est gere par un microprocesseur
32 bits ARM7.
Pour une presentation plus detaillee du robot et de son mod`ele,
se referer `a lannexe.
TPs dAUTOMATIQUE 4`
eme ann
ee AE
6.3
Pr
esentation du dossier RobotPendule
6.4
Pr
esentation du mod`
ele Simulink du robot
Le mod`ele Simulink fourni va permettre dune part de simuler le comportement du robot, dautre part deffectuer facilement
la chane de conception et implementer une commande sur le microprocesseur du robot. Une presentation detaillee du mod`ele est
donnee en annexe.
Le mod`ele Simulink principal est nxtway gs.mdl (voir Figure 18).
24
TPs dAUTOMATIQUE 4`
eme ann
ee AE
6.5
Manipulation
Commande LQR
Simulation Dans une premi`ere approche, on souhaite contr
oler
le robot par retour dEtat. Afin de determiner le gain de ce retour
detat, on utilise les principes de commande LQR (pour plus dinformations concernant cette commande regarder lannexe). Pour
cela, vous devez effectuer les t
aches suivantes pour plusieurs valeurs des matrices de ponderation Q et R :
I Completer le fichier matlab param controller. Il vous suffit
de definir les matrices de ponderation QQ et RR. Ce fichier
vous calcule le gain de retour detat appele KK ici.
I Modifier le simulink du controller, pour cela, ouvrir le fichier
nxtway gs controller.mdl, cliquer sur nxtway app, puis sur
Balance & Drive Control, puis sur Controller. Sur ce fichier, vous disposez de plusieurs donnees :
x1 ref consigne de mod`ele detat
theta ref consigne pour langle dinclinaison des roues
x1 mesure de mod`ele detat
theta mesure pour langle dinclinaison des roues
TPs dAUTOMATIQUE 4`
eme ann
ee AE
Action int
egrale
Lorsquon effectue une commande par retour detat, lerreur
statique nest pas forcement nulle. Ceci nest generalement pas
genant dans la mesure o`
u lobjectif poursuivi est une regulation.
Neanmoins, dans le cas o`
u lobjectif consiste `a suivre une trajectoire, on peut alors proceder de la meme mani`ere que pour
les syst`emes asservis classiques en inserant un integrateur dans la
chane directe comme illustre sur la figure 25.
On propose dans cette partie dintroduire cet integrateur dans
la fonction de commande du robot.
Une explication succinte de la theorie est donnee en annexe B.
I Completer le schema bloc de la commande pour mettre en
place laction integrale.
I Definir le syst`eme augmente et calculer une valeur de Ki
permettant de reduire lerreur statique par la methode lqr.
I Tester le comportement du robot en simulation. Comparer
avec les resultats precedents. On effectuera un tableau
26
TPs dAUTOMATIQUE 4`
eme ann
ee AE
r
esultats, de mani`
ere `
a conclure sur des coefficients
optimaux.
I Implementer la meilleure commande en reel sur le robot.
Tester. Regarder les effets des perturbations sur votre reglage.
Placement de p
oles avec action int
egrale
On propose dans cette partie dintroduire un integrateur dans
la fonction de commande du robot en conservant la commande par
placement de p
oles.
I Reprendre le schema bloc de la commande pour mettre en
place laction integrale.
I Definir le syst`eme augmente et calculer une valeur de Ki
permettant de reduire lerreur statique avec la fonction place
de Matlab.
I Tester le comportement du robot en simulation. Comparer
avec les resultats precedents. On effectuera un tableau
comparatif des r
esultats. Trouver une valeur de Ki qui
vous semble optimale.
I Implementer cette commande en reel sur le robot. Tester.
Regarder les effets des perturbations sur votre reglage.
6.6
Conclusion
6.7
R
ef
erences bibliographiques
F Notice NXTway-GS Model-Based Design - Control of selfbalancing two-wheeled robot built with LEGO Mindstorms
NXT, Yorihisa Yamamoto.
27
TPs dAUTOMATIQUE 4`
eme ann
ee AE
ANNEXE
xPC Target
A
A.1
xPC Target
La cible est equipee dun moniteur sur lequel sont visualises
deux types dinformation : des informations liees `
a lexecution
temps reel de lapplication en cours (nom de lapplication, temps
courant, periode d ?echantillonnage . . . ) ainsi quun rapport sur
lexecution des commandes envoyees par le PC h
ote (adaptation
de param`etres, mise en marche, . . . ). Le second groupe dinformations est graphique et depend de lapplication.
La Figure 22 presente les trois entites manipulees en TP : le PC de
developpement avec Matlab/Simulink, le PC cible et le syst`eme `
a
controler.
A.2
Demarrez le PC cible.
1. Cr
eation de la communication entre le PC h
ote et
le PC cible : Il sagit de configurer lenvironnement logiciel
28
TPs dAUTOMATIQUE 4`
eme ann
ee AE
Ouvrez larborescence appelee TargetPC1. Selectionnez longlet appele Communication. Il faut maintenant specifiez le
type de communication. Il sagit ici dune liaison Ethernet.
Dans le menu deroulant Host Target Communication choisir TCP/IP. Il faut alors fournir ladresse IP (Target PC IP
address), le port (TCP/IP Target Port), le masque de sousreseau (LAN subnet mask address), ladresse du Gateway
(TCP/IP gateway address) et le driver (TCP/IP Target Driver) de votre PC Cible. Tous ces renseignements se trouvent
29
TPs dAUTOMATIQUE 4`
eme ann
ee AE
pilateur sera VisualC. Specifiez le chemin dacc`es au compilateur C :\Program Files\Microsoft Visual Studio 9.0.
30
TPs dAUTOMATIQUE 4`
eme ann
ee AE
Dans le paragraphe Solver options : Choisissez FixedStep dans Type. Mettez Discrete dans Solver. Tapez
Te dans Fixed-Step size. Sauvegardez vos modifications
en cliquant sur le bouton Apply. Vous devez avoir lecran
suivant :
TPs dAUTOMATIQUE 4`
eme ann
ee AE
32
TPs dAUTOMATIQUE 4`
eme ann
ee AE
ANNEXE
Commande par retour detat
B
B.1
xref
x Ax Bu
rg(Mc ) = n
(15)
n1
Mc = [B, AB, . . . A
B]
(16)
B.2
(13)
x(t)
= (A BK)x(t) + BKxref
(14)
Obtention de la matrice K
TPs dAUTOMATIQUE 4`
eme ann
ee AE
x>
N SxN
N
X
x>
k Qxk
u>
k Ruk
!
(17)
k=0
Kk = R1 B > Pk
(18)
o`
u PN = S et P est une matrice solution de lequation dite de
Riccati :
h
i1
Pk = Q + A> Pk+1 I + BR1 B > Pk+1
A
(19)
Si lhorizon est suffisant grand (infini) alors la solution devient
stationnaire et la matrice K correspondante est solution de :
h
i1
P = Q + A> Pk+1 I + BR1 B > P
A
(20)
34
TPs dAUTOMATIQUE 4`
eme ann
ee AE
chane directe. On consid`ere donc une commande de la forme2 :
Z t
(y(t) yref )dt
(24)
u(t) = Kf (x(t) xref ) + Ki
(22)
De la meme mani`ere, on peut montrer que pour un horizon infini la matrice P devient stationnaire (P = 0) et quune solution
constante pour la matrice P peut etre trouvee en resolvant :
P BR
>
>
B P PA A P Q = 0
(23)
x = Ax + Bu
(25)
y = Cx
(26)
Les param`etres de choix sont les poids des matrices pour letat
Q, la commande R, et S. Les matrices sont choisies diagonales. S
est prise generalement egale `
a lidentite. Une solution generalement
adoptee pour avoir dej`
a une indication des ordres de grandeur de
ces coefficients est de les determiner grace au mod`ele. On proc`ede
ensuite par essai erreur. La fonction lqr de Matlab permet dobtenir le gain de retour avec la methode LQ.
x(t)
z(t)
=
A 0
C 0
x(t)
z(t)
+
B
0
u+
0
C
xref
(28)
B.3
R
ef
erences bibliographiques
F Notice NXTway-GS Model-Based Design - Control of selfbalancing two-wheeled robot built with LEGO Mindstorms
NXT, Yorihisa Yamamoto.
F Realisation, reduction et commande des syst`emes lineaires,
A. Rachid, D. Medhi, Technip, Collection Methodes et techniques de lingenieur (Paris)
2
Les ouvrages sur la theorie de la commande decrivent habituellement cette
commande avec xref = 0. On gardera ici lexpression de xref pour ameliorer
les performances de suivi.
35
TPs dAUTOMATIQUE 4`
eme ann
ee AE
36
3 NXTway-GS Modeling
Tl
Tr
Figure 3-2 shows side view and plane view of the two wheeled inverted pendulum. The coordinate system used
in 3.2 Motion Equations of Two-Wheeled Inverted Pendulum is described in Figure 3-2.
zb
M , J\
yl
L
H 2
Tm
l, r
Tl, r
zm
yb
ym
yr
m, J w
xl
T l ,r
Figure 3-2
xm xb xr
Tm
l ,r
: DC motor angle
-6-
The translational kinetic energy T1 , the rotational kinetic energy T2 , the potential energy U are
9.81
[ m / sec 2 ]
Gravity acceleration
0.03
[kg ]
Wheel weight
0.04
Wheel radius
[ kgm ]
[m ]
2
JW
mR 2
0 .6
[kg ]
Body weight
0.14
[m ]
Body width
T1
1
1
1
2
2
2
2
2
2
2
2
2
m x l y l z l m x r y r z r M x b y b z b
2
2
2
T2
1
1
1
1
1
1
2
2
J wTl J wTr J \ \ 2 J I I 2 n 2 J m (Tl \ ) 2 n 2 J m (Tr \ ) 2
2
2
2
2
2
2
(3.7)
(3.8)
(3.6)
0.04
[m ]
Body depth
The fifth and sixth term in T2 are rotation kinetic energy of an armature in left and right DC motor. The
0.144
[m ]
Body height
H 2
[m ]
[ kgm 2 ]
T1 T2 U
J\
ML2 3
JI
M W 2 D 2 12
[ kgm 2 ]
Jm
1u10 5
[ kgm 2 ]
6.69
[: ]
DC motor resistance
Kb
0.468
[V sec rad ]
Kt
0.317
[ Nm A]
T
\
Rm
Gear ratio
fm
0.0022
fW
n 1
(3.9)
We use the values that seems to be appropriate for J m , n, f m , f W , because it is difficult to measure.
d wL wL
dt wT wT
d wL wL
dt w\ w\
d wL wL
dt wI wI
(3.10)
FT
(3.11)
F\
(3.12)
FI
We can derive motion equations of two-wheeled inverted pendulum by the Lagrangian method based on the
coordinate system in Figure 3-2. If the direction of two-wheeled inverted pendulum is x-axis positive direction
at t
T , I
R
1
T r T l
T l T r
W
2
x
ym ,
xl ,
y l , z l x m sin I ,
2
ym
x r ,
y r , z r x m sin I ,
2
ym
yb , z b
m dt ,
y m dt , R ,
xm L sin\ cosI ,
x m ,
y m
RT cos I
RT sin I
(3.2)
cos I , z m
2
(3.3)
cos I , z m
2
(3.4)
1
W
2
J w n 2 J m ML2 sin 2 \ I 2 ML2\I sin \ cos\
mW J I
2R 2
(3.5)
-8-
(3.13)
x m ,
xb ,
zm
(3.1)
FI
F\
(3.14)
(3.15)
In consideration of DC motor torque and viscous friction, the generalized forces are given as the following
, F\ , FI Fl Fr , F\ ,
t r
W
Fr Fl
2R
(3.17)
(3.18)
F\
(3.16)
(3.19)
We cannot use the DC motor current directly in order to control it because it is based on PWM (voltage)
control. Therefore, we evaluate the relation between current il , r and voltage v l , r using DC motor equation. If
vl ,r K b (\ Tl ,r ) Rm il ,r
(3.20)
T
T
T
E F G
\
\
\
Here we consider that the motor inductance is negligible and is approximated as zero. Therefore the current is
il , r
vl ,r K b (\ Tl ,r )
(3.21)
Rm
D v l v r 2E f w T 2 E\
(3.22)
F\
D vl v r 2ET 2E\
(3.23)
FI
W
W2
E f w I
D v r v l
2R
2R 2
(3.24)
nK t
, E
Rm
nK t K b
fm
Rm
(3.25)
-9-
(3.26)
I
(3.27)
(3.28)
FI
v
H l
v r
2m M R 2 2 J w 2n 2 J m
MLR 2n 2 J m
E f w E
2
E
E
(3.29)
MLR 2n 2 J m
ML2 J \ 2n 2 J m
0
0
0 MgL
D
D
H
D D
From Eq.(3.21), the generalized force can be expressed using the motor voltage.
FT
Eq. (3.26) and Eq. (3.27) has T and \ , Eq. (3.28) has I only. These equations can be expressed in the form
the friction inside the motor is negligible, the DC motor equation is generally as follows
Lm il ,r
1
W2
2
J w n2 Jm
mW J I
2R 2
2
FT
F\
II JI
K (v r v l )
(3.30)
1
W2
I
mW 2 J I
J w n2 Jm
2
2R 2
W2
E f w
J
2R 2
W
D
K
2R
- 10 -
Here we consider the following variables x 1 , x 2 as state, and u as input. x T indicates transpose of x .
x1
>T ,
\ , T, \ @ , x 2
>I , I@ ,
>vl ,
vr @
(3.31)
Consequently, we can derive state equations of two-wheeled inverted pendulum from Eq. (3.29) and Eq. (3.30).
x 1
A1 x 1 B1u
(3.32)
x 2
A2 x 2 B2 u
(3.33)
A1
0
0
A2
1
0
0 J I , B 2
A1 (3,2)
A1 (4,2)
A1 (3,3)
A1 (4,3)
A1 (3,4)
A1 (4,4)
0
0
1
0
A1 (3,2)
A1 (4,2)
A1 (3,3)
A1 (4,3)
, B1
A1 (3,4)
A1 (4,4)
0
1
0
K I
0
0
0
0
B1 (3) B1 (3)
B1 (4) B1 (4)
0
K I
(3.35)
(3.34)
- 11 -
5 NXTway-GS Model
Environment
This subsystem defines environmental parameters. For example, map data, gyro offset value, and so on.
- 16 -
Reference Generator
Controller
This subsystem is a reference signal generator for NXTway-GS. We can change the speed reference and the
rotation speed reference by using Signal Builder block. The output signal is a 32 byte data which has dummy
This block is NXTway-GS digital controller and references nxtway_gs_controller.mdl with Model block. Refer
7 Controller Model (Single Precision Floating-Point Arithmetic) for more details.
Figure 5-3
Figure 5-4 shows a relation between speed and rotation speed reference value and PC game pad analog sticks.
Figure 5-5
The Controller block runs in discrete-time (base sample time = 1 [ms]) and the plant (NXTway-GS subsystem)
Forward Run
(- GP_MAX)
Backward Run
(+ GP_MAX)
Discrete-Time (1 [ms])
Left Turn
(- GP_MAX)
Right Turn
(+ GP_MAX)
Hold
(Disc
Cont)
Sampling
(Cont
Disc)
Figure 5-6
- 17 -
- 18 -
NXTway-GS
This subsystem is mathematical model of NXTway-GS. It consists of sensor, actuator, and linear plant model.
The plant references nxtway_gs_plant.mdl with Model block. Refer 6 Plant Model for more details.
Viewer
This subsystem includes simulation viewers. nxtway_gs.mdl includes a position viewer with XY Graph block,
and nxtway_gs_vr.mdl does 3D viewer provided by Virtual Reality Toolbox.
File Name
Description
param_controller.m
param_controller_fixpt.m
param_nxtway_gs.m
param_plant.m
param_sim.m
param_nxtway_gs.m calls param_***.m (*** indicates controller, plant, sim) and creates all parameters in base
workspace. Model callback function is used to run param_nxtway_gs.m automatically when the model is
loaded.
To display model callback function, choose [Model Properties] from the Simulink [File] menu.
Figure 5-8 Viewer subsystem (nxtway_gs.mdl)
- 19 -
- 20 -
6 Plant Model
6.2 Actuator
Actuator subsystem calculates the DC motor voltage by using PWM duty derived from the controller.
Considering the coulomb and viscous friction in the driveline, we model it as a dead zone before calculating the
voltage.
The NXTway-GS subsystem consists of sensors, actuators, and linear plant model. It converts the data type of
input signals to double, calculates plant dynamics using double precision floating-point arithmetic, and outputs
the results after quantization.
Physical
Value
Integer
Value
Maximum voltage
calculation with
battery voltage
DC motor maximum voltage is necessary to calculate PWM duty. In the Cal vol_max subsystem, we use the
following experimental equation which is a conversion rule between the battery voltage V B and the maximum
DC motor voltage V max .
Integer
Value
Physical
Value
Double Precision Floating-Point Arithmetic
Figure 6-1 NXTway-GS subsystem
Vmax
0.001089 u V B 0.625
(6.1)
We have derived Eq. (6.1) as the following. Generally speaking, DC motor voltage and rotation speed are
proportional to battery voltage. Figure 6-3 shows an experimental result of battery voltage and motor rotation
speed at PWM = 100% with no load.
Figure 6-3
Experimental result of battery voltage and motor rotation speed at PWM = 100%
Eq. (6.1) is derived by relating Figure 6-3 and the data described in the reference [1].
- 21 -
- 22 -
6.3 Plant
6.4 Sensor
nxtway_gs_plant.mdl is a model of the state equation derived in 3.3 State Equations of Two-Wheeled
Sensor subsystem converts the values calculated in plant subsystem to several sensor outputs. Because the
Inverted Pendulum. It is referenced in Enabled Subsystem with Model block. Considering the calibration of
computation cost of distance (an output of ultrasonic sensor) calculation and wall hit detection are heavy, we cut
gyro offset, the plant is modeled so as to start calculation after gyro calibration. Refer 7.1 Control Program
the computation steps by inserting Rate Transition blocks. Refer Appendix B.3 for more details about the
Plant subsystem
- 23 -
- 24 -