Praktikum ini membahas sistem kontrol ball and beam dengan menggunakan kontroler PID. Sistem dideskripsikan dengan persamaan transfer function dan state space. Kontroler P dan PD pertama kali diuji namun belum memenuhi kriteria. Kontroler PID kemudian dirancang dengan mengoptimalkan parameter kontrol untuk memenuhi kriteria settling time kurang dari 2 detik dan overshoot kurang dari 5%. Simulasi dilakukan menggunakan perangkat lunak MATLAB/Scilab.
Slide Transformasi dan Load Data Menggunakan Talend Open Studio
Ball & Beam Control System
1. PRAKTIKUM 5 : BALL & BEAM CONTROL SYSTEM
LUSIANA DIYAN NINGRUM
3 D4 TEKNIK KOMPUTER B
FIRJA HANIF MAULANA
2210181051
BAYU SANDI MARTA
PRAKTIKUM SISTEM PENGATURAN KOMPUTER
19 NOVEMBER 2020
2. BAB 1
DASAR TEORI
Pada bab ini dibahas mengenai sistem kontrol untuk bola dan balok (ball and beam).
Pembahasan diawali dengan pemodelan sistem bola dan balok dan kemudian
dilanjutkan dengan teknik perancangan sistemkontrol.
5.1 Pemodelan Ball & Beam
Pada pemodelan sistem dibahas antara lain problem bola dan balok, transfer function,
state space, kriteria perancangan sistemkontrol, dan open loop response.
5.1.1 Persamaan Sistem
Bola (ball) diletakkan pada sebuah balok (beam), untuk jelasnya lihat gambar di
bawah, dan bola dapat berpindah naik turun sepanjang balok. Sebuah lengan
pengungkit (lever arm) dihubungan dengan balok pada satu sisi, dan dihubungkan
dengan sebuah roda (gear) pada sisi yang lain. Bila roda berputar dengan sudut θ,
lengan pengungkit mengubah sudut balok sebesar α. Bila sudut balok berubah dari
satu posisi ke yang lain, gaya gravitasi akan menyebabkan bola menggelinding
sepanjang balok. Sebuah controller akan dirancang pada sistem ini sehingga posisi
bola dapat dimanipulasi.
Pada permasalahan ini, kita asumsikan bahwa bola menggelinding tanpa slip, dan gaya
gesek antara bola dan balok diabaikan. Variabel dan konstanta untuk permasalahan ini
didefinisikan sbb:
Mass of ball (m) = 0.11 kg
Radius of the ball (Rd) = 0.015 m
Lever arm offset (d) = 0.03 m
Gravitational acceleration (g) = 9.8 m/sec2
Length of the beam(L) = 1.0 m
3. Ball’s moment of inertia (J) = 9.99E-6 kg m2
Ball position (r)
Beam angle (α)
Servo gear angle (θ)
Persamaan Lagrange untuk gerak bola diberikan oleh rumus sbb :
(
𝐽
𝑟𝑑2
+ 𝑚) . 𝑟 + 𝑚. 𝑔. sin ∝ − 𝑚. 𝑟(∝)2
= 0
Linierisasi persamaan di atas pada kondisi sudut balok α mendekati harga nol,
didapatkan pendekatan linier dari sistem sbb :
(
𝐽
𝑟𝑑2
+ 𝑚) . 𝑟 = −𝑚. 𝑔. ∝
Persamaan yang menghubungkan sudut balok dan sudut roda dapat didekati secara
linier dengan persamaan berikut.
∝ =
𝑑
𝐿
𝜃
Dengan metoda substitusi, kita dapatkan persamaan sistemsbb :
(
𝐽
𝑟𝑑2
+ 𝑚) . 𝑟 = −𝑚. 𝑔.
𝑑
𝐿
𝜃
Transfer Function
Dengan melakukan transformasi Lapace pada persamaan sistemdi atas diperoleh
(
𝐽
𝑟𝑑2
+ 𝑚) . 𝑠2
. 𝑅( 𝑠) = −
𝑚. 𝑔. 𝑑
𝐿
. ∅(𝑠|)
Dengan mengatur persamaan hasil transformasi Laplace, didapatkan system transfer
function yang merupakan perbandingan antara output r (posisi bola) terhadap input θ
(sudut roda) :
𝑅( 𝑠)
𝛩( 𝑠)
= −
𝑚 . 𝑔 . 𝑑
𝐿 (
𝐽
𝑟𝑑2 + 𝑚)
.
1
𝑠2
State Space
Representasi sistem dalam bentuk state space dilakukan dengan cara memilih posisi
dan kecepatan bola sebagai state variable, dan memilih posisi roda sebagai input.
Bila kita mengganti sistem roda dan pengungkit dengan cara mengaplikasikan sebuah
motor pada pusat balok, maka kita bisa mengontrol akselerasi sudut balok melalui
torsi yang diberikan pada motor. Dengan cara ini, persamaan state space menjadi sbb
4. 5.1.2 Kriteria Perancangan
Kriteria perancangan sistemkontrol dirumuskan sbb:
Settling time < 3 sec
Overshoot < 5%
5.1.3 Open Loop Response
Untuk mendapatkan open loop response dari sistem bola dan balok dengan
representasi transfer function, digunakan program matlab seperti di bawah ini.
m = 0.111;
Rd = 0.015;
g = -9.8;
L = 1.0;
d = 0.03;
J = 9.99e-6;
K = -(m*g*d)/(L*(J/Rd^2+m));
num = [K];
den = [1 0 0];
printsys(num,den);
step(0.25*num,den);
ylabel('Position (m)');
Output program di atas adalah hasil dari penggunaan fungsi printsys. Step response
dengan input sudut roda sebesar 0.25 rad diperlihatkan oleh grafik di bawah ini.
5. Grafik di atas mempelihatkan bahwa sistem tidak stabil dan bola akan menggelinding
sampai batas tepi balok. Berikutnya, open loop response dari representasi sistem
dengan menggunakan state space ditunjukkan oleh program di bawah ini. Dalam hal
ini kita mengevaluasi sistem bola dan balok yang menggunakan motor pada pusat
balok. Sebagai input sistem adalah akselerasi sudut balok sebesar 1 rad/sec2,
sedangkan sebagai output sistemadalah posisi bola.
m = 0.111;
Rd = 0.015;
g = -9.8;
J = 9.99e-6;
H = -m*g/(J/(Rd^2)+m);
A=[0 1 0 0; 0 0 H 0; 0 0 0 1; 0 0 0 0];
B=[0;0;0;1];
C=[1 0 0 0];
D=[0];
printsys(A,B,C,D);
step(A,B*1.0,C,D);
ylabel('Position (m)');
6. 5.1.4 Close Loop System
Close loop system terdiri dari controller dan plant yang berupa sistembola dan balok.
Konfigurasi ini dimaksudkan untuk menghasilkan output response sesuai dengan
kriteria perancangan.
5.2 Ball & Beam Control dengan PID
Pada tahap awal pembahasan PID control, kita akan mengevaluasi unjuk kerja sistem
bila digunakan proportional controller. Selanjutnya, kita akan menambahkan integral
dan/atau derivative controller bila diperlukan.
5.2.1 P Controller
Program untuk sistem bola dan balok dengan gain proportional controller sebesar 1,
dan input step sudut roda sebesar 0.25 rad, ditunjukkan di bawah ini
m = 0.111;
Rd = 0.015;
g = -9.8;
L = 1.0;
d = 0.03;
J = 9.99e-6;
7. K = -(m*g*d)/(L*(J/Rd^2+m));
num = [K];
den = [1 0 0];
Kp = 1;
[numc, denc] = cloop(Kp*num, den);
step(0.25*numc,denc);
ylabel('Position (m)');
Pada grafik di atas terlihat bahwa penambahan proportional gain tidak membuat
sistem menjadi stabil. Perlu dicatat bahwa perubahan harga gain tidak mengubah
keadaan sistem.
5.2.2 PD Controler
Sekarang, kita menambahkan komponen derivative pada controller. Perhatikan
program di bawah ini.
m = 0.111;
Rd = 0.015;
g = -9.8;
L = 1.0;
d = 0.03;
J = 9.99e-6;
K = -(m*g*d)/(L*(J/Rd^2+m));
num = [K];
den = [1 0 0];
Kp = 10;
Kd = 10;
8. numPD =[Kd Kp];
numh = conv(numPD,num);
[numc,denc] = cloop(numh,den);
t = 0:0.01:5;
step(0.25*numc,denc,t);
ylabel('Position (m)');
Dengan proportional gain dan derivative gain masing-masing sebesar 10, terlihat dari
grafik di atas bahwa kriteria overshoot telah dipenuhi namun settling time lebih baik
bila dipercepat sedikit. Untuk mengurangi settling time, kita bisa mencoba menaikkan
proportional gain. Derivative gain sebaiknya dinaikkan juga untuk mengatasi
overshoot yang disebabkan oleh kenaikan nilai proportional gain. Setelah beberapa
saat melakukan trial and error, kita mendapatkan response yang cukup memenuhi
kriteria, perancangan controller, bila harga proportional gain sebesar 15 dan derivative
gain sebesar 40.
m = 0.111;
Rd = 0.015;
g = -9.8;
L = 1.0;
d = 0.03;
J = 9.99e-6;
K = -(m*g*d)/(L*(J/Rd^2+m));
num = [K];
den = [1 0 0];
Kp = 15;
Kd = 40;
numPD =[Kd Kp];
numh = conv(numPD,num);
9. [numc,denc] = cloop(numh,den);
t = 0:0.01:5;
step(0.25*numc,denc,t);
ylabel('Position (m)');
Seperti terlihat pada grafik di atas bahwa semua kriteria perancangan controller telah
dipenuhi tanpa harus memanfaatkan integral controller. Settling time pada contoh ini
dianggap telah dicapai bila response telah berada pada sekitar 2% dari harga akhir.
10. BAB 2
PERALATAN
Peralatan yang digunakan untuk praktikum ini diantaranya :
1. PC / Komputer
2. Software Matlab yang dilengkapi dengan Simulink (Bisa juga diganti dengan
software serupa, disini saya menggunakan Scilab dan XCos)
11. BAB 3
EXPERIMENTAL SETUP
Open Loop Response Representasi Transfer Function
m = 0.111;
Rd = 0.015;
g = -9.8;
L = 1.0;
d = 0.03;
J = 9.99e-6;
K = -(m*g*d)/(L*(J/Rd^2+m));
num = [K];
den = [1 0 0];
printsys(num,den);
step(0.25*num,den);
ylabel('Position (m)');
Open Loop Response Representasi State Space
m = 0.111;
Rd = 0.015;
g = -9.8;
J = 9.99e-6;
H = -m*g/(J/(Rd^2)+m);
A=[0 1 0 0; 0 0 H 0; 0 0 0 1; 0 0 0 0];
B=[0;0;0;1];
C=[1 0 0 0];
D=[0];
printsys(A,B,C,D);
step(A,B*1.0,C,D);
ylabel('Position (m)');
12. P Controler
m = 0.111;
Rd = 0.015;
g = -9.8;
L = 1.0;
d = 0.03;
J = 9.99e-6;
K = -(m*g*d)/(L*(J/Rd^2+m));
num = [K];
den = [1 0 0];
Kp = 1;
[numc, denc] = cloop(Kp*num, den);
step(0.25*numc,denc);
ylabel('Position (m)');
PD Controler
1. Belum memenuhi perancangan
m = 0.111;
Rd = 0.015;
g = -9.8;
L = 1.0;
d = 0.03;
J = 9.99e-6;
K = -(m*g*d)/(L*(J/Rd^2+m));
num = [K];
den = [1 0 0];
Kp = 10;
Kd = 10;
13. numPD =[Kd Kp];
numh = conv(numPD,num);
[numc,denc] = cloop(numh,den);
t = 0:0.01:5;
step(0.25*numc,denc,t);
ylabel('Position (m)');
2. Sudah memenuhi perancangan
m = 0.111;
Rd = 0.015;
g = -9.8;
L = 1.0;
d = 0.03;
J = 9.99e-6;
K = -(m*g*d)/(L*(J/Rd^2+m));
num = [K];
den = [1 0 0];
Kp = 15;
Kd = 40;
numPD =[Kd Kp];
numh = conv(numPD,num);
[numc,denc] = cloop(numh,den);
t = 0:0.01:5;
step(0.25*numc,denc,t);
ylabel('Position (m)');
TUGAS
1. Desainlah sebuah Proportional dan Integral (PI) Controler yang sesuai untuk
diterapkan pada sebuah control ball & beam, dimana diinginkan kondisi sebagai
berikut :
m = 0.111;
Rd = 0.015;
g = -9.8;
L = 1.0;
d = 0.03;
J = 9.99e-6;
Kriteria perancangan sistemkontrol yang diusulkan sbb :
Settling time < 2 sec
Overshoot < 5%
Yang harus anda lakukan adalah :
a. Cari respon systemopen loop-nya
14. m = 0.111;
Rd = 0.015;
g = -9.8;
L = 1.0;
d = 0.03;
J = 9.99e-6;
K = -(m*g*d)/(L*(J/Rd^2+m));
num = [K];
den = [1 0 0];
printsys(num,den);
step(0.25*num,den);
ylabel('Position (m)');
b. Cari respon systemclose loop-nya dengan PI controller
m = 0.111;
Rd = 0.015;
g = -9.8;
L = 1.0;
d = 0.03;
J = 9.99e-6;
K = -(m*g*d)/(L*(J/Rd^2+m));
num = [K];
den = [1 0 0];
Kp = 1;
Ki = 10;
numPI =[Kd Ki];
numh = conv(numPI,num);
[numc, denc] = cloop(Kp*num, den);
t = 0:0.01:5;
step(0.25*numc,denc,t);
ylabel('Position (m)');
2. Desainlah sebuah Proportional, Integral dan Derevative (PID) Controler yang
diterapkan pada sebuah control kecepatan motor dengan kriteria pada nomor 1.
m = 0.111;
Rd = 0.015;
g = -9.8;
L = 1.0;
d = 0.03;
J = 9.99e-6;
K = -(m*g*d)/(L*(J/Rd^2+m));
num = [K];
den = [1 0 0];
Kp = 70;
Ki = 20;
16. BAB 4
HASIL PENGUJIAN
Open Loop Response
Grafik di atas mempelihatkan bahwa sistem tidak stabil dan bola akan menggelinding
sampai batas tepi balok.
17. P Controler
Pada grafik di atas terlihat bahwa penambahan proportional gain tidak membuat
sistemmenjadi stabil.
PD Controler
18. Dengan proportional gain dan derivative gain masing-masing sebesar 10, terlihat dari
grafik di atas bahwa kriteria overshoot telah dipenuhi namun settling time lebih baik
bila dipercepat sedikit.
semua kriteria perancangan controller telah dipenuhi tanpa harus memanfaatkan
integral controller. Settling time pada contoh ini dianggap telah dicapai bila response
telah berada pada sekitar 2% dari harga akhir.
TUGAS
Open Loop Response
19. Close Loop Response dengan PI Controler
Proportional, Integral dan Derevative (PID) Controler
20. BAB 5
ANALISA DAN KESIMPULAN
ANALISA
Pada praktikum dua ini merupakan praktikum untuk membuat Ball & Beam Control
System menggunakan control PID. Ball & beam system adalah sebuah sistem kendali
yang terdiri dari sebuah bidang persegi panjang dan sebuah bola. Beam and ball
system adalah sistem yang umum digunakan sebagai alat peraga dalam pembelajaran
metode sistemkendali.
Pada praktikum ini terdapat dua pokok pembahasan mengenai ball & beam control
system, yakni pemodelan sistem ball & beam control dan perancangan sistem ball &
beam control dengan PID. Di dalam membuat pemodelan sistem, salah satu yang
harus dilakukan adalah melihat open loop response terhadap step input dengan
menggunakan rumus transfer function berikut :
𝑅( 𝑠)
𝛩( 𝑠)
= −
𝑚 . 𝑔 . 𝑑
𝐿 (
𝐽
𝑟𝑑2 + 𝑚)
.
1
𝑠2
Dengan memasukkan kondisi yang diminta pada tugas nomor satu serta kriteria
perancangan dimana response sistem memiliki settling time < 2 sec dan overshoot <
5%. Diperoleh respon systemopen loop seperti pada grafik di bawah ini
21. Kemudian untuk mendapatkan respon system close loop dengan menggunakan
proportional controller (Kp), pada percobaan ini saya memberikan nilai Kp = 1 dan
Kp = 10 yang menghasilkan grafik response close loop systemnya sebagai berikut
Dengan menerapkan kriteria yang sama, setelah memperoleh response system maka
melakukan desain proportional, integral dan derivative controller (PID Controller).
Dengan besar nilai kp sama dengan 70 dan ki sama dengan 20, sedangkan nilai kd
sebesar 1 sehingga diperoleh hasil response yang bagus dimana ball & beam bisa
mencapai titik kestabilan pada waktu kurang dari 1 sec.
22. KESIMPULAN
Berdasarkan hasil percobaan dan analisa sistem, dapat ditarik kesimpulan
bahwa menentukan kriteria sistem penting untuk dilakukan sebelum membuat desain
sistem agar keluaran (output) yang dihasilkan oleh sistem dapat sesuai dengan yang
diharapkan. Dalam membuat perancangan sistem, untuk memperbaiki rise time dapat
menggunakan proportional control, sedangkan untuk melakukan eliminasi steady state
error menggunakan integral control dan derivative control untuk memperbaiki
overshot dari sistemyang akan dibangun.