Panduan Praktikum S1 Elins Eksp. Kontrol Digital 18 Sistem Kontrol Digital
Eksperimen 4 : Akar Kedudukan (Root Locus)
Tujuan :
ο· Mempelajari Analisis kestabilan menggunakan root locus
ο· Membuat pemodelan closed-loop sistem
Dasar Teori
Akar Kedudukan dari fungsi transfer loop tertutup merupakan plot lokasi dari semua kutub-kutub loop tertutup dengan penguatan proporsional K dan Unity Feedback. Kutub (pole) diplot pada sebuah bidang s. dimana π = π Β± ππ, yang penting untuk diingat adalah real part dari π adalah index exponensial dari time respons, jika bernilai positif maka sistem akan unstable (tidak stabil). Maka Sebelah kanan bidang locusnya menyatakan unstable sistem, kemudian bagian imaginernya yakni axis, π adalah frekuensi osilasi transiennya.
Fungsi transfer loop tertutup adalah sebagai berikut : π(π )
π (π )=
πΎπ»(π ) 1 + πΎπ»(π )
Kriteria Sudut dan magnitute
Karakteristik Persamaan Closed Loop Sistem :
G(s)H(s) = -1 kH(s) = -1
Panduan Praktikum S1 Elins Eksp. Kontrol Digital 19 π(π ) + πΎπ(π ) = π
π π
πΎ + π π = 0
Diberikan n = order dari a(s) dan m = order dari b(s) (order polinomial adalah pangkat tertinggi dari s yang tampak didalamnya). Semua nilai positif dari limit K > 0, kutub-kutub loop tertutup adalah a(s) = 0, limit k > tak terhingga (infinitive), kutub-kutub sistem h(s) adalah b(s) = 0 atau zero dari h(s).
untuk nilai sudut dan magnitudenya :
πΊ π π» π = 180π πΊ π π» π = 1
Kriteria Sudut
Untuk suatu titik s1 pada bidang locus, jumlah seluruh sudut dari vectir open-loop poles (positive Angle) dan zeros (negative angle) terhadap titik s1 = 180o
Kriteria Magnitude
Jika titik s1 berada pada locus, maka nilai open-loop dengan konstanta K, dievaluasi dengan persamaan berikut :
πΎ = π·(π ) π(π )
πΎ = πππππ’ππ‘ ππ ππππ π£πππ‘ππ ππππππ‘π’ππ πππππ’ππ‘ ππ π§πππ π£πππ‘ππ ππππππ‘π’ππ
Panduan Praktikum S1 Elins Eksp. Kontrol Digital 20 Tidak menjadi masalah jika setiap nilai K, sistem loop tertutup harus selalu memilki n pole, diamna n adalah banyaknya pole dari H(s). Akar kedudukan harus punya n cabang, setiap cabang dimulai dari pole h(s) dan berakhir ke zero dari H(s). Jika H(s) punya pole lebih dibandingkan zero, m<n, dan dapat dikatakan H(s) mempunyai zero infinitif. Banyaknya zero pada infinitif adalah n-m, jumlah pole dikurangi nomor (jumlah) zero dan nomor cabangnya menghasilkan infinitif.
Akar kedudukan (root locus) merupakan lokasi sebenarnya dari semua kemungkinan pole loop tertutup. Dari akar kedudukan dapat dipilih penguatan sehingga sistem loop tertutup akan bekerja sesuai yang diingikan. Jika terdapat pole di sebelah kanan, sistem loop tertutup akan tidak stabil. Pole yang terdekat dengan sumbu imajiner berpengaruh besar besar pada respon loop tertutup, maka walaupun sistem mempunyai 3 atau 4 pole, mungkin juga bekerja seperti sistem orde kedua dan pertama tergantung lokasi pole dominannya.
EKSPERIMEN
Fungsi Program plot root locus
function
rootl
(
G, box, text
)
evans
(
G
)
;
xgrid
()
;
a
=
gca
()
;
if
box
~=
0
then
a
.
box
=
" on";
a
.
data_bounds
=
box;
end
a
.
children
(
1
).
visible
=
' o f f ' ;
xtitle
(
text
)
;
endfunction
Panduan Praktikum S1 Elins Eksp. Kontrol Digital 21
Fungsi Program mencari gain grafik rootlocus
function
[
K, p
]=
gainat
(
G
)
z
=
locate
(
1,1
)
;
x
=
z
(
1
)
; y
=
z
(
2
)
;
p
=
x
+
%i
*
y;
disp(
p, 'p = '
)
;
K
=
1
/
abs(
horner
(
G,p
))
disp(
K, 'K= '
)
;
plot
(
x,y,'.'
)
;
xstring(
x,y,'K= '
+string(
K
))
;
endfunction
Fungsi Program
// Fungsi untuk menghitung respon sistem
// plotting input dan respons bersama
function
y
=
plotresp
(
u, t, G, text
)
y
=
csim
(
u,t,G
)
;
plot
(
t,u,t,y
)
;
xtitle(
text,'t(sec)','Input and Output'
)
;
xgrid(color(
'gray'
))
;
legend
(
'input', 'output'
)
;
endfunction
Eksperimen 1
clc
;
xdel
(
winsid
())
;
//set path filenya
//cd "/<path directory file >/"
//exec("rootl.sci");
//exec("gainat.sci");
s
=
%s;
Panduan Praktikum S1 Elins Eksp. Kontrol Digital 22
rootl
(
G ,
[
-
4
-
4; 4 4
]
, ' Gain pada sembarang titik
pada rootlocus'
)
;
for
i
=
1:5;
gainat
(
G
)
;
end
;
delete(
gca
())
;
rootl
(
G ,
[
-
4
-
4; 4 4
]
,'Gain pada sembarang titik pada
rootlocus'
)'
;
]
;
Eksperimen 2
// Konstanta Gain pada kurva ortogonal dan Root Locus
clear
;
clc
;
xdel
(
winsid
())
;
exec(
"rootl.sci"
)
;
exec(
"gainat.sci"
)
;
s
=
%s;
P
=
1
/(
s
*(
s
+
1
)*(
s
+
2
))
;
G
=
syslin
(
'c',P
)
;
rootl
(
G,
[-
6
-
6; 6 6
]
,'kurva root locus ortogonal dan
kontanta gainnya'
)
;
P
=
1
/
P;
v
=
-
6:0.1:6;
[
X,Y
]
=
ndgrid
(
v,v
)
;
// menyiapkan grid untuk
menghitung gain
S
=
X
+
%i
*
Y;
K
=
abs(
horner
(
P,S
))
;
contour
(
v,v,K ,10
)
;
Eksperimen 3clear
;
clc
;
xdel
(
winsid
())
;
exec(
"rootl.sci"
)
;
Panduan Praktikum S1 Elins Eksp. Kontrol Digital 23
s
=
%s;
G
=
syslin
(
'c',1,s
*(
s
+
1
)*(
s
^
2
+
4
*
s
+
13
))
;
rootl
(
G ,
[
-
6
-
5; 6 5
]
, 'Root Locus Plot'
)
;
Eksperimen 4 clear ; clc; xdel ( winsid ()); exec("rootl.sci"); function J=add(n, H) z = locate(1,1); x = z(1), y = z(2); N = H.num; D = H.den;
if abs (y) <= 0.2 then
if n == 1 then D = D * (s-x); else N = N * (s-x); end zp = x; else if n == 1 then D = D * (s^2 - 2*x*s + x^2 + y^2); else N = N * (s^2 - 2*x*s + x^2 + y^2); end zp = x + %i * y; end J = syslin ( ' c ' ,N,D); draws (J);
if(n == 1) then disp (zp ,"p = "); else disp (zp ,"z= ");end disp(J,"G="); endfunction function draws(P) delete(gca()); rootl (P ,[ -5 -5; 5 5], 'Rootlocus'); endfunction //Main Program s = %s; N = 1;
Panduan Praktikum S1 Elins Eksp. Kontrol Digital 24 D = s*(s+1)*(s+3); G = syslin('c',1,D); H = G; draws(G); //addmenu(0,'Add',['Pole', 'Zero','Reset']);
//Add_0 = [ 'H = add ( 1 ,H) ' , 'H = add ( 2 ,H) ; ' , ' draws (G) ;H=G; ' ];
H=add(1,H)'; H=add(2,H); draws(G); H=G;
//tempatkan zero dekat dengan pole (-3)
//pertma tempatkan titik pada sebelah kanan lalu sebelah kiri // gerakan ke arah kanan [-5 -5; 5 5]
Eksperimen 5 Lead Kompensator
clear ; clc; xdel ( winsid ()); exec("rootl.sci"); exec("plotresp.sci"); s = %s; G = syslin ('c',1/(s^2)) ; H = syslin ('c',1/(0.1*s + 1)); R = [-1 -1]; I = [1.73205 -1.73205]; dp = R(1) + %i*I(1); subplot (1 ,2 ,1);
rootl (G*H,[-15 -15; 5 15],'Root locus Plot untuk sistem uncempensated ');
plot(R,I,'x');
angdef = 180 - phasemag(horner(G*H,dp)); disp(angdef, 'angle deficiency=');
z = 1;
p = 1.73205 / tand (90 - angdef ) + 1 ; Gc = (s + z)/ (s + p);
disp (Gc , ' l e a d compensator =' ); Kc = abs (1/ horner (G*Gc*H,dp));
Panduan Praktikum S1 Elins Eksp. Kontrol Digital 25 disp (Kc , 'Kc =' );
O = Kc*Gc*G*H; disp(O, 'Open loop transfer function');
C = Kc*Gc*G /. H; disp (C, 'Closed Loop transfer function'); disp(roots(C.den), 'close loop poles=');
subplot (1 ,2 ,2);
rootl(O ,[ -15 -15; 5 15] , 'rootlocus untuk compensated system');
plot (R,I,'x'); scf ();
t = 0:0.05:10;
u = ones (1, length (t));
plotresp (u,t,C,'unit step response'); xstring (1 ,0.95 ,'compensated sistem');
Tugas
1. Sebuah sistem loop terbuka mempunyai fungsi transfer sebagai berikut : π» π = π(π )
π(π )=
π + 7
π π + 5 π + 15 (π + 20)
Desain sebuah controller menggunakan metode tempat kedudukan akar, dengan kriteria desain 5 % overshoot dan 1 detik naik.
kemudian catat hasil dari kp, poles, numCL, denCL. serta grafik step responnya Variasikan untuk 5 keadaan kedudukan akar yang mungkin terjadi, bandingkan hasilnya.
2. Desain sebuah controller bagi cruise kontrol, menggunakan transfer function dari cruise control. Kriterianya dumping ratio zet = 0.6 dan Wn = 0.36,
Catatlah hasil dari Kp, Poles, dan grafik step responnya untuk titik < -0.4, titik = -0.4 dan titik > -0.4