Académique Documents
Professionnel Documents
Culture Documents
Exercice 1
1
𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹(𝑝𝑝) =
𝑝𝑝(𝑝𝑝 + 1)
1
𝑝𝑝(𝑝𝑝 + 1) 1 1
𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹(𝑝𝑝) = = =
1 1 + 𝑝𝑝(𝑝𝑝 + 1) 1 + 𝑝𝑝 + 𝑝𝑝2
1+
𝑝𝑝(𝑝𝑝 + 1)
3. Tracez les diagrammes de Bode de la FTBO, et déterminer les marges de phase de gain.
TD9
-1-
4. Tracez la réponse indicielle en boucle fermée. Déterminer toutes les caractéristiques de cette
réponse.
5. Tracez le lieu des racines de la FTBO(p). On souhaite corriger le système de façon à ce que la boucle
fermée présente un coefficient 𝜁𝜁 = 0.45 et un temps de montée de 1,5s. A l’aide du lieu des racines,
conclure quant à la possibilité de réaliser une telle correction avec un gain K.
TD9
-2-
Il est impossible de corriger le système avec un simple gain K
On souhaite corriger le système à l’aide d’un correcteur numérique. La boucle de commande est schématisée
sur la figure suivante :
On peut faire le calcul à la main avec le tableau donné avec les TZ ou on peut le faire directement avec la
commande c2d de Matlab
𝐵𝐵0 (𝑝𝑝) �𝑇𝑇𝑒𝑒 − 𝜏𝜏(1 − 𝑎𝑎)�𝑧𝑧 − 𝑎𝑎𝑇𝑇𝑒𝑒 + 𝜏𝜏(1 − 𝑎𝑎) 𝑇𝑇𝑒𝑒
⟹ ; 𝑎𝑎 = 𝑒𝑒 − 𝜏𝜏 = 0.91
𝑝𝑝(1 + 𝜏𝜏𝜏𝜏) 𝑧𝑧 − (1 + 𝑎𝑎)𝑧𝑧 + 𝑎𝑎
2
0.0049𝑧𝑧 + 0.0047
𝐺𝐺(𝑧𝑧) =
𝑧𝑧 2 − 1.9𝑧𝑧 + 0.9
Gz=c2d(Pp,0.1, 'zoh')
Gz =
0.004837 z + 0.004679
----------------------
z^2 - 1.905 z + 0.9048
TD9
-3-
7. On souhaite avoir les caractéristiques suivantes en boucle fermée:
- 𝑀𝑀𝑀𝑀 = 45°
- 𝑡𝑡𝑚𝑚 = 1.5𝑠𝑠
Calculer la fonction de transfert du correcteur continu qui répond au cahier des charges.
13
Il faut donc qu’a 𝜔𝜔0 = 2𝑟𝑟𝑟𝑟𝑟𝑟. 𝑠𝑠 −1 ⟹ 𝐺𝐺 = 0𝑑𝑑𝑑𝑑 ⟹ 𝐾𝐾 = 1020 = 4.46
Si on veut 𝑀𝑀𝑀𝑀 = 45° il faut à 𝜔𝜔0 = 2𝑟𝑟𝑟𝑟𝑟𝑟. 𝑠𝑠 −1 45° 𝑑𝑑𝑑𝑑 𝑝𝑝ℎ𝑎𝑎𝑎𝑎𝑎𝑎, or 𝜑𝜑(𝜔𝜔0 ) = 153°, on a alors 𝑀𝑀𝑀𝑀 = 180 −
153 = 27° . il faut par conséquent ajouter 18° de phase ; on utilise donc un correcteur à avance de
phase.
1 + sin(Δ𝜑𝜑𝑚𝑚𝑚𝑚𝑚𝑚 ) 1 + sin(18)
𝑎𝑎 = = = 1.89
1 − sin(Δ𝜑𝜑𝑚𝑚𝑚𝑚𝑚𝑚 ) 1 − sin(18)
1
𝜏𝜏 = = 0.3677𝑠𝑠
𝜔𝜔0 √𝑎𝑎
1 + 𝑎𝑎𝑎𝑎𝑎𝑎 1 + 0.6874𝑝𝑝
𝐶𝐶(𝑝𝑝) = 𝐾𝐾𝑐𝑐 � � = 4.46 ∗
1 + 𝜏𝜏𝜏𝜏 1 + 0.3637𝑝𝑝
cp =
3.066 s + 4.46
--------------
0.3637 s + 1
>> Cz=c2d(cp,0.1,'tustin')
Cz =
7.95 z - 6.872
--------------
z - 0.7583
TD9
-4-
9. Avec Matlab :
Le temps de réponse du système continu et numérique sont proche mais une note une différence :
- Pour le temps de montée, ils sont identique
- Pour le temps de réponse à 5%, on note une différence de 0.3sec. On va expliquer cela en regardant
les marges de phase et de gain.
Sur les diagrammes de Bode, on observe que la marge de phase est différente, mais relativement proche. Ce
qui explique que les temps de montée sont presque identique. On notera toutefois que la numérisation
change la fréquence de la marge de gain, cette différence s’expliquer par l’approximation bilinéaire qui peut
TD9
-5-
amener une distorsion proche de la fréquence de Nyquist. Il faudra changer Te pour que les marges de gain
soit sensiblement identiques.
Exercice 2 : correcteur PI et P
On considère désormais que le processus P(p) commandé est défini par la relation :
1
𝑃𝑃(𝑝𝑝) =
(1 + 𝑝𝑝)(1 + 2𝑝𝑝)
Ce processus est inséré dans une boucle de commande numérique donné sur la figure 3.
2. En considérant que le processus asservi est entièrement analogique, déterminez les paramètres du
𝐾𝐾(1+𝜏𝜏𝜏𝜏)
correcteur PI analogique 𝐶𝐶(𝑝𝑝) = 𝑝𝑝 permettant de répondre au cahier des charges.
Indice : pour réaliser le correcteur C(p) pour avoir une grande BP, il faut compenser la constante de temps
de P(p) la plus contraignante
𝐾𝐾(1+𝜏𝜏𝜏𝜏) 1
𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹(𝑝𝑝) = 𝑝𝑝 (1+𝑝𝑝)(1+2𝑝𝑝)
Pour obtenir une FTBF du second ordre il faut compenser une des constantes de temps du processus. On
compense la plus pénalisante, i.e. celle qui limite la bande passante de la FTBF. Ainsi :
𝐾𝐾(1 + 2𝑝𝑝)
𝐶𝐶(𝑝𝑝) =
𝑝𝑝
2
𝐾𝐾 𝐾𝐾 𝐾𝐾 = 𝜔𝜔𝑛𝑛 √2
𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹(𝑝𝑝) = 𝑝𝑝(1+𝑝𝑝)+𝐾𝐾 = 𝑝𝑝2+𝑝𝑝+𝐾𝐾 ⇒ � ⇒ 𝜁𝜁 = 2 ⇒ 𝐾𝐾 = 0,5
2𝜁𝜁𝜔𝜔𝑛𝑛 = 1
TD9
-6-
1+2𝑝𝑝
D’où : 𝐶𝐶(𝑝𝑝) = 2𝑝𝑝
3. En déduire le correcteur C(z) « équivalent » selon la méthode de Tustin avec Te = 0,5 seconde.
1.125 z - 0.875
Cdz = ---------------
z - 1
Résultats :
Fig.8 : Comparaison des réponses indicielles
1.2
0.8
0.6
0.4
0.2
0 2 4 6 8 10
1.5
Cde Analogique
Cde Numérique
0.5
0 2 4 6 8 10
System: G2dz
Root Locus
Gain: 13.9
Damping: -0.000593
1.5
0.5 /T
0.6 0.4/T /T
0.7 /T 0.3 /T
0.5
0.8 /T 0.2 /T
0.9 /T 0.1 /T
1 /T
1 /T
0.9
0.9 /T 0.1 /T
System: G2dz System: G2dz 0.8
0.7
0.6
Gain: 120 Gain: 0.103 0.5
0.8 /T 0.2 /T
Imaginary Axis
-0.5
0.4
0.3
Pole: -2.25 - 4.48e-08i Pole: 0.69 + 0.00272i
0.7 /T 0.3 0.2 /T
0.1
0.6 0.4/T /T
Damping: -0.25 Damping: 1 0.5 /T
-1
-1.5
-2
Real Axis
8. Déterminez la valeur K0 du gain pour obtenir en boucle fermée un mode du second ordre
d’amortissement égal à 0,7.
TD9
-9-
Root Locus
0.3 /T
0.6
0.2 /T
0.5
System: G2dz
Gain: 0.92
Damping: 0.7
0.3
Frequency (rad/s): 0.969 0.1 /T
0.2
Imaginary Axis
0.1
0.2
0.3
0.4
0.5
0.6
0.1 0.7
0.8
0.9
-0.1
0.2 /T 0.1 /T
K0=0,92
Real Axis
9. Déterminez la valeur de KOS qui rend le système juste oscillant et précisez la pulsation des auto-
oscillations.
Root Locus
1.2
System: G2dz
Gain: 13.9
1.1
Pole: 0.352 + 0.936i
Damping: -0.000343
0.4 /T
0.9
0.8
0.1
Imaginary Axis
0.3 /T
0.2
0.7
0.3
0.6
0.2 /T
0.4
𝐾𝐾𝑜𝑜𝑜𝑜 = 13,9
Real Axis
Nota :
On remarquera qu’un tel système commandé par un gain continu n’est jamais instable en boucle fermée.
L’échantillonnage est un facteur d’instabilité.
10
𝑃𝑃(𝑝𝑝) =
(1 + 𝑝𝑝)(2 + 𝑝𝑝)(3 + 𝑝𝑝)
Pour ce faire, on insère ce process dans une boucle à retour unitaire et on va chercher à déterminer les
caractéristiques du correcteur PID parallèle telles que :
TD9
-10-
𝐾𝐾𝑝𝑝 : 𝑔𝑔𝑔𝑔𝑔𝑔𝑔𝑔 𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐 𝑃𝑃
⎧
1 𝐾𝐾𝑖𝑖 𝐾𝐾𝑝𝑝
𝐶𝐶(𝑝𝑝) = 𝐾𝐾𝑝𝑝 �1 + + 𝑇𝑇𝑑𝑑 𝑝𝑝� = 𝐾𝐾𝑝𝑝 + + 𝐾𝐾𝑑𝑑 𝑝𝑝, 𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎 𝐾𝐾𝑖𝑖 = 𝑔𝑔𝑔𝑔𝑔𝑔𝑔𝑔 𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐 𝐼𝐼
𝑇𝑇𝑖𝑖 𝑝𝑝 𝑝𝑝 ⎨ 𝜏𝜏𝑖𝑖
⎩𝐾𝐾𝑑𝑑 = 𝐾𝐾𝑝𝑝 𝜏𝜏𝑑𝑑 𝑔𝑔𝑎𝑎𝑎𝑎𝑎𝑎 𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐 𝐷𝐷
On va chercher à régler la correcteur via la méthode de Zeigler-Nichols en boucle fermée avec la tableau
suivant :
1. Tracez les diagrammes de Bode de la fonction de transfert du processus. Donnez les marges de
gain et de phase du processus. En déduire la valeur du gain 𝐾𝐾𝑜𝑜𝑜𝑜𝑜𝑜 qui rend le système juste
oscillant. A l’aide de Matlab, déterminez la valeur de la période d’oscillation 𝑇𝑇𝑜𝑜𝑜𝑜𝑜𝑜
% Question 1
p=tf('s')
Te=0.1
Pp=10/((p+1)*(p+3)*(p+2)) % déf. de la FT
figure(1)
asymp(Pp)
allmargin(Pp)
[Gm,Pm] = margin(Pp);
Kosc=Gm
Kprime=10*Kosc
KoscdB = 20*log10(Gm) % marge de gain en dB
Pm
Tosc=2*pi/3.31
TD9
-11-
Résultats :
marges =
Diagrammes de Bode :
Bode Diagram
20
-20
Magnitude (dB)
-40
-60
-80
-100
-120
0
-45
-90
Phase (deg)
-135
-180
-225
-270
0.01 0.1 1 10 100
Frequency (rad/s)
TD9
-12-
2. Effectuez les différents réglages du PID dans les configurations suivantes :
- PID classique
- PID Léger dépassement
- PID sans dépassement
Résultats obtenus :
Cas 1 : PID classique
𝐾𝐾𝑝𝑝 = 0,6 ∗ 𝐾𝐾𝑜𝑜𝑜𝑜𝑜𝑜 = 3,6
𝐾𝐾𝑖𝑖 = 1,2 ∗ 𝐾𝐾𝑜𝑜𝑜𝑜𝑜𝑜 /𝑇𝑇𝑜𝑜𝑜𝑜𝑜𝑜 = 3,82 FTBF_c1 =
3
𝐾𝐾𝑑𝑑 = ∗ 𝐾𝐾𝑜𝑜𝑜𝑜𝑜𝑜 ∗ 𝑇𝑇𝑜𝑜𝑜𝑜𝑜𝑜 = 0,84 8.4 s^2 + 36 s + 38.2
40
------------------------------------
3,82 s^4 + 6 s^3 + 19.4 s^2 + 42 s + 38.2
𝐶𝐶𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃 (𝑝𝑝) = 3,6 + + 0,84𝑝𝑝
𝑝𝑝
TD9
-13-
Bode Diagram
100
50
Magnitude (dB)
0
-50
-100
0
-90
Phase (deg)
-180
>> allmargin(FTBOC_c1)
-270
-2 -1 1 2
10 0
GainMargin: Inf 10 10 10 10
Frequency (rad/s)
GMFrequency: Inf
PhaseMargin: 28.7916
PMFrequency: 2.6176
En fréquence :
DelayMargin: 0.1920
DMFrequency: 2.6176 - on a rajouter un intégrateur ; d’où l’erreur statique nulle
Stable: 1 en BF (ajout d’une pente +1 en BO)
- On a diminuée la marge de phase, d’où les dépassements
𝑀𝑀𝑀𝑀
>> zpk(FTBOC_cl) plus important (𝜁𝜁 = 100 = 0.287)
ans =
2,12
𝐶𝐶𝑃𝑃𝑃𝑃𝐷𝐷𝑑𝑑𝑑𝑑𝑑𝑑 (𝑝𝑝) = 1,98 + + 1,25𝑝𝑝
𝑝𝑝
TD9
-14-
Avec le PID avec faible dépassement, on a encore déminué le
temps de réponse du système, de 0.65s. On annule toujours
l’erreur statique du fait de l’ajout de l’intégrateur.
TD9
-15-
Résultats obtenus :
B. Numérisation de système
3. Déterminez la fonction de transfert 𝐺𝐺(𝑧𝑧) du processus associée au BOZ (utilisez la fonction c2d de
Matlab) pour 𝑇𝑇𝑒𝑒 = 0.1𝑠𝑠 . Donnez les pôles, les zéros, le facteur de gain et le gain statique de 𝐺𝐺(𝑧𝑧).
Gz =
poles =
0.9048
0.8187
0.7408
zeros =
-3.2168
-0.2303
k=
K=
4. Tracez le lieu d’Evans de 𝐺𝐺(𝑧𝑧) et déterminez le gain ainsi que la période des auto oscillations.
TD9
-17-
Les pôles pour avoir la FTBF juste oscillantes sont sur le cercle unité. Ici on a 2 pôles complexes conjugués :
5. Pour chaque cas étudié dans la question 2, déterminer le correcteur PID équivalent en numérique.
Testez plusieurs équivalences et comparez les fonctions de transferts obtenues (utilisez le help de
Matlab).
PID_cl_z_matched =
TD9
-18-
Correcteur PID cas 2
PID_dep_z_matched =
%%% cas 3 PID sans dépassement %%%%%%%% 16.26 z^2 - 29.88 z + 13.86
PID_sd_z_tustin=c2d(PID_sdep, Te, 'tustin') ---------------------------
PID_sd_z_matched=c2d(PID_sdep, Te, 'matched') z^2 - 1
PID_sd_z_matched =
FTBO_cl_tustin=Gz*PID_cl_z_tustin FTBO_cl_tustin =
FTBFz=feedback(Gz, 1)
FTBFz_cl_tustin=feedback(FTBO_cl_tustin,1 0.02958 z^4 + 0.05424 z^3 - 0.1233 z^2 + 0.03096 z
) + 0.01425
figure ------------------------------------------------------------
step(FTBFz), hold on, z^5 - 2.464 z^4 + 1.018 z^3 + 1.916 z^2 - 2.018 z +
step(FTBFz_cl_tustin), hold on,
0.5488
TD9
-19-
step(FTBF), hold on, step(FTBF_c1), grid
on
FTBO_cl_matched=Gz*PID_cl_z_matched FTBO_cl_matched =
FTBFz_cl_matched=feedback(FTBO_cl_matched
,1) 0.01488 z^4 + 0.02727 z^3 - 0.06211 z^2 + 0.01562
figure z + 0.007182
step(FTBFz), hold on,
--------------------------------------------------------------
step(FTBFz_cl_matched), hold on,
z^4 - 3.464 z^3 + 4.482 z^2 - 2.566 z + 0.5488
step(FTBF), hold on, step(FTBF_c1), grid
on
FTBFz_cl_tustin =
FTBFz_cl_matched =
TD9
-20-
Réponses indicielles avec approximation « matched »
L’erreur aux instants d’échantillonnage, 𝜀𝜀𝑛𝑛 = 𝜀𝜀(𝑛𝑛𝑛𝑛), est appliquée au calculateur. Celui-ci fournit les
échantillons 𝑚𝑚𝑛𝑛 qui commandent le processus 𝑃𝑃(𝑝𝑝) à travers le « bloqueur d’ordre zéro ».
TD9
-21-
En partant du principe que
𝑘𝑘(1 − 𝑧𝑧𝑃𝑃 )
𝑘𝑘(1 − 𝑧𝑧𝑃𝑃 ) ⎧𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹(𝑧𝑧) =
𝑧𝑧 − 𝑧𝑧𝑃𝑃 + 𝑘𝑘(1 − 𝑧𝑧𝑃𝑃 )
𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹(𝑧𝑧) = ⟹ 𝑧𝑧 − 𝑧𝑧𝑃𝑃
𝑧𝑧 − 𝑧𝑧𝑃𝑃 ⎨𝜀𝜀(𝑧𝑧) = 𝐸𝐸(𝑧𝑧)
⎩ 𝑧𝑧 − 𝑧𝑧𝑃𝑃 + 𝑘𝑘(1 − 𝑧𝑧𝑃𝑃 )
𝑒𝑒 −𝑇𝑇
La valeur optimale de k est donc 𝑘𝑘𝑜𝑜𝑜𝑜𝑜𝑜 = 1−𝑒𝑒 −𝑇𝑇 .
Dans ce cas 𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹(𝑧𝑧) = 𝑘𝑘𝑜𝑜𝑜𝑜𝑜𝑜 (1 − 𝑧𝑧𝑃𝑃 )𝑧𝑧 −1 = 𝑧𝑧𝑃𝑃 𝑧𝑧 −1 et le gain statique de la FTBF est égal à 𝑧𝑧𝑃𝑃 = 𝑒𝑒 −𝑇𝑇 .
La valeur de 𝑘𝑘𝑜𝑜𝑜𝑜 est donnée pour la valeur de k plaçant le pôle de la FTBF, 𝛼𝛼 en -1.
1 + 𝑧𝑧𝑃𝑃 1 + 𝑒𝑒 −𝑇𝑇
𝛼𝛼 = 𝑧𝑧𝑃𝑃 − (1 − 𝑧𝑧𝑃𝑃 )𝑘𝑘𝑜𝑜𝑜𝑜 = −1 ⇒ 𝑘𝑘𝑜𝑜𝑜𝑜 = =
1 − 𝑧𝑧𝑃𝑃 1 − 𝑒𝑒 −𝑇𝑇
Le système est juste oscillant en boucle fermée s’il admet un pôle sur le cercle unité soit :
𝛽𝛽
On désire que la 𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹(𝑧𝑧) de la boucle de commande soit égale à (𝑧𝑧−1) de telle sorte que la présence de
l’intégration (pôle en 𝑧𝑧 = 1) annule l’erreur de position en régime permanent.
TD9
-22-
10. Calculez la transmittance 𝐶𝐶(𝑧𝑧) du correcteur conduisant à ce résultat.
(1−𝑧𝑧 ) 𝛽𝛽 𝛽𝛽(𝑧𝑧−𝑧𝑧𝑃𝑃 )
𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹(𝑧𝑧) = 𝐶𝐶(𝑧𝑧) (𝑧𝑧−𝑧𝑧𝑃𝑃) = 𝑧𝑧−1 ⇒ 𝐶𝐶(𝑧𝑧) = (1−𝑧𝑧 ; 𝑧𝑧𝑝𝑝 = 𝑒𝑒 −𝑇𝑇
𝑃𝑃 𝑃𝑃 )(𝑧𝑧−1)
11. Sachant que l’on adopte T = 0,5 s déterminez le correcteur 𝐶𝐶(𝑧𝑧) permettant d’annuler l’erreur
séquentielle de position en temps minimal.
𝛽𝛽
𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹(𝑧𝑧) = 𝑧𝑧−1+𝛽𝛽 ⇒ 𝛽𝛽 = 1 ⇒ 𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹(𝑧𝑧) = 𝑧𝑧 −1
(𝑧𝑧−0.6065) 2.5413𝑧𝑧−1.5413 2.5413−1.5413𝑥𝑥
𝐶𝐶(𝑧𝑧) = 0.3935(𝑧𝑧−1) = ⇒ 𝐶𝐶(𝑥𝑥) =
𝑧𝑧−1 1−𝑥𝑥
12. Pour quelle valeur du gain statique de 𝐶𝐶(𝑧𝑧) le système est-il juste oscillant ?
Le système est juste oscillant lorsque la 𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹(𝑧𝑧) admet le pôle 𝑧𝑧 = −1 soit :
𝛽𝛽
𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹(𝑧𝑧) = 𝑧𝑧−1+𝛽𝛽 ⇒ 𝛽𝛽 = 2
𝛽𝛽(𝑧𝑧−𝑧𝑧𝑃𝑃 ) 2(𝑧𝑧−0.6065) 5.0826𝑧𝑧−3.0826
𝐶𝐶(𝑧𝑧) = (1−𝑧𝑧 ⇒ 𝐶𝐶𝑜𝑜𝑜𝑜 (𝑧𝑧) = 0.3935(𝑧𝑧−1) =
𝑃𝑃 )(𝑧𝑧−1) 𝑧𝑧−1
5.0826 − 3.0826𝑥𝑥
𝐶𝐶(𝑥𝑥) =
1 − 𝑥𝑥
Le gain statique du correcteur est alors égal à : 𝐾𝐾𝐶𝐶 = 𝑙𝑙𝑙𝑙𝑙𝑙(𝑧𝑧 − 1)𝐶𝐶(𝑧𝑧) = 2
𝑧𝑧→1
TD9
-23-
Fig.4 : Réponse indicielle à temps mini avec PIopt
3 2.5413 − 1.5413𝑥𝑥
Sortie s(t) 𝐶𝐶(𝑥𝑥) =
Commande m(t)
1 − 𝑥𝑥
2.5
On vérifie que l’erreur statique de
position est bien nulle (effet de
2
l’intégrateur).
La commande est égale à 1 en
1.5 régime permanent (action intégrale).
0.5
0
0 0.5 1 1.5
TD9
-24-
𝑒𝑒 −0,2𝑝𝑝
En fait le processus analogique commandé présente un retard pur de 0,2 seconde aussi 𝑃𝑃(𝑝𝑝) = 1+𝑝𝑝
Gdzret =
0.2592 z + 0.1343
z^(-1) * -----------------
z - 0.6065
6. Sachant que T = 0,5 s déterminez le correcteur 𝐶𝐶(𝑧𝑧) permettant d’annuler l’erreur séquentielle de
position en temps minimal.
𝛽𝛽
𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹(𝑧𝑧) = 𝑧𝑧−1+𝛽𝛽 ⇒ 𝛽𝛽 = 1 ⇒ 𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹(𝑧𝑧) = 𝑧𝑧 −1
3,858(𝑧𝑧−0.6065)𝑧𝑧 3,858(1−0.6065𝑥𝑥)
𝐶𝐶(𝑧𝑧) = (𝑧𝑧−1)(𝑧𝑧+0,5181)
⇒ 𝐶𝐶(𝑥𝑥) = (1−𝑥𝑥)(1+0,5181𝑥𝑥)
7. Reprenez votre fichier Simulink créer précédemment et ajouter un retard. vérifiez par la simulation
ce résultat
.
TD9
-25-
% ndzret=conv([3.858 0],[1 -0.6065]);
ddzret=conv([1 -1],[1 0.5181]);
tsim=3;
sim('C42_TP1_4PIret_mdl')
figure(8);plot(t,s,'LineWidth',2); hold on;
stairs(td,m,'-.r','LineWidth',2);
stem(td,snT,'--s','LineWidth',2);grid; hold off;
legend('Sortie s(t)','Commande m(t)','Sortie(nT)')
title('\fontsize{12}\bfFig.8 : Réponse indicielle du processus avec retard')
%
2.5
1.5
0.5
-0.5
0 0.5 1 1.5 2 2.5 3
On observera que le correcteur ainsi calculé joue son rôle aux seuls instants d’échantillonnage ! En effet
l’erreur séquentielle est nulle aux instants kT. Pour obtenir les auto-oscillations on double le gain statique
du correcteur pratiquement 1,97.
TD9
-26-
%%%%%%%%%%%%%%%% Cours SLD %%%%%%%%%%%%%%%%
% Partie 2 Commande des Systèmes Linéaires Discrets
% Mis à jour le 03 novembre 2021
% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
clear all;clc
n=1;d=[1 1];Pdp=tf(n,d);
% Correcteur PI numérique
% ---------------------------------------
T=0.5; tsim=3;
% Réponse en temps minimum
ndzPI=[2.5413 -1.5413]; ddzPI=[1 -1];
sim('C42_TP1_3PI_mdl')
figure(5);plot(t,s,'LineWidth',3); hold on;
stairs(td,m,'r','LineWidth',2); grid; hold off;
legend('Sortie s(t)','Commande m(t)')
title('\fontsize{12}\bfFig.5 : Réponse indicielle à temps mini avec PIopt')
% Réponse oscillante
ndzPIos=[5.0826 -3.0826]; ddzPIos=[1 -1];
tsim=3;
sim('C42_TP1_3PIos_mdl')
figure(6);plot(t,s,'LineWidth',3); hold on;
stairs(td,m,'r','LineWidth',2); grid; hold off;
legend('Sortie s(t)','Commande m(t)')
title('\fontsize{12}\bfFig.6 : Réponse indicielle oscillante avec PIos')
%
TD9
-27-