Selamat datang di sonoku.com

Merancang Kendali Fuzzy Sederhana

Untuk memahami bagaimana Fuzzy Logic Controler (FLC) dirancang dan bagaimana bekerja, dapat dimulai dengan beberapa contoh kasus sederhana seperti salah satunya berikut ini. Akan dirancang kontroler untuk mengatur kecepatan motor DC dengan merubah besar tegangan masukan motor. Pada saat motor berputar terlalu cepat dari set point yang ditetapkan, maka untuk memperlambat putaran motor tegangan motor DC perlu dikurangi. Jika motor terlalu lambat, maka tegangan masukan motor harus ditambah agar kecepatan motor mencapai nilai set point.


Gambar 1. Diagram Blok Sistem Kendali Kecepatan Motor

Menentukan masukan dan keluaran kontroler

Sesuai dengan Gambar 1 diatas masukan kontroler fuzzy hanya satu yaitu error (Error). Error merupakan selisih antara kecepatan motor saat ini dengan kecepatan yang diinginkan (setpoint). Dalam kasus ini kecepatan motor diatur agar mempunyai kecepatan yang stabil pada 260 rpm.

Keluaran kontroler yaitu besar tegangan kontrol motor (Teg). Tegangan kerja yang diberikan pada motor mempunyai rentang antara 0 Volt hingga 5 volt. Motor akan berputar dengan kecepatan 260 rpm (yg diinginkan) jika tegangan yang diberikan pada motor sebesar 2.5 volt.

Menentukan Membership Function (MF)

Langkah berikutnya adalah menentukan fungsi keanggotaan (membership function), baik masukan maupun keluaran. Fungsi keanggotaan masukan Error ditentukan terdiri dari 3 himpunan yaitu, Negatif (Neg), Zero (Zero), dan Positif (Pos).


Gambar 2. MF Error (error)

Secara matematis fungsi keanggotaan Error dapat dituliskan sebagai berikut.




Sedangkan untuk keluaran kontroler Teg dibagi menjadi 3 himpunan juga yaitu, Kecil (K), Sedang (S), Besar (B).


Gambar 3. MF Tegangan (Teg)

Secara matematis fungsi keanggotaan Tegangan dapat dituliskan sebagai berikut.




Membuat rule (aturan)

Setelah menenutukan fungsi keanggotaan masing-masing masukan dan keluaran, selanjutnya ditentukan rules (aturan) yang akan diterapkan kontroler. Aturan dibuat untuk mengendalikan motor agar kecepatannya stabil pada 260 rpm. Jadi ketika kecepatan motor sekarang dinilai terlalu cepat (>260rpm) daripada nilai setpoint maka nilai error-nya bernilai negatif (-). Dengan demikian kontroler harus menurunkan tegangan motor agar motor melambat. Sebaliknya jika kecepatan motor terlalu lambat maka nilai error-nya positif (+) maka tegangan motor perlu dinaikkan. Jika kecepatan telah tepat pada 260 rpm maka kontroler mengeluarkan tegangan sebesar 2.5 volt. Diharapkan dengan aturan tersebut motor akan berputar dengan kecepatan yang stabil pada 260 rpm.

Dari penjelasan diatas dapat ditentukan ada 3 aturan pengendalian sebagai berikut:

Aturan #1:

IF error IS negatif THEN teg IS kecil

Aturan #2:

IF error IS zero THEN teg IS sedang

Aturan #3:

IF error IS positif THEN teg IS besar

Menganalisa bagaimana FLC bekerja

Diambil contoh ketika kecepatan motor 285 rpm, dimana lebih besar dari kecepatan yang diinginkan yaitu 260 rpm, berapakah tegangan yang dikeluarkan kontroler agar motor berputar pada kecepatan normalnya (260 rpm)?

Sesuai kasus diatas, nilai error adalah sebesar -25 rpm. Langkah pertama yang dilakukan kontroler adalah menentukan derajat keanggotaan dari -25 rpm terhadap fungsi error (fuzzyfikasi). Nilai -25 rpm masuk dalam keanggotaan dari Zero dan Neg (Gambar 4), untuk itu ada dua proses fuzzyfikasi untuk menentukan derajat keanggotaannya.




Gambar 4. Fuzzyfikasi masukan error

Dari dua nilai derajat keanggotaan Error kemudian kita tentukan nilai derajat keanggotaannya terhadap keluaran Tegangan. Untuk menentukan termasuk fungsi keanggotaan keluaran yang mana, sebelumnya kita tentukan aturan (rule) yang aktif. Karena nilai masukan Error masuk dalam keanggotaan Zero dan Pos, maka setelah dievaluasi aturan yang aktif adalah Aturan #1 dan Aturan #2. Untuk itu selanjutnya dilakukan inmplikasi untuk memperoleh consequent/keluaran sebuah aturan IF THEN
berdasarkan derajat keanggotaan antecedent.


Gambar 5. Proses Implikasi

Langkah selanjutnya adalah melakukan agregasi, yaitu mengombinasikan keluaran aturan IF-THEN menjadi fuzzy set tunggal. Pada kasus ini ditentukan menggunakan fungsi max sehingga menghasilkan fuzzyset seperti gambar berikut.

Gambar 6. Proses Agregasi


Hasil dari proses agregasi masih merupakan informasi fuzzy, untuk itu perlu dilakukan perhitungan yang menghasilkan bilangan tunggal sebagai nilai keluaran kontroler (defuzzyfikasi). Proses defuzzifikasi pada kasus ini menggunakan metode COG (Center of Gravity), dengan perhitungan seperti berikut.


Dengan metode COG (Center of Gravity) didapat nilai defuzzifikasi (nilai teg) sebesar 1.87 Volt. Jadi dapat disimpulkan bahwa pada saat kecepatan motor 285 rpm (terlalu cepat), kontroler harus memberikan tegangan pada motor lebih kecil dari tegangan normalnya (2.5Volt) yaitu sebesar 1.87 Volt agar kecepatan motor melambat.


7 thoughts on “Merancang Kendali Fuzzy Sederhana

Leave a Reply