Selasa, 25 Mei 2010

PROTOTIPE SISTEM KENDALI TEMPERATUR BERBASIS FUZZY LOGIC PADA SEBUAH INKUBATOR

A. Pendahuluan
Penggunaan teknik kendali Fuzzy Logic telah cukup meluas pada berbagai aplikasi mulai dari kendali proses industri, elektronika rumah tangga, kendali robot dan lain-lain. Dalam makalah ini diberi contoh aplikasi sederhana yang menggunakan kendali fuzzy, yaitu sistem pengaturan temperatur udara pada sebuah inkubator. Dimana nantinya sistem ini dapat diterapkan pada berbagai aplikasi kendali bidang pertanian, misalnya: inkubator, penetasan anak ayam, cold/hot storage dan sebagainya. Sistem kendali bidang pertanian saat ini sudah melewati perkembangan yang pesat, akan tetapi kendali fuzzy di bidang pertanian belum banyak dikembangkan. Padahal proses kendali ini relatif mudah dan fleksibel dirancang, dengan tidak melibatkan model matematik rumit dari sistem yang akan dikendalikan. Penggunaan tools PetraFuz pada prototipe ini sangat membantu proses rancang bangun sistem kendali fuzzy. Respon kendali secara langsung bisa diamati pada layar monitor PC.

B. Metode Perancangan Sistem
Perancangan prototipe sistem kendali temperatur inkubator ini diawali dengan pemahaman plant yang akan dikendalikan. Di sini digunakan sebuah kotak inkubator berukuran 25 cm x 50 cm x 30 cm yang terbuat dari kaca. Sebagai pemanas digunakan empat buah bola lampu masing-masing 100 Watt. Plant juga dilengkapi dengan pendingin berupa kipas. Sebagai sensor suhu digunakan sebuah solid state temperatur sensor LM335. Agar dapat diamati pengaruh pemberian gangguan dari luar, plant ini dilengkapi dengan sumber disturbance berupa empat buah lampu masing-masing 100 Watt dan sebuah kipas.

Langkah berikutnya, dilanjutkan dengan identifikasi input/output bagi kendali Fuzzy. Di sini digunakan dua input yaitu sinyal Error, yaitu berupa selisih antara Setting Point dan Present Value dan sinyal D_error yang merupakan kecepatan perubahan sinyal Error. Untuk output digunakan dua buah yaitu output lampu yang merupakan langkah perubahan penyalaan lampu serta output kipas (on atau off).


Gambar 1. Blok Diagram Perangkat Keras

Setelah I/O fuzzy teridentifikasi, langkah selanjutnya adalah membangun I/O membership function dan fuzzy if-then rules dengan bantuan program Petra Fuz yang akan dijelaskan kemudian. Selanjutnya PetraFuz membentuk program bahasa assembly MCS51 yang akan digabungkan dengan user program, lalu dicompile dan didownload menuju target sistem Mikrokontroler MCS51.

1. Perangkat Keras

Blok diagram perangkat keras yang dibuat seperti pada gambar 1 di atas. Sensor yang digunakan adalah sensor suhu LM335, dimana range output tegangan yang didapat adalah 0-2,5 Volt. Untuk menyesuaikan dengan range ADC 0-5 Volt maka digunakan rangkaian Span and Zero. Output ADC berupa data 8 bit yang diinputkan pada Mikrokontroller 8031. Dalam Mikrokontroler terdapat program fuzzy yang digunakan untuk mengontrol suhu, yaitu dengan menyalakan atau mematikan kipas atau lampu. Penyalaan kipas dan lampu dilakukan melalui relay. Setting Point (SP), Present Value (PV), error, d error sistem akan dimonitor oleh program PetraFuz pada PC. Sistem juga dilengkapi dengan gangguan dari luar (disturbance) yaitu berupa empat buah lampu dan satu kipas yang dapat dinyalakan atau dimatikan sewaktu-waktu melalui saklar, sistem kendali temperatur berbasis fuzzy dapat dilihat pada gambar 2.

Saat SP diinputkan ke dalam sistem, maka sistem akan menghitung error dan d_error. Kedua variable ini menjadi input akan dalam Fuzzy Logic Controller yang berupa perangkat lunak sistem.Output dari FLC memberikan aksi kendali pada plant, dalam hal ini mengaktifkan relay-relay untuk mematikan atau menyalakan kipas/lampu. Temperatur output plant akan diumpanbalikkan guna menghitung sinyal error dan d error.


Gambar 2. Blok Diagram dan Sistem Kendali Fuzzy


2. Perangkat Lunak

a. Pembuatan Membership Function (MF)
Pembuatan perangkat lunak FLC diawali dengan membentuk membership function dari crisp input dan output. Pada plant yang kami gunakan, terdapat dua buah crisp input dan dua buah crisp output. Crisp input yang digunakan yaitu Error dan D_error sedangkan crisp output yang digunakan yaitu Lampu dan Kipas.
Tidak seperti kontroler konvensional yang membutuhkan batasan yang tepat dari input dan outputnya, FLC menggunakan pendekatan secara lebih sederhana yaitu dengan menggunakan batasan-batasan negatif, nol dan positif. Pada desain ini, digunakan segitiga dan trapesium untuk MF input dan bentuk singleton untuk MF output. Alasan digunakan bentuk singleton pada MF output yaitu untuk memudahkan perhitungan COG (Center of Gravity) dari output.
- Input Error
Jumlah label membership function yang digunakan untuk error adalah lima buah yaitu dengan label Negative Big (NB), Negative Small (NS), Zero (Z), Positive Small (PS), Positive Big (PB) dengan batasan 00H-FFH. Bentuk membership function yang digunakan yaitu trapesium dan segitiga (lihat gambar 3).


Gambar 3 Input Error Membership Function

- Input D_error
Untuk crisp input d_error, membership function yang digunakan sama dengan crisp input error, yaitu Negative Big (NB), Negative Small (NS), Zero (Z), Positive Small (PS), Positive Big (PB). Untuk lebih jelasnya lihat gambar 4.


Gambar 4 Input D_error Membership Function

Batasan-batasan yang digunakan untuk input membership function dapat dilihat di tabel 1.
Tabel 1 Batasan Input Membership Function

- Output Lampu
Jumlah output membership function yang digunakan untuk Lampu adalah lima buah yaitu yaitu dengan label Negative Big (NB), Negative Small (NS), Zero (Z), Positive Small (PS), dan Positive Big (PB), dalam bentuk singleton.


Gambar 5 Output Membership Function Lampu

Batasan yang digunakan untuk output membership function dari lampu dapat dilihat di tabel 2.
Tabel 2 Batasan Output Membership Function Lampu


- Output Kipas
Untuk output Kipas digunakan dua buah membership function yaitu Negative (N) dan Positive (P) dalam bentuk singleton dengan batasan Negative (N) = -1.00 yang artinya matikan kipas dan Positive (P) = 1.00 yang artinya nyalakan kipas.


Gambar 6 Output Membership Function Kipas


Gambar 7 Grafik Respon Output terhadap Waktu

b. Pembuatan Rule
Setelah selesai membuat input dan output membership function, langkah selanjutnya yaitu membuat rules. Proses pembuatan rules dilakukan dengan menerapkan kemampuan manusia dalam mengendalikan suatu sistem kendali, sehingga kontroler dapat mengambil tindakan yang tepat untuk menyesuaikan outputnya.
Harga Error dan D_error ditentukan dari persamaan :
Error = SP – PV (1) D_error
= e(n) – e(n-1) (2)
Keterangan :
SP = Harga Setting Point
PV = Harga Output pada saat t
e(n) = Harga error pada saat t
e(n-1)= Harga error pada saat t-1

Dari gambar 7, terlihat jika Error adalah positif besar, dan D_error adalah nol, maka output yang harus dikeluarkan adalah positif dan besar (point a), atau bila dituliskan dalam bentuk rule yaitu :
IF error e(n) is Positive Big (PB) AND d_error De(n) is Zero (Z) THEN Output u(n) is Positive Big (PB), untuk lebih jelasnya perhatikan tabel 3.

Tabel 3 Rules


Gambar 8 Rules untuk Output Lampu


Gambar 9 Rules untuk Output Kipas

c. Pembuatan Program Assembly
Secara singkat diagram alir dari program yang dibuat seperti pada gambar 10.


Gambar 10. Diagram Alir Program

Dan Program utama dapat dilihat pada gambar 11


Gambar 11. Potongan Program Utama

C. Hasil-Hasil
Gambar 12 adalah grafik respon sistem kendali temperatur udara yang telah dirancang yaitu nilai PV terhadap waktu. Garis lurus menunjukkan SP dari sistem.



Gambar 12 Grafik Respon Sistem PV dan SP terhadap Waktu



Gambar 13 Grafik Error terhadap Waktu

Gambar 13 merupakan grafik error terhadap waktu. Terlihat bahwa pada saat awal harga error bernilai positif sangat besar. Garis lurus adalah posisi pada saat nilai error nol.
Gambar 14 menunjukkan grafik d_error terhadap waktu. Garis lurus menunjukkan nilai nol dari d_error. Sedangkan saat d_error positif berarti sistem kendali sedang menurunkan suhu menuju ke SP.


Gambar 14 Grafik D_error terhadap Waktu


Gambar 15 Grafik Respon Sistem dengan Gangguan Dua Lampu

D. Kesimpulan
Dari hasil hasil eksperimen yang sudah dilakukan terdapat beberapa hal yang perlu dicatat antara lain:
- Proses ekperimen menunjukkan bawah teknik kendali fuzzy logic relatif mudah untuk dirancang. Dengan menerapkan asas-asas atau logika umum, fuzzy rules dapat dibentuk dengan mudah.
- Penggunaan sistem pengembangan fuzzy logic PetraFuz cukup membantu dalam melakukan perancangan dan implementasi kendali temperatur inkubator ini. Proses kendali dapat diamati secara online dimana hal ini sangat dibutuhkan dalam penalaan fuzzy.
- Dari hasil pengujian tampak bahwa kendali fuzzy mampu mengatasi gangguan dari luar dengan degradasi respon kendali yang tidak terlalu signifikan.
- Penelitian ini terbuka luas untuk pengembangan lebih lanjut, terutama pada aplikasi kendali temperatur pada bidang pertanian. Aturan fuzzy dapat disesuaikan dengan respon kendali yang dikehendaki sesuai dengan plant yang hendak dikendalikan.

1 komentar: