Anda di halaman 1dari 5

ies.

2002
Penerapan Fuzzy Logic pada Sistem Pengontrolan Penanak Nasi
(Rice Cooker) dengan FPGA Xilinx


Siti Halimah Baki dan Obed Adi Darma
J urusan Teknik Elektro FTI, Institut Teknologi Sepuluh Nopember
Kampus ITS, Keputih Sukolilo, Surabaya 60111
Telp : +62-31-5947302



Abstrak

Penanak nasi (rice cooker) konvensional hanya
menggunakan parameter suhu dalam proses penanakan
nasi, sehingga sering didapatkan hasil yang kurang
memuaskan. Untuk itu dirancang suatu sistem
pengontrolan penanak nasi dengan menggunakan
parameter tambahan yaitu Kadar Air (moisture). Kedua
parameter tersebut diolah dengan menggunakan Logika
Fuzzy (Fuzzy Logic) untuk menghasilkan output sinyal
PWM sebagai pengatur heater. Sistem pengontrolan
tersebut diwujudkan dengan menggunakan teknologi
Xilinx FPGA yang menggunakan bahasa pemrograman
VHDL pada software Xilinx Foundation 2.1. Selain sistem
Logika Fuzzy yang digunakan, pada Xilinx FPGA juga
akan dirancang beberapa bagian yang mendukung proses
Logika Fuzzy juga penampilan data untuk pengamatan
jalannya proses serta pengontrolan panas rice cooker dan
dengan memilih kadar air pada hasil penanakan yang
diinginkan

Kata kunci : Logika Fuzzy, FPGA Xilinx XS4010, VHDL

1. Pendahuluan
Penerapan teknologi elektronika dalam bidang
teknologi dalam kehidupan sehari-hari sangat banyak dan
meliputi hampir semua aspek kehidupan manusia modern,
antara lain dalam peralatan penanak nasi. Pada sistem
yang sudah ada seringkali terdapat kelemahan dan hasil
yang kurang memuaskan karena hanya menggunakan
parameter suhu. Dengan menambahkan paremeter kedua
yaitu kadar air dan menggunakan logika Fuzzy yang
diterapkan pada IC FPGA Xilinx diharapkan mampu
memperbaiki kinerja sistem pengontrolan tersebut,
sehingga mampu memperoleh hasil yang lebih
memuaskan.
Dengan menggunakan Logika Fuzzy sangatlah
bermanfaat dalam berbagai sistem elektronika untuk
masalah pengambilan keputusan, juga mempermudah
dalam penggambaran karakteristik suatu sistem yang akan
dikontrol. Penerapan logika fuzzy telah menyebar dalam
berbagai bidang, antara lain adalah sistem pengontrolan
penanak nasi. Untuk mendapatkan hasil penanak nasi yang
memuaskan diperlukan suatu sistem pengontrol yang tepat
dalam pengaturan panas yang diberikan selama proses
penanakan berlangsung. Sehingga bisa dihasilkan nasi
yang sesuai dengan keinginan, dalam hal ini kadar air pada
nasi tersebut. Selain itu ditambahkan pula beberapa
fasilitas yang akan memudahkan penggunaan penanak
nasi, yaitu pengaturan waktu penanakan (timer) dan
penentuan suhu penjagaan (keep warm temperature).

2. Prinsip Dasar
2.1 FPGA
FPGA adalah sebuah IC Programmable Logic yang
memiliki arsitektur seperti susunan matriks sel-sel logika
Yang dapat berhubungan satu sama lain melalui jalur-jalur
I/O dengan menggunakan channel routing.
Pada dasarnya IC FPGA keluaran Xilinx memiliki
dua buah elemen konfigurasi utama, yaitu :
CLB, berfungsi untuk mengimplementasikan
fungsi-fungsi logika yang akan dibuat.
IOB, berfungsi sebagai blok interface dengan
rangkaian di luar IC FPGA.
Selain itu, terdapat pula tiga tipe rangkaian yang
mendukung arsitektur IC FPGA Xilinx, yakni:
Three State Buffer (TBUF), yang berfungsi
sebagai pengatur jalur-jalur horizontal yang
berhubungan dengan CLB.
Wide Edge Decoder, yang ada pada setiap IOB
dan berfungsi sebagai dekoder alamat yang
memiliki banyak bit.
On-chip Oscillator yang berfungsi menghasilkan
sinyal clock dengan frekuensi tertentu.

2.2 Logika Fuzzy
Pada pertengahan 1960, Prof Lotfi Zadeh dari
University of California, Berkeley mengenali bahwa
kondisi benar dan salah dari logika Boolean tidak
memperhitungkan berbagai keadaan keabu-abuan yang
terdapat dalam dunia yang sebenarnya. Tidak seperti pada
logika Boolean yang hanya bernilai tunggal, pada logika
Sebagai contoh adalah menentukan apakah suhu 80F
hangat ataukah panas? Pada logika Fuzzy dan dunia nyata,
keduanya mungkin merupakan jawaban yang benar.
Seperti yang dapat dilihat pada gambar bahwa 80F
sebagian termasuk hangat dan sebagian termasuk panas
pada representasi fuzzy set.














Gambar 1. Perbedaan fungsi keanggotaan konvensional
dan fuzzy set.

Pada fungsi keanggotaan konvensional memang
terdapat adanya overlap antar sel, tetapi perpindahan antar
sel terjadi sangat cepat, yaitu dari menjadi anggota suatu
sel kemudian tidak menjadi anggota. Sementara itu pada
fuzzy set, perpindahannya terjadi secara bertahap
(gradual), sehingga suatu elemen dapat memiliki sebagian
keanggotaan pada beberapa sel pada suatu saat yang
bersamaan.
ies.2002
Logika klasik yang menggunakan fungsi keanggotaan
konvensional seperti pada gambar dibawah, suhu 79,9F
akan digolongkan sebagai hangat dan suhu 80,1F
sebagai panas. Perubahan yang kecil pada sistem dapat
mengakibatkan reaksi yang sangat berbeda. Pada sistem
yang menggunakan fuzzy set, perubahan suhu kecil yang
terjadi akan menghasilkan reaksi yang lebih baik pada
penampilan sistem.
Logika Fuzzy mampu menghilangkan berbagai
ketidakpastian dengan memberikan nilai-nilai tertentu
pada gradasi tersebut. Sebagai contohnya, suhu 80F
bernilai 0,6 jika digolongkan pada skala antara 0 sampai 1
untuk keanggotaan panas. Angka tersebut kemudian
digunakan untuk menghasilkan penyelesaian yang pasti
pada masalah yang akan dipecahkan. Meskipun namanya
terdengar berlawanan, Logika Fuzzy (samar) menyediakan
metode yang benar-benar tepat untuk menghasilkan suatu
keputusan yang tepat.



Gambar 2. Perbedaan penentuan keanggotaan
kovensional dan fuzzy set

Untuk menghasilkan suatu penyelesaian yang tepat
dari masalah tertentu dengan menggunakan Logika Fuzzy
dilakukan beberapa langkah yaitu :
Fuzzifikasi
Rule Evaluation
Defuzzifikasi


















Fuzzifikasi dan Membership Function
Fuzzification (fuzzifikasi) adalah proses pertama
dalam proses fuzzy yang melibatkan perubahan domain.
Crisp Input ditransfornasikan menjadi fuzzy input.
Misalnya crisp input 78F untuk suhu udara diubah
menjadi warm. Syarat utama untuk merubah crisp input
menjadi fuzzy input adalah menentukan membership
function untuk tiap input.
Langkah yang dilakukan yaitu menentukan fuzzy
label pada Universe of Discourse dari tiap crisp input,
misalnya untuk suhu udara dibagi menjadi lima bagian
(label) : cold ,cool ,normal ,warm, hot.
Setiap crisp input dapat mempunyai lebih dari satu fuzzy
label, misalnya suhu 80F dapat mempunyai fuzzy label
warm dan hot. Secara umum, semakin banyak fuzzy
label yang ditentukan maka resolusi sistem tersebut akan
semakin tinggi sehingga menghasilkan sistem kontrol
yang lebih halus. Kerugian dari penentuan fuzzy label
yang banyak adalah pemakaian waktu perhitungan yang
lebih lama dan juga akan menyebabkan sistem tersebut
tidak stabil. Pada umumnya, banyaknya fuzzy label adalah
bilangan ganjil seperti 3, 5,7, 9 tetapi bilangan-bilangan
ini tidak mutlak. Selain itu, fuzzy set yang ditentukan
sebaiknya seimbang dan simetris pada nol atau normalnya.












Gambar 5. Contoh pemberian angka pada fuzzy label

Pada gambar diatas menunjukkan contoh pemberian
angka pada lima fuzzy label yang menyatakan suhu udara
dalam satuan Fahrenheit.
Mendefinisikan crisp input dalam bentuk fuzzy akan
membuat sistem mempunyai respon yang berubah secara
gradual (bertahap) dan halus jika input berubah secara
bertahap.

Rule Evaluation
Prosesor Fuzzy menggunakan rules untuk
menentukan aksi kontrol apa yang akan muncul sebagai
respon dari input yang diberikan pada sistem tersebut.
Pada tahap ini, rules diberlakukan pada fuzzy input dan
mengevaluasi tiap rule dengan input. Fuzzy rules
biasanya berupa if-then statement yang menyatakan aksi
yang akan dilakukan sebagai respon dari fuzzy input yang
bervariasi. Metode Rule Evaluation yang digunakan
disebut Min-Max Interference, karena metode ini
mengambil nilai minimum dari antecendent untuk
menentukan rules strength dan mengambil nilai
maksimum dari rules strength tiap consequent untuk
menentukan fuzzy output.


Gambar 3. Proses pada Logika Fuzzy

Defuzzifikasi
Pada proses defuzzification (defuzzifikasi), seluruh
output fuzzy yang signifikan (seperti waktu : long,
medium, short) akan dikombinasi menjadi sesuatu
yang spesifik meliputi hasil untuk variabel output. Untuk
memperpudah perhitungan digunakan rumus COG yang
berlaku untuk membership function yang berbentuk
triangular dan trapeziodal. Untuk membership function
yang berbentuk singleton, rumusnya adalah :

COG = (fuzzy output i) x (position on x-axis)
i

(fuzzy output i)
i


3. Implementasi
Perencanaan dan pembuatan alat terbagi menjadi dua
bagian yaitu perencanaan perangkat keras (hardware) dan
perencanaan modul FPGA yang dirancang dengan
menggunakan software Xilinx Foindation 2.1I


ies.2002
3.1 Perencanaan Perangkat Keras
Perangkat keras terdiri dari Modul akuisisi data
menggunakan sensor suhu IC LM35, sensor kadar air dan
rangkaian pengkondisi sinyal, Modul ADC menggunakan
IC ADC 0809 keluaran dari National Semiconductor,
modul display berupa LCD (Liquid Crystal Display) dan
LED, modul Pulse Width Modulation (PWM), modul catu
daya, dan board Xilinx XS-40, downloader serta beberapa
buat keypad input.
Gambar 5. Diagram Blok Perencanaan Perangkat Keras

3.1.1 Modul Akuisisi Data
Modul akuisisi data terdiri dari sensor suhu IC LM35
keluaran National Semiconductor, sensor kadar air dan
rangkaian pengkondisi sinyal yang berupa IC LM324.
Untuk mendapatkan data mengenai suhu, digunakan
sensor suhu derajat Celcius LM35. Sensor ini merupakan
IC sensor suhu yang presisi, dimana tegangan keluarannya
berbanding linier dengan suhu derajat Celcius. Sensor ini
memiliki kemampuan untuk menghasilkan tegangan
keluaran sebesar 10 mV untuk seiap perubahan suhu 1 C.
Sebagai contoh : jika suhu yang diterima sebesar 30 C
maka tegangan keluaran dari LM35 adalah sebesar
300mV.
Untuk mengetahui kadar air dari suatu bahan, dalam
hal ini nasi digunakan metode perubahan resistansi dari
bahan tersebut. Setiap bahan memiliki nilai resistansi yang
berbeda-beda, air adalah satu bahan yang memiliki nilai
resistansi yang cukup rendah sehingga dapat mengalirkan
arus listrik. Hal ini yang akan digunakan untuk mendeteksi
kadar air pada nasi, didapatkan bahwa semakin tinggi
kadar airnya maka resistansinya semakin rendah dan
sebaliknya jika kadar air semakin rendah maka
resistansinya semakin tinggi.
Rangkaian pengkondisi sinyal ini terdiri dari
rangkaian voltage follower dan rangkaian differensial
amplifier dengan menggunakan op-amp. Rangkaian
voltage follower berfungsi sebagai penyangga atau
matching impedance antara sensor LM35 dengan
rangkaian sesdudahnya, sedangkan rangkaian differensial
amplifier digunakan untuk menghilangkan tegangan
dibawah 300mV (suhu 30C) dan menguatkan tegangan
keluaran sehingga didapatkan tegangan maksimal sebesar
5V saat suhu udara 110C.












Gambar 6. Rangkaian Pengkondisi Sinyal

3.1.2 Modul Analog to Digital Converter (ADC)
ADC yang digunakan adalah ADC 0809 keluaran
National Semiconductor. Gambar rangkaian dari
ADC0809 :











Gambar 7. Rangkaian ADC 0809


3.1.3 Modul Driver PWM
Pengaturan panas dari heater dilakukan dengan
mengatur tegangan yang diberikan, untuk itu digunakan
rangkaian Pulse width Modulation (PWM). Dengan
menggunakan duty cycle yang berbeda-beda, maka akan
didapatkan daya keluaran yang berbeda-beda pula.
Untuk memisahkan (isolasi) tegangan sumber dari
controller, digunakan optoisolator MOC3021 dan sebagai
swicthing digunakan Triac 4004.


Gambar 9. Rangkaian PWM driver


3.1.4 Modul Liquid Crystal Display (LCD)
Modul display yang adalah sebuah LCD yang
memiliki display 2 baris x 20 kolom. Dengan
menggunakan data 8 bit paralel, LCD ini dapat dengan
mudah diinterfacekan dengan mikrokontroller
menggunakan level tegangan TTL, tetapi penggunaan
dengan menggunakan level tegangan Xilinx sebesar 3,3
Volt masih dapat ditoleransi. Memiliki register data berisi
karakter-karakter umum, dan juga penciptaan karakter
baru. Tegangan suplai yang digunakan sebesar 5Volt.

3.1.5 Modul catu daya
Untuk memberikan sumber tegangan bagi semua
modul dan board Xilinx XS-40 diperlukan rangkaian catu
daya. Sumber tegangan yang digunakan adalah +5Volt
untuk sensor suhu, ADC, LCD dan Board XS-40,
sedangkan untuk modul pengkondisi sinyal dan penggerak
relay menggunakan tegangan sumber +12Volt.

3.1.6 Board Xilinx XS-40
Board XS-40 ini digunakan untuk
mengimplementasikan modul-modul VHDL untuk paper
ini. Komponen utama dari board ini adalah IC FPGA
Xilinx XC4010XL PC84-3 sebagai pusat perencanaan
desain FPGA, disamping itu terdapat pula IC TTL
74LS14 , 1 buah 7 segment, serta regulator tegangan.
ies.2002

3.1.7 Downloader
XESS-BOARD yang berisi IC Xilinx FPGA
memerlukan serial PROM untuk men-download bit stream
konfigurasi, untuk penggunaan board dalam mode Stand
Alone. Agar alat bisa berdiri sendiri tanpa bantuan
komputer untuk men-download file bit stream ke XESS-
BOARD, maka dirancang modul untuk men-download bit
stream ke XESS-BOARD.
Proses download bit stream secara serial lewat DB25
ke FPGA hanya memerlukan 3 pin. Pin yang digunakan
yaitu PROG, CCLK , dan DIN. Digunakan mikrokontroler
AT89C51 untuk proses kontrol dan paralel EPROM untuk
menyimpan bit stream. Dipilih AT89C51 karena
mempunyai flash EEPROM internal sebesar 4 Kbyte.
Sehingga lebih dari cukup untuk membuat program
kontrolnya. EPROM yang digunakan 27C512 dengan
kapasitas maksimum 64 Kbyte, lebih dari cukup untuk
menyimpan bit stream IC Xilinx FPGA XC4010XL.

3.2 Perencanaan Modul FPGA
Modul-modul yang terdapat pada FPGA ini dibuat
melalui software Xilinx Foundation v2.1. Secara garis
besar terdapat 6 buah modul utama, yaitu modul akuisisi
data (ADC), modul Fuzzy Controller, modul Kontrol
Proses, modul Display Controller, modul driver PWM,
serta Clock Generator.
3.2.1 Modul Akuisisi Data
Modul akuisisi data ini berfungsi untuk mengambil
data dari ADC 0809 yang berasal dari rangkaian input
analog berupa sensor suhu dan kadar air untuk diproses
selanjutnya di FPGA. Input data analog menggunakan
channel 0 dan channel 1 dari ADC0809.

3.2.2 Modul Fuzzy Controller
Fungsi dari modul Fuzzy Controller ini adalah
sebagai pengatur tingkat panas heater dengan
menggunakan logika fuzzy berdasarkan parameter suhu
dan kadar air. Seperti telah dijelaskan sebelumnnya bahwa
pada proses Logika Fuzzy dapat dibagi menjadi 3 bagian
utama, yaitu Fuzzifier, Rule Evaluation, dan Defuzzifier,
serta sebuah macro untuk menyimpan data membership
function.

3.2.2.1 Fuzzifier
Fungsi dari Fuzzifier adalah mengubah nilai variabel-
variabel input yang diterima menjadi fuzzy input yang
selanjutnya akan diproses untuk menentukan output yang
dikehendaki. Seperti telah disebut diatas bahwa variabel
yang digunakan adalah delta suhu dan kecepatan
perubahan suhu, maka terdapat dua Membership function
yang digunakan untuk masing-masing variabel diatas.
Fuzzifier ini dibuat dengan menggunakan HDL editor.
Untuk menghasilkan membership degree dari variabel
input, digunakan rumus sebagai berikut :


Membership degree =FF [(input center) x slope]

Dimana :
Input = variabel input yang akan diproses
Center = nilai tengah dari tiap label
Slope = kemiringan dari tiap label (FF H/ width)

3.2.2.2 Rule Evaluator
Metode yang digunakan untuk proses rule evaluator
adalah Min-Max Rule, yang berarti mencari nilai minimum
dari tiap antecendence untuk kemudian dicari nilai
maksimum dari semua consequent yang ada pada tiap
rule.






Gambar 9. Diagram Blok Rule

3.2.2.3 Defuzzifier
Untuk mendapatkan aksi yang diinginkan, yaitu level
panas heater maka dibuat membership function untuk
outputnya dengan metode Center of Gravity (COG)
singleton.

3.2.3 Modul Kontrol Proses
Modul Kontrol Proses adalah pusat pengaturan
seluruh jalannya proses logika fuzzy. Modul ini mengatur
pengambilan data dari ADC, menentukan variabel input,
memilih center, width, slope dan tipe membership function
dengan memberikan alamat untuk pada Membership
function data storage, juga melakukan pengaktifan sinyal-
sinyal yang dibutuhkan dalam proses Rule Evaluator dan
defuzzifier.
Selain untuk proses fuzzy logic, macro ini juga
akan menentukan proses penanakan dan penghangatan
berdasarkan menu-menu yang telah dipilih melalui input
key, pengaktifan timer yang telah diprogram malalui
keypad. Modul Kontrol Proses ini berupa Finite State
Machine yang terdiri dari 15 state

3.2.4 Modul Display Controller
Modul display controller berfungsi untuk
menampilkan data-data pada proses penanakan dan menu
yang dipilih.

3.2.5 Modul Driver PWM
Sebagai aksi dari fuzzy controller adalah tingkat
pemanasan, untuk itu kita perlu mengatur daya listrik
heater. Dari hasil defuzzifikasi didapatkan tingkat
pemanasan yang akan diubah ke bentuk pulsa PWM untuk
menggerakkan Triac sebagai pengontrol daya. J adi modul
ini akan mengubah nilai keluaran tersebut menjadi
gelombang kotak dengan duty cycle yang berubah-ubah
sesuai dengan input dari defuzzifier.

3.2.6 Modul Clock Generator
Modul Clock Generator ini berfungsi untuk
memberikan Clock bagi setiap modul yang ada di dalam
perancangan FPGA. Untuk memberikan clock tersebut
kita gunakan komponen OSC4 yang ada pada library
XC4010XL.

4. Prngujian dan Pengukuran
Pengujian dilakukan pada rangkaian perangkat keras
luar dan modul-modul FPGA dalam IC XC4010 XL.
Untuk pengujian modul FPGA dilakukan dengan dua cara
yaitu melalui simulasi untuk tiap modul dan melalui
pengujian secara hardware. Sedangkan untuk rancangan
perangkat keras luar dilakukan untuk modul sensor dan
pengkondisi sinyal.
Parameter-parameter dari sistem antara lain:
Pengkondisi sinyal : differential amplifier, ADC
0809, Display LCD dan LED,
Fuzzy Logic Controller : Dual input data 8-bit,
Single output , Resolusi Fuzzy 8 bit, 8
Membership Function, 3 tipe Membership
Function, 15 x 8 bit Rule dengan Min-Max
ies.2002
system, Defuzzyfier dengan system Center of
Gravity Singleton,
Heater rice cooker 110V, 450 Watt.

Tabel Hasil pengujian modul sensor kadar air

J umlah Air (cc) Nilai tegangan (V)
0 0
50 1,54
75 2,02
100 2,2

5. Kesimpulan
1. Pada paper kali ini sistem terdiri atas sensor suhu dan
kadar air, pengkondisi sinyal, ADC, display LCD,
Fuzzy Logic Controller pada FPGA, driver PWM dan
heater.
2. Paper ini terealisasi dengan memanfaatkan 361 CLB
dari total 400 CLB (90 %), 34 pin dari total 61 I/O
yang dimiliki oleh IC FPGA XC4010XL.
3. Dengan menggunakan fuzzy controller didapatkan
aksi pengontrolan panas rice cooker yang lebih baik
dan dapat memilih kadar air pada nasi yang
diinginkan.

Daftar Pustaka
[1] Application Report, Fuzzy Logic: An Overview of
the Latest Control,Methodology Digital Signal
Processing Products, 1992.
[2] Kartika, Andy Haryono, Aplikasi FPGA sebagai
Pendeteksi Parameter Tanah Dengan Metode
Fuzzy Logic Tugas Akhir, J urusan Teknik
Elektro FTI ITS Surabaya, 2000.
[3] Lionel Picandet, TEMPERATURE CONTROL
USING FUZZY LOGIC, APPLICATION NOTE
SGS-Thomson Microelectronics, 1991.
[4] Michael Barr, Introduction to Pulse Width
Modulation, Embedded Systems Programming,
2001.
[5] MOTOROLA SEMICONDUCTOR, Fuzzy Logic
and the NEURON CHIP,MOTOROLA
SEMICONDUCTOR Application Note, 1992.
[6] Motorolla, FUZZY LOGIC EDUCATIONAL
PROGRAM, Motorolla, 1992-1994.
[7] National Semiconductor Corporation, NATIONAL
DATA ACQUISITION DATABOOK, 1995.
[8] National Semiconductor Corporation, NATIONAL
OPERATIONAL AMPLIFIER DATABOOK,
1995.
[9] National Semiconductor Corporation, NATIONAL
POWER ICS DATABOOK, 1995.
[10] NEC Electron device, BLOCK DIAGRAMS(Rice
Cooker System) , 1995-2002.
[11] Peter H. Anderson, PULSE WIDTH
MODULATION, Dept of Electrical Engineering,
Morgan State University, Baltimore, 1997.
[12] R. Boylestad and L. Nashelsky,ELECTRONIC
DEVICE AND CIRCUIT THORY, Fifth
Edition,Prentice Hall International, 1992.
[13] R.F.Coughlin and F.F.Driscoll, OPERATIONAL
AMPLIFIER AND LINEAR IC, Second Edition,
Prentice Hall, 1982.
[14] Seiko Instruments Inc, LCD MODULE USER
MANUAL, 1987.
[15] Skahill, Kevin. Cypress Semiconductor, VHDL for
Programmable Logic. California : Addison-
Wesley Publishing, Inc, 1996.
[16] Xilinx, Inc, The Programmable Logic Databook
1999, San J ose, CA - USA : Xilinx, Inc, 1999.
[17] Zeus.eed, Moisturedetector, 2001.

Anda mungkin juga menyukai