Sabtu, 17 Oktober 2009

SISTEM PENGEMBANGAN KENDALI FUZZY LOGIC BERBASIS MIKROKONTROLER KELUARGA MCS51

SISTEM PETRAFUZ

Sistem PetraFuz terdiri dari 2 bagian yaitu sistem software yang berjalan pada PC dan sistem target perangkat keras berupa sistem mikrokontroler MCS51. Proses perancangan, evaluasi, pembentukan program assembly dan proses downloading MCS51 machine code menuju sistem target dilakukan oleh program yang berjalan pada PC yaitu PetraFuz51 software. Sedangkan sistem target melakukan proses fuzzy logic yang berinteraksi dengan perangkat I/O ke dunia luar. Proses fuzzy logic yang dilakukan oleh sistem target meliputi proses fuzzification, rule evaluation dan defuzzification. Program PetraFuz51 dibuat dengan Delphi v.2 berbasis Windows dengan kemampuan graphical user interface sehingga memudahkan user dalam penggunaanya. Perancangan kendali meliputi pembentukan fuzzy membership function untuk input maupun output (maksimum 5 input, 3 output dan 8 label per input/output) serta pembentukan fuzzy if-then rules. Sedangkan proses evaluasi kendali menyajikan control surface untuk berbagai kombinasi input kendali. Dengan demikian pengguna dapat melihat respon kendali sebelum kendali sesungguhnya dijalankan oleh perangkat keras sistem target.
PetraFuz51 juga membentuk program bahasa assembly MCS51 yang selanjutnya dicompile dan didownload menuju sistem target melalui serial komunikasi RS232. Sistem target perangkat keras terdiri dari mikrokontroler MCS51 dilengkapi dengan paralel I/O serta interface analog (ADC/DAC).
Aksi kendali dapat diakuisisi oleh program PC melalui komunikasi serial RS232 sehingga respon kendali dapat digambarkan pada layar monitor untuk dilakukan analisis lebih lanjut yang diperlukan pada proses tuning if-then fuzzy rules. Selain respon kendali, masing-masing input fuzzy logic juga dapat diamati melalui layar monitor.
Secara umum kemampuan sistem PetraFuz adalah:
• Max. 5 Input
• Max. 3 Output
• 8 Membership Functions per Input
• 8 Membership Functions per Output
• 1024 if-then Rule
• 15 Characters per Name (Input, Output, Member).
• 4 Points per Input Member. (Trapezoid MF)
• 1 Point per Output Member. (Singleton MF)


CONTOH PENGGUNAAN PETRAFUZ

Program PetraFuz51 meyediakan beberapa fasilitas yaitu perancangan input dan output membership function (MF), perancangan fuzzy if-then rules, fuzzy logic evaluator, control surface, pembentukan assembly code, downloader ke sistem target dan data acquisition. Secara umum penggunaan PetraFuz dapat dibagi atas tahap-tahap berikut yaitu tahap pertama mendisain fuzzy inference system yang meliputi perancangan input dan output fuzzy beserta membership functionnya dan perancangan fuzzy if-then rules. Tahap kedua pembentukan database (yang terdiri dari MF dan if-then rules) dari hasil perancangan tahap pertama dalam bahasa assembly MCS51 yang akan digabungkan dengan user program. Adapun user program yang dimaksud adalah program yang dibuat user untuk akses data dari/ke I/O interface baik analog maupun digital sesuai dengan sistem kendali yang dirancang. Tahap ketiga adalah user program dicompile terlebih dahulu untuk menghasilkan machine code, baru kemudian machine code tersebut didownload ke sistem target mikrokontroler MCS51.
Untuk memberi gambaran yang lebih jelas diambil contoh penggunaan PetraFuz pada sistem kendali temperatur udara yang menggunakan bola lampu sebagai pemanas dan kipas sebagai pedingin. Input sistem fuzzy disini adalah Error dan Delta_Error temperatur udara terhadap Setting Point yang diinginkan. Input Error adalah selisih antara Setting Point dengan Present Value (Error= SP - PV) sedangkan Delta_Error adalah kecepatan perubahan error yang terjadi, Delta_Error = Error (n) - Error (n-1) . Pertama dilakukan pengisian spesifikasi dari crisp input dan crisp output yaitu nama, satuan, nilai minimum, nilai maksimum dan jumlah label membership function.

PELUANG PENGGUNAAN PETRAFUZ

Selama ini cukup banyak para praktisi sistem kendali mengalami kesulitan dalam mengaplikasikan metode fuzzy logic dalam sistem kendali terutama sampai pada level implementasi hardware. Salah satu alasannya adalah karena tidak didukung oleh fuzzy development tools yang dilengkapi dengan target sistem perangkat keras. Sistem PetraFuz menyediakan tools yang cukup lengkap mulai dari proses desain membership function dan pembentukan fuzzy if-then rule sampai pada proses kendali fuzzy logic yang dilaksanakan oleh sistem target perangkat keras. Pada kenyataannya dalam kendali fuzzy logic, bagian yang tersulit adalah mendesain membership function dan fuzzy rules sehingga didapatkan yang optimum dan menghasilkan kendali fuzzy logic yang memadai. Untuk mendapatkan hasil yang terbaik maka harus dilakukan percobaan yang berulang-ulang. Ini akan menjadi suatu kendala tersendiri bila tidak mempunyai tools yang menunjang.
Dari hasil pengujian yang dilakukan, PetraFuz Routine Engine mampu mengevaluate lebih kurang 16000 rule dalam satu detik. Pengujian ini dilakukan dengan kondisi tiap rule mempunyai 2 antecendent dan 1 consequent dan sistem clok yang digunakan pada prosesor MCS51 adalah 2 MHz. Ini berarti untuk mengevaluate satu rule, PetraFuz Routine Engine membutuhkan waktu lebih kurang 62,5 mikrodetik. Jika sistem kendali fuzzy logic mempunyai 2 input 1 output dan masing-masing input mempunyai 5 label membership function maka jumlah maksimum rule adalah 25 sehingga waktu untuk mengevaluate rule tidak lebih dari 1,5625 milidetik.
Dengan waktu akses yang cukup cepat ini, maka sistem PetraFuz dapat digunakan pada sistem kendali yang mempunyai respon yang relatif cepat seperti mengendalikan kecepatan motor DC, kontrol posisi dan lain-lain. Selain itu sistem ini berpeluang untuk digunakan pada aplikasi proses kendali industri seperti pressure control, chemical process control, kiln control dan lain-lain.
Sistem ini juga berpeluang dimanfaatkan untuk pengembangan kendali untuk bidang pertanian, misalnya pada kendali temperatur untuk cold/hot storage produk-produk pertanian yang membutuhkan kondisi temperatur tertentu. Dapat pula digunakan untuk pengendalian kadar PH air tambak, identifikasi level kematangan produk pertanian, dan lain-lain.
Sistem PetraFuz telah dimanfaatkan sebagai modul praktikum Kendali Fuzzy Logic pada institusi penulis dan terlihat cukup bermanfaat bagi pemula untuk memahami dan merancang sistem kendali fuzzy. Disamping itu pula tools ini memberikan pemahaman aspek implementasi khususnya menggunakan mikrokontroler.

KESIMPULAN

Dari hasil eksperimen pembuatan dan pemanfaatan sistem pengembangan fuzzy logic PetraFuz penulis mencatat beberapa hal antara lain:
• Sistem PetraFuz relatif mudah digunakan dan bermanfaat bagi pemula yang ingin bereksperimen sistem kendali berbasis fuzzy logic yang diimplementasikan pada mikrokontroler. Saat ini mikrokontroler yang dapat digunakan terbatas pada keluarga MCS51, dan tidak tertutup kemungkinan untuk dikembangkan fuzzy kernel untuk berbagai prosesor misalkan 8088, MCS96, Z80 atau lainnya.
• Sistem PetraFuz menyediakan kemampuan yang interaktif dan terintegrasi dengan sistem target perangkat keras. Dengan tools ini meningkatkan peluang pemanfaatan konsep kendali fuzzy pada berbagai bidang di Indonesia, khususnya pada bidang kendali pada pertanian.
• Masih terbuka pengembangan lebih lanjut dari sistem ini untuk mengakomodasi jumlah input/output yang lebih banyak, variasi bentuk membership function dan berbagai metode defuzzifikasi. Juga tidak menutup kemungkinan untuk memadukan metode jaringan saraf tiruan dengan fuzzy logic untuk membentuk kendali cerdas.

DAFTAR PUSTAKA

1. Klir, George J, “Fuzzy Sets and Fuzzy Logics : Theory and Applications”, NJ : Prentice Hall, 1995.
2. Alex De Castro, Jason Spelman, John Dumas, "Fuzzy Designer Generator (FUDGE)", Motorola Inc., 1994
3. Center for Emerging Computer Technologies, "Fuzzy Logic Education Program", Motorola Inc., 1994
4. Advanced Micro Device, “Microcontrollers Handbook”, California : Advanced Micro Device, 1988.
5. Sanchez, Julio, “IBM Microcomputers : A Programmer’s Handbook”, New York : McGraw-Hill, 1990

Di Posting oleh : Amdhani Santoso (41407010002), Teknik Elektro

Tidak ada komentar:

Posting Komentar