implementasi fuzzy

10
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 40C 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

Upload: fiverempionaallona

Post on 02-Feb-2016

21 views

Category:

Documents


9 download

DESCRIPTION

logika fuzy

TRANSCRIPT

Page 1: Implementasi Fuzzy

IMPLEMENTASIFUZZY LOGIC CONTROLLER - MCS 51

UNTUK PENGATURAN TEMPERATUR RUANGDAN 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 relevansiyaitu mesin Inkubator Bayi yang digunakan untuk pengaturan temperatur ruang dan putaranmotor DC. Pengaturan temperatur ruangan berasal dari elemen pemanas dan pengaturanputaran motor DC yang memutar sebuah kipas untuk menstabilkan suhu ruang. Kondisiyang 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 yangterlihat pada respon dari output yang dihasilkan dan juga ketahanan sistem terhadapgangguan. Dengan fuzzy logic controller sistem lebih mudah untuk disesuaikan denganberbagai kondisi agar menghasilkan sistem kendali yang stabil dan handal.

ABSTRACT

In this research is method implementation conduct logic fuzzy - MCS 51 and used for roomtemperature arrangement and DC motor rotation were applied Incubator Baby machine.The research desired room temperature arrangement used to heater element and motorrotation arrangement as stabilize room temperature. The condition is wanted in thisresearch is although trouble at fickle burden, but room temperature stability remain to earnto be defended according to desire. Advantages are system will become more stable, thiswill seen at respond of yielded output as well as system resilience to trouble. With easiersystem controller logic fuzzy to be adapted for various condition of yielding reliable andstable 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 BarkeleyAmerika Serikat pada tahun 1965. Semenjak itumetoda kendali logika fuzzy banyak diterapkan diindustri. Labor Instrumentasi dan Sistem KendaliTeknik Elektro Politeknik ikut mengembangkanteknik kendali ini baik berupa penelitian maupunpengembangan materi praktikum labor. Dalamrangka itu diusulkan model sistem kendali prosesyaitu pengaturan temperatur ruang dan putaran motordc menggunakan sistem kendali cerdas logika fuzzyyang digabungkan dengan mikrokontroler MCS-51sebagai pengontrol. Implementasi sistem kendali inibanyak digunakan di industri pengolahan.

Pengaturan temperatur ruang dan putaran motor dcdapat diterapkan pada sebuah Mesin Inkubator, yaitusuatu alat yang digunakan sebagai pemanas ruangagar dapat menghasilkan suhu yang stabil dan sesuaidengan kebutuhan. Misalnya untuk mesin penetas

telur dengan ke-stabilan suhu antara 36 C sampai 37C, atau inkubator bayi dengan suhu 40C sampai 42C. Suhu ini disesuaikan dengan suhu dalam perutibu yang berkisar pada suhu tersebut, sedangkanmesin packing dibutuhkan kestabilan suhu 85 C.

Mesin Inkubator ini dikendalikan dengan MCS-51yang program kendalinya menggunakan fuzzy logiccontroller. Keuntungan penerapan fuzzy logiccontroller pada mesin adalah sistem akan menjadilebih stabil, ini akan terlihat pada respon sistem danjuga ketahanan sistem terhadap gangguan. Denganfuzzy logic controller sistem lebih mudah untukdisesuaikan dengan berbagai kondisi agarmenghasilkan sistem kendali yang handal.

Sistem Plant (objek kendali) yang dikehendakiadalah pengaturan temperatur ruangan yang berasaldari elemen pemanas (digunakan lampu pijar) danpengaturan putaran motor dc (digunakan motorkipas) untuk menurunkan atau menstabilkan suhuruang. Kondisi yang diinginkan dalam penelitian iniwalaupun gangguan pada beban berubah-ubah, tetapi

Page 2: Implementasi Fuzzy

Implementasi Fuzzy Logic Controller - MCS 51 untuk Pengaturan Temperatur Ruang dan Putaran Motor DC (Roswaldi Sk)

93

kestabilan temperatur ruangan tetap dapatdipertahankan sesuai keinginan.

Relevansi dari hasil penelitian adalah relevan denganmateri praktikum labor kendali sehingga menjadinilai tambah untuk pengembangan materi praktikumdi laboratorium instrumentasi dan sistem kendalijurusan teknik elektro (lingkup kegiatan point B).

ElemenLampu

MotorKipas

LCD

Kaca

Panelkontrol

Tutup

Gambar 1. Plant Sistem Pengendali Temperatur Ruang

Hasil yang diharapkan adalah: (1) sebuah miniaturdari plant pengendali temperatur ruang dan putaranmotor DC; (2) modul praktikum dengan aplikasifuzzy logic controller-MCS-51 sebagai wujudimplemetasi dari mata kuliah sistem kontrol padakondisi yang sesungguhnya. (3) job sheet praktikumsistem kendali fuzzy logic sebagai tambahan materipraktikum.

1.2. Perumusan Masalah

1. Metoda kendali logika fuzzy merupakanpengembangan dari teknik kendali analog yangkonvensional dan dengan bantuan sebuahmikrokontroler MCS-51 maka program kendaliini dapat di implementasikan untukmengendalikan bermacam-macam kendali prosesindustri seperti kendali temperatur ruang, putaranmotor, penetas telor, inkubator bayi, oven,packing machine, dsb.

2. Metoda kendali logika fuzzy disebut sistemkendali cerdas, karena metoda kendali ini mampumengendalikan plant serumit apapun, tidakmemerlukan perhitungan matematis yang rumit,sederhana dan mudah diimplementasikan padasistem kendali proses ataupun servo mekanisyang berafiliasi industri.

3. Pengendalian temperatur ruang dan motor kipasmenggunakan kendali logika fuzzy dan MCSdapat menjadi tambahan materi praktikummahasiswa di labor instrumentasi dan kendali

4. Apakah dengan penelitian “Implementasi FuzzyLogic Controller pada MCS 51 untukPengaturan Temperatur Ruang dan PutaranMotor DC” ini akan dapat menjawab kebutuhanakan perkembangan teknologi kendali saat ini

1.3. Metodologi

Agar dicapainya sasaran learning outcomes sepertiyang diharapkan maka metodologi yang ditawarkanadalah:

1. Melaksanakan studi literatur yang materinyaberkaitan langsung dengan usulan kegiatanpenelitian

2. Melakukan diskusi dengan rekan satu timpenelitian untuk mencari solusi yang lebiheffisien

3. Menggunakan metoda pendekatan antara teoridan praktek dengan melakukan percobaan dilaboratorium

4. Melaksanakan pengujian yaitu dengan mengujikarakteristik alat yang dibuat dan dibandingkandengan teori-teori yang menunjang rancanganpenelitian ini

1.4. Hasil Yang Diharapkan

1. Sebuah miniatur plant sistem pengendaliantemperatur ruang dan putaran motor dc.

2. Sebuah sistem kendali logika fuzzy pada MCS51 yang diterapkan pada pengaturan temperaturruang dan putaran motor dc.

3. Job sheet praktikum sistem kendali MCS 51 danlogika fuzzy dengan plant pengaturan temperaturruang dan putaran motor dc

4. Terciptanya suasana akademis melaluikerjasama penelitian yang baik antara stafpengajar dengan mahasiswa.

2. RANCANGAN KEGIATAN

2.1. Tahapan Persiapan

a. Pengumpulan informasi data hardware dansoftware

b. Menyiapkan data bahan “Tabel (1)”

c. Menyiapkan alat/instrumen penelitian

1. Mesin Las 1 unit2. Gergaji besi 1 buah3. Mesin pelipat 1 unit4. Mesin bor 1 unit5. Tool set 1 set6. Komputer 1 unit

d. Pembelian bahan HW dan SW.

e. Pembuatan/perakitan HW dan SW

f. Menyusun rancangan penelitian :

Percobaan dilakukan di LaboratoriumInstrumentasi dan Kendali jurusan teknikelektro Politeknik Universitas AndalasPadang

Page 3: Implementasi Fuzzy

Jurnal Teknik Mesin Vol. 1, No.2, Desember 2004 ISSN 1829-8958

94

Variabel yang di uji pada rangkaian kendalilocal, level ciaran dan program kendaliadalah perubahan ketinggian air yangdikonversi dalam bentuk variable tegangan.

Metoda penelitian adalah metodapercobaan dan perbandingan antara metodakendali PID digital dan metoda LogikaFuzzy pada plant level cairan.

g. Melaporkan hasil penelitian sesuai kesepakatanjadwal.

Tabel 1. Daftar Kebutuhan Bahan

No Uraian Bahan Spesifikasi Jumlah

123456789

1011

12

1314151617

KacaKacaTriplekKaret Les KacaLem KacaPaku TriplekBola LampuMotor KipasSensor SuhuICResistor

Transistor

Dioda bridgeModul LCD 16x2KeypadFuzzy controllerDisket 1.4 MB

5 mm5 mm18 mm5 mm150 ml

1 inchi25 w/220 v12 v/dcLM354N25220/0,5w290/0,5w10k/2w39k/2w2N2222BC5344004LT2N124M124A8x8MC68HC11Fuji

50x30 cm40x30 cm1 lbr2 m2 tube¼ kg3 bh1 bh1 bh4 bh10 bh10 bh6 bh6 bh4 bh4 bh4 bh4 bh2 bh1 bh1 bh1 box

2.2. Perancangan Sistem

Inkubator adalah suatu alat yang digunakan sebagaipemanas suatu tempat agar dapat menghasilkan suhuyang stabil dan sesuai dengan kebutuhan. Misalnyainkubator yang dipergunakan untuk penetas telurmembutuhkan suhu yang stabil antara 36C sampai37C, lain lagi dengan inkubator bayi dibutuhkansuhu 40C sampai 42C, suhu ini disesuaikan dengansuhu dalam perut ibunya yang berkisar pada suhutersebut.

Inkubator ini dikendalikan dengan MC68HC11 yangdifungsikan sebagai fuzzy controller. Keuntunganfuzzy logic adalah sistem akan mudah menjadi stabil.Dengan fuzzy logic sistem lebih mudah untukdisesuaikan dengan berbagai kondisi, sepertipengaruh besar ruangan inkubator, suhu sekitar.

a. Blok Diagram Sistem

Secara lengkap blok diagram dari sistem inkubatordapat dilihat “Gambar (2)” berikut:

ModulLCD

IntelMCS-51

Fuzzy LogicController

Keypad

Sensorsuhu

Driver(PWM)

PhaseControl

Lampudan

Motorkipas

Sensorputaran

Gambar 2. Blok diagram sistem lengkap

b. Prinsip Kerja Mesin

Sensor suhu berupa LM 35 dipakai untuk mengukurnilai suhu dalam inkubator Tombol push button yangberjumlah dua buah digunakan sebagai pengatur suhudalam inkubator, tampilannya digunakan LCD(Liquid Crystal Display) 216, yang berarti setiapline berisi 16 karakter. LCD menampilkan suhuinkubator, tingkat intensitas lampu dan tingkatkecepatan dari kipas.

Untuk mengatur intensitas dari lampu berteganganAC digunakan phase control dan untuk mengaturkecepatan kipas digunakan sistem PWM (PulseWidth Modulation)

3. PELAKSANAAN KEGIATAN

3.1. Pembuatan Perangkat Keras

a. Box Inkubator

Pembuatan perangkat keras dimulai dari BoxInkubator lengkap dengan dimensinya seperti tampakpada “Gambar (1)”.

b. Power Supply

+

_

gnd

+

-

220VAC

Transformator220/18vac

5a/ct

Transformator220/18VAC

5A/CT

Penyearahjembatan

Penyearahjembatan

Gambar 3. Rangkaian Catu Daya

C10nF

C10nF

- 5V

-12V

+ 5V

+12V

+

_

ground

7812

7805

7912

7905

Gambar 4. Rangkaian Regulator

Page 4: Implementasi Fuzzy

Implementasi Fuzzy Logic Controller - MCS 51 untuk Pengaturan Temperatur Ruang dan Putaran Motor DC (Roswaldi Sk)

95

Catu daya menggunakan 2 buah transformator 5A.Untuk mensuplai motor kipas digunakantransformator pertama dengan tegangan keluaran dc 12V/5A, dan untuk mensuplai ke rangkaianpengendali elektronik digunakan transformatorkedua dengan tegangan keluaran 12V dan 5V/5A.

Keluaran penyearah diregulasi sesuai kebutuhan.Rangkaian pengendali yang mengunakan IC Op-Ampmembutuhkan catu tegangan 12VDC, sedangkanIC TTL membutuhkan catu tegangan 5V

3.2. Pembuatan Perangkat Lunak

1) FUDGE (Fuzzy Development and GenerationEnvironment)

Cara kerja dari inkubator ini berdasarkan suatusistem yang berbasiskan fuzzy. Blok diagram sistemberbasis fuzzy tampak seperti “Gambar (5)”.

Dalam membangun sistem berbasis fuzzy padasebuah general purpose mikrokontroler, dibutuhkandata yang berisi fungsi keanggotaan input dan output,beserta rule fuzzy-nya. Untuk itu maka digunakanFUDGE (Fuzzy Development and GenerationEnvironment) dan fuzzy kernel FUZZ11B3 dariMotorolla.

Data-data fungsi keanggotaan input, output dan rulefuzzy-nya selanjutnya disimpan dalam suatu tabelmemori. Tabel memori tersebut kemudian diprosesdalam fuzzy kernel. Fuzzy kernel FUZZ11B3 padapenerapannya dibatasi fungsi keanggotaan inputberbentuk trapesoid, fungsi keanggotaan outputberbentuk singletone. Adapun jumlah inputmaksimal adalah delapan dan jumlah outputmaksimal adalah empat.

Gambar 5. Blok Diagram Sistem Berbasis Fuzzy

Pada fuzzy kernel terjadi tiga proses dasar yaitu:fuzzifikasi, fuzzy rule dan defuzzifikasi. Padainkubator ini input crispnya berupa selisih suhuantara suhu dalam inkubator dengan suhu setting,input tersebut kemudian akan difuzzifikasikanbersama dengan fungsi keanggotaan input yang telahdihasilkan oleh FUDGE. Kemudian selanjutnya akan

melewati proses evaluasi rule dan defuzzifikasi.Hasil defuzzifikasi tersebut akan menunjukkan tabeloutput kipas maupun lampu, dan kemudian dipakaisebagai output dari sistem fuzzy. Sementara ituprogram utama berfungsi untuk memanggil fuzzykernel.

Potongan Program 1 – Program Utama1: ULANG:2: JSR Prn_suhu_setting;

tampilkan suhu setting3: JSR Prn suhu_sekarang;

tampilkan suhu dlm inkubator-read A/DC

4: JSR Prn_fan_light;tampilkan keadaan kipas danlampu

5: BSR set_suhu;check ada perubahan suhusetting?

6: BSR fuzzy;siapkan inputcrisp,eksekusi

7: Fuzzy kernel;outputcrisp hasildefuzzifikasi,output bekerja

8: BRA ulang;kembali ke ulang

Potongan Program 2 – Eksekusi Fuzzy Kernel1: FUZZY:2: LDAA SUHU_SETTING;

ambil nilai suhu_setting3: LDAB SUHU_SEKARANG; ambil

nilai suhu_sekarang4: SBA; a=a-b5: ADDA #20; a=a+206: CMPA #40;7: BGE SET_MAX;

jika sama atau lebih set$FF

8: CMPA #0;jika sama atau kurang set$00

9: BLE SET_MIN10: LDAB #6411: MUL; a*6412: LDX #10; /1013: IDIV X; X=D/X14: XGDX; D=X15: 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 dalamcurrent_ins

24: JSR FUZZIFY;

Page 5: Implementasi Fuzzy

Jurnal Teknik Mesin Vol. 1, No.2, Desember 2004 ISSN 1829-8958

96

eksekusi kernel fuzzyFUZZ11B3

25: LDY #COG_OUTS; hasilproses defuzzifikasi

26: LDAB Y;ambil nilai COG_out

27: BSR KONVERT;konversi ke tingkatkecepatan kipas

27:STAB KIPAS_PTR; pointertabel kecepatan kipas

28: INY;increment COG_out

29: LDAB Y;ambil nilai COG_outberikutnya

30: BSR KONVERT;konversi ke tingkatintensitas lampu

31:STAB LAMPU_PTR; pointertabel intensitas lampu

31: JSR CHANGE_KIPAS;update kecepatan kipas

32: JSR CHANGE_LAMPU;update intensitas kipas

33: RTS;

Program tersebut menjelaskan: ambil nilai suhudalam inkubator dengan membaca nilai A/DConverter kemudian tampilkan, ambil nilai suhusetting kemudian tampilkan, ambil nilai keadaankipas kemudian tampilkan. Tiga instruksi diatas(baris 2,3,4) hanyalah berguna sebagitampilan pada LCD sehingga dapat diketahuiperkembangan atau perubahan suhu, lampu dankipas. Baris 5 berguna untuk menunggu apakahada penekanan tombol dari PA1 dan PA2, ataudengan kata lain diubahnya suhu setting. Prosesfuzzy sebenarnya terjadi pada baris6,pada sub-rutin ini akan diambil selisih suhu antara suhu settingdengan suhu dalam inkubator, kemudian hasilnyadijadikan input crisp. Input crisp yang telahtersimpan pada current_ins ini digunakan untukproses fuzzifikasi bersama dengan fungsikeanggotaan input yang telah dihasilkan olehFUDGE, dan selanjutnya akan melewati tahapevaluasi rule dan deffuzifikasi pada fuzzy kernel.Hasil defuzzifikasi kemudian diambil padaCOG_Out dan dijadikan output bagi lampu dankipas.

Pembuatan dan penentuan input dan output crisp,fungsi keanggotaan input dan output, beserta rulefuzzy-nya tergantung pada kebutuhan. Padainkubator ini yang memiliki ukuran 40cm 28cm 25cm dan sisi-sisinya terbuat dari kayu kecuali sisidepan terbuat dari kaca, terutama digunakan untukmemanaskan suhu antara 40C - 42C, pembuataninput dan output crisp, fungsi keanggotaan input dan

output, beserta rule fuzzy-nya dengan FUDGE adalahsebagai 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 thenKipas is cepat sekali and Lampuis taknyala

If delta is negmed thenKipas is cepat and Lampu istaknyala

If delta is negsmal thenKipas is sedang and Lampu isredup

If delta is pas then

Page 6: Implementasi Fuzzy

Implementasi Fuzzy Logic Controller - MCS 51 untuk Pengaturan Temperatur Ruang dan Putaran Motor DC (Roswaldi Sk)

97

Kipas is mati and Lampu is redup

If delta is possmal thenKipas is mati and Lampu issedang

If delta is posmed thenKipas is mati and Lampu isterang

If delta is poslarge thenKipas is mati and Lampu isterangsekali

Setelah dilakukan generate code 68HC11 maka data-data tersebut disimpan dalam byte-byte memoriseperti dibawah ini. Karena fungsi keanggotaan inputtrapesoid maka membutuhkan empat byte memori,fungsi keanggotaan output hanya membutuhkan satubyte memory karena fungsi singletone. Sedangkanrule fuzzy-nya yang memiliki MSB = 0 adalahantecendent atau bagian input sedangkan yangmemiliki MSB = 1 adalah consequent atau bagianoutputnya.

Tabel Data Memori hasil Ganerate Code 68HC11

1: INPUT_MFS EQU*;Input Membership Functions

2: IN0MF EQU*; delta3: FCB $00,$00,$33,$08; neglarge4: FCB $33,$08,$53,$0a; negmed5: FCB $60,$14,$6c,$0d; negsmal6: FCB $79,$28,$80,$28; pas7: FCB $80,$0d,$93,$14; possmal8: FCB $93,$0a,$ac,$0d; posmed9: FCB $ac,$08,$ff,$00; poslarge10: FCB $00,$00,$00,$00; ~11: SGLTN_POS EQU*; Output

Membership Functions12: OUT0MF EQU*; kipas13: FCB $00; mati14: FCB $40; pelan15: FCB $80; sedang16: FCB $bf; cepat17: FCB $ff; cepatsekali18: FCB $00; ~19: FCB $00; ~20: FCB $00; ~21: OUT1MF EQU*; lampu22: FCB $00; taknyala23: FCB $40; redup24: FCB $80; sedang25: FCB $bf; terang26: FCB $ff; terangsekali27: FCB $00; ~28: FCB $00; ~29: FCB $00; ~30: RULE_START EQU*; Rules follow:31: FCB $0032: FCB $8433: END_OF_RULE FCB $ff

2) Modul LCD 2 16

Untuk menampilkan suhu sekarang, suhu setting,tingkat kecepatan kipas, dan juga intensitas lampumaka digunakan M124A yang merupakan modulLCD 162. LCD ini memiliki built-in kontroler yangdidalamnya sudah terdapat karakter generatorROM/RAM dan display data RAM. Semua fungsidisplay dikontrol lewat instruksi, dan modul inisudah siap diinterfacekan dengan MPU.

“Tabel (2)”. menunjukkan fungsi pin modul LCDM124A. Interface modul dengan MCU MC68HC11ditunjukkan pada “Gambar (9)”. Adapun padainterface tersebut, modul LCD diakses melaluiaddress $0400-$0401.

Tabel 2. Fungsi Pin Modul LCD M124A

No.Pin

NamaPin

I/O Keterangan

1 VSS - 0V (GND)2 VCC - 5V (VCC)3 VEE - Pengatur kontras LCD4 RS I Register Select

0: Instruction register (write)Busy flag dan AddressCounter (read)1: Data register (write danread )

5 R/W I Read dan Write Select0: Write1: Read

6 E I Sinyal Operation Start: sinyalini mengaktifkan data writeatau read

7..14 DB0..DB7

I/O Data bus, DB7 berfungsisebagai 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 tabel2. Penulisan pada IR menyebabkan dilakukannyasuatu instruksi tertentu. “Tabel (3)” menunjukkaninstruksi-instruksi yang dapat dilakukan melaluipenulisan pada IR.

Penulisan atau pembacaan pada data registermenyebabkan tersimpannya atau terbacanya datapada DD RAM maupun CG RAM. DD RAM adalahmemori yang digunakan untuk menyimpan data yangdidisplaykan ke LCD, sedangkan CG RAM adalahmemori yang dapat digunakan oleh software untukmembuat sebuah karakter

Berikut ini adalah software pengendali yangdigunakan untuk menulis data maupun instruksi padamodul LCD. Untuk perintah LCD digunakan rutinOut_Ctrl. Untuk menulis pada LCD, digunakan rutinOut_char.

Potongan Program 3 - Out_Ctrl1: LCD_CTRL EQU $0400

Page 7: Implementasi Fuzzy

Jurnal Teknik Mesin Vol. 1, No.2, Desember 2004 ISSN 1829-8958

98

2: LCD_DATA EQU $04013: -------------------------4: OUT_CTRL:5: STAB LCD_CTRL ;out B to IR6: BRA WAIT_BIT7;wait busy7: OUT_CHAR:8: STAB LCD_DATA ;out B to DD RAM

or CG RAM9: WAIT_BIT7:10: LDAB LCD_CTRL ;wait busy flag11: BMI WAIT_BIT7;12: RTS;

Gambar 9. Interface modul M124A dengan MCU

Sebelum digunakan, LCD tersebut terlebih dahuluharus diinisialisasikan. Berikut ini adalah programinisialisai LCD.

Potongan Program 4 – Init LCD1: INIT_LCD_SEQ2: DB $38,$0C,$06,0;

Function set,Display,On, EntryMode Set

3: BSR L_DELAY; 15ms more delayafter VDD=4.5V

4: LDAB #$38; FUNCTION SET5: STAB LCD_CTRL6: BSR DELAY; 4.1ms more7: LDAB #$38; FUNCTION SET8: STAB LCD_CTRL9: BSR DELAY; 100us more10: LDAB #$38; FUNCTION SET11: STAB LCD_CTRL12: LDY #INIT_LCD_SEQ; diisi

function set, display13: LOOP_INIT_LCD:14: LDAB Y; on/off,entry mode15: BEQ X_INIT_LCD16: BSR OUT_CTRL17: INY; Increment alamat18: BRA LOOP_INIT_LCD19: X_INIT_LCD:20: RTS

3) Sensor suhu

Untuk mendeteksi suhu dalam inkubatordigunakanlah sebuah sensor suhu LM 35 yang dapatdikalibrasikan langsung dalam C, LM 35 inidifungsikan sebagai basic temperature sensor sepertipada “Gambar (10)”.

Gambar 10. LM 35 basic temperature sensor

Vout dari LM 35 ini dihubungkan dengan Port E dariMC68HC11 untuk dijadikan input analog A/DC.Pada A/D Converter 8 bit yang dimiliki MC68HC11memiliki tegangan referensi yang berguna sebagaireferensi pada proses konversi. VRH = 2,56V danVRL = 0 ini diberikan supaya setiap kenaikan satu bitmaka terjadi kenaikan suhu sebesar 1C. Untuk dapatmemakai A/D Converter maka A/D Converter dariMC68HC11 harus diaktifkan dahulu ini hanya perludilakukan sekali pada inisialisasi awal, setelah itudipilih mode-mode pengkonversiannya pada registerADCTL, pada inkubator ini register ADCTL diisidengan $02 karena dipilih mode single channel,pengkonversian yang continue serta channel signaladalah PE2. Dan hasilnya dapat dibaca pada salahsatu ADR1,2,3 atau 4 karena menggunakan singlechannel.

Potongan Program 5 – Read A/DC

1: --------------------------------2: ;Init ADC – Powered up3: --------------------------------4: BSET OPTION,X,ADPU ;A/D System

powered up5: --------------------------------6: ;Read ADC7: --------------------------------8: LDX #$1000 ;alamat base

register9: LDAB #%00000010

;startconversion,modesingle channel,convert

10: STAB ADCTL;continously, AD2 port Ebit 2

11: BRCLR ADCTL,X,CCF,*;wait conversion

12: LDAB ADR1;get result

Page 8: Implementasi Fuzzy

Implementasi Fuzzy Logic Controller - MCS 51 untuk Pengaturan Temperatur Ruang dan Putaran Motor DC (Roswaldi Sk)

99

Gambar 11. Rangkaian Triac

4) Pengendalian output

Setelah membentuk sub-rutin tampilan danpembacaan suhu, sekarang masalahnya adalahbagaimana agar dapat mengendalikan tingkatintensitas lampu dan kecepatan kipas berdasarkanoutput hasil defuzzifikasi pada sistem software fuzzy.

5) Pengaturan intensitas lampu

Phase control adalah suatu sistem yang digunakanuntuk dapat menghasilkan fase tegangan bolak-balikyang berbeda-beda sehingga daya yang diterima olehbeban menjadi bervariasi. Rangkaian triac yangdigunakan untuk memadamkan dan menyalakanlampu terlihat pada “Gambar (11).

Saat input high dari PA5/OC3 masuk maka akanmengaktifkan transistor 2N2222, kaki kolektor danemiternya akan terhubung dengan ground, inimengakibatkan adanya beda tegangan sehingga adaarus yang mengalir ke MOC2030, karena MOC2030inputnya berkisar antara 10mA sampai 30mA makadigunakan resistor 220 untuk membatasi arus yangmasuk ke MOC2030. Jika arus yang masuk kurangdari 10mA maka tidak akan dapat membias diac,tetapi jika arus yang masuk melebihi 30mA makaMOC2030 akan rusak. Dari pemasangan resistorsebesar 220 maka arus yang masuk sekitar 20mA.Kemudian kaki gate dari Triac mendapatkan supplyarus yang kemudian mengakibatkan Triac on ataukaki MT2 dan MT1 terhubung sehingga ada teganganyang masuk ke lampu. Jika pemberian pulsa hightersebut dapat diatur maka akan didapatkan fasetegangan yang berbeda dan daya yang diterimalampu akan bervariasi. Potongan program untukmenyalakan lampu terlihat seperti dibawah ini

Potongan Program 6 – Interrupt OC3

1: OC3:2: BSET PORTA,X,PA5 ;nyalakan

lampu3: BCLR TFLG1,X,#OC3_Flg

;clear OC3F4: RTI ;keluar dari interrupt

Gambar 12. Zero Crossing Detector

Setelah membentuk rutin OC3 untuk menyalakanlampu maka persoalan berikutnya adalah bagaimanadan kapan diberikan pulsa high ke PA5 supaya dayayang diterima lampu menjadi bervariasi. Rangkaianpendukung untuk itu adalah rangkaian zero crossingdetector disebut demikian karena rangkaian ini dapatmenghasilkan pulsa saat tegangan bolak-balik padakondisi zero, dengan demikian diketahui saatdimana tegangan AC mencapai kondisi zero dan inidapat digunakan sebagai awal pemberian delay

Rangkaian zero crossing detector tampak pada“Gambar (12)”. Input tegangan bolak-balik yangmemiliki fase negatif setelah masuk dioda bridgeakan memliki fase positif saja, dan arusnya dibatasioleh R 39K/2W, kemudian arus akan masuk ke ICA4N25, ketika tidak ada arus yang masuk ke ICA4N25 tersebut atau dengan kata lain saat teganganzero maka sesaat tegangan akan masuk ke PA0/IC3.Jika diketahui saat tegangan pada kondisi zero makadapat diatur besarnya delay yang diberikan, lamanyadelay tersebut dapat diproses secara software denganberawal saat timbul transisi naik pada IC3. Setelahdilakukan delay maka input high diberikan ke PA5sehingga akan didapatkan tingkat intensitas lampuyang bervariasi tergantung lamanya delay yangdiberikan selama setengah periode tegangan bolak-balik jika delay semakin lama maka intensitasnyaakan semakin berkurang.

Potongan Program 7 – Interrupt IC31: --------------------------------2: Init interrupt IC3 – positif

going edge2:BSET TCTL2,X,EDG3A;setting IC3

for positive going edge3:BSET TMSK1,X,IC3I;un-masked IC33; IC3 interrupt routine4:IC3:5:LDD REDUP;delay tingkat keredupan6:BCLR PORTA,X,LAMPU;matikan lampu7:ADDD TCNT;tambahkan dgn nilaiTCNT8:STD TOC3;simpan pada TOC39:BCLR TFLG1,X,#$FE;clear flag IC310:RTI;kembali dari interrupt

Pada potongan program diatas terlihat bahwainterrupt IC3 dan OC3 saling berhubungan, pertama-

Page 9: Implementasi Fuzzy

Jurnal Teknik Mesin Vol. 1, No.2, Desember 2004 ISSN 1829-8958

100

tama ketika terjadi transisi naik pada PA0 makainterrupt IC3 akan bekerja, rutin interrupt IC3mengambil besarnya nilai delay yang diberikanredup kemudian nilainya ditambahkan denganTCNT dan disimpan pada TOC3, TCNT(The Free-Running Counter) sendiri adalah timer 16 bit yangdimiliki oleh MC68HC11, saat nilai TCNT=TOCxmaka akan terjadi interrupt, dalam hal ini interruptOC3 dan rutin interrupt OC3 akan menyalakanlampu.

6) PWM (Pulse Width Modulation).

PWM (Pulse Width Modulation) adalah suatu sistempengaturan lebar pulsa high dan lownya padagelombang kotak. Gelombang kotak tersebut sangatmudah dibangkitkan, hanya denganmenkonfigurasikan output compare untuk togglesetiap setengah periode. Sinyal PWM ini memilikifrekuensi yang sama, yang berubah hanyalah dutycycle nya, duty cycle adalah persentase antara sinyalhigh dengan sinyal satu periodanya. Gambarrangkaian driver motor tampak seperti “Gambar (13).Saat ada pulsa high masuk maka kedua transistoryang dirangkai secara Darlington akan aktifsehinggga timbul arus pada motor, dan motorberputar. Pengaturan lebar pulsa high dan low-nyaakan dilakukan secara software, semakin besar lebarpulsa highnya maka semakin besar kecepatan motortersebut dan semakin sempit lebar pulsanya makakecepatan motor akan semakin menurun.

Gambar 13.Rangkaian Driver Motor

Potongan Program 8 - interrupt OC4 /PWM1:-------------------------------2:;init OC4 for PWM3: LDD TCNT;ambil nilai TCNT4: STD TOC4;store ke TOC45: BSET TCTL1,X,OM4+OL4;setting

OC4,OC4 set6: BCLR TFLG1,#$EF;clear OC4 flag7: BSET TMSK1,X,OC4I;un-masked OC48:------------------------------

;OC4 interrupt routine9:------------------------------

;OC4HI+OC4LO = 10000

10:parameter untuk 1 periode11:OC4:12:BRCLR TCTL1,X,OL4,GETOC4LO

;apakah pulsa low13:LDD OC4HI;tidak, load OC4HI14:BRA NEWTOC4 GETOC4LO:15:LDD OC4LO;ya, load OC4LO16:NEWTOC4;update TOC4,perbarui

nilai TOC417:ADDD TOC418:STD TOC419:LDAA TCTL120:EORA #OL4;invert OL4 to toggle21:STAA TCTL122:BCLR TFLG1,X,#$EF;clear flag

OC4F23:RTI ;return from service

Potongan program diatas dapat dijelaskan sebagaiberikut: Pertama-tama mengambil nilai TCNT dandimasukkan ke TOC4 (Timer Output Compare 4), iniberguna untuk membangkitkan interrupt karena jikanilai TCNT sama dengan nilai TOC4 maka FlagOC4F akan set dan bersama-sama dengan OC4I (Output Compare 4 Interrupt enable) akanmembangkitkan interrupt OC4. Kondisi awalnyapulsa dibuat high dengan set OC4 pada registerTCTL1, kemudian dipastikan bahwa OC4F clear dansetelah itu interrupt enable dari OC4 di set padaTMSK1.

Saat masuk pada rutin interrupt OC4 inisialisasiawal dari keadaan sinyal adalah high, kemudiandilihat apakah pulsa low jika tidak maka ambil nilaiOC4HI (lebar pulsa high menurut variasi kecepatan)jika low maka ambil nilai OC4LO (lebar pulsa lowmenuurut variasi kecepatan), kemudian selaluperbarui nilai TOC4 dengan menambahkan nilai dariOC4HI atau OC4LO dengan TOC4 dan kemudianhasilnya dianggap sebagai nilai TOC4 yang baru.Pulsa kemudian kita toggle agar berubah dari high kelow atau dari low ke high, dan terakhir flag OC4Fharus di clear untuk menandai selesainya prosesinterrupt.

4. PENUTUP

4.1 Kesimpulan

Dari uraian-uraian diatas dapat diambil kesimpulan:

1. Proses pengendali logika fuzzy melalui tahapansebagai berikut;

Fuzzyfikasi yaitu merubah variabel numerikkedalam variabel fuzzy dengan caramemberi tingkat kwantisasi fungsikeanggotaan dan derajat keanggotaan.

Aturan fuzzy yaitu jika masukan adalah Adan B maka keluaran adalah C danseterusnya.

Page 10: Implementasi Fuzzy

Implementasi Fuzzy Logic Controller - MCS 51 untuk Pengaturan Temperatur Ruang dan Putaran Motor DC (Roswaldi Sk)

101

Defuzzyfikasi yaitu mengembalikan variabellinguistic (fuzzy) ke variabel numerik (nonfuzzy) dari masukan dan keluaran denganmenggunakan rumus Centre of area (COA).

2. Penggunaan kendali logika fuzzy pada sistemkendali Inkubator menghasilkan perubahan yangcepat untuk mencapai steady state tanpamengalami transient.

3. Sinyal kendali yang dihasilkan lebih kecil 10%dari set-point, apabila setpoint yang dimasukantidak sama dengan nilai membership function..

4. Hasil yang baik untuk frekuensi sinyal gangguanditemukan pada frekuensi 0.1 Hz.

5. Penundaan waktu (delay time) pengiriman sinyalkendali adalah 250 –500 milli-detik untukinterface jenis ad-da card super 12 bitberdasarkan percobaan.

6. Kendali logika fuzzy yang digabungkan denganmicrokontroler sangat sesuai diterapkan padasistem kendali Inkubator dan pengendali-pengendali dengan kestabilan yang tinggi.

7. Penggunaan kendali logika fuzzy tetap beracuanpada kendali konvensional yang sudahdirancang sebelumnya.

4.2 Saran:

1. Dengan keterbatasan waktu dan kemampuanmembuat program menu tampilan kamimenyarankan bagi yang berminatmengembangkan dapat membuat tampilan menuyang lebih baik yaitu menampilkan grafikfuzzyfikasi, daftar aturan fuzzy dan grafikdefuzzyfikasi sekaligus dalam satu layermonitor.

2. Akan lebih baik apabila setiap kali percobaandapat menampilkan hasil perubahan variabelfuzzy yakni membership function dan aturan-aturan fuzzy dilayar monitor.

PUSTAKA

1. Carlos A Smith, Amando B Corripio,Principles And Practice od Automatic ProcessControl, John Willey & Son, Singapore, 1995

2. John Yen, Rezza Lengari, Lotfi A. Zadeh,Indutrial Applications Of Fuzzy Logic andIntelligent Systems, IEEE Press, New York,1995

3. J. Michael Jacob, Industrial ControlElectronics, Application and Design, PrinticeHall International Inc, Singapore, 1995

4. K. Ogata, Modern Control and System, PrinticeHall, 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, FuzzyLogicand Control( Softwar and HardwareApplications ),Volume 2, Printice Hall, NewJersey, 1993

8. Mustofa, Adam RM, Pengaturan kecepatanmotor induksi tiga phasa dengan PID-Fuzzy,PENS ITS, Surabaya, 1997

9. Rianto, Fakhrul Ubaidilah, Sistem pengaturanmotor 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, 15Juni 1958, menyelesaikan S1 Pendidikan TeknikListrik FPTK IKIP Padang dan DIV Teknik Elektropada FTI ITB Bandung.

.