## IMPLEMENTASI

## FUZZY LOGIC CONTROLLER
- MCS 51
UNTUK PENGATURAN TEMPERATUR RUANG DAN PUTARAN MOTOR DC
(1) Roswaldi Sk, (1) H.A Mooduto
(1) Staf Pengajar Teknik Elektro Politeknik Negeri Padang

## ABSTRAK
Metoda kendali fuzzy logic - MCS 51 telah diimplementasikan dalam penelitian relevansi yaitu mesin Inkubator Bayi yang digunakan untuk pengaturan temperatur ruang dan putaran motor DC. Pengaturan temperatur ruangan berasal dari elemen pemanas dan pengaturan putaran motor DC yang memutar sebuah kipas untuk menstabilkan suhu ruang. Kondisi yang diinginkan dalam penelitian ini adalah walaupun gangguan pada beban berubah-ubah, tetapi kestabilan temperatur ruangan tetap dapat dipertahankan sesuai keinginan. Keuntungan penerapan fuzzy logic controller adalah sistem akan menjadi lebih stabil yang terlihat pada respon dari output yang dihasilkan dan juga ketahanan sistem terhadap gangguan. Dengan fuzzy logic controller sistem lebih mudah untuk disesuaikan dengan berbagai kondisi agar menghasilkan sistem kendali yang stabil dan handal.

## ABSTRACT
In this research is method implementation conduct logic fuzzy - MCS 51 and used for room temperature arrangement and DC motor rotation were applied Incubator Baby machine. The research desired room temperature arrangement used to heater element and motor rotation arrangement as stabilize room temperature. The condition is wanted in this research is although trouble at fickle burden, but room temperature stability remain to earn to be defended according to desire. Advantages are system will become more stable, this will seen at respond of yielded output as well as system resilience to trouble. With easier system controller logic fuzzy to be adapted for various condition of yielding reliable and stable control system.
Keywords : Fuzzy Logic Controller, Micro controller MCS-51

## 1. PENDAHULUAN

## 1.1. Latar Belakang.
Perkembangan teknik kendali begitu cepat, lebih- lebih setelah ditemukan Logika Fuzzy oleh Prof. Lotfi Zadeh dari Universitas California Barkeley Amerika Serikat pada tahun 1965. Semenjak itu metoda kendali logika fuzzy banyak diterapkan di industri. Labor Instrumentasi dan Sistem Kendali Teknik Elektro Politeknik ikut mengembangkan teknik kendali ini baik berupa penelitian maupun pengembangan materi praktikum labor. Dalam rangka itu diusulkan model sistem kendali proses yaitu pengaturan temperatur ruang dan putaran motor dc menggunakan sistem kendali cerdas logika fuzzy yang digabungkan dengan mikrokontroler MCS-51 sebagai pengontrol. Implementasi sistem kendali ini banyak digunakan di industri pengolahan.
Pengaturan temperatur ruang dan putaran motor dc dapat diterapkan pada sebuah Mesin Inkubator, yaitu suatu alat yang digunakan sebagai pemanas ruang agar dapat menghasilkan suhu yang stabil dan sesuai dengan kebutuhan. Misalnya untuk mesin penetas
telur dengan ke-stabilan suhu antara 36  C sampai 37  C, atau inkubator bayi dengan suhu 40  C sampai 42  C. Suhu ini disesuaikan dengan suhu dalam perut ibu yang berkisar pada suhu tersebut, sedangkan mesin packing dibutuhkan kestabilan suhu 85  C.
Mesin Inkubator ini dikendalikan dengan MCS-51 yang program kendalinya menggunakan fuzzy logic controller . Keuntungan penerapan fuzzy logic controller pada mesin adalah sistem akan menjadi lebih stabil, ini akan terlihat pada respon sistem dan juga ketahanan sistem terhadap gangguan. Dengan fuzzy logic controller sistem lebih mudah untuk disesuaikan dengan berbagai kondisi agar menghasilkan sistem kendali yang handal.
Sistem Plant (objek kendali) yang dikehendaki adalah pengaturan temperatur ruangan yang berasal dari elemen pemanas (digunakan lampu pijar) dan pengaturan putaran motor dc (digunakan motor kipas) untuk menurunkan atau menstabilkan suhu ruang. Kondisi yang diinginkan dalam penelitian ini walaupun gangguan pada beban berubah-ubah, tetapi
kestabilan temperatur ruangan tetap dapat dipertahankan sesuai keinginan.
Relevansi dari hasil penelitian adalah relevan dengan materi praktikum labor kendali sehingga menjadi nilai tambah untuk pengembangan materi praktikum di laboratorium instrumentasi dan sistem kendali jurusan teknik elektro (lingkup kegiatan point B).
Elemen Lampu Motor Kipas
LC D Kaca Panel kontrol Tutup
Gambar 1. Plant Sistem Pengendali Temperatur Ruang
Hasil yang diharapkan adalah: (1) sebuah miniatur dari plant pengendali temperatur ruang dan putaran motor DC; (2) modul praktikum dengan aplikasi fuzzy logic controller -MCS-51 sebagai wujud implemetasi dari mata kuliah sistem kontrol pada kondisi yang sesungguhnya. (3) job sheet praktikum sistem kendali fuzzy logic sebagai tambahan materi praktikum.

## 1.2. Perumusan Masalah
1. Metoda kendali logika fuzzy merupakan pengembangan dari teknik kendali analog yang konvensional dan dengan
bantuan sebuah mikrokontroler MCS-51 maka program kendali ini dapat
di implementasikan untuk mengendalikan bermacam-macam kendali proses industri seperti kendali temperatur ruang, putaran motor, penetas telor, inkubator bayi, oven, packing machine, dsb.
2. Metoda kendali logika fuzzy disebut sistem kendali cerdas, karena metoda kendali ini mampu mengendalikan plant serumit apapun, tidak memerlukan perhitungan matematis yang rumit, sederhana dan mudah diimplementasikan pada sistem kendali proses ataupun servo mekanis yang berafiliasi industri.
3. Pengendalian temperatur ruang dan motor kipas menggunakan kendali logika fuzzy dan MCS dapat menjadi tambahan materi praktikum mahasiswa di labor instrumentasi dan kendali
4. Apakah dengan penelitian “ Implementasi Fuzzy Logic Controller pada MCS 51 untuk Pengaturan Temperatur Ruang dan Putaran Motor DC” ini akan dapat menjawab kebutuhan akan perkembangan teknologi kendali saat ini

## 1.3. Metodologi
Agar dicapainya sasaran learning outcomes seperti yang diharapkan maka metodologi yang ditawarkan adalah:
1. Melaksanakan studi literatur yang materinya berkaitan langsung dengan usulan kegiatan penelitian
2. Melakukan diskusi dengan rekan satu tim penelitian untuk mencari solusi yang lebih effisien
3. Menggunakan metoda pendekatan antara teori dan praktek dengan melakukan percobaan di laboratorium
4. Melaksanakan pengujian yaitu dengan menguji karakteristik alat yang dibuat dan dibandingkan dengan teori-teori yang menunjang rancangan penelitian ini

## 1.4. Hasil Yang Diharapkan
1. Sebuah miniatur plant sistem pengendalian temperatur ruang dan putaran motor dc.
2. Sebuah sistem kendali logika fuzzy pada MCS 51 yang diterapkan pada pengaturan temperatur ruang dan putaran motor dc.
3. Job sheet praktikum sistem kendali MCS 51 dan logika fuzzy dengan plant pengaturan temperatur ruang dan putaran motor dc
4. Terciptanya suasana akademis melalui kerjasama penelitian yang baik antara staf pengajar dengan mahasiswa.

## 2. RANCANGAN KEGIATAN
2.1. Tahapan Persiapan
a. Pengumpulan informasi data hardware dan software
b. Menyiapkan data bahan “Tabel (1)”
c. Menyiapkan alat/instrumen penelitian
1. Mesin Las 1 unit 2. Gergaji besi 1 buah 3. Mesin pelipat 1 unit 4. Mesin bor 1 unit 5. Tool set 1 set 6. Komputer 1 unit
d. Pembelian bahan HW dan SW.
e. Pembuatan/perakitan HW dan SW
f. Menyusun rancangan penelitian :
 Percobaan dilakukan di Laboratorium Instrumentasi dan Kendali jurusan teknik elektro Politeknik Universitas Andalas Padang
 Variabel yang di uji pada rangkaian kendali local, level ciaran dan program kendali adalah perubahan ketinggian air yang dikonversi dalam bentuk variable tegangan.
 Metoda penelitian
adalah metoda percobaan dan perbandingan antara metoda kendali PID digital dan metoda Logika Fuzzy pada plant level cairan.
g. Melaporkan hasil penelitian sesuai kesepakatan jadwal.
Tabel 1. Daftar Kebutuhan Bahan No Uraian Bahan Spesifikasi Jumlah 1 2 3 4 5 6 7 8 9 10 11
12
13 14 15 16 17 Kaca Kaca Triplek Karet Les Kaca Lem Kaca Paku Triplek Bola Lampu Motor Kipas Sensor Suhu IC Resistor Transistor Dioda bridge Modul LCD 16x2 Keypad Fuzzy controller Disket 1.4 MB 5 mm 5 mm 18 mm 5 mm 150 ml 1 inchi 25 w/220 v 12 v/dc LM35 4N25 220  /0,5w 290  /0,5w 10k/2w 39k/2w 2N2222 BC534 4004LT 2N124 M124A 8x8 MC68HC1 1 Fuji 50x30 cm 40x30 cm 1 lbr 2 m 2 tube ¼ kg 3 bh 1 bh 1 bh 4 bh 10 bh 10 bh 6 bh 6 bh 4 bh 4 bh 4 bh 4 bh 2 bh 1 bh 1 bh 1 box

## 2.2. Perancangan Sistem
Inkubator adalah suatu alat yang digunakan sebagai pemanas suatu tempat agar dapat menghasilkan suhu yang stabil dan sesuai dengan kebutuhan. Misalnya inkubator yang dipergunakan untuk penetas telur membutuhkan suhu yang stabil antara 36  C sampai 37  C, lain lagi dengan inkubator bayi dibutuhkan suhu 40  C sampai 42  C, suhu ini disesuaikan dengan suhu dalam perut ibunya yang berkisar pada suhu tersebut.
Inkubator ini dikendalikan dengan MC68HC11 yang difungsikan sebagai fuzzy controller . Keuntungan fuzzy logic adalah sistem akan mudah menjadi stabil. Dengan fuzzy logic sistem lebih mudah untuk disesuaikan dengan berbagai kondisi, seperti pengaruh besar ruangan inkubator, suhu sekitar.

## a. Blok Diagram Sistem
Secara lengkap blok diagram dari sistem inkubator dapat dilihat “Gambar (2)” berikut:
Modul LCD
Intel MCS-51 Fuzzy Logic Controller Keypad
Sensor suhu
Driver (PWM) Phase Control Lampu dan Motor kipas Sensor putaran
Gambar 2. Blok diagram sistem lengkap

## b. Prinsip Kerja Mesin
Sensor suhu berupa LM 35 dipakai untuk mengukur nilai suhu dalam inkubator Tombol push button yang berjumlah dua buah digunakan sebagai pengatur suhu dalam inkubator, tampilannya digunakan LCD ( Liquid Crystal Display ) 2  16, yang berarti setiap line berisi 16 karakter. LCD menampilkan suhu inkubator, tingkat intensitas lampu dan tingkat kecepatan dari kipas.
Untuk mengatur intensitas dari lampu bertegangan AC digunakan phase control dan untuk mengatur kecepatan kipas digunakan sistem PWM ( Pulse Width Modulation )

## 3. PELAKSANAAN KEGIATAN
3.1. Pembuatan Perangkat Keras
a. Box Inkubator
Pembuatan perangkat keras dimulai dari Box Inkubator lengkap dengan dimensinya seperti tampak pada “Gambar (1)”.
b. Power Supply
+
_ gnd + -
220VAC Transformator 220/18vac 5a/ct Transformator 220/18VAC 5A/CT Penyearah jembatan Penyearah jembatan Gambar 3. Rangkaian Catu Daya C 10nF C 10nF - 5V - 12V + 5V + 12V + _ ground   7812
7805 7912 7905
Catu daya menggunakan 2 buah transformator 5A. Untuk mensuplai motor kipas digunakan transformator pertama dengan tegangan keluaran dc  12V/5A, dan untuk mensuplai ke rangkaian pengendali elektronik digunakan transformator kedua dengan tegangan keluaran  12V dan  5V/5A.
Keluaran penyearah diregulasi sesuai kebutuhan. Rangkaian pengendali yang mengunakan IC Op-Amp membutuhkan catu tegangan  12VDC, sedangkan IC TTL membutuhkan catu tegangan  5V

## 3.2. Pembuatan Perangkat Lunak
1) FUDGE ( Fuzzy Development and Generation Environment )
Cara kerja dari inkubator ini berdasarkan suatu sistem yang berbasiskan fuzzy. Blok diagram sistem berbasis fuzzy tampak seperti “Gambar (5)”.
Dalam membangun sistem berbasis fuzzy pada sebuah general purpose mikrokontroler, dibutuhkan data yang berisi fungsi keanggotaan input dan output, beserta rule fuzzy-nya. Untuk itu maka digunakan FUDGE ( Fuzzy Development and Generation Environment ) dan fuzzy kernel FUZZ11B3 dari Motorolla.
Data-data fungsi keanggotaan input, output dan rule fuzzy-nya selanjutnya disimpan dalam suatu tabel memori. Tabel memori tersebut kemudian diproses dalam fuzzy kernel. Fuzzy kernel FUZZ11B3 pada penerapannya dibatasi fungsi keanggotaan input berbentuk trapesoid, fungsi keanggotaan output berbentuk singletone. Adapun jumlah input maksimal adalah delapan dan jumlah output maksimal adalah empat.
Gambar 5. Blok Diagram Sistem Berbasis Fuzzy
Pada fuzzy kernel terjadi tiga proses dasar yaitu: fuzzifikasi, fuzzy rule dan defuzzifikasi. Pada inkubator ini input crispnya berupa selisih suhu antara suhu dalam inkubator dengan suhu setting, input tersebut kemudian akan difuzzifikasikan bersama dengan fungsi keanggotaan input yang telah dihasilkan oleh FUDGE. Kemudian selanjutnya akan
melewati proses evaluasi rule dan defuzzifikasi. Hasil defuzzifikasi tersebut akan menunjukkan tabel output kipas maupun lampu, dan kemudian dipakai sebagai output dari sistem fuzzy. Sementara itu program utama berfungsi untuk memanggil fuzzy kernel.

## Potongan Program 1 – Program Utama
1: ULANG: 2: JSR Prn_suhu_setting;
tampilkan suhu setting
3: JSR Prn suhu_sekarang; tampilkan suhu dlm inkubator- read A/DC
4: JSR Prn_fan_light; tampilkan keadaan kipas dan lampu
5: BSR set_suhu; check ada perubahan suhu setting?
6: BSR fuzzy; siapkan inputcrisp,eksekusi
7: Fuzzy kernel; outputcrisp hasil defuzzifikasi,output bekerja
8: BRA ulang;

## kembali ke ulang

## Potongan Program 2 – Eksekusi Fuzzy Kernel
1: FUZZY:
2: LDAA SUHU_SETTING; ambil nilai suhu_setting 3: LDAB SUHU_SEKARANG; ambil nilai suhu_sekarang 4: SBA; a=a-b 5: ADDA #20; a=a+20 6: CMPA #40; 7: BGE SET_MAX; jika sama atau lebih set $FF 8: CMPA #0; jika sama atau kurang set $00 9: BLE SET_MIN 10: LDAB #64 11: MUL; a*64 12: LDX #10; /10 13: IDIV X; X=D/X 14: XGDX; D=X 15: BRA NEXT; 16: SET_MIN; 17: LDAB #$0; 18: BRA NEXT; 19: SET_MAX; 20: LDAB #$FF; 21: NEXT; 22: LDX #CURRENT_INS; 23: STAB X; crisp input disimpan dalam current_ins 24: JSR
FUZZIFY;
eksekusi kernel fuzzy FUZZ11B3 25: LDY #COG_OUTS;
hasil
proses defuzzifikasi 26: LDAB Y; ambil nilai COG_out
27: BSR KONVERT; konversi ke tingkat kecepatan kipas 27:STAB KIPAS_PTR; pointer tabel kecepatan kipas 28: INY; increment COG_out 29: LDAB Y; ambil nilai COG_out berikutnya 30: BSR KONVERT; konversi ke tingkat intensitas lampu 31:STAB LAMPU_PTR; pointer tabel intensitas lampu 31: JSR CHANGE_KIPAS; update kecepatan kipas 32: JSR CHANGE_LAMPU;
update intensitas kipas 33: RTS;
Program tersebut menjelaskan: ambil nilai suhu dalam inkubator dengan membaca nilai A/D Converter kemudian tampilkan, ambil nilai suhu setting kemudian tampilkan, ambil nilai keadaan kipas kemudian tampilkan. Tiga instruksi diatas (baris 2,3,4) hanyalah berguna sebagi tampilan pada LCD sehingga dapat diketahui perkembangan atau perubahan suhu, lampu dan kipas. Baris 5 berguna untuk menunggu apakah ada penekanan tombol dari PA1 dan PA2, atau dengan kata lain diubahnya suhu setting. Proses fuzzy sebenarnya terjadi pada baris6 , pada sub- rutin ini akan diambil selisih suhu antara suhu setting dengan suhu dalam inkubator, kemudian hasilnya dijadikan input crisp. Input crisp yang telah tersimpan pada current_ins ini digunakan untuk proses fuzzifikasi
bersama
dengan
fungsi keanggotaan input yang telah dihasilkan oleh FUDGE, dan selanjutnya akan melewati tahap evaluasi rule dan deffuzifikasi pada fuzzy kernel. Hasil defuzzifikasi kemudian diambil pada COG_Out dan dijadikan output bagi lampu dan kipas.
Pembuatan dan penentuan input dan output crisp, fungsi keanggotaan input dan output, beserta rule fuzzy-nya tergantung pada kebutuhan. Pada inkubator ini yang memiliki ukuran 40cm  28cm  25cm dan sisi-sisinya terbuat dari kayu kecuali sisi depan terbuat dari kaca, terutama digunakan untuk memanaskan suhu antara 40  C - 42  C, pembuatan input dan output crisp, fungsi keanggotaan input dan
output, beserta rule fuzzy-nya dengan FUDGE adalah sebagai berikut:
Gambar 6. Window Pengisian Crisp Input dan Output
Gambar 7. Window Pembuatan Fungsi keanggotaan input

## Gambar 8. Window Pembuatan Fungsi keanggotaan output
Pada inkubator ini rule fuzzy-nya ada 7 yaitu:
 If delta is neglarge then Kipas is cepat sekali and Lampu is taknyala
 If delta is negmed then Kipas is cepat and Lampu is taknyala
 If delta is negsmal then Kipas is sedang and Lampu is redup
 If delta is pas then

## Kipas is mati and Lampu is redup
 If delta is possmal then Kipas is mati and Lampu is sedang
 If delta is posmed then Kipas is mati and Lampu is terang
 If delta is poslarge then

## Kipas is mati and Lampu is terangsekali
Setelah dilakukan generate code 68HC11 maka data- data tersebut disimpan dalam byte-byte memori seperti dibawah ini. Karena fungsi keanggotaan input trapesoid maka membutuhkan empat byte memori, fungsi keanggotaan output hanya membutuhkan satu byte memory karena fungsi singletone. Sedangkan rule fuzzy-nya yang memiliki MSB = 0 adalah antecendent atau bagian input sedangkan yang memiliki MSB = 1 adalah consequent atau bagian outputnya.

## Tabel Data Memori hasil Ganerate Code 68HC11
1: INPUT_MFS EQU*;
Input Membership Functions 2: IN0MF EQU*; delta 3: FCB $00,$00,$33,$08; neglarge 4: FCB $33,$08,$53,$0a; negmed 5: FCB $60,$14,$6c,$0d; negsmal 6: FCB $79,$28,$80,$28; pas 7: FCB $80,$0d,$93,$14; possmal 8: FCB $93,$0a,$ac,$0d; posmed 9: FCB $ac,$08,$ff,$00; poslarge 10: FCB $00,$00,$00,$00; ~ 11: SGLTN_POS EQU*; Output Membership Functions 12: OUT0MF EQU*; kipas 13: FCB $00; mati 14: FCB $40; pelan 15: FCB $80; sedang 16: FCB $bf; cepat 17: FCB $ff; cepatsekali 18: FCB $00; ~ 19: FCB $00; ~ 20: FCB $00; ~ 21: OUT1MF EQU*; lampu 22: FCB $00; taknyala 23: FCB $40; redup 24: FCB $80; sedang 25: FCB $bf; terang 26: FCB $ff; terangsekali 27: FCB $00; ~ 28: FCB $00; ~ 29: FCB $00; ~ 30: RULE_START EQU*; Rules follow: 31: FCB $00 32: FCB $84
33: END_OF_RULE FCB $ff

## 2) Modul LCD 2  16
Untuk menampilkan suhu sekarang, suhu setting, tingkat kecepatan kipas, dan juga intensitas lampu maka digunakan M124A yang merupakan modul LCD 16  2. LCD ini memiliki built-in kontroler yang didalamnya sudah terdapat karakter generator ROM/RAM dan display data RAM. Semua fungsi display dikontrol lewat instruksi, dan modul ini sudah siap diinterfacekan dengan MPU.
“Tabel (2)”. menunjukkan fungsi pin modul LCD M124A. Interface modul dengan MCU MC68HC11 ditunjukkan pada “Gambar (9)”. Adapun pada interface tersebut, modul LCD diakses melalui address $0400-$0401.
Tabel 2. Fungsi Pin Modul LCD M124A
No. Pin Nama Pin I/O Keterangan 1 VSS - 0V (GND) 2 VCC - 5V (VCC) 3 VEE - Pengatur kontras LCD 4 RS I Register Select 0: Instruction register (write) Busy flag dan Address Counter (read) 1: Data register (write dan read ) 5 R/W I Read dan Write Select 0: Write 1: Read 6 E I Sinyal Operation Start: sinyal ini mengaktifkan data write atau read 7..14 DB0..D B7 I/O Data bus, DB7 berfungsi sebagai busy flag
Pada kontroler LCD terdapat dua buah 8-bit register, yaitu instruction register (IR) dan data register (DR). kedua register ini dipilih melalui sinyal pada pin RS ( Register Select ) seperti telah ditunjukkan pada tabel 2. Penulisan pada IR menyebabkan dilakukannya suatu instruksi tertentu. “Tabel (3)” menunjukkan instruksi-instruksi yang dapat dilakukan melalui penulisan pada IR.
Penulisan atau pembacaan pada data register menyebabkan tersimpannya atau terbacanya data pada DD RAM maupun CG RAM. DD RAM adalah memori yang digunakan untuk menyimpan data yang didisplaykan ke LCD, sedangkan CG RAM adalah memori yang dapat digunakan oleh software untuk membuat sebuah karakter
Berikut ini adalah software pengendali yang digunakan untuk menulis data maupun instruksi pada modul LCD. Untuk perintah LCD digunakan rutin Out_Ctrl. Untuk menulis pada LCD, digunakan rutin Out_char.
Potongan Program 3 - Out_Ctrl
1: LCD_CTRL EQU $0400
2: LCD_DATA EQU $0401 3: ------------------------- 4: OUT_CTRL: 5: STAB LCD_CTRL ;out B to IR 6: BRA WAIT_BIT7;wait busy
7: OUT_CHAR: 8: STAB LCD_DATA ;out B to DD RAM or CG RAM 9: WAIT_BIT7: 10: LDAB LCD_CTRL ;wait busy flag
11: BMI WAIT_BIT7; 12: RTS;
Gambar 9. Interface modul M124A dengan MCU
Sebelum digunakan, LCD tersebut terlebih dahulu harus diinisialisasikan. Berikut ini adalah program inisialisai LCD.

## Potongan Program 4 – Init LCD
1: INIT_LCD_SEQ 2: DB $38,$0C,$06,0; Function set,Display,On, Entry Mode Set 3: BSR L_DELAY; 15ms more delay after VDD=4.5V 4: LDAB #$38; FUNCTION SET 5: STAB LCD_CTRL 6: BSR DELAY; 4.1ms more 7: LDAB #$38; FUNCTION SET 8: STAB LCD_CTRL 9: BSR DELAY; 100us more 10: LDAB #$38; FUNCTION SET 11: STAB LCD_CTRL 12: LDY #INIT_LCD_SEQ; diisi
function set, display
13: LOOP_INIT_LCD:
14: LDAB Y;
on/off,entry mode
15: BEQ X_INIT_LCD 16: BSR OUT_CTRL 17: INY; Increment alamat
18: BRA LOOP_INIT_LCD
19: X_INIT_LCD: 20: RTS
3) Sensor suhu
Untuk mendeteksi suhu dalam inkubator digunakanlah sebuah sensor suhu LM 35 yang dapat dikalibrasikan langsung dalam  C, LM 35 ini difungsikan sebagai basic temperature sensor seperti pada “Gambar (10)”.
Gambar 10. LM 35 basic temperature sensor
Vout dari LM 35 ini dihubungkan dengan Port E dari MC68HC11 untuk dijadikan input analog A/DC. Pada A/D Converter 8 bit yang dimiliki MC68HC11 memiliki tegangan referensi yang berguna sebagai referensi pada proses konversi. VRH = 2,56V dan VRL = 0 ini diberikan supaya setiap kenaikan satu bit maka terjadi kenaikan suhu sebesar 1  C. Untuk dapat memakai A/D Converter maka A/D Converter dari MC68HC11 harus diaktifkan dahulu ini hanya perlu dilakukan sekali pada inisialisasi awal, setelah itu dipilih mode-mode pengkonversiannya pada register ADCTL, pada inkubator ini register ADCTL diisi dengan $02 karena dipilih mode single channel, pengkonversian yang continue serta channel signal adalah PE2. Dan hasilnya dapat dibaca pada salah satu ADR1,2,3 atau 4 karena menggunakan single channel.

## Potongan Program 5 – Read A/DC
1: -------------------------------- 2: ;Init ADC – Powered up
3: -------------------------------- 4: BSET OPTION,X,ADPU ;A/D System powered up 5: -------------------------------- 6: ;Read ADC 7: -------------------------------- 8: LDX #$1000 ;alamat base register 9: LDAB #%00000010 ;startconversion,modesingl
e channel,convert
10: STAB ADCTL
;continously, AD2 port E bit 2 11: BRCLR ADCTL,X,CCF,*
;wait conversion
12: LDAB ADR1
;get result

## Gambar 11. Rangkaian Triac

## 4) Pengendalian output
Setelah membentuk sub-rutin tampilan dan pembacaan suhu, sekarang masalahnya adalah bagaimana agar dapat mengendalikan tingkat intensitas lampu dan kecepatan kipas berdasarkan output hasil defuzzifikasi pada sistem software fuzzy.

## 5) Pengaturan intensitas lampu
Phase control adalah suatu sistem yang digunakan untuk dapat menghasilkan fase tegangan bolak-balik yang berbeda-beda sehingga daya yang diterima oleh beban menjadi bervariasi. Rangkaian triac yang digunakan untuk memadamkan dan menyalakan lampu terlihat pada “Gambar (11).
Saat input high dari PA5/OC3 masuk maka akan mengaktifkan transistor 2N2222, kaki kolektor dan emiternya akan terhubung dengan ground, ini mengakibatkan adanya beda tegangan sehingga ada arus yang mengalir ke MOC2030, karena MOC2030 inputnya berkisar antara 10mA sampai 30mA maka digunakan resistor 220  untuk membatasi arus yang masuk ke MOC2030. Jika arus yang masuk kurang dari 10mA maka tidak akan dapat membias diac, tetapi jika arus yang masuk melebihi 30mA maka MOC2030 akan rusak. Dari pemasangan resistor sebesar 220  maka arus yang masuk sekitar 20mA. Kemudian kaki gate dari Triac mendapatkan supply arus yang kemudian mengakibatkan Triac on atau kaki MT2 dan MT1 terhubung sehingga ada tegangan yang masuk ke lampu. Jika pemberian pulsa high tersebut dapat diatur maka akan didapatkan fase tegangan yang berbeda dan daya yang diterima lampu akan bervariasi. Potongan program untuk menyalakan lampu terlihat seperti dibawah ini

## Potongan Program 6 – Interrupt OC3
1: OC3: 2: BSET PORTA,X,PA5 ;nyalakan lampu 3: BCLR TFLG1,X,#OC3_Flg ;clear OC3F
4: RTI ;keluar dari interrupt
Gambar 12. Zero Crossing Detector
Setelah membentuk rutin OC3 untuk menyalakan lampu maka persoalan berikutnya adalah bagaimana dan kapan diberikan pulsa high ke PA5 supaya daya yang diterima lampu menjadi bervariasi. Rangkaian pendukung untuk itu adalah rangkaian zero crossing detector disebut demikian karena rangkaian ini dapat menghasilkan pulsa saat tegangan bolak-balik pada kondisi zero, dengan demikian diketahui saat dimana tegangan AC mencapai kondisi zero dan ini dapat digunakan sebagai awal pemberian delay
Rangkaian zero crossing detector tampak pada “Gambar (12)”. Input tegangan bolak-balik yang memiliki fase negatif setelah masuk dioda bridge akan memliki fase positif saja, dan arusnya dibatasi oleh R 39K/2W, kemudian arus akan masuk ke IC A4N25, ketika tidak ada arus yang masuk ke IC A4N25 tersebut atau dengan kata lain saat tegangan zero maka sesaat tegangan akan masuk ke PA0/IC3. Jika diketahui saat tegangan pada kondisi zero maka dapat diatur besarnya delay yang diberikan, lamanya delay tersebut dapat diproses secara software dengan berawal saat timbul transisi naik pada IC3. Setelah dilakukan delay maka input high diberikan ke PA5 sehingga akan didapatkan tingkat intensitas lampu yang bervariasi tergantung lamanya delay yang diberikan selama setengah periode tegangan bolak- balik jika delay semakin lama maka intensitasnya akan semakin berkurang.

## Potongan Program 7 – Interrupt IC3
1: --------------------------------
2: Init interrupt IC3 – positif going edge
2:BSET TCTL2,X,EDG3A;setting IC3 for positive going edge
3:BSET TMSK1,X,IC3I;un-masked IC3
3; IC3 interrupt routine
4:IC3:
5:LDD REDUP;delay tingkat keredupan
6:BCLR PORTA,X,LAMPU;matikan lampu
7:ADDD TCNT;tambahkan dgn nilai
TCNT 8:STD TOC3;simpan pada TOC3
9:BCLR TFLG1,X,#$FE;clear flag IC3
10:RTI;kembali dari interrupt
Pada potongan program diatas terlihat bahwa interrupt IC3 dan OC3 saling berhubungan, pertama-
tama ketika terjadi transisi naik pada PA0 maka interrupt IC3 akan bekerja, rutin interrupt IC3 mengambil besarnya nilai delay yang diberikan redup kemudian nilainya ditambahkan dengan TCNT dan disimpan pada TOC3, TCNT( The Free- Running Counter ) sendiri adalah timer 16 bit yang dimiliki oleh MC68HC11, saat nilai TCNT=TOCx maka akan terjadi interrupt, dalam hal ini interrupt OC3 dan rutin interrupt OC3 akan menyalakan lampu.
6) PWM ( Pulse Width Modulation ).
PWM (Pulse Width Modulation) adalah suatu sistem pengaturan lebar pulsa high dan lownya pada gelombang kotak. Gelombang kotak tersebut sangat mudah dibangkitkan, hanya dengan menkonfigurasikan output compare untuk toggle setiap setengah periode. Sinyal PWM ini memiliki frekuensi yang sama, yang berubah hanyalah duty cycle nya, duty cycle adalah persentase antara sinyal high dengan sinyal satu periodanya. Gambar rangkaian driver motor tampak seperti “Gambar (13). Saat ada pulsa high masuk maka kedua transistor yang dirangkai secara Darlington akan aktif sehinggga timbul arus pada motor, dan motor berputar. Pengaturan lebar pulsa high dan low-nya akan dilakukan secara software, semakin besar lebar pulsa highnya maka semakin besar kecepatan motor tersebut dan semakin sempit lebar pulsanya maka kecepatan motor akan semakin menurun.

## Gambar 13.Rangkaian Driver Motor
Potongan Program 8 - interrupt OC4 /PWM 1: ------------------------------- 2: ;init OC4 for PWM 3: LDD TCNT;ambil nilai TCNT
4: STD TOC4;store ke TOC4
5: BSET TCTL1,X,OM4+OL4;setting OC4,OC4 set
6: BCLR TFLG1,#$EF;clear OC4 flag 7: BSET TMSK1,X,OC4I;un-masked OC4
8: ------------------------------ ;OC4 interrupt routine
9: ------------------------------ ;OC4HI+OC4LO = 10000
10:parameter untuk 1 periode 11:OC4:
12:BRCLR TCTL1,X,OL4,GETOC4LO ;apakah pulsa low
13:LDD OC4HI;tidak, load OC4HI
14:BRA NEWTOC4 GETOC4LO:
15:LDD OC4LO;ya, load OC4LO
16:NEWTOC4;update TOC4,perbarui
nilai TOC4
17:ADDD TOC4 18:STD TOC4 19:LDAA TCTL1 20:EORA #OL4;invert OL4 to toggle 21:STAA TCTL1 22:BCLR TFLG1,X,#$EF;clear flag OC4F 23:RTI ;return from service
Potongan program diatas dapat dijelaskan sebagai berikut: Pertama-tama mengambil nilai TCNT dan dimasukkan ke TOC4 (Timer Output Compare 4), ini berguna untuk membangkitkan interrupt karena jika nilai TCNT sama dengan nilai TOC4 maka Flag OC4F akan set dan bersama-sama dengan OC4I ( Output Compare 4 Interrupt enable) akan membangkitkan interrupt OC4. Kondisi awalnya pulsa dibuat high dengan set OC4 pada register TCTL1, kemudian dipastikan bahwa OC4F clear dan setelah itu interrupt enable dari OC4 di set pada TMSK1.
Saat masuk pada rutin interrupt OC4 inisialisasi awal dari keadaan sinyal adalah high, kemudian dilihat apakah pulsa low jika tidak maka ambil nilai OC4HI (lebar pulsa high menurut variasi kecepatan) jika low maka ambil nilai OC4LO (lebar pulsa low menuurut variasi kecepatan), kemudian selalu perbarui nilai TOC4 dengan menambahkan nilai dari OC4HI atau OC4LO dengan TOC4 dan kemudian hasilnya dianggap sebagai nilai TOC4 yang baru. Pulsa kemudian kita toggle agar berubah dari high ke low atau dari low ke high, dan terakhir flag OC4F harus di clear untuk menandai selesainya proses interrupt.

## 4. PENUTUP
4.1 Kesimpulan
Dari uraian-uraian diatas dapat diambil kesimpulan:
1. Proses pengendali logika fuzzy melalui tahapan sebagai berikut;
 Fuzzyfikasi yaitu merubah variabel numerik kedalam variabel fuzzy dengan cara memberi tingkat kwantisasi fungsi keanggotaan dan derajat keanggotaan.
 Aturan fuzzy yaitu jika masukan adalah A dan B maka keluaran adalah C dan seterusnya.
Implementasi Fuzzy Logic Controller - MCS 51 untuk Pengaturan Temperatur Ruang dan Putaran Motor DC (Roswaldi Sk)
 Defuzzyfikasi yaitu mengembalikan variabel linguistic (fuzzy) ke variabel numerik (non fuzzy) dari masukan dan keluaran dengan menggunakan rumus Centre of area (COA).
2. Penggunaan kendali logika fuzzy pada sistem kendali Inkubator menghasilkan perubahan yang cepat untuk mencapai steady state tanpa mengalami transient.
3. Sinyal kendali yang dihasilkan lebih kecil 10% dari set-point, apabila setpoint yang dimasukan tidak sama dengan nilai membership function..
4. Hasil yang baik untuk frekuensi sinyal gangguan ditemukan pada frekuensi 0.1 Hz.
5. Penundaan waktu ( delay time ) pengiriman sinyal kendali adalah 250 –500 milli-detik untuk interface jenis ad-da card super 12 bit berdasarkan percobaan.
6. Kendali logika fuzzy yang digabungkan dengan microkontroler sangat sesuai diterapkan pada sistem kendali Inkubator dan pengendali- pengendali dengan kestabilan yang tinggi.
7. Penggunaan kendali logika fuzzy tetap beracuan pada kendali konvensional yang sudah dirancang sebelumnya.
4.2 Saran:
1. Dengan keterbatasan waktu dan kemampuan membuat program menu tampilan kami menyarankan bagi
yang
berminat mengembangkan dapat membuat tampilan menu yang lebih baik yaitu menampilkan grafik fuzzyfikasi, daftar aturan fuzzy dan grafik defuzzyfikasi sekaligus dalam satu layer monitor.
2. Akan lebih baik apabila setiap kali percobaan dapat menampilkan hasil perubahan variabel fuzzy yakni membership function dan aturan- aturan fuzzy dilayar monitor.

## PUSTAKA
1. Carlos A Smith, Amando B Corripio ,
Principles And Practice od Automatic Process Control , John Willey & Son, Singapore, 1995
2. John Yen, Rezza Lengari, Lotfi A. Zadeh , Indutrial Applications Of Fuzzy Logic and
Intelligent Systems , IEEE Press, New York, 1995
3. J. Michael Jacob , Industrial
Control Electronics, Application and Design , Printice Hall International Inc, Singapore, 1995
4. K. Ogata , Modern Control and System , Printice Hall, New Jersey, 1970
5. K. Ogata , Teknik Kontrol Otomatik , Erlangga, Jakarta, 1991
6. Li-Xin Wang , Adaptive Fuzzy and Control (Design and Stability Analysis) , Printice Hall, New Jersey, 1994
7. M..Jamshidi, N.Vadiee, T.J.Ross , FuzzyLogic and Control( Softwar and Hardware
Applications ), Volume 2, Printice Hall, New Jersey, 1993
8. Mustofa, Adam RM , Pengaturan kecepatan motor induksi tiga phasa dengan PID-Fuzzy , PENS ITS, Surabaya, 1997
9. Rianto, Fakhrul Ubaidilah , Sistem pengaturan motor induksi tiga phasa dengan kontrol PID , PENS ITS, Surabaya, 1997
10. Ryoji Ohba , Intelligent Sensor Technology , John Willey & Sons, Singapore, 1992
11. Son Kuswadi, Moh. Nuh, Anang T, R. Sigit , Elektonika Terapan , P5D, Bandung, 1998

## Curriculum Vitae
Drs. Roswaldi SK, SST .; Lahir di Sungai Limau, 15 Juni 1958, menyelesaikan S1 Pendidikan Teknik Listrik FPTK IKIP Padang dan DIV Teknik Elektro pada FTI ITB Bandung.
.