MODUL II
SISTEM KENDALI LINGKAR TERBUKA DAN LINGKAR TERTUTUP
a) Garis Sinyal
Merupakan Garis Panah yang menggambarkan arah aliran sinyal yang
terjadi pada suatu sistem kendali
b) Sub-sistem
Merupakan blok yang berisikan karakteristik dari tahapan pada blok itu
sendiri yang berupa suatu fungsi.
c) Summing Point
LABORATORIUM KONTROL DIGITAL
JURUSAN TEKNIK ELEKTRO FAKULTAS TEKNIK
UNIVERSITAS ANDALAS
Sekretariat : Lt. II JTE Kampus Limau Manih Padang , 25163
http://www.labkontrol.blogspot.com
Merupan titik pertemuan antara dua atau lebih sinyal yang nantinya akan
dilakukan akumulasi penjumlahan ataupun pengurangan terhadap
sinyal-sinyal tersebut
Sistem kendali lingkar terbuka adalah sistem kendali yang tidak memiliki
umpan balik. Pada sistem kendali lingkar terbuka keluaran sistem tidak
diumpanbalikkan untuk dibandingkan dengan sinyal referensi. Sehingga keluaran
sistem merupakan hasil perkalian antara sinyal masukan sub-sistem saja. Diagram
blok lingkar terbuka digambar seperti berikut ini
Pada gambar terlihat bahwa masukan pada sistem lambangkan dengan R(s),
sedangkan fungsi alih atau sub-sistem dilambangkan dengan G(s) dan keluaran
sistem dilabangkan dengan R(s).
Fungsi alih sistem kendali lingkar terbuka dapat diperoleh dari diagram blok
sistem kendali lingkar terbuka seperti pada gambar di atas. Berikut ini adalah fungsi
alih dari sistem kendali lingkar terbuka.
C( s ) (2. 1)
G (s)
R(s)
C( s) G( s) R(s) (2. 2)
LABORATORIUM KONTROL DIGITAL
JURUSAN TEKNIK ELEKTRO FAKULTAS TEKNIK
UNIVERSITAS ANDALAS
Sekretariat : Lt. II JTE Kampus Limau Manih Padang , 25163
http://www.labkontrol.blogspot.com
Sistem Kendali lingkar tertutup adalah sistem kendali yang memiliki umpan
balik, keluaran sistem diumpan balikkan untuk dibandingkan dengan sinyal
referensi. Hal ini berguna agar keluaran sistem bisa sesuai dengan sinyal referensi.
Secara umum diagram blok dari sistem kendali lingkar terbuka adalah seperti
berikut ini
C( s) E ( s)G( s) (2. 3)
E( s) R( s) B(s) (2. 4)
B( s ) C ( s ) H ( s ) (2. 5)
Dimana E(s) adalah nilai selih antara set-point dengan nilai umpan balik dan
B(s) adalah hasil perkalian antara keluaran nilai (C(s)) dengan pengali umpan balik
LABORATORIUM KONTROL DIGITAL
JURUSAN TEKNIK ELEKTRO FAKULTAS TEKNIK
UNIVERSITAS ANDALAS
Sekretariat : Lt. II JTE Kampus Limau Manih Padang , 25163
http://www.labkontrol.blogspot.com
C ( s) R( s) C ( s) H ( s) G ( s)
C (s) G(s) (2. 6)
R( s) 1 G ( s) H ( s)
Dari diagram blok sistem kendali lingkar terbuka dengan Kp di atas, maka
dapat diketahui fungsi alih sistem kendali lingkar terbuka dengan pengendali Kp
adalah seperti berikut ini
C( s ) (2. 7)
KpG ( s )
R( s)
Dari persamaan fungsi alih sistem kendali lingkar terbuka terlihat bahwa
konstanta pengali Kp berfungsi sebagai pengali yang akan menguatkan nilai
keluaran yang dihasilkan oleh sistem.
diagram blok lingkar terbuka, yaitu sebelum plant atau sub-sistem. Secara umum
diagram blok sistem kendali lingkar tertutup dengan pengendali Kp dapat
digambarkan seperti gambar berikut ini
Maka untuk fungsi alih dari sistem kendali lingkar tertutup dengan
konstanta pengali Kp dapat diketahui dengan menggunakan fungsi alih sistem
lingkar tertutup tanpa konstanta penali Kp (Kp bernilai 1).
C ( s) KpG ( s ) (2. 8)
R ( s ) 1 KpG ( s ) H ( s )
LABORATORIUM KONTROL DIGITAL
JURUSAN TEKNIK ELEKTRO FAKULTAS TEKNIK
UNIVERSITAS ANDALAS
Sekretariat : Lt. II JTE Kampus Limau Manih Padang , 25163
http://www.labkontrol.blogspot.com
int dir2=11;
int phaseA=2;
int phaseB=3;
//Deklarasi waktu
unsigned long target=0; // the time we need to wait
unsigned long previousMillis=0; // millis() returns an unsigned long.
void setup()
{
Serial.begin(9600);
//Motor
pinMode(MotEnable, OUTPUT);
pinMode(dir1, OUTPUT);
pinMode(dir2, OUTPUT);
//Pembacaan sudut
pinMode(phaseA,INPUT_PULLUP);
pinMode (phaseB,INPUT_PULLUP);
digitalWrite(phaseA,HIGH);
digitalWrite(phaseB,HIGH);
attachInterrupt(0,updateEncoder,CHANGE);
attachInterrupt(1,updateEncoder,CHANGE);
}
void loop()
{
unsigned long times = millis(); // waktu berjalan
waktu = times/1000; //waktu dalam detik
input = map(analogRead(kecepatan),0, 1023, 0, 100); //input kecepatan dalam
RPM
Kp= map (analogRead(kp),0, 1023, 0, 10);
Speed = (encoderValue/(waktu*6)); // kecepatan terbaca melalui encoder dalam
RPM
LABORATORIUM KONTROL DIGITAL
JURUSAN TEKNIK ELEKTRO FAKULTAS TEKNIK
UNIVERSITAS ANDALAS
Sekretariat : Lt. II JTE Kampus Limau Manih Padang , 25163
http://www.labkontrol.blogspot.com
Serial.print(input);
Serial.print(" ,");
Serial.print(Kp);
Serial.print(" ,");
Serial.print(pwm);
Serial.print(" ,");
Serial.print(waktu);
Serial.print(" ,");
Serial.print(Speed);
Serial.print(" ,");
Serial.println(encoderValue);
}
Percobaan 2.
//Deklarasi Pin Arduino
int kecepatan = A0;
int kp = A1;
int ki = A2;
int kd = A3;
int MotEnable=9;
int dir1=10;
int dir2=11;
int phaseA=2;
int phaseB=3;
//Deklarasi waktu
unsigned long target=0; // the time we need to wait
LABORATORIUM KONTROL DIGITAL
JURUSAN TEKNIK ELEKTRO FAKULTAS TEKNIK
UNIVERSITAS ANDALAS
Sekretariat : Lt. II JTE Kampus Limau Manih Padang , 25163
http://www.labkontrol.blogspot.com
void setup()
{
Serial.begin(9600);
//Motor
LABORATORIUM KONTROL DIGITAL
JURUSAN TEKNIK ELEKTRO FAKULTAS TEKNIK
UNIVERSITAS ANDALAS
Sekretariat : Lt. II JTE Kampus Limau Manih Padang , 25163
http://www.labkontrol.blogspot.com
pinMode(MotEnable, OUTPUT);
pinMode(dir1, OUTPUT);
pinMode(dir2, OUTPUT);
//Pembacaan sudut
pinMode(phaseA,INPUT_PULLUP);
pinMode (phaseB,INPUT_PULLUP);
digitalWrite(phaseA,HIGH);
digitalWrite(phaseB,HIGH);
attachInterrupt(0,updateEncoder,CHANGE);
attachInterrupt(1,updateEncoder,CHANGE);
}
void loop()
{
unsigned long times = millis();// waktu berjalan
waktu = times/1000; //waktu dalam detik
input = map(analogRead(kecepatan),0, 1023, 0, 100); //input kecepatan dalam
RPM
Kp= map (analogRead(kp),0, 1023, 0, 10);
Speed = (encoderValue/(waktu*6)); // kecepatan terbaca melalui encoder dalam
RPM
}
void updateEncoder()
{
int MSB = digitalRead(phaseA); //MSB = most significant bit
int LSB = digitalRead(phaseB); //LSB = least significant bit
int encoded = (MSB << 1) |LSB; //converting the 2 pin value to single number
int sum = (lastEncoded << 2) | encoded; //adding it to the previous encoded value
if(sum == 0b1101 || sum == 0b0100 || sum == 0b0010 || sum == 0b1011)
encoderValue ++;
if(sum == 0b1110 || sum == 0b0111 || sum == 0b0001 || sum == 0b1000)
encoderValue --;
lastEncoded = encoded; //store this value for next time
}
int computePID(int velocity)
{
error = input - velocity;
int out = (Kp * error);
lastEr = error;
return out;
}
void rotation ()
{
if (error>0)
{
pwm = (Speed+pidValue)*2.55;
if (pwm>255)
LABORATORIUM KONTROL DIGITAL
JURUSAN TEKNIK ELEKTRO FAKULTAS TEKNIK
UNIVERSITAS ANDALAS
Sekretariat : Lt. II JTE Kampus Limau Manih Padang , 25163
http://www.labkontrol.blogspot.com
{
pwm = 255;
}
else if (pwm<0)
{
pwm=0;
}
}
else if (error<0)
{
pwm = (Speed+pidValue)*2.55;
if (pwm>255)
{
pwm = 255;
}
else if (pwm<0)
{
pwm=0;
}
}
analogWrite(MotEnable,pwm);
digitalWrite(dir1, HIGH);
digitalWrite(dir2, LOW);
}
void serialMonitor()
LABORATORIUM KONTROL DIGITAL
JURUSAN TEKNIK ELEKTRO FAKULTAS TEKNIK
UNIVERSITAS ANDALAS
Sekretariat : Lt. II JTE Kampus Limau Manih Padang , 25163
http://www.labkontrol.blogspot.com
{
Serial.print(input);
Serial.print(" ,");
Serial.print(Kp);
Serial.print(" ,");
Serial.print(pwm);
Serial.print(" ,");
Serial.print(waktu);
Serial.print(" ,");
Serial.print(Speed);
Serial.print(" ,");
Serial.println(encoderValue);
}
LABORATORIUM KONTROL DIGITAL
JURUSAN TEKNIK ELEKTRO FAKULTAS TEKNIK
UNIVERSITAS ANDALAS
Sekretariat : Lt. II JTE Kampus Limau Manih Padang , 25163
http://www.labkontrol.blogspot.com
kode Matlab untuk penentuan nilai - nilai parameter peralihan sebagai berikut:
clc
clear all
close all
close all hidden
%
% Fungsi Alih Lingkar Terbuka
num_ol = [ 0 km];
den_ol = [ tm 1];
sys_ol = tf(num_ol,den_ol)
%
% Informasi Tanggapan Peralihan
p = stepinfo(sys_ol);
Tr = p.RiseTime;
Tp = p.PeakTime;
LABORATORIUM KONTROL DIGITAL
JURUSAN TEKNIK ELEKTRO FAKULTAS TEKNIK
UNIVERSITAS ANDALAS
Sekretariat : Lt. II JTE Kampus Limau Manih Padang , 25163
http://www.labkontrol.blogspot.com
Ts = p.SettlingTime;
N_p = p.Peak;
Mp = p.Overshoot;
%
fprintf('Nilai Waktu Naik = %10.5g detik\n',Tr)
fprintf('Nilai Waktu Puncak = %10.5g detik\n',Tp)
fprintf('Nilai Waktu Keadaan Mantap = %10.5g detik\n',Ts)
fprintf('Nilai Puncak = %10.5g \n',N_p)
fprintf('Nilai Lewatan Maksimum = %10.5g \n',Mp)
%
% Tanggapan Peralihan Terhadap Masukan Undak Satuan
step(sys_ol)
title('Tanggapan Peralihan Terhadap Masukan Undak Satuan')
grid on
ylabel('Keluaran')
xlabel('Waktu')
Berdasarkan hasil program, copy nilai – nilai parameter peralihan pada table berikut:
Konstanta Proporsional
Parameter
1,5 2,0 2,5 3,0 3,5
Nilai Waktu Naik (detik) 0.63713 0.48334 0.41743 0.41743 0.41743
Nilai Waktu Puncak (detik) 3.0583 2.3201 2.0037 2.0037 2.0037
Nilai Waktu Keadaan Mantap (detik) 1.1345 0.86066 0.74329 0.74329 0.74329
Nilai Puncak 21.249 21.239 21.249 21.249 21.239
Nilai Lewatan Maksimum (Persen) 0 0 0 0 0
kode Matlab untuk penentuan nilai - nilai parameter peralihan sebagai berikut:
clc
clear all
close all
num_ol = [ 0 km];
den_ol = [ tm 1];
sys_ol = tf(num_ol,den_ol)
[num_cl,den_cl] = cloop(num_ol,den_ol,-1);
sys_cl = tf(num_cl,den_cl)
p = stepinfo(sys_cl);
Tr = p.RiseTime;
Tp = p.PeakTime;
Ts = p.SettlingTime;
N_p = p.Peak;
LABORATORIUM KONTROL DIGITAL
JURUSAN TEKNIK ELEKTRO FAKULTAS TEKNIK
UNIVERSITAS ANDALAS
Sekretariat : Lt. II JTE Kampus Limau Manih Padang , 25163
http://www.labkontrol.blogspot.com
Mp = p.Overshoot;
step(sys_cl)
grid on
ylabel('Keluaran')
xlabel('Waktu')
Berdasarkan hasil program, copy nilai – nilai parameter peralihan pada table berikut:
Nilai Setpoin = 10
Parameter
1,5 3,0
Nilai Waktu Naik (detik) 0.0059272 0.0029636
Nilai Waktu Puncak (detik) 0.028451 0.014226
Nilai Waktu Keadaan Mantap (detik) 0.010554 0.0052771
Nilai Puncak 0.95501 0.95501
Nilai Lewatan Maksimum (Persen) 0 0
Nilai Setpoin = 20
Nilai Waktu Naik (detik) 0.0059272 0.0039497
Nilai Waktu Puncak (detik) 0.028451 0.018959
Nilai Waktu Keadaan Mantap (detik) 0.010554 0.0070329
Nilai Puncak 0.95501 0.95503
Nilai Lewatan Maksimum (Persen) 0 0
Nilai Setpoin = 30
Nilai Waktu Naik (detik) 0.0079029 0.006915
Nilai Waktu Puncak (detik) 0.037935 0.033193
Nilai Waktu Keadaan Mantap (detik) 0.014072 0.012313
Nilai Puncak 0.95501 0.95501
Nilai Lewatan Maksimum (Persen) 0 0
LABORATORIUM KONTROL DIGITAL
JURUSAN TEKNIK ELEKTRO FAKULTAS TEKNIK
UNIVERSITAS ANDALAS
Sekretariat : Lt. II JTE Kampus Limau Manih Padang , 25163
http://www.labkontrol.blogspot.com
( Muhammad Hafizh )
LABORATORIUM KONTROL DIGITAL
JURUSAN TEKNIK ELEKTRO FAKULTAS TEKNIK
UNIVERSITAS ANDALAS
Sekretariat : Lt. II JTE Kampus Limau Manih Padang , 25163
http://www.labkontrol.blogspot.com
Grafik
1. Percobaan 1
a. Kp =1,5
b. Kp =2,0
c. Kp =2,5
LABORATORIUM KONTROL DIGITAL
JURUSAN TEKNIK ELEKTRO FAKULTAS TEKNIK
UNIVERSITAS ANDALAS
Sekretariat : Lt. II JTE Kampus Limau Manih Padang , 25163
http://www.labkontrol.blogspot.com
d. Kp =3,0
LABORATORIUM KONTROL DIGITAL
JURUSAN TEKNIK ELEKTRO FAKULTAS TEKNIK
UNIVERSITAS ANDALAS
Sekretariat : Lt. II JTE Kampus Limau Manih Padang , 25163
http://www.labkontrol.blogspot.com
e. Kp =3,5
2. Percobaan 2
a. Set point =10
Kp = 1,5
LABORATORIUM KONTROL DIGITAL
JURUSAN TEKNIK ELEKTRO FAKULTAS TEKNIK
UNIVERSITAS ANDALAS
Sekretariat : Lt. II JTE Kampus Limau Manih Padang , 25163
http://www.labkontrol.blogspot.com
Kp = 3,0
Kp= 3,0
Kp = 3,0
LABORATORIUM KONTROL DIGITAL
JURUSAN TEKNIK ELEKTRO FAKULTAS TEKNIK
UNIVERSITAS ANDALAS
Sekretariat : Lt. II JTE Kampus Limau Manih Padang , 25163
http://www.labkontrol.blogspot.com
LABORATORIUM KONTROL DIGITAL
JURUSAN TEKNIK ELEKTRO FAKULTAS TEKNIK
UNIVERSITAS ANDALAS
Sekretariat : Lt. II JTE Kampus Limau Manih Padang , 25163
http://www.labkontrol.blogspot.com
LABORATORIUM KONTROL DIGITAL
JURUSAN TEKNIK ELEKTRO FAKULTAS TEKNIK
UNIVERSITAS ANDALAS
Sekretariat : Lt. II JTE Kampus Limau Manih Padang , 25163
http://www.labkontrol.blogspot.com
LABORATORIUM KONTROL DIGITAL
JURUSAN TEKNIK ELEKTRO FAKULTAS TEKNIK
UNIVERSITAS ANDALAS
Sekretariat : Lt. II JTE Kampus Limau Manih Padang , 25163
http://www.labkontrol.blogspot.com
a. Kp = 1,5
sys_ol =
21.25
----------
0.29 s + 1
b. Kp = 2,0
sys_ol =
21.24
----------
0.22 s + 1
c. Kp = 2,5
sys_ol =
21.25
----------
0.19 s + 1
d. Kp = 3,0
sys_ol =
21.25
----------
0.19 s + 1
e. Kp = 3,5
sys_ol =
21.24
----------
0.19 s + 1
sys_ol =
21.24
----------
0.06 s + 1
sys_cl =
21.24
--------------
0.06 s + 22.24
sys_ol =
LABORATORIUM KONTROL DIGITAL
JURUSAN TEKNIK ELEKTRO FAKULTAS TEKNIK
UNIVERSITAS ANDALAS
Sekretariat : Lt. II JTE Kampus Limau Manih Padang , 25163
http://www.labkontrol.blogspot.com
21.24
----------
0.03 s + 1
sys_cl =
21.24
--------------
0.03 s + 22.24
b. Set point = 20
Kp = 1,5
sys_ol =
21.24
----------
0.06 s + 1
sys_cl =
LABORATORIUM KONTROL DIGITAL
JURUSAN TEKNIK ELEKTRO FAKULTAS TEKNIK
UNIVERSITAS ANDALAS
Sekretariat : Lt. II JTE Kampus Limau Manih Padang , 25163
http://www.labkontrol.blogspot.com
21.24
--------------
0.06 s + 22.24
Kp = 3,0
sys_ol =
21.24
----------
0.08 s + 1
sys_cl =
21.24
--------------
0.08 s + 22.24
sys_ol =
21.24
----------
0.08 s + 1
sys_cl =
21.24
--------------
0.08 s + 22.24
sys_ol =
21.24
----------
0.07 s + 1
sys_cl =
21.24
--------------
0.07 s + 22.24