PERANCANGAN PENGENDALI PID DIGITAL DAN IMPLEMENTASINYA MENGGUNAKAN FPGA
TESIS Karya tulis sebagai salah satu syarat untuk memperoleh gelar Magister dari Institut Teknologi Bandung
Oleh
DEDI TRIYANTO NIM : 23205043 Program Studi Teknik Elektro
SEKOLAH TEKNIK ELEKTRO DAN INFORMATIKA INSTITUT TEKNOLOGI BANDUNG 2008
PERANCANGAN PENGENDALI PID DIGITAL DAN IMPLEMENTASINYA MENGGUNAKAN FPGA
Oleh:
DEDI TRIYANTO NIM : 23205043
Bandung, 26 September 2008 Menyetujui, Pembimbing I
Ir. Eniman Yunus Syamsudin, Msc, Ph.D NIP. 132472352
ABSTRAK PERANCANGAN PENGENDALI PID DIGITAL DAN IMPLEMENTASINYA MENGGUNAKAN FPGA Oleh
DEDI TRIYANTO NIM : 23205043 PROGRAM STUDI TEKNIK ELEKTRO
Pengendali otomatis yang umum digunakan di industri adalah pengendali proporsional (P), pengendali proporsional plus integral (PI), pengendali proporsional plus derivatif (PD) dan pengendali proporsional plus integral plus derivatif (PID). Masing-masing pengendali tersebut hanya optimum ketika digunakan untuk kasuskasus tertentu. Dalam penelitian ini dirancang suatu pengendali digital yang fungsinya dapat diubah-ubah ke setiap fungsi dari pengendali otomatis tersebut. Hasil perancangan pengendali digital diimplementasikan pada Field Programmable Gate Array (FPGA). Proses perancangan dimulai dengan mendesain modul-modul penyusun perangkat pengendali digital dengan didasarkan pada persamaan umum pengendali P, PI, PD dan PID. Perangkat desain yang digunakan adalah Verilog Hardware Description Language (Verilog HDL). Tahap berikutnya dilakukan proses simulasi berupa simulasi fungsional dan simulasi timing menggunakan Quartus II 6.0. Proses simulasi diawali dengan simulasi fungsional untuk modul-modul pada sistem kemudian dilanjutkan dengan simulasi pada sistem pengendali digital. Hasil dari simulasi timing menunjukkan bahwa frekuensi maksimum yang dapat digunakan pada perangkat pengendali digital adalah 4,73 MHz atau pada periode minimum 211,6 ns. Hasil perancangan pengendali digital kemudian diimplementasikan pada Altera UP2 Education Boad atau tepatnya pada chip EPF10K70RC240-4. Berdasarkan hasil implementasi diperoleh total Logic Cells (LC) yang digunakan adalah 1.424/3.744 (38 %). In-circuit verification dilakukan untuk menguji implementasi pengendali digital pada FPGA. Pada proses verifikasi, frekuensi yang digunakan pada perangkat pengendali digital adalah 3,150 MHz atau dengan periode 317,5 ns. Sedangkan frekuensi sampling yang dapat digunakan adalah 8 Hz (T = 0,125 s), 4 Hz (T = 0,25 s), dan 2 Hz (T = 0,5 s). Verifikasi dilakukan pada setiap bentuk pengendali P, PI, PD dan PID. Pengujian untuk setiap bentuk pengendali dan waktu sampling yang berbeda menghasilkan tingkat kesalahan rata-rata maksimum adalah 9,59 %. Hasil dari proses verifikasi menunjukkan bahwa keluaran dari pengendali digital yaitu control signal memiliki pola yang sesuai dengan pola sinyal yang diinginkan. Ini mengindikasikan bahwa pengendali digital telah berfungsi dengan baik. Hasil i
pengujian juga memperlihatkan pengaruh waktu sampling, yaitu semakin besar waktu sampling yang digunakan maka sistem cenderung untuk berosilasi. Kata kunci : pengendali digital, pengendali P, pengendali PI, pengendali PD, pengendali PID, FPGA, in-circuit verification.
ii
ABSTRACT DIGITAL PID CONTROLLER DESIGN AND ITS IMPLEMENTATION USING FPGA By DEDI TRIYANTO NIM : 23205043 ELECTRICAL ENGINEERING STUDY PROGRAM Abstract – Automatic controller used generally in industry are proportional controller (P), proportional integral controller (PI), proportional derivative controller (PD) and proportional integral derivative controller (PID). Each the controller optimum only when used for the case of certain. In this research, digital controller designed which its function can changed into every function from the automatic controller. Result of digital controller design has been implemented on Field Programmable Gate Array (FPGA). Design process is started by designing modules of digital controller peripheral based on general equation of controller P, PI, PD and PID. Design peripheral which used is Verilog Hardware Description Language (Verilog HDL). Next step is simulation process in form of functional simulation and timing simulation using the Quartus II 6.0. Simulation process started with functional simulation for modules in system then continued with digital controller system simulation. Result from timing simulation indicate that the maximum frequency which can be used on digital controller is 4.73 MHz or on minimum period 211.6 ns. Then, result of digital controller design is implemented on Altera UP2 Education Board or precisely on EPF10K70RC240-4 chip. Based on implementation task result, total of Logic Cells (LC) used is 1.424 / 3.744 (38 %). In-circuit Verification is process to test the digital controller implementation on FPGA. At verification process, frequency used on digital controller is 3.150 MHZ or with period 317.5 ns. While sampling frequency which can be used is 8 Hz (T = 0.125 s), 4 Hz (T = 0.25 s), and 2 Hz (T = 0.5 s). Verification is executed in each form of controller P, PI, PD and PID. Verification to each form of controller and different sampling time yield the maximum mean error level is 9.59 %. Results from verification process indicate that the output from digital controller that is control signal own the pattern matching with wanted pattern signal. This is indication that digital controller have functioned better. Result of examination also show the influence of sampling time, that is increase of sampling time used hence system tend to oscillation.
iii
Index term : Digital controller, P controller, PI controller, PD controller, PID controller, FPGA, in-circuit verification.
iv
PEDOMAN PENGGUNAAN BUKU TESIS
Tesis S2 yang tidak dipublikasikan terdaftar dan tersedia di Perpustakaan Institut Teknologi Bandung, dan terbuka untuk umum dengan ketentuan bahwa hak cipta ada pada pengarang dengan mengikuti aturan HaKI yang berlaku di Institut Teknologi Bandung. Referensi kepustakaan diperkenankan dicatat, tetapi pengutipan atau peringkasan hanya dapat dilakukan seizin pengarang dan harus disertai dengan kebiasaan ilmiah untuk menyebutkan sumbernya.
Memperbanyak atau menerbitkan sebagian atau seluruh tesis haruslah seizin Direktur Program Pascasarjana, Institut Teknologi Bandung.
v
Dipersembahkan untuk kedua orangtua dan kedua kakak ku tercinta serta keponakan ku tersayang.
KATA PENGANTAR
Segala puji bagi Allah S.W.T. yang Maha Penghasih dan Maha Penyayang karena hanya dengan rahmat dan hidayah-Nya, penulis dapat menyelesaikan tesis ini.
Buku ini merupakan laporan penelitian tesis yang menjadi salah satu syarat untuk meraih gelar Magister Teknik dari Sekolah Teknik Elektro dan Informatika, Institut Teknologi Bandung.
Penulis telah mendapatkan banyak bantuan secara langsung maupun tidak langsung berupa bimbingan, saran-saran, dan motivasi dari berbagai pihak sehingga tesis ini dapat diselesaikan. Oleh karena itu, dengan segala ketulusan hati penulis mengucapkan terima kasih yang sebesar-besarnya kepada: 1. Ir. Eniman Yunus Syamsudin, Msc, PhD, selaku pembimbing I tesis atas segala bantuan, bimbingan dan dorongan selama masa kuliah dan pelaksanaan tesis. 2. Dr. Kuspriyanto selaku dosen wali. 3. Kepada kedua orang tua dan kedua kakak yang telah memberikan dorongan moral dan bantuan materi yang tidak ternilai. 4. Pak Ichwahyudi, Pak Asep, Pak Iqbal, Pak Eko, Mas Ketut, Andri, Sutisna dan teman-teman kuliah yang saling membantu dan saling mengisi. 5. Semua pihak selain yang tersebut di atas, yang tidak mungkin disebutkan satu persatu. Semoga Allah SWT membalas budi baik Bapak, Ibu, dan rekan-rekan sekalian.
Penulis sadar laporan ini memiliki kekurangan yang diakibatkan ketidaksegajaan karena keterbatasan pengetahuan penulis dan semoga tulisan ini dapat bermanfaat bagi kita semua.
Bandung, September 2008
Penulis vii
DAFTAR ISI ............................................................................................. Halaman ABSTRAK
.......................................................................................................... i
ABSTRACT ........................................................................................................ iii PEDOMAN PENGGUNAAN BUKU TESIS......................................................... v KATA PENGANTAR........................................................................................... vii DAFTAR ISI ...................................................................................................... viii DAFTAR LAMPIRAN ........................................................................................... x DAFTAR GAMBAR.............................................................................................. xi DAFTAR TABEL ................................................................................................ xiii BAB I. PENDAHULUAN ...................................................................................... 1 I.1 Latar Belakang ............................................................................................. 1 I.2 Deskripsi Masalah ........................................................................................ 2 I.3 Batasan Masalah........................................................................................... 2 I.4 Tujuan Penelitian ........................................................................................ 2 I.5 Spesifikasi Perancangan ............................................................................... 3 I.6 Sistematika Penulisan................................................................................... 3 BAB II. PENGENDALI DIGITAL ........................................................................ 5 II.1 Teori Pengendali PID ................................................................................. 5 II.2 Sistem Kendali Digital ............................................................................... 9 II.3 Diskritisasi Persamaan Pengendali PID ................................................... 10 II.4 Realisasi Pengendali Digital pada Perangkat Keras ................................ 13 BAB III. PERANCANGAN PENGENDALI DIGITAL PADA FPGA .............. 16 III.1 Representasi Data .................................................................................... 16 III.2 Perancangan Pengendali Digital .............................................................. 18 III.3 Hasil Simulasi ......................................................................................... 23 III.3.1 Simulasi Fungsional .......................................................................... 23 III.3.2 Simulasi Timing ................................................................................. 33 BAB IV. IMPLEMENTASI DAN VERIFIKASI PADA FPGA .......................... 36 IV.1 Implementasi pada FPGA ....................................................................... 36
viii
.............................................................................................Halaman IV.1.1 Verifikasi pada FPGA .......................................................................... 37 KESIMPULAN DAN SARAN ............................................................................ 46 DAFTAR PUSTAKA............................................................................................ 47
ix
DAFTAR LAMPIRAN
.............................................................................................Halaman Lampiran A : SOURCE CODE VERILOG-HDL SISTEM PENGENDALI DIGITAL .......................................................... A-1 Lampiran B : SOURCE CODE VERILOG-HDL TOP MODULE PROSES IN-CIRCUIT VERIFICATION SISTEM PENGENDALI DIGITAL .................................................................................... B-1 Lampiran C : HASIL VERIFIKASI PADA PENGENDALI DIGITAL ............ C-1
x
DAFTAR GAMBAR
.............................................................................................Halaman Gambar 2.1 Sistem kendali lup tertutup .................................................................. 5 Gambar 2.2 Diagram blok pengendali proporsional . ............................................. 6 Gambar 2.3 Diagram blok pengendali proporsional plus integral . ........................ 7 Gambar 2.4 Diagram blok pengendali proporsional plus derivatif ......................... 8 Gambar 2.5 Diagram blok pengendali proporsional plus integral plus derivatif .... 9 Gambar 2.6 Diagram blok sistem kendali digital .................................................... 9 Gambar 2.7 Model Direct Programming dari pengendali digital ........................ 14 Gambar 2.8 Model Standard Programming ......................................................... 14 Gambar 3.1 Diagram blok sistem dengan pengendali digital................................ 17 Gambar 3.2 Arsitektur pengendali digital ............................................................. 18 Gambar 3.3 Modul Proportional Gain .................................................................. 19 Gambar 3.4 Modul Integral Gain .......................................................................... 19 Gambar 3.5 Modul Derivative Gain ...................................................................... 20 Gambar 3.6 Modul Konstanta Pengendali Digital ............................................... 20 Gambar 3.7 Modul Algoritma PID Digital............................................................ 21 Gambar 3.8 Algoritma untuk mengatur bentuk pengendali .................................. 22 Gambar 3.9 Hasil simulasi fungsional pada modul Proportional Gain, modul Integral Gain, modul Derivative Gain ............................... 24 Gambar 3.10 Hasil simulasi fungsional untuk modul Konstanta Pengendali .......... Digital untuk 4 tipe pengendali .................................................... 25 Gambar 3.11 Hasil simulasi fungsional untuk modul Controller ......................... 25 Gambar 3.12 Hasil simulasi untuk modul Algoritma PID Digital ........................ 26 Gambar 3.13 Hasil simulasi pada pengendali digital dengan bentuk pengendali P menggunakan waveform Quartus II ......................... 27 Gambar 3.14 Hasil simulasi pengendali P yang di plot ke dalam grafik .............. 27 Gambar 3.15 Perbandingan hasil simulasi pengendali P menggunakan MATLAB ...................................................................................... 28 Gambar 3.16 Hasil simulasi pada pengendali digital dengan bentuk pengendali PI menggunakan waveform Quartus II ....................... 28 Gambar 3.17 Hasil simulasi pengendali PI yang di plot ke dalam grafik ............. 29
xi
.............................................................................................Halaman Gambar 3.18 Perbandingan hasil simulasi pengendali PI menggunakan MATLAB ...................................................................................... 29 Gambar 3.19 Hasil simulasi pada pengendali digital dengan bentuk pengendali PD menggunakan waveform Quartus II ........................................ 30 Gambar 3.20 Hasil simulasi pengendali PD yang di plot ke dalam grafik............ 30 Gambar 3.21 Perbandingan hasil simulasi pengendali PD menggunakan MATLAB ...................................................................................... 31 Gambar 3.22 Hasil simulasi pada pengendali digital dengan bentuk pengendali PID menggunakan waveform Quartus II..................... 31 Gambar 3.23 Hasil simulasi pengendali PID yang di plot ke dalam grafik .......... 32 Gambar 3.24 Perbandingan hasil simulasi pengendali PID menggunakan MATLAB ...................................................................................... 32 Gambar 3.25 Hasil simulasi timing perangkat pengendali digital menggunakan frekuensi 4,73 MHz (periode = 211,6 ns)...................................... 33 Gambar 3.26 Grafik dari hasil simulasi timing ..................................................... 34 Gambar 3.27 Hasil simulasi timing perangkat pengendali digital menggunakan frekuensi 5 MHz (Periode = 200 ns) ............................................. 34 Gambar 3.28 Hasil simulasi timing perangkat pengendali digital menggunakan frekuensi 4,55 MHz (Periode = 220 ns) ........................................ 35 Gambar 4.1 Altera UP2 Education Board ............................................................. 37 Gambar 4.2 Konfigurasi yang digunakan pada proses verifikasi sirkuit............... 39 Gambar 4.3 Grafik perbandingan data hasil verifikasi sirkuit untuk pengendali P dengan hasil simulasi pada MATLAB .................... 40 Gambar 4.4 Grafik perbandingan data hasil verifikasi sirkuit untuk pengendali PI dengan hasil simulasi pada MATLAB ................... 41 Gambar 4.5 Grafik perbandingan data hasil verifikasi sirkuit untuk pengendali PD dengan hasil simulasi pada MATLAB.................. 42 Gambar 4.6 Grafik perbandingan data hasil verifikasi sirkuit untuk pengendali PID dengan hasil simulasi pada MATLAB ................ 43
xii
DAFTAR TABEL .............................................................................................Halaman Tabel 2.1 Matriks konstanta dari 4 bentuk pengendali.......................................... 15 Tabel 4.1 Penggunaan recources pada FPGA untuk implementasi pengendali digital ............................................................................... 36 Tabel 4.2 Hasil verifikasi untuk Pengendali P . .................................................... 40 Tabel 4.3 Hasil verifikasi untuk Pengendali PI .................................................... 41 Tabel 4.4 Hasil verifikasi untuk Pengendali PD .................................................. 42 Tabel 4.5 Hasil verifikasi untuk Pengendali PID .................................................. 43 Tabel 4.6 Hasil perhitungan nilai kesalahan rata-rata ........................................... 44
xiii
14