• Tidak ada hasil yang ditemukan

Laporan Praktikum Dan Sistem Kendali

N/A
N/A
Protected

Academic year: 2018

Membagikan "Laporan Praktikum Dan Sistem Kendali"

Copied!
65
0
0

Teks penuh

(1)

BAB I

Sistem Motor Arus Searah

% Data-data Motor Arus Searah Ka = 10;

Ta = 0.05; Td = 1; Te = 6; Tr = 0.02;

% Fungsi ALih Lingkar Terbuka

disp('Fungsi Alih Lingkar Terbuka') num=[0 0 Ka];

den=[((1*Ta*Te*Td)/Tr)]; sys_o1=tf(num,den)

disp ('Fungsi Alih Lingkar Tertutup') sys_cl=feedback(sys_o1,1)

Hasil Program

Fungsi Alih Lingkar Terbuka

sys_o1 =

0.01

--- 0.005 s^2 + 0.06 s + 0.1001

Continous-time transfer function.

fungsi alih tertutup

sys_c1 =

0.01

---0.005 s^2 + 0.06 s + 0.1101 continous time transfer function

(2)

Percobaan 1

Analisa Perfomansi Dalam Domain Waktu

clc

clear all

close all

close all hidden

%

% Data-data Motor Arus Searah Ka = 10;

Ta = 0.05; Td = 1; Te = 6; Tr = 0.02;

% Fungsi ALih Lingkar Terbuka

disp('Fungsi Alih Lingkar Terbuka') num=[0 0 Ka];

den=[((1*Ta*Te*Td)/Tr)]; sys_o1=tf(num,den)

disp ('Fungsi Alih Lingkar Tertutup') sys_c1=feedback(sys_o1,1)

%

% disp('Perfomansi Lingkar Terbuka dalam Domain Waktu') num_c1=get(sys_c1,'num');

den_c1=get(sys_c1,'den'); t=0:0.1:10.00;

[y,x,t]=step(num_c1,den_c1); P = stepinfo(sys_c1)

k = max(y);

tv = sum(abs(diff(y))); k1 = sort(y,'descend'); k2 = k1(1);

k3 = k1(2); K = k3/k2;

e1 = abs(1-dcgain(sys_c1)); EV = (tv/abs(dcgain(sys_c1)));

fprintf('Total Variasi = %10.5g\n',tv) fprintf('Decay Rasio = %10.5g\n',K) fprintf('Steady State Offset = $10.5g\n',e1) fprintf('Excess Variation = %10.5g\n',EV) %Tanggapan Terhadap Masukan Undak Masukan t = 0:0.01:10;

[y,x,t] = step (num_c1,den_c1,t); plot (t,y);

grid on

title('Tanggapan Terhadap Masukan Undak Satuan') ylabel('keluaran')

(3)

Hasil Program

Hasil Grafik

Percobaan 2 Analisa Perfomansi Dalam Domain Frekuensi

clc

clear all

close all

close all hidden

% Data-data Motor Arus Searah Ka = 10;

Ta = 0.05; Td = 1; Te = 6; Tr = 0.02;

% Fungsi ALih Lingkar Terbuka

(4)

num=[0 0 Ka];

den=[((1*Ta*Te*Td)/Tr)]; sys_o1=tf(num,den)

disp ('Fungsi Alih Lingkar Tertutup') sys_cl=feedback(sys_o1,1)

disp('Fungsi ALih Lingkar Tertutup') sys_cl=feedback(sys_o1,1)

%

%Perfomansi Lingkar Terbuka dalam Domain Frekuensi

disp('Perfomansi Lingkar Terbuka dalam Domain Frekuensi') [Gm,Pm,Wgm,Wpm] = margin (sys_o1);

fprintf('Margin Penguatan = %10.5 \n',Gm) fprintf('Margin Fasa = %10.5 \n',Pm) fprintf('Frekuensi Margin Penguatan = %10.5 \n',Wgm) fprintf('Frekuensi Margin Fasa = %10.5 \n',Wpm) %

% Digram Bode margin (sys_o1) grid on

Hasil Program

(5)

Perfomansi sistem lingkar tertutup dalam domain frekuensi meliputi nilai puncak

resonansi frekuensi puncak resonansi dan lebar pita

clc

clear all

close all

close all hidden

% Data-data Motor Arus Searah J = 1;

b = 0.16; K = 0.99; R = 0.11; L = 0.5;

% Fungsi ALih Lingkar Terbuka

disp('Fungsi Alih Lingkar Terbuka') num=[0 0 K];

den=[(J*L) ((J*R)+(b*L)) ((b*R)+(K*K))]; sys_o1=tf(num,den)

%

disp('Fungsi Alih Lingkar Tertutup') sys_c1=feedback(sys_o1,1)

% Diagram Magnitude Bode Sistem Eksitasi Generator bodemag(sys_c1)

grid on

(6)

Hasil Grafik

Percobaan 4 Analisa Kestabilan

clc

clear all

close all

close all hidden

% Data-data Motor Arus Searah Ka = 10;

Ta = 0.05; Td = 1; Te = 6; Tr = 0.02;

% Fungsi ALih Lingkar Terbuka

disp('Fungsi Alih Lingkar Terbuka') num=[0 0 Ka];

(7)

sys_o1=tf(num,den)

disp ('Fungsi Alih Lingkar Tertutup') sys_cl=feedback(sys_o1,1)

disp('Fungsi Alih Lingkar Tertutup') sys_cl=feedback(sys_o1,1)

%

% Periksa Kestabilan dengan Kriteria Nyquist nyquist(num,den)

grid on

Hasil Program

(8)

Diagram Nynquist dari gambar diatas

clc

clear all

close all

close all hidden

% Data-data Motor Arus Searah J = 1;

b = 0.16; K = 0.99; R = 0.11; L = 0.5;

% Fungsi ALih Lingkar Terbuka

disp('Fungsi Alih Lingkar Terbuka') num=[0 0 K];

den=[(J*L) ((J*R)+(b*L)) ((b*R)+(K*K))]; sys_o1=tf(num,den)

%

disp('Fungsi Alih Lingkar Tertutup') sys_cl=feedback(sys_o1,1)

%

% Periksa Kestabilan dengan Kriteria Bode [Gm,Pm,Wgm,Wpm] = margin (sys_o1);

K = 1/Gm if (K<1)

disp ('Sistem Stabil') else

disp('Sistem Tidak Stabil') end

(9)

Percobaan 4 Analisa Kekokohan

clc

clear all

close all

close all hidden

% Data-data Motor Arus Searah Ka = 10;

Ta = 0.05; Td = 1; Te = 6; Tr = 0.02;

% Fungsi ALih Lingkar Terbuka

disp('Fungsi Alih Lingkar Terbuka') num=[0 0 Ka];

den=[((1*Ta*Te*Td)/Tr)]; sys_o1=tf(num,den)

%

disp('Fungsi Alih Lingkar Tertutup') sys_c1=feedback(sys_o1,1)

%

%Fungsi Alih Fungsi Sensitifitas

disp ('Fungsi Alih Fungsi Sensistivitas') S=1 - sys_c1

%

%Kriteria Puncak Maksimun

disp('Kriteria Puncak Maksimun Fungsi Sensitivitas Komplementer') Mt=norm((1 - sys_c1),inf,4)

disp('Kriteria Puncak Maksimun Fungsi Sensitivitas Komplementer') Mt=norm(sys_c1,inf,4)

%

%Tanggapan Fungsi Sensitivitas dan Fungsi Sensitivitas Komplementer

loops=loopsens(tf(num,den),1); bode(loops.Si,'r',loops.Ti,'b')

hleg=legend('Fungsi Sensitivitas','Fungsi Sensitivitas Komplementer');

grid on

(10)

Hasil Grafik

BAB II

Perancangan dan Analisa Sistem Kendali Kecepatan Motor Arus Searah dengan

Pengendali Proposional (P)

(11)

clc

clear all

close all

close all hidden

% Data-data Motor Arus Searah Ka = 10;

Ta = 0.05; Td = 1; Te = 6; Tr = 0.02;

% Fungsi ALih Lingkar Terbuka

disp('Fungsi Alih Lingkar Terbuka') num=[0 0 Ka];

den=[((1*Ta*Te*Td)/Tr)]; sys_o1=tf(num,den)

disp ('Fungsi Alih Lingkar Tertutup') sys_cl=feedback(sys_o1,1)

Kp=input('Konstanta Kp->'); num1=[0 0 Ka];

den1=[((1*Ta*Te*Td)/Tr)];

disp('Fungsi Alih Lingkar Terbuka dengan Kendali P') sys_o1=tf(num,den)

disp('Fungsi Alih Lingkar Tertutup dengan Kendali P') sys_cp1=tf(num1,den1)

Hasil Program

Percobaan 1 Analisa Perfomansi Dalam Domain Waktu

clc

clear all

close all

close all hidden

(12)

Ta = 0.05; Td = 1; Te = 6; Tr = 0.02;

% Fungsi ALih Lingkar Terbuka

disp('Fungsi Alih Lingkar Terbuka') num=[0 0 Ka];

den=[((1*Ta*Te*Td)/Tr)]; sys_o1=tf(num,den)

disp ('Fungsi Alih Lingkar Tertutup') sys_cl=feedback(sys_o1,1)

disp('Fungsi Alih Lingkar Terbuka dengan Kendali P') sys_op1=tf(num,den)

disp('Fungsi Alih Lingkar Tertutup dengan Kendali P') num1=[0 0 0.01];

(13)

EssStep = 0; EssRamp = 0; EssParab=1/Ka;

EssStep =inf; EssRamp =inf; EssParab=inf; end

fprintf('Tipe Sistem adalah %2.0f\n',systype)

fprintf('Kostanta Kesalahan Posisi (Kp)adalah %5,4f\n', Kp) fprintf('Kostanta Kesalahan Kecepatan (Kv)adalah %5,4f\n', Kv) fprintf('Kostanta Kesalahan Percepatan (Ka)adalah %5,4f\n', Ka) fprintf('Kesalahan Keadaan Mantap Untuk Masukan Undak adalah %5,4f\n', EssStep)

fprintf('Kesalahan Keadaan Mantap Untuk Masukan Laju adalah %5,4f\ n', EssRamp)

fprintf('Kesalahan Keadaan Mantap Untuk Masukan Parabolik adalah %5,4f\n', EssParab)

Kp=input ('Konstanta Kp ->'); num2=[0 0 (0.01*Kp)];

den2=[0.0005 0.06 (0.1101+Kp)];

disp('Fungsi Alih Lingkar Terbuka dengan Kendali P') sys_op1=tf(num,den)

(14)

else

fprintf('Tipe Sistem adalah %2.0f\n',systype)

fprintf('Kostanta Kesalahan Posisi (Kp)adalah %5,4f\n', Kp) fprintf('Kostanta Kesalahan Kecepatan (Kv)adalah %5,4f\n', Kv) fprintf('Kostanta Kesalahan Percepatan (Ka)adalah %5,4f\n', Ka) fprintf('Kesalahan Keadaan Mantap Untuk Masukan Undak adalah %5,4f\n', EssStep)

fprintf('Kesalahan Keadaan Mantap Untuk Masukan Laju adalah %5,4f\ n', EssRamp)

fprintf('Kesalahan Keadaan Mantap Untuk Masukan Parabolik adalah %5,4f\n', EssParab)

(15)

Program Parameter

clc

clear all

close all

close all hidden

% Data-data Motor Arus Searah Ka = 10;

Ta = 0.05; Td = 1; Te = 6; Tr = 0.02;

% Fungsi ALih Lingkar Terbuka

disp('Fungsi Alih Lingkar Terbuka') num=[0 0 Ka];

den=[((1*Ta*Te*Td)/Tr)]; sys_o1=tf(num,den)

disp ('Fungsi Alih Lingkar Tertutup') Kp=input('Kostanta Kp ->');

num2=[0 0 (0.01*Kp)];

den2=[0.005 0.06 (0.1101+Kp)]; sys_cp1=tf(num,den)

%

disp('Perfomansi Lingkar Terbuka dalam Domain Waktu') num_cp1=get(sys_cp1,'num');

den_cp1=get(sys_cp1,'den'); t=0:0.01:10.00;

[y,x,t]=step(num_cp1,den_cp1); P = stepinfo(sys_cp1);

k = max(y);

tv = sum(abs(diff(y))); k1 = sort(y,'descend'); k2 = k1(1);

k3 = k1(2); K = k3/k2;

e1 = abs(1-dcgain(sys_cp1)); EV = (tv/abs (dcgain(sys_cp1)));

(16)

fprintf('Steady State Offset = %10.5g \n', e1) fprintf('Excess Variation = %10.5g \n', EV) % Tanggapan Terhadap Masukan Undak Satuan

t = 0:0.01:10;

[y,x,t] = step(num_cp1,den_cp1,t); plot(t,y);

grid on

title('Tanggapan Terhadap Masukan Undak Satuan') ylabel('Keluaran')

xlabel('detik')

Hasil Program

Percobaan 2 Analisa Perfomansi dalam Domain Frekuensi

clc

clear all

close all

close all hidden

%

% Data-data Motor Arus Searah Ka = 10;

Ta = 0.05; Td = 1; Te = 6; Tr = 0.02;

% Fungsi ALih Lingkar Terbuka

disp('Fungsi Alih Lingkar Terbuka') num=[0 0 Ka];

den=[((1*Ta*Te*Td)/Tr)]; sys_o1=tf(num,den)

disp ('Fungsi Alih Lingkar Tertutup') sys_c1=feedback(sys_o1,1)

(17)

Kp=input('Konstanta Kp->'); num=[0 0 (Td*Kp)];

den=[((1*Ta*Te*Td)/Tr)]; sys_op1=tf(num,den)

disp('Perfomansi Lingkar Tertutup dalam Domain Frekuensi') num2=[0 0 (0.01*Kp)];

den2=[0.005 0.06 (0.1101+Kp)]; sys_cp1=tf(num2,den2)

%Diagram Magnitude Bode Sistem Eksistei Generator bodemag(sys_c1,'-',sys_cp1,'-')

grid on

hleg=legend('Tanpa Pengendali Propotional(P)['-'] dengan pengendali Propotional (p) ['--']')

Hasil Program

(18)

Perfomansi sistem lingkar tertutup dalam domain frekuensi meliputi nilai puncak

resonansi, frekuensi puncak dan lebar pita

clc

clear all

close all

close all hidden

%

% Data-data Motor Arus Searah Ka = 10;

Ta = 0.05; Td = 1; Te = 6; Tr = 0.02;

% Fungsi ALih Lingkar Terbuka

disp('Fungsi Alih Lingkar Terbuka') num=[0 0 Ka];

den=[((1*Ta*Te*Td)/Tr)]; sys_o1=tf(num,den)

disp ('Fungsi Alih Lingkar Tertutup') sys_cl=feedback(sys_o1,1)

%

%Perfomansi Lingkar Terbuka dalam Domain Frekuensi

disp('Perfomansi Lingkar Terbuka dalam Domain Frekuensi') [Gm,Pm,Wgm,Wpm] = margin(sys_o1);

fprintf('Margin Penguatan = %10.5 \n',Gm) fprintf('Margin Fasa = %10.5 \n',Pm) fprintf('Frekuensi Margin Penguatan = %10.5 \n',Wgm) fprintf('Frekuensi Margin Fasa = %10.5 \n',Wpm) %

disp('Fungsi Alih Lingkar Terbuka dengan Kendali P') Kp=input('Konstanta Kp->');

num=[0 0 Ka];

den=[((1*Ta*Te*Td)/Tr)]; sys_op1=tf(num,den)

%Perfomansi Lingkar Terbuka dalam Domain Frekuensi

disp('Perfomansi Lingkar Tertutup dalam Domain Frekuensi') num2=[0 0 (0.01*Kp)];

den2=[0.005 0.06 (0.1101+Kp)]; sys_cp1=tf(num2,den2)

(19)

disp('Perfomansi Lingkar Terbuka dalam Domain Frekuensi') [Gm,Pm,Wgm,Wpm] = margin (sys_op1);

fprintf('Margin Penguatan = %10.5 \n',Gm) fprintf('Margin Fasa = %10.5 \n',Pm) fprintf('Frekuensi Margin Penguatan = %10.5 \n',Wgm) fprintf('Frekuensi Margin Fasa = %10.5 \n',Wpm) %Diagram Bode Tanpa dan Dengan Kendali Propotional (p) bode(sys_o1,'-',sys_op1,'--')

grid on

Hasil Program

Percobaan 3 Analisa Kestabilan

clc

clear all

close all

close all hidden

% Data-data Motor Arus Searah Ka = 10;

Ta = 0.05; Td = 1; Te = 6; Tr = 0.02;

disp ('Fungsi Alih Lingkar Terbuka dengan Kendali P') Kp=input('Konstanta Kp ->');

num=[0 0 Ka];

den=[((1*Ta*Te*Td)/Tr)]; sys_op1=tf(num,den)

disp ('Fungsi Alih Lingkar Tertutup dengan Kendali P') num2=[0 0 (0.01*Kp)];

den2=[0.005 0.06 (0.1101+Kp)]; sys_cp1=tf(num2,den2)

%

% Periksa Kestabilan dengan Kriteria Bode [Gm,Pm,Wgm,Wpm] = margin (sys_op1);

(20)

if (K < 1)

disp('Sistem Stabil') else

('Sistem Tidak Stabil') end

% Periksa Kestabilan dengan Kriteria Nyqist nyquist(sys_cp1)

grid on

Hasil Program

(21)

Percobaan 4 Analisa Kekokohan

clc

clear all

close all

close all hidden

% Data-data Motor Arus Searah Ka = 10;

Ta = 0.05; Td = 1; Te = 6; Tr = 0.02;

% Fungsi ALih Lingkar Terbuka

disp('Fungsi Alih Lingkar Terbuka') num=[0 0 Ka];

den=[((1*Ta*Te*Td)/Tr)]; sys_o1=tf(num,den)

disp ('Fungsi Alih Lingkar Tertutup') sys_c1=feedback(sys_o1,1)%

% Fungsi alih Fungsi Sensitifitas

disp ('Fungsi Alih Fungsi Sensitifitas') s=1 - sys_c1

%

%Kriteria Puncak Maksimum

disp('Kriteria Puncak Maksimum Fungsi Sensitivitas') Ms=norm((1 - sys_c1),inf,1e-4)

disp('Kriteria Puncak Maksimum Fungsi Sensitivitas Komplementer') Mt=norm(sys_c1,inf,1e-4)

disp ('Fungsi Alih Lingkar Terbuka dengan Kendali P') Kp=input('Konstanta Kp ->');

num=[0 0 Ka];

den=[((1*Ta*Te*Td)/Tr)]; sys_op1=tf(num,den)

disp ('Fungsi Alih Lingkar Tertutup dengan Kendali P') num2=[0 0 (0.01*Kp)];

den2=[0.005 0.06 (0.1101+Kp)]; sys_cp1=tf(num2,den2)

% Fungsi alih Fungsi Sensitifitas

(22)

s=1 - sys_cp1 %

%Kriteria Puncak Maksimum

disp('Kriteria Puncak Maksimum Fungsi Sensitivitas dengan Kendali P')

Ms_p=norm((1 -sys_cp1),inf,1e-4)

disp('Kriteria Puncak Maksimum Fungsi Sensitivitas Komplementer dengan Kendali P')

%

% Tanggapan Fungsi Sensitivitas dan Fungsi Sensitivitas Komplementer

loops=loopsens(tf(num2,den2),1); bode(loops.Si,'r',loops.Ti,'b')

hleg=legend('Fungsi Sensitivitas','Fungsi Sensitivitas Komplementer');

grid on

Hasil Program

(23)

BAB III

Perancangan dan Analisa Sistem Kendali Kecepatan Motor Arus Searah dengan

Pengendali Proposional Integral (PI)

clc

clear all

close all

(24)

% Data-data Motor Arus Searah Ka = 10;

Ta = 0.05; Td = 1; Te = 6; Tr = 0.02;

% Fungsi ALih Lingkar Terbuka

disp('Fungsi Alih Lingkar Terbuka') num=[0 0 Ka];

den=[((1*Ta*Te*Td)/Tr)]; sys_o1=tf(num,den)

%

disp ('Fungsi Alih Lingkar Tertutup') sys_c1=feedback(sys_o1,1)

Kp=input('Konstanta Kp ->'); Ki=input('Konstanta Ki ->'); den1=[((1*Ta*Te*Td)/Tr) 0]; num2=[0 0 (Td*Kp) Ki];

den2=[((1*Ta*Te*Td)/Tr) Ki];

disp('Fungsi Alih Lingkar Terbuka dengan Kendali PI') sys_opi1=tf(num2,den1)

disp('Fungsi Alih Lingkar Tertutup dengan Kendali PI') sys_cpi1=tf(num2,den2)

Hasil Program

Percobaan 1 Analisa Perfomansi dalam Domain Waktu

clc

clear all

close all

close all hidden

% Data-data Motor Arus Searah J = 10;

(25)

K = 1; R = 6; L = 0.02;

% Fungsi Alih Lingkar Terbuka num=[0 0 K];

den=[(J*L) ((J*R)+(b*L)) ((b*R)+(K*K))]; disp('Fungsi Alih Lingkar Terbuka') sys_o1=tf(num,den)

%

(26)

Kp=inf; Kv=inf; Ka=inf; adalah %5.4f \n', EssStep)

fprintf('Kesalahan Keadaan Mantap Untuk Masukan Laju adalah %5.4f \n', EssRamp)

fprintf('Kesalahan Keadaan Mantap Untuk Masukan Parabolik adalah %5.4f \n', EssParab)

Kp=input('Konstanta Kp ->'); Ki=input('Konstanta Ki ->');

den1=[(J*L) ((J*R)+(b*L)) ((b*R)+(K*K)) 0]; num2=[0 0 (K*Kp) Ki];

den2=[(J*L) ((J*R)+(b*L)) ((b*R)+(K*K)+Kp) Ki];

disp('Fungsi Alih Lingkar Terbuka dengan Kendali PI') sys_opi1=tf(num2,den1)

(27)

kn=kn*p(i); adalah %5.4f \n', EssStep)

fprintf('Kesalahan Keadaan Mantap Untuk Masukan Laju adalah %5.4f \n', EssRamp)

fprintf('Kesalahan Keadaan Mantap Untuk Masukan Parabolik adalah %5.4f \n', EssParab)

(28)

Perfomansi untuk menentukan perfomansi lingkar tertutup dalam domain waktu

meliputi waktu naik, waktu puncak, nilai puncak, lewetan maksimum, waktu

keadaan mantap, total variasi, decay info, steady state offset dan excess variation.

clc

clear all

close all

close all hidden

Ka = 10; Ta = 0.05; Td = 1; Te = 6; Tr = 0.02;

% Fungsi ALih Lingkar Terbuka

disp('Fungsi Alih Lingkar Terbuka') num=[0 0 Ka];

den=[((1*Ta*Te*Td)/Tr)]; sys_o1=tf(num,den)

disp ('Fungsi Alih Lingkar Tertutup') sys_c1=feedback(sys_o1,1)

% disp('Performansi Lingkar Terbuka dalam Domain waktu') num_c1=get(sys_c1,'num');

den_c1=get(sys_c1,'den'); t=0:0.01:10.00;

[y,x,t]=step(num_c1,den_c1); P = stepinfo(sys_c1)

k = max(y);

tv = sum(abs(diff(y))); k1 = sort(y,'descend'); k2 = k1(1);

k3 = k1(2); K = k3/k2;

e1 = abs(1-dcgain(sys_c1)); EV = (tv/abs(dcgain(sys_c1)));

fprintf('Total Variasi = %10.5g \n',tv) fprintf('Decay Rasio = %10.5g \n',K)

fprintf('Steady State Offset = %10.5g \n',e1) fprintf('Excess Variation = %10.5g \n',EV) % Tanggapan Terhadap masukan Undak Satuan t=0:0.01:10.00;

(29)

Kp=input('Konstanta Kp ->'); Ki=input('Konstanta Ki ->'); den1=[((1*Ta*Te*Td)/Tr) 0]; num2=[0 0 K Ki];

den2=[((1*Ta*Te*Td)/Tr) Ki];

disp('Fungsi Alih Lingkar Terbuka dengan Kendali PID') sys_opi1=tf(num2,den1)

disp('Fungsi Alih Lingkar Tertutup dengan Kendali PID') sys_cpi1=tf(num2,den2)

% disp('Performansi Lingkar Terbuka dalam Domain waktu') num_cpi1=get(sys_cpi1,'num');

den_cpi1=get(sys_cpi1,'den'); t=0:0.01:10.00;

[y_pi1,x_pi1,t_pi1]=step(num_cpi1,den_cpi1); P_pi1 = stepinfo(sys_cpi1)

k_pi1 = max(y);

tv_pi1 = sum(abs(diff(y))); k1_pi1 = sort(y,'descend'); k2_pi1 = k1(1);

k3_pi1 = k1(2); K_pi1 = k3/k2;

e1_pi1 = abs(1-dcgain(sys_cpi1)); EV_pi1 = (tv/abs(dcgain(sys_cpi1)));

fprintf('Total Variasi = %10.5g \n',tv_pi1) fprintf('Decay Rasio = %10.5g \n',K_pi1)

fprintf('Steady State Offset = %10.5g \n',e1_pi1) fprintf('Excess Variation = %10.5g \n',EV_pi1) % Tanggapan Terhadap masukan Undak Satuan t=0:0.01:10.00;

[y_pi1,x_pi1,t_pi1]=step(num_cpi1,den_cpi1,t); plot(t,y,'b',t,y_pi1,'r');

grid on

title ('Tanggapan terhadap Masukan Undak satuan')

hleg=legend('Tanpa Pengendali Proportional Integral (PI)','dengan Pengendali Proportional Integral (PI)');

ylabel('keluaran y') xlabel('detik (detik)')

(30)

Hasil Grafik

Percobaan 3 Analisa Perfomansi dalam Domain Frekuensi

% Data-data Motor Arus Searah Ka = 10;

Ta = 0.05; Td = 1; Te = 6; Tr = 0.02;

% Fungsi ALih Lingkar Terbuka

disp('Fungsi Alih Lingkar Terbuka') num=[0 0 Ka];

den=[((1*Ta*Te*Td)/Tr)]; sys_o1=tf(num,den)

%

disp ('Fungsi Alih Lingkar Tertutup') sys_c=feedback(sys_o1,1)

%

% Perpormansi Lingkar Terbuka dalam Domain Frekuensi disp('Performansi Lingkar Terbuka dalam Domain waktu') [Gm,Pm,Wgm,Wpm] = margin(sys_o1);

(31)

fprintf('Frekuensi Margin Penguatan = %10.5g \n',Wgm) fprintf('Frekuensi Margin Fasa = %10.5g \n',Wpm) %

disp('Fungsi Alih Lingkar Terbuka dengan Kendali PI') Kp=input('Konstanta Kp ->');

Ki=input('Konstanta Ki ->'); den1=[((1*Ta*Te*Td)/Tr) 0]; num2=[0 0 Ka Ki];

den2=[((1*Ta*Te*Td)/Tr) Ki];

disp('Fungsi Alih Lingkar Terbuka dengan Kendali PI') sys_opi1=tf(num2,den1)

disp('Fungsi Alih Lingkar Tertutup dengan Kendali PI') sys_cpi1=tf(num2,den2)

% Perpormansi Lingkar Terbuka dalam Domain Frekuensi disp('Performansi Lingkar Terbuka dalam Domain Frekuensi') [Gm,Pm,Wgm,Wpm] = margin(sys_opi1);

fprintf('Margin Penguatan = %10.5g \n',Gm) fprintf('Margin fasa = %10.5g \n',Pm)

fprintf('Frekuensi Margin Penguatan = %10.5g \n',Wgm) fprintf('Frekuensi Margin Fasa = %10.5g \n',Wpm)

% Diagram Bode Tanpa dan Dengan Pengendali Proportional Integral (PI)

bode(sys_o1, 'b',sys_opi1,'r') grid on

hleg=legend('Tanpa Pengendali Proportional Integral Diferensial (PID)','dengan Pengendali Proportional Integral (PI)');

(32)

Hasil Grafik

Perfomansi sistem lingkar tertutup dalam domain frekuensi meliputi nilai puncak

resonansi, frekuensi puncak resonansi dan lebar pita.

clc

clear all

close all

close all hidden

% Data-data Motor Arus Searah Ka = 10;

Ta = 0.05; Td = 1; Te = 6; Tr = 0.02;

% Fungsi ALih Lingkar Terbuka

disp('Fungsi Alih Lingkar Terbuka') num=[0 0 Ka];

den=[((1*Ta*Te*Td)/Tr)]; sys_o1=tf(num,den)

(33)

%

disp('Fungsi Alih Lingkar Terbuka dengan Kendali PI') Kp=input('Konstanta Kp ->');

Ki=input('Konstanta Ki ->'); den1=[((1*Ta*Te*Td)/Tr) 0]; num2=[0 0 Ka Ki];

den2=[((1*Ta*Te*Td)/Tr) Ki];

disp('Fungsi Alih Lingkar Terbuka dengan Kendali PI') sys_opi1=tf(num2,den1)

disp('Fungsi Alih Lingkar Tertutup dengan Kendali PI') sys_cpi1=tf(num2,den2)

%

% Performansi Lingkar Tertutup dalam Domain Frekuensi disp('Performansi Lingkar Tertutup dalam Domain frekuensi')

% Diagram Magnitude Bode Sistem Eksitasi Generator bodemag(sys_c1,'b',sys_cpi1,'r')

grid on

hleg=legend('Tanpa Pengendali Proportional Integral (PI)','dengan Pengendali Proportional Integral (PI)');

Hasil Program

(34)

Percobaan 4 Analisa Kestabilan

clc

clear all

close all

close all hidden

% Data-data Motor Arus Searah % Data-data Motor Arus Searah Ka = 10;

Ta = 0.05; Td = 1; Te = 6; Tr = 0.02;

disp('Fungsi Alih Lingkar Terbuka dengan Kendali PI') Kp=input('Konstanta Kp ->');

Ki=input('Konstanta Ki ->'); den1=[((1*Ta*Te*Td)/Tr) 0]; num2=[0 0 Ka Ki];

den2=[((1*Ta*Te*Td)/Tr) Ki];

disp('Fungsi Alih Lingkar Terbuka dengan Kendali PI') sys_opi1=tf(num2,den1)

disp('Fungsi Alih Lingkar Tertutup dengan Kendali PI') sys_cpi1=tf(num2,den2)

%

% Periksa Kestabilan dengan Kriteria Bode [Gm,Pm,Wgm,Wpm] = margin (sys_opi1); K = 1/Gm

if (K < 1)

disp('Sistem Stabil') else

disp('Sistem Tidak Stabil') end

% Periksa Kestabilan dengan Kriteria Nyquist nyquist(sys_cpi1)

grid on

(35)

Hasil Grafik

Percobaan 5 Analisa Kekokohan

clc

clear all

close all

close all hidden

% Data-data Motor Arus Searah Ka = 10;

Ta = 0.05; Td = 1; Te = 6; Tr = 0.02;

% Fungsi ALih Lingkar Terbuka

disp('Fungsi Alih Lingkar Terbuka') num=[0 0 Ka];

den=[((1*Ta*Te*Td)/Tr)]; sys_o1=tf(num,den)

disp ('Fungsi Alih Lingkar Tertutup') sys_c1=feedback(sys_o1,1)

%

(36)

disp('Fungsi Alih Fungsi Sensitivitas') S=1 - sys_c1

%

% Kriteria Puncak Maksimum

disp('Kriteria Puncak Maksimum Fungsi Sensitivitas') Ms=norm((1 - sys_c1),inf,1e-4)

disp('Kriteria Puncak Maksimum Fungsi Sensitivitas Komplementer') Ms=norm(sys_c1,inf,1e-4)

disp('Fungsi Alih Lingkar Terbuka dengan Kendali PI') Kp=input('Konstanta Kp ->');

Ki=input('Konstanta Ki ->'); den1=[((1*Ta*Te*Td)/Tr) 0]; num2=[0 0 Ka Ki];

den2=[((1*Ta*Te*Td)/Tr) Ki];

disp('Fungsi Alih Lingkar Terbuka dengan Kendali PI') sys_opi1=tf(num2,den1)

disp('Fungsi Alih Lingkar Tertutup dengan Kendali PI') sys_cpi1=tf(num2,den2)

% Fungsi Alih Fungsi Sensitivitas

disp('Fungsi Alih Fungsi Sensitivitas') S=1 - sys_cpi1

%

% Kriteria Puncak Maksimum

disp('Kriteria Puncak Maksimum Fungsi Sensitivitas dengan Kendali PID')

Ms_p=norm((1 - sys_cpi1),inf,1e-4)

disp('Kriteria Puncak Maksimum Fungsi Sensitivitas Komplementer dengan Kendali PI')

Mt_p=norm(sys_cpi1,inf,1e-4)

%

% Tnggapan Fungsi Sensitivitas dan Fungsi Sensitivitas komplementer

loops=loopsens(tf(num2,den2),1); bode(loops.Si,'r',loops.Ti,'b')

hleg=legend('Fungsi Sensitivitas','Fungsi Sensitivitas Komplementer');

grid on

(37)

Hasil Grafik

BAB IV

Perancangan dan Analisa Sistem Kendali Kecepatan Motor Arus Searah dengan

Pengendali Proposal Differensial (PD)

clc

clear all

close all

close all hidden

(38)

Ta = 0.05; Td = 1; Te = 6; Tr = 0.02;

% Fungsi ALih Lingkar Terbuka

disp('Fungsi Alih Lingkar Terbuka') num=[0 0 Ka];

den=[((1*Ta*Te*Td)/Tr)]; sys_o1=tf(num,den)

disp ('Fungsi Alih Lingkar Tertutup') sys_c1=feedback(sys_o1,1)

%

%Performasi Lingkar Terbuka dalam Domain Frekuensi

disp('Performasi Lingkar Terbuka dalam Domain Frekuensi') [Gm,Pm,Wgm,Wpm] = margin (sys_o1);

fprintf('Margin Penguatan = %10.5g \n',Gm) fprintf('Margin Fasa = %10.5g \n',Pm) fprintf('Frekuensi Margin Penguatan = %10.5g \n',Wgm) fprintf('Frekuensi Margin Fasa = %10.5g \n',Wpm) %

disp('Fungsi Alih Lingkar Terbuka dengan Kendali PD') Kp=input('Konstanta Kp->');

Kd=input('Konstatan Kd->'); den1=[((1*Ta*Te*Td)/Tr)]; num2=[0 (0.01*Kd) Kp];

den2=[(((1*Ta*Te*Td)/Tr)+Kp)];

disp('Fungsi Alih Lingkar Tertutup dengan Kendali PD') sys_cpd1=tf(num2,den2)

%Performasi Lingkar Terbuka dalam Domain Frekuensi

disp('Performasi Lingkar Terbuka dalam Domain Frekuensi') [Gm,Pm,Wgm,Wpm] = margin(sys_cpd1);

fprintf('margin Penguatan = %10.5g \n',Gm) fprintf('Margin Fasa = %10.5g \n',Pm) fprintf('frekuensi Margin Penguatan = %10.5g \n',Wgm) fprintf('frekuensi Margin fasa = %10.5g \n',Wpm) % Diagram Bode tanpa dan dengan kendali proportional diferensial(PD)

bode(sys_o1,'b',sys_cpd1,'r') grid on

hleg=legend('tanpa pengendali proportional diferensial (PD)',' dengan pengendali proportional diferensial (PD)');

(39)

Hasil Grafik

Percobaan 1 Analisa Perfomansi dalam Domain Waktu

clc

clear all

close all

close all hidden

% Data-data Motor Arus Searah Ka = 10;

Ta = 0.05; Td = 1; Te = 6; Tr = 0.02;

% Fungsi ALih Lingkar Terbuka num=[0 0 K];

den=[(J*L) ((J*R)+(b*L)) ((b*R)+(K*K))]; disp('Fungsi Alih Lingkar Terbuka') sys_o1=tf(num,den)

%

disp('Fungsi Alih Lingkar Tertutup') sys_c1=feedback(sys_o1,1)

[z,p,k]=tf2zp(num,den); p=-p;

z=-z;

(40)

systype=0;

EssStep =inf; EssRamp =inf; EssParab=inf; end

fprintf('Tipe Sistem adalah %2.0f\n',systype)

fprintf('Kostanta Kesalahan Posisi (Kp)adalah %5,4f\n', Kp) fprintf('Kostanta Kesalahan Kecepatan (Kv)adalah %5,4f\n', Kv) fprintf('Kostanta Kesalahan Percepatan (Ka)adalah %5,4f\n', Ka) fprintf('Kesalahan Keadaan Mantap Untuk Masukan Undak adalah %5,4f\n', EssStep)

(41)

fprintf('Kesalahan Keadaan Mantap Untuk Masukan Parabolik adalah %5,4f\n', EssParab)

Kp=input ('Konstanta Kp ->'); Kd=input ('Konstanta Kd ->'); den1=[ ((1*Ta*Te*Td)/Tr)]; num2=[0 0*Ka Kp];

den2=[ ((1*Ta*Te*Td)/Tr)];

disp('Fungsi Alih Lingkar Terbuka dengan Kendali PD') sys_opd1=tf(num2,den1)

(42)

Kp=inf; Kv=inf; Ka=inf;

EssStep = 0; EssRamp = 0; EssParab=0; end

if(systype)<0

Kp=0; Kv=0; Ka=0

EssStep =inf; EssRamp =inf; EssParab=inf; end

fprintf('Tipe Sistem adalah %2.0f\n',systype)

fprintf('Kostanta Kesalahan Posisi (Kp)adalah %5,4f\n', Kp) fprintf('Kostanta Kesalahan Kecepatan (Kv)adalah %5,4f\n', Kv) fprintf('Kostanta Kesalahan Percepatan (Ka)adalah %5,4f\n', Ka) fprintf('Kesalahan Keadaan Mantap Untuk Masukan Undak adalah %5,4f\n', EssStep)

fprintf('Kesalahan Keadaan Mantap Untuk Masukan Laju adalah %5,4f\ n', EssRamp)

fprintf('Kesalahan Keadaan Mantap Untuk Masukan Parabolik adalah %5,4f\n', EssParab)

Hasil Program

Parameter untuk menentukan perfomansi lingkar tertutup dalam domain waktu

meliputi waktu naik, waktu puncak, nilai puncak, lewatan maksimum, waktu

keadaan mantap, total variasi, decay ratio, steady state offset dan excess variation.

clc

clear all

clear all

close all hidden

%

% Data-data Motor Arus Searah Ka = 10;

(43)

den=[((1*Ta*Te*Td)/Tr)];

disp('Fungsi Alih Lingkar Terbuka') sys_o1=tf(num,den)

disp('Fungsi Alih Lingkar Tertutup') sys_c1=tf(num,den)

%disp('performansi Lingkar Terbuka dalam Domain Waktu') num_c1=get(sys_c1,'num');

den_c1=get(sys_c1,'den'); t=0:0.01:10.00;

[y,x,t]=step(num_c1,den_c1); P = stepinfo(sys_c1)

k = max(y);

tv = sum(abs(diff(y))); k1 = sort(y,'descend'); k2 = k1(1);

k3 = k1(2); k = k3/k2;

e1 = abs(1-dcgain(sys_c1)); EV = (tv/abs(dcgain(sys_c1)));

fprintf('Total Variasi = %10.5g\n',tv) fprintf('Decay Rasio = %10.5g\n',k) fprintf('Steady State Offset= %10.5g\n',e1) fprintf('Excess Variation = %10.5g\n',EV) %Tanggapan Terhadap Masukan Undak Satuan t = 0:0.01:10;

[y,x,t] = step(num_c1,den_c1,t);

Kp=input('Konstanta Kp->'); Kd=input('Konstanta Kd->'); den1=[((1*Ta*Te*Td)/Tr) 0]; num2=[0 0 Ka Kp];

den2=[((1*Ta*Te*Td)/Tr)+Kp];

disp('Fungsi Alih Lingkar Terbuka dengan kendali PI') sys_opi1=tf(num2,den1)

disp('Fungsi Alih Lingkar Tertutup dengan kendali PI') sys_cpi1=tf(num2,den1)

%disp('Performansi Lingkar Terbuka dalam Domain Waktu') num_cpi1=get(sys_cpi1,'num');

den_cpi1=get(sys_cpi1,'den'); t=0:0.01:10.00;

[y_pi1,x_pi1,t_pi1]=step(num_cpi1,den_cpi1); P_pi1 = stepinfo(sys_cpi1)

k_pi1 = max(y);

tv_pi1 = sum(abs(diff(y))); k1_pi1 =sort(y,'descend'); k2_pi1 = k1(1);

k3_pi1 = k1(2); k_pi1 = k3/k2;

e1_pi1 = abs(1-dcgain(sys_cpi1)); EV_pi1 = (tv/abs(dcgain(sys_cpi1)));

fprintf('Total Variasi = %10.5g\n',tv_pi1) fprintf('Decay Rasio = %10.5g\n',k_pi1) fprintf('Steady State offset= %10.5g\n',e1_pi1) fprintf('Excess Variation = %10.5g\n',EV_pi1) % Tanggapan Terhadap Masukan undak Satuan

(44)

[y_pi1,x_pi1,t_pi1]=step(num_cpi1,den_cpi1,t); plot(t,y,'b',t,y_pi1,'r');

grid on

title('Tanggapan Terhadap Masukan Undak Satuan')

hleg=legend('Tanpa Pengendali Proportional integral (PI)','Dengan PengendalianProportional Integral(PI)');

ylabel('Keluaran y') xlabel('detik (detik)')

Hasil Program

(45)

Percobaan 2 Analisa Perfomansi Dalam Domain Frekuensi

clc

clear all

close all

close all hidden

% Data-data Motor Arus Searah Ka = 10;

Ta = 0.05; Td = 1; Te = 6; Tr = 0.02;

% Fungsi ALih Lingkar Terbuka

disp('Fungsi Alih Lingkar Terbuka') num=[0 0 Ka];

den=[((1*Ta*Te*Td)/Tr)]; sys_o1=tf(num,den)

disp ('Fungsi Alih Lingkar Tertutup') sys_c1=feedback(sys_o1,1)

%

% Fungsi Alih Fungsi Sensitifitas

disp('Fungsi Alih Fungsi Sensitifitas') S=1 - sys_c1

%

%Kriteria Puncak Maksimum

disp('Kriteria Puncak Maksimum Fungsi Sensitivitas') Ms=norm((1 - sys_c1),inf,1e-4)

disp('Kriteria Puncak Maksimum Fungsi Sensitivitas Komplementer') Mt=norm(sys_c1,inf,1e-4)

disp('Fungsi Alih Lingkar Terbuka dengan Kendali PD') Kp=input('Konstanta Kp ->');

Kd=input('Konstanta Kd ->'); den1=[((1*Ta*Te*Td)/Tr)]; num2=[0 0 Ka Kp];

den2=[(((1*Ta*Te*Td)/Tr)+Kp)];

disp('Fungsi Alih Lingkar Terbuka dengan Kendali PD') sys_opd1=tf(num2,den1)

disp('Fungsi Alih Lingkar Tertutup dengan Kendali PD') sys_cpd1=tf(num2,den2);

% Fungsi Alih Fungsi Sensitifitas

(46)

S=1 - sys_cpd1 %

%Kriteria Puncak Maksimum

disp('Kriteria Puncak Maksimum Fungsi Sensitivitas dengan Kendali PD')

Ms_p=norm((1 - sys_cpd1),inf,1e-4)

disp('Kriteria Puncak Maksimum Fungsi Sensitivitas Komplementer dengan Kendali PD')

Mt_p=norm(sys_cpd1,inf,1e-4)

%

% Tanggapan Fungsi Sensitivitas dan Fungsi Sensitivitas Komplementer

loops=loopsens(tf(num2,den2),1); bode(loops.Si,'r',loops.Ti,'b')

hleg=legend('Fungsi Sensitivitas','Fungsi Sensitivitas Komplementer');

grid on

Hasil Program

(47)

Percobaan 3 Analisa Kestabilan

clc

clear all

clear all

close all hidden

% Data-data Motor Arus Searah Ka = 10;

Ta = 0.05; Td = 1; Te = 6; Tr = 0.02;

disp('Fungsi Alih Lingkar Terbuka dengan Kendali PD') Kp=input('Konstanta Kd ->');

Kd=input('Konstanta Kp ->'); den1=[((1*Ta*Te*Td)/Tr)]; num2=[0 0*Ka Kp];

den2=[((1*Ta*Te*Td)/Tr)+Kp];

disp('Fungsi Alih Lingkar Terbuka dengan Kendali PD') sys_opd1=tf(num2,den1);

disp('Fungsi Alih Lingkar Tertutup dengan Kendali PD') sys_cpd1=tf(num2,den2);

%

%Periksa Kestabilan dengan Kriteria Bode [Gm,Pm,Wgm,Wpm] = margin (sys_opd1); K = 1/Gm

if (K < 1)

disp('Sistem Stabil') else

disp('Sistem Tidak Stabil') end

%Periksa Kestabilan dengan Kriteria Nyquist nyquist(sys_cpd1)

grid on

(48)

Hasil Grafik

Percobaan 4 Analisa Kekokohan

clc

clear all

close all

close all hidden

% Data-data Motor Arus Searah Ka = 10;

Ta = 0.05; Td = 1; Te = 6; Tr = 0.02;

% Fungsi ALih Lingkar Terbuka

disp('Fungsi Alih Lingkar Terbuka') num=[0 0 Ka];

den=[((1*Ta*Te*Td)/Tr)]; sys_o1=tf(num,den)

disp ('Fungsi Alih Lingkar Tertutup')

sys_c1=feedback(sys_o1,1)% Fungsi Alih Fungsi Sensitifitas disp('Fungsi Alih Fungsi Sensitifitas')

(49)

%

%Kriteria Puncak Maksimum

disp('Kriteria Puncak Maksimum Fungsi Sensitifitas') Ms=norm((1 - sys_c1),inf,1e-4)

disp('Kriteria Puncak Maksimum Fungsi Sensitifitas Komplementer') Mt=norm(sys_c1,inf,1e-4)

disp('Fungsi Alih Lingkar Terbuka dengan Kendali PD') Kp=input('Konstanta Kp ->');

Kd=input('Konstanta Kd ->'); den1=[((1*Ta*Te*Td)/Tr)]; num2=[0 (0.01*Kd) Kp];

den2=[(((1*Ta*Te*Td)/Tr)+Kp)];

disp('Fungsi Alih Lingkar Tertutup dengan Kendali PD') sys_opd1=tf(num2,den1)

disp('Fungsi Alih Lingkar Tertutup dengan Kendalu PD') sys_cpd1=tf(num,den2);

% Fungsi Alih Fungsi Sensitifitas

disp('Fungsi Alih Fungsi Sensitifitas') S=1 - sys_cpd1

%

%Kriteria Puncak Maksimum

disp('Kriteria Puncak Maksimum Fungsi Sensitifitas dengan Kendalu PD')

Ms_p=norm((1 - sys_cpd1),inf,1e-4)

disp('Kriteria Puncak Maksimum Fungsi Sensitifitas Komplementer dengan Kendali PD')

Mt_p=norm(sys_cpd1,inf,1e-4)

%

% Tanggapan Fungsi Sensitivitas dan Fungsi Sensitivitas Komplementer

loops=loopsens(tf(num2,den2),1); bode(loops.Si,'r',loops.Ti,'b')

hleg=legend('Fungsi Sensitivitas','Fungsi Sensitivitas Komplementer');

grid on

(50)

Hasil Grafik

BAB V

Perancangan dan Analisa Sistem Kendali Kecepatan Motor Arus Searah dengan

Pengendali Proposional Integral Differensial

Perancangan Pengendali Proposional Integral Differensial (PID)

% Data-data Motor Arus Searah Ka = 10;

(51)

Te = 6; Tr = 0.02;

% Fungsi ALih Lingkar Terbuka

disp('Fungsi Alih Lingkar Terbuka') num=[0 0 Ka];

den=[((1*Ta*Te*Td)/Tr)]; sys_o1=tf(num,den)

disp ('Fungsi Alih Lingkar Tertutup') sys_c1=feedback(sys_o1,1)

Kp=input('Konstanta Kp ->'); Ki=input('Konstanta Ki ->'); Kd=input('Konstanta Kd ->'); den1=[((1*Ta*Te*Td)/Tr) 0]; num2=[0 (0.01*Kd) Kp Ki] den2=[((1*Ta*Te*Td)/Tr) Ki];

disp('Fungsi Alih Lingkar Terbuka dengan Kendali PID') sys_opid1=tf(num2,den1)

disp('Fungsi Alih Lingar Tertutup dengan Kendali PID') sys_cpid1=tf(num2,den2)

Hasil Program

Percobaan 1 Analisa Perfomansi dalam Domain Waktu

clc

clear all

close all

close all hidden

% Data-data Motor Arus Searah Ka = 1;

(52)

Te = 6; Tr = 0.02;

% Fungsi Alih Lingkar Terbuka num=[0 0 Ka];

den=[(1*Ta*Te*Td)/Tr];

disp('Fungsi Alih Lingkar Terbuka') sys_o1=tf(num,den)

%

(53)

EssStep = 0; EssRamp = 0; EssParab = 0; adalah %5.4f \n', EssStep)

fprintf('Kesalahan Keadaan Mantap Untuk Masukan Laju adalah %5.4f \n', EssRamp)

fprintf('Kesalahan Keadaan Mantap Untuk Masukan Parabolik adalah %5.4f \n', EssParab)

Kp=input('Konstanta Kp ->'); Ki=input('Konstanta Ki ->'); Kd=input('Konstanta Kd ->'); den1=[(1*Ta*Te*Td)/Tr 0]; num2=[0 (0.01*Kd) Kp Ki]; den2=[(1*Ta*Te*Td)/Tr Ki];

disp('Fungsi Alih Lingkar Terbuka dengan Kendali PID') sys_opid1=tf(num2,den1)

(54)

if(p(i))~=-inf adalah %5.4f \n', EssStep)

fprintf('Kesalahan Keadaan Mantap Untuk Masukan Laju adalah %5.4f \n', EssRamp)

fprintf('Kesalahan Keadaan Mantap Untuk Masukan Parabolik adalah %5.4f \n', EssParab)

(55)

Parameter untuk menentukan perfomansi lingkar tertutup dalam domain meliputi

waktu naik, waktu puncak, nilai puncak, lewatan maksimum, waktu keadaan

mantap, total variasi, decay ratio, steady state offset dan excess variation.

clc

clear all

close all

close all hidden

% Data-data Motor Arus Searah Ka = 10;

Ta = 0.05; Td = 1; Te = 6; Tr = 0.02;

% Fungsi ALih Lingkar Terbuka

disp('Fungsi Alih Lingkar Terbuka') num=[0 0 Ka];

den=[((1*Ta*Te*Td)/Tr)]; sys_o1=tf(num,den)

disp ('Fungsi Alih Lingkar Tertutup') sys_c1=feedback(sys_o1,1)

% disp('Performansi Lingkar Terbuka dalam Domain waktu') num_c1=get(sys_c1,'num');

den_c1=get(sys_c1,'den'); t=0:0.01:10.00;

[y,x,t]=step(num_c1,den_c1); P = stepinfo(sys_c1)

k = max(y);

tv = sum(abs(diff(y))); k1 = sort(y,'descend'); k2 = k1(1);

k3 = k1(2); K = k3/k2;

e1 = abs(1-dcgain(sys_c1)); EV = (tv/abs(dcgain(sys_c1)));

fprintf('Total Variasi = %10.5g \n',tv) fprintf('Decay Rasio = %10.5g \n',K)

fprintf('Steady State Offset = %10.5g \n',e1) fprintf('Excess Variation = %10.5g \n',EV) % Tanggapan Terhadap masukan Undak Satuan t=0:0.01:10.00;

[y,x,t]=step(num_c1,den_c1,t);

(56)

Ki=input('Konstanta Ki ->'); Kd=input('Konstanta Kd ->'); den1=[((1*Ta*Te*Td)/Tr) 0]; num2=[0 (0.01*Kd) Kp Ki]; den2=[((1*Ta*Te*Td)/Tr) Ki];

disp('Fungsi Alih Lingkar Terbuka dengan Kendali PID') sys_opid1=tf(num2,den1)

disp('Fungsi Alih Lingkar Tertutup dengan Kendali PID') sys_cpid1=tf(num2,den2)

% disp('Performansi Lingkar Terbuka dalam Domain waktu') num_cpid1=get(sys_cpid1,'num');

den_cpid1=get(sys_cpid1,'den'); t=0:0.01:10.00;

[y_pid1,x_pid1,t_pid1]=step(num_cpid1,den_cpid1); P_pid1 = stepinfo(sys_cpid1)

k_pid1 = max(y);

tv_pid1 = sum(abs(diff(y))); k1_pid1 = sort(y,'descend'); k2_pid1 = k1(1);

k3_pid1 = k1(2); K_pid1 = k3/k2;

e1_pid1 = abs(1-dcgain(sys_cpid1)); EV_pid1 = (tv/abs(dcgain(sys_cpid1)));

fprintf('Total Variasi = %10.5g \n',tv_pid1) fprintf('Decay Rasio = %10.5g \n',K_pid1)

fprintf('Steady State Offset = %10.5g \n',e1_pid1) fprintf('Excess Variation = %10.5g \n',EV_pid1) % Tanggapan Terhadap masukan Undak Satuan

t=0:0.01:10.00;

[y_pid1,x_pid1,t_pid1]=step(num_cpid1,den_cpid1,t); plot(t,y,'b',t,y_pid1,'r');

grid on

title ('Tanggapan terhadap Masukan Undak satuan')

hleg=legend('Tanpa Pengendali Proportional Integral Diferensial (PID)','dengan Pengendali Proportional Integral Diferensial (PID)');

ylabel('keluaran y') xlabel('detik (detik)')

(57)

Hasil Grafik

Percobaan 2 Analisa Perfomansi dalam domain Frekuensi

clc

clear all

close all

close all hidden

Ka = 10; Ta = 0.05; Td = 1; Te = 6; Tr = 0.02;

% Fungsi ALih Lingkar Terbuka

disp('Fungsi Alih Lingkar Terbuka') num=[0 0 Ka];

den=[((1*Ta*Te*Td)/Tr)]; sys_o1=tf(num,den)

%

disp ('Fungsi Alih Lingkar Tertutup') sys_c1=feedback(sys_o1,1)

%

% Perpormansi Lingkar Terbuka dalam Domain Frekuensi disp('Performansi Lingkar Terbuka dalam Domain waktu') [Gm,Pm,Wgm,Wpm] = margin(sys_o1);

(58)

fprintf('Margin fasa = %10.5g \n',Pm)

fprintf('Frekuensi Margin Penguatan = %10.5g \n',Wgm) fprintf('Frekuensi Margin Fasa = %10.5g \n',Wpm) %

disp('Fungsi Alih Lingkar Terbuka dengan Kendali PID') Kp=input('Konstanta Kp ->');

Ki=input('Konstanta Ki ->'); Kd=input('Konstanta Kd ->'); den1=[((1*Ta*Te*Td)/Tr) 0]; num2=[0 (0.01*Kd) Kp Ki];

den2=[(((1*Ta*Te*Td)/Tr)+Kp) Ki];

disp('Fungsi Alih Lingkar Terbuka dengan Kendali PID') sys_opid1=tf(num2,den1)

disp('Fungsi Alih Lingkar Tertutup dengan Kendali PID') sys_cpid1=tf(num2,den2)

% Perpormansi Lingkar Terbuka dalam Domain Frekuensi disp('Performansi Lingkar Terbuka dalam Domain waktu') [Gm,Pm,Wgm,Wpm] = margin(sys_opid1);

fprintf('Margin Penguatan = %10.5g \n',Gm) fprintf('Margin fasa = %10.5g \n',Pm)

fprintf('Frekuensi Margin Penguatan = %10.5g \n',Wgm) fprintf('Frekuensi Margin Fasa = %10.5g \n',Wpm)

% Diagram Bode Tanpa dan Dengan Pengendali Proportional Integral diferensial (PID)

bode(sys_o1, 'b',sys_opid1,'r') grid on

title ('Tanggapan terhadap Masukan Undak satuan')

hleg=legend('Tanpa Pengendali Proportional Integral Diferensial (PID)','dengan Pengendali Proportional Integral Diferensial (PID)');

(59)

Hasil Grafik

Perfomansi sistem lingkar tertutup dalam domain frekuensi meliputi nilai puncak,

resonansi frekuensi puncak resonansi dan lebar pita.

clc

clear all

close all

close all hidden

Ka = 10; Ta = 0.05; Td = 1; Te = 6; Tr = 0.02;

% Fungsi ALih Lingkar Terbuka

disp('Fungsi Alih Lingkar Terbuka') num=[0 0 Ka];

den=[((1*Ta*Te*Td)/Tr)]; sys_o1=tf(num,den)

%

disp ('Fungsi Alih Lingkar Tertutup') sys_c1=feedback(sys_o1,1)

%

disp('Fungsi Alih Lingkar Terbuka dengan Kendali PID') Kp=input('Konstanta Kp ->');

(60)

Kd=input('Konstanta Kd ->'); den1=[((1*Ta*Te*Td)/Tr) 0]; num2=[0 (0.01*Kd) Kp Ki];

den2=[(((1*Ta*Te*Td)/Tr)+Kp) Ki];

disp('Fungsi Alih Lingkar Terbuka dengan Kendali PID') sys_opid1=tf(num2,den1)

disp('Fungsi Alih Lingkar Tertutup dengan Kendali PID') sys_cpid1=tf(num2,den2)

% Diagram Magnitude Bode Sistem Eksitasi Generator bodemag(sys_c1,'b',sys_cpid1,'r')

grid on

hleg=legend('Tanpa Pengendali Proportional Integral Diferensial (PID)','dengan Pengendali Proportional Integral Diferensial (PID)');

Hasil Program

(61)

Percobaan 4 Analisa Kestabilan

clc

clear all

close all

close all hidden

%data-data motor arus searah Ka = 10;

Ta = 0.05; Td = 1; Te = 6; Tr = 0.02; %

disp('Fungsi Alih Lingkar Terbuka dengan Kendali PID') Kp=input('Konstanta Kp ->');

Ki=input('Konstanta Ki ->'); Kd=input('Konstanta Kd ->'); den1=[((1*Ta*Te*Td)/Tr) 0]; num2=[0 (0.01*Kd) Kp Ki];

den2=[(((1*Ta*Te*Td)/Tr)+Kp) Ki];

disp('Fungsi Alih Lingkar Terbuka dengan Kendali PID') sys_opid1=tf(num2,den1)

disp('Fungsi Alih Lingkar Tertutup dengan Kendali PID') sys_cpid1=tf(num2,den2)

%

% Periksa Kestabilan dengan Kriteria Bode [Gm,Pm,Wgm,Wpm] = margin (sys_opid1); K = 1/Gm

if (K < 1)

disp('Sistem Stabil') else

disp('Sistem Tidak Stabil') end

% Periksa Kestabilan dengan Kriteria Nyquist nyquist(sys_cpid1)

grid on

(62)

Hasil Grafik

Percobaan 5 Analisa Kekokohan

clc

clear all

close all

close all hidden

Ka = 10; Ta = 0.05; Td = 1; Te = 6; Tr = 0.02;

% Fungsi ALih Lingkar Terbuka

disp('Fungsi Alih Lingkar Terbuka') num=[0 0 Ka];

den=[((1*Ta*Te*Td)/Tr)]; sys_o1=tf(num,den)

%

disp ('Fungsi Alih Lingkar Tertutup') sys_c1=feedback(sys_o1,1)

%

% Fungsi Alih Fungsi Sensitivitas

(63)

S=1 - sys_c1 %

% Kriteria Puncak Maksimum

disp('Kriteria Puncak Maksimum Fungsi Sensitivitas') Ms=norm((1 - sys_c1),inf,1e-4)

disp('Kriteria Puncak Maksimum Fungsi Sensitivitas Komplementer') Ms=norm((1 - sys_c1),inf,1e-4)

disp('Fungsi Alih Lingkar Terbuka dengan Kendali PID') Kp=input('Konstanta Kp ->');

Ki=input('Konstanta Ki ->'); Kd=input('Konstanta Kd ->'); den1=[((1*Ta*Te*Td)/Tr) 0]; num2=[0 (0.01*Kd) Kp Ki];

den2=[(((1*Ta*Te*Td)/Tr)+Kp) Ki];

disp('Fungsi Alih Lingkar Terbuka dengan Kendali PID') sys_opid1=tf(num2,den1)

disp('Fungsi Alih Lingkar Tertutup dengan Kendali PID') sys_cpid1=tf(num2,den2)

% Fungsi Alih Fungsi Sensitivitas

disp('Fungsi Alih Fungsi Sensitivitas') S=1 - sys_cpid1

%

% Kriteria Puncak Maksimum

disp('Kriteria Puncak Maksimum Fungsi Sensitivitas dengan Kendali PID')

Ms_p=norm((1 - sys_cpid1),inf,1e-4)

disp('Kriteria Puncak Maksimum Fungsi Sensitivitas Komplementer dengan Kendali PID')

Mt_p=norm((1 - sys_cpid1),inf,1e-4)

%

% Tnggapan Fungsi Sensitivitas dan Fungsi Sensitivitas komplementer

loops=loopsens(tf(num2,den2),1); bode(loops.Si,'r',loops.Ti,'b')

hleg=legend('Fungsi Sensitivitas','Fungsi Sensitivitas Komplementer');

grid on

(64)

Hasil Grafik

(65)

Dosen Penampu: Arnisa Stefanie, ST.,MT.

Disusun oleh:

Anjar Wijaya (1441177006010)

Danu Setiawan (1441177006011)

Dhika Aditya Azis (1441177006034)

Elgi Rizaldi Muhazir (1441177006016)

Muhammad Sirodjuddin Al-Afgani (1510631160090)

PROGRAM STUDI TEKNIK ELEKTRO

FAKULTAS TEKNIK

UNIVERSITAS SINGAPERBANGSA KARAWANG

Referensi

Dokumen terkait

2. Faktor-faktor yang mempengaruhi tumbuh kembang balita 3. Aspek-aspek yang dinilai dalam perkembangan balita 4. Pengertian dari masing-masing aspek perkembangan balita.. Contoh

Hasil penelitian menunjukkan bahwa variabel motivasi, persepsi, dan sikap secara simultan dan parsial mempunyai pengaruh yang signifikan terhadap keputusan pembelian di Distro

Oksigen terlarut merupakan faktor pembatas yang paling penting bagi kehidupan biota perairan, Jika bahan organik melimpah maka aktifitas bakteri yang menguraikannya menjadi

Ilmu Pengetahuan Sosial (IPS) IPS MTs MTsN Karangmojo MPLPG Depag 2009 416 Kab.. Ilmu Pengetahuan Sosial (IPS) IPS SMP SMPN 4 Purwokerto Belum Ikut PLPG 2008

mengenal pasti dan meyelesaikan masalah ini dengan strategi yang dirangka. DEB mempunyai dua matlamat utama, yang pertama: menghapuskan kemiskinan dan yang

Teknik analisis data yang digunakan di dalam penelitian ini adalah teknik deskriptif analisis, yaitu dengan cara menggambarkan informasi yang diperoleh untuk

Kemudian pada layar utama terdapat tombol ‘Show Original Image’ yang berfungsi untuk menampilkan kembali gambar asli image yang sudah di-load sebelumnya, Tujuan dari

Puji syukur atas rahmat dan anugerah yang diberikan Allah SWT akhirnya penulis dapat menyelesaikan proposal dengan judul “ Pengaruh Dimensi Kualitas Layanan Internet Banking