Eksperimen 4- Akar Kedudukan (Root Locus)
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 Jika dituliskan H(s) = b(s), maka persamaan ini mempunyai bentuk : Panduan Praktikum S1 Elins Eksp. Kontrol Digital
18
18
Eksperimen 4- Akar Kedudukan (Root Locus)
𝑎(𝑠) + 𝐾𝑏(𝑠) = 𝑎 𝑎 𝑠 +𝑏 𝑠 =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 = 180 o
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
19
19
Eksperimen 4- Akar Kedudukan (Root Locus)
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
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
20
20
Eksperimen 4- Akar Kedudukan (Root Locus)
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; G = syslin('c', 1,(s*(s+1)*(s+3))); Panduan Praktikum S1 Elins Eksp. Kontrol Digital
21
21
Eksperimen 4- Akar Kedudukan (Root Locus)
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 3
clear; clc; xdel ( winsid ()); exec("rootl.sci"); Panduan Praktikum S1 Elins Eksp. Kontrol Digital
22
22
Eksperimen 4- Akar Kedudukan (Root Locus)
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
23
23
Eksperimen 4- Akar Kedudukan (Root Locus)
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
24
24
Eksperimen 4- Akar Kedudukan (Root Locus)
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
Panduan Praktikum S1 Elins Eksp. Kontrol Digital
25
25