Top Banner
Plan (Pendahuluan) Sebuah bola ditempatkan pada balok, seperti gambar 1.1 dibawah ini, dimana balok menggelinding denga 1 derajat kebebasan sepanjang balok. Sebuah lengan tuas melekat ke balok disalah satu ujung dan roda gigi servo pada yang lain. Jika roda gigi servo berputar dengan sudut θ , tuas mengubah sudut balok sebesar α. Ketika sudut berubah dari posisi horizontal, gravitasi menyebabkan bola bergulir di sepanjang balok. Sebuah controller akan dirancang untuk system ini sehingga posisi bola dapat dimanipulasi Gambar 1.1 1 | Page
26

Blam Maliq

Dec 14, 2015

Download

Documents

metode plc
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Blam Maliq

Plan (Pendahuluan)

Sebuah bola ditempatkan pada balok, seperti gambar 1.1 dibawah ini, dimana balok menggelinding denga 1 derajat kebebasan sepanjang balok. Sebuah lengan tuas melekat ke balok disalah satu ujung dan roda gigi servo pada yang lain.

Jika roda gigi servo berputar dengan sudut θ , tuas mengubah sudut balok sebesar α .

Ketika sudut berubah dari posisi horizontal, gravitasi menyebabkan bola bergulir di

sepanjang balok. Sebuah controller akan dirancang untuk system ini sehingga posisi

bola dapat dimanipulasi

Gambar 1.1

1 | P a g e

Page 2: Blam Maliq

Indeks (Parameter)

(m) = massa bola

(R) = jari-jari bola

(d) = lengan tuas offset

(g) = kecepatan gravitasi

(L) = panjang balok

(J) = momen inersia bola

(r) = koordinat posisi bola

(α) = koordinat sudut balok [alpha]

(θ) = sudut roda gigi servo [theta]

Penurunan Rumus

Turunan kedua dari input angle α benar-benar mempengaruhi turunan ke dua dari r. Namun, kita akan mengabaikan hal ini. Persamaan lagrangian gerak bola kemudian akan menjadi seperti berikut :

0=( JR2+m) r+mg sinα−mr α2 (1)

Linearisasi dari persamaan mengenai beam angle, α = 0, memberikan kita perkiraan linear dari sistem :

0=( JR2+m) r=−mgα (2)

Persamaan yang menghubungkan the beam angle dengan the angle of the gear bisa diperkirakan dengan persamaan dibawah ini :

α=dLθ (3)

Kemudian persamaan (3) disubtitusikan ke dalam persamaan ke (2), dan kita akan mendapatkan persamaan baru yaitu :

2 | P a g e

Page 3: Blam Maliq

( JR2+m) r=−mgdLθ (4)

Fungsi Alih

Seperti persamaan laplace diatas, maka dapat ditentukan persamaan dibawah ini :

( JR2+m)R (s ) s2=−mgdLθ ( s) (5)

Dengan menyusun ulang persamaan diatas kita dapat menemukan fungsi alih dari sudut roda gigi θ(s) terhadap posisi bola R(s).

P (s )= R(s)θ (s )

= −mgd

L( JR2 +m)1s2

[ mrad

](6)

Dapat dicatat bahwa plant fungsi alih diatas adalah double integrator. Karena itu kestabilan yang rendah akan memunculkan masalah control yang lebih menantang.

State Space

Persamaan sistem linear bisa juga disajikan dalam bentuk state space. Hal ini dapat dilakukan dengan memilih posisi bola (r ) dan kecepatan (r ) sebagai

3 | P a g e

Page 4: Blam Maliq

variable state dan sudut roda gigi (θ) sebagai variable input. Maka state space akan ditunjukkan sebagai berikut :

[ rr ]=[0 10 0][rr ]+[ 0

mgd

L( JR2+m) ]θ Namun, untuk state space yang akan kita gunakan modelnya akan sedikit

berbeda. Persamaan yang digunakan tetap yaitu persamaan bola, akan tetapi bukan untuk mengontrol posisi sudut roda gigi (θ), akan tetapi kita akan mengontrol torsi balok. Dibawah ini akan ditampilkan representasi dari system tersebut :

Syarat Design

Kriteria desain dari problem ball&beam adalah :

Settling time kurang dari 3 seconds

Overshoot kurang dari 5%

Representasi Matlab (Persamaan)

>> m = 0.111;

>> R = 0.015;

>> g = -9.8;

>> L = 1.0;

>> d = 0.03;

>> J = 9.99e-6;

>>

>> s = tf('s');

>> P_ball = -m*g*d/L/(J/R^2+m)/s^2

P_ball =

4 | P a g e

Page 5: Blam Maliq

0.21

----

s^2

Continuous-time transfer function.

Representai Matlab (State Space)

>> m = 0.111;

>> R = 0.015;

>> g = -9.8;

>> L = 1.0;

>> d = 0.03;

>> J = 9.99e-6;

>>

>> s = tf('s');

>> H = -m*g/(J/(R^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];

5 | P a g e

Page 6: Blam Maliq

>> D = [0];

>> ball_ss = ss(A,B,C,D)

ball_ss =

a =

x1 x2 x3 x4

x1 0 1 0 0

x2 0 0 7 0

x3 0 0 0 1

x4 0 0 0 0

b =

u1

x1 0

x2 0

x3 0

x4 1

c =

x1 x2 x3 x4

y1 1 0 0 0

d =

u1

y1 0

Continuous-time state-space model.

Pzmap

6 | P a g e

Page 7: Blam Maliq

Seperti yang dapat kita lithat disamping, kutub tidak terletak di garis sebelah kiri (garis imajiner) yang menyebabkan system loop terbuka akan menjadi tidak stabil yang akan ditampilkan di slide berikut.

Open-Loop Step Response

Dari plot disamping jelas bahwa system tidak stabil di loop terbuka, yang menyebabkan

bola untuk menggelinding langsung ke ujung balok. Oleh karena itu, beberapa metode

pengendalian posisi bola dalam system ini sangat diperlukan. Beberapa desain

controller disediakan untuk mengatasi masalah ini

7 | P a g e

Page 8: Blam Maliq

Metode Kontroler PD

8 | P a g e

Page 9: Blam Maliq

Fungsi Alih closed-loop disamping akan menjadi :

Penambahan Proportional Control

>> m = 0.111;

>> R = 0.015;

>> g = -9.8;

>> L = 1.0;

>> d = 0.03;

>> J = 9.99e-6;

>> s = tf('s');

>> P_ball = -m*g*d/L/(J/R^2+m)/s^2;

>> Kp = 1;

>> C = pid(Kp);

>> sys_cl=feedback(C*P_ball,1);

>> step(0.25*sys_cl)

axis([0 70 0 0.5])

9 | P a g e

Page 10: Blam Maliq

Proportional-Derivative Control

>> m = 0.111;

>> R = 0.015;

>> g = -9.8;

>> L = 1.0;

>> d = 0.03;

>> J = 9.99e-6;

>> s = tf('s');

>> P_ball = -m*g*d/L/(J/R^2+m)/s^2;

>> Kp = 10;

>> Kd = 20;

>> C = pid(Kp,0,Kd);

>> sys_cl=feedback(C*P_ball,1);

>> step(0.25*sys_cl)

10 | P a g e

Page 11: Blam Maliq

Dengan menambahkan Derivative (Kd), terbukti akan sangat mengurangi overshoot.

PD Control

Kriteria overshoot terpenuhi tetapi settling time perlu diturunkan sedikit. Untuk

mengurangi waktu penyelesaian kita dapat mencoba meningkatkan Kp sedikit untuk

meningkatkan waktu naik (time rise). Keuntungan derivative (Kd) juga dapat

ditingkatkan untuk mengambil beberapa overshoot yang meningkat Kp. Setelah

bermain dengan gain sedikit, berikut respon step rencana dapat dicapai dengan Kp =

15 dan Kd = 40:

>> m = 0.111;

>> R = 0.015;

>> g = -9.8;

>> L = 1.0;

>> d = 0.03;

>> J = 9.99e-6;

>> s = tf('s');

11 | P a g e

Page 12: Blam Maliq

>> P_ball = -m*g*d/L/(J/R^2+m)/s^2;

>> Kp = 15;

>> Kd = 40;

>> C = pid(Kp,0,Kd);

>> sys_cl=feedback(C*P_ball,1);

>> step(0.25*sys_cl)

Keluaran PD Control

Seperti yang dapat kita lihat dari plot disamping semua tujuan pengendalian telah

dipenuhi tanpa menggunakan kontroler integral (settling time untuk contoh ini

dianggap dicapai ketika respon kurang dari 2% dari nilai akhir). Dengan ini, maka

keluaran sudah sesuai dengan syarat desain.

Metode State Space

12 | P a g e

Page 13: Blam Maliq

Dengan syarat desain yang sama, kita akan mendesain kontroler untuk sistem fisik

yang memanfaatkan penuh state-feedback control. Desain skematik sistem ditunjukkan

seperti :

Representasi Matlab (Metode State-feedback)

Representasi awal state-space sama seperti yang sudah ditulis sebelumnya :

Representasi State Space

Kemudian akan ditambahkan matriks K :

>> p1 = -2+2i;

>> p2 = -2-2i;

>> p3 = -20;

>> p4 = -80;

>>

>> K = place(A,B,[p1,p2,p3,p4])

K =

1.0e+03 *

1.8286 1.0286 2.0080 0.1040

Closed-loop Response

13 | P a g e

Page 14: Blam Maliq

Setelah menambahkan matriks K, maka persamaan state space menjadi :

Sekarang kita dapat mensimulasikan respon closed-loop menjadi input 0.25m step

dengan menggunakan lsim command. Menambahkan beberapa perintah kembali ke

dalam matlab yang sudah ada di slide sebelumnya :

>> t = 0:0.1:5;

>> u = 0.25*ones(size(t));

>> sys_cl = ss(A-B*K,B,C,D);

>> [y,t,x] = lsim(sys_cl,u,t);

>> plot(t,y)

Keluaran Closed-loop Response

Reference Input

14 | P a g e

Page 15: Blam Maliq

Sekarang kita ingin menghilangkan error steady state. Berbeda dengan metode desain

yang lainnya, dimana kita mengumpan balikkan keluaran dan membandingkannya

dengan reference input untuk menghitung error, dengan umpan balik kontroler penuh

kita mengumpan balikkan kedua states. Kita perlu menghitung berapakah nilai state

yang seharusnya, mengalikannya dengan gain K yang sudah dipilih, dan menggunakan

nilai baru sebagai referensi kita menghitung input. Ini dapat diselesaikan dengan

menambahkan gain konstan Nbar setelah referensi. Dan gambar skematik dibawah ini

akan menunjukkan hubungan system diatas, yaitu :

>> Nbar=rscale(ball_ss,K)

Nbar =

1.8286e+03

>> t = 0:0.01:5;

>> u = 0.25*ones(size(t));

>> [y,t,x]=lsim(Nbar*sys_cl,u,t);

>> plot(t,y)

Keluaran Closed-loop dengan Reference Input

Sekarang error steady-state sudah dihilangkan dan syarat desain sudah terpenuhi.

15 | P a g e

Page 16: Blam Maliq

Model Simulink (Langkah-langkah)

Open new model window di Simulink.

Insert Integrator block dari Continuous library.

Insert Integrator kedua disebelah kanan yang pertama, dan hubungkan

keduanya dengan line.

Berikan label di line yang menghubungkan keduanya "d/dt(r)".

Tarik line dari Integrator kedua dan labeli "r".

Insert Out1 block dari Sinks library dan hubungkan ke "r" signal line. Ini akan

membentuk output sistem

Ganti label dari Out1 block menjadi "r“

Insert Fnc block dari User-Defined Functions library dan hubungkan outputnya

ke input Integrator pertama. Edit the Fcn block dengan cara klik dua kali pada

Fnc block, dan ganti fungsinya menjadi:

16 | P a g e

Page 17: Blam Maliq

Insert a Mux block dari Signal Routing library dan hubungkan output-nya ke input

dari Ball-Beam block.

Edit Mux block (dengan cara klik dua kali pada mux block) dan ganti angka input

menjadi 4. The Mux block akan memiliki 4 inputs.

Klik line off the d/dt(r) signal dan hubungkan ke input ke dua dari the Mux block.

Klik line dari r signal dan hubungkan ke input pertama dari Mux block.

Model Simulink (Langkah-langkah)

Insert In block di sebelah kiri model window. Ganti label menjadi "theta".

Insert Gain block dan hubungkan ke theta block. Ganti nilai gain menjadi "d/L".

Hubungkan output dari gain block ke input ke tiga dari Mux block. Label line

dengan "alpha".

Insert Derivative block dari Continuous library dan letakkan dibawah alpha signal

line.

Klik line ke output dari Gain block dan hubungkan ke input dari Derivative block.

Hubungkan output dari Derivative block ke input keempat dari Mux block.

Demo

17 | P a g e

Page 18: Blam Maliq

18 | P a g e

Page 19: Blam Maliq

Response Open-Loop

Klik new model window (Ctrl-N).

Insert Subsystem block dari Ports & Subsystems library.

Buka Subsystem block dengan cara klik dua kali pada Subsystem block.

Buka model sebelumnya yang sudah di demokan dislide sebelumnya. Select all

model components dengan cara Select All dari Edit menu (Ctrl-A).

Copy model (Ctrl-C).

19 | P a g e

Page 20: Blam Maliq

Paste model kedalam Subsystem window (Ctrl-V) didalam Subsystem window

Close Subsystem window. Kemudian terdapat Subsystem block di untitled

window dengan satu input terminal berlabel theta dan satu output terminal

berlabel r.

Labeli Subsystem block menjadi "Ball and Beam Model".

Insert Step block (from the Sources library) dan hubungkan ke input dari Ball and

Beam Model.

Insert Scope block (from the Sinks library) dan hubungkan ke output dari Ball and

Beam Model.

Demo (Response Open-Loop)

20 | P a g e

Page 21: Blam Maliq

21 | P a g e

Page 22: Blam Maliq

Keluaran (Response Open-Loop)

Response Closed-Loop

Buka kembali respon open loop, kemudian hapus line yang menghubungkan

scope dan step block

Insert Transfer Function block dari Continuous library disebelah kiri Ball and

Beam block, dan hubungkan output ke input dari Ball and Beam block.

Edit Transfer Function block dan ganti numerator menjadi "[1 0.01]" dan

denominator menjadi "[1 5]".

Ganti label dar Transfer Function block menjadi "Lead Compensator".

Insert Gain block disebelah kiri Lead Compensator dan hubungkan output ke

Lead compensator's input.

Ganti nilai Gain menjadi "37.1".

23 | P a g e

Page 23: Blam Maliq

Insert Sum block disebelah kiri Gain block dan ganti nilainya menjadi "+-".

Hubungkan output dari Sum ke input dari Gain block.

Klik line dari output ke Ball and Beam model dan hubungkan ke input negatif dari

Sum.

Hubungkan Step block ke input positif dari Sum block

Demo (Response Closed-Loop)

Keluaran (Response Closed-Loop)

24 | P a g e