You are on page 1of 5

E LE K T R O T E H N I Č K I F A K U L TE T B E O G R A D

K A TE D R A Z A S I G N A L E I S I S TE M E ETF
http://control.etf.rs Beograd

P RE D ME T : S I ST E MI A UT OM AT S KO G UP R AV LJ ANJ A 2

PRVI DEO ISPITA OS3SA2 - REŠENJE


21. 06. 2015. god.

Zadatak 1. (5+8)
a) Funkcija prenosa 𝐺 ′ (𝑠) je jednaka
1
𝐾𝑝 2 𝐾𝑝
𝐺 ′ (𝑠)
= 𝑠 =
1
1 + 𝐾𝑝 2 4𝑠 𝑠�𝑠 + 4𝐾𝑝 �
𝑠
Pretek faze ovakvog sistema je jednak
𝜋 𝜔1
Φ𝑝𝑓 =
− arctg � �
2 4𝐾𝑝
Odgovarajući propusni opseg od 45° se postiže za 𝜔1 = 4𝐾𝑝 rad/s. Da bi 𝜔1 zaista bila presečna učestanost
pojačanja, mora biti zadovoljen uslov
𝐾𝑝 1 1 1 rad
|𝐺(𝑗𝜔1 )| = 1 → = 1 → = 4𝐾𝑝 √2 → 𝐾𝑝 = , 𝜔1 ′ =
4 16√2 4√2 s
4𝐾𝑝 �𝜔12 + 16𝐾𝑝2
b) Regulisani sistem 𝑊(𝑠) sa odgovarajuím parametrima iz tačke a) je jednak
1/4
𝑊(𝑠) = 𝐾(𝑠) ⋅
𝑠
𝑠 �4𝐾 + 1�
𝑝
𝑠⁄𝜔𝑛 +1
Usvajanjem kontrolera 𝐾(𝑠) = 𝐾𝑝1 , 𝜔𝑛 > 𝜔𝑝 , može se postići traženi popusni opseg uz
𝑠⁄𝜔𝑝 +1
zadovoljavajuće rezerve stabilnosti. Moguće je ADHOC rešenje usvajanjem 𝜔𝑛 tako da pokrati pol sistema u
4𝐾𝑝 . Iz uslova za zadovoljavajući pretek faze dobija se:
π 𝜔1 ′′ 𝜋 1
Φpf = π − − arctg � � ≥ → 𝜔𝑝 = 𝜔1′′ = rad/s
2 𝜔𝑝 4 √2
1
Odgovarajuće pojačanje 𝐾𝑝 koje obezbeđuje propusni opseg 𝜔1′′ = 2 je 𝐾𝑝1 = 4𝜔1′′ ⋅ √2 = 4. Konačna

forma kontrolera je
4(𝑠⁄0.1768 + 1)
𝐾(𝑠) = .
𝑠⁄0.7092 + 1
Zadatak 2. (5+7+7+3)
a) Bode-ove karakteristike sistema
0.4(𝑠⁄0.02 + 1)
𝐺(𝑠) =
𝑠2 𝑠
𝑠 � 2 + 0.2 + 1�
0.2
su date na slici
Bode Diagram
Gm = Inf dB (at Inf rad/s) , Pm = 11.8 deg (at 0.905 rad/s)
100
Magnitude (dB)

50

-50
0

-45
Phase (deg)

-90

-135

-180
-3 -2 -1 0 1
10 10 10 10 10
Frequency (rad/s)
Aproksimativnom analizom dolazi se do vrednosti za presečnu učestanost pojačanja 𝜔1 = 0.89 rad/s, na
kojoj pretek faze iznosi Φ𝑝𝑓 = 12°. Fazna karakteristika je uvek iznad nivoa −180°, dakle 𝜔𝜋 ne postoji, tj.
𝑑 → ∞.
26
𝑠/0.2+1
b) Moguće rešenje je ADHOC lead kontroler 𝐾(𝑠) = . Nova presečna učestanost je 𝜔1′ = 0.2 ⋅ 1020 ≈
𝑠/𝜔𝑝 +1
4 rad/s. Odgovarajućim izborom pola kontrolera obezbeđuje se zadovoljavajući pretek faze:

𝜋 𝜔1′ 𝜔1′ /0.2 𝜔1′ 𝜔1′ 𝜋


Φ𝑝𝑓 = 𝜋 − + arctg � � − 𝜋 + arctg � ′ 2 � + arctg � � − arctg � � ≥
2 0.02 𝜔1 0.2 𝜔𝑝 6
2 −1
0.2
𝜔𝑝 = 𝜔1′ /tg(60°)
𝑠/0.2 + 1
𝐾(𝑠) =
𝑠/2 + 1
c) Treba projektovati varijantu Klag kontrolera za popravku preteka faze uz smanjenje propusnog opsega:
𝑠/𝜔 +1 rad 𝜔′ rad 𝜔𝑛 rad
𝐾(𝑠) = 𝑠/𝜔𝑛 +1 , 𝜔𝑝 < 𝜔𝑛 , gde je 𝜔1′ = 0.35 , 1
𝜔𝑛 = 16÷20 = 0.02 , 𝜔𝑝 = = 0.003 .
𝑝 s s �𝐺(𝑗𝜔1′ )� s
𝑠/0.02 + 1
𝐾(𝑠) =
𝑠/0.003 + 1

d) Kako ne postoji presek fazne karakteristike sa nivoom −180°, PI kontroler se ne može podesiti ZN
metodom u frekvencijskom domenu.
Zadatak 3. (2+4+6)+(3+3)
a) Kontroler za praćenje reference na bazi inverzije dinamike je u formi
𝜔0 −1 𝜔0 𝑠 2 𝜔0 𝑠
𝐾(𝑠) = 𝐺𝑚𝑓 (𝑠) = ⋅ =
𝑠 𝑠 𝑠+4 𝑠+4
𝜔
gde je izbor propusnog opsega 𝜔0 ograničen sa 𝜔0 < 2𝑧 = 2 rad/s, zbog nule u desnoj poluravni.

b) Odgovarajuće GMK pogodno za analizu uticaja parametra 𝜔0 na poziciju polova regulisanog sistema
𝜔 𝑠 4−𝑠 −𝜔 (𝑠−4) 𝑠−4
𝑊(𝑠) = 𝐾(𝑠)𝐺(𝑠) = 0 ⋅ 2 = 0 =𝐾⋅ , crta se za 𝐾 = −𝜔0 < 0
𝑠+4 𝑠 𝑠(𝑠+4) 𝑠(𝑠+4)
Root Locus
6

4
Imaginary Axis (seconds-1)

-2

-4

-6
-5 0 5 10 15 20 25
Real Axis (seconds -1)

c) Analizom GMK se dolazi do zaključka da postoji opseg 𝜔0 ∈ (0, 𝜔0𝑚𝑎𝑥 ) za koji je sistem u zatvorenoj
sprezi stabilan. Za vrednost propusnog opsega 𝜔0𝑚𝑎𝑥 , regulisani sistem poseduje par polova na imaginarnoj
osi na pozicijama 𝑠1,2 = ±𝑗𝜔𝑛 (vrednosti 𝜔0𝑚𝑎𝑥 i 𝜔𝑛 se mogu naći kao rešenja jednačine 𝑓(𝑠) = 𝑠 2 + 4𝑠 +
𝜔0𝑚𝑎𝑥 (4 − 𝑠) = 𝑠 2 + 𝜔𝑛2 ). U okviru ovog opsega može se izabrati podopseg, koji bi zadovoljio ostale
zahteve regulacije (𝜔0 < 2 rad/s). Maksimalna brzina odziva bez preskoka na step referencu, postiže se za
vrednost 𝜔0𝑔 za koju regulisani sistem ima dvostruki realan pol u levoj poluravni:
𝑓(𝑠) = 𝑠 2 + 4𝑠 + 𝐾(𝑠 − 4) = 𝑠 2 + 2𝑎𝑠 + 𝑎2
odakle se dobija 𝐾1 = −0.69 i 𝐾2 = −23.3. Rešenje 𝐾2 = −23.3 ostvaruje dvostruki realan pol u desnoj
poluravni, odnosno 𝜔0𝑔 = −𝐾1 = 0.7 je vrednost parametra za koju se ostvaruje maksimalan propusni
opseg bez preskoka. Traženi kontroler je u formi:
0.7𝑠
𝐾(𝑠) =
𝑠+4
1 1 (4−𝑠)(4+𝑠)
d) GMK pogodan za analizu LQ optimalnog upravljanja, crta se za 𝑊 ′(𝑠) = 𝐺(𝑠)𝐺(−𝑠) = − 𝑠4
=
𝜌 𝜌
(𝑠−4)(𝑠+4 ) 1
𝐾 , za 𝐾 = − < 0.
𝑠4 𝜌
Root Locus
2.5

1.5
Imaginary Axis (seconds-1)

0.5

-0.5

-1

-1.5

-2

-2.5
-15 -10 -5 0 5 10 15
Real Axis (seconds -1)

е) Maksimalna brzina odziva bez preskoka, postiže se za 𝐾 ∗ koje obezbeđuje dvostruki realan pol regulisanog
sistema:
𝑓(𝑠) = 𝑠 4 + 𝐾 ∗ (𝑠 2 − 16) = (𝑠 − 𝑎)2 (𝑠 + 𝑎)2 = 𝑠 4 − 2𝑎2 𝑠 2 + 𝑎4 → 𝐾 ∗ = −64
Odgovarajuća cena upravljanja jednaka je 𝜌∗ = −1/𝐾 ∗ = 1/64
Zadatak 4. (7+3+6+4)

a) Do traženog kontrolera se može projektovanjem kontrolera na bazi inverzije dinamike za potiskivanje


40 800
poremećaja, gde je 𝐺(𝑠) = 𝐺𝑑 (𝑠) = (𝑠+0.1)(𝑠+0.5) 𝑒 −𝑠 = (𝑠⁄ 𝑒 −𝑠 . Kontroler minimalne forme
0.1+1)(𝑠/0.5+1)
dobija se kao 𝐾𝑚𝑖𝑛 (𝑠) = 𝐺 −1 (𝑠)𝐺𝑑 (𝑠) = 1. Analizom Bode-ovih karakteristika se dolazi do vrednosti
ω0 = 6.3 rad/s. Za dalju analizu biće razmatran manji propusni opseg, tj. nepotpuno potiskivanje
poremećaja, kako bi se obezbedilo da regulisani sistem bude stabilan. Uvođenjem dodatnog proporcionalnog
0.7
pojačanja �𝐾𝑝 � = − �20 log 800 − 20 log 5 − 40 log � = −36dB, smanjujemo propusni opseg
𝑑𝐵 0.5
regulisanog sistema na 𝜔1 = 0.7 rad/s. Sistem regulisan ovakvim kontrolerom ima nenultu grešku u
stacionarnom stanju, pa je potrebno uvesti član za popravku pojačanja na niskim učestanostima, tako da
𝑠+𝜔𝑛𝑖 𝑠+𝜔𝑛𝑖
kontroler ima formu 𝐾(𝑠) = 𝐾𝑚𝑖𝑛 (𝑠) ⋅ = , gde se 𝜔𝑛𝑖 bira u skladu sa novousvojenim propusnim
𝑠 𝑠
1𝑠+𝜔 /20 𝑠+0.035
opsegom 𝜔1 = 0.7 rad/s. Sada kontroler ima formu 𝐾(𝑠) = 𝐾𝑝 = 0.013 ⋅ . Regulisani sistem
𝑠 𝑠
0.36(𝑠/0.035 + 1)
𝑊(𝑠) = 𝑒 −𝑠 ,
𝑠(𝑠/0.1 + 1)(𝑠/0.5 + 1)
sa ovakvim kontrolerom ima pretek faze:
𝜋 𝜔1 𝜔1 𝜔1
Φ𝑝𝑓 = 𝜋 − + arctg � � − arctg � � − arctg � � − 𝜔1 ≈ 1°, 𝜔1 ≈ 0.7 rad/s
2 0.04 0.1 0.5
Ovakav pretek faze regulisanog sistema i dalje nije prihvatljiv. Uvođenjem dodatnog člana u formi phase-
𝑠⁄𝜔𝑛 +1
lead kontrolera , može se ostvariti veći pretek faze. ADHOC realizacijom čija će nula biti na poziciji
𝑠⁄𝜔𝑝 +1
∗ π 1
propusnog opsega, a pol 𝜔𝑝 = 10𝜔𝑛 , dobija se pretek faze Φ𝑝𝑓 = Φ𝑝𝑓 + − arctg � � = 40°.
4 10
𝑠+0.035 𝑠⁄0.7+1
Upoređivanjem dobijenog kontrolera 𝐾(𝑠) = 0.013 ⋅ ⋅ ⁄ sa predloženom formom PID
𝑠 𝑠 7+1
regulatora dobijaju se vrednosti parametara:
rad rad rad
𝐾𝑣 = 4.55 ⋅ 10−4 , 𝜔𝑛1 = 0.035 , 𝜔𝑛2 = 0.7 , 𝜔𝑝 = 7 .
s s s

Napomena: Sa dobijenim propusnim opsegom 𝝎𝟎 = 𝟔. 𝟑 𝒓𝒂𝒅/𝒔 ne može se projektovati kontroler u


traženoj formi koji bi obezbedio zadovoljavajući pretek faze i preteka pojačanja, pa regulisani sistem ne bi
bio stabilan u zatvorenoj sprezi. Dakle, nije moguće projektovati PID kontroler koji u potpunosti potiskuje
zadati poremećaj.
2𝜋
b) Perioda odabiranja je uslovljena propusnim opsegom kontinualnog sistema: 𝑇 = (10÷40)𝜔 = 0.22 ÷
1
0.88 sec. Imajući u vidu ograničenja hardvera, adekvatan izbor periode odabiranja je 𝑇 = 0.5 sec, tj. 𝐴 = 5,
𝐵 = −1.
c) Diskretizacijom indirektnom Ojlerovom metodom dobija se diskretni ekvivalent kontrolera:
𝑧−1 𝑧−1
+1 +1 𝐾𝑣 𝜔𝑝 (𝑧 − 1 + 𝑇𝑧𝜔𝑛1 )(𝑧 − 1 + 𝑇𝑧𝜔𝑛2 )
𝑇𝑧𝜔𝑛1 𝑇𝑧𝜔𝑛2
𝐾(𝑧) = 𝐾(𝑠) 𝑧−1 = 𝐾𝑣 ⋅ ⋅ =
|𝑠=
𝑇𝑧 𝑧−1 𝑧−1 𝜔𝑛1 𝜔𝑛2 (𝑧 − 1)�𝑧 − 1 + 𝑇𝑧𝜔𝑝 �
+1
𝑇𝑧 𝑇𝑧𝜔𝑝
𝐾𝑣 𝜔𝑝 (𝑧(1 + 𝑇𝜔𝑛1 ) − 1)(𝑧(1 + 𝑇𝜔𝑛2 ) − 1)
𝐾(𝑧) =
𝜔𝑛1 𝜔𝑛2 (𝑧 − 1)�𝑧�1 + 𝑇𝜔𝑝 � − 1�
𝐾𝑣 𝜔𝑝 𝑧 2 (1 + 𝑇𝜔𝑛1 )(1 + 𝑇𝜔𝑛2 ) − 𝑧�(2 + 𝑇𝜔𝑛1 + 𝑇𝜔𝑛2 )� + 1
=
𝜔𝑛1 𝜔𝑛2 (𝑧 − 1)�𝑧�1 + 𝑇𝜔𝑝 � − 1�
Upoređivanjem se dobijaju vrednosti parametara:
𝐾𝑣 𝜔𝑝 (1 + 𝑇𝜔𝑛1 )(1 + 𝑇𝜔𝑛2 ) 𝐾𝑣 𝜔𝑝 (2 + 𝑇𝜔𝑛1 + 𝑇𝜔𝑛2 ) 𝐾𝑣 𝜔𝑝
𝑏0 = , 𝑏1 = − , 𝑏2 =
𝜔𝑛1 𝜔𝑛2 �1 + 𝑇𝜔𝑝 � 𝜔𝑛1 𝜔𝑛2 �1 + 𝑇𝜔𝑝 � 𝜔𝑛1 𝜔𝑛2 �1 + 𝑇𝜔𝑝 �
1
𝑝𝑑 =
1 + 𝑇𝜔𝑝
Za konkretne vrednosti parametara Kv, ωn1, ωn2, ωp i T usvojenih u okviru tačaka a) i b) dobija se:
𝑏0 = 0.04, 𝑏1 = −0.07, 𝑏2 = 0.03, 𝑝𝑑 = 0.22
d)
𝑏0 + 𝑏1 𝑧 −1 + 𝑏2 𝑧 −2 𝑈(𝑧) Δ𝑈(𝑧) 𝑈(𝑧) 1 Δ𝑈(𝑧) 𝑏0 + 𝑏1 𝑧 −1 + 𝑏2 𝑧 −2
𝐾(𝑧) = = ⋅ , = , =
(1 − 𝑧 −1 )(1 − 𝑝𝑑 𝑧 −1 ) 𝐸(𝑧) Δ𝑈(𝑧) Δ𝑈(𝑧) 1 − 𝑧 −1 𝐸(𝑧) 1 − 𝑝𝑑 𝑧 −1
Moguća inkrementalna implementacija kontrolera realizovanog datim prototipom funkcije je:

void control(float rk, float yk) {


static float uk;
static float mem_value[10];
// mem_value[0] = deltau[k]; mem_value[1] = e[k-1]; mem_value[2] = e[k-2];
mem_value[0]=0.22*mem_value[0]+0.04*(rk-yk)-0.07* mem_value[1]+0.03*
mem_value[2];
uk= uk + mem_value[0]
output_DA(uk);
mem_value[2]=mem_value[1];
mem_value[1]=rk-yk;
}

You might also like