AUSSENAC OLIVIER 2A Energie
CHANTREL CEDRIC série C
BE ASSERVISSEMENT DE LA POSITION D’UNE BE ASSERVISSEMENT DE LA POSITION D’UNE
BILLE SUR UN RAIL BILLE SUR UN RAIL
ASSERVISSEMENT NUMERIQUE EN POSITION DE LA BILLE :
o Du temps continu au temps discret BE3
o Correcteurs de type PID BE4
o Correcteurs de type RST
BE5
1. OBJECTIF
L’objectif est de numériser un correcteur conçu pour un asservissement en temps continu de la position de la bille sur le rail. Pour y parvenir, il est proposé de raisonner tout d’abord comme si le système était en temps continu pour concevoir un correcteur permettant d’atteindre l’objectif de l’asservissement en position de la bille (temps de réponse de 5s), puis de numériser ces correcteurs.
Pratiquement, le correcteur est réalisé par un calculateur numérique (un PC). La mesure de position de la bille Ux arrive sur un convertisseur analogique numérique (CAN) délivrant une information toutes les 200ms. Un convertisseur numérique analogique (CNA), de type bloqueur d’ordre 0, est placé au niveau de la consigne d’angle Uc.
2. ASSERVISSEMENT TOTALEMENT ANALOGIQUE
Le temps de réponse du moteur est de 100 ms, alors que le temps de réponse de la position de la bille est de 5 s. On peut donc assimiler l’asservissement de l’angle à son gain statique. (
1 0 , 035
2
K
)identique au BE précédent 2.1 SCHÉMAFONCTIONNEL
On va maintenant étudier les différents type de correcteur.
2.2 ETUDEDUCORRECTEUR PI Calcul de la FTBF :
Correcteur de type PI : C(p) K .(1 τ1.p)
pi
pi
.p) τ
(1 K
On remarque que dans la FTBO il y a un terme en
p
3ce qui un implique un déphasage de 270° , Notre système sera normalement instable. Vérifions avec le critère de Routh.Calcul de la FTBF : 3
1 2 pi pi
pi
. . . .p τ
τ 1
.p) τ (1
K p K K K FTBF
b
pi
On remarque qu’il n’y a pas de terme en p² dans la FTBF ce qui traduit une instabilité de notre FT d’après le critère de Routh. On n’utilisera donc pas de correcteur de type PI.
2.3 ETUDEDUCORRECTEURÀAVANCEDEPHASE
Correcteur de type avance de phase : 1 T.p .p α.T K 1
a a a
, avec :
Ka = gain statique réel
= facteur d’avance (réel > o)
Ta = constante de temps de dérivation (réel > o)
Calcul de la FTBO K .K .K (1 α.T.p) K .(1 T.p).p² .p)
α.T (1 .K .K FTBO K
a 2
a 1.
b a
a 1.
b a
Calcul de la FTBF 3
1.
b a
a 2 1.
b a a 2
a
.K .p .K K K .T .K .p²
.K K K .p
α.T 1
.p α.T FTBF 1
On met le dénominateur de la FTBF sous la forme : (1τd.p)n On en déduit que n=3
d’où : d. d d.3 3
3 1.
b a
a 2 1.
b a
a 2
.p 1 3.τ p 3.τ ².p² τ p
.K .K K K .T .K .p²
.K K K .p
α.T
1
On détermine d pour obtenir un temps de réponse de 5s. Or pour un système du troisième ordre on a τd 6tr.3
793 . 0 τd
On détermine maintenant , Ka, et Ta en faisant un petit calcul sous mathcad
d0.793 kb6.1 k228.65 k17
1 a p p2 k2 kb k1 ka
p3 a k2
kb k1 ka
1d p 3 13dp 3d2p2d3p3
ka 1 3
k2 kb k1
d2
d3 a k2 kb k1 ka
a d3
k2kbk1ka
3d a
3 d
a
ka 0.356 a0.264 9
Schéma :
On obtient un temps de réponse de 5.1 s et un dépassement de 28%. Nous commenterons c’est valeur une fois que l’on aura fait les asservissements numériques.
3. ASSERVISSEMENT NUMERIQUE
Nous allons maintenant numériser le correcteur à avance de phase différentes méthodes.
Comme pour le calcul de l’asservissement précédent , on simplifie la boucle d’asservissement de l’angle du rail à son seul gain statique 1/k2 pour effectuer les calculs des différentes méthodes.
La période d’échantillonnage est Te = 0.2 s, et on choisit un échantillonneur bloqueur d’ordre 0.
On a C(p) : K 11α.TT.p.p
a a a
avec =9, Ka=0.356, et Ta=0.264
Méthode d’Euler : approximation du rectangle supérieur.
Dans cette méthode on remplace p par : Te.z-1z
a a e
a a
e A
e a
e a
A T .z T.z T
α.T .z α.T .z K T
.z T
1 - T z 1
.z T
1 - α.T z 1 K
C(z)
a e
a e
a e
a e
a a e
a a
A e
T T T T α.T T α.T T
T T T z.
α.T α.T
T K z.
C(z)
a e
a a e
a
a e
a A e
T T T z
α.T T α.T z
T T α.T K T
C(z)
T=Te=0,2s.
On obtient alors : C(z)1.98*zz-0,9220,569
Méthode d’Euler : approximation du rectangle inférieur.
Dans cette méthode on remplace p par : Tez-1
a a a a
a e a
a e a
A e e
e a
e a A
T T α.T α.T T
.z T
T α.T .z α.T K T
T T T - 1 T z 1
T - 1 α.T z K 1
C(z)
a e a
a e a
a A a
T - T z T
α.T α.T z T
α.T T K
C(z)
a e a e A
T T 1 z
α.T T 1 z α K C(z)
avec T=Te=0,2s.
On obtient alors : C(z)3,2* zz-0,9160,243
Méthode de Padée : approximation trapézoïdale.
Dans cette méthode on remplace p par : .( 1) 1) 2.(z-
z Te
z 1 2 . T . z - 1 .
T
1 - z . α.T . 2 1 z . K T 1 z 1 T 2 z T 1
1 z 1 T 2 z α.T K 1
C(z)
e a e a A e
a e a
A
a e
a e
a e
a e
a e a e
a e
a A e
T . 2 T 2 . T T 2 . α.T T 2 . α.T T
T . 2 T T . 2 T
z. T 2 . α.T T 2 . α.T K z.
C(z)
a e
a e
a e
a e
a e
a A e
T . 2 T 2 . T z T
α.T . 2 T T 2 . α.T z
T . 2 T 2 . α.T K T
C(z)
avec T=Te=0,2s.
On obtient alors : C(z) 2,42*zz-0,9190,45
3.1 Comparaison des 3 méthodes de numérisation :
A fin de comparer ces méthodes nous allons réaliser une simulation.
Consigne
Rectangle supérieur Trapézoïdale
Rectangle inférieur
Comparaisons des correcteurs :
Correcteur Dépassement Temps de réponse à 5%
Analogique 28% 5,1s
Rectangle supérieur 45% 4,2s Rectangle inférieur 25% 5,1s
Trapézoîdale 35% 4,6s
même signification des couleur que pour les deux graphes ci dessus.
Il n’est pas si simple de faire un choix par mis les correcteurs ci dessus. Si on considère comme principale caractéristique le temps de réponse, on peut tout de suite éliminer le correcteur qui a été déterminer par la méthode des rectangles inférieurs.
Il nous reste donc à faire le choix entre le correcteur réalisé avec la méthode des rectangles supérieurs et trapézoïdale. On peut dire qu’ils ont chacun un argument en leur faveur l’un à un plus faible dépassement ( du à la présence d’un zéro dans la fonction de transfert ) que l’autre mais l’autre à un angle teta plus faible. Il est vrai que pour nous le principale c’est que notre système soit asservi correctement ( en un temps voulu et respect les hypothèses de départ ). C’est pour cela que nous choisissons le correcteur réalisé par la méthode trapézoïdale car il un angle de « rotation » du rail plus faible il vérifie donc mieux l’hypothèse de départ sin= .
3.2 Performance du système en régulation
On voit bien que notre système « calme bien » la perturbation mais ne revient pas à la consigne.
Il réagit comme ci on avait changé la consigne. Ce qui est tout à fait normal car le bloc intégrateur se trouve après la perturbation et non avant ce qui explique l’erreur statique que nous constatons.
Pour cela nous allons passer à un notre correcteur dans le BE 4
4. CORRECTEURS DE TYPE PID 4.1 Objectif :
L’objectif est d’atteindre un temps de réponse de 5 s pour l’asservissement en position de la bille au moyen de différents correcteurs numériques de la famille des P.I.D..
4.2 Description :
La structure d’un correcteur PD filtré est la suivante :
γ z
r z . K(z)r0 1
La structure d’un correcteur PID filtré est la suivante :
z 1
.z γ
r z . r z .
K(z) r0 1 2
4.3 Conception des correcteurs :
4.3.1 Correcteur PD filtré :
1 e Te.p
p
Bo(p) 1
p .TZ 1 z 1 (p).
B
TZ 0 1
1
3
1 12 e p
1
z 1 2.
z 1 . .z . T
TZ 3
1 z
2.kK T z -z2.z1 12.
z 1 . .z T k z K
1 e2 2
2 b 1 3
1 1
2 e 2
b 1
1 2.z - z
1 T z
2.k .K(z). K k
1
1 2.z - z
1 T z
2.k .K(z). K k FTBF(z)
2 2 e 2 b 1
2 2 e 2 b 1
Avec K(z) le correcteur choisi
1
21 1 2
e 2 b 1 0 1
1 2 1 1 2
e 2 b 1 0 1
z 1
.z z T 1
2.k K γ z
r z k r 1
z 1
.z z T 1
2.k K γ z
r z k r
FTBF(z)
D’où :
0 1 32 2 e b 2 1
1 0 2
2 e b 1 1
0 2
2 e b 1
-1 -1 1
2 0 2 e b 1
.z .r 2.k .r
.T .K γ k
.z r 1 . 2.k .r
.T .K 2.γ k
1 .z γ 2 2.k .r
.T .K 1 k
z z 1 r z . 2.k
r.
.T .K FTBF(z) k
On veut le dénominateur de la FTBF sous la forme :
1a.z1
nOn prendra n=2 car le système a des solutions. Ca sera plus facile pour nous de faire les réglages et aussi ce système sera moins cher à la réalisation.
On a : 1a.z12 12.a.z1a2.z2
D’où :
.r .r 0
2.k .T .K
γ k 0 1
2 e b
1
0
1
22 e b
1 .r .1 r a
2.k .T .K 2.γ k
1 .r 2 γ -2.a
2.k .T .K k
0 2 e b
1
On a donc :
4 3 2.a γ a
2
a 6.a 5
.T .K 2.k
r k 2 2
e b 1
2
0 r1a5-a3
avec a=0.83 ( car pour un second ordre tr = 4.75*td ( second ordre à pôles multiples ) or a = exp(-Te/td)
petit calcul sous mathcad. Nous utilisons à partir de maintenant ce logiciel car il est beaucoup plus convivial que l’éditeur d’équation de windows et surtout il nous évite de faire les calculs à la main et diminue donc notre risque d’erreur.
val r0val r1val
0.166
6.056 0.917
val r0val r1val
Findr0r1
K1 Kb Te2
2 K2 r02 2a 1 2 K1 Kb Te2
2 K2 r0(1r1)
a2
K1 Kb Te2 2 K2 r0r1
0
Given
r11 r01
1
Valeurs estimées :
a e
Te
Td
Td Tr
4.75 Tr5
Te0.2 Kb6.1
K17 K228.65
d’où pour le correcteur P.D. ;
166 , 0 γ
056 . 6 r0
917 , 0 r1
4.3.2. Correcteur PID filtré :
1 2.z - z
1 T z
2.k .K(z). K k 1
1 2.z - z
1 T z
2.k .K(z). K k FTBF(z)
2 2 e 2 b 1
2 2 e 2 b 1
Avec K(z) le correcteur choisi
zz 1r
.z.z γ
r.
K(z) r0 1 2
On fait notre gros calcul sous mathcad :
K17 Kb6.1 Te0.2 K228.65 Ke
K z( ) r0 (z r1 ) z r2( ) z 1
( ) z
Correcteur P.I.D.
FTBF z( )
K1 K z ( ) Kb 2 K2
Te2 z1 z22 z 1
1 K1 K z ( ) Kb 2 K2
Te2 z1 z22 z 1
K
FTBF z( ) 1
1 1
K1 r0 (z r1 ) z r2( ) z 1
( ) z
Kb
2 K2
Te2 z1 z22 z 1
FTBF z( ) 1
1
z22 z 1
(z 1 )zK1 r0 z r1[ ( )(z r2 )] Kb 2 K2
Te2(z1)
r2
FTBF z( )
K1 r0 z r1[ ( )(z r2 )] Kb 2 K2
Te2(z1) K1 r0 z r1[ ( )(z r2 )] Kb
2 K2
Te2(z1) 13z3 3z23z31 z 4
FTBF z( )
1
2K1r0r1r2Kb
K2Te2 1
2K1r0r1r2Kb
K2Te2 1
2(K1r0r1K1 r0 r2)Kb
K2Te2
z
1
2(K1r0r1K1 r0 r2)Kb
K2Te2 1 2K1r0Kb
K2Te2
z
2
1
2K1r0Kb
K2Te2z3
1
2K1r0r1r2Kb
K2Te2 1
2K1r0r1r2Kb
K2Te2 1
2(K1r0r1K1 r0 r2)Kb
K2Te2
13
z
1
2(K1r0r1K1 r0 r2)Kb
K2Te2 1 2K1r0Kb
K2Te2
33
z
2
1
2K1r0Kb
K2Te23
z
3
1 z4
FTBF z( )
1
2K1r0r1r2Kb
K2Te2 1
2K1r0r1r2Kb
K2Te2 1
2(K1r0r1K1 r0 r2)Kb
K2Te2
z
1
2(K1r0r1K1 r0 r2)Kb
K2Te2 1 2K1r0Kb
K2Te2
z
2
1
2K1r0Kb
K2Te2z3
1 z4
1
2K1r0r1r2Kb
K2Te2
z
4
1
2K1r0r1r2Kb
K2Te2 1
2(K1r0r1K1 r0 r2)Kb
K2Te2
13
z
3
1
2(K1r0r1K1 r0 r2)Kb
K2Te2 1 2K1r0Kb
K2Te2
33
z
2
1
2K1r0Kb
K2Te23
z
1
1
r1 r21.744 r0
r1 r2
25.607 0.872 0.057i 0.872 0.057i
0.583
r1 r2 0.763 1.408i 10 7 r0
r1 r2
r0val r1val r2val
val
r0val r1val r2val
val
Find r0 r1 r2
1
2K1r0 Kb
K2Te23 2a 1
2(K1r0r1K1 r0 r2) Kb
K2Te2 1
2K1r0 Kb
K2Te2
3 3 a2
1
2K1r0r1r2 Kb
K2Te2 1
2(K1r0r1K1 r0 r2) Kb
K2Te2
13 0
1
2K1r0r1r2 Kb
K2Te2 0 Given
1 i r21i
r111 i r01i
Valeurs estimées :
a e
Te
Td
Td Tr
4.75 Tr5
1 2 a
z
a2
z2 On identifie à :
Matlab n’accepte pas les coefficients imaginaires, nous développons le numérateur du correcteur et on s’aperçoit que l’on peut utiliser r1+r2 et r1r2.
1 22 2 1 1 2 1
1 1
1 ) 0
(
z z
z r r z r r z r
K
On a donc :
744 , 1 r r1 2
763 , 0 .r r1 2
On ne peut pas utilisé des correcteurs de type PI, PD, PID non filtré ( gamma = 0 ) car on a un système d’équations qui n’est ré solvable.
5. Simulation des deux correcteurs : 5.1. Correcteur type P.D.
Nous mettons comme valeur d’échelon d’entrée 1cm
5.1.1.Temps de réponse du système en boucle fermé :
tr5%=4.87s
On obtient bien un système avec un temps de réponse inférieur à 5s ce qui est meilleur qu’au BE précédent. On a 21% de dépassement. Ce dépassement est du à la présence de zéros dans la fonction de transfert.
Nous mettons maintenant comme valeur d’échelon d’entrée 10cm
Le système répond comme précédemment même temps de réponse et dépassement. Nous visualisons et commentons ci dessous les changements importants.
réponse
Consigne Tr5%
5.1.2 Tension :
5.1.3.Courant :
5.1.4.Vitesse :
5.1.5.Angle :
Nous pouvons voire sur toutes les courbes ci dessus qu’aucune de ces caractéristiques n’est acceptable. ( courant trop fort dans le moteur , angle trop important, un dv/dt irréalisable on devrait passer d’une vitesse de rotation de 17000tr/min à –19500 tr/min ( sens inverse de rotation) en 200ms..).Il faudrait donc introduire une saturation ( en pratique un limitation de courant ) mais on ne pourrait plus valider notre système et il deviendrait instable. On peut donc en déduire qu’un échelon de 10cm sur la position de la bille n’est pas tolérable. Notre système répondrait au cahier des charge pour un échelon inférieur à 1 cm. ( En simulation on obtient des courants max de 16A et un angle teta inférieur à 1 degré.
5.1.6.Perturbation de 1° sur l’angle de la barre :
A t=9s nous mettons une perturbation de 1° sur l’angle de la barre et nous voyons que notre système ne corrige pas cette perturbation comme au BE précédent il ne fait que la
On conclu que ce correcteur ne répond pas au cahier des charges ( courant, angle, dv/dt … trop importants ) et qu’il ne corrige pas une perturbation sur l’angle teta. On peut déjà dire que le prochain correcteur permettra de régler ce problème de réaction face à une perturbation mais les courants tensions …. Devrait être tout au si importants qu’avec le correcteur PD.
5.2. Correcteur type P.I.D.
Le schéma de simulation est identique au précédent sauf qu’on remplace le correcteur PD par un PID.
Nous mettons comme valeur d’échelon d’entrée : 10cm 5.2.1. Temps de réponse du système en boucle fermé :
tr5%=1.98s
On obtient bien un système avec un temps de réponse inférieur à 5s ce qui est meilleur qu’au BE précédent. On a 81% de dépassement. Ce dépassement est du à la présence de zéros dans la fonction de transfert. Ce dépassement risque de faire tomber la bille si il n’y a pas de butée en fin de rail.
Compte tenu de la nervosité du système ( présence d’un zéro dans la fonction de transfert ) on a une oscillation avec deux dépassement.
5.2.2. Tension :
5.2.3. Courant :
5.2.4. Vitesse :
5.2.5. Angle :
5.2.6. Perturbation de 1° sur l’angle de la barre :
Nous pouvons voire sur toutes les courbes ci dessus qu’aucune de ces caractéristiques n’est acceptable. ( courant trop fort dans le moteur , angle trop important, un dvitesse/dt irréalisable.).Le correcteur P.I.D. est plus contraignant que le correcteur P.D..
Le seul avantage qu’il ait, c’est de bien réguler suite à une perturbation sur l’angle du rail. ( à cause de la présence d’un intégrateur )
Donc comme pour le correcteur P.D. le correcteur P.I.D. est inacceptable il entraîne des variations de courant de tensions de vitesse…. Très rapide est qu’aucun moteur ne pourra acceptée.
Il ne faut pas oublier que dans un système réel, l’échelon que l’on applique en entrée est amortie contrairement à la simulation où l’on a un dx/dt infini. Il est donc vrai que les pics de courant, tension donc vitesse… seront pas aussi élevés.
Pour tous cela nous allons passé à deux autres correcteurs : o Le R.S.T..
o Le R.S.T. avec intégrateur.
6. Asservissement numérique en position de la bille : Correcteur de type RST : 6.1 Objectif :
L’objectif est de mettre en œuvre différents correcteurs numériques de type RST pour l’asservissement en position de la bille sur le rail en respectant la contrainte de temps de réponse (5s) et de régulation.
6.2 Conception du correcteur R.S.T. :
On réalise la conception complète sous Mathcad.
Voir page suivante.
Kb6.1 Te0.2 K228.65
K Kb Te 2 2 K2
1a z 1
2 a2z(2) (2a) z (1) 1X z( ) Xc z( )
B z( ) T z ( )KK1 A z( ) S z ( ) K K1 B z( )R z( )
A z( ) S z ( ) K K1 B z( )R z( ) a2z(2) (2a) z (1) 1
S z( ) 1S1 z 1 R z( ) R0R1 z 1 T z( ) T0T1 z 1 A z( ) 1 z22 z 1 B z( ) z1z2
1z22 z 1
1S1 z 1
Kb Te 22 K2 K1
z1z2
R0R1 z 1
a2z(2) (2a) z (1) 1
On identifie à :
Dédeloppement en séie de la partie gauche :
S1 1
2Kb Te2
K2 K1R1
z
3 ( )
12 S1 1
2Kb Te2
K2K1R0
1
2Kb Te2
K2K1R1
z
2 ( )
2 S1 1
2Kb Te2
K2 K1R0
z
1 ( )
1 a2z(2) (2a) z (1) 1
R z( )
R0R1 z 1
S z( )
1 S1 z 1
T z( )
T0T1 zT1 1
B z( )
z1z2
A z( )
1z22 z 1
Il faut donc :
X 1( ) Xc 1( ) 1 Or on sait que :
T z( )
T0T1 zT1 1
Il reste à déterminer T(z) R0
R1 S1
6.056 5.554
0.166
On a donc :
R0val R1val S1val
6.056 5.554
0.166
R0val
R1val S1val
Find R0 R1( S1)
12 S1 1
2Kb Te2
K2K1R0
1
2Kb Te2
K2K1R1
a2
2S1 1
2Kb Te2
K2K1R0
2a
S1 1
2Kb Te2
K2 K1R1
0
Given
K228.65 Te0.2
Kb6.1
a e
Te
Td K17 Td Tr
4.75 Tr5
S11 R01
R11
on fixe T1 T10 B 1( ) T0( 0)KK1
A 1( ) S 1 ( ) B 1( ) R 1 ( )KK1 1
T0 1
B 1( ) K K1( )
[ ](A 1( ) S 1 ( ) B 1( ) R 1 ( )KK1)
T00.502
T z( )
T0T1 z 1
On a donc
R z( ) 6.056 5.554
z
S z( ) 1 .166
z
T z( ).50199999999999999999
On a donc le schéma suivant :
6.2.1. Temps de réponse du système en boucle fermé et effet d’une perturbation sur l’angle du rail:
On craie une perturbation à t=9s
On peut visualiser ci dessus que la perturbation n’est compensé il va donc falloir rajouter un intégrateur dans le correcteur avant la perturbation. On voit aussi que le système à un temps de réponse de 5s et pas de dépassement. Visualisons maintenant les contraintes en tension et en courant sur notre moteur.
6.2.2. Courant Tension Angle :
On est agréablement surpris de voir des courants,tensions et une variation angulaire sont acceptable. La limitation de courant du moteur n’est pas active et donc notre système sera stable en réalité. Il nous reste donc à prendre en compte la régulation et on aura peut être trouver le bon correcteur.
6.3 Conception du correcteur R.S.T. avec intégrateur:
6.3.1. Temps de réponse du système en boucle fermé et effet d’une perturbation sur l’angle du rail:
tr5%=7.6s
On voit ici que notre système régule bien par contre il a un temps de réponse vraiment trop long. Peut être y a t il une erreur de calcul où bien faudrait il reprendre les calculs et mettre une constante de temps plus rapide. Nous avons donc avec ce nouveau correcteur une erreur statique nulle.
6.3.2. Visualisation : Courant & Angle :
Les pics de courants ( inférieurs à 16A ) et les variations d’angle ( inférieur à 1° ) sont correctes.
Il serait donc très intéressant de diminuer notre temps réponse choisi de 5s, par exemple on prend tr=3s ( cette modificatio est très rapide pour nous car comme on utilise mathcad on a juste a changé tr et il nous calcul automatiquement les nouveaux paramétres.