Anda di halaman 1dari 19

# PLANT SEPARATOR PEMODELAN MATEMATIS SWITCHING CONTROL PADA SEPARATOR DI SIMULATOR SISTEM PENGENDALIAN LEVEL

## ----------------------- PEMODELAN SISTEM -----------------------

PLANT

LEVEL TRANSMITTER

CONTROL VALVE

Sehingga

Dimana

X1 = y X2 = X3 =

[ ] [ ][ ] [ ]

Dimana

Dengan fungsi transfer dari plant diatas akan dilakukan pengendalian dengan 2 metode yaitu, tuning Ziegler-Nichols dan Kalman Filtering. METODE TUNING PID ZIEGLER-NICHOLS Listing program s=tf('s'); num=[3.719]; denum=[1 3.79 7.58]; G=tf(num,denum); k=dcgain(G); L=0.76; T=2.72-L; [Gc1,Kp1]=ziegler(1,[k,L,T,10]); [Gc2,Kp2,Ti2]=ziegler(2,[k,L,T,10]); [Gc3,Kp3,Ti3,Td3]=ziegler(3,[k,L,T,10]); G_c1=feedback(G*Gc1); G_c2=feedback(G*Gc2); G_c3=feedback(G*Gc3); step(G_c1,G_c2,G_c3); grid; title('Unit Step Responce'); legend('G_c1','G_c2','G_c3') dan dihasilkan grafik response unit step sebagai berikut:

Kontrol PID - Noise Criteria 0 dB Listing program s=tf('s'); num=[3.719]; denum=[1 3.79 7.58]; G=tf(num,denum); k=dcgain(G); L=0.76; T=2.72-L; [Gc1,Kp1]=ziegler(1,[k,L,T,10]); [Gc2,Kp2,Ti2]=ziegler(2,[k,L,T,10]); [Gc3,Kp3,Ti3,Td3]=ziegler(3,[k,L,T,10]); % Process noise dalam dB ydb1 = 0; pwr1 = db2pow(ydb1); R1 = 0.01; y1 = wgn(1,1,pwr1,R1); G_c1=feedback(G*Gc1,y1); G_c2=feedback(G*Gc2,y1); G_c3=feedback(G*Gc3,y1); step(G_c1,G_c2,G_c3); grid; title('Unit Step Responce'); legend('G_c1','G_c2','G_c3') dan grafik response yang dihasilkan sebagai berikut :

Kontrol PID - Noise Criteria 15 dB Listing program s=tf('s'); num=[3.719]; denum=[1 3.79 7.58]; G=tf(num,denum); k=dcgain(G); L=0.76; T=2.72-L; [Gc1,Kp1]=ziegler(1,[k,L,T,10]); [Gc2,Kp2,Ti2]=ziegler(2,[k,L,T,10]); [Gc3,Kp3,Ti3,Td3]=ziegler(3,[k,L,T,10]); % Process noise dalam dB ydb1 = 15; pwr1 = db2pow(ydb1); R1 = 0.01; y1 = wgn(1,1,pwr1,R1); G_c1=feedback(G*Gc1,y1); G_c2=feedback(G*Gc2,y1); G_c3=feedback(G*Gc3,y1); step(G_c1,G_c2,G_c3); grid; title('Unit Step Responce'); legend('G_c1','G_c2','G_c3')

## dengan listing program tersebut diperoleh grafik respon sebagai berikut :

METODE KALMAN FILTERING Listing Program % Fungsi transfer diubah dalam bentuk state space num=[3.719]; denum=[1 3.79 7.58]; [A B C D] = tf2ss(num,denum); % Note: set sample time yaitu -1 yang menyatakan bahwa sistem ini diskrit Plant = ss(A,[B B],C,0,-1,'inputname',{'u' 'w'},... 'outputname','y'); % Diasumsikan Q = R = 1 Q = 1; R = 1; [kalmf,L,P,M] = kalman(Plant,Q,R); kalmf = kalmf(1,:); % Desain sistem dengan kalman % u input step % w = input process noise % v = input sensor noise a = A; b = [B B 0*B]; c = [C;C]; d = [0 0 0;0 0 1]; P = ss(a,b,c,d,-1,'inputname',{'u' 'w' 'v'},... 'outputname',{'y' 'yv'}); sys = parallel(P,kalmf,1,1,[],[]) % Close loop around input #4 and output #2 SimModel = feedback(sys,1,4,2,1); % Delete yv from I/O list SimModel = SimModel([1 3],[1 2 3]); % Waktu Sampling T = 1 n = 0:50; nn = length(n); % Sinyal Input Step A = 1; % Amplitudo Step u = A*heaviside(n)'; % Inputan step dengan amplitudo A % Process Noise (tidak ada noise) ydb1 = 0; pwr1 = db2pow(ydb1); R1 = 0.01; y1 = 0*wgn(nn,1,pwr1,R1); % Process Noise (tidak ada noise) % Sensor Noise

ydb2 = 0; pwr2 = db2pow(ydb2); R2 = 0.001; y2 = 0*wgn(nn,1,pwr2,R2); % Sensor Noise (tidak ada noise) randn('seed',0) w = sqrt(Q)*y1; v = sqrt(R)*y2; [out,x] = lsim(SimModel,[w,v,u]); y = out(:,1); % true response ye = out(:,2); % filtered response yv = y + v; % measured response plot(n,yv,'o',n,yv,'-') v =[0 25 0 2.5]; axis(v); grid title('Unit Step Responce dengan Kalman Filter') xlabel('n') ylabel('y(n)') dengan listing program diatas diperoleh grafik respon sebagai berikut :

Metode Kalman Filtering - Noise Criteria 0 Db % Fungsi transfer diubah dalam bentuk state space num=[3.719]; denum=[1 3.79 7.58]; [A B C D] = tf2ss(num,denum); % Note: set sample time yaitu -1 yang menyatakan bahwa sistem ini diskrit Plant = ss(A,[B B],C,0,-1,'inputname',{'u' 'w'},... 'outputname','y'); % Diasumsikan Q = R = 1 Q = 1; R = 1; [kalmf,L,P,M] = kalman(Plant,Q,R); kalmf = kalmf(1,:); % Desain sistem dengan kalman % u input step % w = input process noise % v = input sensor noise a = A; b = [B B 0*B]; c = [C;C]; d = [0 0 0;0 0 1]; P = ss(a,b,c,d,-1,'inputname',{'u' 'w' 'v'},... 'outputname',{'y' 'yv'}); sys = parallel(P,kalmf,1,1,[],[]) % Close loop around input #4 and output #2 SimModel = feedback(sys,1,4,2,1); % Delete yv from I/O list SimModel = SimModel([1 3],[1 2 3]); % Waktu Sampling T = 1 n = 0:50; nn = length(n); % Sinyal Input Step A = 1; % Amplitudo Step u = A*heaviside(n)'; % Inputan step dengan amplitudo A % Process Noise (tidak ada noise) ydb1 = 0; pwr1 = db2pow(ydb1); R1 = 0.01; y1 = wgn(nn,1,pwr1,R1); % Process Noise (tidak ada noise) % Sensor Noise ydb2 = 0; pwr2 = db2pow(ydb2);

R2 = 0.001; y2 = wgn(nn,1,pwr2,R2); % Sensor Noise (tidak ada noise) randn('seed',0) w = sqrt(Q)*y1; v = sqrt(R)*y2; [out,x] = lsim(SimModel,[w,v,u]); y = out(:,1); % true response ye = out(:,2); % filtered response yv = y + v; % measured response plot(n,yv,'o',n,yv,'-') v =[0 25 0 2.5]; axis(v); grid title('Unit Step Responce dengan Kalman Filter') xlabel('n') ylabel('y(n)') diperoleh grafik respon sebagai berikut :

Metode Kalman Filtering - Noise Criteria 15 Db % Fungsi transfer diubah dalam bentuk state space num=[3.719]; denum=[1 3.79 7.58]; [A B C D] = tf2ss(num,denum); % Note: set sample time yaitu -1 yang menyatakan bahwa sistem ini diskrit Plant = ss(A,[B B],C,0,-1,'inputname',{'u' 'w'},... 'outputname','y'); % Diasumsikan Q = R = 1 Q = 1; R = 1; [kalmf,L,P,M] = kalman(Plant,Q,R); kalmf = kalmf(1,:); % Desain sistem dengan kalman % u input step % w = input process noise % v = input sensor noise a = A; b = [B B 0*B]; c = [C;C]; d = [0 0 0;0 0 1]; P = ss(a,b,c,d,-1,'inputname',{'u' 'w' 'v'},... 'outputname',{'y' 'yv'}); sys = parallel(P,kalmf,1,1,[],[]) % Close loop around input #4 and output #2 SimModel = feedback(sys,1,4,2,1); % Delete yv from I/O list SimModel = SimModel([1 3],[1 2 3]); % Waktu Sampling T = 1 n = 0:50; nn = length(n); % Sinyal Input Step A = 1; % Amplitudo Step u = A*heaviside(n)'; % Inputan step dengan amplitudo A % Process Noise (tidak ada noise) ydb1 = 15; pwr1 = db2pow(ydb1); R1 = 0.01; y1 = wgn(nn,1,pwr1,R1); % Process Noise (tidak ada noise) % Sensor Noise ydb2 = 15; pwr2 = db2pow(ydb2);

R2 = 0.001; y2 = wgn(nn,1,pwr2,R2); % Sensor Noise (tidak ada noise) randn('seed',0) w = sqrt(Q)*y1; v = sqrt(R)*y2; [out,x] = lsim(SimModel,[w,v,u]); y = out(:,1); % true response ye = out(:,2); % filtered response yv = y + v; % measured response plot(n,yv,'o',n,yv,'-') v =[0 25 0 2.5]; axis(v); grid title('Unit Step Responce dengan Kalman Filter') xlabel('n') ylabel('y(n)') dan diperoleh grafik respon seperti dibawah ini :

[ [

] ]

## Untuk Mengamati Apakah Sistem Terkontrol, Maka [ B | AB | A2B ]

Untuk

][

Untuk

] [

Sehingga [ B | AB | A2B ] = [ ]

Dan memiliki determinan sebesar 1,263319388108 yang berarti sistem tersebut TERKONTROL.

## Untuk Mengamati Apakah Sistem Terkontrol, Maka

Dimana [ ]

Untuk

][ ]

[ ]

Untuk

] [ ]

[ ]

Sehingga [ | | | ] | [ ] ]

Determinan [

## Jadi sistem tersebut dikatakan teramati.

POLE PLACEMENT Di Workshop Instrument akan membangun sebuah miniplant. Miniplant yang akan dirancang adalah simulator sistem pengendalian level dan temperatur. Dengan fluida kerja berupa air (water), dimana pada sistem tersebut terdiri dari 2 tangki, yaitu satu unit tangki horizontal yang berfungsi sebagai penampung air (storage) yang akan

menyalurkan fluida ke tangki berikutnya berupa tangki vertikal. Pada tangki vertikal dilengkapi dengan elemen pemanas (heater) yang berfungsi untuk menaikkan temperatur fluida sehingga debit air yang masuk merupakan variabel yang harus dimanipulasi agar tetap terjaga temperatur dan levelnya. Gambar dibawah ini merupakan P&ID dari tangki vertikal. Untuk itu diperlukan sistem pengendalian bertingkat ( cascade ) pada tangki vertikal dan switching control untuk mensirkulasikan air dari tangki vertikal ke

horisontal. Dari hasil karya TA yang sudah ada, Dari tugas akhir Fahruly merancang sistem pengendalian bertingkat (cascade control) temperatur dan level pada tangki vertikal. Sebagai pengendali pada sistem tersebut digunakan algoritma pengendalian PID controller.

Persamaan sistemnya adalah : Digunakan perbandingan dari tiga variasi pole yaitu pole kecil, pole menengah, dan pole besar untuk dibandingkan respon yang terjadi (maximum overshoot , settling time, dan peak time). Dengan memisalkan pada matriks pole : Pole kecil = Pole menengah = Pole besar = [ [ [ ] ] ]

Pole Kecil [ ]

A=[0 1 0;0 0 1; -1,06 -0,53 -0,14]; B=[0;0;0,00000057]; C=[1 0 0]; D=[0]; J1=[-50 -45 -40]; K1=acker(A,B,J1) ACL1=A-B*K1 t=0:0.1:5; y=step(ACL1,B,C,D,1,t); plot(t,y) K1 = 839.6686 ACL1 = 0 1 0 0 -90000 -6050 t=0:0.1:5; y=step(ACL1,B,C,D,1,t); plot(t,y) 0 1 -135 55.1462 1.0449

Diketahui bahwa nilai gain K = [ 839,6686 55,1462 1,0449 ] Sehingga mendapatkan bentuk persamaan state space yang baru berupa A close loop (ACL1) [ ]

## Dengan nilai gain K1 tersebut didapatkan

Pole Menengah [

A=[0 1 0;0 0 1; -1,06 -0,53 -0,14]; B=[0;0; 0,00000057]; C=[1 0 0]; D=[0]; J2=[-20 -15 -25]; K2=acker(A,B,J2) ACL2=A-B*K2 t=0:0.01:5; y=step(ACL2,B,C,D,1,t); plot(t,y) K2 = 67.7388 ACL2 = 0 1 0 0 -7500 -1175 t=0:0.01:5; y=step(ACL3,B,C,D,1,t); plot(t,y) 0 1 -60 9.5322 0.3431

diketahui bahwa nilai gain K = [ 67,7388 9,5322 0,3431 ] Sehingga mendapatkan bentuk persamaan state space yang baru berupa A close loop (ACL2). [ ]

## Dengan nilai gain K1 tersebut didapatkan

Pole Besar [

A=[0 1 0;0 0 1; -1,06 -0,53 -0,14]; B=[0;0; 0,00000057]; C=[1 0 0]; D=[0]; J3=[-10 -5 -25]; K3=acker(A,B,J3) ACL3=A-B*K3 t=0:0.01:5; y=step(ACL3,B,C,D,1,t); plot(t,y) K3 = 9.2593 ACL3 = 0 1 0 0 -1250 -425 t=0:0.01:5; y=step(ACL3,B,C,D,1,t); plot(t,y) 0 1 -40 2.5146 0.1560

Diketahui bahwa nilai gain K = [ 9,2593 2,5146 0,156 ] Sehingga mendapatkan bentuk persamaan state space yang baru berupa A close loop (ACL3). [ ]

## Dengan nilai gain K1 tersebut didapatkan

Dari kurva Pertama didapatkan tidak terjadi maximum overshoot dan respon sistem cepat mencapai steady hanya dalam 0,3 detik. Karena tidak memiliki overshoot maka tidak ada peak time.

Dari kurva Kedua didapatkan tidak terjadi maximum overshoot dan respon sistem mencapai steady hanya dalam 0,6 detik. Sama halnya pada pole kecil, maka tidak ada peak time.

Dari kurva Ketiga didapatkan tidak terjadi maximum overshoot pula. Respon sistem mencapai steady dalam 1,6 detik.Karena tidak memiliki overshoot maka tidak ada peak time.

KESIMPULAN

Berdasar variasinya, maka dapat dibuat tabel sebagai berikut Karakteristik Respon Maximum overshoot Settling time 0,3 0,6 1,6 Peak time -

## Pole Pole Kecil Pole Menengah Pole Besar

Dimana semakin besar pole yang diberikan maka waktu yang digunakan untuk mencapai kondisi steady juga semakin lama.