Tips Trik Elektronika, Komputer, Lirik Sholawat dan Qasidah

Merancang Sistem Kontrol Fuzzy

Merancang Sistem Kontrol Fuzzy

Merancang Sistem Kontrol Fuzzy Dengan Bantuan FUDGE

Perkembangan tekonolgi saat ini secara tidak terasa mulai bergeser kepada otomatisasi sistem kontrol dengan campur tangan manusia dalam jumlah yang sangat kecil. Semakin banyak peralatan yang dikendalikan secara otomatis mulai dari perangkat rumah tangga, seperti mesin cuci sampai kepada peralatan yang besar yang membawa ratusan jiwa manusia, pesawa terbang, yang dikendalikan secara otomatis dengan menggunakan kendali ‘fly by wire’.

Dengan melihat gejala seperti ini maka sistem kontrol akan menjadi suatu bidang yang menjanjikan dimana sistem kontrol akan menjadi suatu yang harus ada pada setiap peralatan. Berdasarkan kondisi ini bukannya tidak mungkin jika tekonologi sistem kontrol berkembang dengan cepat dengan didukung dengan komputer yang sudah sangat canggih saat ini.

Sistem kontrol pada awalnya merupakan rangkaian dari komponen analog yang pada proses disainnya harus diketahui persamaan matematisnya, seperti pada sistem kontrol PID (proporsional Integral Deferensial). Saat ini sistem kontrol sudah didominasi dengan sistem kontrol digital dimana diharapkan agar pengaturan dari sistem kontrol tersebut semakin baik dan mudah dilakukan, ‘user friendly’.

Pada sekitar tahun 1980-an mulai muncul penggunaan ide fuzzy pada sistem kontrol. Ide dasar fuzzy sebenarnya sudah muncul pada awal abad 19 sekitar tahun 1920, dengan tiga kondisi kebenaran yaitu ‘benar’,’tidak benar-tidak salah’,’salah’. Pada tahun 1965, Lotfi H Zadeh, memperjelas perngertian ide fuzzy dimana suatu kondisi dapat diklasifikasikan dalam ‘multivalued logic’ dan akhirnya melahirkan ‘fuzzy logic’.

Mengapa Fuzzy Logic?

Implementasi fuzzy logic pada sistem kontrol merupakan lompatan inovasi dalam sistem kontrol. Hal ini dikarenakan oleh kontrol dengan menggunakan sistem fuzzy lebih presisi jika dibandingkan dengan sistem kontrol digital yang hanya mengontrol suatu peralatan ‘on’ atau ‘off’ saja.

Contoh aplikasi yang tepat untuk perbandingan sistem kontrol fuzzy dengan sistem kontrol digital konvesional adalah pada penyiram tanaman otomatis. Misalnya dengan menggunakan sistem digital biasa maka sistem kontrol hanya dapat mengontrol membuka kran atau menutup kran saja, 2 kondisi. Teapi dengan menggunakan sistem kontrol fuzzy, besarnya lubang bukaan kran dapat diatur dengan ‘rule-rule’ yang ada.

Jika menggunakan kontroller PID maka persamaan karakteristik dari sistem kontrol penyiram tanaman tersebut harus diketahui terlebih dahulu.

Sistem Fuzzy Kontroller


Implementasi Sistem kontrol fuzzy secara elektronik saat ini, terdapat dua pilihan :

  1. Dibangun dengan FUZZY PROCESSOR seperti yang dikembangkan oleh SGS THOMPSON.
  2. Dibangun dengan mikrokontroller biasa seperti AT89C51 dari Atmel, 68HC11 dari Motorola, bahkan pada PIC dari MicroChip.

Fuzzy processor yang dikembangkan saat ini oleh SGS THOMPSON merupakan processor yang benar-benar hanya digunakan untuk sistem kontrol fuzzy. SGS Thompson memiliki 4 jenis fuzzy prosessor antara lain : ST52x420, ST52x430, ST52x301 dan ST6220 dan sedang mengembangkan ST52x440. Semuanya fuzzy prosessor ST52x mempunyai struktur internal yang sama namun berbeda pada jumlah port I/O, jumlah consequent, jumlah antecedent, EEPROM dan RAM. Dengan menggunakan fuzzy processor ST52x301 (4 antecedent 1 consequent) satu iterasi diperlukan waktu hanya 3.5us, ini termasuk sangat cepat.

Blok Diagram Fuzzy Processor ST52x
Gambar 1
Blok Diagram Fuzzy Processor ST52x


Selain menggunakan fuzzy prosessor dapat digunakan mikrokontroller biasa, misalnya AT89C51, dengan menanamkan fuzzy kernel di dalam flash ROMnya.

FUDGE (Fuzzy Design Generator)

Pada dasarnya fuzzy kernel ini sudah disediakan oleh Motorola dalam perangkat lunak FUDGE (Fuzzy Design Generator). Perangkat lunak ini digunakan untuk membuat membership function input, rule, dan membership function output. Biasanya membership function output menggunakan metode central of gravity.

Pada dasarnya FUDGE, yang dikeluarkan oleh Motorola, mampu menghasilkan suatu fuzzy kernel dalam bentuk source code. Namun tidak semua mikrokontroller didukung oleh FUDGE. Mikrokontroller yang didukung oleh FUDGE adalah :
  1. MC68HC05
  2. MC68HC11
  3. MC68HC16
  4. MC68000
Serta dalam bentuk ANSI-C. Dari keempat mikrokontroller diatas tampak bahwa kesemuanya merupakan mikrokontroller buatan Motorola, yang harganya dipasaran Surabaya termasuk mahal.

FUDGE memiliki 2 fungsi utama :

  1. Merancang/edit membership function input , rules, dan membership function output.
  2. Evaluasi membership functon input, rules, dan membership function output.

Jumlah input yang dapat diterima oleh FUDGE adalah 8 input dan mampu mengontrol 4 output. Penentuan jumlah input atau output sistem fuzzy yang sedang didisain dapat dilakukan dengan perintah pada menu ‘Edit’- ‘Crisp Input’ atau ‘Edit’-‘Crisp Output’.
Tampilan Edit Jumlah Input/Output
Gambar 2
Tampilan Edit Jumlah Input/Output


Jumlah label per input/per output dibatasi 8 label dan pada pengisian nama dan units tidak diperkenankan menggunakan spasi karena penggunaan spasi akan menyebabkan FUDGE tidak bisa membaca kembali disain tersebut setelah disain tersebut disimpan. File disain FUDGE disimpan dengan ekstension *.FDG. File ini akan menyimpan segala hasil perkerjaan yang telah dilakukan mulai dari disain membership function input, rules, dan membership function output singleton serta setting pada saat Fuzzy Logic Evaluator dan Control Surface.

Disain Membership Function Input
Gambar 3
Disain Membership Function Input


FUDGE menyatakan bentuk membership function input dalam bentuk trapesium dan segitiga sedangkan untuk membership function output berbentuk singleton.

Gambar 4
Membership Function Output Singleton


Jadi secara jelas dapat dikatakan bahwa FUDGE digunakan untuk mendisain sistem fuzzy secara grafis. Hal ini tentu memudahkan dalam mendisain, tidak perlu selalu mengisi tabel dengan angka namun hanya perlu ‘drag-n-drop’. Selain itu proses disain akan semakin cepat dan mudah.

Jika pada awal disain sudah lengkap, jumlah input, jumlah output, nama label tiap input maka pada saat pembuatan rule hanya perlu memilih label-label antecedent dan label-label consequent. Rule fuzzy pada dasarnya terdiri antecedent dan consequent dimana jumlah antecedent dan consequent-nya tergantung dari jumlah input/output.

IF antecedent1 AND antecedent2 AND....THEN consequent1 AND consequent 2 AND ....
Pembuatan Rule
Gambar 5
Pembuatan Rule


Sampai tahap ini, sistem fuzzy yang didisain telah selesai dan siap untuk dievaluasi. FUDGE menyediakan fungsi untuk mengevaluasi sistem fuzzy yang didisain pada menu ‘Evaluate’-‘Fuzzy Logic Simulator’.

Selain itu FUDGE juga dapat mem-plot hasil output pada grafik 2 dimensi sehingga jika terdapat 2 input maka untuk dapat melihat outputnya maka harus dilihat bergantian, input1 terhadap output dan input2 terhadap output.

Fuzzy Logic Evaluator merupakan salah satu fungsi FUDGE yaitu untuk mensimulasikan disain membership function input, rules, dan membership function output singleton. Control Surface digunkan untuk menentukan sumbu input dan sumbu output pada grafik hasil sistem fuzzy dalam 2 dimensi.

Yang paling penting di dalam penggunaan FUDGE adalah untuk mendisain membership function input, rules, dan membership function output singleton. Apa yang telah didisain sebelumnya, semuanya berbentuk grafik dan FUDGE merubahnya menjadi tabel-tabel yang nantinya digunakan oleh kernel yang sudah disiapkan oleh Motorola.

Contoh tabel membership function input :

01: FCB $00,$00,$33,$0a ; Angle is Negative_Large

Contoh tabel rules :

02: ; IF ANGLE is negative_large AND DELTA_ANGLE is zero THEN MOTOR_CURRENT is posistive large

03: FCB $00

04: FCB $0B

05: FCB $86

Contoh tabel membership function output singleton :

06: FCB $00 ; Motor Current is Negative_Large

07:

Grafik Input Output Sistem Fuzzy
Gambar 6
Grafik Input Output Sistem Fuzzy

adi pada dasarnya FUDGE memberikan nomor pada setiap label baik input dan output. Nomor ini selanjutnya dijadikan sebagai simbol bagi label yang bersangkutan. Hal nampak pada contoh-contoh tabel rules diatas, pada tabel rule :


01: FCB $00

02: FCB $0B

03: FCB $86


‘$00’ berarti Input ‘Angle’ dengan nama label ‘Negative Large’ sedangkan ‘$0B’ berarti Input ‘Delta_Angle’ dengan nama label ‘zero’. ‘$86’ berarti output ‘Motor_Current’ dengan nama label ‘Negative Large’. Sedangkan pada tabel membership function input maupun output singleton, nilai pada tabel merupakan nilai pada sumbu x pada gambar membership function input maupun output singleton dalam nilai heksadesimal.

Contoh diatas merupakan tabel-tabel yang dihasilkan oleh FUDGE dalam format bahasa 68HC11 dan FUDGE hanya dapat mendukung processor yang dibuat oleh Motorola. Oleh sebab itu jika digunakan mikrokontrolle yang lain, misalnya AT89C51 maka harus dibuat fuzzy kernel tersendiri tetapi tetap dapat menggunakan FUDGE yaitu untuk membuat tabel-tabel tersebut. Walaupun tabel-tabel tersebut dalam format-nya Motorola namun untuk mengkonversi ke format Intel (keluarga MCS 51) tidaklah sulit. Yang menjadi kendala adalah membuat fuzzy kernelnya dengan bahasa MCS-51.

Jadi kesimpulannya FUDGE tetap dapat digunakan untuk mikrokontroller yang lain sebatas pada pembuatan tabel-tabel membership function input, rules, dan membership function output singleton karena kernel yang disediakan oleh FUDGE hanya mendukung processor yang dikeluarkan oleh Motorola saja.



share this article to: Facebook Twitter Google+ Linkedin Technorati Digg
Posted by Muhammad Ana, Published at Kamis, Juli 30, 2009 and have 3 komentar

Artikel Terkait

3 komentar:

  1. Duh,, aku kok susah ngertinya ya sob,, hihi,, :D

    BalasHapus
  2. bos klo pake FUDGE ini kita ga perlu coding2 ke mikronya lagi nih?? jadi dari grafik yg kita gmbr, nanti bakal di compile ke mikro trus lgsg pake gitu? asik amat... beli IC ini dimana?

    BalasHapus