disain pid dengan menggunakan matlab

8
Desain PID Controller Dengan Software MatLab Hany Ferdinando Dosen Tetap Fakultas Teknik Jurusan Teknik Elektro Universitas Kristen Petra Surabaya Abstrak: Perancangan PID Controller selama ini menggunakan metoda trial and error dengan perhitungan yang memakan waktu lama. MatLab yang dilengkapi Control Toolbox, membantu perancang untuk melihat respon berbagai kombinasi konstanta dengan variasi input yang berbeda. Penggunaan MatLab ini sangat membantu perancang dalam menentukan kombinasi di antara P, I, dan D Controller untuk menghasilkan sistem pengaturan yang baik dan sederhana. Abstract: In PID Controller design, designers used trial and error method to obtain the optimum result. However, this method needs more time and higher mathematics computation. MatLab with Control Toolbox helps them to see response of the system, in many combination and input variety. This softeare is very helpful to determine which controller should choose, to get the simplest and best control system. 1. Pendahuluan Kontrol otomatis saat ini memberikan peran yang sangat besar dalam kehidupan manusia, terutama dalam bidang ilmu pengetahuan dan industri. Beberapa di antaranya adalah robot, pengaturan suhu sebuah tangki, pengaturan kelembaban udara dalam sebuah ruangan, tekanan udara dalam suatu pipa tertutup yang dijaga tetap, dll. Penguasaan sistem kontrol baik dalam hal teori maupun praktek akan menghasilkan suatu sistem dengan respon yang sesuai dengan kebutuhan. Sebuah sistem kontrol yang dirancang, perlu dianalisa terlebih dahulu untuk mendapatkan gambaran respon sistemnya. Gambaran tersebut meliputi : 1. Respon sistem terhadap berbagai macam input (step function, ramp function, dan impulse function, dll), termasuk jika adanya gangguan dari luar. 2. Kestabilan sistem (metode : root locus, frekuensi respon, state space). 3. Respon sistem terhadap berbagai macam jenis kontroler (P, I, D, dan/atau kombinasinya). Namun demikian, ada paling tidak 2 kendala dalam menganalisa sistem yang akan dibuat, yaitu bagaimana mendapatkan transfer function dari sistem tersebut kemudian menganalisanya secara cepat dan mudah.

Upload: taufik-hidayat-soi

Post on 02-Jan-2016

152 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Disain PID Dengan Menggunakan Matlab

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.

Page 2: Disain PID Dengan Menggunakan Matlab

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+

Page 3: Disain PID Dengan Menggunakan Matlab

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

Page 4: Disain PID Dengan Menggunakan Matlab

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.

Page 5: Disain PID Dengan Menggunakan Matlab

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

Page 6: Disain PID Dengan Menggunakan Matlab

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’)

Page 7: Disain PID Dengan Menggunakan Matlab

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

Page 8: Disain PID Dengan Menggunakan Matlab

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