Anda di halaman 1dari 20

Akhmad Saufi

140310140068
Tugas Motor DC PID

Listing Program
%Variabel variabel dibawah adalah variabel untuk menentukan fungsi open
%loop dari input tegangan dan output kecepatan angular dari sebuah motor DC
J = 0.01;
b = 0.1;
K = 0.01;
r = 1;
L = 0.5;
s = tf('s');
%P_motor = K/((J*s+b)*(L*s+r)+K^2)
P_motor = K/((J*s+b)*(L*s+r)+K^2)

%Pada hasil yang didapatkan akan diperoleh numerator dan denumeratornya

%Setelah itu fungsi transfer ini diplot terhadap berbagai analisa grafik
seperti step, impulse, stem, rootlocus, nyquist dan bode

num = [0 0 0.1];
den = [0.005 0.06 0.1001];
step(num,den)
title('Respon Unit Step Fungsi Transfer G(s) = 0.1/(0.005s^2+0.06s+0.1001)')

figure;
impulse(num,den)
title('Respon Unit Impulse Fungsi Transfer G(s) =
0.1/(0.005s^2+0.06s+0.1001)')

figure;
stem(num,den)
title('Respon Unut Stem Fungsi Transfer G(s) = 0.1/(0.005s^2+0.06s+0.1001)')

figure;
rlocus(num,den)
title('Respon Unit Root Locus Fungsi Transfer G(s) =
0.1/(0.005s^2+0.06s+0.1001)')

figure;
nyquist(num,den)
title('Respon Unit Nyquist Fungsi Transfer G(s) =
0.1/(0.005s^2+0.06s+0.1001)')

figure;
bode(num,den)
title('Diagram Bode Fungsi Transfer G(s) = 0.1/(0.005s^2+0.06s+0.1001)')
%Sekarang kita akan melihat perbedaan sistem jika kita tambahkan control P, I
dan D

%Dengan menambahkan control P


J = 0.01;
b = 0.1;
K = 0.01;
R = 1;
L = 0.5;
s = tf('s');
P_motor = K/((J*s+b)*(L*s+R)+K^2);
Kp = 100;
C = pid(Kp);
sys_cl = feedback(C*P_motor,1);
t = 0:0.01:5;
step(sys_cl,t)
grid
title('Respon Step sistem dengan control proportional')
figure
impulse(sys_cl,t)
title('Respon Impulse sistem dengan control P')
figure
rlocus(sys_cl,t)
title('Respon Root Locus sistem dengan control P')
figure
bode(sys_cl,t)
title('Respon Bode sistem dengan control P')
figure
nyquist(sys_cl,t)
title('Respon Nyquist sistem dengan control P')

%Dengan menambahkan control P dan D


J = 0.01;
b = 0.1;
K = 0.01;
R = 1;
L = 0.5;
s = tf('s');
P_motor = K/((J*s+b)*(L*s+R)+K^2)
Kp = 100;
Kd = 1;
C = pid(Kp,Kd);
sys_cl = feedback(C*P_motor,1);
step(sys_cl,[0:1:200])
title('Respon Step sistem dengan control P dan D')
figure
impulse(sys_cl,[0:1:200])
title('Respon Impulse sistem dengan control P dan D')
figure
rlocus(sys_cl,[0:1:200])
title('Respon Root Locus sistem dengan control P dan D')
figure
bode(sys_cl,[0:1:200])
title('Respon Bode sistem dengan control P dan D')
figure
nyquist(sys_cl,[0:1:200])
title('Respon Nyquist sistem dengan control P dan D')

%Dengan menambahkan control P dan I


J = 0.01;
b = 0.1;
K = 0.01;
R = 1;
L = 0.5;
s = tf('s');
P_motor = K/((J*s+b)*(L*s+R)+K^2)
Kp = 100;
Ki = 1;
C = pid(Kp,Ki);
sys_cl = feedback(C*P_motor,1);
step(sys_cl,[0:1:200])
title('Respon Step sistem dengan control P dan I')
figure
impulse(sys_cl,[0:1:200])
title('Respon Impulse sistem dengan control P dan I')
figure
rlocus(sys_cl,[0:1:200])
title('Respon Root Locus sistem dengan control P dan I')
figure
bode(sys_cl,[0:1:200])
title('Respon Bode sistem dengan control P dan I')
figure
nyquist(sys_cl,[0:1:200])
title('Respon Nyquist sistem dengan control P dan I')

%Dengan menambahkan Control P I dan D


J = 0.01;
b = 0.1;
K = 0.01;
R = 1;
L = 0.5;
s = tf('s');
P_motor = K/((J*s+b)*(L*s+R)+K^2)
Kp = 100;
Ki = 200;
Kd = 10;
C = pid(Kp,Ki,Kd);
sys_cl = feedback(C*P_motor,1);
step(sys_cl, 0:0.01:4)
grid
title('Respon Step Sistem dengan menambahkan Control PID')
figure
impulse(sys_cl, 0:0.01:4)
title('Respon Impulse sistem dengan menambahkan Control PID')
figure
rlocus(sys_cl, 0:0.01:4)
title('Respon Root Locus sistem dengan menambahkan Control PID')
figure
bode(sys_cl, 0:0.01:4)
title('Respon Bode sistem dengan menambahkan Control PID')
figure
nyquist(sys_cl, 0:0.01:4)
title('Respon Nyquist sistem dengan menambahkan Control PID')

Hasil Tampilan

Hasil Fungsi Transfer Motor DC

Tampilan Fungsi Step Program


Respon Unit Step Fungsi Transfer G(s) = 0.1/(0.005s 2+0.06s+0.1001)
1
System: sys
System: sys
0.9 Final value: 0.999
Settling time (seconds): 2.07
System: sys
0.8 Rise time (seconds): 1.14

0.7

0.6
Amplitude

0.5

0.4

0.3

0.2

0.1

0
0 0.5 1 1.5 2 2.5 3 3.5
Time (seconds)

Tampilan Fungsi Impulse Program


Respon Unit Impulse Fungsi Transfer G(s) = 0.1/(0.005s 2+0.06s+0.1001)
1.4

System: sys
1.2 Peak amplitude: 1.34
At time (seconds): 0.203

0.8
Amplitude

0.6

0.4

0.2
System: sys
Settling time (seconds): 2.27

0
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5
Time (seconds)

Tampilan Fungsi Stem Program

Respon Unut Stem Fungsi Transfer G(s) = 0.1/(0.005s 2+0.06s+0.1001)


0.12

0.1

0.08

0.06

0.04

0.02

0
0 0.01 0.02 0.03 0.04 0.05 0.06 0.07 0.08 0.09 0.1

Tampilan Fungsi Rlocus Program


Respon Unit Root Locus Fungsi Transfer G(s) = 0.1/(0.005s 2+0.06s+0.1001)
6

4
System: sys System: sys
Gain: 0 Gain: 0
Pole: -10 Pole: -2
Imaginary Axis (seconds-1)

2
Damping: 1 Damping: 1
Overshoot (%): 0 Overshoot (%): 0
Frequency (rad/s): 10 Frequency (rad/s): 2
0

-2

-4

-6
-12 -10 -8 -6 -4 -2 0 2
Real Axis (seconds -1)

Tampilan Fungsi Nyquist Program

Respon Unit Nyquist Fungsi Transfer G(s) = 0.1/(0.005s 2+0.06s+0.1001)


0.8

0.6
System: sys
0.4 Real: 0.391
Imag: 0.576
Frequency (rad/s): -1.98
0.2 System: sys
Peak gain (dB): -0.00868
Imaginary Axis

Frequency (rad/s): 4.01e-12


0

-0.2
System: sys
Real: 0.453
-0.4 Imag: -0.575
Frequency (rad/s): 1.79
-0.6

-0.8
-1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1
Real Axis

Tampilan Diagram Bode Program


Diagram Bode Fungsi Transfer G(s) = 0.1/(0.005s 2+0.06s+0.1001)
0
System: sys
-20 Peak gain (dB): -0.00868
At frequency (rad/s): 4.01e-12
Magnitude (dB)

-40

-60

-80

-100
0

-45
Phase (deg)

-90

-135

-180
-1 0 1 2 3
10 10 10 10 10
Frequency (rad/s)

Dengan menggunakan PID


Tampilan Fungsi Sistem dengan Penambahan Control P
Fungsi Step

Respon Step sistem dengan control proportional


1.4 System: sys_cl
Peak amplitude: 1.14
Overshoot (%): 24.9
1.2 At time (seconds): 0.23

System: sys_cl System: sys_cl


1 Final value: 0.909
Settling time (seconds): 0.567

0.8
Amplitude

System: sys_cl
Rise time (seconds): 0.0994
0.6

0.4

0.2

0
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
Time (seconds)

Fungsi Impulse
Respon Impulse sistem dengan control P
10

8
System: sys_cl
Peak amplitude: 8.07
6 At time (seconds): 0.09

4
Amplitude

2
System: sys_cl
Settling time (seconds): 0.652
0

-2

-4
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
Time (seconds)

Fungsi Root Locus

Respon Root Locus sistem dengan control P


40

30

20
Imaginary Axis (seconds-1)

10

-10

-20

-30

-40
-10 -8 -6 -4 -2 0 2
Real Axis (seconds -1)

Fungsi Bode
Respon Bode sistem dengan control P
0

-0.2
System: sys_cl
Magnitude (dB)

Peak gain (dB): -0.174


-0.4
At frequency (rad/s): 5

-0.6

-0.8

-1
0

-5
Phase (deg)

-10

-15

-20 System: sys_cl


-2 -1 Phase Margin0 (deg): 16077.2
10 10 10
Delay Margin (sec): 0.4960.0829
Frequency (rad/s)At frequency (rad/s): 5.6416.3
Closed loop stable? Yes

Fungsi Nyquist

Respon Nyquist sistem dengan control P


0.4

0.3

0.2

0.1
Imaginary Axis

-0.1

System: sys_cl
-0.2 Phase Margin (deg): 160
Delay Margin (sec): 0.496
At frequency (rad/s): 5.64
-0.3 Closed loop stable? Yes
System: sys_cl
Peak gain (dB): -0.174
-0.4 Frequency (rad/s): 5
-1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1
Real Axis
Tampilan Fungsi Sistem dengan Penambahan Control P dan D
Fungsi Step

Respon Step sistem dengan control P dan D


1

System: sys_cl System: sys_cl


0.9 Settling time (seconds): 150 Final value: 1
System: sys_cl
0.8 Rise time (seconds): 13.3

0.7

0.6
Amplitude

0.5

0.4

0.3

0.2

0.1

0
0 20 40 60 80 100 120 140 160 180 200
Time (seconds)

Fungsi Impulse

Respon Impulse sistem dengan control P dan D


0.005

0
System: sys_cl
Settling time (seconds): 83.8
-0.005

-0.01
Amplitude

-0.015

-0.02
System: sys_cl
Peak amplitude: -0.0257
At time (seconds): 1
-0.025

-0.03
0 20 40 60 80 100 120 140 160 180 200
Time (seconds)

Fungsi Root Locus


Respon Root Locus sistem dengan control P dan D
200

150

100
Imaginary Axis (seconds-1)

50

-50

-100

-150

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

Fungsi Bode

Respon Bode sistem dengan control P dan D


10

0
System: sys_cl
Magnitude (dB)

-10 Peak gain (dB): 0.676


At frequency (rad/s): 10
-20

-30

-40

-50
0

-45 System: sys_cl


Phase (deg)

Phase Margin (deg): 149


-90 Delay Margin (sec): 0.407
At frequency (rad/s): 6.4 System: sys_cl
Closed loop stable? Yes Phase Margin (deg): 95.7
-135 Delay Margin (sec): 0.134
At frequency (rad/s): 12.4
-180 Closed loop stable? Yes
0 1 2
10 10 10
Frequency (rad/s)

Fungsi Nyquist
Respon Nyquist sistem dengan control P dan D
1.5

System: sys_cl
0.5 Phase Margin (deg): -180
Delay Margin (sec): Inf
At frequency (rad/s): 0
Imaginary Axis

System: sys_cl
Closed loop stable? Yes
0 Phase Margin (deg): 149
Delay Margin (sec): 0.407
At frequency (rad/s): 6.4
System: sys_cl Closed loop stable? Yes
Phase Margin (deg): 95.7
-0.5
Delay Margin (sec): 0.134
At frequency (rad/s): 12.4
Closed loop stable? Yes
-1
System: sys_cl
Peak gain (dB): 0.676
Frequency (rad/s): 10
-1.5
-1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1
Real Axis

Tampilan Fungsi Sistem dengan Penambahan Control P dan I


Fungsi Step

Respon Step sistem dengan control P dan I


1

System: sys_cl System: sys_cl


0.9 Settling time (seconds): 166Final value: 1
System: sys_cl
0.8 Rise time (seconds): 0.881

0.7

0.6
Amplitude

0.5

0.4

0.3

0.2

0.1

0
0 20 40 60 80 100 120 140 160 180 200
Time (seconds)

Fungsi Impulse
Respon Impulse sistem dengan control P dan I
0.035

0.03 System: sys_cl


Peak amplitude: 0.0317
At time (seconds): 1
0.025

0.02
Amplitude

0.015

0.01

0.005
System: sys_cl
Settling time (seconds): 29

0
0 20 40 60 80 100 120 140 160 180 200
Time (seconds)

Fungsi Root Locus

Respon Root Locus sistem dengan control P dan I


250

200

150

100
Imaginary Axis (seconds-1)

50

-50

-100

-150

-200

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

Fungsi Bode
Respon Bode sistem dengan control P dan I
10

0
System: sys_cl
Magnitude (dB)

-10 Peak gain (dB): 1.79


At frequency (rad/s): 12
-20

-30

-40

-50
0

-45 System: sys_cl


Phase Margin (deg): 160
Phase (deg)

Delay Margin (sec): 0.498


-90 At frequency (rad/s): 5.62
Closed loop stable? Yes
System: sys_cl
-135
Phase Margin (deg): 77.1
Delay Margin (sec): 0.0828
-180 At frequency (rad/s): 16.3
0 1 Closed loop stable? Yes 102
10 10
Frequency (rad/s)

Fungsi Nyquist

Respon Nyquist sistem dengan control P dan I


1.5

System: sys_cl
0.5 Phase Margin (deg): -180
Delay Margin (sec): Inf
At frequency (rad/s): 0
Imaginary Axis

Closed loop stable? Yes


0

System: sys_cl
Phase Margin (deg): 77.1
-0.5 System: sys_cl
Delay Margin (sec): 0.0828
Phase Margin (deg): 160
At frequency (rad/s): 16.3
Delay Margin (sec): 0.498
Closed loop stable? Yes
At frequency (rad/s): 5.62
-1 Closed loop stable? Yes

System: sys_cl
Peak gain (dB): 1.79
-1.5 Frequency (rad/s): 12
-1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1
Real Axis

Tampilan Fungsi Sistem dengan Penambahan Control P I dan D


Fungsi Step

Respon Step Sistem dengan menambahkan Control PID


1.4

System: sys_cl
1.2 Peak amplitude: 1.01
Overshoot (%): 1.03 System: sys_cl
At time (seconds): 0.59 Final value: 1
1
System: sys_cl
Settling
System: time (seconds): 0.257
sys_cl
0.8
Amplitude

Rise time (seconds): 0.132

0.6

0.4

0.2

0
0 0.5 1 1.5 2 2.5 3 3.5 4
Time (seconds)

Fungsi Impulse

Respon Impulse sistem dengan menambahkan Control PID


20
System: sys_cl
Peak amplitude: 20
At time (seconds): 0
15

10
Amplitude

System: sys_cl
Settling time (seconds): 0.232
0

-5
0 0.5 1 1.5 2 2.5 3 3.5 4
Time (seconds)

Fungsi Root Locus


Respon Root Locus sistem dengan menambahkan Control PID
6

4
Imaginary Axis (seconds-1)

-2

-4

-6
-120 -100 -80 -60 -40 -20 0 20
Real Axis (seconds -1)

Fungsi Bode

Respon Bode sistem dengan menambahkan Control PID


0.1

0 System: sys_cl
Magnitude (dB)

Peak gain (dB): 0.0356


At frequency (rad/s): 1.61
-0.1

-0.2

-0.3
0
Phase (deg)

-5

-10 System: sys_cl


Phase Margin (deg): 172
Delay Margin (sec): 1.2
-15 At frequency (rad/s): 2.5
-2 -1 Closed loop stable?
0 Yes
10 10 10
Frequency (rad/s)

Fungsi Nyquist
Respon Nyquist sistem dengan menambahkan Control PID
0.25

0.2

0.15

System: sys_cl
0.1
Phase Margin (deg): -180
Delay Margin (sec): Inf
0.05 At frequency (rad/s): 0
Imaginary Axis

Closed loop stable? Yes


0
System: sys_cl
Peak gain (dB): 0.0356
-0.05
Frequency (rad/s): 1.61

-0.1

-0.15
System: sys_cl
-0.2 Phase Margin (deg): 172
Delay Margin (sec): 1.2
At frequency (rad/s): 2.5
-0.25 Closed loop stable? Yes
-1 -0.5 0 0.5 1 1.5
Real Axis

Analisa Listing Program dan Hasil Tampilan


Pada listing program ini dipakai variabel variabel seperti J, b , K, R , L, s untuk menentukan
fungsi transfer open loop dari sebuah motor DC dari input tegangan dan outputnya kecepatan
angular. Variabel variabel ini akan dimasukkan nilainya nanti, sehingga ketika di deklarasikan
menggunakan fungsi P_motor akan menghasilkan fungsi transfer berupa numerator dan
denumerator nya sehingga dapat diketahui tampilan dari fungsi transfer ini dari berbagai fungsi
tampilan seperti step, impulse, stem, rlocus, nyquist dan diagram bode. Ketika di deklarasikan ,
fungsi transfernya dapat dilihat pada tampilan dimana fungsi transfernya

0.01
𝐺(𝑠) = 0.005𝑠2 +0.06𝑠+0.1001

Setelah mendapatkan fungsi transfer ini, tinggal di deklarasikan numerator dan


denumeratornya dimana numeratornya [0 0 0.01] dan denumeratornya [0.005 0.06 0.1001].
Setelah dimasukkan lah fungsi fungsi matlab sehingga hasilnya bisa dilihat pada tampilan. Pada
tampilan fungsi step program bisa dilihat pada gambar bahwa sistem ini memiliki Rise time
sebesar 1,14 sekon, Settling time sebesar 2,07 sekon dan keadaan Steady state nya 0,999. Pada
hasil ini terjadi sedikit kesalahan pada keadaan steady statenya dimana seharusnya steady state
berada pada angka 1 akan tetapi pada program ini steady state berada di angka 0,999 dan errornya
sekitar 0,1%. Pada tampilan impulse program dapat dilihat pada hasil bahwa sistem memiliki peak
Amplitude sebesar 1,34 Amplitudo pada waktu 0,203 sekon dan memiliki Settling time sebesar
2,27 sekon, pada tampilan juga dapat dilihat bahwa sistem ini dikatakan stabil. Pada tampilan
fungsi stem, hasil tampilan hampir tidak bisa diamati sama sekali , ini menandakan bahwa fungsi
transfer motor DC ini tidak memiliki hasil tampilan stemnya. Pada tampilan selanjutnya yaitu
untuk fungsi rootlocus, pada tampilan bisa dilihat bahwa sistem memiliki pole yang berada di -10
pada frekuensi 10 rad/s dan di -2 pada frekuensi 2 rad/s. Untuk tampilan nyquist pada program
didapatkan Peak gain sebesar -0.00868 dB pada frekuensi 4.01e-12 , titik titik plot nyquist berada
pada titik titik berikut dimana titik pertama berada di real 0,391 , imaginer 0,576 pada frekuensi -
1,98 rad/s dan titik kedua berada di real 0,453 dan imaginer -0,575 pada frekuensi 1,79 rad/s. Pada
sistem ini titik titik ini bergerak sesuai arah jarum jam, yang menandakan bahwa sistem ini stabil.
Terakhir untuk diagram bode pada fungsi transfer ini dapat dilihat pada program dimana fungsi ini
memiliki peak gain dan frekuensi yang sama seperti pada plot nyquist dimana peak gainnya
sebesar -0.00868dB pada frekuensi 4.01e-12, Pada tampilan dapat diketahui pada diagram bode
untuk magnitude sistem akan mengalami pelemahan pada titik -1,35dB pada frekuensi 1,17 rad/s
dan magnitude ini semakin lama akan semakin turun dimana ini mirip dengan grafik pada low pass
filter. Pada tampilan diagram bode untuk sudut sistem ketika awalnya sudah mengalami pelemahan
pada titik -3,48o pada frekuensi 0.101 rad/s dan besar sudut ini semakin lama akan semakin lemah
seiring bertambahnya nilai frekuensi.

Pada listing diatas dapat dilihat juga ditambahkan control P I dan D untuk
mengoptimalisasi kerja dari sistem, dapat dilihat ketika ditambah control P dengan Kp = 100 dapat
diketahui rise time sebesar 0.0994 sekon dengan settling time 0.567 sekon dengan overshoot
24,9% dan keadaan steady state 0,909. Dapat dilihat perbedaan menggunakan tanpa kontrol P dan
dengan menggunakan kontrol P dimana ketika tanpa menggunakan kontrol P rise time sebesar
1,14 sekon , settling time 2,07 sekon dan steady state di 0,999. Dapat dilihat bahwa kontrol P akan
mengurangi rise time dan settling time, tetapi akan menambah overshoot system dan terjadi error
steady state, berarti penambahan kontrol P saja tidak dapat mengoptimalisasi kinerja sistem maka
harus ditambahkan dengan kontrol yang lain. Pada penggunaan dengan Kontrol P dan Kontrol D
dengan Kp = 100 dan Kd = 1 didapat rise time sebesar 13,3 sekon dan settling time 150 sekon
dengan steady state 1. Penambahan Kp dan Kd disini malah menambah rise time dan settling time
akan tetapi terlihat hilangnya error steady state. Penambahan Kontrol P dan I dengan Kp = 75 dan
Ki = 1 didapatkan rise time sebesar 0,881 dan settling time 160 sekon dengan steady state 1. Dapat
dibandingkan dengan kontrol sebelumnya terjadinya pengurangan rise time biarpun settling time
juga bertambah. Yang terakhir dengan menambah kontrol P I dan D dapat dilihat pada grafik
sistem memiliki karakteristik 0,112 sekon dengan settling time sebesar 0,257 sekon dengan
overshoot sebesar 1.03% dengan steady state 1. Dapat dilihat disini dengan menggunakan kontrol
PID dengan konstanta tertenttu sistem ini hampir mendekati ideal dimana rise time dan settling
time yang cepat, overshoot sekecil mungkin atau tidak ada sama sekali dan tidak ada error steady
state.