Modul Praktikum Sistem Kendali 2022 (Final) 2
Modul Praktikum Sistem Kendali 2022 (Final) 2
Modul Praktikum Sistem Kendali 2022 (Final) 2
KENDALI TLE61644
2022
Pengenalan Matlab
|1
Catatan : Tanda titik koma ( ; ) berfungsi untuk mencegah hasil perintah ditampilkan
sehingga dapat menghemat waktu perhitungan. Selain itu, Matlab pada operasi
matematika tidak memperdulikan adanya spasi tetapi bersifat “case sensitive”.
Matlab juga dapat digunakan untuk operasi matriks, di mana tiap baris pada matriks
dipisah dengan tanda titik koma ( ; ) dan entri pada baris dipisah dengan satu spasi,
dan cara penulisannya dapat dilihat melalui contoh berikut ini:
>>A = [1 2 ; 3 4]
A=
1 2
2 4
Matriks di atas adalah matriks 2x2 dengan 1 adalah entri pada baris pertama, kolom
pertama, 2 adalah entri pada baris kedua, kolom pertama, dan 4 adalah entri pada
baris kedua, kolom kedua.
Pada Matlab juga terdapat fungsi-fungsi operasi matriks seperti invers, transpose,
perkalian, penjumlahan, dan pengurangan. Table berikut berisi perintah-perintah
operasi matriks :
Operator Keterangan
-1
Inv (A) atau A Invers matriks A
A’ Transpose matriks A
A+B Penjumlahan matriks A dengan matriks B
A–B Matriks A dikurang dengan matriks B
A*B Perkaian matriks A dengan matriks B
Tabel 1.2 Operator matriks pada Matlab
Penulisan polynomial pada Matlab diwakili dengan suatu matriks baris. Contohnya
adalah sebagai berikut:
Suatu polynomial A = S3 + 2 s2 + 3 S + 4 pada Matlab ditulis:
>>A = [1 2 3 4]
Dan akar-akar dari polynomial A dapat dicari dengan menggunakan perintah:
>>akar = roots (A)
Fungsi-fungsi Matlab lainnya:
Log Menyatakan logaritma berbasis e
log10 Menyatakan logaritma berbasis 10
log2 Menyatakan logaritma berbasis 2
exp(x) Menyatakan bilangan natural (e) pangkat x
Sin Menyatakan nilai sinus dalam radian
Sind Menyatakan nilai sinus dalam derajat
Sqrt Menyatakan akar suatu nilai
2|
• Untuk fungsi alih dalam representasi poles dan zeros :
G = zpk ( [zeros],[poles],[gain] )
Contoh:
>>G =zpk ( [-1 -2],[0 -1 3], [5] )
Zero/pole/gain:
5 (s+1) (s-2)
---------------
s (s+1) (s-3)
• Untuk fungsi alih dalam bentuk umum :
>>G = tf ( num,den )
Contoh:
>>num = [1 1];
>>den = [ 1 2 1];
>>G = tf ( num,den )
Transfer Function:
s+1
--------------
s^2 + 2 s + 1
1.2.3 Simulink
Diagram blok Simulink
• Hubungan seri
• Hubungan parallel
Blok diagram menyatakan model dari suatu sistem. Adapun untuk model
sistem continue yang akan digunakan di sini dapat dinyatakan dalam bentuk
poliomial, ataupun dalam bentuk poles dan zeros.
Dimana hubungan output dan input dapat dinyatakan sebagai berikut:
• Hubungan seri
𝑌
= 𝐺1. 𝐺2
𝑈
• Hubungan parallel
𝑌
= 𝐺1 + 𝐺2
𝑈
|3
• Dengan umpan balik
𝑌 𝐺1
• = 1+𝐺1.𝐺2
𝑈
Blok diagram menyatakan model dari suatu sistem. Pada blok diagram diatas
fungsi G1 dan G2 adalah fungsi dalam bentuk polynomial. Blok-blok diagram
tersebut kemudian dapat dibuat didalam Simulink.
4|
digunakan adalah unit step, karena input ini menyediakan informasi tentang
karakteristik transient respons dan steady state response dari suatu sistem. Secara
umum setiap kita mengaktifkan suatu sistem, kita mengaktifkan fungsi step. Gambar
diagram blok :
Keterangan :
Gambar 1.a. Blok diagram suatu sistem kendali
Gambar 1.b. Blok diagram suatu sistem kendali yang disederhanakan di
mana:
𝐺(𝑠) = 𝐺𝑐(𝑠)𝐺𝑝(𝑠)𝑑𝑎𝑛 𝐻(𝑠) = 1 (1.1)
Perhatikan gambar 1.b. Fungsi alih lingkar tutup dari sistem kendali tersebut adalah:
𝐶(𝑠) 𝐺𝑐(𝑠)𝐺𝑝(𝑠) 𝐺(𝑠)
𝑇(𝑠) = 𝑅(𝑠) = 1+𝐺𝑐(𝑠)𝐺𝑝(𝑠)𝐻(𝑠) = 1+𝐺(𝑠) (1.2)
𝐺(𝑠)
𝐶(𝑠) = 𝑅(𝑠) (1.3)
1+𝐺(𝑠)
Transient respons dari sistem adalah invers Transformasi Laplace dari
C(s) atau c(t)L-1[C(s)]
a. Sistem orde-1
Sistem orde-1 mempunyai bentuk umum fungsi alih sebagai berikut :
𝐶(𝑠) 𝐾⁄
= 𝑠+(1𝜏⁄ (1.4)
𝑅(𝑠) 𝜏)
Dimana 𝜏 adalah konstanta waktu
b. Sistem orde-2
Bentuk fungsi alih lingkar tertutup dari sistem orde-2 adalah sebagai berikut :
𝐶(𝑠) 𝜔2
= 𝑠2 +2𝜉𝜔𝑛 +𝜔2 (1.5)
𝑅(𝑠) 𝑛 𝑛
Dengan 𝜉 merupakan koefisien redaman yang menunjukkan apakah sistem orde
ke dua tersebut overdamped, underdamped, critically damped atau oscillatory.
Sedangkan 𝜔𝑛 adalah frekuensi natural.
Dalam perancangan suatu sistem kendali harus diketahui spesifikasi-spesifikasi
yang mendefinisikan karakteristik sistem.
Spesifikasi transient respons sebagai berikut :
1. Rise time (Tr)
2. Peak time (Tp)
3. Present Overshoot (%OS)
4. Settling time (Ts)
5. Final value (Fv) atau nilai steady state
|5
Rumus untuk menghitung step respons sistem orde-1:
Tr = 2.2𝜏
Ts = 4 𝜏
𝐶(𝑠)
𝐹𝑣 = lim 𝑅(𝑠)
𝑥→0
Rumus untuk menghitung step respons sistem orde-2 (underdamped):
Tr = (1-0.4167𝜉+2.917𝜉2)/ 𝜔𝑛
Tp = π/{𝜔𝑛 (1-𝜉2)0.5}
Ts = 4/(𝜉𝜔𝑛 )
𝐶(𝑠)
𝐹𝑣 = lim 𝑅(𝑠)
𝑥→0
Kestabilan sistem
Kestabilan sistem dapat ditentukan salah satunya dengan menggunakan Routh-Hurwithz
Criterion. Yang menyatakan bahwa jumlah dari akar-akar polynomial yang berada disebelah
kanan sumbu origin adalah samadengan banyaknya perubahan tanda yang terjadi pada
kolom pertama.
Diketahui :
6|
Steady State Error
Ada tiga jenis steady state error, yaitu untuk input step, input ramp, dan input parabolic.
a. Step input
dengan R(s) = 1/s
1
𝑠( 𝑠 ) 1
𝑒(∞) = 𝑒𝑠𝑡𝑒𝑝 (∞) = lim =
𝑠→0 1 + 𝐺(𝑠) 1 + lim 𝐺(𝑠)
𝑠→0
b. Ramp input
dengan R(s) = 1/s2
1
𝑠( 2 ) 1 1
𝑒(∞) = 𝑒𝑟𝑎𝑚𝑝 (∞) = lim 𝑠 = lim =
𝑠→0 1 + 𝐺(𝑠) 𝑠→0 𝑠 + 𝑠𝐺(𝑠) lim 𝑠𝐺(𝑠)
𝑠→0
c. Parabolic input
dengan R(s) = 1/s3
1
𝑠( 3 ) 1 1
𝑒(∞) = 𝑒𝑝𝑎𝑟𝑎𝑏𝑜𝑙𝑎 (∞) = lim 𝑠 = lim 2 =
𝑠→0 1 + 𝐺(𝑠) 𝑠→0 𝑠 + 𝑠 2 𝐺(𝑠) lim 𝑠 2 𝐺(𝑠)
𝑠→0
Static Error Constant
• Position constant (Kp), di mana Kp = lim 𝐺(𝑠)
𝑠→0
• Velocity constant (Kv), di mana Kv = lim 𝑠𝐺(𝑠)
𝑠→0
• Acceleration constant (Ka), di mana Ka = lim 𝑠 2 𝐺(𝑠)
𝑠→0
|7
1.2.5 Tempat kedudukan akar
Kurva pergerakan close loop pole dari open loop pole ke open loop zero akibat
peningkatan nilai Gain (K).
8|
1.2.6 Diagram bode
Dari kedua buah grafik yang diplot tersebut, yang perlu diperhatikan adalah nilai dari Gain
Margin (GM) dan Phase Margin (PM). Nilai GM besarnya adalah 1/G, dengan G adalah gain
saat kurva grafik fasa memotong nilai -180ᵒ. Nilai GM umumnya dinyatakan dalam dB, yang
dihitung dengan 20log10 (GM). Sementara PM adalah nilai fasa dalam derajat saat kurva
grafik magnitude dengan frekuensi memotong nilai 0 dB.
Dari metode analisis Tempat Kedudukan Akar (TKA) diketahui bahwa suatu sistem lingkar
tertutup dinyatakan stabil apabila letak akarnya memotong sumbu jω, atau 1+KG(jω)=0.
Dalam nilai magnitude, ini dinyatakan sebagai nilai mutlak |KG(jω)|=1, dan nilai fasanya
adalah . Keuntungan dari metode ini dibandingkan metode lainnya adalah
pole dan zero nyata dapat terlihat dengan mudah.
Tanggapan frekuensi dari sistem yang dapat disusun baik dengan pendekatan perhitungan
manual, maupun dengan software Matlab, dipengaruhi oleh beberapa komponen dalam
sistem fungsi alih yang berpengaruh s.b.b:
1. Bati (gain) konstan.
2. Pole dan zero yang terletak pada titik awal (origin)
3. Pole dan zero yang tidak terletak pada titik awal.
4. Pole dan zero kompleks.
5. Waktu tunda ideal.
1.3 Alat dan Bahan
a. Komputer beserta software MATLAB
b. Buku catatan
|9
1.4 Percobaan 1 menjalankan program Matlab
1. Buka PC Anda kemudian jalankan aplikasi Matlab pada PC.
2. Kerjakan soal-soal yang ada pada boring praktikum.
3. Selesai.
1.5 Percobaan 2 Transient response
a. System orde-1
1. Dari Simulink Matlab, masukkan fungsi alih lingkar tertutup (system yang
akan diberikan asisten pada waktu percobaan) dengan mengetikkan
perintah-perintah sebagai berikut.
1
2. Masukkan fungsi transfer dengan cara mengklik dua kali pada kolom
𝑠+3
transfer function dan masukkan nilai [1] untuk koefisien numerator dan [1 3]
pada denumerator.
3. Amati dan gambar step response-nya serta catat karakteristiknya (Ts, Tr, Tp)
dengan melihat dari kolom scope.
b. Sistem orde-2
1. Dengan cara yang sama masukkan nilai [10] untuk numerator dan [1 2 40]
10
untuk denumerator. 𝑠2 +2𝑠+40
2. Amati dan gambar step response-nya serta catat karakteristiknya (Tr, Tp, Ts,
%OS) dengan melihat dari kolom scope.
c. Kestabilan sistem
10
1. Diberikan fungsi transfer sistem dengan cara yang
𝑠5 +7𝑠4 +6𝑠3 +42𝑠2 +8𝑠+56
sama masukkan ke dalam tabel transfer function untuk koefisien num yaitu
[10] dan koefisien den yaitu [1 7 6 42 8 56].
2. Amati grafik yang terjadi pada tabel scope. Tentukan apakah system tersebut
stabil dan bandingkan dengan menganalisa fungsi transfer tersebut
menggunakan prinsip kestabilan Routh.
d. Steady state error
1. Masukkan [1] pada koef. numerator dan [1 2] pada koef. denumerator ke
dalam tabel scope.
2. Hitung besarnya error pada grafik tersebut. Analisa hasil percobaan
3. Ganti fungsi transfer [1] pada koef. numerator dan [1 2 2] pada koef.
denumerator ke dalam tabel scope.
4. Hitung error yang terjadi. Analisa hasilnya. Bandingkan dengan percobaan
sebelumnya.
Fungsi Time Response
No Gambar
Alih G(s) Tr Tp Ts %OS
10 |
1.6 Percobaan 3 Tempat kedudukan akar
a. Buat fungsi alih sistem dengan mengetikkan perintah-perintah berikut pada Matlab
Command Window:
1. Ketik numerator dan denomirator untuk transfer function
10 + 10𝑆
𝑃=
6 + 5𝑆 + 𝑆 2
2. Buat system linear dalam bentuk transfer function
q = tf(num,den)
respon
| 11
Modul 2
Pemodelan Sistem
2.2.2 Motor DC
Motor adalah mesin yang berfungsi untuk mengubah energi listrik menjadi
gerakan mekanik rotasional. Motor DC sendiri merupakan salah satu jenis motor
yang menggunakan energi listrik arus searah atau direct current untuk kemudian
diubah menjadi gerakan rotasional. Motor DC terdiri dari stator dan rotor. Stator
adalah bagian yang tidak bergerak (statis) dan rotor adalah bagian yang berputar.
Dari jenis komutasinya, motor DC dibedakan menjadi dua, yaitu motor DC tanpa
sikat (brushless) dan motor DC dengan sikat (brushed). Motor DC dengan sikat sendiri
dibedakan menjadi 5 berdasarkan cara medan magnet dibangkitkan, yaitu
konfigurasi seri (series), paralel (shunt), campuran (compound), eksitasi terpisah
(separately excited) dan magnet tetap. Masing-masing konfigurasi memiliki
karakteristik (kelebihan dan kekurangan) yang berbeda-beda.Untuk praktikum
sistem kendali ini digunakan motor DC dengan sikat.
12 |
matematika dari suatu sistem yang akan dikendalikan (kendalian). Sebelum
merancang pengendali motor, langkah pertama yang harus dilakukan adalah
menurunkan persamaan model dinamika dari motor. Biasanya model tersebut
dinyatakan dalam bentuk fungsi transfer (transfer function). Gambar berikut adalah
model rangkaian motor DC dengan eksitasi terpisah:
| 13
Pada umumnya, 𝐿𝑚 cukup kecil bila dibandingkan dengan 𝑅𝑚 , sehingga
persamaan (1) dapat disederhanakan menjadi berikut:
𝐾𝑡
𝜔𝑚(𝑠) 𝑅𝑚 𝐷𝑚
= 𝐽𝑚 (1.2)
𝑉𝑚 (𝑠) 𝑠+1
𝐷𝑚
Sedangkan hubungan antara tegangan input motor 𝑉𝑚 dengan posisi sudut motor
𝜃𝑚 dalam domain Laplace sebagaimana dinyatakan dalam persamaan berikut:
𝜃𝑚 (𝑠) 𝐾
= 𝜏𝑠2+𝑠 (1.5)
𝑉𝑚(𝑠)
14 |
• Maximum Overshoot
• Settling Time
4. Bentuk umum dari fungsi transfer sistem orde dua dapat direpresentasikan dalam
persamaan di bawah ini:
𝜔𝑛2
𝑠 2 + 2𝜁𝜔𝑠 + 𝜔𝑛2
𝟏
𝟏𝟑, 𝟓𝒔𝟐 + 𝟐𝟏, 𝟒𝒔𝟐 + 𝟖, 𝟗𝒔 + 𝟏
Fungsi transfer di atas bisa juga dibuat dengan menggunakan cara lain, yaitu dengan
mendefinisikan operator Laplace terlebih dahulu, seperti yang dicontohkan dalam
kode berikut ini:
clear()
| 15
s = tf('s');
sys = 1/(13.5*s^3+21.4*s^2+8.9*s+1);
5. Ketikkan sys pada Command Window di Matlab lalu tekan Enter dan akan muncul
fungsi transfernya.
6. Untuk mengetahui nilai-nilai pole dan zero, maka ketikkan kode seperti berikut ini
pada Command Window lalu tekan Enter:
pole(sys)
zero(sys)
8. Untuk mengubah suatu sistem yang terdefinisi pada waktu kontinu ke waktu diskrit,
digunakan perintah berikut ini:
sysd = c2d(sys,Ts)
Respon Waktu
10. Matlab dapat mensimulasikan respon waktu sistem untuk berbagai jenis sinyal input.
Untuk melihat respon sistem terhadap sinyal impuls, ketikkan kode berikut lalu
jalankan:
impulse(sys)
11. Untuk melihat respon sistem terhadap sinyal impuls, ketikkan kode berikut lalu
jalankan:
step(sys)
12. Untuk melihat respon sistem terhadap sinyal sinusoidal dengan periode t, durasi tf,
dan sampling dt, ketikkan kode berikut lalu jalankan:
[u,t]=gensig('sine',t,tf,dt);
lsim(sys,u,t)
16 |
13. Agar tampilan sinyal bisa sesuai dengan yang kita inginkan, misal dari posisi 𝑥0
sampai 𝑥1 dan 𝑦0 sampai 𝑦1, maka ketikkan kode berikut lalu jalankan:
axis([x0 x1 y0 y1])
14. Tugas 3: Buatlah plot respon sistem terhadap input berupa sinyal impuls, step, dan
sinusoidal untuk model sistem kecepatan dan posisi motor DC lingkar terbuka dalam
model persamaan waktu kontinu dan waktu diskrit. Untuk sinyal kotak, gunakan
periode sebesar 5 detik, durasi sebesar 10 detik, dan sampling sebesar 0.01 detik.
Sesuaikan tampilannya sehingga terlihat respon waktunya dengan cukup jelas. Catat
hasilnya pada buku catatan lalu lakukan analisis.
rlocus(sys)
16. Untuk mnganalisis sistem dengan menggunakan Nyquist, ketikkan kode berikut pada
Command Window:
nyquist(sys)
17. Untuk mnganalisis respon frekuensi sistem dengan menggunakan Bode plot,
ketikkan kode berikut pada Command Window:
bode(sys)
18. Tugas 4: Dapatkan plot Root Locus, Nyquist Plot, dan Bode Plot untuk model
kecepatan dan posisi motor DC lingkar terbuka dalam model persamaan waktu
kontinu dan waktu diskrit. Untuk plot Nyquist dan Bode dapatkan Gain Margin (GM)
dan phase margin (PM)-nya.
19. Tugas 5: Dengan menggunakan fungsi transfer model posisi motor DC waktu kontinu
dan waktu diskrit, carilah nilai penguatan yang membuat sistem mulai tidak stabil
(petunjuk: gunakan plot Root Locus).
Analisis Sistem Waktu Diskrit: Pengaruh Periode Sampling Terhadap Karakteristik Sistem
20. Tugas 6: Dengan menggunakan fungsi transfer kecepatan dan posisi motor DC sistem
lingkar terbuka dalam model waktu diskrit, carilah pengaruh periode sampling
terhadap kestabilan sistem. Gunakan 3 nilai periode sampling yang berbeda ( misal
0.01 detik (frekuensi 100 Hz), 0.001 detik (frekuensi 1000 Hz), dan 0.0001 detik
(frekuensi 10 kHz)). Pada masing-masing nilai periode sampling, perolehlah fungsi
transfer, grafik respon waktu
| 17
2.6 Percobaan 2 Matlab Simulink
Sistem Motor DC dimodelkan dengan mengasumsikan torsi mempengaruhi inersia rotor
dan untuk mendapatkan kecepatan dengan mengintegralkan percepatan. Hukum
Kirchiff dapat diimplementasikan pada rangkaian armature. Model integral percepatan
rotasi dan rasio perubahan arus armature.
𝑑2𝜃 𝑑𝜃
∫ 2 𝑑𝑡 =
𝑑𝑡 𝑑𝑡
𝑑𝑖
∫ 𝑑𝑡 = 𝑖
𝑑𝑡
1. Buatlah file baru. Pada menu File pilih New lalu pilih Simulink Model dan buka New
Blank Model
2. Tahan dan tarik simbol Integrator block dari Simulink/Continuous library dan gambar
garis dari terminal input dan output yang tersedia.
3. Klik dua kali ruang kosong di bawah garis. Beri nama label garis input “d2/dt2(tetha)”
dan “d/dt(tetha)” pada garis output
4. Buat Integrator block lagi dengan label input “d/dt(i)” dan output “I”.
Selanjutnya, aplikasikan Hukum Newton dan Hukum Kirchoff pada sistem motor untuk
membuat persamaan :
𝑑2𝜃 𝑑𝜃 𝑑 2 𝜃 1 𝑑𝜃
𝐽 2 =𝑇−𝑏 ⇒ 2 = (𝐾𝑡 𝑖 − 𝑏 )
𝑑𝑡 𝑑𝑡 𝑑𝑡 𝐽 𝑑𝑡
𝑑𝑖 𝑑𝑖 1 𝑑𝜃
𝐿 = −𝑅𝑖 + 𝑉 − 𝑒 ⇒ = (−𝑅𝑖 + 𝑉 − 𝐾𝑒 )
𝑑𝑡 𝑑𝑡 𝐿 𝑑𝑡
Percepatan sudut = 1/J * dua term(1 pos, 1 neg)
18 |
Turunan arus = 1/L * tiga term(1 pos, 2 neg)
5. Masukkan dua buah blok Gain dari Simulink/Math Operations library yang masing-
masing terhubung ke integrator.
6. Ubah nilai blok Gain yang terhubung ke percepatan sudut dengan 1/J
7. Ubah label Gain menjadi inertia dengan meng-klik dua kali
8. Ubah nilai Gain yang lain menjadi 1/L dengan label Inductance.
9. Tambahkan dua buah blok Add dari Simulink/Math Operations library dan
hubungkan ke blok Gain
10. Ubah tanda pada blok Add yang terhubung ke rotasi dengan “+-“
11. Ubah tanda pada blok Add yang lain dengan “-+-“
12. Tambahkan blok Gain dibawah blok Inertia. Klik kanan blok pilih Rotate & Flip > Flip
Block.
13. Tentuka nilai Gain menjadi b dan beri labeb Damping.
14. Buat garis yang menghubungkan antara keluaran integral rotational dengan blok
damping dan selanjutnya dari blok damping ke tanda – pada Blok Add.
| 19
Kemudian menambahkan penurunan tegangan terhadap amature resistance.
18. Tambahkan blok Gain diatan blok Inductance dan Flip ke kanan.
19. Ubah nilai Gain menjadi R dan beri label Resistance.
20. Hubungkan output integrator arus dengan input blok Resistance
21. Hubungkan output blok Resistance ke input negative pertama pada blok Add di
persamaan Arus.
20 |
Untuk menyimpan semua komponen sebagai blok subsystem tunggal :
26. Blok semua gambar kemudian klik kanan pilih Create Subsystem from Selection.
27. Ubah nama blok menjadi DC Motor
28. Ctrl+S pada drive D dengan sebelumnya buat folder nama kelompok.
| 21
Selanjutnya dilakukan pengambilan data sebagai berikut :
No. Input Output
1. Step 1 Scope
Bode
2. Step 10 Scope
Bode
3. Constant 25 Scope
Bode
4. Constant 100 Scope
Bode
22 |
Pada Percobaan ini kalian diharapkan mampu membuat model Motor DC menggunakan
MATLAB Simulink serta melakukan analisa output yang diperoleh sebagai hasil
percobaan. Analisa dilakukan berdasarkan perubahan input dan output dalam ranah
waktu dan frekuensi.
Untuk melakukan percobaan ini, lihat gambar di atas. Dengan menggunakan persamaan
di bawah ini, maka nilai K dan τ bisa diperoleh melalui hubungan:
𝐾 ∆𝑦
=
𝐾𝑘𝑡𝑐𝑔 ∆𝑢
dengan nilai τ diperoleh saat respon sistem mencapai 63% nilai keadaan tunaknya (lihat
Gambar). Catat besarnya konstanta waktu τ, ∆𝑢, dan ∆𝑦 pada buku catatan. Dapatkan
nilai 𝐾. Dengan menggunakan persamaan di atas, turunkan fungsi transfer motor.
| 23
Modul 3
PENGENALAN MATLAB UNTUK PERANCANGAN, ANALISIS, DAN
SIMULASI SISTEM KENDALI KECEPATAN
3.1 Tujuan
Tujuan dari percobaan ini adalah mampu melakukan simulasi dan analisis sistem kendali
menggunakan software Matlab. Agar pemahaman dari konsep simulasi dan analisis
sisem kendali motor bisa tercapai, maka dalam percobaan ini diharapkan mampu untuk:
a. Mampu melakukan analisis dan simulasi sistem pengendalian waktu kontinu maupun
waktu diskrit.
b. Memahami konsep kestabilan sistem pengendalian kecepatan motor DC.
c. Mampu memahami pengaruh periode sampling terhadap kestabilan sistem pada
analisis sistem waktu diskrit.
d. Melakukan perancangan sistem pengendali PID menggunakan software Matlab.
e. Melakukan simulasi sistem pengendalian kecepatan motor DC menggunakan
software Matlab.
𝜔𝑚 (𝑠) 𝐾
= 𝜏𝑠+1 (2.1)
𝑉𝑚 (𝑠)
Dalam praktikum ini hanya akan diimplementasi sistem pengendalian lingkar tertutup.
Motor DC DCMT ini memiliki nilai K sebesar 19,9 rad/V.s dan τ sebesar 0,0929 s.
Pengendali PID ini paling banyak dipergunakan karena sederhana dan mudah dipelajari
serta tuning parameternya. Lebih dari 95% proses di industri menggunakan pengendali
24 |
ini. Pengendali ini merupakan gabungan dari pengedali proportional (P), integral (I), dan
derivative (D). Berikut ini merupakan blok diagram dari sistem pengendali dengan untai
tertutup (closed loop):
Keluaran pengendali PID akan mengubah respon mengikuti perubahan yang ada pada
hasil pengukuran sensor dan set point yang ditentukan. Pembuat dan pengembang
pengendali PID menggunakan nama yang berbeda untuk mengidentifikasi ketiga mode
pada pengendali ini diantaranya yaitu:
Atau
P Kp = Konstanta Proportional
1 1
e(t ) dt =
I Ki = Ti Ti s =Ki/s = Konstanta Integral
d e (t )
Td
D Kd = Kd s = dt = Konstanta Derivative
1 d e(t ) 1 t d e(t )
U(t) = K P +
Ti e(t )dt + Td
dt
= K e(t ) +
Ti e(t )dt + T
0
d
dt
| 25
Karakteristik Pengendali PID
Sebelum membahas tentang karakteristik Pengendali PID maka perlu diketahui bentuk
respon keluaran yang akan menjadi target perubahan yaitu :
1. Waktu tunda (td) : Waktu yang diperlukan agar tanggapan mencapai 50 % nilai akhir
pertama kali.
2. Waktu naik (tr) : Waktu yang dibutuhkan agar tanggapan naik dari :
- 0 % ke 100 % dari nilai akhirnya (teredam kurang)
- 10 % ke 90 % dari nilai akhirnya (teredam lebih)
3. Waktu Puncak (tp) : Waktu yang dibutuhkan agar tanggapan mencapai puncak simpangan
pertama kali.
4. Presentase simpangan puncak, Mp : Perbandingan antara nilai puncak tertinggi dari kurva
tangapan terhadap nilai akhir tanggapan
26 |
Pengendali Proposional
1 2.1
𝑃𝐵 = 𝑥100%
𝐾𝑝
Gambar berikut menunjukkan grafik hubungan antara PB, keluaran kontroler dan
kesalahan yang merupakan masukan kontroller. Ketika konstanta proporsional bertambah
semakin tinggi, pita proporsional menunjukkan penurunan yang semakin kecil, sehingga
lingkup kerja yang dikuatkan akan semakin sempit.
| 27
Ciri-ciri kontroler proporsional harus diperhatikan ketika kontroler tersebut diterapkan pada
suatu sistem. Secara eksperimen, pengguna kontroller proporsional harus memperhatikan
ketentuan-ketentuan berikut ini:
1. Kalau nilai Kp kecil, kontroler proporsional hanya mampu melakukan koreksi kesalahan
yang kecil, sehingga akan menghasilkan respon sistem yang lambat.
2. Kalau nilai Kp dinaikkan, respon sistem menunjukkan semakin cepat mencapai keadaan
mantabnya.
3. Namun jika nilai Kp diperbesar sehingga mencapai harga yang berlebihan, akan
mengakibatkan sistem bekerja tidak stabil, atau respon sistem akan berosilasi.
Kontroler Integral
Kurva sinyal kesalahan e(t) terhadap t dan kurva u(t) terhadap t pada pembangkit
Gambar berikut menunjukkan blok diagram antara besaran kesalahan dengan keluaran
suatu kontroler integral.
28 |
Blok diagram hubungan antara besaran kesalahan dengan kontroller integral
Pengaruh perubahan konstanta integral terhadap keluaran integral ditunjukkan oleh gambar
di bawah ini. Ketika sinyal kesalahan berlipat ganda, maka nilai laju perubahan keluaran
kontroler berubah menjadi dua kali dari semula. Jika nilai konstanta integrator berubah
menjadi lebih besar, sinyal kesalahan yang relatif kecil dapat mengakibatkan laju keluaran
menjadi besar.
Kontroler Diferensial
Keluaran kontroler diferensial memiliki sifat seperti halnya suatu operasi derivatif.
Perubahan yang mendadak pada masukan kontroler, akan mengakibatkan perubahan yang
sangat besar dan cepat. Gambar berikut menunjukkan blok diagram yang menggambarkan
hubungan antara sinyal kesalahan dengan keluaran kontroler.
| 29
Blok Diagram kontroler diferensial
Gambar di bawah ini menyatakan hubungan antara sinyal masukan dengan sinyal keluaran
kontroler diferensial. Ketika masukannya tidak mengalami perubahan, keluaran kontroler
juga tidak mengalami perubahan, sedangkan apabila sinyal masukan berubah mendadak
dan menaik (berbentuk fungsi step), keluaran menghasilkan sinyal berbentuk impuls. Jika
sinyal masukan berubah naik secara perlahan (fungsi ramp), keluarannya justru merupakan
fungsi step yang besar magnitudnya sangat dipengaruhi oleh kecepatan naik dari fungsi
ramp dan faktor konstanta diferensialnya Td .
30 |
Kontroler PID
Setiap kekurangan dan kelebihan dari masing-masing kontroler P, I dan D dapat saling
menutupi dengan menggabungkan ketiganya secara paralel menjadi kontroler proposional
plus integral plus diferensial (kontroller PID). Elemen-elemen kontroller P, I dan D masing-
masing secara keseluruhan bertujuan untuk mempercepat reaksi sebuah sistem,
menghilangkan offset dan menghasilkan perubahan awal yang besar. Gambar berikut
menunjukkan blok diagram kontroler PID.
Sistem pengendali PID (Proporsional Integral Derivatif) merupakan suatu sistem pengendali
yang digunakan secara luas di berbagai bidang industri. Pengendali PID terdiri dari 3
komponen pengendali, yaitu proporsional, integral, dan derivatif.
• Proporsonal
Dalam domain waktu kontinyu, hubungan antara sinyal eror 𝑒 dengan sinyal
kontrol 𝑢 dinyatakan dalam persamaan berikut:
Pengendali integral berfungsi untuk menghilangkan galat atau steady state error
meskipun juga dapat menyebabkan terjadinya overshoot dan osilasi yang
mengakibatkan keadaan tunak lama dicapai.
| 31
• Derivatif
Pengendali derivatif akan memberikan suatu sinyal kontrol 𝑢 yang bersesuaian
dengan laju perubahan sinyal eror 𝑒 sebagaimana dinyatakan dalam persamaan
berikut ini:
𝑑𝑒(𝑡)
𝑢(𝑡) = 𝐾𝑑 (2.4)
𝑑𝑡
Pengendali ini digunakan untuk mempercepat respon transien meskipun
memiliki kekurangan, yaitu dapat meningkatkan derau sistem.
Sistem pengendali PID bisa berupa kombinasi antara proporsional, integral, dan
derivatif, bergantung pada respon sistem yang diinginkan. Apabila ketiga jenis
pengendali tersebut digunakan, maka persamaan yang menyatakan antara sinyal eror 𝑒
dengan sinyal kontrol 𝑢 dalam domain waktu kontinyu adalah:
𝑡 𝑑𝑒(𝑡)
𝑢(𝑡) = 𝐾𝑝 𝑒(𝑡) + 𝐾𝑖 ∫𝑜 𝑒(𝑡) 𝑑𝑡 + 𝐾𝑑 (2.5)
𝑑𝑡
Dalam domain Laplace dinyatakan sebagai:
𝑢(𝑠) 𝐾𝑖
= 𝐾𝑝 + + 𝐾𝑑 𝑠 (2.6)
𝑒(𝑠) 𝑠
Berikut ini adalah diagram blok sistem secara umum yang menggunakan pengendali
PID:
32 |
Hubungan dalam fungsi waktu antara sinyal keluaran dengan masukan untuk
kontroller PID
Step Response Jika respon respon sistem merupakan non-zero step input akan memiliki
slope yang bernilai 0 ketika t=0, system harus merupakan orde kedua atau lebih tinggi
lagi sebab sistem memiliki derajat relative dua atau lebih. Jika step respon menunjukkan
osilasi sistem juga harus menunjukkan orde kedua atau lebih dengan sistem yang
underdamped.
Bode Plot – Penggambaran fasa (phase plot) juga dapat menjadi indikator untuk
mencari orde yang baik. Jika fasa turun hingga dibawah -90 degrees, sistem merupakan
orde kedua atau lebih tinggi. Derajat relative sistem memiliki nilai paling kecil atau sama
besar dengan bilangan dari perkalian -90 degrees hingga dicapai nilai asymtot pada nilai
paling rendah pada penggambaran fasa (phasa plot) sistem.
| 33
IDENTIFIKASI SISTEM DARI STEP RESPONSE
Dumping Ration – Untuk kondisi underdamped dari sistem orde dua, Nilai dumping
ratio dapat dihitung dari persentase overshoot dengan menggunakan rumus sebagai
berikut : ζ = -ln(%OS/100) / sqrt(π2+ln2(%OS/100))
dimana %OS merupakan persentase overshoot, yang dapat diperkirakan dari
penggambaran nilai off dari step response.
DC Gain - Nilai Penguatan DC (DC gain) merupakan perbandingan dari kondisi steady
state dari step response dengan nilai magnitude dari step input. DC Gain = steady state
output / step magnitude
DC GAIN – Nilai DC Gain sistem dapat dihitung dari nilai magnitude bode plot ketika
s=0. DC Gain = 10M(0)/20 where M(0) is the magnitude of the bode plot when jω=0.
NATURAL FREQUENCY – Frekuensi alami (natural frequency) dari sistem orde dua
terjadi ketika fasa dari respon mencepai sudut relative -90 terhadap fasa input. ωn = ω-
90° dimana ω-90° merupakan frekuensi pada saat phase plot di -90 degree.
DAMPING RATIO - Nilai damping ratio sistem ditemukan dengan nilai DC Gain dan nilai
magnitude dari bode plot ketika fasa plot -90 degrees. ζ = K / (2*10(M-90°/20)) dimana
M-90° merupakan nilai magnitude bode plot ketika fasa -90 degrees.
34 |
SIMULINK
Atau tulis “simulink” di prompt MATLAB pada Command Window, seperti terlihat pada
gambar berikut.
| 35
Beberapa saat kemudian akan muncul window “Simulink Library Browser”, seperti pada
gambar berikut.
Simulink merupakan bagian dari Matlab yang memiliki fasilitas untuk mensimulasikan sistem
kendali tanpa harus menuliskan program terlebih dahulu, tetapi dengan cara menyusun
blok-blok yg menggambarkan function dalam Matlab. Dibawah ini bagian system terpenting
dari blok – blok untuk proses program pengendali dari Simulink.
Dari blok – blok diagram diatas masing diklasifikasikan lagi beberapa blok sesuai dengan
kegunaannya. Berikut akan diberikan contoh dari masing – masing blok dan
kegunaannya masing – masing.
36 |
Untuk mewewakili input atau masukan
| 37
sistem lingkar tertutupnya. Dengan nilai 𝑅𝑚 , 𝐷𝑚 , 𝐽𝑚 , dan 𝐾𝑡 yang diperoleh dari
percobaan sebelumnya, turunkan fungsi transfer sistem tertutupnya secara lengkap.
3.5 Percobaan
Persiapan
1. Nyalakan komputer.
2. Bukalah software Matlab.
3. M-file modul percobaan 1 (1.5 Percobaan Script Matlab)
22. Matlab menyediakan perintah untuk membuat suatu fungsi transfer pengendali PID
dalam konfigurasi paralel yang ditunjukkan dalam contoh kode berikut ini:
C = pid(Kp,Ki,Kd,Tf,Ts);
C = pidtune(sys,'pid');
24. Pada umumnya, desain pengendali PID (penentuan konstanta PID) dilakukan agar
sistem tertutup menghasilkan performa (respon waktu) yang memenuhi kriteria
yang telah ditetapkan. Pada fungsi pid, dihasilkan fungsi transfer pengendali PID,
dengan syarat konstanta PID-nya sudah diketahui. Pada fungsi pidtune, dihasilkan
konstanta PID secara otomatis. Agar konstanta PID bisa didapatkan sedemikian
sehingga sistem lingkar tertutupnya memenuhi kriteria, maka Matlab menyediakan
toolbox desain PID yang dapat diakses dengan menggunakan perintah berikut:
pidtool(sys, 'pid')
Dengan menggunakan kode program di atas, maka akan keluar jendela toolbox
seperti yang ditunjukkan pada Gambar 2.1.
25. Tugas 1: Dengan menggunakan PID toolbox, rancanglah pengendali untuk sistem-
sistem dengan kriteria berikut ini:
38 |
a) Plant: sistem kecepatan motor waktu kontinu
Pengendali: PI
Kriteria: settling time kurang dari 0.25 detik dengan overshoot maksimal 10%.
b) Plant: sistem kecepatan motor waktu diskrit (waktu sampling 0.01 detik)
Pengendali: PI
Kriteria: settling time kurang dari 0.3 detik dengan overshoot maksimal 10%.
Untuk Tugas 1 ini, catatlah konstanta pengendalinya (untuk semua sistem, dari a
sampai d). Catatah pada buku catatan, lalu analisislah letak pole sistem lingkar
tertutupnya. Hasil dari Tugas 1 ini akan digunakan pada percobaan selanjutnya.
| 39
Gambar 2.1 PID toolbox
33. Dobel klik pada blok Scope untuk melihat sinyal keluaran setelah simulasi dilakukan.
34. Untuk menjumlahkan atau menselisihkan sinyal, pada Simulink Library Browser,
bagian Library, masuklah ke bagian Math Operations lalu klik blok Sum, lalu
masukkan pada Model.
35. Dobel klik pada blok Sum untuk mengganti jenis operator ataupun menambah atau
mengurangi jumlah operator.
36. Untuk mengalikan sinyal dengan penguatan konstan tertentu, pada Simulink Library
Browser, bagian Library, masuklah ke bagian Math Operations lalu klik blok Gain, lalu
masukkan pada Model.
37. Dobel klik pada blok Gain untuk mengatur nilai penguatannya.
38. Bila ingin menambahkan suatu integrator atau diferensiator, pada Simulink Library
Browser, bagian Library, masuklah ke bagian Continuous (Discrete) lalu klik blok
Integrator (Discrete Time Integrator) untuk integrator dan Derivative (Discrete
Derivative) untuk derivatif, lalu masukkan pada Model.
39. Tugas 2: Simulasikan sistem pengendali kecepatan motor DC lingkar terbuka sistem
waktu diskrit untuk ketiga nilai periode sampling yang digunakan pada Tugas 6
(modul 1). Catat hasilnya pada buku catatan lalu lakukan analisis.
40. Tugas 3: Simulasikan sistem pengendali kecepatan motor DC lingkar tertutup dengan
pengendali PID untuk waktu kontinu dan waktu diskrit dengan menggunakan
konstanta PID yang telah diperoleh dari Tugas 1 (modul 1). Catat hasilnya pada buku
catatan lalu lakukan analisis.
40 |
41. Tugas 4: Simulasikan sistem pengendali kecepatan motor DC lingkar tertutup untuk 3
nilai periode sampling yang digunakan pada Tugas 6 (modul 1) dengan pengendali
proporsional. Gunakan nilai Kp = 0.7 untuk sistem pengendalian kecepatan.
Pada contoh ini, kita akan mengasumsikan input dari sistem tersebut adalah
tegangan (V) yang diaplikasikan ke rangkaian motor dan outputnya adalah kecepatan
putaran roda . Rotor dan rangka poros diasumsikan rigid. Diasumsikan juga bahwa
model gesekan viskositas akan proporsional sesuai dengan kecepatan sudut poros.
Secara umum, besarnya torsi yang dihasilkan oleh motor DC akan proporsional
dengan arus dari rangkaian motor dan juga kuat medan magnet yang ada
disekitarnya. Pada contoh ini, kita akan mengasumsikan medan magnet adalah
konstan, untuk itu torsi motor hanya akan proporsional dengan arus rangkaian
motor (i) terhadap factor konstanta Kt, seperti pada gambar berikut :
Gaya gerak listrik ( ) belakang besarnya proporsional dengan kecepatan sudut poros
dengan konstanta faktor .
| 41
Dalam satuan internasional, torsi motor dan GGL belakang adalah sama, yaitu
; Untuk itu, kita akan menggunakan K sebagai representasi dari konstanta
torsi motor dan konstanta GGL belakang. Sistem akan dimodelkan dengan
penjumlahan torsi pada inersia rotor dan mengintegrasikan akselarasi untuk
memberi kecepatan. Hukum Kirchoff's akan diaplikasikan pada sirkuit motor DC ini.
Pertama-tama, kita akan memodelkan integral dari akselarasi putaran dan rata-rata
perubahan arus motor DC.
Untuk membangun model simulasi, bukalah jendela kerja baru pada SIMULINK lalu
ikuti tahapan di bawah ini.
1. Masukan blok integrator dari Simulink/Continuous library dan buat garis pada input
dan outputnya
2. Beri label pada garis input "d2/dt2(theta)" dan pada output "d/dt(theta)". Untuk
melakukanya, double-click pada bidang kosong tepat di bawah garis.
3. Tambahkan lagi blok integrator di atas blok sebelumnya, buat garis juga pada input
maupun outputnya.
4. Beri label pada garis input "d/dt(i)" dan output "i".
5. Selajutnya, kita akan mengaplikasikan hukum newton dan hukum kirchoff pada
sistem motor untuk membentuk persamaan berikut :
42 |
Sudut akselarasi nilainya sama dengan 1/J dikalikan dengan penjumlahan dua besaran
(satu positif, satu negatif). Derivatif dari arus sama nilainya dengan 1/L dikalikan dengan
penjumlahan 3 besaran (satu positif, dua negatif). Lanjutkan pemodelan persamaan
tersebut pada SIMULINK sebagai berikut.
Sekarang, kita harus tambahkan torsi yang direpresentasikan pada persamaan rotasi.
Pertama, kita tambahkan torsi redaman (damping torque).
13. Masukkan blok gain di bawah blok "Inertia". Selanjutnya klik kanan pada blok
tersebut dan pilih Rotate & Flip > Flip Block dari menu yang dimunculkan untuk
membalik arah blok dari kiri ke kanan. Atau dengan memilik blok tersebut sambil
mengklik Ctrl-l.
14. Set nilai Gain dengan "b" dan ubah nama bloknya menjadi "Damping".
15. Tap garis (tahan Ctrl disaat menggambar atau klik kanan pada garis) dari output
integrator rotasi dan hubungkan ke input dari blok "Damping".
| 43
16. Gambar garis dari output blok "Damping" ke input negatif rotational Add block.
17. Masukkan blok gain dan hubungkan ke input positif rotational Add block dengan
sebuah garis.
18. Edit nilainya kenjadi "K" untuk merepresentasikan konstanta motor dan beri label
"Kt".
19. Lanjutkan menggambar garis yang mengarah dari integrator arus dan hubungkan ke
blok "Kt".
20. Masukkan blok gain diatas blok "Inductance" dan putar arahnya dari kiri ke kanan.
21. Set nilai gain menjadi "R" dan ubah nama bloknya menjadi "Resistance".
22. Arahkan kursor ke garis output integrator arus dan hubungkan garis tersebut ke
input blok "Resistance".
23. Gambar garis dari output blok "Resistance" menuju ke input negative bagian atas
dari “Add” blok persamaan arus.
24. Masukkan sebuah blok gain dan sambungkan ke input negatif dari “add” blok arus
lainya.
25. Ubah nilainya menjadi "K" untuk merepresentasikan konstanta ggl belakang dari
motor dan beri label "Ke".
26. Arahkan kursor ke garis output integrator rotasi dan hubungkan ke blok "Ke".
27. Tambahkan blok In1 dan Out1 dari Simulink/Ports & Subsystems library dan beri
label "Voltage" untuk In1 dan "Speed" untuk Out1.
44 |
Untuk menyimpan seluruh komponennya menjadi satu blok subsistem, caranya dengan
memilih seluruh blok, klik kanan kemudian pilih Create Subsystem from Selection.
Simpan dengan nama DC Motor.
J = 0.01;
b = 0.1;
K = 0.01;
R = 1;
L = 0.5;
| 45
28. Identifikasi input dan output dari model yang akan kita ekstrak. Klik kanan pada
sinyal yang menunjukkan input tegangan (voltage) pada model Simulink. Kemudian
pilih Linear Analysis Points > Open-loop Input dari tampilan menu yang muncul.
29. Lakukan hal yang sama pada output kecepatan “speed” dan pilih Linear Analysis
Points > Open-loop Output. Sinyal Input dan output akan teridentifikasi pada model
dengan simbol panah seperti pada gambar di bawah.
30. Pilih menu pada jendela model bagian atas, Analysis > Control Design > Linear
Analysis. Kemudian Linear Analysis Tool akan terbuka. Pada jendela Linear Analysis
Tool, Operating Point yang akan dilinierkan dapat tetap dipilih default, Model Initial
Condition. Untuk memulai proses linierisasi, selanjutnya klik tombol Step yang
dicirikan dengan simbol segitiga hijau kecil. Hasil dari proses linierisasi ini adalah
objek linsys1 yang akan muncul pada Linear Analysis Workspace seperti gambar di
bawah. Lebih jauh lagi, respon step open-loop sistem yang sudah dilinierkan akan
otomatis muncul.
46 |
Tugas 5 : Buatlah analisis dari respon step open-loop yang didapat dari proses ekstraksi
model linier ke Matlab Workspace yang sudah dibuat.
Verifikasi hasil ekstraksi dapat dilakukan dengan melihat model itu sediri. Model yang sudah
linear dapat di export dengan “drag-drop” objek kedalam MATLAB Workspace. Objek ini
selanjutnya dapat digunakan pada MATLAB sama halnya dengan sebuah objek yang dibuat
langsung menggunakan MATLAB command line. Masukkan perintah zpk(linsys1) pada
jendela MATLAB command untuk menunjukkan bahwa hasil demonstasi model mempunyai
bentuk persamaan sebagai berikut.
s = tf('s');
P_motor = K/((J*s+b)*(L*s+R)+K^2);
zpk(P_motor)
ans =
2
-------------------
(s+9.997) (s+2.003)
Respon open-loop
Respon step open-loop juga bisa dibuat secara langsung menggunakan Simulink, tanpa perlu
melakukan ekstraksi kedalam sebuah MATLAB workspace. Agar dapat menstimulasi respon
step-nya, detil simulasi harus diset terlebih dahulu.
31. Pilih Model Configuration Parameters dari menu Simulation, tentukan lamanya
durasi dimana simulasiakan berjalan pada bagian Stop time. Masukkan angka “3”,
arena dianggap waktu yang cukup untuk sistem mencapai kondisi steady state. Pada
jendela perintah ini juga kita bisa menentukan berbagai aspek numerical untuk
mencari solusi permasalahan, tetapi pada percobaan kali ini kita hanya akan
menggunakan nilai default.
32. Selanjutnya, tambahkan sinyal input dan alat untuk menampilkan output dari
simulasi dengan cara hapus blok In1 dan Out1.
33. Masukkan blok step dari Simulink/Sources library dan hubungkan dengan garis
menuju blok tegangan input dari subsistem motor.
34. Lihatlah output dari kecepatan menggunakan blok “Scope” dari the Simulink/Sinks
library dan hubungkan ke output blok kecepatan dari subsistem motor.
| 47
35. Set unit step input pada t=0, dengan cara double-click blok Step dan ubah parameter
Step time menjadi "0".
36. Jalankan simulasi dengan menekan (Ctrl-T atau pilih Run dari menu Simulation).
Setelah simulasi selesai, double-click pada gambar scope agar dapat terlihat hasilnya.
Tugas 6 : Buatlah respon open-loop tersebut, bandingkan dan analisis hasilnya dengan yang
menggunakan proses ekstraksi ke MATLAB worksheet.
Misalnya jika sebuah lag compensator didesain sesuai transfer function berikut
Untuk membuat respon step closed-loop menggunakan compensator lag pada simulink, kita
kembali menggunakan "Motor_Model.slx" yang sudah dibuat sebelumnya. Lalu tambahkan
sebuah lag compensator secara seri dengan subsistem motor dan akan memberikan
feedback kecepatan motor untuk dibandingkan dengan nilai referensi yang diinginkan. Ikuti
langkah-langkah berikut ini
48 |
41. Masukkan blok Scope block dari Simulink/Sinks library.
42. Jalankan simulasi dengan menekan (Ctrl-T atau pilih Run dari menu Simulation).
Setelah simulasi selesai, double-click pada gambar scope agar dapat terlihat hasilnya.
Tugas 7: Tampilkan hasil simulasi kemudian analisis hasilnya dan bandingkan dengan model
yang tidak menggunakan lag compensator.
Misalnya jika sebuah Lead compensator didesain sesuai transfer function berikut
Untuk melihat lebih jelas perbedaan respon antara lag dan lead compensator, kita harus
memodifikasi model Simulink yang sudah dibuat dengan langkah sebagai berikut.
43. Putuskan huungan blok Step dan blok Scope dari dari komponen model lainya.
44. Copy blok yang membentuk closed-loop model: blok Sum, blok Transfer Function,
dan DC Motor subsistem. Kemudian salin dan letakan dibawah model original.
45. Double-click pada blok Transfer Function dan edit Numerator coefficients dan
Denominator coefficients transfer functionlead compensator di atas.
46. Tambahkan blok Mux dari Simulink/Signal Routing library dan hubungkan output dari
dua buah motor subsistem menuju ke input dari blok Mux dan hubungkan output
blok Mux ke blok Scope.
47. Hubungkan blok Step ke blok Sum dari sistem umpan balik original. Kemudian
cabangkan juga garis blok step tersebut ke blok sum lead compensator.
Blok Mux akan menggabungkan dua jalur sinyal menjadi satu garis saja, dengan cara ini,
scope akan menampilkan kedua sinyal kecepatan tersebut pada axis yang sama.
Tugas 8: Jalankan simulasi, kemudian analisis hasil responnya dengan double-click blok
scope. Akan muncul perbandingan sinyal antara lag dan juga lead compensator, apakah
kompensator satu lebih baik dari yang lainya? Mengapa demikian?
| 49
Selanjutnya kita akan memodifikasi simulasi untuk secara eksplisit mengobservasi upaya
peryaratan pengendalian dari dua buah sistem umpan balik. Caranya dengan mengirimkan
beragam sinyal ke workspace untuk proses plotting dan manipulasi lebih jauh sesuai
keinginan.
48. Hapus blok scope dan mux pada model Simulink, kemudian masukan empat ke blok
workspace dari Simulink\Sinks library.
49. Double-click pada masing-masing blok dan ubah Save format nya dari Structure ke
Array. Juga berilah Variable name pada setiap blok yang kalian anggap paling sesuai.
50. Hubungkan blok-blok tersebut ke model existing dan beri label sesuai gambar
berikut.
51. Kemudian, ubah waktu henti (stop time) simulasi menjadi satu detik, kemudian
jalankan simulasi.
52. Data simulation yang sedang berjalan tersebut akan dikirimkan ke susunan MATLAB
workspace sesuai dengan set-up variabel pada model masing-masing dengan blok ke
Workspace.
50 |
53. Lebih jauh, vektor waktu yang digunakan pada simulasi tersebut disimpan pada
variable default tout. Sekarang barulah kita bisa plotting hasil dari simulasi ke
workspace. Masukan kode berikut untuk melihat bagaimana untuk secara khusus
merencanakan control effort.
subplot(2,1,1)
plot(tout,ulag);
xlabel('time (seconds)')
ylabel('control effort (volts)')
title('Control Effort Under Lag Compensation')
subplot(2,1,2)
plot(tout,ulead);
xlabel('time (seconds)')
ylabel('control effort (volts)')
title('Control Effort Under Lead Compensation')
Tugas 9: Jalankan simulasi, kemudian analisis hasil responnya dengan double-click blok
scope. Bagaimana hasil perbandingan control effort untuk lag dan lead compensator
dengan terlebih dahulu menjelaskan apa itu control effort!
| 51
Dalam fungsi waktu t maka output kontroler u(t) dapat ditulis,
Nilai output kontroler tergantung kepada perkalian antara error, yakni kecepatan referensi
dikurangi kecepatan actual, dengan konstanta Kp. Jika error positif, maka kecepatan actual
lebih kecil dari kecepatan referensi. Jika error negatif berarti kecepatan actual lebih besar
dari kecepatan referensi. Jika kecepatan aktual sama dengan kecepatan referensi maka
sinyal output akan menjadi nol karena error nol. Dari segi rangkaian, sinyal output nol ini
akan mengakibatkan motor akan berhenti berputar. Begitu putaran poros motor mulai
berkurang maka sensor akan mendeteksi bahwa kecepatan output tidak lagi sama dengan
kecepatan referensi. Kecepatan aktual akan lebih kecil daripada kecepatan referensi, artinya
error tidak lagi nol. Akibatnya, kontroler akan mulai lagi mengirimkan sinyal aktuasi u(t)
positif sehingga motor kembali menambah kecepatannya.
Demikian hal ini berulang seterusnya sehingga error pada kontrol P ini tidak dapat
mempertahankan error selalu nol atau dengan kata lain, dalam kondisi tetap (steady state),
error pada kontrol P tidak bisa nol. Hal ini dikenal sebagai steady-state error (ess).
52 |
Tugas 10:
a. Buatlah diagram Simulink menggunakan parameter-parameter yang sudah diberikan
b. Tampilkan dalam satu grafik yang sama hasil simulasi kontrol proporsional untuk skema
Kp = 0.1; 0.25; 0.75; 2 dan 4.
c. Analisis grafik hasil simulasi tersebut.
Tugas 11:
a. Buatlah diagram Simulink untuk kontrol PI menggunakan parameter-parameter yang
sudah diberikan
b. Tampilkan dalam satu grafik yang sama hasil simulasi kontrol proporsional untuk skema
Kp = 0.1; Ki = 0; 0.5; 2; 3 dan 5.
c. Analisis grafik hasil simulasi tersebut.
Contoh:
| 53
Kontrol Proporsional Derivatif (PD) untuk motor DC
Tugas 12:
a. Buatlah diagram Simulink untuk kontrol PD menggunakan parameter-parameter yang
sudah diberikan
b. Tampilkan dalam satu grafik yang sama hasil simulasi kontrol proporsional untuk skema
Kp = 0.75; Kd = 0; 0.0075 dan 0.01.
c. Analisis grafik hasil simulasi tersebut.
Tugas 13:
a. Buatlah diagram Simulink untuk kontrol PID menggunakan parameter-parameter yang
sudah diberikan
b. Tampilkan dalam satu grafik yang sama hasil simulasi kontrol proporsional untuk skema
Kp Ki Kd yang paling ideal.
54 |
Pilih kombinasi parameter Kp, Ki, Kd terbaik dari tabel berikut :
Kp Ki Kd
6.00 6.40 0.1
6.10 6.45 0.2
6.15 6.50 0.3
6.20 6.55 0.4
6.25 6.60 0.5
6.30 6.65 0.6
Tugas 14:
a. Buatlah diagram Simulink untuk kontrol PID menggunakan parameter-parameter yang
sudah diberikan
b. Tampilkan dalam satu grafik yang sama hasil simulasi kontrol proporsional untuk skema
Kp Ki Kd yang paling ideal. Kombinasikan nilai Kp Ki Kd dari angka paling belakang NPM
masing-masing mahasiswa.
c. Analisis grafik hasil simulasi tersebut.
| 55
Modul 4
PENGENALAN MATLAB UNTUK PERANCANGAN, ANALISIS, DAN
SIMULASI SISTEM KENDALI POSISI
4.1 Tujuan
Tujuan dari percobaan ini adalah mampu melakukan simulasi dan analisis sistem kendali
menggunakan software Matlab. Agar pemahaman dari konsep simulasi dan analisis
sisem kendali motor bisa tercapai, maka dalam percobaan ini diharapkan mampu untuk:
f. Mampu melakukan analisis dan simulasi sistem pengendalian waktu kontinyu
maupun waktu diskrit.
g. Memahami konsep kestabilan sistem pengendalian posisi motor DC.
h. Mampu memahami pengaruh periode sampling terhadap kestabilan sistem pada
analisis sistem waktu diskrit.
i. Melakukan perancangan sistem pengendali PID menggunakan software Matlab.
j. Melakukan simulasi sistem pengendalian posisi motor DC menggunakan software
Matlab.
𝜃𝑚 (𝑠) 𝐾
= 𝜏𝑠2+𝑠 (3.1)
𝑉𝑚 (𝑠)
Pada dasarnya terdapat dua jenis sistem pengendalian, yaitu pengendalian lingkar
terbuka dan pengendalian lingkar tertutup. Pada pengendalian lingkar terbuka,
keluaran sistem tidak diumpanbalikkan untuk dibandingkan dengan sinyal referensi. Hal
ini bisa menimbulkan kesalahan keadaan tunak. Berikut ini adalah gambar diagram blok
sistem pengendalian lingkar terbuka:
56 |
sama dengan nilai referensi. Dengan kata lain, kesalahan keadaan tunak bisa
diminimalkan. Berikut ini adalah gambar diagram blok sistem pengendalian lingkar
tertutup:
Pengendali PID ini paling banyak dipergunakan karena sederhana dan mudah dipelajari
serta tuning parameternya. Lebih dari 95% proses di industri menggunakan pengendali
ini. Pengendali ini merupakan gabungan dari pengedali proportional (P), integral (I), dan
derivative (D). Berikut ini merupakan blok diagram dari sistem pengendali dengan
lingkar tertutup (closed loop):
Keluaran pengendali PID akan mengubah respon mengikuti perubahan yang ada pada
hasil pengukuran sensor dan set point yang ditentukan. Pembuat dan pengembang
pengendali PID menggunakan nama yang berbeda untuk mengidentifikasi ketiga mode
pada pengendali ini diantaranya yaitu:
| 57
P Proportional Band = 100/gain
I Integral = 1/reset (units of time)
D Derivative = rate = pre-act (units of time)
Atau
P Kp = Konstanta Proportional
1 1
e(t )dt = T s
I Ki = Ti i =Ki/s = Konstanta Integral
d e (t )
Td
D Kd = Kd s = dt = Konstanta Derivative
1 d e(t ) 1 t d e(t )
KP +
Ti e(t )dt + Td
dt
= K e(t ) +
Ti e(t )dt + T
0
d
dt
U(t) =
Sebelum membahas tentang karakteristik Pengendali PID maka perlu diketahui bentuk
respon keluaran yang akan menjadi target perubahan yaitu :
58 |
1. Waktu tunda (td) : Waktu yang diperlukan agar tanggapan mencapai 50 % nilai akhir
pertama kali.
2. Waktu naik (tr) : Waktu yang dibutuhkan agar tanggapan naik dari :
- 0 % ke 100 % dari nilai akhirnya (teredam kurang)
- 10 % ke 90 % dari nilai akhirnya (teredam lebih)
3. Waktu Puncak (tp) : Waktu yang dibutuhkan agar tanggapan mencapai puncak simpangan
pertama kali.
4. Presentase simpangan puncak, Mp : Perbandingan antara nilai puncak tertinggi dari kurva
tangapan terhadap nilai akhir tanggapan
Pengendali Proposional
| 59
1
𝑃𝐵 = 𝑥100%
𝐾𝑝
Gambar berikut menunjukkan grafik hubungan antara PB, keluaran kontroler dan
kesalahan yang merupakan masukan kontroller. Ketika konstanta proporsional bertambah
semakin tinggi, pita proporsional menunjukkan penurunan yang semakin kecil, sehingga
lingkup kerja yang dikuatkan akan semakin sempit.
Ciri-ciri kontroler proporsional harus diperhatikan ketika kontroler tersebut diterapkan pada
suatu sistem. Secara eksperimen, pengguna kontroller proporsional harus memperhatikan
ketentuan-ketentuan berikut ini:
1. Kalau nilai Kp kecil, kontroler proporsional hanya mampu melakukan koreksi kesalahan
yang kecil, sehingga akan menghasilkan respon sistem yang lambat.
2. Kalau nilai Kp dinaikkan, respon sistem menunjukkan semakin cepat mencapai keadaan
mantabnya.
3. Namun jika nilai Kp diperbesar sehingga mencapai harga yang berlebihan, akan
mengakibatkan sistem bekerja tidak stabil, atau respon sistem akan berosilasi.
Kontroler Integral
60 |
Sinyal keluaran kontroler integral merupakan luas bidang yang dibentuk oleh kurva
kesalahan penggerak- lihat konsep numerik. Sinyal keluaran akan berharga sama dengan
harga sebelumnya ketika sinyal kesalahan berharga nol. Gambar berikut menunjukkan
contoh sinyal kesalahan yang disulutkan ke dalam kontroller integral dan keluaran kontroller
integral terhadap perubahan sinyal kesalahan tersebut.
Kurva sinyal kesalahan e(t) terhadap t dan kurva u(t) terhadap t pada pembangkit
Gambar berikut menunjukkan blok diagram antara besaran kesalahan dengan keluaran
suatu kontroler integral.
Pengaruh perubahan konstanta integral terhadap keluaran integral ditunjukkan oleh gambar
di bawah ini. Ketika sinyal kesalahan berlipat ganda, maka nilai laju perubahan keluaran
kontroler berubah menjadi dua kali dari semula. Jika nilai konstanta integrator berubah
menjadi lebih besar, sinyal kesalahan yang relatif kecil dapat mengakibatkan laju keluaran
menjadi besar.
| 61
Ketika digunakan, kontroler integral mempunyai beberapa karakteristik berikut ini:
1. Keluaran kontroler membutuhkan selang waktu tertentu, sehingga kontroler integral
cenderung memperlambat respon.
2. Ketika sinyal kesalahan berharga nol, keluaran kontroler akan bertahan pada nilai
sebelumnya.
3. Jika sinyal kesalahan tidak berharga nol, keluaran akan menunjukkan kenaikan atau
penurunan yang dipengaruhi oleh besarnya sinyal kesalahan dan nilai Ki.
4. Konstanta integral Ki yang berharga besar akan mempercepat hilangnya offset. Tetapi
semakin besar nilai konstanta Ki akan mengakibatkan peningkatan osilasi dari sinyal
keluaran kontroler.
Kontroler Diferensial
Keluaran kontroler diferensial memiliki sifat seperti halnya suatu operasi derivatif.
Perubahan yang mendadak pada masukan kontroler, akan mengakibatkan perubahan yang
sangat besar dan cepat. Gambar berikut menunjukkan blok diagram yang menggambarkan
hubungan antara sinyal kesalahan dengan keluaran kontroler.
Gambar di bawah ini menyatakan hubungan antara sinyal masukan dengan sinyal keluaran
kontroler diferensial. Ketika masukannya tidak mengalami perubahan, keluaran kontroler
juga tidak mengalami perubahan, sedangkan apabila sinyal masukan berubah mendadak
dan menaik (berbentuk fungsi step), keluaran menghasilkan sinyal berbentuk impuls. Jika
sinyal masukan berubah naik secara perlahan (fungsi ramp), keluarannya justru merupakan
fungsi step yang besar magnitudnya sangat dipengaruhi oleh kecepatan naik dari fungsi
ramp dan faktor konstanta diferensialnya Td .
Kontroler PID
Setiap kekurangan dan kelebihan dari masing-masing kontroler P, I dan D dapat saling
menutupi dengan menggabungkan ketiganya secara paralel menjadi kontroler proposional
plus integral plus diferensial (kontroller PID). Elemen-elemen kontroller P, I dan D masing-
masing secara keseluruhan bertujuan untuk mempercepat reaksi sebuah sistem,
menghilangkan offset dan menghasilkan perubahan awal yang besar. Gambar berikut
menunjukkan blok diagram kontroler PID.
| 63
Hubungan dalam fungsi waktu antara sinyal keluaran dengan masukan untuk
kontroller PID
Step Response Jika respon respon sistem merupakan non-zero step input akan memiliki
slope yang bernilai 0 ketika t=0, system harus merupakan orde kedua atau lebih tinggi
lagi sebab sistem memiliki derajat relative dua atau lebih. Jika step respon menunjukkan
osilasi sistem juga harus menunjukkan orde kedua atau lebih dengan sistem yang
underdamped.
64 |
Bode Plot – Penggambaran fasa (phase plot) juga dapat menjadi indikator untuk
mencari orde yang baik. Jika fasa turun hingga dibawah -90 degrees, sistem merupakan
orde kedua atau lebih tinggi. Derajat relative sistem memiliki nilai paling kecil atau sama
besar dengan bilangan dari perkalian -90 degrees hingga dicapai nilai asymtot pada nilai
paling rendah pada penggambaran fasa (phasa plot) sistem.
DC Gain - Nilai Penguatan DC (DC gain) merupakan perbandingan dari kondisi steady
state dari step response dengan nilai magnitude dari step input. DC Gain = steady state
output / step magnitude
DC GAIN – Nilai DC Gain sistem dapat dihitung dari nilai magnitude bode plot ketika
s=0. DC Gain = 10M(0)/20 where M(0) is the magnitude of the bode plot when jω=0.
NATURAL FREQUENCY – Frekuensi alami (natural frequency) dari sistem orde dua
terjadi ketika fasa dari respon mencepai sudut relative -90 terhadap fasa input. ωn = ω-
90° dimana ω-90° merupakan frekuensi pada saat phase plot di -90 degree.
DAMPING RATIO - Nilai damping ratio sistem ditemukan dengan nilai DC Gain dan nilai
magnitude dari bode plot ketika fasa plot -90 degrees. ζ = K / (2*10(M-90°/20)) dimana
M-90° merupakan nilai magnitude bode plot ketika fasa -90 degrees.
| 65
4.2.4 Software Matlab
Matlab adalah suatu bahasa tingkat tinggi untuk komputasi numerik, visualisasi, dan
pemrograman. Matlab bisa digunakan untuk berbagai aplikasi, termasuk pemrosesan
sinyal dan komunikasi, gambar dan pemrosesan video, sistem kontrol, uji dan
pengukuran, keuangan komputasi, dan biologi komputasi. Di dalam Matlab, terdapat
suatu tools yang bisa digunakan untuk simulasi, yaitu Simulink. Simulink menyediakan
fungsi-fungsi yang diprogram secara grafik untuk melakukan simulasi berbagai sistem.
SIMULINK
66 |
Atau tulis “simulink” di prompt MATLAB pada Command Window, seperti terlihat pada
gambar berikut.
Beberapa saat kemudian akan muncul window “Simulink Library Browser”, seperti pada
gambar
berikut.
Simulink merupakan bagian dari Matlab yang memiliki fasilitas untuk mensimulasikan sistem
kendali tanpa harus menuliskan program terlebih dahulu, tetapi dengan cara menyusun
blok-blok yg menggambarkan function dalam Matlab. Dibawah ini bagian system terpenting
dari blok – blok untuk proses program pengendali dari Simulink.
| 67
Dari blok – blok diagram diatas masing diklasifikasikan lagi beberapa blok sesuai dengan
kegunaannya. Berikut akan diberikan contoh dari masing – masing blok dan
kegunaannya masing – masing.
1. Bentuk umum dari fungsi transfer sistem orde dua dapat direpresentasikan dalam
persamaan (2.3) di bawah ini:
2
𝜔𝑛
2 (3.3)
𝑠 2 +2𝜁𝜔𝑠+𝜔𝑛
68 |
dengan 𝜁 adalah koefisien redaman dan 𝜔𝑛 adalah frekuensi natural. Dengan
berdasar bahwa fungsi transfer plant orde 2 direpresentasikan oleh persamaan (3.3),
turunkan perhitungan untuk menghitung rise time, peak time, maximum overshoot,
dan settling time.
2. Desain juga pengendali proporsional untuk sistem kendali posisi motor DC waktu
kontinu dengan kriteria settling time kurang dari 0.15 detik dan overshoot maksimal
15%. Untuk tugas ini, desain dilakukan dengan melakukan perhitungan di atas kertas
(petunjuk: gunakan rumus yang diturunkan dari soal sebelumnya).
3. Fungsi transfer motor DC pengendalian posisi direpresentasikan dalam persamaan
(3.1). diasumsikan untuk sebuah motor DC dengan nilai K sebesar 19,9 rad/V.s dan τ
sebesar 0,0929 s. Dengan menggunakan pengendali proporsional, gambarkan
diagram blok sistem pengendali posisi motor DC lingkar tertutup dan turunkan juga
fungsi transfer lingkar tertutupnya.
4.5 Percobaan
1 Nyalakan komputer.
2 Bukalah software Matlab.
1 Buatlah script baru, yaitu dengan melakukan langkah-langkah seperti berikut. Pada
menu File pilih New lalu pilih Script (secara singkat dapat dilakukan dengan menekan
tombol Ctrl + N).
2 Masukkan parameter-parameter pole dan zero. Untuk sistem berorde n, nilai-nilai
zero dimasukkan pada variabel num yang merupakan vektor berdimensi n dan nilai-
nilai pole dimasukkan pada variabel den yang juga merupakan vektor berdimensi n.
Misalkan fungsi transfer yang akan kita buat adalah seperti berikut ini:
1
13,5𝑠 + 21,4𝑠 2 + 8,9𝑠 + 1
2
clear()
num=[0 0 0 1];
den=[13.5 21.4 8.9 1];
sys=tf(num,den);
| 69
Fungsi transfer di atas bisa juga dibuat dengan menggunakan cara lain, yaitu dengan
mendefinisikan operator Laplace terlebih dahulu, seperti yang dicontohkan dalam
kode berikut ini:
clear()
s = tf('s');
sys = 1/(13.5*s^3+21.4*s^2+8.9*s+1);
3 Ketikkan sys pada Command Window di Matlab lalu tekan Enter dan akan muncul
fungsi transfernya.
4 Untuk mengetahui nilai-nilai pole dan zero, maka ketikkan kode seperti berikut ini
pada Command Window lalu tekan Enter:
pole(sys)
zero(sys)
6 Untuk mengubah suatu sistem yang terdefinisi pada waktu kontinu ke waktu diskrit,
digunakan perintah berikut ini:
sysd = c2d(sys,Ts)
Respon Waktu
8 Matlab dapat mensimulasikan respon waktu sistem untuk berbagai jenis sinyal input.
Untuk melihat respon sistem terhadap sinyal impuls, ketikkan kode berikut lalu
jalankan:
impulse(sys)
9 Untuk melihat respon sistem terhadap sinyal impuls, ketikkan kode berikut lalu
jalankan:
step(sys)
70 |
10 Untuk melihat respon sistem terhadap sinyal sinusoidal dengan periode t, durasi tf, dan
sampling dt, ketikkan kode berikut lalu jalankan:
[u,t]=gensig('sine',t,tf,dt);
lsim(sys,u,t)
11 Agar tampilan sinyal bisa sesuai dengan yang kita inginkan, misal dari posisi 𝑥0
sampai 𝑥1 dan 𝑦0 sampai 𝑦1, maka ketikkan kode berikut lalu jalankan:
axis([x0 x1 y0 y1])
12 Tugas 3: Buatlah plot respon sistem terhadap input berupa sinyal impuls, step, dan
sinusoidal untuk model sistem posisi DC lingkar terbuka dalam model persamaan
waktu kontinu dan waktu diskrit. Untuk sinyal kotak, gunakan periode sebesar 5
detik, durasi sebesar 10 detik, dan sampling sebesar 0.01 detik. Sesuaikan
tampilannya sehingga terlihat respon waktunya dengan cukup jelas. Catat hasilnya
pada buku catatan lalu lakukan analisis.
13 Untuk melihat grafik root locus dari sistem, ketikkan kode berikut pada Command
Window:
rlocus(sys)
14 Untuk menganalisis sistem dengan menggunakan Nyquist, ketikkan kode berikut pada
Command Window:
nyquist(sys)
15 Untuk menganalisis respon frekuensi sistem dengan menggunakan Bode plot, ketikkan
kode berikut pada Command Window:
bode(sys)
16 Tugas 4: Dapatkan plot Root Locus, Nyquist Plot, dan Bode Plot untuk model posisi
motor DC lingkar terbuka dalam model persamaan waktu kontinu dan waktu diskrit.
Untuk plot Nyquist dan Bode dapatkan Gain Margin (GM) dan phase margin (PM)-
nya.
17 Tugas 5: Dengan menggunakan fungsi transfer model posisi motor DC waktu
kontinyu dan waktu diskrit, carilah nilai penguatan yang membuat sistem mulai tidak
stabil (petunjuk: gunakan plot Root Locus).
Analisis Sistem Waktu Diskrit: Pengaruh Periode Sampling Terhadap Karakteristik Sistem
| 71
kestabilan sistem. Gunakan 3 nilai periode sampling yang berbeda ( misal 0.01 detik
(frekuensi 100 Hz), 0.001 detik (frekuensi 1000 Hz), dan 0.0001 detik (frekuensi 10
kHz)). Pada masing-masing nilai periode sampling, perolehlah fungsi transfer, grafik
respon waktu, dan plot root locus-nya. Catat hasilnya pada buku catatan lalu lakukan
analisis.
19 Matlab menyediakan perintah untuk membuat suatu fungsi transfer pengendali PID
dalam konfigurasi paralel yang ditunjukkan dalam contoh kode berikut ini:
C = pid(Kp,Ki,Kd,Tf,Ts);
C = pidtune(sys,'pid');
21 Pada umumnya, desain pengendali PID (penentuan konstanta PID) dilakukan agar
sistem tertutup menghasilkan performa (respon waktu) yang memenuhi kriteria
yang telah ditetapkan. Pada fungsi pid, dihasilkan fungsi transfer pengendali PID,
dengan syarat konstanta PID-nya sudah diketahui. Pada fungsi pidtune, dihasilkan
konstanta PID secara otomatis. Agar konstanta PID bisa didapatkan sedemikian
sehingga sistem lingkar tertutupnya memenuhi kriteria, maka Matlab menyediakan
toolbox desain PID yang dapat diakses dengan menggunakan perintah berikut:
pidtool(sys, 'pid')
Dengan menggunakan kode program di atas, maka akan keluar jendela PID tuner
Untuk Tugas 7 ini, catatlah konstanta pengendalinya (untuk semua sistem, dari a
sampai d). Catatah pada buku catatan, lalu analisislah letak pole sistem lingkar
tertutupnya. Hasil dari Tugas 7 ini akan digunakan pada percobaan selanjutnya.
72 |
4.5.2 Simulasi Sistem Kendali Menggunakan Simulink
Simulasi: Pengendali PID
30 Dobel klik pada blok Scope untuk melihat sinyal keluaran setelah simulasi dilakukan.
| 73
31 Untuk menjumlahkan atau menselisihkan sinyal, pada Simulink Library Browser, bagian
Library, masuklah ke bagian Math Operations lalu klik blok Sum, lalu masukkan pada
Model.
32 Dobel klik pada blok Sum untuk mengganti jenis operator ataupun menambah atau
mengurangi jumlah operator.
33 Untuk mengalikan sinyal dengan penguatan konstan tertentu, pada Simulink Library
Browser, bagian Library, masuklah ke bagian Math Operations lalu klik blok Gain, lalu
masukkan pada Model.
34 Dobel klik pada blok Gain untuk mengatur nilai penguatannya.
35 Bila ingin menambahkan suatu integrator atau diferensiator, pada Simulink Library
Browser, bagian Library, masuklah ke bagian Continuous (Discrete) lalu klik blok
Integrator (Discrete Time Integrator) untuk integrator dan Derivative (Discrete
Derivative) untuk derivatif, lalu masukkan pada Model.
36 Tugas 8: Simulasikan sistem pengendali posisi motor DC lingkar terbuka sistem
waktu diskrit untuk ketiga nilai periode sampling yang digunakan pada Tugas 6. Catat
hasilnya pada buku catatan lalu lakukan analisis.
37 Tugas 9: Simulasikan sistem pengendali posisi motor DC lingkar tertutup dengan
pengendali PID untuk waktu kontinu dan waktu diskrit dengan menggunakan
konstanta PID yang telah diperoleh dari Tugas 7. Catat hasilnya pada buku catatan
lalu lakukan analisis.
38 Tugas 10: Simulasikan sistem pengendali posisi motor DC lingkar tertutup untuk 3
nilai periode sampling yang digunakan pada Tugas 6 dengan pengendali
proporsional. Gunakan nilai Kp = 1.75 untuk sistem pengendali posisi.
74 |
Pada contoh ini, kita akan mengasumsikan input dari sistem tersebut adalah
tegangan (V) yang diaplikasikan ke rangkaian motor dan outputnya adalah posisi
poros roda (θ). Rotor dan poros diasumsikan rigid. Diasumsikan juga bahwa model
gesekan viskositas akan proporsional sesuai dengan kecepatan sudut poros.
Secara umum, besarnya torsi yang dihasilkan oleh motor DC akan proporsional
dengan arus dari rangkaian motor dan juga kuat medan magnet yang ada
disekitarnya. Pada contoh ini, kita akan mengasumsikan medan magnet adalah
konstan, untuk itu torsi motor hanya akan proporsional dengan arus rangkaian
motor (i) terhadap faktor konstanta Kt, seperti pada gambar berikut:
Gaya gerak listrik ( ) belakang besarnya proporsional dengan kecepatan sudut poros
dengan konstanta faktor Kb.
𝑒 = 𝐾𝑒 𝜃̇
Dalam satuan internasional, torsi motor dan GGL belakang adalah sama, yaitu
; Untuk itu, kita akan menggunakan K sebagai representasi dari konstanta
torsi motor dan konstanta GGL belakang. Sistem akan dimodelkan dengan
penjumlahan torsi pada inersia rotor dan mengintegrasikan akselarasi untuk
memberi kecepatan. Hukum Kirchoff's akan diaplikasikan pada sirkuit motor DC ini.
Pertama-tama, kita akan memodelkan integral dari akselarasi putaran dan rata-rata
perubahan arus motor DC.
Dari fungsi transfer yang diperoleh dari simulasi kecepatan dengan SIMULINK pada
modul sebelumnya dapat diperoleh persamaan fungsi transfer posisi motor dengan
cara membaginya dengan s, sehingga persamaannya menjadi:
𝜃(𝑠) 𝐾
=
𝑉(𝑠) 𝑠((𝐽𝑠 + 𝑏)(𝐿𝑠 + 𝑅) + 𝐾 2 )
| 75
Untuk membangun model simulasi, bukalah jendela kerja baru pada SIMULINK lalu
ikuti tahapan di bawah ini.
41. Masukan blok integrator dari Simulink/Continuous library dan buat garis pada input
dan outputnya
42. Beri label pada garis input "d2/dt2(theta)" dan pada output "d/dt(theta)". Untuk
melakukanya, double-click pada bidang kosong tepat di bawah garis.
43. Masukkan blok integrator yang lain (berinama “theta” pada garis output),
hubungkan input-nya dengan output pada itegrator pada langkah (2).
44. Tambahkan lagi blok integrator di atas blok pertama, buat garis juga pada input
maupun outputnya. Beri label pada garis input "d/dt(i)" dan output "i".
45. Selajutnya, kita akan mengaplikasikan hukum newton dan hukum kirchoff pada
sistem motor untuk membentuk persamaan berikut:
Sudut akselarasi nilainya sama dengan 1/J dikalikan dengan penjumlahan dua besaran
(satu positif, satu negatif). Derivatif dari arus sama nilainya dengan 1/L dikalikan dengan
penjumlahan 3 besaran (satu positif, dua negatif). Lanjutkan pemodelan persamaan
tersebut pada SIMULINK sebagai berikut.
46. Masukkan dua blok Gain dari Simulink/Math Operations library, masing-masing
hubungkan dengan integrator.
47. Edit korespondensi blok Gain ke akselarasi sudut dengan double-clicking dan ubah
nilainya menjadi "1/J".
76 |
48. Ubahlah nama dari blok Gain tersebut menjadi "Inertia" dengan cara meng-klik
"Gain" yang terletak di bawah blok.
49. Lakukan hal yang sama untuk blok Gain lainya dengan nilai "1/L" dan label
"Inductance".
50. Masukkan dua buah Add blocks dari Simulink/Math Operations library, masing-
masing hubungkan dengan garis pada blok Gain.
51. Edit tanda pada Add block menjadi "+-" karena satu besaran positif dan satunya
negatif.
52. Edit tanda pada Add block lainya menjadi "-+-" untuk merepresentasi besaran pada
persamaan Kirchoff’s.
Sekarang, kita harus tambahkan torsi yang direpresentasikan pada persamaan rotasi.
Pertama, kita tambahkan torsi redaman (damping torque).
53. Masukkan blok gain di bawah blok "Inertia". Selanjutnya klik kanan pada blok
tersebut dan pilih Rotate & Flip > Flip Block dari menu yang dimunculkan untuk
membalik arah blok dari kiri ke kanan. Atau dengan memilik blok tersebut sambil
mengklik Ctrl-l.
54. Set nilai Gain dengan "b" dan ubah nama bloknya menjadi "Damping".
55. Tap garis (tahan Ctrl disaat menggambar atau klik kanan pada garis) dari output
integrator rotasi dan hubungkan ke input dari blok "Damping".
56. Gambar garis dari output blok "Damping" ke input negatif rotational Add block.
57. Masukkan blok gain dan hubungkan ke input positif rotational Add block dengan
sebuah garis.
58. Edit nilainya kenjadi "K" untuk merepresentasikan konstanta motor dan beri label
"Kt".
59. Lanjutkan menggambar garis yang mengarah dari integrator arus dan hubungkan ke
blok "Kt".
| 77
Sekarang, kita harus menambah besaran tegangan dimana direpresentasikan pada
persamaan elektrikal. Pertama, tambahkan blok tegangan pada resistansi armarture.
60. Masukkan blok gain diatas blok "Inductance" dan putar arahnya dari kiri ke kanan.
61. Set nilai gain menjadi "R" dan ubah nama bloknya menjadi "Resistance".
62. Arahkan kursor ke garis output integrator arus dan hubungkan garis tersebut ke
input blok "Resistance".
63. Gambar garis dari output blok "Resistance" menuju ke input negative bagian atas
dari “Add” blok persamaan arus.
64. Masukkan sebuah blok gain dan sambungkan ke input negatif dari “add” blok arus
lainya.
65. Ubah nilainya menjadi "K" untuk merepresentasikan konstanta ggl belakang dari
motor dan beri label "Ke".
66. Arahkan kursor ke garis output integrator (d/dt(theta)) dan hubungkan dengan blok
gain "Ke".
78 |
67. Masukkan In1 dan Out1 ports dari Simulink/Ports & Subsystems, ubah label in1
menjadi “voltage” dan Out1 menjadi “position”.
68. hubungkan In1 ke inputan positif pada blok Add arus dan Out1 pada output
integrator (theta).
| 79
Untuk menyimpan seluruh komponennya menjadi satu blok subsistem, caranya dengan
memilih seluruh blok, klik kanan kemudian pilih Create Subsystem from Selection.
Simpan dengan nama Motor_Pos.
Model motor posisi yang sudah dibuat di atas selanjutnya akan kita lihat respon dengan
sebuah pengendali open loop. Respon step open-loop juga bisa dibuat secara langsung
menggunakan Simulink. Ikuti langkah-langkah berikut ini:
80 |
73. Untuk dapat mensimulasikan sistem ini, rincian simulasi harus diatur terlebit dahulu.
Pilih Model Configuration Parameters dari menu Simulation, tentukan lamanya
durasi dimana simulasiakan berjalan pada bagian Stop time. Masukkan angka “0.2”,
karena dianggap waktu yang cukup untuk sistem mencapai kondisi steady state.
Pada jendela ini, di bagian solver ubah menjadi ode15s (stiff/NDF) solver.
Pengaturan pada jendela ini terlihat pada gambar dibawah:
| 81
74. Masukkan nilai-nilai parameter motor DC yang diperoleh dari simulink model melaui
MATLAB command window, kemudian jalankan simulasi dengan menekan (Ctrl-T
atau pilih Run dari menu Simulation). Setelah simulasi selesai, klik ganda “scope”
maka akan terlihat grafik respon seperti dibawah:
Model linear dari sebuah sistem dapat diekstrak dari sebuah model Simulink menjadi
tipe MATLAB workspace. Hal dini dapat dilakukan dengan mengetikkan dlinmod pada
command MATLAB ataupun Langsung melalui Simulink yang akan kita lakukan. Berikut
parameter-parameter yang sudah kita gunakan sebelumnya:
J = 3.2284E-6;
b = 3.5077E-6;
K = 0.0274;
R = 4;
L = 2.75E-6;
75. Identifikasi input dan output dari model yang akan kita ekstrak. Klik kanan pada
sinyal yang menunjukkan input tegangan (voltage) pada model Simulink. Kemudian
pilih Linear Analysis Points > Open-loop Input dari tampilan menu yang muncul.
76. Lakukan hal yang sama pada output posisi “position” dan pilih Linear Analysis Points
> Open-loop Output. Sinyal Input dan output akan teridentifikasi pada model
dengan simbol panah seperti pada gambar di bawah.
82 |
77. Pilih menu pada jendela model bagian atas, Analysis > Control Design > Linear
Analysis. Kemudian Linear Analysis Tool akan terbuka. Pada jendela Linear Analysis
Tool, pilih More Options, kemudian ubah sampling time menjadi “0.001” dan
conversion method pilih “Zero-Order Hold”. Di dalam jendela Linear Analysis
Tool, operating Point akan dilinierkan dapat tetap dipilih default, Model Initial
Condition. untuk memulai proses linierisasi/diskritisasi, selanjutnya klik tombol Step
yang dicirikan dengan simbol segitiga hijau kecil. Hasil dari proses linierisasi ini
adalah objek linsys1 yang akan muncul pada Linear Analysis Workspace seperti
gambar di bawah. Seret (drag) “linsys1” dan masukkan ke dalam MATLAB
Workspace. Lebih jauh lagi, respon step open-loop sistem yang sudah dilinierkan
akan otomatis muncul.
| 83
Verifikasi hasil ekstraksi dapat dilakukan dengan melihat model itu sediri. Model ini
selanjutnya dapat digunakan pada MATLAB sama halnya dengan sebuah objek yang dibuat
langsung menggunakan MATLAB command line. Masukkan perintah zpk(linsys1) pada
jendela MATLAB command untuk menunjukkan bahwa hasil demonstrasi model mempunyai
bentuk persamaan sebagai berikut.
Untuk memverifikasi validitas dari hasil ekstraksi model, dapat dilihat dari respon step open-
loop. Ketikkan perintah dibawah ini pada jendela perintah MATLAB dan akan terlihat
grafiknya.
t = 0:0.001:0.2;
step(linsys1,t);
grid
Tugas 11 : Buatlah grafik respon open-loop dari model hasil ekstraksi linier ke Matlab
Workspace yang berhasil dibuat, bandingkan dan analisis hasilnya dengan model motor
yang tanpa linierisasi. Verifikasi hasil keduanya!
Misalnya jika sebuah lag compensator didesain sesuai transfer function berikut
84 |
Untuk membuat respon step closed-loop menggunakan compensator lag pada simulink, kita
kembali menggunakan "Motor_posisi.slx" yang sudah dibuat sebelumnya. Lalu tambahkan
sebuah lag compensator secara seri dengan subsistem motor dan akan memberikan
feedback posisi motor untuk dibandingkan dengan nilai referensi yang diinginkan. Ikuti
langkah-langkah berikut ini
86. Sebelum mensimulasikan sistem ini, atur ulang Stop time pada Simulaton di menu
Model Configuration Parameters menjadi 0.08. Kemudian jalankan simulasi.
| 85
Tugas 12: Tampilkan hasil simulasi kemudian analisis hasilnya dan bandingkan dengan
model yang tidak menggunakan lag compensator. Verifikasi hasilnya juga dengan closed-
loop dengan lag compensator pada sistem kontinyu.
kendali posisi pada sebuah motor dc dapat diartikan sebagai pengaturan perputaran motor
untuk mencapai posisi sesuai referensi gerak, jika posisi sudah sesuai maka motor akan
berhenti berputar. Representasi kecepatan kedalam posisi yaitu:
𝑡 𝜃̇
𝜃 = ∫0 𝜃̇(𝑡)𝑑𝑡 atau 𝜃 = 𝑠
Dengan demikian kontrol posisi pada sebuah motor DC dapat digambarkan sebagai berikut:
86 |
Misalnya parameter motor di atas adalah sebagai berikut :
L = 0.062H
R=2.5Ω
Konstanta torsi motor, Ktn=0.026Nm/A
Konstanta tegangan balik emf, Kb=0.02V/rad.s-1
Momen inersia rotor dan beban, Jeff=0.00004Kg/m2 dan
Koefisien viscous rotor dan beban, feff=0.001
Dalam simulasi ini diasumsikan sudut poros motor pada saaat start berada pada
posisi 0°. Dengan target perpindahan posisi sebesar 90° atau 1,57 radian. Mengadopsi
desain simulink diatas maka diperoleh diagram blok seperti diabawah ini:
Tugas 13:
a. Buatlah diagram Simulink menggunakan parameter-parameter yang sudah diberikan
b. Tampilkan dalam satu grafik yang sama hasil simulasi kontrol proporsional untuk skema
Kp = 3; 2; 1; 0.75 dan 0.5.
c. Analisis grafik hasil simulasi tersebut.
| 87
Kontrol Proporsional Integral (PI) untuk motor DC
Tugas 14:
a. Buatlah diagram Simulink untuk kontrol PI menggunakan parameter-parameter yang
sudah diberikan
b. Tampilkan dalam satu grafik yang sama hasil simulasi kontrol proporsional untuk skema
Kp = 3; Ki = 20; 10; 5; 0.5
c. Analisis grafik hasil simulasi tersebut.
Tugas 15:
a. Buatlah diagram Simulink untuk kontrol PD menggunakan parameter-parameter yang
sudah diberikan
b. Tampilkan dalam satu grafik yang sama hasil simulasi kontrol proporsional untuk skema
Kp = 2; Kd = 0; 0.03, 0,066, 0,07 dan 0,1.
c. Analisis grafik hasil simulasi tersebut.
Kontrol Proporsional (Kp) dengan pembebanan
Tugas 16:
a. Buatlah diagram Simulink untuk kontrol P dengan pembebanan menggunakan
parameter-parameter yang sudah diberikan
b. Tampilkan dalam satu grafik yang sama hasil simulasi kontrol proporsional untuk skema
Kp = 2 dan beban bevariasi dari 0, 0.001, 0.003, dan 0.005
Analisis grafik hasil simulasi tersebut.
1. Tujuan Percobaan
• Praktikan dapat mengimplementasikan kontrol PID pada sistem embedded
denga pendekatan program.
• Praktikan dapat menjalankan simulasi sistem kendali pada Tinkercad.
2. Dasar Teori
a. Kontrol PID dalam Pemrograman
Sistem kendali PID pada rangkaian close-loop secara sedrhana
diperlihatkan pada gambar 5.1 yang mana pada rangkaian tersusun sebuah
plant dengan kontrol PID yang melakukan kalkulasi kepada error luaran
system. Respon yang diinginkan harus memiliki settling time minimum
dengan sedikit atau tanpa overshoot dari respon step sistem loop.
PID Controller sebenarnya terdiri dari 3 jenis cara pengaturan yang saling
dikombinasikan, yaitu P (Proportional) Controller, D (Derivative) Controller, dan I
(Integral) Controller. Masing-masing memiliki parameter tertentu yang harus diset
untuk dapat beroperasi dengan baik, yang disebut sebagai konstanta. Setiap jenis,
memiliki kelebihan dan kekurangan masing-masing, hal ini dapat dilihat pada tabel
di bawah ini:
(1.1)
Dalam implementasinya di dunia program, persamaan matematis
pada tiap komponen control PID perlu diubah kedalam Bahasa yang
dimengerti oleh sistem. Sistem computer berjalan secara diskrit, maka dari
itu perlu dilakukan konfigurasi pada metode control PID melalui pendekatan
matematis seperti pada tabel 1.
| 91
Beberapa jenis mikrokontroler lain memiliki resolusi 8-bit, 256 level analog
diskrit, dan beberapa memiliki resolusi 16-bit dan 65536 level analog diskrit.
c. Motor DC
Motor DC memiliki dua bagian penting. Bagian pertama adalah stator
yang tidak berputar dan bagian kedua adalah rotor yang berputar. Poros
ditempatkan pada rotor ini. Benda yang berputar (seperti puli sabuk) dapat
dipasang pada ujung poros.
92 |
e. Thinkercad
TinkerCAD adalah layanan online gratis untuk membuat bentuk 3D
dasar dan mengembangkan prototipe digital komponen elektronik. Prototipe
ini termasuk sirkuit dasar dengan lampu LED, buzzer, sakelar, dan bahkan
sensor cahaya.
| 93
3. Alat dan Bahan
Alat dan perlengkapan yang diperlukan dalam praktikum modul ini adalah sebagai
berikut:
1. Laptop
2. Jaringan Internet
4. Langkah Praktikum
a. Login ke halaman Tinkercad dengan membka laman
https://www.tinkercad.com/login pada brower praktikan. Pastikan praktikan
masuk ke dashboard akun masing-masing praktikan. Jika praktikan belum
memiliki akun Tinkercad silahkan membuat akunnya terlebih dahulu.
b. Pada dashboard pilih menu Circuit dan klik Create new Circuit.
94 |
d. Cari komponen “Arduino Uno R3” pada kolom Search lalu tarik komponen
Arduino Uno R3 ke Sheet.
| 95
Enable 1 & 2 D8
Input 1 D7
Input 2 D9
Ground GND
Power 1 & 2 5V
//Kontrol PID
float Kp = 30;
float Ki = 0;
float Kd = 0;
float dt = 0.01;
float integrator = 0;
96 |
float preverr;
float proporsional;
float derivative;
int targetPos = 100;
int error;
int control;
int speed;
void setup()
{
//Setup interrupt
pinMode(encoderPinA, INPUT_PULLUP);
pinMode(encoderPinB, INPUT_PULLUP);
attachInterrupt(digitalPinToInterrupt(encoderPinA),
doEncoderA,RISING);
preverr = 0;
Serial.begin(9600);
}
void loop()
{
error = targetPos - encoderPos;
proporsional = Kp*error;
integrator += integrator * dt;
derivative = (error+preverr)/dt;
control = proporsional + Ki*integrator + Kd*derivative;
h. Lakukan simulasi dengan mengubah nilai Kp, Ki, dan Kd menjadi nilai yang
memiliki respon sistem terbaik dan catatlah nilai Kp, Ki, dan Kd nya!
| 97
i. Analisa hasil simulasi dari nilai kontroler Kp, Ki, dan Kd terbaik dan temukan
beberapa parameter berikut:
• Rise Time (Tr), yang merupakan jumlah sampel pada saat sinyal naik.
• Settling Time (Tr), yang merupakan jumlah sampel pada saat sistem
berosilasi di keadaan tunak.
j. Catatlah hasilnya di buku catatan dan berikan diskusi terkait pada laporan
praktikum!
98 |
Daftar Pustaka
[3] ____, SCB-68 User Manual for Advanced Functions, National Instruments, 2009.
[4] http://elektronika-dasar.web.id/komponen/operasional-amplifier-op-amp-ic-lm741/,
diakses tanggal 16 Juli 2013.
[6] http://www.learningaboutelectronics.com/images/LM741_pinout_diagram.jpg,
diakses tanggal 4 Juli 2013.
[7] Katsuhiko Ogata, Modern Control Engineering 4th Edition, Prentice-Hall Inc., New
Jersey, 2002.
[8] Mark W. Spong, Seth Hutchinson, M. Vidyasagar, Robot Modelling and Control 1st
Edition, John Wiley & Sons Inc., New York, 1989.
[9] Norman S. Nise, Control System Engineering 3rd Edition, John Wiley & Sons Inc.,
New York, 2000.
[10] Sebastian A. Nugroho, et al., Desain Pengendali Posisi pada Quanser DC Motor
Control Trainer (DCMCT) dengan Metode Linear Quadratic Gaussian (LQG),
Tugas Besar Kendali Optimal, STEI - ITB, 2013.