sistem kendali - institut teknologi bandung
TRANSCRIPT
PETUNJUK PRAKTIKUM
PRAKTIKUM
SISTEM KENDALI
Sekolah Teknik Elektro dan Informatika
Institut Teknologi Bandung
2021
Laboratorium Dasar Teknik Elektro
MODUL PRAKTIKUM
SISTEM KENDALI
Disusun Oleh:
Arief Syaichu Rohman
Adi Novitarini
LABORATORIUM SISTEM KENDALI DAN KOMPUTER
SEKOLAH TEKNIK ELEKTRO DAN INFORMATIKA
INSTITUT TEKNOLOGI BANDUNG
2021
Modul 3 SISTEM KENDALI POSISI
3.1 Tujuan
Tujuan dari percobaan ini adalah memahami konsep pengendalian posisi motor DC. Agar pemahaman dari
konsep pengendalian motor bisa tercapai, maka dalam percobaan ini diharapkan mampu untuk:
1. Mengimplementasikan metode first principle untuk membangun white box model dari kit Quanser
Engineering Trainer DC Motor Control Trainer (QET DCMCT)
2. Melakukan analisis mengenai pengaruh tipe sistem terhadap kondisi error steady state dengan sinyal
masukan berupa step
3. Melakukan analisis dan evaluasi mengenai pengaruh parameter kendali terhadap pengaturan posisi Motor
DC
3.2 Dasar teori
3.2.1 Kit Motor DC Quanser
Motor DC yang digunakan pada modul ini berbeda dengan percobaan sebelumnya. Plant yang digunakan pada
praktikum ini adalah Kit QET (Quanser Engineering Trainer) DC Motor Control Trainer (DCMCT) dimana bentuk
fisiknya seperti pada Gambar 3.1. Terdapat beberapa komponen utama pada kit ini yakni motor dengan inertia load,
amplifier, encoder, DAQ dan D/A Converter, serta PC.
Gambar 3. 1 The QET DCMCT
dimana keterangan dari Gambar 3.2 adalah sebagai berikut :
Gambar 3.2 Diagram skematik sistem
Diketahui beberapa parameter-parameter yang digunakan pada kit ini adalah sebagai berikut :
3.2.2 Pengendalian posisi
Berdasarkan fungsi transfer motor dari parameter-parameter yang digunakan pada kit, maka hubungan
antara tegangan input motor ππ dengan posisi sudut motor ππ dalam domain Laplace sebagaimana dinyatakan
dalam persamaan (3.1).
ππ
ππ
=πΎ
ππ 2 + 1
(3.1)
Pada dasarnya terdapat dua jenis sistem pengendalian, yaitu pengendalian lingkar terbuka dan
pengendalian lingkar tertutup. Pada pengendalian lingkar terbuka, keluaran sistem tidak diumpan balikkan untuk
dibandingkan dengan sinyal referensi. Hal ini bisa menimbulkan kesalahan keadaan tunak. Berikut ini adalah gambar
diagram blok sistem pengendalian lingkar terbuka:
Gambar 3. 1Diagram blok sistem pengendalian lingkar terbuka
Sedangkan pada pengendalian lingkar tertutup, keluaran sistem diumpanbalikkan untuk dibandingkan
dengan sinyal referensi. Hal ini bertujuan agar keluaran sistem bisa sama dengan nilai referensi. Dengan kata lain,
kesalahan keadaan tunak bisa diminimalkan. Berikut ini adalah gambar diagram blok sistem pengendalian lingkar
tertutup:
Gambar 3. 2 Diagram blok sistem pengendalian lingkar tertutup
3.2.2 Pengendali PID
β Proporsional
Dalam domain waktu kontinyu, hubungan antara sinyal error π dengan sinyal kontrol π’ dinyatakan dalam
persamaan berikut:
π’(π‘) = πΎπ . π(π‘) (3.2)
Dari persaamaan (3.2) terlihat bahwa pengendali proporsional menghasilkan sinyal kontrol berupa sinyal
eror yang dikalikan (proporsional) dengan konstanta proporsonal πΎπ. Pengendali proporsional digunakan
untuk memperbesar penguatan dan mempercepat respon transien.
β Integral
Dalam pengendali integral, nilai eror π diumpankan sebagai laju perubahan sinyal kontrol π’ sebagaimana
dinyatakan dalam persamaan berikut ini:
π’(π‘) = πΎπ (1
ππ
) β«π‘
0
π(π‘)ππ‘ (3.3)
Pengendali integral berfungsi untuk menghilangkan galat atau steady state error meskipun juga dapat
menyebabkan terjadinya overshoot dan osilasi yang mengakibatkan keadaan tunak lama dicapai.
β Derivatif
Pengendali derivatif akan memberikan suatu sinyal kontrol π’ yang bersesuaian dengan laju perubahan sinyal
eror π sebagaimana dinyatakan dalam persamaan (3.4).
π’(π‘) = πΎπ(ππ )π π(π‘)
ππ‘
(3.4)
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:
π’(π‘) = πΎπ (π(π‘) + (1
ππ
) β«π‘
0
π(π‘) ππ‘ + (ππ ) π π(π‘)
ππ‘)
(3.5)
Dalam domain Laplace dinyatakan sebagai:
π(π )
πΈ(π )= πΎπ (1 +
1
πππ + ππ π )
(3.6)
Berikut ini adalah diagram blok sistem secara umum yang menggunakan pengendali PID:
Gambar 3. 3 Diagram blok sistem lingkar tertutup dengan pengendali PID
3.3 Alat dan komponen yang digunakan
1. Personal computer yang telah terinstall software MATLAB
2. Buku catatan laboratorium.
3.4 Tugas pendahuluan
1. Lakukan pemodelan white-box model (first principle) menggunakan parameter yang ada pada subbab 3.2.1.
Tuliskan ke dalam bentuk fungsi alih (transfer function) dengan posisi sudut sebagai sinyal keluarannya dan
tegangan motor sebagai sinyal masukannya !
2. Sistem kendali posisi motor DC dengan sistem lingkar terbuka ini menggunakan tegangan input step (Vm)
sebesar 5V. Tentukan nilai ΞΈm (posisi outputnya)! Apakah sistem ini stabil? Jika stabil, berapa nilai error
steady state-nya?
3. Sistem kendali posisi motor DC pada soal 1 diubah menjadi sistem lingkar tertutup seperti pada gambar
berikut. Tentukan nilai ΞΈm(s) (posisi outputnya)! Apakah sistem ini stabil? Jika stabil, berapa nilai error steady
state-nya? Οm(s).
4. Tentukan %Overshoot dan Time settling (5% Criterion) pada blok kendali yang tertera pada fungsi alih di
soal 2!
3.5 Percobaan
3.5.1 Persiapan
1. Buka MATLAB lalu SIMULINK
2. Buatlah diagram blok loop-terbuka seperti di bawah ini.
3. Lakukan kembali deklarasi parameter dari motor sesuai dengan nilai yang digunakan dalam tabel.
4. Buat subsystem Motor, dengan memblok sistem motor, klik kanan, create subsystem.
5. Lakukan modifikasi block diagram sesuai dengan gambar di bawah ini sehingga dapat diperoleh
pengendali posisi.
5.5.2 Pengendali loop terbuka (Proporsional)
1. Lakukan modifikasi block diagram sesuai dengan gambar di bawah ini sehingga dapat diperoleh pengendali
posisi.
2. Beri nilai Kp=1 pada command window. Dengan mengambil plot respon vm dan omega terhadap waktu,
perhatikan hal yang terjadi pada percobaan pengendali lingkar terbuka ini.
3. Simpan data dari Scope ke dalam bentuk Array ke dalam Workspace melalui cara berikut ini : klik dua kali
pada scope kemudian pilih toolbar pilih Configuration Properties lalu pilih box Logging, checklist pilihan Log
data into workspace, beri nama variabel misalnya outputResponse (pada scope output) dan controlSig
(pada scope Control Signal), kemudian ubah format data menjadi Array lalu OK. Lalu RUN simulink lagi
hingga muncul di workspace sebagai berikut :
4. Plot controlSig dan outputResponse pada command window.
>> subplot(211)
>> plot(outputResponse(:,1),outputResponse(:,2),'LineWidth',2);
>> hold on
>> plot(outputResponse(:,1),outputResponse(:,3),'r','LineWidth',2);
>> legend('setpoint','output response')
>> xlabel('time');
>> ylabel('output')
>> ylim([0 1.2])
>> grid on
5. Beri nilai Kp=1 pada command window. Dengan mengambil plot respon output dengan input terhadap waktu,
catat nilai steady state, nilai error steady state, waktu ketika steady state, dan nilai rise time. Nilai rise time
merupakan waktu yang dibutuhkan sistem dari 10% sampai 90% dari nilai steady state dimana sistem
dianggap sistem overdamped (Ogata, Katsuhito).
6. Ulangi percobaan diatas untuk dua nilai Kp yang berbeda (1 < Kp < 2).
3.5.3 Pengendali loop-tertutup
3.5.3.1 Pengendali loop-tertutup (Proporsional)
1. Lakukan modifikasi block diagram sesuai dengan gambar di bawah ini.
2. Simpan data dari Scope ke dalam bentuk Array ke dalam Workspace melalui cara berikut ini : klik
dua kali pada scope kemudian pilih toolbar pilih Configuration Properties lalu pilih box Logging,
checklist pilihan Log data into workspace, beri nama variabel misalnya outputResponse (pada
scope output) dan controlSig (pada scope Control Signal), kemudian ubah format data menjadi
Array lalu OK. Lalu RUN simulink lagi hingga muncul di workspace sebagai berikut :
3. Plot controlSig dan outputResponse
>> subplot(211) >> plot(outputResponse(:,1),outputResponse(:,2),'LineWidth',2); >> hold on >> plot(outputResponse(:,1),outputResponse(:,3),'r','LineWidth',2); >> legend('setpoint','output response') >> xlabel('time'); >> ylabel('output') >> ylim([0 1.2]) >> grid on >> subplot(212) >> plot(controlSig(:,1),controlSig(:,2),'-.k','Linewidth',2) >> xlabel('time'); >> ylabel('control signal') >> grid on
4. Untuk nilai Kp = 1, dengan mengambil plot respon vm dan omega terhadap waktu, catat nilai steady
state, nilai error steady state, waktu ketika steady state, dan nilai rise time.
5. Ulangi percobaan di atas dengan dua nilai Kp yang berbeda namun berada di rentang 1 < Kp < 10.
3.5.3.2 Pengendali loop-tertutup (Proporsional dan Derivatif)
1. Lakukan modifikasi block diagram sesuai dengan gambar di bawah ini.
2. Simpan data dari Scope ke dalam bentuk Array ke dalam Workspace melalui cara berikut ini : klik
dua kali pada scope kemudian pilih toolbar pilih Configuration Properties lalu pilih box Logging,
checklist pilihan Log data into workspace, beri nama variabel misalnya outputResponse (pada
scope output) dan controlSig (pada scope Control Signal), kemudian ubah format data menjadi
Array lalu OK. Lalu RUN simulink lagi hingga muncul di workspace sebagai berikut :
3. Plot controlSig dan outputResponse
>> subplot(211) >> plot(outputResponse(:,1),outputResponse(:,2),'LineWidth',2); >> hold on >> plot(outputResponse(:,1),outputResponse(:,3),'r','LineWidth',2); >> legend('setpoint','output response') >> xlabel('time'); >> ylabel('output') >> ylim([0 1.2]) >> grid on >> subplot(212) >> plot(controlSig(:,1),controlSig(:,2),'-.k','Linewidth',2) >> xlabel('time'); >> ylabel('control signal') >> grid on
4. Untuk nilai Kp = 5, Tdev = 0.1, dengan mengambil plot respon vm dan omega terhadap waktu, catat
nilai steady state, nilai error steady state, waktu ketika steady state, dan nilai rise time.
5. Ulangi percobaan di atas dengan dua nilai Tdev yang berbeda namun berada di rentang 0.1 < Tdev
< 0.5.
3.5.4 Perancangan PD
Buatlah rancangan kendali PD dengan spesifikasi sebagai berikut.
β % overshoot sebesar 10%.
β Time settling sebesar 1 detik dengan 5% criterion.
β Kontroler PD (Td = 0.2).
Diketahui persamaan fungsi alih :
%ππ = π
βππ
β1βπ2
(1)
ππ (5% ππππ‘πππππ) =3
πππ
(2)
1. Tentukan nilai koefisien redaman (ΞΆ) dan Οn dari persamaan (1) dan (2).
2. Dengan diagram blok kendali posisi yang ada pada gambar di bawah, masukkan nilai-nilai parameter motor
DC dengan pendekatan orde-1.
3. Dengan memasukkan parameter fungsi transfer, didapatkan persamaan plant motor DC orde-1 pada modul
1 yaitu:
πΊππ(π ) =πΎ
ππ + 1=
0.9
120.5π + 1
(4)
4. Dengan demikian, fungsi transfer loop terbuka dari per. (5) adalah :
πΊππππ πβππππ(π ) =πΎ
ππ + 1.1
π =
0.9
120π 2 + π
5. Untuk mengetahui pengaruh Kp terhadap plant, dibuat root locus pada MatLab dengan mengetik code
berikut:
6. Untuk mengamati pole-pole yang ada pada root locus, digunakan:
>> [r,k] = rlocus(sys)
7. Melalui gambar Root Locus, apakah nilai koefisien redaman dan Οn bisa dicapai dengan kendali
proporsional? Jika bisa, gunakan kendali proporsional untuk memenuhi spesifikasi yang dibutuhkan. Jika
tidak bisa, lanjutkan langkah berikutnya untuk mendesain controller PD!
8. Dengan controller PD, diagram blok kendali posisi menjadi:
9. Dengan kontroler PD, fungsi transfer open loop menjadi:
πΊππ(π ) = πΎπ(0.2π + 1) (0.9
120.5π 2 + π ) = πΎπ
0.18π + 0.9
1.019π 2 + π
(5)
10. Dengan fungsi transfer open loop pada persamaan (5), digambarkan kembali root locusnya:
11. Untuk mengamati pole-pole yang ada pada root locus, digunakan:
>> [r,k] = rlocus(sys)
Maka akan muncul hasil pole-pole yang ada sebagai berikut:
12. Cari letak pole yang sesuai dengan spesifikasi dengan persamaan (6) dibawah ini.
π 1,2 = βπππ Β± πππβ1 β π2 (6)
13. Dari root locus tersebut, cari letak pole yang mendekati spesifikasi, kemudian cari nilai Kp yang dibutuhkan
dengan mengetikkan kode berikut.
14. Lakukan pengujian dengan membuat rangkaian pada Simulink:
Kp = 27.9894 ; Td = 0.2
15. Dari hasil respon pada point 14, berikan komentar anda!
16. Ulangi langkah 1-15 dan rancangan pengendali PD untuk spesifikasi baru seperti yang tertera berikut.
a) %Overshoot sebesar 10%.
b) Settling time sebesar 0.5 detik dengan 5% criterion.
c) Nilai Td dibebaskan.