sistem kontrol dengan menggunakan scilab
LAPORAN PRAKTEK SISTEM KONTROL
“PENGUJIAN KONTROL DENGAN P,I,D”
DISUSUN OLEH :
RIA ARIANTI (201303025)
POLITEKNIK ENJINERING INDORAMA
PURWAKARTA 2014
FUNGSI ALIH MOTOR DC MAGNET
Startup execution:
loading initial environment
-->//fungsi alih motor dc magnet
-->J=0.05
J =
0.05
-->b=0.5
b =
0.5
-->R=5
R =
5.
-->L=0.25
L =
0.25
-->K=0.5
K =
0.5
-->num=K
num =
0.5
2
-->s=%s
s =
s
-->denum=(J*s+b)*(L*s+R)+K^2
denum =
2
2.75 + 0.375s + 0.0125s
PENGUJIAN RESPON OPEN LOOP
Startup execution:
loading initial environment
-->//fungsi alih motro dc magnet
-->J=0.05
J =
0.05
-->b=0.5
b =
0.5
-->s=%s
s =
s
-->denum=(J*s+b)*(L*s+R)+K^2
denum =
2
2.75 + 0.375s + 0.0125s
0.5
-->t=0:0.01:4;
-->R=5
R =
-->tf=num/denum
tf =
5.
-->L=0.25
L =
0.5
----------------------2
2.75 + 0.375s + 0.0125s
0.25
-->K=0.5
K =
0.5
-->num=K
num =
3
-->res=csim('step',t,tf);
WARNING: csim: Input argument 1 is
assumed continuous time.
-->plot(t,res)
-->xgrid(4)
Grafik 1 : respon open loop
FUNGSI ALIH SENSOR KECEPATAN H(s)
Startup execution:
loading initial environment
-->s=%s
s =
-->//fungsi alih motor dc magnet
s
-->J=0.05
J =
-->denum=(J*s+b)*(L*s+R)+K^2
denum =
0.05
-->b=0.5
b =
2
2.5025 + 0.375s + 0.0125s
-->t=0:0.01:4;
0.5
-->R=5
R =
5.
-->L=0.25
L =
0.25
-->K=0.05
K =
0.05
-->num=K
num =
0.05
5
-->tf=num/denum
tf =
0.05
-----------------------2
2.5025 + 0.375s + 0.0125s
-->res=csim('step',t,tf);
WARNING: csim: Input argument 1 is
assumed continuous time.
-->xgrid(4)
-->plot(t,res)
-->xgrid(4)
-->H1=0.5
H1 =
H3 =
0.5
1.
-->tf1=num/(1+denum*H1)
tf1 =
0.05
---------------------------2
2.25125 + 0.1875s + 0.00625s
-->res_pid=csim('step',t,tf);
WARNING: csim: Input argument 1 is
assumed continuous time.
-->tf3=num/(1+denum*H3)
tf3 =
0.05
-----------------------2
3.5025 + 0.375s + 0.0125s
-->res_pid=csim('step',t,tf);
WARNING: csim: Input argument 1 is
assumed continuous time.
-->plot2d(t,res_pid,style=9)
-->plot2d(t,res_pid,style=5)
-->H2=0.01
H2 =
-->H4=1.5
H4 =
0.01
1.5
-->tf2=num/(1+denum*H2)
tf2 =
0.05
-----------------------------2
1.025025 + 0.00375s + 0.000125s
-->res_pid=csim('step',t,tf);
WARNING: csim: Input argument 1 is
assumed continuous time.
-->tf4=num/(1+denum*H4)
tf4 =
0.05
---------------------------2
4.75375 + 0.5625s + 0.01875s
-->res_pid=csim('step',t,tf);
WARNING: csim: Input argument 1 is
assumed continuous time.
-->plot2d(t,res_pid,style=7)
-->plot2d(t,res_pid,style=5)
-->H3=1
6
-->xgrid()
Grafik 2 : dengan H(s) = 0.5
Grafik 3 : dengan H(s) = 0.01
7
Grafik 4 : dengan H(s) = 1
Grafik 5 : dengan H(s) = 1.5
8
DIAGRAM BLOK SISTEM KONTROL KECEPATAN MOTOR DC
9
FUNGSI ALIH SECARA KESELURUHAN DENGAN KONTROL P, PI, PD
Startup execution:
loading initial environment
-->//fungsi alih motor dc magnet
-->J=0.05
J =
0.05
-->b=0.5
b =
0.05
-->s=%s
s =
s
-->denum=(J*s+b)*(L*s+R)+K^2
denum =
2
2.5025 + 0.375s + 0.0125s
0.5
-->t=0:0.01:4;
-->R=5
R =
-->tf=num/denum
tf =
5.
-->L=0.25
L =
0.05
-----------------------2
2.5025 + 0.375s + 0.0125s
0.25
-->K=0.05
K =
0.05
-->num=K
num =
10
-->res=csim('step',t,tf);
WARNING: csim: Input argument 1 is
assumed continuous time.
-->plot(t,res)
-->xgrid(4)
-->H1=0.5
H1 =
-->H3=1
H3 =
0.5
1.
-->tf1=num/(1+denum*H1)
tf1 =
0.05
---------------------------2
2.25125 + 0.1875s + 0.00625s
-->res_pid=csim('step',t,tf);
WARNING: csim: Input argument 1 is
assumed continuous time.
-->tf3=num/(1+denum*H3)
tf3 =
0.05
-----------------------2
3.5025 + 0.375s + 0.0125s
-->res_pid=csim('step',t,tf);
WARNING: csim: Input argument 1 is
assumed continuous time.
-->plot2d(t,res_pid,style=9)
-->plot2d(t,res_pid,style=5)
-->H2=0.01
H2 =
-->H4=1.5
H4 =
0.01
1.5
-->tf2=num/(1+denum*H2)
tf2 =
0.05
-----------------------------2
1.025025 + 0.00375s + 0.000125s
-->res_pid=csim('step',t,tf);
WARNING: csim: Input argument 1 is
assumed continuous time.
-->plot2d(t,res_pid,style=7)
11
-->tf4=num/(1+denum*H4)
tf4 =
0.05
---------------------------2
4.75375 + 0.5625s + 0.01875s
-->res_pid=csim('step',t,tf);
WARNING: csim: Input argument 1 is
assumed continuous time.
-->plot2d(t,res_pid,style=5)
-->xgrid()
-->
-->kp=300; ki=200; kd=10;
-------------------------2 3
0.0075615 + 451s + 19s + s
-->res_pid=csim('step',t,tf1)
WARNING: csim: Input argument 1 is
assumed continuous time.
res_pid =
-->s=%s
s =
s
-->res_pid1=csim('step',t,tf1);
WARNING: csim: Input argument 1 is
assumed continuous time.
->G=(kp+1/(ki*s)+kd*s)*3*(1/((s+1)^
2+(2*s)))
G =
2
3 + 180000s + 6000s
------------------2 3
200s + 800s + 200s
-->plot2d(t,res_pid1,style=5);
-->xgrid();
-->kp=300; ki=200; kd=10;
-->s=%s
s =
s
-->t=0:0.01:4;
-->H1=0.5
H1 =
->num=(kp+1/(ki*s)+kd*s)*3*(1/((s+
1)^2+(2*s)))
num =
0.5
-->tf1=G/(1+G*H1)
tf1 =
2
0.0151227 + 900s + 30s
12
2
3 + 180000s + 6000s
------------------2 3
200s + 800s + 200s
-->t=0:0.01:4;
-->H1=0.5
H1 =
2
3 + 180000s + 9000s
------------------2 3
300s + 1200s + 300s
0.5
-->t=0:0.01:4;
-->tf1=num/(1+denum*H1)
tf1 =
2
3 + 180000s + 6000s
----------------------------------------2
3
4
5
450.25s + 1838.5s + 601.5s + 42.5s
+ 1.25s
-->res_pid1=csim('step',t,tf1);
WARNING: csim: Input argument 1 is
assumed continuous time.
-->plot2d(t,res_pid1,style=5);
-->H2=0.5
H2 =
0.5
-->tf2=num/(1+denum*H1)
tf2 =
2
3 + 180000s + 9000s
---------------------------------------------2
3
4
5
675.375s + 2757.75s + 902.25s +
63.75s + 1.875s
-->xgrid();
-->kp=200; ki=300; kd=10;
-->s=%s
s =
s
->num=(kp+1/(ki*s)+kd*s)*3*(1/((s+
1)^2+(2*s)))
num =
13
-->tf2=num/(1+num*H2)
tf2 =
2
0.0100485 + 600s + 30s
-------------------------2 3
0.0050243 + 301s + 19s + s
-->res_pid1=csim('step',t,tf2);
WARNING: csim: Input argument 1 is
assumed continuous time.
-->plot2d(t,res_pid1,style=7);
-->xgrid();
-->res_pid1=csim('step',t,tf2);
WARNING: csim: Input argument 1 is
assumed continuous time.
-->kp=200; ki=300; kd=30;
-->plot2d(t,res_pid1,style=7);
-->s=%s
s =
s
->G=(kp+1/(ki*s)+kd*s)*3*(1/((s+1)^
2+(2*s)))
G =
2
3 + 180000s + 27000s
-------------------2 3
300s + 1200s + 300s
-->t=0:0.01:4;
-->H2=0.5
H2 =
0.5
-->tf2=num/(1+num*H2)
tf2 =
2
0.0100485 + 600s + 30s
-------------------------2 3
0.0050243 + 301s + 19s + s
14
-->xgrid();
-->kp=300; ki=200; kd=30;
-->s=%s
s =
s
->num=(kp+1/(ki*s)+kd*s)*3*(1/((s+
1)^2+(2*s)))
num =
2
3 + 180000s + 18000s
-------------------2 3
200s + 800s + 200s
-->t=0:0.01:4;
-->t=0:0.1:7;
-->H3=0.5
H3 =
0.5
-->tf3=num/(1+num*H3)
tf3 =
2
0.0147960 + 899.99998s + 90s
-------------------------------2 3
0.0073978 + 450.99999s + 49s + s
2
3 + 12000s + 1800s
-----------------2 3
20s + 80s + 20s
-->t=0:0.01:4;
-->res_pid1=csim('step',t,tf3);
WARNING: csim: Input argument 1 is
assumed continuous time.
-->plot2d(t,res_pid1,style=9);
-->xgrid();
-->H4=1
H4 =
1.
-->tf4=num/(1+num*H4)
tf4 =
-->
-->kp=200; ki=20; kd=30;
-->s=%s
s =
s
->num=(kp+1/(ki*s)+kd*s)*3*(1/((s+
1)^2+(2*s)))
num =
15
2
0.1500123 + 600s + 90s
-------------------------2 3
0.1500123 + 601s + 94s + s
-->res_pid1=csim('step',t,tf4);
WARNING: csim: Input argument 1 is
assumed continuous time.
-->plot2d(t,res_pid1,style=9);
GRAFIK HASIL RESPON
Grafik 6 : hasil respon yang paling baik dengan menggunakan P = 200, PI = 300,
PD = 30.
16
“PENGUJIAN KONTROL DENGAN P,I,D”
DISUSUN OLEH :
RIA ARIANTI (201303025)
POLITEKNIK ENJINERING INDORAMA
PURWAKARTA 2014
FUNGSI ALIH MOTOR DC MAGNET
Startup execution:
loading initial environment
-->//fungsi alih motor dc magnet
-->J=0.05
J =
0.05
-->b=0.5
b =
0.5
-->R=5
R =
5.
-->L=0.25
L =
0.25
-->K=0.5
K =
0.5
-->num=K
num =
0.5
2
-->s=%s
s =
s
-->denum=(J*s+b)*(L*s+R)+K^2
denum =
2
2.75 + 0.375s + 0.0125s
PENGUJIAN RESPON OPEN LOOP
Startup execution:
loading initial environment
-->//fungsi alih motro dc magnet
-->J=0.05
J =
0.05
-->b=0.5
b =
0.5
-->s=%s
s =
s
-->denum=(J*s+b)*(L*s+R)+K^2
denum =
2
2.75 + 0.375s + 0.0125s
0.5
-->t=0:0.01:4;
-->R=5
R =
-->tf=num/denum
tf =
5.
-->L=0.25
L =
0.5
----------------------2
2.75 + 0.375s + 0.0125s
0.25
-->K=0.5
K =
0.5
-->num=K
num =
3
-->res=csim('step',t,tf);
WARNING: csim: Input argument 1 is
assumed continuous time.
-->plot(t,res)
-->xgrid(4)
Grafik 1 : respon open loop
FUNGSI ALIH SENSOR KECEPATAN H(s)
Startup execution:
loading initial environment
-->s=%s
s =
-->//fungsi alih motor dc magnet
s
-->J=0.05
J =
-->denum=(J*s+b)*(L*s+R)+K^2
denum =
0.05
-->b=0.5
b =
2
2.5025 + 0.375s + 0.0125s
-->t=0:0.01:4;
0.5
-->R=5
R =
5.
-->L=0.25
L =
0.25
-->K=0.05
K =
0.05
-->num=K
num =
0.05
5
-->tf=num/denum
tf =
0.05
-----------------------2
2.5025 + 0.375s + 0.0125s
-->res=csim('step',t,tf);
WARNING: csim: Input argument 1 is
assumed continuous time.
-->xgrid(4)
-->plot(t,res)
-->xgrid(4)
-->H1=0.5
H1 =
H3 =
0.5
1.
-->tf1=num/(1+denum*H1)
tf1 =
0.05
---------------------------2
2.25125 + 0.1875s + 0.00625s
-->res_pid=csim('step',t,tf);
WARNING: csim: Input argument 1 is
assumed continuous time.
-->tf3=num/(1+denum*H3)
tf3 =
0.05
-----------------------2
3.5025 + 0.375s + 0.0125s
-->res_pid=csim('step',t,tf);
WARNING: csim: Input argument 1 is
assumed continuous time.
-->plot2d(t,res_pid,style=9)
-->plot2d(t,res_pid,style=5)
-->H2=0.01
H2 =
-->H4=1.5
H4 =
0.01
1.5
-->tf2=num/(1+denum*H2)
tf2 =
0.05
-----------------------------2
1.025025 + 0.00375s + 0.000125s
-->res_pid=csim('step',t,tf);
WARNING: csim: Input argument 1 is
assumed continuous time.
-->tf4=num/(1+denum*H4)
tf4 =
0.05
---------------------------2
4.75375 + 0.5625s + 0.01875s
-->res_pid=csim('step',t,tf);
WARNING: csim: Input argument 1 is
assumed continuous time.
-->plot2d(t,res_pid,style=7)
-->plot2d(t,res_pid,style=5)
-->H3=1
6
-->xgrid()
Grafik 2 : dengan H(s) = 0.5
Grafik 3 : dengan H(s) = 0.01
7
Grafik 4 : dengan H(s) = 1
Grafik 5 : dengan H(s) = 1.5
8
DIAGRAM BLOK SISTEM KONTROL KECEPATAN MOTOR DC
9
FUNGSI ALIH SECARA KESELURUHAN DENGAN KONTROL P, PI, PD
Startup execution:
loading initial environment
-->//fungsi alih motor dc magnet
-->J=0.05
J =
0.05
-->b=0.5
b =
0.05
-->s=%s
s =
s
-->denum=(J*s+b)*(L*s+R)+K^2
denum =
2
2.5025 + 0.375s + 0.0125s
0.5
-->t=0:0.01:4;
-->R=5
R =
-->tf=num/denum
tf =
5.
-->L=0.25
L =
0.05
-----------------------2
2.5025 + 0.375s + 0.0125s
0.25
-->K=0.05
K =
0.05
-->num=K
num =
10
-->res=csim('step',t,tf);
WARNING: csim: Input argument 1 is
assumed continuous time.
-->plot(t,res)
-->xgrid(4)
-->H1=0.5
H1 =
-->H3=1
H3 =
0.5
1.
-->tf1=num/(1+denum*H1)
tf1 =
0.05
---------------------------2
2.25125 + 0.1875s + 0.00625s
-->res_pid=csim('step',t,tf);
WARNING: csim: Input argument 1 is
assumed continuous time.
-->tf3=num/(1+denum*H3)
tf3 =
0.05
-----------------------2
3.5025 + 0.375s + 0.0125s
-->res_pid=csim('step',t,tf);
WARNING: csim: Input argument 1 is
assumed continuous time.
-->plot2d(t,res_pid,style=9)
-->plot2d(t,res_pid,style=5)
-->H2=0.01
H2 =
-->H4=1.5
H4 =
0.01
1.5
-->tf2=num/(1+denum*H2)
tf2 =
0.05
-----------------------------2
1.025025 + 0.00375s + 0.000125s
-->res_pid=csim('step',t,tf);
WARNING: csim: Input argument 1 is
assumed continuous time.
-->plot2d(t,res_pid,style=7)
11
-->tf4=num/(1+denum*H4)
tf4 =
0.05
---------------------------2
4.75375 + 0.5625s + 0.01875s
-->res_pid=csim('step',t,tf);
WARNING: csim: Input argument 1 is
assumed continuous time.
-->plot2d(t,res_pid,style=5)
-->xgrid()
-->
-->kp=300; ki=200; kd=10;
-------------------------2 3
0.0075615 + 451s + 19s + s
-->res_pid=csim('step',t,tf1)
WARNING: csim: Input argument 1 is
assumed continuous time.
res_pid =
-->s=%s
s =
s
-->res_pid1=csim('step',t,tf1);
WARNING: csim: Input argument 1 is
assumed continuous time.
->G=(kp+1/(ki*s)+kd*s)*3*(1/((s+1)^
2+(2*s)))
G =
2
3 + 180000s + 6000s
------------------2 3
200s + 800s + 200s
-->plot2d(t,res_pid1,style=5);
-->xgrid();
-->kp=300; ki=200; kd=10;
-->s=%s
s =
s
-->t=0:0.01:4;
-->H1=0.5
H1 =
->num=(kp+1/(ki*s)+kd*s)*3*(1/((s+
1)^2+(2*s)))
num =
0.5
-->tf1=G/(1+G*H1)
tf1 =
2
0.0151227 + 900s + 30s
12
2
3 + 180000s + 6000s
------------------2 3
200s + 800s + 200s
-->t=0:0.01:4;
-->H1=0.5
H1 =
2
3 + 180000s + 9000s
------------------2 3
300s + 1200s + 300s
0.5
-->t=0:0.01:4;
-->tf1=num/(1+denum*H1)
tf1 =
2
3 + 180000s + 6000s
----------------------------------------2
3
4
5
450.25s + 1838.5s + 601.5s + 42.5s
+ 1.25s
-->res_pid1=csim('step',t,tf1);
WARNING: csim: Input argument 1 is
assumed continuous time.
-->plot2d(t,res_pid1,style=5);
-->H2=0.5
H2 =
0.5
-->tf2=num/(1+denum*H1)
tf2 =
2
3 + 180000s + 9000s
---------------------------------------------2
3
4
5
675.375s + 2757.75s + 902.25s +
63.75s + 1.875s
-->xgrid();
-->kp=200; ki=300; kd=10;
-->s=%s
s =
s
->num=(kp+1/(ki*s)+kd*s)*3*(1/((s+
1)^2+(2*s)))
num =
13
-->tf2=num/(1+num*H2)
tf2 =
2
0.0100485 + 600s + 30s
-------------------------2 3
0.0050243 + 301s + 19s + s
-->res_pid1=csim('step',t,tf2);
WARNING: csim: Input argument 1 is
assumed continuous time.
-->plot2d(t,res_pid1,style=7);
-->xgrid();
-->res_pid1=csim('step',t,tf2);
WARNING: csim: Input argument 1 is
assumed continuous time.
-->kp=200; ki=300; kd=30;
-->plot2d(t,res_pid1,style=7);
-->s=%s
s =
s
->G=(kp+1/(ki*s)+kd*s)*3*(1/((s+1)^
2+(2*s)))
G =
2
3 + 180000s + 27000s
-------------------2 3
300s + 1200s + 300s
-->t=0:0.01:4;
-->H2=0.5
H2 =
0.5
-->tf2=num/(1+num*H2)
tf2 =
2
0.0100485 + 600s + 30s
-------------------------2 3
0.0050243 + 301s + 19s + s
14
-->xgrid();
-->kp=300; ki=200; kd=30;
-->s=%s
s =
s
->num=(kp+1/(ki*s)+kd*s)*3*(1/((s+
1)^2+(2*s)))
num =
2
3 + 180000s + 18000s
-------------------2 3
200s + 800s + 200s
-->t=0:0.01:4;
-->t=0:0.1:7;
-->H3=0.5
H3 =
0.5
-->tf3=num/(1+num*H3)
tf3 =
2
0.0147960 + 899.99998s + 90s
-------------------------------2 3
0.0073978 + 450.99999s + 49s + s
2
3 + 12000s + 1800s
-----------------2 3
20s + 80s + 20s
-->t=0:0.01:4;
-->res_pid1=csim('step',t,tf3);
WARNING: csim: Input argument 1 is
assumed continuous time.
-->plot2d(t,res_pid1,style=9);
-->xgrid();
-->H4=1
H4 =
1.
-->tf4=num/(1+num*H4)
tf4 =
-->
-->kp=200; ki=20; kd=30;
-->s=%s
s =
s
->num=(kp+1/(ki*s)+kd*s)*3*(1/((s+
1)^2+(2*s)))
num =
15
2
0.1500123 + 600s + 90s
-------------------------2 3
0.1500123 + 601s + 94s + s
-->res_pid1=csim('step',t,tf4);
WARNING: csim: Input argument 1 is
assumed continuous time.
-->plot2d(t,res_pid1,style=9);
GRAFIK HASIL RESPON
Grafik 6 : hasil respon yang paling baik dengan menggunakan P = 200, PI = 300,
PD = 30.
16