disain pid dengan menggunakan matlab
TRANSCRIPT
Desain PID Controller Dengan Software MatLab
Hany Ferdinando
Dosen Tetap Fakultas Teknik Jurusan Teknik ElektroUniversitas Kristen Petra
Surabaya
Abstrak:
Perancangan PID Controller selama ini menggunakan metoda trial and error denganperhitungan yang memakan waktu lama. MatLab yang dilengkapi Control Toolbox,membantu perancang untuk melihat respon berbagai kombinasi konstanta dengan variasiinput yang berbeda. Penggunaan MatLab ini sangat membantu perancang dalammenentukan kombinasi di antara P, I, dan D Controller untuk menghasilkan sistempengaturan yang baik dan sederhana.
Abstract:
In PID Controller design, designers used trial and error method to obtain the optimumresult. However, this method needs more time and higher mathematics computation.MatLab with Control Toolbox helps them to see response of the system, in manycombination and input variety. This softeare is very helpful to determine which controllershould choose, to get the simplest and best control system.
1. Pendahuluan
Kontrol otomatis saat ini memberikanperan yang sangat besar dalam kehidupanmanusia, terutama dalam bidang ilmupengetahuan dan industri. Beberapa diantaranya adalah robot, pengaturan suhusebuah tangki, pengaturan kelembabanudara dalam sebuah ruangan, tekananudara dalam suatu pipa tertutup yangdijaga tetap, dll. Penguasaan sistemkontrol baik dalam hal teori maupunpraktek akan menghasilkan suatu sistemdengan respon yang sesuai dengankebutuhan.
Sebuah sistem kontrol yang dirancang,perlu dianalisa terlebih dahulu untuk
mendapatkan gambaran responsistemnya. Gambaran tersebut meliputi :1. Respon sistem terhadap berbagai
macam input (step function, rampfunction, dan impulse function, dll),termasuk jika adanya gangguan dariluar.
2. Kestabilan sistem (metode : rootlocus, frekuensi respon, state space).
3. Respon sistem terhadap berbagaimacam jenis kontroler (P, I, D,dan/atau kombinasinya).
Namun demikian, ada paling tidak 2kendala dalam menganalisa sistem yangakan dibuat, yaitu bagaimanamendapatkan transfer function darisistem tersebut kemudianmenganalisanya secara cepat dan mudah.
Sampai saat ini, para perancang sistemkontrol masih mendapatkan kesulitanuntuk mendapatkan transfer functionsuatu sistem. Namun jika persamaantersebut sudah didapatkan, maka prosesanalisanya tidak terlalu sulit. Sebab saatini sudah dikembangkan software-software yang akan membantu proses diatas. Salah satu software tersebut adalahMatLab dari Mathworks, Inc.
2. PID Controller
PID Controller merupakan salah satujenis pengatur yang banyak digunakan.Selain itu sistem ini mudah digabungkandengan metoda pengaturan yang lainseperti Fuzzy dan Robust. Sehingga akanmenjadi suatu sistem pengatur yangsemakin baik Tulisan ini dibatasi padasistem dengan Unity Feedback System,yang gambarnya sebagai berikut,
Gambar 1Blok diagram untuk Unity Feedback Systems [1]
PID Controller memiliki transfer functionsebagai sebagai berikut :
IPD
IPD
KsKsKs
KsKsKsH
+++++
=23
2
)( (1)
PID Controller sebenarnya terdiri dari 3jenis cara pengaturan yang salingdikombinasikan, yaitu P (Proportional)
Controller, D (Derivative) Controller, danI (Integral) Controller. Masing-masingmemiliki parameter tertentu yang harusdiset untuk dapat beroperasi dengan baik,yang disebut sebagai konstanta. Setiapjenis, memiliki kelebihan dan kekuranganmasing-masing, hal ini dapat dilihat padatabel di bawah ini :
Tabel 1Respon PID Controller Terhadap Perubahan Konstanta[1]
Closed-Loop Response Rise Time Overshoot Settling Time SS ErrorKp Decrease Increase Small change DecreaseKi Decrease Increase Increase EliminateKd Small change Decrease Decrease Small change
Parameter-parameter tersebut, tidakbersifat independen, sehingga pada saatsalah satu nilai konstantanya diubah,maka mungkin sistem tidak akan bereaksiseperti yang diinginkan. Tabel di atashanya dipergunakan sebagai pedomanjika akan melakukan perubahan
konstanta. Untuk merancang suatu PIDController, biasanya dipergunakanmetoda trial & error. Sehinggaperancang harus mencoba kombinasipengatur beserta konstantanya untukmendapatkan hasil terbaik yang palingsederhana.
Controller Plant+
3. Metode Konvensional
Desain sebuah sistem kontrol, dimulaidengan membuat blok diagram sistem.Blok diagram (yang berisi transferfunction) tersebut selanjutnya akandianalisa dengan menggunakan aksipengontrolan yang berbeda. Denganperubahan sinyal input sehinggaperancang dapat melihat respon sistemjika mendapat input sinyal tertentu.Kombinasi antara sinyal input dan jenisaksi pengontrolan ini akan menghasilkanrespon yang berbeda-beda.
Dahulu untuk melihat respon suatu sistemdengan berbagai macam kombinasi sinyalinput dan aksi pengontrolan merupakanhal yang sulit dan membosankan. Adapunprosedur yang harus dilalui adalahsebagai berikut [2]:1. Mendapatkan transfer function sistem
(dalam s-domain) dengan LaplaceTransform.
2. Menentukan jenis aksi pengontrolanbeserta dengan konstantanya.
3. Menggabungkan transfer functionyang sudah didapatkan dengan jenisaksi pengontrolan.
4. Menentukan sinyal input yang akandimasukkan (biasanya fungsi step,fungsi ramp dan pulse) danmenggabungannya ke dalam transferfunction yang baru.
5. Melakukan perhitungan inversLaplace Transform untukmendapatkan fungsi dalam t-domain.
6. Menggambar respon berdasarkanfungsi dalam t-domain.
Untuk melakukan langkah-langkah diatas diperlukan ketelitian yang tinggi danhasil penggambarannya sering kalikurang (tidak) akurat. Selain itu, jikaperancang ingin mengamati respon
sistem terhadap sinyal input yang lain,maka proses-proses tersebut sebagianbesar akan diulang kembali. Hal inibertambah kompleks jika perubahan yangdilakukan tidak terbatas pada sinyalinput, tetapi juga pada jenis aksipengontrolannya.
Sehingga untuk mendapatkan respon dariberbagai macam kombinasi,membutuhkan waktu yang relatif lama.Selain itu, perancang juga melakukanproses perhitungan yang rumit danmembosankan.
4. Metode Simulasi MenggunakanKomputer
Perkembangan teori kontrol juga diikutioleh software pendukungnya. Mulai darisoftware untuk pemrograman sistem,sampai dengan software untuk prosessimulasinya. Salah satu software yangdapat dipergunakan untuk simulasitersebut adalah MatLab dari Mathworks,Inc.
Software ini dilengkapi dengan berbagaitoolbox yang memudahkan pemakaiuntuk melakukan perhitungan-perhitungan tertentu. Bahkan saat inisudah dikembangkan toolbox khususuntuk simulasi yang diberi namaSimulink. [3]
Aplikasi MatLab dalam bidangpengaturan dilengkapi Control Toolbox.Toolbox ini sudah dilengkapi denganberbagai macam fungsi pendukung yangdipergunakan dalam analisa sistemkontrol. Beberapa fungsi pendukung yangsering dipergunakan untuk menganalisasuatu sistem adalah : feedback, step,rlocus, series, dll. Untuk menganalisasuatu sistem, software hanya memerlukan
masukan berupa transfer function yangditulis dalam Laplace Transform (dalams-domain) atau matriks. Untukselanjutnya, pemakai tinggal memilihanalisa yang akan dipergunakan. Tulisanini akan membahas penggunaannyasecara khusus untuk merancang PIDController pada suatu sistem.
Sebagai contoh, suatu sistem kontrolmemiliki transfer function sebagaiberikut :
2010
1)(
2 ++=
sssH (2)
Dengan kriteria perancangan sebagaiberikut :1. memiliki rise time yang cepat2. overshoot sekecil mungkin3. tidak memiliki steady state error.
Dari fungsi di atas, maka parameter-parameter yang dimasukkan berupakoefisien pembilang dan penyebutnya.Biasanya dipergunakan variabel numuntuk pembilang dan den untukpenyebut. Kedua nama variabel tersebuttidak mutlak, jadi penggunaan namavariabel yang lain juga diperbolehkan.Setelah itu komputer sudah siap untukmenganalisa sistem kontrol.
Langkah kedua yang perlu dilakukanadalah memilih jenis input yang akandimasukkan ke dalam sistem. Input inibisa berupa step, pulse, ramp, sinus, dansebagainya. Sebagai dasar analisa akandiperlunakan fungsi step. Sedangpenggunaan jenis input yang lain akandibicarakan pada bagian akhir tulisan ini.
Fungsi dasar yang akan seringdipergunakan adalah step, dengan syntax: step(num,den,t) untuk s-domain atau
step(A,B,C,D) untuk state space. Fungsiini menghasilkan gambar respon sistembila diberi input unit step dalam t-domain.
num = [1];den = [1 10 20];step(num,den)title(‘Open LoopResponse’)
Respon sistem terbuka (open loopresponse) dapat dilihat pada gambar dibawah ini :
Gambar 2Respon Sistem Dengan Unit Step Input
Sistem di atas memiliki steady state erroryang tinggi, yaitu 0,95. Sebab respontertinggi hanya didapatkan padaamplitudo 0,05. Selain itu, sistemtersebut memiliki rise time yang cukupbesar (sekitar 1,5 detik). Hal tersebutjelas tidak menguntungkan.
Untuk menghasilkan sistem kontrol yangbaik, diperlukan sistem yang tertutup(close loop system). Sistem ini memilikifeedback, yang akan membandingkankondisi sesungguhnya dengan seting poinyang diberikan.
5. Proportional Controller
Dari tabel 1 diketahui bahwa P Controllerdapat mengurangi rise time, menambahovershoot, dan mengurangi steady stateerror. Closed-loop transfer functionsistem di atas dengan menggunakan PController adalah sebagai berikut :
)20(10)(
2P
P
Kss
KsH
+++= (3)
Misal, diambil konstanta Kp = 300, maka:
Kp = 300;num = [Kp];den = [1 10 20+Kp];t = 0 : 0.01 : 2;step(num,den)title(‘Closed-Loop StepKp = 300’)
Gambar 3Respon Sistem Tertutup
Menggunakan P Controller
Penambahan variabel t=0:0.01:2dimaksudkan untuk melihat responsistem dari t=0 s/d t=2, dengan step 0,01detik.
Dari gambar 2 di atas, dapat dilihatbahwa penambahan P Controller
mengurangi rise time dan steady stateerror, tetapi menambah overshoot.Namun, overshoot yang terjadi masihterlalu besar. Jika konstanta Kpdiperbesar, maka overshoot yang terjadijuga semakin besar, settling time jugasemakin besar, tetapi rise timenyamenjadi kecil. Kebalikan dari keadaan ituterjadi jika konstanta Kp diperkecil.
6. Proportional-Derivative Controller
Closed-Loop transfer function sistem diatas dengan PD Controller adalah :
)20()10()(
2PD
PD
KsKs
KsKsH
+++++
= (4)
Misal, Kp = 300 dan Kd = 10, maka :
Kp = 300;Kd = 10;num = [Kd Kp];den = [1 10+Kd 20+Kp];t = 0 : 0.01 : 2;step(num,den)title(‘Closed-Loop StepKp=300 Kd=10’)
Respon sistem tergambar seperti dibawah ini.
Gambar 4Respon Sistem Tertutup
Menggunakan PD Controller
Berdasarkan gambar di atas, penggunaanPD Controller dapat mengurangiovershoot dan settling time, tetapi tidakmemberikan dampat apa pun terhadapsteady state error.
7. Proportional-Integral Controller
Closed-Loop transfer function sistem diatas dengan PD Controller adalah :
IP
IP
KsKss
KsKsH
+++++
=)20(10
)(23
(5)
Integral Controller memiliki karakteristikmenguraangi rise time, menambahovershoot dan setling time, sertamenghilangkan steady state error(karakteristik ini tidak dimiliki oleh jenisyang lain).
Misal, Kp = 30 dan Ki = 70, maka :
Kp = 300;Ki = 70;num = [Kp Ki];den = [1 10 20+Kp Ki];t = 0 : 0.01 : 2;step(num,den)title(‘Closed-Loop StepKp=30 Ki=70’)
P dan I Controller memiliki karakteristikyang sama dalam hal rise time danovershoot. Oleh karena itu, nilai Kp harusdikurangi untuk menghindari overshootyang berlebihan. Nilai Ki diambil lebihbesar dari Kp, karena diinginkan untukmeniadakan steady state error. Jika Kp >Ki, maka steady state errornya tidakdapat dihilangkan.
Gambar di bawah ini memperlihatkanrespon sistem dengan PI Controller
Gambar 5Respon Sistem Tertutup
Menggunakan PI Controller
Dari gambar di atas terlihat bahwa risetime sistem menurun, dengan overshootyang kecil, serta steady state errornyadapat dihilangkan.
8. Proportional-Integral-DerivativeController
Bagian akhir dari simulasi ini adalah PIDController, yang memiliki transferfunction untuk sistem di atas adalah :
IPD
IPD
KsKsKs
KsKsK
+++++++
)20()10( 23
2
(6)
Kp = 350;Ki = 300;Kd = 50;num = [Kp Ki Kd];den = [1 10+kd 20+KpKi];t = 0 : 0.01 : 2;step(num,den)title(‘Closed-Loop StepKp=350 Ki=300 Kd=50’)
Respon sistem tergambar di bawah ini
Gambar 6Respon Sistem Tertutup
Menggunakan PID Controller
Dari gambar di atas terlihat bahwakriteria sistem yang diinginkan sudahterpenuhi, yaitu tidak memilikiovershoot, rise time yang cepat, dan tidakmemiliki steady state error.
Nilai-nilai konstanta yang terdapat padatulisan ini diperoleh dari percobaan (trialand error). Sehingga perancang yangberbeda akan mendapatkan nilai yangberlainan untuk memenuhi kriteria diatas. Hal itu terjadi karena perubahanpada salah satu konstanta akanberpengaruh pada konstanta yang lain.Artinya tidak akan didapatkan hasilsesuai dengan tabel 1. Tabel tersebuthanya dipergunakan sebagai pedoman.
Berikut ini beberapa tips yang dapatdipergunakan untuk mendapatkan responyang diinginkan :1. Dapatkan respon sistem terbuka
sistem (open-loop) untuk menentukanbagian mana yang harus dieprbaiki(rise time, settling time, overshoot,steady state error).
2. Tambahkan P Controller untukmemperbaiki rise time.
3. Tambahkan D Controller untukmemperbaiki overshoot.
4. Tambahkan I Controller untukmenghilangkan steady state error.
5. Kombinasikan konstanta yang adauntuk mendapatkan respon yangdiinginkan.
Dalam mengimplementasikan sistemkontrol, sebenarnya tidak perlumenggunakan PID Controller. Jika sistemsudah memberikan responyang cukupbaik hanya dengan PI Controller, makatidak perlu menambahkan D Controllerke dalamnya. Sehingga sistem menjadilebih sederhana (kombinasi yang mainbanyak membuat sistem menjadi makinkompleks)
Analisa pada contoh di atas, dilakukandengan input unit step. Apabiladiinginkan analisa dengan input yangberbeda, maka harus dilakukanmodifikasi transfer function.
Untuk menganalisa sistem dengan inputimpulse function, maka transfer functiondikalikan dengan faktor s. Demikian jugauntuk input ramp function, perludikalikan dengan faktor 1/s.
9. Kesimpulan
Merancang suatu PID Controller memangtidak mudah, sebab penentuankonstantanya dilakukan secara trial anderror. Selain itu perubahan salah satukonstanta akan berpengaruh terhadapparameter yang lain. Namun demikian,kesulitan tersebut sudah sedikit teratasidengan bantuan komputer. Sebab respondapat langsung dilihat tanpa melakukan
perhitungan yang rumit dan memakanwaktu panjang.
Penggunaan MatLab tidak terbatas padaperancangan PID Controller saja,melainkan ada berbagai macam analisasistem kontrol seperti Bode Diagram,analisa kestabilan Nyquist, Root Locus,State Space, dll. Fungsi-fungsi untukkeperluan di atas sudah tersedia di dalamControl Toolbox. Jika tidak tersedia,pemakai dapat membuat m-file yangsesuai dengan kebutuhan.
Kepustakaan :
1. Messner, William and Dawn Tilbury.Control Tutorials for MatLaband Simulink. A Web BasedApproach. Addisson Wesley,Inc. 1999.
2. Ogata, Katsuhiko. Modern ControlEngineering. 3rd ed. PrenticeHall International. 1997
3. http://www.mathworks.com
4. Ogata, Katsuhiko. Solving ControlEngineering Problems withMatLab. Englewood Cliffs,New Jersey : Prentice HallInc. 1994
5. _______. MatLab High PerformanceNumeric Computation andVisualization Software. TheMathworks, Inc. 1992