SISTEM KENDALI PID PADA MODUL KENDALI LEVEL AIR LAPORAN
disusun untuk memenuhi salah satu syarat untuk menyelesaikan tugas mata kuliah Sistem Kendali Digital Semester 7
Oleh : Juwita Sugitriana NIM
: 111354011
Kelas
: 4A-EK
Dosen Pembimbing : Feriyonika, S.T., M.Sc. Eng.
PROGRAM STUDI D4 TEKNIK ELEKTRONIKA JURUSAN TEKNIK ELEKTRO POLITEKNIK NEGERI BANDUNG 2015
ABSTRAK Juwita Sugitriana : Sistem Kendali PID pada Modul Kendali Level Air. Laporan Akhir: Program Studi D4 Teknik Elektronika. Politeknik Negeri Bandung, 2015.
Suatu sistem yang dirancang tidak selalu menghasilkan respon/output yang sesuai dengan perancangan. Dibutuhkan suatu pengendalian (pengontrolan) untuk mengurangi error yang didapat agar sistem bisa stabil/ sesuai dengan hasil output yang diharapkan. Sistem kendali PID merupakan salah satu sistem pengendalian tersebut. Metoda Kendali PID di rancang menggunakan software menggunakan software Matlab Matlab 2013 berupa Simulink dan script yang dihubungkan ke modul Arduino UNO agar perancangan tunning PID dapat dihubungkan ke modull sistem kendali air. Terdapat dua metode yang digunakan untuk mendapatkan respon dengan rise time, overshoot, steady state error dan settling dan settling time yang time yang kecil yaitu menggunakan metoda Ziegler Nichols tipe 1 dan Ziegler Nichols tipe 2. Hasil manual tunning PID Ziegler Nichols 2 lebih sesuai apabila diaplikasikan pada modul sistem kendali level air dibandingkan tipe 1. Metode Ziegler Nichols tipe 2 ini sesuai untuk diterapkan pada jenis sistem seperti kendali level air ini karena tidak membutuhkan waktu yang lama untuk mendapatkan respon yang digunakan untuk mencari parameter PID. Kendali level air dapat diaplikasikan pada industri-industri seperti tangki pengisian minyak, bendungan, pengisian botol/ kaleng minuman, dan sebagainya. Kendali level air juga dapat diaplikasikan pada sistem pendeteksi banjir, sistem pendeteksi air pasang-surut air laut, pompa tangki air di rumah-rumah dan sebagainya.
Kata Kunci : Kendali PID, Level Air, Ziegler Nichols, Matlab, Arduino UNO
i
ABSTRACT Juwita Sugitriana : PID Control C ontrol System S ystem on Water Level Control Module. Module. Laporan Akhir: Electronics Engineering Departement . State Polytechnic of Bandung , 2015.
The output is not always same with the design. design. Need a controller to make an stable output. PID Controller is a controller system. PID Controller designed by Matlab 2013 software. Simulink and script on matlab is connected with Arduino UNO module to help design of PID tunning on water level module. There is two method to decrease value of rise time, overshoot, steadystate error and settling of response, that method is Ziegler Nichols type 1 methode and Ziegler Ziegler Nichols type 2 method. Water level controller can be applicated to industries like oil filling tank, dam, bottle or glass of drink, etc. Water level Controller can be applicated to flooding detection system, water tank pump, etc.
: : PID Controller , Water L evel , Ziegler Nichols, Matlab, Arduino UNO Key Wor Wor d vel
ii
KATA PENGANTAR Puji dan syukur penulis panjatkan kehadirat ALLAH SWT karena atas rahmat dan bimbingan-Nya laporan akhir dengan judul SISTEM KENDALI PID PADA “
MODUL KENDALI LEVEL AIR dapat diselesaikan. Laporan ini dibuat untuk ”
mata kuliah Sistem Kendali Digital, program studi D4 Teknik Elektronika, Jurusan Teknik Elektro, Politeknik Negeri Bandung. Selama pelaksanaan pembuatan laporan, penulis banyak mendapatkan bantuan dan bimbingan dari berbagai pihak. Oleh karena itu penulis mengucapkan banyak terima kasih kepada pihak - pihak berikut : 1. Orang tua dan keluarga yang telah memberikan dukungan moril maupun materil. 2. Bapak Feriyonika, Bapak Feriyonika, S.T., M.Sc. Eng. selaku dosen pembimbing yang memberikan nasihat dan bimbingan yang sangat bermanfaat kepada penulis dalam menyelesaikan laporan akhir ini. 3. Rekan-rekan EC-D4 2011 yang selalu memberikan dukungan dan semangat kalian kepada penulis. 4. Seluruh pihak yang membantu dan mendukung yang tidak dapat disebutkan satu persatu. Penulis menyadari dalam penyusunan laporan akhir ini masih jauh dari sempurna, masih banyak kekurangan yang didasari keterbatasan penulis sendiri, oleh karena itu kritik atau saran sangat diharapkan untuk mendukung penulisan laporan yang lebih baik. Akhir kata penulis berharap, laporan ini dapat memberikan manfaat khususnya untuk penulis sendiri dan umumnya untuk pembaca guna dapat membuat tulisan yang lebih baik lagi. Bandung, Januari 2015
Penulis
iii
DAFTAR ISI ABSTRAK ....................................................................................... .............................. i ABSTRACT .............................................................................................. .................... ii KATA PENGANTAR ................................................................................................. iii DAFTAR ISI ................................................ ................................................................ iv DAFTAR TABEL .................................................. ...................................................... vi DAFTAR GAMBAR ................................... ............................................................... vii BAB I PENDAHULUAN ............................................... .............................................. 1 1.1.
Latar Belakang ................................................. .............................................. 1
1.2.
Rumusan Masalah .......................................................................................... 2
1.3.
Tujuan ............................................................................................................. 2
1.4.
Sistematika Penulisan ............................................... ...................................... 3
BAB II DASAR TEORI ............................................................................................... 4 2.1.
Sistem Kendali PID .................................................. ...................................... 4
2.2.
Metode Ziegler Nichols .................................................................................. 6
2.2.1.
Metode Ziegler Nichols Tipe 1 (open loop)............................................ 6
2.2.2.
Metode Ziegler Nichols Tipe 2 (close loop) ........................................... 8
2.3.
Matlab 2013 .................................................................................................... 8
2.4.
Arduino UNO ................................................... ............................................ 10
BAB III METODOLOGI PENELITIAN................................ .................................... 11 3.1.
Diagram Blok Sistem ............................................... .................................... 11
3.2.
Alat dan Modul yang digunakan ................................................ .................. 12
3.3.
Perancangan dan Pengujian Perangkat Keras (Hardware) .......................... 12
iv
3.3.1.
Modul Catu Daya (Power Supply, PS-5) .............................................. 12
3.3.2.
Modul Setpoint (RVG-5) ...................................................................... 13
3.3.3.
Modul PID (PID-5) ............................................................................... 14
3.3.4.
Modul Penguat Daya (PA-5) ............................................... .................. 14
3.3.5.
Modul Sistem Kendali Level Air (TWP-1) ........................................... 15
3.3.6.
Modul Output Sistem Kendali Level Air (DPT-5) ............................... 16
3.4.
Perancangan Perangkat Lunak (Software) ................................. .................. 18
3.3.7.
Sistem Kendali PID Ziegler Nichols Tipe 1 ......................................... 18
3.3.8.
Sistem Kendali PID Ziegler Nichols Tipe 2 ......................................... 19
3.3.9.
Script Matlab dan PID-Arduino ............................................................ 19
BAB IV DATA PENGUJIAN DAN ANALISA ........................................................ 20 4.1.
Sistem Kendali Ziegler Nichols Tipe 1 ................................................ ........ 20
4.2.
Sistem Kendali Ziegler Nichols Tipe 2 ................................................ ........ 23
4.3.
Script Matlab ................................................................................................ 26
4.4.
PID-Arduino ................................................................................................. 28
BAB V SIMPULAN DAN SARAN ........................................................................... 31 5.1.
Simpulan .................................................. ..................................................... 31
5.2.
Saran .............................................. ............................................................... 31
DAFTAR PUSTAKA .............................................................. ................................... 32
v
DAFTAR TABEL Tabel 2. 1. Respon Kendali PID terhadap Perubahan Konstanta Parameter ................ 4 Tabel 3. 1. Parameter Output seharusnya (0,2 V/ mbar) ............................................ 16 Tabel 3. 2. Hasil Pengujian (0,2 V/ mbar) ................................................ .................. 17 Tabel 3. 3. Parameter Output seharusnya (0,6 V/ mbar) ............................................ 17 Tabel 3. 4. Hasil Pengujian (0,6 V/ mbar) ................................................ .................. 17
vi
DAFTAR GAMBAR Gambar 2. 1. Kurva S. ............................................................................. .................... 6 Gambar 2. 2. Penentuan parameter L dan T ................................................................ 7 Gambar 2. 3. Blok Diagram Sistem Loop Tertutup ....................... ............................. 8 Gambar 2. 4. Matlab 2013 ................................................................................. .......... 9 Gambar 2. 5. Konfigurasi Arduino UNO .................................................................. 10 Gambar 3. 1. Diagram Blok Sistem Kendali Level Air..................................... ........ 11 Gambar 3. 2. Modul Catu Daya (Power Supply) ...................................................... 13 Gambar 3. 3. Modul Setpoint (RVG-5). .................................................. .................. 13 Gambar 3. 4. Modul PID-5 ........................................................................................ 14 Gambar 3. 5. Modul Power Amplifier ....................................................................... 15 Gambar 3. 6. Modul TWP-1 .................................................. .................................... 15 Gambar 3. 7. Modul DPT-5 ................................................... .................................... 16 Gambar 3. 8. Modul Arduino UNO ................................................ ........................... 18 Gambar 3. 9. Model Simulink untuk mencari parameter PID ................................... 18 Gambar 3. 10. Model Simulink untuk mencari parameter Pcr dan Kcr .................... 19 Gambar 4. 1. Hasil respon modul Kendali level air selama 10 menit ...................... 20 Gambar 4. 2. Hasil respon untuk menentukan nilai L dan T ..................................... 21 Gambar 4. 3. Modul Level Kendali Air..................................................................... 22 Gambar 4. 4. Hasil Respon PID dengan metode Ziegler-Nichols 1 .......................... 23 Gambar 4. 5. Hasil respon modul Kendali level air yang berosilasi ......................... 24 Gambar 4. 6. Hasil respon untuk menentukan nilai Pcr ............................................ 24 Gambar 4. 7. Modul Kendali Level Air close loop ................................................... 25 Gambar 4. 8. Hasil Respon PID dengan metode Ziegler-Nichols 2 .......................... 26 Gambar 4. 9. Hasil Respon Sistem Level Air menggunakan Script pada Matlab ..... 28 Gambar 4. 10. Hasil respon sistem menggunakan Program Arduino ....................... 30
vii
BAB I PENDAHULUAN
1.1. Latar Belakang
Sistem kendali level air merupakan salah satu jenis pengendalian yang banyak digunakan oleh industri-industri. Kendali level air merupakan dasar pengendalian sistem yang menggunakan sensor ketinggian level air. Kendali level air dapat diaplikasikan pada industri-industri seperti tangki pengisian minyak, bendungan, pengisian botol/kaleng minuman, dan sebagainya. Kendali level air juga dapat diaplikasikan pada sistem pendeteksi banjir, sistem pendeteksi air pasang-surut air laut, pompa tangki air di rumah-rumah dan sebagainya. Proses pengendalian yang banyak digunakan oleh kebanyakan industri yaitu kendali
konvensional
seperti
PID
karena
kesederhanaan
struktur
serta
kemudahan dalam melakukan tuning parameter kontrolnya. Penentuan parameter yang sesuai agar mendapatkan keluaran system yang stabil dapat dilakukan dengan metode tuning PID.
[1]
Perancangan yang dilakukan untuk melakukan proses manual tunning dilakukan menggunakan software Matlab. Matlab dapat digunakan untuk simulasi sebagai alat untuk mempelajari dasar-dasar kendali PID sebelum dihubungkan langsung pada plant. 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.
[2]
Arduino dan MATLAB dapat saling berhubungan melalui komunikasi serial [3]
.
Arduino
UNO
merupakan
mikrokontroler
yang
digunakan
untuk
mengkomunikasikan script dan simulink yang telah dirancang oleh matlab
1
2
sebelumnya, dengan modul kendali level air. Arduino yang telah menerima perintah dari Matlab akan memberikan perintah-perintah terbut pada modul/plant yang dihubungkan dengan Arduino UNO. Pada laporan akhir ini penulis melakukan eksperimen mengenai sistem kendali PID dengan melakukan suatu perancangan/ manual tunning pada modul sistem kendali level air. Manual tunning dilakukan untuk menemukan algoritma PID. Metode yang digunakan untuk mendapatkan parameter PID yaitu dengan menggunakan metode Ziegler Nichols tipe 1 dan tipe2. Setelah parameter parameter PID (Kp, Ti, Td) didapat, selanjutnya nilai dari parameter tersebut di gunakan ke modul PID. Respon sistem akan di analisis dan akan diperbaiki dengan teknik manual tuning. Oleh karena itu, dilakukan percobaan dengan judul “Sistem Kendali PID pada Modul Kendali Level Air”.
1.2. Rumusan Masalah
Berdasarkan latar belakang masalah dan tujuan yang ingin dicapai, berikut merupakan beberapa masalah yang akan dibahas pada laporan ini. 1. Bagaimana respon sistem level air sebelum menggunakan PID. 2. Metode apa yang sesuai untuk diterapkan pada sistem kendali level air. 3. Bagaimana perbandingan hasil respon sistem menggunakan metode PID Ziegler Nichols 1 dan Ziegler Nichols 2.
1.3. Tujuan Tujuan dari percobaan ini adalah melakukan pengujian dan penerapan sistem
kendali PID pada suatu modul sistem kendali level air dengan menggunakan dua metoda yaitu metoda Ziegler Nichols tipe 1 dan 2.
3
1.4. Sistematika Penulisan Makalah ini terdiri atas lima bab. Bab pertama pendahuluan dengan subbab
yaitu latar belakang, rumusan masalah, tujuan, dan sistematika penulisan. Bab kedua landasan teori dengan subbab yaitu sistem kendali PID, metode Ziegler Nichols, Matlab 2013 dan Arduino UNO. Bab ketiga metodologi penelitian dengan subbab yaitu diagram blok sistem, alat dan modul yang digunakan, perancangan dan pengujian perangkat keras (hardware) dan perancangan perangkat lunak ( software). Bab keempat data pengujian dan analisa dengan subbab yaitu sistem kendali Ziegler Nichols tipe 1, sistem kendali Ziegler Nichols tipe 2, script matlab dan PID-Arduino. Bab kelima simpulan dan saran dengan subbab yaitu simpulan dan saran.
BAB II DASAR TEORI
2.1. Sistem Kendali PID Tidak semua sistem yang dirancang dapat menghasilkan respon/output yang
diinginkan atau sesuai dengan perancangan. Dibutuhkan suatu pengendalian untuk mengurangi error yang didapat agar sistem bisa stabil/ sesuai dengan hasil output yang diharapkan. Sistem kendali pada suatu sistem berguna agar hasil respon dapat mengurangi error antara hasil yang didapat dengan hasil yang diinginkan serta mempercepat respon agar bisa secepat mungkin mencapai hasil yang diinginkan (setpoint). PID ( Proportional, Integral, Derivative Controller ) merupakan salah sistem kendali yang banyak digunakan di industry manufaktur. Sistem kendali ini dapat diaplikasikan pada sistem kendali tertutup maupun terbuka. Sistem Kontrol PID merupakan kontroler untuk menentukan presisi suatu sistem instrumentasi dengan karakteristik adanya umpan balik pada sistem tesebut. Sistem kontrol PID terdiri dari tiga buah parameter yaitu kontrol P (Proportional), D (Derivative) dan I (Integral) dimana masing-masing parameter tersebut memiliki kelebihan dan kekurangan, hal ini dapat kita lihat pada tabel berikut:
Tabel 2. 1. Respon Kendali PID terhadap Perubahan Konstanta Parameter
Parameter Rise Time
Overshoot
Settling Time
S-S Error
Kp
Berkurang
Bertambah
Minor Change
Berkurang
Ki
Berkurang
Bertambah
Bertambah
Menghilangkan
Kd
Minor Change
Berkurang
Berkurang
Minor Change
4
5
Berikut merupakan penjelasan mengenai istilah-istilah yang digunakan untuk menentukan parameter-parameter PID: a. Steady state merupakan kondisi sinyal respon suatu sistem telah mencapai keadaan stabil hingga sistem selesai. b. Overshoot merupakan sinyal pada respon yang harganya melebihi harga ketika steady state. Overshoot terjadi ketika sinyal belum mencapai steady state. c. Rise time waktu yang diperlukan untuk mencapai kondisi steady state. d. Settling time merupakan keadaan dimana sinyal akan mencapai/mendekati steady state. e. Error-steady state merupakan keadaan ketika kondisi sinyal respon/sistem sudah atau belum mencapai steady state, namun terdapat error (kesalahan sinyal respon) sehingga kondisi steady state yang seharusnya stabil atau konstan, terdapat perubahan sinyal atau tidak sesuai dengan steady state.
Sistem Kendali PID memiliki transfer Function seperti berikut:
() ......................................... (1) Pengaruh perubahan konstanta parameter-parameter PID sangat berpengaruh pada respon. Adapun penjelasannya sebagai berikut
[4]
:
1. Kontrol Proporsional Penggunaan kontrol P memiliki berbagai keterbatasan karena sifat kontrol yang tidak dinamik ini. Walaupun demikian dalam aplikasiaplikasi dasar yang sederhana kontrol P ini cukup mampu untuk memperbaiki respon transien khususnya rise time dan settling time. 2. Kontrol Integratif Kontrol I dapat memperbaiki sekaligus menghilangkan respon steadystate, namun pemilihan Ki yang tidak tepat dapat menyebabkan respon
6
transien yang tinggi sehingga dapat menyebabkan ketidakstabilan sistem. Pemilihan Ki yang sangat tinggi justru dapat menyebabkan output berosilasi karena menambah orde sistem 3. Kontrol Derivatif Kontrol Derivatif hanya berubah saat ada perubahan error sehingga saat error statis kontrol ini tidak akan bereaksi, hal ini pula yang menyebabkan kontroler Derivative tidak dapat dipakai sendiri. 2.2. Metode Ziegler Nichols Metode Ziegler Nichols merupakan pengembangan dari metoda trial and
error . Metode ini digunakan sebagai point awal untuk memulai manual tunning . Ziegler Nichols ini akan menentukan parameter-parameter PID yang akan digunakan untuk mendapatkan respon yang baik. Metoda ini merupakan metoda tuning PID controller untuk menentukan nilai proportional gain Kp, integral time Ti, dan derivative time Td berdasarkan karakteristik respon transient dari sebuah plant atau sistem
[5]
. Metode Ziegler
terbagi menjadi dua metode yiatu Metode Ziegler Nichols Tipe 1 (open loop) dan Tipe 2 (close loop).
2.2.1. Metode Ziegler Nichols Tipe 1 ( open l oop) Metode Ziegler Nichols tipe 1 dilakukan pada plant yang bersifat
sistem terbuka (open loop). Plant yang akan dikendalikan diberi input step dan responnya akan dianalisa dengan metode Ziegler Nichols tipe 1 dimana perhitungannya akan menghasilkan parameter-parameter PID.
Gambar 2. 1. Kurva S
[5]
.
7
Nilai PID diperoleh dari hasil percobaan dengan masukan unit-step, hasilnya nanti akan terbentuk kurva berbentuk huruf S, seperti pada gambar 2.1. Kurva berbentuk S memiliki karakteristik dengan 2 buah konstanta, yaitu waktu tunda L dan time constant T.
Gambar 2. 2. Penentuan parameter L dan T
[5]
Kedua parameter tersebut diperoleh dengan menggambar garis tangensial pada titik infleksi kurva S, seperti pada gambar 2.2. Garis tangensial tersebut akan berpotongan dengan garis time axis dan garis c(t) = K
[5]
. Berdasarkan parameter tersebut, didapatkan cara untuk
menghitung parameter Kp, Ti dan Td.
......................................... (2) ......................................... (3) ......................................... (4) Apabila harga Ti dan Td sudah diketahui, maka konstanta Ki dan Kd dapat ditentukan.
8
......................................... (5) ......................................... (6) 2.2.2. Metode Ziegler Nichols Tipe 2 ( close loop ) Pada metode Ziegler Nichols tipe 2 ini proses penentuan parameter
PID dihitung menggunakan respon yang diatur menggunakan slider gain sehingga respon berosilasi. Metode ini diaplikasikan pada sistem loop tertutup (close loop).
Gambar 2. 3. Blok Diagram Sistem Loop Tertutup
Pada metode kedua ini, percobaan dilakukan dengan menggunakan proportional band. Nilai Kp dinaikkan dari 0 hingga tercapai nilai Kp yang menghasilkan osilasi yang konsisten. Nilai slider gain ini disebut sebagai critical gain (Kcr). Jika harga Kp terlalu kecil, sinyal output akan teredam mencapai nilai titik keseimbangan setelah ada gangguan, Sebaliknya, jika harga Kp terlalu besar, osilasinya akan tidak stabil dan membesar.
[5]
2.3. Matlab 2013 MATLAB (Matrix Laboratory) adalah sebuah program untuk analisis dan
komputasi numerik dan merupakan suatu bahasa pemrograman matematika lanjutan yang dibentuk dengan dasar pemikiran menggunkan sifat dan bentuk matriks. Pada awalnya, program ini merupakan interface untuk koleksi rutin-rutin
9
numeric dari proyek LINPACK dan EISPACK, dan dikembangkan menggunkan bahasa FORTRAN namun perusahaan
Mathworks,
sekarang merupakan produk komersial dari Inc.yang
dalam
perkembangan
selanjutnya
dikembangkan menggunakan bahasa C++ dan assembler (utamanya untuk fungsi-fungsi dasar MATLAB).
Gambar 2. 4. Matlab 2013
[6]
MATLAB telah berkembang menjadi sebuah environment pemrograman yang canggih yang berisi fungsi-fungsi built-in untuk melakukan tugas pengolahan sinyal, aljabar linier, dan kalkulasi matematis lainnya. MATLAB juga berisi toolbox yang berisi fungsi-fungsi tambahan untuk aplikasi khusus. MATLAB bersifat extensible, dalam arti bahwa seorang pengguna dapat menulis fungsi baru untuk ditambahkan pada library ketika fungsi-fungsi built-in yang tersedia tidak dapat melakukan tugas tertentu. Kemampuan pemrograman yang dibutuhkan tidak terlalu sulit bila Anda telah memiliki pengalaman dalam pemrograman bahasa lain seperti C, PASCAL, atau FORTRAN.
[7]
10
2.4. Arduino UNO
Gambar 2. 5. Konfigurasi Arduino UNO
[8]
Feri Djuandi mengatakan bahwa Arduino tidak hanya sekedar sebuah alat pengembangan, tetapi ia adalah kombinasi dari hardware, bahasa pemrograman dan Integrated Development Environment (IDE) yang canggih. IDE adalah sebuah software yang sangat berperan untuk menulis program, meng-compile menjadi kode biner dan meng-upload ke dalam memory microcontroller. Ada banyak projek dan alat-alat dikembangkan oleh akademisi dan profesional dengan menggunakan Arduino, selain itu juga ada banyak modul-modul pendukung (sensor, tampilan, penggerak dan sebagainya) yang dibuat oleh pihak lain untuk bisa disambungkan dengan Arduino. Arduino berevolusi menjadi sebuah platform karena ia menjadi pilihan dan acuan bagi banyak praktisi.
[9]
BAB III METODOLOGI PENELITIAN
Bab ini menjelaskan mengenai metode-metode yang digunakan dalam proses penelitian serta hasil pengujian alat-alat yang akan digunakan dalam proses percobaan.
3.1. Diagram Blok Sistem Diagram blok sistem kendali level air dapat dilihat pada gambar 3.1.
Input
Proses
Catu Daya
Setpoint
PID
Output
Penguat
Plant
Gambar 3. 1. Diagram Blok Sistem Kendali Level Air
Keterangan: 1. Blok Input Blok input terdiri dari modul catu daya dimana catu daya menyuplai tegangan untuk seluruh modul sebesar +15V. 2. Blok Proses Blok proses terdiri dari modul Reverence Variabel Generator (setpoint), modul PID dan modul (penguat daya). 3. Blok Output Blok output merupakan output dari plant yang merupakan modul level kendali air.
11
12
3.2. Alat dan Modul yang digunakan Modul dan alat yang digunakan untuk melakukan percobaan .. pembentukan
sistem kendali level air, yaitu: 1. Modul Catu Daya (PS-5) 2. Modul Reverence Variabel Generator (RVG-5) 3. Modul PID (PID-5) 4. Modul Penguat Daya (PA-5) 5. Modul Sistem Kendali Level Air (TWP-1) 6. Modul Output Sistem Kendali Level Air (DPT-5) 7. Arduino UNO 8. Komputer 9. Multimeter 10. Kabel-kabel penghubung
Sistem dirancang menggunakan beberapa software pendukung seperti berikut: 1. Matlab 2013 2. Arduino 3. Microsoft Excel 2010
3.3. Perancangan dan Pengujian Perangkat Keras ( Hardware ) 3.3.1. Modul Catu Daya (Power Supply, PS-5) Catu daya akan bekerja sebagai sumber tegangan apabila power ON/OFF
diubah ke posisi ON. Pada catu daya terdapat potensiometer U untuk mengubah tegangan yang diinginkan. Apabila arah panahnya diputar kekiri maka nilai tegangannya 0 volt. Sebaliknya apabila diputar kearah yang berlawanan maka harga tegangannya maksimal. Potensiometer digunakan untuk mengatur besarnya tegangan.
13
Gambar 3. 2. Modul Catu Daya (Power Supply)
Hasil pengujian Power Supply berjalan dengan baik, hal ini dibuktikan dengan pengetesan menggunakan multimeter. Pada variable maksimal, input +15 V, output yang dihasilkannya adalah +15V.
3.3.2. Modul Setpoint (RVG-5) Setpoint berfungsi sebagai input tegangan dengan range (-10) Volt sampai
(+10) Volt atau 0 Volt sampai (+10) Volt. Kedua pilihan ini bisa diatur dengan memindahkan jumper penghubung.
Gambar 3. 3. Modul Setpoint (RVG-5).
14
Setelah melakukan proses pengujian setpoint dinyatakan berjalan dengan baik, hal ini dibuktikan dengan pengetesan menggunakan multimeter. Setpoint digunakan untuk menentukan nilai setpoint yang ingin dicapai. Ketika setpoint diberi tegangan, maka ketika setpoint diatur di 7V maka output nya juga 7V.
3.3.3. Modul PID (PID-5) Modul PID ini terdiri dari pengaturan parameter Kp, Ti dan Td.
Pengaturan parameter-parameter tersebut dilakukan secara analog. Sehingga pengaturan input pada modul tidak presisi.
Gambar 3. 4. Modul PID-5
Hasil pengujian menunjukkan bahwa modul PID berjalan dengan baik, hal ini dibuktikan dengan pengetesan menggunakan multimeter. Ketika PID diberi input 0,5V, harga Kp dikali 1, maka output dari PID = 0,5V.
3.3.4. Modul Penguat Daya (PA-5) Power Amplifier atau Penguat Daya, mendapatkan tegangan input dari
output modul PID yang dihubungkan menggunakan konektor yang secara mekanis
telah
sejajar
dengan
channel-channel
memberikan input pada modul sebelumnya.
yang
berguna
untuk
15
Gambar 3. 5. Modul Power Amplifier
3.3.5. Modul Sistem Kendali Level Air (TWP-1) Modul sistem kendali level air terdiri dari dua buah tangki penampung
dimana
tangki
pertama
yang
terhubung
dengan
input
yang
akan
menggerakkan seberapa besar motor akan berputar untuk memompa air menuju tangki kedua melalui selang air. Sedangkan tangki penampung kedua merupakan tangki pengukuran yang dilengkapi dengan sensor level air. Pada tangki ini terdapat 10 mbar pengukuran untuk mengukur ketinggian level air melalui sensor tersebut. Melalui perhitungan sensor maka akan didapatkan perhitungan yang dikonversikan menjadi tegangan melalui modul DPT.
Gambar 3. 6. Modul TWP-1
16
3.3.6. Modul Output Sistem Kendali Level Air (DPT-5) Hasil pembacaan oleh sensor ketinggian level air dikonversikan
menjadi tegangan melalui modul DPT ini.
Gambar 3. 7. Modul DPT-5
Modul DPT berjalan kurang presisi dan tidak akurat, hal ini dibuktikan dengan pengetesan menggunakan multimeter.
Berdasarkan parameter yang ditentukan, seharusnya hasil pengukuran seperti berikut: Tabel 3. 1. Parameter Output seharusnya (0,2 V/ mbar)
mbar
Output
1
200 mV
2
400 mV
3
600 mV
Sedangkan hasil pengukuran, ketika parameter output menunjukkan besaran 0,2V/ mbar:
17
Tabel 3. 2. Hasil Pengujian (0,2 V/ mbar)
mbar
Output
1
240 mV
2
532 mV
3
760 mV
Terdapat error atau ketidaksesuaian dengan hasil yang diharapkan.
Berdasarkan parameter yang ditentukan, seharusnya hasil pengukuran seperti berikut: Tabel 3. 3. Parameter Output seharusnya (0,6 V/ mbar)
mbar
Output
1
200 mV
2
400mV
3
600 mV
Ketika parameter output menunjukkan besaran 0,6V/ mbar: Tabel 3. 4. Hasil Pengujian (0,6 V/ mbar)
mbar
Output
1
0,8V
2
1,7V
3
2,66 V
Terdapat error atau ketidaksesuaian dengan hasil yang diharapkan. Modul DPT dikatakan tidak akurat karena hasil yang didapat tidak sesuai, perbedaan angka diluar toleransi. Modul DPT juga dikatakan kurang
18
presisi karena walaupun nilainya memiliki selisih yang besar, tetapi setiap kenaikan atau perbedaan setiap mbar nya memiliki kenaikan yang konstan. 3.3.1. Modul Arduino UNO
Modul Arduino ini bekerja seperti Arduino UNO pada umumnya. Akan tetapi, tegangan output pada modul Arduino UNO ini senilai dua kali lipat dari output Arduino UNO yaitu 5 Volt maka total output yang dihasilkan modul ini adalah 10 Volt. Tegangan keluaran dari modul ini dikalikan dua karena driver motor pada plant kendali level air membutuhkan tegangan lebih dari lima untuk beroperasi.
Gambar 3. 8. Modul Arduino UNO
3.4. Perancangan Perangkat Lunak ( Software ) 3.3.7. Sistem Kendali PID Ziegler Nichols Tipe 1
Gambar 3. 9. Model Simulink untuk mencari parameter PID
19
Pada metode ini sistem kendali level air diatur pada sistem kendali terbuka (open loop). Pada Simulink Matlab, scope akan memperlihatkan respon berupa Kurva S. Dengan menggunakan metode tipe 1 untuk mendapatkan parameter L dan T.
3.3.8. Sistem Kendali PID Ziegler Nichols Tipe 2
Gambar 3. 10. Model Simulink untuk mencari parameter Pcr dan Kcr
Pada metode ini sistem kendali level air diatur menjadi sistem tertutup/ rangkaian feedback . Pada simulink Matlab, scope akan menunjukkan grafik yang berosilasi. Parameter Kp pada modul PID diatur agar
3.3.9. Script Matlab dan PID-Arduino Script pada Matlab digunakan untuk menjalankan sistem yang telah
stabil, dalam artian sudah mengandung harga Kp, Ki dan Kd yang sesuai. Sehingga respon yang didapat dari sistem memiliki Rise time, settling time, overshoot dan steady state error yang kecil. Pemrograman PID pada Arduino memungkinkan Arduino dapat menggerakkan sistem tanpa bantuan/dihubungkan ke komputer (standalone).
BAB IV DATA PENGUJIAN DAN ANALISA
4.1. Sistem Kendali Ziegler Nichols Tipe 1 Modul Kendali level air bekerja dengan memberikan tegangan input sebesar
+15V. untuk mengatur kecepatan pompa yaitu dengan memaksimalkan potentiometer yang ada di modul tersebut. Setpoint diatur pada kondisi setimbang, yaitu pada tegangan 7,5 V. Proses manual tunning PID menggunakan metode Ziegler-Nichols 1 dilakukan menggunakan modul Arduino UNO yang diprogram menggunakan Simulink dari Matlab. Dengan menggunakan Ziegler Nichols 1, hasil respon yang didapat dari modul kendali level air digunakan untuk menghitung nilai Kp, Ti dan Td.
Gambar 4. 1. Hasil respon modul Kendali level air selama 10 menit
Langkah selanjutnya adalah menentukan parameter T dan L menggunakan respon pada gambar 4.1.
31
21
Gambar 4. 2. Hasil respon untuk menentukan nilai L dan T
Dengan menggunakan data cursor maka didapat batas untuk nilai T yaitu 2561 dan L yaitu 249,8. Setelah dihitung dan dibandingkan dengan waktu yang diatur dari simulink dan waktu sebenarnya maka didapat nilai T = 219,5 dan nilai L = 21,43, maka:
......................................... (2) Kp
......................................... (3) Ti
Ki
......................................... (4)
......................................... (5)
Td
......................................... (6) Kd
Apabila nilai-nilai Kp, Ti dan Td sudah dihitung, dengan simulink yang sama, maka langkah selanjutnya adalah melakukan proses tunning pada modul PID yang
terhubung
langsung
dengan
diumpanbalikkan ke modul PID.
modul
Kendali
level
air.
Keluaran
22
Gambar 4. 3. Modul Level Kendali Air
Hasil perhitungan Kp, Ti dan Td menggunakan metoda Ziegler-Nichols 1 di tunning kan ke modul PID. Grafik respon yang dihasilkan respon menjadi cepat untuk mencapai steady state dengan error yang sedikit. Setpoint yang digunakan yaitu 1 volt. Ketika setpoint diatur maka respon akan mengikuti agar menuju steady state. Saat setpoint dinaikan maka respon juga akan naik. Begitu pula ketika respon diturunkan hingga setengahnya maka respon juga akan mengikuti sampai steady state.
23
Gambar 4. 4. Hasil Respon PID dengan metode Ziegler-Nichols 1
4.2. Sistem Kendali Ziegler Nichols Tipe 2 Modul Kendali level air bekerja dengan memberikan tegangan input sebesar
+15V. untuk mengatur kecepatan pompa yaitu dengan memaksimalkan potentiometer yang ada di modul tersebut. Setpoint diatur pada kondisi sesuai dengan output agar mendapat output yang berosilasi, yaitu pada tegangan 0,83 V yang menghasilkan air sekitar 3 bar. Proses manual tunning PID menggunakan metode Ziegler-Nichols 2 dilakukan menggunakan modul Arduino UNO yang diprogram menggunakan Simulink dari Matlab. Dengan menggunakan nilai Kp atau Kcr = 190 pada metoda Ziegler Nichols 2 maka hasil respon yang didapat dari modul kendali level air digunakan untuk menghitung nilai Kp, Ti dan Td.
24
Gambar 4. 5. Hasil respon modul Kendali level air yang berosilasi
Langkah selanjutnya adalah menetukan parameter Pcr dan Kcr menggunakan respon pada gambar 4.5.
Gambar 4. 6. Hasil respon untuk menentukan nilai Pcr
Dengan menggunakan data cursor maka didapat batas x1 = 541 dan x2 = 556,6. Setelah dihitung dan dibandingkan dengan waktu yang diatur dari simulink dan waktu sebenarnya maka didapat nilai x1 = 45,08 dan x2 = 46,4, maka nilai Pcr yaitu 1,315. Berikut adalah perhitungan untuk menentukan harga Kp, Ki dan Kd:
......................................... (7) Kp
......................................... (8)
Ti
25
Ki
......................................... (4)
......................................... (9)
Td
......................................... (6) Kd
Apabila nilai-nilai Kp, Ti dan Td sudah dihitung, dengan simulink yang sama, maka langkah selanjutnya adalah melakukan proses tunning pada modul PID yang
terhubung
langsung
dengan
modul
Kendali
level
air.
Keluaran
diumpanbalikkan ke modul PID.
Gambar 4. 7. Modul Kendali Level Air close loop
Hasil perhitungan Kp, Ti dan Td menggunakan metoda Ziegler-Nichols 2 di tunning kan ke modul PID. Grafik respon yang dihasilkan respon menjadi cepat untuk mencapai steady state dengan error yang sedikit. Setpoint yang digunakan yaitu 0,7 volt. Ketika setpoint diatur maka respon akan mengikuti agar menuju steady state. Saat setpoint dinaikan maka respon juga akan naik. Begitu pula
26
ketika respon diturunkan hingga setengahnya maka respon juga akan mengikuti sampai steady state.
Gambar 4. 8. Hasil Respon PID dengan metode Ziegler-Nichols 2
Setpoint yang digunakan yaitu 0,7 volt. Ketika setpoint diatur maka respon akan mengikuti agar menuju steady state. Saat setpoint dinaikan maka respon juga akan naik. Begitu pula ketika respon diturunkan hingga setengahnya maka respon juga akan mengikuti sampai steady state.
4.3. Script Matlab Berdasarkan percobaan tunning algoritma PID menggunakan metode Ziegler
Nichols tipe 1 maupun tipe 2, dilakukan metode Trial and Error untuk mendapatkan respon sistem yang terbaik. Parameter PID dengan respon terbaik yaitu Kp = 300 , Ki = 344,8 dan Kd = 9. Parameter-parameter tersebut dimasukkan ke dalam script pada Matlab. Berikut merupakan script yang digunakan pada Matlab untuk melihat hasil respon berdasarkan parameter-parameter yang sudah ditentukan. int Output = 5; //untuk menset pin 5 sebagai output float Ts = 0.1; //waktu sampling //Nilai Kp, Ki, Kd float Kp = 300; float Ki = 344.8; float Kd = 9;
//Definisi variable untuk perhitungan PID float Setpoint, Feedback, Setpoint1, Feedback1; float error; float errorD, errorD1; float errorI, errorIsekarang, errorIsekarang1, errorIsekarang2;
27
float outP, outI, outD, outPIDsebelum; float errorsebelum = 0; int errorIsebelum = 0; int outPID; void setup () { //put your setup code here, to run once: pinMode (5, OUTPUT); Serial.begin(9600); //hanya untuk memonitor melalui serial } void loop () { //put your main code here, to run repeatedly: Setpoint = analogRead(A2); //baca setpoint dari potensio Setpoint1 = Setpoint*0.0049; Feedback = analogRead(A3); //baca umpan balik Feedback1 = Feedback*0.0049; //Hitung error error = Setpoint1 - Feedback1; //Menghitung error Integral errorIsekarang = error+errorsebelum; errorIsekarang1 = errorIsekarang/2; errorIsekarang2 = errorIsekarang1*Ts; errorI = errorIsekarang2 + errorIsebelum; //Menghitung error Diferensial errorD1 = error - errorsebelum; errorD = errorD1/Ts;
//Kendali PID outP = Kp*error; outI = Ki*errorI; outD = Kd*errorD; outPIDsebelum = outP + outI + outD; outPID = outPIDsebelum*51; outPID = outPID*0.5; //Membatasi nilai agar PID tidak >255 atau <0 if(outPID>=255) { outPID=255; } else if(outPID<=0) { outPID=0; } else { outPID=outPID; } //Menuliskan hasil perhitungan PID ke pin 5 analogWrite(5,outPID); errorsebelum=error; errorIsebelum=errorI; //code untuk menampilkan di serial monitor Serial.print ("Setpoint = "); Serial.print (Setpoint1); Serial.print ("Feedback = "); Serial.println (Feedback1); }
28
Gambar 4. 9. Hasil Respon Sistem Kendali Level Air menggunakan Script pada Matlab
Dengan menggunakan Script diatas maka respon yang dihasilkan seperti yang tampak pada gambar 4.9.
4.4. PID-Arduino Arduino UNO dapat digunakan sebagai perangkat untuk menjalankan sistem
serta dapat menunjukkan hasil respon sistem kendali level air. Arduino bekerja tanpa terhubung dengan komputer. Arduino mendapatkan supply daya dari jala jala. Hal ini menunjukkan bahwa Arduino bekerja secara standalone atau tanpa bantuan komputer ketika memulai pengoperasian sistem. Instalasi dilakukan dengan cara mengupload Arduino dengan program berikut:
int Output = 5; //untuk menset pin 5 sebagai output
float
Setpoint,
Feedback,
Feedback1;
float Ts = 0.1; //waktu sampling
float error;
//Nilai Kp, Ki, Kd
float errorD, errorD1;
float Kp = 300;
float
float Ki = 344.8;
Setpoint1,
errorI,
errorIsekarang,
errorIsekarang1, errorIsekarang2;
float Kd = 9;
float outP, outI, outD, outPIDsebelum;
//Definisi variable untuk perhitungan PID
float errorsebelum = 0;
29
int errorIsebelum = 0;
errorD1 = error - errorsebelum;
int outPID;
errorD = errorD1/Ts; //Kendali PID
void setup () {
outP = Kp*error;
//put your setup code here, to run once:
outI = Ki*errorI;
pinMode (5, OUTPUT);
outD = Kd*errorD;
Serial.begin(9600);
//hanya
untuk
memonitor melalui serial
outPIDsebelum = outP + outI + outD; outPID = outPIDsebelum*51;
}
outPID = outPID*0.5;
void loop () {
//Membatasi nilai agar PID tidak >255
//put your main code here, to run repeatedly: Setpoint
atau <0 if(outPID>=255)
=
analogRead(A2);
//baca
{
setpoint dari potensio
outPID=255;
Setpoint1 = Setpoint*0.0049; Feedback
=
analogRead(A3);
} //baca
umpan balik
else if(outPID<=0) {
Feedback1 = Feedback*0.0049;
outPID=0; }
//Hitung error
else
error = Setpoint1 - Feedback1;
{ outPID=outPID;
//Menghitung error Integral
}
errorIsekarang = error+errorsebelum; errorIsekarang1 = errorIsekarang/2;
//Menuliskan hasil perhitungan PID ke
errorIsekarang2 = errorIsekarang1*Ts; errorI
=
errorIsekarang2
pin 5 +
analogWrite(5,outPID);
errorIsebelum; errorsebelum=error; //Menghitung error Diferensial
errorIsebelum=errorI;
30
Serial.print (Setpoint1); //code untuk menampilkan di serial
Serial.print ("Feedback = ");
monitor
Serial.println (Feedback1);
Serial.print ("Setpoint = ");
}
Saat proses upload program ke Arduino berhasil, plant akan menyala sesuai dengan setpoint yang diatur melalui modul setpoint (RVG-5). Respon Arduino tidak berupa grafik melainkan berupa deret bilangan seperti gambar 4.10 yang menunjukkan proses berjalannya respon pada sistem level air.
Gambar 4. 10. hasil
respon sistem menggunakan Program Arduino
BAB V SIMPULAN DAN SARAN
5.1. Simpulan
Berdasarkan proses pengujian, pengambilan data dan analisa percobaan yang telah dilakukan mengenai Sistem Kendali PID pada Sistem Kendali Level Air, dapat disimpulkan bahwa: 1. Sistem Kendali Level Air dapat menggunakan sistem kendali PID Dengan Metode Ziegler Nichols 1 atau 2. Akan tetapi terdapat kelebihan dan kekurangannya. 2. Apabila Sistem Kendali Level Air menggunakan metode tipe 1 hasil dari respon akan lebih stabil dibandingkan dengan tipe 2 tetapi proses pengambilan data untuk mencari parameter Kp, Ki dan Kd membutuhkan waktu yang lebih lama dibanding tipe 2. 3. Hasil respon setelah di tunning menggunakan parameter PID yang dihasilkan dari metode Ziegler Nichols tipe 2 kurang baik karena osilasi yang dihasilkan tercampur dengan noise dari gelombang air yang tidak tenang. 4. Pada metode Trial dan Error pengubahan parameter-parameter respon dilakukan agar respon bisa mencapai steady state dengan risetime dan overshoot yang kurang serta sedikitnya steady state error.
5.2. Saran Demi penyempurnaan, keakuratan dan pengembangan kajian ilmiah ini, maka
penulis memberikan saran, sebagai berikut: 1. Melakukan praktikum sesuai prosedur dengan langkah-langkah yang benar. 2. Lebih teliti dan jeli dalam melakukan tunning terutama pada saat menentukan parameter-parameter PID.
31
32
DAFTAR PUSTAKA [1]. Maharani. Aldea Steffie, Setiono. Budi, dan Sumardi, “Aplikasi Kontrol Pid Untuk Pengendalian Ketinggian Level Cairan Dengan Menggunakan TCP/IP”, Skripsi, Universitas Diponegoro, 2007. [2]. Ferdinando. Hany, “Desain PID Controller dengan Software Matlab”, Jurnal, Universitas Kristen Petra, 2007. [3]. “Menghubungkan Arduino dengan Matlab”, http://waterfilling.blogspot.com/2014/07/menghubungkan-arduino-denganmatlab.html. Diakses 10 Januari 2015. [4]. “Pengertian Kendali PID”, http://catatan-elektro.blogspot.com/2011/11/pengertian-kendali-pid.html. Diakses 10 Januari 2015. [5]. “Metoda Tunning Ziegler Nichols”, http://instrumentationsystem.blogspot.com/2011/05/metoda-tuning-zieglernichols.html. Diakses 10 Januari 2015. [6]. “Matlab R2013a”, http://www.behdadsoft.com/Matlab-R2013a.html. Diakses 10 Januari 2015 [7]. “Pengantar untuk Pemrograman Matlab”, https://inaseptiana.files.wordpress.com/2014/11/modul-pengantar pemrograman-matlab.pdf. Diakses 10 Januari 2015.