Anda di halaman 1dari 13

MODUL 1

MATLAB

Tujuan:
a. Agar mahasiswa mampu menggunakan MATLAB untuk menganalisa dan
merancang sistem kendali
b. Agar mahasiswa mampu menggunakan M-file untuk memprogram system
kendali

1.1 MATLAB

MATLAB (MATrix LABoratory) merupakan bahasa pemrograman yang


dikembangkan oleh The Mathwork .Inc. Bahasa pemrograman ini banyak digunakan
untuk perhitungan numeric keteknikan, komputasi simbolik, visualisasi, grafis, analisis
data matematis, statistika, simulasi, pemodelan dan desain GUI. MATLAB banyak
menyediakan toolbox-toolbox untuk aplikasi-aplikasi khusus, misalnya untuk analisa dan
perancangan sistem kendali.
Tempat kerja pemrograman dalam MATLAB bisa menggunakan Command Window
maupun menggunakan M-File.

1.1.1. Command Window


Ketika MATLAB dibuka, akan muncul Command Window dengan tulisan sbb:

To get started, select "MATLAB Help" from the Help menu.


>>
Untuk membersihkan layer ketik clc dan tekan tombol Enter.
Ada berbagai karakter special dalam MATLAb yaitu:
a. Tanda % merupakan penanda komentar. Keterangan setelah tanda tersebut
akan diabaikan dalam proses perhitungan. Contoh:
>> y=90 %y=[3 5]
y= 90
b. Tanda ; merupakan perintah pembatas yang tidak ditampilkan di jendela kerja
dan merupakan pemisah kolom dan baris dalam matriks. Contoh:
>> b=[2 3;4 5];
c. Tanda : merupakan pembatas jangkauan. Contoh:
>> c=[0:3:9]
c= 0 3 6 9
d. Tanda merupakan transpose matriks
e. Tanda digunakan untuk menuliskan baris perintah yang panjang

1.1.2. M-file
File-file yang mengandung kode computer disebut m-files. Ada dua jenis m-file:
a. script file
tidak menggunakan argument input atau mengembalikan argumen output.
b. function file
dapat menggunakan argument input atau mengembalikan argumen output.
Contoh:
function l=luas(a,b)
%Program untuk menghitung luas persegipanjang
l=a*b;
Untuk membuat m-file klik File/New/M-file dan akan tampil MATLAB Editor. Untuk
menyimpan file klik File/Save As. Untuk menjalankannya, panggil nama File di
Comman Window dan tekan Enter.
>> a=5;
>> b=8;
>> luas(a,b)
ans = 40
Untuk mengontrol arus perintah, MATLAb menyediakan 4 alat yang dapat digunakan
programmer saat menulis kode komputernya:
a. for loop
b. while loop
c. if-else-end loop
d. switch-case loop

1.1.3. Grafik MATLAB


a. Plot grafik 2 dimensi
Fungsi dasar yang digunakan untuk membuat grafik 2D adalah fungsi plot. Contoh

1
utnuk membuat grafik y sin t :
t e
t 3

t=0:0.1:5;
y=1./(t-exp(t)).^3+sin(t);
plot(t,y);
grid;
title('Contoh Plot 2D');
xlabel('t');
ylabel('y');
gtext('1/(t-exp(t))^3+sin(t)');
Didapatkan grafik:

b. Grafik 3 dimensi
Matlab mempunyai beberapa fungsi tersendiri untuk memplot obyek 3 D, yaitu: plot3,
mesh, surf, dan countour.
1.2 Dasar-dasar Teknik Kontrol
1.2.1 Matematika dalam Teknik Kendali
a. Polinomial
- Persamaan polynomial: p x x 3 2 x 5
Penulisan di MATLAB:
>> p=[1 0 -2 -5];
- Mencari akar polynomial:
>> r=roots(p)
r=
2.0946
-1.0473 + 1.1359i
-1.0473 - 1.1359i
- Mengembalikan ke koefisien polynomial:
>> p2=poly(r)
p2 = 1.0000 0 -2.0000 -5.0000
- Perkalian dua polynomial menggunakan operasi conv, sedangkan pembagian dua
polynomial menggunakan operasi deconv. Contoh:

>> a=[1 2 3];


>> b=[4 5 6];
>> c=conv(a,b)
c= 4 13 28 27 18
>> [q,r]=deconv(c,a)
q= 4 5 6
r= 0 0 0 0 0
- Turunan polynomial menggunakan perintah polyder. Contoh:
>> p=[1 0 -2 5];
>> q=polyder(p)
q= 3 0 -2
b. Transformasi Laplace dan Invers Laplace
Contoh transformasi Laplace:
>> syms t a;
>> laplace(exp(-a*t)*t)
ans = 1/(s+a)^2
Contoh transformasi invers Laplace:
>> syms s;
>> G=(s^2+9*s+19)/((s+1)*(s+2)*(s+4));
>> g=ilaplace(G)
g = 11/3*exp(-t)-5/2*exp(-2*t)-1/6*exp(-4*t)

c. Fungsi alih
2s 4
Contoh: G s
s 2s 2 4s 6
3

Di MATLAB ditulis:
>> num=[2 4];
>> den=[1 2 4 6];
Jika diberi masukan step:
>> step(num,den)
Jika diberi masukan impuls:
>> impulse(num,den)
Jika diberi masukan ramp:
>> t=0:0.1:100;
>> lsim(num,den,t,t)
Jika diberi masukan sinus:
>> t=0:0.1:100;
>> y=sin(t);
>> lsim(num,den,y,t)

d. Konversi-konversi Model
- Konversi Transfer function ke pole-zero:
Contoh dari fungsi alih di atas (c ):
>> [z,p,k]=tf2zp(num,den)
Diperoleh:
z = -2
p=
-0.1443 + 1.8669i
-0.1443 - 1.8669i
-1.7113
k= 2
- Konversi transfer function ke state space:
Bentuk state-space:

x Ax Bu
y Cx Du

Contoh:
>> [A,B,C,D]=tf2ss(num,den)
A=
-2 -4 -6
1 0 0
0 1 0
B=
1
0
0
C= 0 2 4
D= 0
- Konversi state space ke transfer function:
>> [num,den]=ss2tf(A,B,C,D)
num = 0 0 2.0000 4.0000
den = 1.0000 2.0000 4.0000 6.0000
- Konversi state space ke pole-zero:
>> [Z,P,K]=ss2zp(A,B,C,D)
Z = -2
P=
-0.1443 + 1.8669i
-0.1443 - 1.8669i
-1.7113
K= 2

1.2.2 Akar Kedudukan/Root Locus


a. Pole loop tertutup
Akar kedudukan dari fungsi alih loop tertutup merupakan plot lokasi dari semua pole-
pole loop tertutup yang memungkinkan dengan penguatan proporsional K dan unity
feedback, seperti yang ditunjukkan dalam blok diagram berikut.

R e K u H(s) y
+ _

Fungsi alih loop tertutup:


Y s KH s

R s 1 KH s
Pole loop tertutup merupakan nilai s yang diperoleh dari 1+KH(s) = 0. Sistem akan stabil
jika pole terletak di sebelah kiri sumbu imajiner (pole bernilai negatif).

b. Memplot Root Locus


Contoh fungsi alih loop terbuka system:
Y s s7
H s
U s s s 5 s 15 s 20
Diinginkan: Dampin ratio (zeta) = 0.7 dan frekuensi alami (Wn) = 1.8. Tentukan K!
Cara 1:
Ketik program berikut di M-file dan jalankan dari command window:
num=[1 7];
den=conv(conv([1 0],[1 5]),conv([1 15],[1 20]));
rlocus(num,den);
axis([-22 3 -15 15])
untuk menentukan nilai K, di command window ditulis:
>>nama_file
>> Wn=1.8;
>> zeta=0.7;
>> [k,poles]=rlocfind(num,den)
Pilih titik perpotongan grafik dan garis damping ratio-kurva Wn. Klik kiri mouse dan
lihat hasilnya di command-window.

Cara 2:
Dengan menggunakan rltool. Ketik di command window sebagai berikut:
>> num=[1 7];
>> den=conv(conv([1 0],[1 5]),conv([1 15],[1 20]));
>> a=tf(num,den);
>> rltool(a)

c. Respon loop tertutup

1.2.3 Analisis dan Desain Respon Frekuensi


1.2.4 Kontrol PID
Sistem unity feedback ditunjukkan dalam gambar 1.1. Bagian-bagian dari system
tersebut adalah:
d. Plant: system yang harus dikontrol
e. Kontroler: mengendalikan tingkah laku system

R e u y
Kontroler Plant
+ _
Salah satu tipe kontroler adalah kontroler PID (Proporsional-Integral-
Derivatif). Tipe ini merupakan tipe kontroler yang konvensional, tetapi banyak dipakai di
industri. Kontroler PID mempunyai persamaan:
de
u K P e K I e dt K D
dt
U s
Sehingga, fungsi alih kontroler PID ( ) mempunyai bentuk:
E s

KI KDs2 KPs KI
KP KDs
s s
Dengan:
KP = Proportional gain
KI = Integral gain
KD = Derivative gain
E = error
U = masukan plant
Kontroler Proporsional akan mengurangi waktu naik, tetapi tidak menghapus kesalahan
keadaan tunak. Kontroler integral akan menghapus kesalahan keadaan tunak, tetapi
berakibat memburuknya respon transient. Kontroler derivative akan meningkatkan
stabilitas system, mengurangi overshoot, dan meningkatkan respon transfer.

Pedoman umum perancangan kontroler PID:


1. Dapatkan respon loop terbuka dan tentukan apa saja yang ingin
ditingkatkan
2. Tambahkan kontroler P untuk menambah waktu naik
3. Tambahkan kontroler D untuk menambah overshoot
4. Tambahkan kontroler I untuk menghilangkan kesalahan keadaan tunak
5. Seimbangkan setiap KP, KI, KD sampai didapatkan keseluruhan respon
yang diinginkan
Catatan: tidak perlu menerapkan ketiga kontroler (P,I,D) dalam system tunggal jika tidak
perlu.

1.3 Aplikasi Sistem Kontrol


Contoh sistem :
x

F
M
k

Persamaan model di atas:



M x b x kx F
Dengan M = massa, k = pegas, b = peredam. Untuk memperoleh fungsi alih, maka
persamaan tersebut ditransformasi Laplace:
Ms 2 X s bsX s kX s F s

Sehingga diperoleh fungsi alih system antara pergeseran X(s) dan masukan F(s):
X s 1

F s Ms bs k
2

Jika M=1kg, b=10 N.s/m, k = 20 N/m, dan F(s) =1, maka diperoleh fungsi alih:
X s 1
2
F s s 10 s 20
Menggambar respon loop terbuka:
num=1;
den=[1 10 20];
step(num,den)
diperoleh grafik sebagai berikut:
Perancangan Kontroler
a. Kontroler Proporsional
Fungsi alih loop tertutup system adalah:
X s KP
2
F s s 10s 20 K P
Dengan KP = 300, maka respon langkah loop tertutup bisa diperoleh dengan
menggunakan fungsi cloop.

num=1;
den=[1 10 20];
Kp=300;
[numCL,denCL]=cloop(Kp*num,den);
t=0:0.01:2;
step(numCL,denCL,t)
ylabel('Pergeseran (m)');
xlabel('Waktu (detik)');
title('Respon langkah loop tertutup');
b. Kontroler Proporsional Derivatif (PD)
Fungsi alih loop tertutup system adalah:
X s KDs KP
2
F s s 10 K D s 20 K P
Dengan KP = 300 dan KD = 10, maka respon langkah loop tertutup diperoleh dengan
program di bawah ini:
Kp=300;
Kd=10;
num=[Kd Kp];
den=[1 10+Kd 20+Kp];
t=0:0.01:2;
step(num,den,t)

f. Kontroler Proporsional Integral (PI)


Fungsi alih loop tertutup sistem adalah:
X s KPs KI
3
F s s 10s 20 K P s K I
2

Dengan KP = 30 dan KI = 70 respon langkah loop tertutup maka diperoleh dengan


program di bawah ini:
Kp=30;
Ki=70;
num=[Kp Ki];
den=[1 10 20+Kp Ki];
t=0:0.01:2;
step(num,den,t)

g. Kontroler Proporsional Integral Derivatif (PID)


Fungsi alih loop tertutup sistem adalah:
X s K Ds2 KPs KI

F s s 3 10 K D s 2 20 K P s K I
Dengan KP = 350, KI = 300 dan KD = 50 maka respon langkah loop tertutup maka
diperoleh dengan program di bawah ini:
Kp=350;
Ki=300;
Kd=50;
num=[Kd Kp Ki];
den=[1 10+Kd 20+Kp Ki];
t=0:0.01:2;
step(num,den,t)

Anda mungkin juga menyukai