DESAIN INTERAKTIF KENDALI LOGIKA FUZZY PADA PENGATURAN PROSES DL 2314 Achmad Shoim1, Son Kuswadi2, Wahyu Tjatur S.3, Universitas Dr. Soetomo Surabaya1 1 Jurusan Teknik Elektronika – Fakultas Politeknik Elektronika Negeri Surabaya 2 Institut Teknologi Sepuluh Nopember (ITS) Jl. Arief Rahman Hakim, Surabaya 60111 Telp.: +6285-755429759, e-mail:
[email protected]
Abstract This paper described the development of an integrated fuzzy logic controller (IFLC) design tool to control process control module DL 2314. Process is controlled at the module level. By using IFLC, the fuzzy logic controller parameters (i.e. membership function inputs , membership function outputs and rules) can be designed interactively. The method used is the zero-order Sugeno method. Display of IFLC
software is designed user friendly. Not only can users set parameters in fuzzy logic easily but fuzzy logic controller can be used safely even by users who are not familiar with. The advantage of IFLC software is the user does not need to make the design more by making the program again, but when the process running the user can change the parameters when the expected outcome was not optimal. The performance/response of the controller can be measured by evaluating its capability in handling the interaction between the loops and in compensating the disturbance. Keywords: process control, level, fuzzy logic, to handle disturbance.
1. PENDAHULUAN Sistem kontrol bertujuan untuk mengendalikan sesuatu sesuai dengan parameter yang ada[1]. Sampai saat ini kendali yang masih banyak digunakan untuk keperluan proses adalah kendali PID[2], yang mana kendali ini masih konvensional tetapi masih cukup bisa diandalkan kerena kendali modern belum begitu dikenal [3]. Sudah banyak dikembangkan kendali proses[3,4,5], baik menggunakan metode kendali konvensional maupun modern, tetapi sedikit sekali yang memperhatikan sistem gangguan terhadap beban. Oleh karena itu dalam penelitian
ini dibuat suatu sistem yang bisa mengendalikan besaran pada modul pengaturan proses DL 2314[6], tidak hanya menghasilkan keluaran yang bagus tetapi juga mampu menangani gangguan yang diakibatkan oleh interaksi besaran lain. Pada penelitian ini dibuat kendali logika fuzzy yang bisa diterapkan dalam dunia industri karena dalam industri pengendalian tidak hanya mengendalikan satu besaran saja, tetapi beberapa besaran. Saat besaran satu dikendalikan tidak menutup kemungkinan juga ada pengaruh besaran lain yang mengganggu apabila tidak dikendalikan. Kendali logika fuzzy dapat diaplikasikan secara luas. Pengendali ini dapat digunakan pada suatu sistem yang non-linier, fungsi waktu. Artinya sistem yang model matematikanya berubah dengan waktu dapat dikontrol dengan menggunakan algoritma tersebut, karena kemampuannya dalam menghadapi perubahan sistem yang dikontrol. Untuk mengendalikan level, dibentuk fungsi keanggotaan dan aturanaturan yang berbeda. Karena tidak semua kasus dalam dunia nyata dapat diselesaikan dengan cara yang sama. Pada penelitian ini dibentuk lima label keanggotaan dalam fungsi keanggotaan baik untuk masukan dan keluaran juga aturan-aturan yang dapat diubah sesuai dengan keinginan pengguna agar hasilnya bisa lebih baik.
2. METODE Modul pengaturan proses terdiri dari empat besaran yang bisa dikendalikan dengan suatu pengendali. Besaran-besaran tersebut adalah level, aliran, suhu, dan tekanan. Sedangkan untuk sensor berjumlah empat, aktuator berjumlah empat, dan pengendali berjumlah dua. gambar 1 menunjukkan gambar dari plant. Sensor terdiri dari: 1) sensor level menggunakan LVDT 2) sensor aliran menggunakan IR opflow 3) sensor suhu menggunakan PTC 4) sensor tekanan menggunakan pressure gauge
Desain Interaktif Kendali … (A. Shoim, S. Kuswadi, W. Tjatur)
129
Pengendali terdiri dari : 1) On-off 2) PID analog Aktuator yang digunakan adalah : 1) linier driver yang mengendalikan pompa 2) on-off driver yang mengendalikan katup solenoid 3) on-off driver yang mengendalikan katup motor 4) linier driver yang mengendalikan pemanas (heater)
mengendalikan level pada modul pengaturan proses DL 2314. Gambar 3 adalah tampilan utama perangkat lunak. Selain animasi dari tangki proses beserta komponen-komponen lainnya, juga grafik dari keluaran dari kendali logika fuzzy. Pada perangkat lunak tersebut user hanya memasukkan angka yang diinginkan melalui scrollbar sehingga user tidak mungkin salah memasukkan level yang diinginkan. START SET POINT LEVEL
+ ERROR = SET POINT - LEVEL
DELTA ERROR = ERROR SEKARANG – ERROR LALU
FUZZIFIKASI ERROR dan D ERROR
Gambar 1. Modul pengaturan proses DL 2314[6] Pengendalian besaran pada modul pengaturan proses DL 2314 memerlukan desain yang tepat. Salah satu cara adalah menggunakan sistem logika fuzzy metode Sugeno orde nol. Metode ini mirip dengan algoritma Mamdani namun parameter konsekuen yang digunakan adalah fungsi singletone [7]. Kelebihan metode ini dibandingkan dengan Algoritma Mamdani yang menggunakan fungsi keanggotaan selain singletone adalah proses perhitungan nilai keluaran lebih mudah. Fungsi keanggotaan yang digunakan adalah fungsi segitiga dan trapesium pada proses fuzzifikasi. Masing-masing fungsi keanggotaan memiliki lima fungsi keanggotaan. Besaran yang diproses pada langkah ini adalah error dan delta error dari keluaran level. Jumlah aturan-aturan yang digunakan adalah dua puluh lima. Gambar 2 adalah diagram alir dari sistem logika fuzzy yang diusulkan. Setting point adalah target keluaran yang diinginkan. Nilai error didapatkan dari selisih target keluaran dan keluaran sekarang sedangkan delta error didapatkan selisih dari error sekarang dengan error lalu. Perangkat lunak yang digunakan adalah Microsoft Visual Basic 6.0 sedangkan perangkat tatap muka menggunakan ADAM seri 5000 dengan komunikasi serial. Gambar 4 dan 5 menunjukkan tampilan dari perangkat lunak sistem logika fuzzy yang digunakan untuk
130
I F THEN RULE
DEFUZZIFIKASI
OUTPUT
Error ≤ toleransii
END
Gambar 2. Diagram alir dari sistem logika fuzzy Jika keluaran sistem logika fuzzy tidak bagus maka user masuk ke form pengaturan parameterparameter logika fuzzy. Tampilannya ditunjukkan pada gambar 4. Tampilan tersebut user dapat mengubah parameter-parameter baik premis maupun konsekuen sesuai dengan yang diinginkan. Hal itu tentunya agar keluaran yang dihasilkan lebih bagus dari sebelumnya. User tidak perlu khawatir salah untuk memasukkan nilai-nilai parameter karena sudah difasilitasi dengan tombol-tombol yang mudah dipahami dan sistem sudah diberi pengaman agar user tidak salah memasukkan nilai. Jadi perangkat lunak ini mutlak aman jika digunakan oleh user yang tidak paham tentang sistem logika fuzzy. Selain itu jika user ingin mengembalikan pada kondisi semula maka user tinggal menekan tombol default. Kelebihan lain yang sangat vital
Jurnal Ilmiah Ilmu Komputer, Vol. 8 No. 2 Maret 2012: 129-135
untuk sistem adalah aplikasi ini tidak dapat ditutup apabila sistem logika fuzzy sedang
+
set point level
+
(cm)
-
Logika fuzzy
berjalan.
solenoid valve
process tank
output (cm)
Gambar 3. Blok diagram dari sistem logika fuzzy
Gambar 4. Tampilan utama perangkat lunak
Desain Interaktif Kendali … (A. Shoim, S. Kuswadi, W. Tjatur)
131
Gambar 5. Tampilan untuk mengubah parameter-parameter logika fuzzy Berikut ini adalah persamaan fungsi keanggotaan pada proses fuzzifikasi. Fungsi keanggotaan yang digunakan adalah fungsi keanggotaan segitiga dan trapesium. Persamaan 1 adalah fungsi keanggotaan segitiga. Persamaan 2 untuk fungsi keanggotaan trapesium yang letaknya di sebelah kiri atau nilai error atau delta error negatif. Sedangkan persamaan 3 untuk fungsi keanggotaan trapesium yang letaknya di sebelah kanan atau nilai error atau delta error positif.
0, x a , b a segitiga ( x; a , b, c ) c x , c b 0,
1, x b trap _ min( x; a , b ) , a b 0,
132
x a. a x b.
(1) b x c. c x.
x a. a x b. x b.
(2)
0, x a trap _ plus( x; a , b) , b a 1,
x a. a x b.
(3)
x b.
3. DISKUSI Fungsi keanggotaan sistem logika fuzzy pada penelitian ini menggunakan fungsi segitiga dan trapesium. Masing-masing input (error dan delta error) terbagi menjadi lima fungsi keanggotaan. Fungsi paling kiri dan paling kanan menggunakan fungsi trapesium dan yang lainnya menggunakan fungsi segitiga. Hal ini bertujuan jika error yang sangat besar pun dapat dikendalikan dengan sistem ini. Aturan-aturan yang berjumlah dua puluh lima adalah kombinasi dari lima fungsi keanggotaan error dan lima fungsi keanggotaan delta error. Hal ini bertujuan untuk setiap kemungkinan kondisi plant dapat ditangani oleh sistem. Operasi yang digunakan adalah operasi AND. Fungsi segitiga dan trapesium ditunjukkan di persamaan 1, 2, dan 3. Berikut adalah penentuan fungsi keanggotaan dari sistem logika fuzzy. Sedangkan tabel 1 menunjukkan tabel dari aturan-aturan sistem logika fuzzy. Fungsi keanggotaan error level terdiri dari fungsi keanggotaan:
Jurnal Ilmiah Ilmu Komputer, Vol. 8 No. 2 Maret 2012: 129-135
1) 2) 3) 4) 5)
error_level_NB = trap_min(error, -5, -2) error_level_NS = segitiga(error, -4, -2, 0) error_level_AZ = segitiga (error, -2, 0, 2) error_level_PS = segitiga(error, 0, 2, 4) error_level_PB = trap_plus(error, 2, 5)
1) 2) 3) 4) 5)
d_e_level_NB = trap_min(d_error, -6, -4) d_e_level_NS = segitiga(d_error, -6, -2, 0) d_e_level_AZ = segitiga (d_error, -1, 0, 1) d_e_level_PS = segitiga(d_error, 0, 2, 4) d_e_level_PB = trap_plus(d_error, 4, 6)
Fungsi keanggotaan delta error level terdiri dari fungsi keanggotaan: Tabel 1. Aturan-aturan dalam sistem logika fuzzy Aturan ke1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 19 20 21 22 23 24 25
Aturan If error =error_level_NB AND d_error = d_e_level_NB then PWM = 100 If error =error_level_NB AND d_error = d_e_level_NS then PWM = 100 If error =error_level_NB AND d_error = d_e_level_AZ then PWM = 100 If error =error_level_NB AND d_error = d_e_level_PS then PWM = 100 If error =error_level_NB AND d_error = d_e_level_PB then PWM = 100 If error =error_level_NS AND d_error = d_e_level_NB then PWM = 100 If error =error_level_NS AND d_error = d_e_level_NS then PWM = 100 If error =error_level_NS AND d_error = d_e_level_AZ then PWM = 90 If error =error_level_NS AND d_error = d_e_level_PS then PWM = 90 If error =error_level_NS AND d_error = d_e_level_PB then PWM = 90 If error =error_level_AZ AND d_error = d_e_level_NB then PWM = 90 If error =error_level_AZ AND d_error = d_e_level_NS then PWM = 90 If error =error_level_AZ AND d_error = d_e_level_AZ then PWM = 0 If error =error_level_AZ AND d_error = d_e_level_PS then PWM = -90 If error =error_level_AZ AND d_error = d_e_level_PB then PWM = -90 If error =error_level_PS AND d_error = d_e_level_NB then PWM =- 90 If error =error_level_PS AND d_error = d_e_level_NS then PWM = -90 If error =error_level_PS AND d_error = d_e_level_PS then PWM = -100 If error =error_level_PS AND d_error = d_e_level_PB then PWM = -100 If error =error_level_PB AND d_error = d_e_level_NB then PWM = -100 If error =error_level_PB AND d_error = d_e_level_NS then PWM = -100 If error =error_level_PB AND d_error = d_e_level_AZ then PWM = -100 If error =error_level_PB AND d_error = d_e_level_PS then PWM = -100 If error =error_level_PB AND d_error = d_e_level_PB then PWM = -100
Setelah nilai-nilai parameter konsekuen didapatkan dari aturan-aturan tersebut maka untuk penentuan keluaran PWM pada solenoid valve menggunakan metode centre of area (COA). Metode tersebut ditunjukkan pada persamaan 4. 25
z (i) z
COA
z
(i )
i 1
(4)
25
i 1
z
(i )
μZ
= nilai derajat keanggotaan dari aturan z = parameter konsekuen tiap aturan i = jumlah aturan Z COA = keluaran logika fuzzy
Untuk pengujian level batasan keluaran pada level pada tangki proses adalah antara 6,5 cm sampai dengan 13,5 cm. Sedangkan untuk katup solenoid diberi PWM dengan frekuensi 0,1 Hz. Gambar 6 menunjukkan keluaran dari sistem kendali logika fuzzy untuk besaran level.
dengan:
Desain Interaktif Kendali … (A. Shoim, S. Kuswadi, W. Tjatur)
133
respon puncak pertama sistem dengan respon kondisi terakhir sistem. Settling time adalah waktu yang diperlukan untuk mencapai respon kondisi terakhir sistem. Band settling time adalah daerah atau pita pada kondisi settling time. Sedangkan rise time adalah waktu yang dibutuhkan untuk mencapai mulai dari 10% sampai dengan 90% dari kondisi terakhir sistem[8]. Performa dari sistem tersebut menghasilkan maximum overshoot = 0,228 cm atau 3,040 %, band settling time = 6,262 %, settling time = 462 detik, dan rise time = 291,06 detik.
le v e l (c m )
Output
201
401
601
801
t (s)
Gambar 6. Hasil keluaran level dengan ketentuan pertama
level (cm)
Pengaturan level dengan gangguan 16 14 12 10 8 6 4 2 0
Set point Output
2.5
200
397.5
595 t (s)
Gambar 7. Hasil uji coba bila level diberi gangguan Gambar 7 menunjukkan kehandalan sistem saat diberikan gangguan dengan mengubah aliran yang keluar pada tangki proses pada saat sistem sedang berjalan. Gangguan tersebut dengan cara membuka katup needle sehingga PWM pada
134
3.5 3 2.5 2 1.5 1 0.5
Gangguan
0 2.5
200
397.5
595
t (s)
4. HASIL
Set point
1
Gangguan
Gambar 8. Gangguan berupa membuka katup needle
Pengaturan level 16 14 12 10 8 6 4 2 0
katup solenoid berubah menyesuaikan dengan buka-tutup nya katup needle. Gangguan tersebut ditunjukkan pada gambar 8. Dimana pada setiap waktu tertentu katup dibuka dan ditutup berubahubah, tetapi sistem tidak mengalami gangguan yang berarti.
putaran
Performa sistem yang diperhatikan pada penelitian ini adalah maximum overshoot, settling time, band settling time, dan respond time. Maximum overshoot adalah perbedaan antara
Desain logika fuzzy penelitian ini mengendalikan level pada pengaturan proses DL 2314. Desain tersebut menggunakan metode logika fuzzy Sugeno orde nol. Jumlah fungsi keanggotaan yang digunakan adalah fungsi segitiga dan trapesium. Masing-masing input untuk proses fuzzifikasi, yaitu error dan delta error dari level, berjumlah lima. Sedangkan untuk aturan yang digunakan berjumlah dua puluh lima. Untuk penentuan hasil defuzzifikasi menggunakan metode COA. Sistem logika fuzzy yang didesain pada paragraf sebelumnya menghasilkan performa sistem sebagai berikut: maximum overshoot = 0,228 cm atau 3,040 %, band settling time = 6,262 %, settling time = 462 detik, dan rise time = 291,06 detik. Performa pada sistem tersebut pada kondisi settling time membutuhkan waktu yang lama tetapi untuk daerah pita band settling time termasuk bagus karena dibawah 5%. Pada penelitian ini dapat disimpulkan sistem kendali logika fuzzy tersebut termasuk handal terhadap gangguan yang diakibatkan oleh besaran lain. Karena pada saat aliran yang keluar dari tangki proses diubah pada saat sistem sedang berjalan, keluaran dari level tidak berubah. Hal itu ditunjukkan pada gambar 7 sedangkan gangguannya ditunjukkan pada gambar 8. Desain tampilan perangkat lunak dibuat sedemikian rupa sehingga user yang tidak tahu tentang logika fuzzy dapat mengoperasikan sistem ini tanpa membahayakan dari tangki proses karena fasilitas-fasilitas keamanan yang didesain.
Jurnal Ilmiah Ilmu Komputer, Vol. 8 No. 2 Maret 2012: 129-135
User juga bisa dengan mudah mengubah parameter-parameter dalam sistem logika fuzzy tanpa harus membuka source code dari perangkat lunak karena disediakan fasilitas untuk hal tersebut. Apabila user dalam mengubah parameter ingin kembali ke posisi semula, maka user tinggal menekan tombol default saja.
5. DAFTAR PUSTAKA [1] K. Ogata, Teknik Kontrol Automatik, Erlangga, Jakarta, 1997. [2] S. Kuswadi, Kendali Cerdas, Politeknik Elektronika Negeri Surabaya Institut Teknologi Sepuluh Nopember Surabaya, 2000. [3] S. Tzafestas, dan N. P. Papanikopolous, “Incremental Fuzzy Expert PID Control”, IEEE Trans. on Industrial Electronics, vol.37, no. 5, 5 Oktober 1990.
[4] S. Tunyasrirut, dan S. Wangnipparnto, “Level Control in Horizontal Tank by Fuzzy-PID Cascade Controller”, World Academy of Science, Engineering and Technology 25, Bangkok, 2007. [5] Z. L. Baus, S. N. Nikolovski, dan P. Z. Maric, “Process Control for Thermal
Comfort Maintenance Using Fuzzy Logic”, Journal of electrical engineering, vol. 59, no. 1, 2008. [6] VL. Rogmana, Manual Book, Process Control DL 2314 Tranducer, De Lorenzo, Italia, 1992. [7] J.S.R Jang, C.T. Sun, dan E. Mizutani, Neuro-Fuzzy and Soft Computing, Upper Saddle River, NJ 07458, Prentice Hall PTR, 1997. [8] K. Ogata, Discrete-time control systems, Prentice Hall, 1987.
Desain Interaktif Kendali … (A. Shoim, S. Kuswadi, W. Tjatur)
135