PENGONTROL SUHU UDARA INKUBATOR BAYI KUCING
BERBASIS MIKROKONTROLER AT89S52
DENGAN METODA FUZZY LOGIC
Tugas Akhir
Diajukan Untuk Memenuhi Salah Satu Syarat
Memperoleh Gelar Sarjana Teknik
Program Studi Teknik Elektro
Oleh:
Nama : IGN. Heru Wahyudi M.D.A.
NIM : 035114050
PROGRAM STUDI TEKNIK ELEKTRO
FAKULTAS SAINS DAN TEKNOLOGI
UNIVERSITAS SANATA DHARMA
YOGYAKARTA
TEMPERATURE CONTROL FOR INCUBATOR KITTEN
BASED ON AT89S52 MICROCONTROLLER
WITH METHODE FUZZY LOGIC
Final Project
Presented as Partial Fulfillment of the Requirements
To Obtain the Sarjana Teknik Degree
In Electrical Engineering Study Program
By:
Name : IGN. Heru Wahyudi M.D.A.
Student Number: 035114050
ELECTRICAL ENGINEERING STUDY PROGRAM
FACULTY OF SCIENCE AND TECHNOLOGY
SANATA DHARMA UNIVERSITY
YOGYAKARTA
III
600Zi5qmTd5S"[ ru88us J
60-0[reqru-5ldd$or'1n88uel
: qslo mlnpslp qulel
O9O'IIE'O:I^trIN 'V'C'I I ryn ftlu/v\ ruoH'NOI
:qCIlo
JI$OT AZZNT Y(IOItrI^I I{YONf,O
ZSS6SIV
Uf, ]OUINIOXOTDTITAI
SISYtrUtrfl
3\trSrDr r^vfl uorv{flxNll Yuvofl oHns rourNrocNfd
UIIDTY SYf)OI
NYNfNIUSUf,d NIYINYTYH
( 'I'W 'J SltruH lrr1.\\ B
#
I
ll Eurqurrqur:;
v'ct'I tr tpn
6002 requeldes,'eu")Ie{EoI
.e1epnd,"-;;.;#ffi
;:ffffi::: ffi* { rlencel
'ure1 8ue;o e,{ra1 uel8eq nele e.fte1 lenrueru {epl1
rur srln1 e,(es Eue,( lqle se8nl e^\q€q e,{uqn8Eunses ue8uep uelelefueur uie5.. {,{e16 nreg 'u81
.H
vii
PENGONTROL SUHU UDARA INKUBATOR BAYI KUCING
BERBASIS MIKROKONTROLER AT89S52
DENGAN METODA FUZZY LOGIC
Heru wahyudi
035114050
Intisari
Memelihara kucing mempunyai kepuasan tersendiri dan kebanyakan orang menjadikannya sebagai hewan kesayangan. Sering kali pada saat melahirkan induk kucing mengalami kematian, sehingga bayi kucing tersebut membutuhkan suhu ruangan yang nyaman. Inkubator dapat dijadikan sebagai media untuk merawat bayi kucing, karena suhu udaranya dapat dikontrol, sehingga suhu udaranya sesuai dengan yang diharapkan.
Mikrokontroler AT89S52 berperan sebagai pengendali suhu udara inkubator. Sistem ini didukung dengan lampu sebagai pemanas dan kipas sebagai pendingin. Sensor suhu yang digunakan adalah LM335. Data yang diperoleh kemudian diolah oleh mikrokontroler. Suhu yang
diinginkan mempunyai 3 pilihan yaitu 32oC untuk bayi yang berumur 0-7 hari, 28oC untuk bayi
yang berumur 8-14 hari, 26 o
Piranti pengontrol suhu udara inkubator bayi kucing ini dapat diimplementasikan untuk
mengontrol suhu dengan media mikrokontroler AT89S52. Terbukti pada hasil pengujian setiap
set point tercapai dan stabil, gangguan yang diberikan tidak mempengaruhi kestabilan suhu udara inkubator.
C untuk bayi yang berumur 15-28 hari . Suhu yang terukur
ditampilkan pada 3 digit seven segment. Metode pengendalian yang digunakan berbasis kendali
logika samar.
viii
TEMPERATURE CONTROL FOR INCUBATOR KITTEN BASED ON AT89S51 MICROCONTROLLER
WITH METHODE FUZZY LOGIC
Heru wahyudi
035114050
Abstract
Taking care a cat might give self satisfaction for most people. Mostly, when bearing, the mother cat die which makes the kitten needs the comfortable room temperature. Incubator could be used as the media to take care kitten, since the temperature can be controlled as what we expect.
AT89S52 microcontroller had the role as the incubator temperature controller. This system was supported by the lamp as the heater and the fan as the cooler. The temperature sensor used was 1m335 then processed by the microcontroller. The
expected temperature has three options, 32oC for a 0-7 days old, 28oC for a 8-14 days
old, 26o
Device of Temperature controller incubator kitten could be implemented to control the temperature by AT89S52 microcontroller as the media. It was proved on the test result, each set point was reached and stabil, the given interference did not influence the incubator temperature stability.
C for a 15-28 days old kitten. The measured temperature was showed by 3 digit seven segment. Controlling method use fuzzy logic controller (FLC).
Key words : incubator, kitten, fuzzy logic controller, microcontroller.
iv
KATA PENGANTAR
Puji syukur penulis panjatkan kepada Tuhan Yesus Kristus, karena kasih
karunia-Nya penulis akhirnya dapat menyelesaikan tugas akhir ini dengan baik
dan lancar. Tugas akhir ini merupakan salah satu syarat untuk memperoleh gelar
Sarjana pada program studi Teknik Elektro Universitas Sanata Dharma
Yogyakarta.
Dalam proses penulisan tugas akhir ini penulis menyadari bahwa ada
begitu banyak pihak yang telah memberikan perhatian dan bantuan sehingga tugas
akhir ini dapat terselesaikan. Maka dari itu, penulis ingin mengucapkan terima
kasih kepada :
1. Yosef Agung Cahyanta S.T.,M.T, selaku Dekan Fakultas Teknik
Universitas Sanata Dharma Yogyakarta.
2. B. Wuri Harini, S.T., M.T., selaku Kaprodi Teknik Elektro Universitas
Sanata Dharma Yogyakarta dan banyak membantu dalam menyelesaikan
tulisan ini.
3. Ir. Th. Prima Ari Setyiani, M.T., selaku pembimbing I
4. A. Bayu Primawan, S.T., M.Eng. dan Djoko Untoro Suwarno, S.Si, M.T
sebagai penguji dan kepada seluruh dosen Teknik Elektro Universitas
Sanata.
5. Bapak M maryono(Alm) dan Ibu Maria Supimurtini sebagai orang tua
yang baik. I. Singgih H dan A Tri Dewi sebagai saudaraku
6. Rb. Supardiyono sekeluarga, yang telah banyak banyak membantu dalam
v
7. Laboran Teknik Elektro : mas Broto, mas Mardi, mas Sur, mas Hardi.
8. Dan seluruh pihak yang telah ambil bagian dalam proses penulisan tugas
akhir ini yang terlalu banyak jika disebutkan satu-persatu.
Dengan rendah hati penulis menyadari bahwa tugas akhir ini masih jauh
dari sempurna, oleh karena itu berbagai kritik dan saran untuk perbaikan tugas
akhir ini sangat diharapkan. Akhir kata, semoga tugas akhir ini dapat bermanfaat
bagi semua pihak. Terima kasih.
Yogyakarta, juni 2009
DAFTAR ISI
HALAMAN JUDUL
...
iHALAMAN PERSETUJUAN PEMBIMBING
.. ...
iiiHALAMAN PENGESAHAN ... ... iv
PERNYATAAN KEASLIAN KARYA
.. ...
vMOTO DAN PERSEMBAHAN
.. ...
viINTISARI
...
viiABSTRACT
...
viiiKATA PENGANTAR
...
ixDAFTAR ISI
...
xiDAFTAR GAMBAR ... xiv
DAFTAR TABEL ... xvii
DAFTAR LAMPIRAN ... xviii
BAB I. PENDAHULUAN
...
11.1 Latar Belakang Masalah ... 1
1.2 Tujuan dan Manfaat Penelitian ... 2
1.3 Batasan Masalah ... 2
1.4 Metodologi Penelitian ... 2
BAB II. DASAR TEORI
...
42.1 Sensor suhu ... 4
2.2 Pengondisi Sinyal (Span & Zero) ... 5
a. Penguat Beda (differential Amplifier) ... 7
b. Pembagi Tegangan dengan Penyangga (rangkaian pengurang). ... 8
2.3 Pengubah Data (tegangan) Analog ke Data Digital ... 9
2.4 Mikrokontroler AT89S52 ... 11
2.4.2 RAM Internal ... 12
2.4.2.1 Flash PEROM ... 14
2.4.2.2 PSW (Program Status Word ... 14
2.4.3 Rangkaian Osilator Mikrokontroler ... 15
2.4.4 Rangkaian Reset Mikrokotroler ... 15
2.5 Himpunan Kabur (Fuzzy Logic) ... 16
2.5.1 Fungsi Pengaburan ... 17
2.5.2 Basis Pengetahuan ... 19
2.5.3 Unit Penalaran Kabur ... 20
2.5.4 Unit Penegasan ... 20
2.6 Seven segment ... 22
2.7 Definisi spesifikasi respon transien ... 22
a. Waktu runda (delay time) ... 23
b. Waktu naik (rise time) ... 23
c. Waktu puncak ... 23
d. Lewatan maksimum (Mp e. Waktu penetapan ... 24
) ... 23
BAB III. PERANCANGAN ... 25
3.1 Perancangan Perangkat Keras ... 26
3.1.1 Perancangan Inkubator (Plant ... 26
3.1.2 Sensor suhu elektronis LM335 dan penyangga ... 27
3.1.3 Hubungan sinyal terkondisi dengan ADC0804 ... 28
3.1.4 Antarmuka ADC 0804 dengan Mikrokontroler AT89S52 ... 29
3.1.5 Rangkaian Pengkondisi Isyarat Untuk Masukan ADC ... 29
3.1.6 Rangkaian reset mikrokontroler ... 32
3.1.7 Key Pad ... 33
3.1.8 Tampilan Suhu ... 34
3.2 Pembuatan Rules ... 35
3.3.1 Program Penghitungan error dan d_error ... 39
3.3.2 Program Fuzzy Logic Controll (FLC) ... 41
3.3.2.1 Program Fuzzifikasi ... 41
3.3.2.2 Program Inferensi ... 42
3.3.2.3 Program Defuzzification (penegasan) ... 45
3.3.3 Program penampilan suhu ... 47
BAB IV. HASIL DAN PEMBAHASAN ... 49
4.1 Cara kerja inkubator bayi kucing ... 51
4.2 Pengamatan dan analisa suhu inkubator ... 52
4.2.1 Hasil pengamatan pada set point 26 o 4.2.2 Hasil pengamatan pada set point 28 C ... 52
o 4.2.3 Hasil pengamatan pada set point 32 C ... 55
o 4.3 Hasil pengamatan menghadapi gangguan ... 58
C ... 56
4.3.1 Pengujian pada set point 26o 4.3.2 Pengujian pada set point 28 C ... 59
o 4.3.3 Pengujian pada set point 32 C ... 59
o 4.4 Program utama ... 63
C ... 61
4.4.1 Penghitungan error dan d_error ... 65
4.4.2 Program fuzzy logic ... 65
4.4.2.1 Fuzzification ... 66
4.4.2.2 Basis data ... 67
BAB V KESIMPULAN DAN SARAN ... 68
5.1 Kesimpulan ... 68
5.2 Saran ... 68
DAFTAR PUSTAKA
LAMPIRAN DATA HASIL PENGUKURAN
LAMPIRAN LIST PROGRAM
DAFTAR GAMBAR
halaman
Gambar 2.1. Simbol dan bentuk IC LM335 ... 5
Gambar 2.2. Sensor suhu sederhana tanpa kalibarasi ... 6
Gambar 2.3. Two-port system ... 7
Gambar 2.4. Penguat Beda (differential amplifier) ... 8
Gambar 2.5. Pembagi tegangan dengan penyangga ... 9
Gambar 2.6. Diagram blok pengubah analog ke digital ... 10
Gambar 2.7. Pin ADC0804 ... 12
Gambar 2.8. Konfigurasi pin Mikrokontroler AT89S52 ... 13
Gambar 2.9. Lokasi RAM Internal ... 15
Gambar 2.10. Rangkaian osilator mikrokontroler ... 16
Gambar 2.11. Rangkaian reset mikrokontroler ... 17
Gambar 2.12. Struktur dasar suatu sustem kendali kabur ... 18
Gambar 2.13. Nilai fungsi pengaburan segitiga... 20
Gambar 2.14. Rangakaian led common catoda ... 23
Gambar 2.15. Susunan led seven segment tampak atas ... 23
Gambar 3.1. Diagram kotak pengontrol suhu udara pada inkubator ... 25
Gambar 3.2. Rancangan konstruksi inkubator ... 26
Gambar 3.3. Rangkain sensor LM335 ... 27
Gambar 3.4. Hubungan sinyal terkondisi dengan ADC080438 ... 28
Gambar 3.5. Antarmuka AT89s52 dengan ADC0804 ... 38
Gambar 3.7. Rangkaian penguat beda ... 31
Gambar 3.8. Rangkaian reset ... 32
Gambar 3.9. Antarmuka antara key pad dengan Mikrokontroler AT89s52 ... 33
Gambar 3.10. Rangakaian seven segment. ... 34
Gambar 3.11. Respon sistem tipikal dan pembagian daerahnya ... 35
Gambar 3.12. (a) Fungsi keanggotaan error dan d_error ... 36
(b) Fungsi keanggotan output ... 36
Gambar 3.13. Diagram alir program utama ……… ... 38
Gambar 3.14. Diagram alir program Penghitungan error dan d_error ... 40
Gambar 3.15. Diagram alir program penyulutan fungsi keanggotaan masukan ... 42
Gambar 3.16. Diagram alir program basis data. ... ………44
Gambar 3.17. Diagram alir program basis kaidah ……… ... 45
Gambar 3.18. Diagram alir program defuzzifikasi ... ………46
Gambar 3.19. Diagram alir program panampilan suhu ... 47
Gambar 4.1. Inkubator kucing... 48
Gambar 4.2. Panel kontrol... 49
Gambar 4.3. Pendingin inkubator sederhana ... 50
Gambar 4.4. Pemanas suhu udara ... 50
Gambar 4.5. Grafik respon transien set point 26o Gambar 4.6. Grafik respon transien set point 28 C... 53
o Gambar 4.7. Grafik respon transien set point 32 C... 55
o Gambar 4.8. Grafik pengujian ganguan set point 26 C... 57
o Gambar 4.9 Grafik pengujian ganguan set point 28 C... 59
o Gambar 4.10 Grafik pengujian ganguan set point 32 C... 61
Gambar 4.11 Program utama pengontrol suhu udara inkubator berbasis
mikrokontroler. ... 63
Gambar 4.12 Program pengitungan error ... 64
Gambar 4.13 Program fuzzification ... 65
DAFTAR LAMPIRAN
Lampiran I Perancangan Tampilan Mode F1 ………. LI
Lampiran II Gambar Rangkaian ……….. LII
Lampiran III Daftar ASCII ………... LIII
Lampiran IV Listing Program .………... LIV
Lampiran V Datasheet ………. LV
1
BAB I
PENDAHULUAN
1.1Latar Belakang
Kebutuhan bayi kucing yang harus di penuhi oleh induknya diantaranya
adalah kehangatan, perlindungan, pendidikan, nutrisi dan perawatan. Kebutuhan
akan suhu yang nyaman bisa terpenuhi secara alami, diantanya adalah berasal dari
suhu tubuh induknya atau suhu tubuh anakan kucing yang lainnya.
Bayi kucing yang lahir prematur, induk kucing yang mengalami gangguan
kesehatan saat melahirkan dan jumlah bayi kucing yang banyak, menyebabkan
kurang terpenuhinya kebutuhan-kebutuhan bagi bayi kucing. Pemberian
perlindungan, nutrisi, perawatan dan pendidikan dapat dilakukan secara langsung
oleh manusia secara rutin, sedangkan kebutuhan kehangatan memerlukan
tindakan khusus untuk mendapatkan suhu yang nyaman dan stabil.
Bayi kucing yang baru dilahirkan sangat sensitive terhadap suhu ruangan.
Salah satu masalah yang akan timbul jika suhu ruangan tidak sesuai dengan
kebutuhan bayi kucing adalah mengalami hipotermi. Banyak cara yang diciptakan
untuk membuat suhu yang cocok dan nyaman untuk bayi kucing tersebut. Salah
satu cara yang dilakukan oleh pakar kesehatan adalah menempatkan bayi kucing
pada sebuah inkubator. Untuk menjaga temperatur udara yang diinginkan pada
sebuah inkubator bayi hewan khususnya kucing, sekarang ini masih dilakukan
secara manual yaitu dengan menyalakan atau mematikan lampu berdasarkan suhu
yang terukur oleh termometer ruangan atau secara prediksi.
Dari masalah yang sedang terjadi diatas, maka dalam tugas akhir ini akan
2 otomatis dan pengontrol suhu menggunakan mikrokontroler AT89S51 dengan
metoda logika kabur (fuzzy logic control).
1.2Pembatasan Masalah
Spesifikasi alat yang akan dibuat seperti yang telah diuraikan di atas dibatasi
pada:
1. Penggunaan inkubator dikhususkan pada bayi kucing yang berumur 0
sampai 28 hari dengan suhu yang diinginkan pada umur 0-7 hari adalah
32oC, pada umur 8-14 hari adalah 28oC sedangkan pada umur 15-28 hari
membutuhkan suhu udara 26 o
2. Sistem pengendali menggunakan mikrokontroler Atmel seri AT89S52 dan
program fuzzy logic controller yang tersimpan didalamnya.
C.
3. Sebagai pemanas digunakan empat buah lampu 100 watt dan
pendinginnya menggunakan kipas.
4. Tampilan suhu aktual menggunakan seven segment 3 angka.
1.3Tujuan Penelitian
Tujuan Penelitian ini adalah menghasilkan pengontrol suhu inkubator bayi kucing
dengan metoda fuzzy logic conroller (FLC).
1.4Metodologi Penelitian
Merodologi penelitian yang akan digunakan dalam penelitian ini pada
pembuatan alat ini adalah sebagai berikut:
1. Perancangan dan pembuatan plant inkubator .
3
3. Perancangan dan pengujian rangkaian pengendali lampu AC 100W dan
kipas angin 12V.
4. Perancangan dan pengujian AT89S51 untuk pengolah data yang diterima
dari tranduser suhu dan mengendalikan sistem pengendali.
5. Perancangan dan pengujian fuzzy logic controller untuk diaplikasikan
4
BAB II
DASAR TEORI
2.1 Sensor Suhu
Untuk tranduser suhu secara khusus sudah tersedia dalam bentuk bahan
semikonduktor dengan bentuk fisik seperti transistor dengan tiga buah kaki.
Kemampuan bahan semikonduktor ini mempunyai jangkauan pengukuran yang
lebar, dan mempunyai sifat yang benar-benar linier antara perubahan suhu yang
diterima dan tegangan keluaran yang dihasilkannya. Contohnya adalah
semikonduktor terintegrasi berupa IC LM35 dan LM335.
Inkubator yang dibuat menggunakan semikonduktor terintegrasi berupa IC
LM335. Perubahan nilai tegangan keluaran adalah sebesar 10 mV setiap satu
derajad. Simbol dan bentuk dari LM335 dapat dilihat pada gambar 2.1.
simbol tampak bawah
Gambar 2.1. Simbol dan Bentuk IC LM335.
LM335 berupa semikonduktor yang secara fisik bentuknya sama dengan
transistor tiga kaki. Dilihat dari bawah dengan bidang yang mendatar berada di
atas maka dapat ditentukan kaki-kakinya. Kaki pertama merupakan kaki adj, kaki
kedua adalah kaki anoda dan kaki ketiga adalah kaki katoda. IC LM335
5 elektronis sama dengan dioda, secara sederhana untainya dapat digambarkan
seperti pada gambar 2.2[2]
Gambar 2.2 Sensor suhu sederhana Tanpa kalibrasi
Berikut ini adalah beberapa karakteristik dari LM335 yang mendukung
pembuatan inkubator dalam pendeteksian suhu udara: .
1. LM334 mempunyai perubahan pada keluaran sebesar 10mV setiap 1o
2. Mempunyai jangkah pengukuran suhu yang besar dari –40
C
bila pada komponen ini diberi catu daya maka ia akan bekerja sebagai
sensor suhu yang bersifat linier.
o
C sampai
dengan 100 o
Tegangan yang dihasilkan sensor berdasarkan besarnya suhu dalam celcius
adalah
V C.
lm335 = ( 273 + o
R s V c c
=
R s
I
C ) X 10mV ……….2.1
Rentang arus untuk sensor LM335 adalah 400μA hingga 5mA. Resistor Rs adalah
hambatan untuk membatasi arus masukan. Besarnya arus yang mengalir kedalam
sensor adalah,
………...2.2
2.2 Pengondisi Sinyal (Span & Zero)
Pengkondisi sinyal berfungsi untuk menyesuaikan keluaran sensor dengan
6 input adc dan tegangan maksimal keluaran sensor diubah menjadi tegangan
maksimal tegangan input adc. Diagram blok pengkondisi sinyal[2] ditunjukan
gambar 2.3.
Gambar 2.3. Two-port system
Besarnya penguatan dari pengkondisi sinyal adalah perbandingan antara
tegangan keluaran dengan tegangan input. Besarnya penguatan dapat di tulis
dalam persamaan sebagai berikut yaitu
V i V o
A V= ...
1 2
1 1
2 1
Y Y
Y
V o
X X
X
V i
− − = − −
...
Penyesuaian sinyal ini menggunakan penguat operasional (op-amp).
Penggunaan op-amp diperlukan karena op-amp mempunyai sifat penting salah
satunya yaitu mempunyai impedansi masukan tinggi dan impedansi keluaran
rendah, sehingga tidak perlu arus yang besar untuk mengaktifkan op-amp dan
mempunyai nilai penguatan yang tinggi. Pengkondisi sinyal ini terdiri dari dua
bagian yaitu:
1. Bagian rangkaian penguat beda
2. Bagian rangkaian pengurang
Pada rangkaian penguat beda input positif (non inverting) terhubung
dengan keluaran sensor dan input negatif (inverting) terhubung dengan tegangan
7
a.
Penguat Beda (differential Amplifier)
Penguat beda merupakan bagian dari penguat instrumentasi dalam
pengukuran. Penguat ini dirancang dengan menggunakan op-amp dan tahanan
presisi yang membuat rangkaian menjadi stabil dan berguna ketika ketelitian
menjadi suatu hal yang penting.
Penguat beda ini mempunyai dua masukan yaitu V1 yang terhubung dengan
masukan membalik dan V2 yang terhubung dengan masukan tidak membalik,
Rangkaian penguat beda ini ditunjukan pada gambar 2.4. Masing-masing
masukan ini terhubung dengan sebuah tahanan, pada masukan membalik diberi
tahanan umpan balik dari keluaran dan pada masukan tidak membalik diberi
sebuah tahanan yang terhubung dengan bumi.
[2]
Gambar 2.4. Penguat Beda (differential amplifier)
Pada masukan membalik terdapat penguatan tegangan masukan sebesar
1
R R
Ai n v=− f ... 2.8
Pada masukan tak membalik terdapat penguatan tegangan masukan sebesar
+
+
−
=
−
2 1
1
R
R
R
R
R
R
A
g g f
i n v
n o n ... 2.9
8
1 1 0
2 .V
R R V
V o u t f
− = = ... 2.10
Pada saat V1 = 0 dan V2 0 maka keluaran penguat beda adalah
2 2 1
1 0
1
.
V
R
R
R
R
R
R
V
V
o
u
t
g g f
+
+
=
= ... 2.11
Tegangan keluaran merupakan penjumlahan dari dua keadaan tersebut
2 2 1 1 1 0 1 0 2 . 1 . V R R R R R R V R R V
V o u t V o u t
V
g g f
f o u t
V V
o u t
+ + + − = + = = =
Bila Rf = RG dan R2= R1, maka
(
2 1)
1 V iV
R R g V o u t −
= ... 2.12 1 R R g V = ∆ ... 2.13
b. Pembagi Tegangan dengan Penyangga (rangkaian pengurang)[2]
Rangkaian ini merupakan sumber tegangan yang digunakan sebagai
tegangan pengurang,
9 Gambar 2.5. Pembagi tegangan dengan penyangga
Tegangan keluaran pada Vo1 adalah sama dengan Vpot yaitu tegangan yang
dihasilkan dari pembagi tegangan antara R1 dan (Rpot +R2), Karena penguatan
pada op-amp adalah 1.
2.3
Pengubah Data (tegangan) Analog ke Data Digital
Pengubah sinyal analog menjadi sinyal digital disebut pengkode atau
encoder. Gambar 2.6 memperlihatkan diagram blok pengubah sinyal analog ke
digital. Dari gambar 2.6, masukan berupa sinyal analog akan diubah menjadi
bentuk biner pada bagian keluaran dari bit paling rendah (LSB) sampai bit yang
paling tinggi (MSB).
[8]
Gambar 2.6. Diagram blok pengubah analog ke digital.
Pengubah analog ke digital yang digunakan oleh penulis adalah ADC0804
yang dibuat untuk dapat langsung berhubungan dengan mikroprosesor baik Zilog
80, 8080, atau mikroprosesor 8 bit lainnya. Sinyal masukan maupun sinyal
keluaran dari IC ini, sesuai untuk MOS dan TTL. IC ADC0804 mempunyai waktu
10 bentuk biner. Beroperasi pada daya standar +5volt dan dapat menerima masukan
analog berkisar 0Volt sampai 5Volt. Macam-macam pin (kaki) yang dimiliki oleh
IC ADC0804:
a. CS
Berfungsi sebagai masukan. Pin ini sebagai chip select dari kontrol
mikroprosesor.
b. RD
Berfungsi sebagai masukan. Pin ini sebagai kontrol untuk membaca data
dari mikroprosesor.
c. WR
Berfungsi sebagai masukan. Pin ini sebagai kontrol untuk menulis data ke
mikroprosesor.
d. CLK IN
Berfungsi sebagai masukan. Pin ini sebagai pengatur detak.
e. INTR
Berfungsi sebagai keluaran. Pin ini sebagai sarana untuk memberikan
interupsi pada masukan interupsi mikroprosesor.
f. VIN (+)
Berfungsi sebagai masukan. Pin ini merupakan jalan masuk bagi sinyal
analog masukkan positif.
g. VIN (-)
Berfungsi sebagai masukan. Pin ini merupakan jalan masuk bagi sinyal
analog masukan negatif.
11 Berfungsi sebagai masukan daya. Pin ini sebagai pembulatan analog.
i. VREF/2
Berfungsi sebagai masukan. Pin ini merupakan jalan masuk bagi tegangan
acuan yang lain (±).
j. D GND
Berfungsi sebagai keluaran. Pin ini sebagai pembulatan digital.
k. DB7-DB0
Berfungsi sebagai keluaran. Pin ini merupakan jalan keluaran bagi data
keluaran bit7 sampai bit0.
l. CLKR
Berfungsi sebagai masukan. Pin ini sebagai pengatur detak dengan
menghubungkannya ke resistor eksternal.
m. VCC(Or ref)
Berfungsi sebagai masukan daya. Pin ini sebagai jalan masuk untuk catu
daya +5volt dan tegangan acuan primer.
Gambar 2.7 menunjukkan konfigurasi kaki pada ADC0804. Resolusi ADC
dengan jumlah bit (n) dapat dihitung dengan
1 2 −
= Vnm a k
r e s o l u s i Volt/step ... (2.12)
12
2.4
Mikrokontroler AT89S52
Mikrokontroler AT89S52 adalah mikrokontroler buatan ATMEL.
Mikrokontroler 8 bit ini sudah dilengkapi FPEROM (Flash Programmable and
Erasable Read Only Memory). FPEROM adalah ROM (Read Only Memory) yang
dapat dihapus dan ditulis kembali.
Fasilitas-fasilitas standar yang dimiliki Mikrokontroler AT89S52 adalah 8
KB FPEROM, 256 byte RAM (Random Accsess Memory), 32 jalur I/O
(input/output), watchdog timer, dua data pointer, tiga 16-bit timer/counter, jalur
komunikasi serial full duplex dan osilator internal.
[8]
2.4.1 Konfigurasi Pin Mikrokontroler AT89S52
Mikrokontroler AT89S52 memiliki 40 pin dan ada beberapa pin yang
memiliki fungsi ganda. Konfigurasi pin Mikrokontroler AT89S52 dapat dilhat
pada gambar 2.8 dan fungsi pin dapat dilihat pada tabel 2.1.
Gambar 2.8. Konfigurasi pin Mikrokontroler AT89S52.
2.4.2 RAM Internal
RAM Internal pada Mikrokontroler AT89S52 terdiri atas :
a. Register Bank. Mikrokontroler memiliki 8 buah register yang terdiri atas
13
bank 1, bank 2 dan bank 3 dengan cara mengubah nilai RS0 dan RS1 pada
register PSW.
b. Bit addressable RAM. RAM yang dapat diakses secara pengalamatan bit
terletak pada alamat 20H sampai 2FH.
c. RAM serbaguna. RAM ini dapat diakses secara pengalamatan langsung
dan tak langsung terletak pada alamat 30H sampai 7FH. Lokasi RAM
Internal dapat dilihat pada gambar 2.9.
Tabel 2.1 Fungsi pin Mikrokontroler AT89S52.
Pin Fungsi
VCC Catu daya 4V – 5,5V
GND Ground
Port 0 8 bit jalur I/O dua arah
Port 1 8 bit jalur I/O dua arah Fungsi alternatif :
P1.0 = T2 (Masukan untuk timer 2)
P1.1 = T2EX (Triggertimer 2)
P1.5 = MOSI (digunakan untuk ISP) P1.6 = MISO (digunakan untuk ISP) P1.7 = SCK (digunakan untuk ISP)
Port 2 8 bit jalur I/O dua arah
Port 3 8 bit jalur I/O dua arah Fungsi alternatif :
P3.0 = RXD (masukan komunikasi serial) P3.1 = TXD (keluaran komunikasi serial) P3.2 = INT0 (interupsi ekternal 0) P3.3 = INT1 (interupsi eksternal 1)
P3.4 = T0 (masukan timer 0)
P3.5 = T1 (masukan timer 1)
P3.6 = WR
P3.7 = RD
RST Mereset mikrokontroler apabila diberi logika ‘1’
selama 2 siklus mesin
EA/VPP Harus diberi VCC apabila ingin menjalankan
14
XTAL1 Masukan osilator internal
XTAL2 Keluaran osilator internal, apabila menggunakan
osilator eksternal pin tidak dihubungkan (No
Connect)
2.4.2.1Flash PEROM
Mikrokontroler AT89S52 mempunyai 8 KB Flash PEROM yang dapat
ditulis dan dihapus. Flash PEROM berisikan instruksi-instruksi.
Instruksi-instruksi ini akan dieksekusi jika sistem di-reset. Bila pin EA/VPP berlogika ‘1’
maka mikrokontroler aktif berdasarkan program yang ada di Flash PEROM. Bila
pin EA/VPP berlogika ‘0’ maka mikrokontroler aktif berdasarkan program yang
ada di memori eksternal.
0 1 2 3 4 5 6 7 8 9 A B C D E F
00 BANK 0 (default) BANK 1
10 BANK 2 BANK 3
20 Bit Addressable RAM
30
RAM Serbaguna
40 50 60 70 80 90 A0 B0 C0 D0 E0 F0
Gambar 2.9. Lokasi RAM Internal
15
PSW (Program Status Word) berisikan bit-bit status yang berkaitan
dengan kondisi CPU. PSW bersifat bit-adressable artinya tiap-tipa bit dapat
dialamati satu-persatu tanpa harus merubah satu kesatuan byte. Bit-bit penyusun
PSW dapat dilihat pada tabel 2.2.
Tabel 2.2. Bit-bit penyusun PSW
Posis i
PSW. 7
PSW. 6
PSW. 5
PSW. 4
PSW. 3
PSW. 2
PSW. 1
PSW. 0
Bit CY AC F0 RS1 RS0 OV - P
Keterangan :
CY = Menerima carry out dari bit 1
operasi aritmatik
AC = Menerima carry out dari bit 1
operasi penjumlahan
F0 = Status multiguna
RS1 = Bit 1 pemilih bank register
RS0 = Bit 0 pemilih bank register
OV = Limpahan opersai aritmatik
PSW.7 = Didefinisikan pengguna
P =Paritas genap akumulator, menjaga agar di
akumulator selalu genap
2.4.3 Rangkaian Osilator Mikrokontroler
Pada datasheet dikatakan bahwa jika menggunakan osilator kristal, maka
kapasitor yang digunakan adalah 30 pF. Rangkaian osilator dapat dilihat pada
16 Gambar 2.10. Rangkaian osilator mikrokontroler.
2.4.4 Rangkaian Reset Mikrokontroler
Rangkaian reset digunakan untuk mereset program yang terdapat pada
mikrokontroler. Rangkain reset dapat dilihat pada gambar 2.11.
Gambar 2.11. Rangkaian reset mikrokontroler
Pada gambar 2.11 apabila saklar tidak ditekan, pin reset pada
mikrokontroler akan mendapatkan logika rendah ‘0’. Sedangkan saat saklar
ditekan pin akan mendapatkan logiga tinggi ‘1’ dan akan mereset mikrokontroler.
Lamanya waktu yang dibutuhkan untuk mereset adalah dua siklus mesin dan
memenuhi persamaan :
T = R x C ... 2.16
2.5
Himpunan Kabur (Fuzzy Logic)
Pada logika fuzzy proses yang terjadi adalah
[4]
1) Unit pengaburan (Fuzzification unit)
2) Unit penalaran logika kabur (Fuzzy logic reasoning unit)
3) Unit basis pengetahuan (knowledge base unit), yang terdiri dari dua
17
a. Basis data (data base), yang memuat fungsi-fungsi keanggotaan dari
himpunan-himpunan kabur yang terkait dengan nilai dari
variabel-variabel linguistik yang dipakai.
b. Basis kaidah (rule base), yang memuat kaidah-kaidah berupa implikasi
kabur.
4) Unit penegasan (defuzzification unit).
Satuan sistem kendasi semacam itu mula-mula mengukur nilai-nilai tegas
dari semua variabel masukan yang terkait dalam proses yang akan dikendalikan.
Nilai-nilai itu kemudian dikonversikan oleh unit pengkaburan ke nilai kabur yang
sesuai. Hasil pengukuran yang telah dikaburkan itu kemudian diproses oleh unit
penalaran, dibandingkan dengan unit basis pengetahuan, menghasilkan himpunan
(himpunan-himpunan) kabur sesuai keluarannya. Langkah terakhir dikerjakan
oleh unit penegasan, yaitu menerjemahkan himpunan-himpunan kabur keluaran
itu ke dalam nilai-nilai yang tegas. Nilai tegas inilah yang kemudian direalisasikan
dalam bentuk suatu tindakan yang dilaksanakan dalam proses pengendalian itu.
Langkah-langkah tersebut secara skematis disajikan dalam gambar 2.12dibawah
18 Gambar 2.12 Struktur dasar suatu sistem kendali kabur
2.5.1 Fungsi Pengaburan
Karena sistem kendali logika kabur bekerja dengan kaidah dan masukan
kabur, maka langkah pertama adalah mengubah masukan yang tegas yang
diterima menjadi masukan kabur. Itulah yang dikerjakan oleh unit pengaburan
dari sistem tersebut.
Untuk masing-masing variabel masukan ditentukan suatu fungsi pengaburan
(fuzzyfication function) yang akan mengubah nilai variabel masukan yang tegas
(yang biasanya dinyatakan dalam bilangan real) menjadi nilai pendekatan yang
kabur. Jadi fungsi pengaburan adalah pemetaan f :ℜ→K, di mana K adalah
suatu klas himpunan kabur dalam semesta ℜ(himpunan kabur dalam semestaℜ
juga disebut bilangan kabur). Fungsi pengaburan itu biasanya ditentukan
berdasarkan beberapa kriteria:
1) Fungsi pengaburan diharapkan mengubah suatu nilai tegas, ke suatu
himpunan kabur A~ dengan ~(a)=1
A
µ atau sekurang-kurangnya a
mempunyai derajad keanggotaan yang tinggi.
2) Bila nilai masukan catat karena derau, diharapkan fungsi pengaburan dapat
menekan sejauh mungkin derau itu.
3) Fungsi pengaburan diharapkan dapat membantu menyederhanakan
komputasi yang harus dilakukan oleh sistem tersebut dalam proses
inferensinya.
Dalam proses pengaburan terdapat beberapa fungsi pengaburan yaitu Fungsi
19
Tunggal. Dalam alat ini diaplikasikan Fungsi Pengaburan Segitiga pada fungsi
masukan dan Fungsi Pengaburan element tunggal untuk fungsi keluaran.
a) Fungsi Pengaburan Segitiga memetakan a∈ℜ ke himpunan kabur A~
dengan fungsi keanggotaan berbentuk segitiga samakaki (gambar 2.13),
yaitu
) , , ; ( )
(
~ σ σ
µ x =S e xga− i ata+i g
A
di mana σ adalah suatu parameter berupa bilangan positif yang menentukan
lebarnya pendukung dari himpunan kabur tersebut.
Gambar 2.13. Nilai fungsi pengaburan segitiga
b) Fungsi Pengaburan Elemen tunggal memetakan nilai tegas a∈ℜ ke
himpunan tanggal A~ dengan fungsi keanggotaan
μA
≠ =
a x j i k a ,
0
a x j i k a ,
1 {X}=
untuk setiap x ∈ℜ. Jadi sebenarnya himpunan kabur A~ ini adalah himpunan
tegas dengan elemen tunggal, yaitu A~= {a}.
2.5.2 Basis Pengetahuan
Basis pengetahuan dari suatu sistem kendali logika kabur terdiri dari basis
data dan basis kaidah. Basis data adalah himpunan fungsi-fungsi keanggotaan dari
himpunan-himpunan kabur yang terkait dengan nilai-nilai linguistik dari
20
Basis Kaidah adalah himpunan implikasi-implikasi kabur yang berlaku
sebagai kaidah dalam sistem itu. Bila sistem itu mempunyai m buah kaidah
dengan (n+1) varaibel, maka bentuk kaidah ke-i (i=1,…,m) adalah sebagai
berikut:
Bila x1 adalah Ai1 dan …dan xn adalah Ain, maka y adalah Bi
Di mana xj adalah variabel linguistik dengan semesta numeris Xj
1) Lengkap, yaitu untuk setiap
(j=1,…,n)
Suatu basis kaidah diharapkan memenuhi beberapa kriteria sebagai berikut:
n n X X
x
x, . . . ,) . . .
( 1 ∈ 1× terdapat i∈{1, . . . ,m}
sedemikian sehingga ~ ( j)≠0
Ai j x
µ untuk semua j∈{1, . . . ,n} . Dengan
perkataan lain, untuk setiap kali masukan terdapat sekurang-kurangnya
satu kaidah yang “tersulut”.
2) Konsisten, yaitu tidak terdapat kaidah-kaidah yang mempunyai
antesenden yang sama tetapi konsekuennya berbeda.
3) Kontinu, yaitu tidak terdapat kaida-kaidah dengan himpunan-himpunan
kabur yang terkait dalam antesenden beririsan, tetapi himpunan-himpunan
kabur yang terkait dalam konsekuennya saling asing.
2.5.3 Unit Penalaran Kabur
Masukan kabur hasil pengolahan unit pengaburan diterima oleh unit
penalaran untuk disimpulkan berdasarkan kaida-kaidah yang tersedia dalam basis
pengetahuan. Penarikan kesimpulan itu dilaksanakan berdasarkan aturan modus
ponens rampat multikondisional.
2.5.4 Unit Penegasan
Kesimpulan/keluaran dari sistem kendali kabur adalah suatu himpunan
21 diperlukan suatu mekanisme untuk mengubah nilai kabur keluaran itu menjadi
nilai yang tegas, maka diperlukan suatu mekanisme untuk mengubah nilai kabur
keluaran itu menjadi nilai yang tegas. Itulah peranan unit penegasan yang memuat
fungsi-fungsi penegasan dalam sistem itu. Fungsi Penegasan adalah suatu
pemetaan f :K →ℜ, dimana K adalah suatu klas himpunan-himpunan kabur,
yang memetakan suatu himpunan kabur ke suatu bilangan real yang tegas.
Bilangan ini menentukan tindakan pengendalian yang harus dilakukan oleh sistem
itu.
Pemilihan fungsi penegasan biasanya ditentukan oleh beberapa kriteria:
1) Masuk akal, artinya secara intuitif bilangan tegas t(A~) dapat diterima
sebagai bilangan yang mewakili himpunan kabur A~,
2) Kemudahan komputasi, yaitu diharapkan fungsi penegasan itu cukup
mudah dan sederhana dalam proses komputasinya dalam menghasilkan
bilangan tegas keluarannya.
3) Kontinu, artinya perubahan kecil pada A~ tidak akan mengakibatkan
perubahan besar pada t(A~).
Dalam literature dikenal beberapa fungsi penegasan, di antaranya adalah
Purata Maksimum ( Mean of Maxsimum). Pada Purata Maksimum himpunan
kabur A~ dalam semesta ℜ dirubah menajadi bilangan tegas t(A~), yang
merupakan purata dari semua nilai yang mencapai nilai maksimum dalam µA~,
yaitu
∫
∫
=M M
dx xdx
A
22 dengan M ={x∈ℜµA(x)=T i n(A~)
Apabila M = [a,b], maka
2 ) ~
(A a b
t = + . Apabila himpunan kabur terdefinisi pada
semesta berhingga X={x1,x2,…,xn}, maka bilangan tegas t(A~) didefinisikan
sebagai rerata dari semua nilai dalam himpunan tegas.
) ( )
(
{x X ~ x T i An
M = i∈ µA i = , yaitu
M x
A
t X M
i
i
∑
∈
=
) ~ (
dengan M menyatakan banyaknya banyaknya anggota dari himpunan tegas M.
2.6
Seven segment
Seven segment mempunyai 2 jenis yaitu common catode dan common
anode. Common anode adalah semua kutub anode led yang terdapat pada seven
segment dijadikan satu. Pada common anode input tersambung dengan katoda
(gambar2.15)
[5]
23
Gambar 2.15. Susunan led seven segment tampak atas.
2.7 Definisi spesifikasi respon transien
Respon transien sistem kontrol praktis sering menunjukan osilasi teredam
sebelum mencapai keadaan tunak. Dalam menentukan karakteristis respon
transien sistem transien kontrol terhadap masukan tangga aturan, biasanya dicari
parameter berikut:
a) Waktu tunda (delay time), t
waktu tunda adalah waktu yang diperlukan responuntuk mencapai
setengah harga akhir pertama kali
d
b) Waktu naik (rise time),t
Waktu naik adalah waktu yang diperlukan respon untuk naik dari 10
sampai 90%, 5 sampai 95%, atau 0 sampai 100% dari harga akhirnya. Untuk
sistem orde kedua redaman kurang, biasanya digunakan wktu naik 0-100%.
Untuk sistem redaman lebih, biasanya digunakan waktu naik 10-90%
r
c) Waktu puncak,t
Waktu puncak adalah waktu yang diperlukan respon untuk mencapai
puncak lewatan yang pertamakali.
p
24 Lewatan maksimum adalah harga puncak maksimum dari kurva
respon yang diukur dari satu. Jika karga keadaan tunak respon tidak sama
dengan satu, maka bisa digunakan persen lewatan maksimum. Parameter ini
didefinisikan sebagai
Besarnya lewatan maksimum secara langsung menujukan kestabilan relatif
sistem.
Gambar 2.16.
Kurva respon tangga satuan yang menunjukan td,tr,tp,Mp dan t
e) Waktu penetapan,t
s
waktu penetapan adalah waktu yang dibutuhkan respon untuk
mencapai dan menetap dalam daerah disekitar harga akhir yang ukurannya
ditentukan dengan persentase mutlak dari harga akhir (biasanya 5% atau 2%).
Waktu penetapan ini diaktifkan dengan konstanta waktu yang terbesar dari
s mp
td
tr
tp
ts
Toleransi yang diizinkan
0,05 Atau 0,02
0 0,9
1
0,5
25 sistem kontrol. Kriteria persentase kesalahan yang akan digunakan ditentukan
25
BAB III
PERANCANGAN PENGENDALIAN SUHU UDARA PADA INKUBATOR
BAYI KUCING BERBASIS MIKROKONTROLER AT89S52 DENGAN
METODA FUZZY LOGIC
Keadaan yang diinginkan dari kontrol inkubator adalah mempertahankan
suhu udara pada inkubator, sesuai suhu yang diinginkan. Pengontrolan suhu pada
inkubator dilakukan oleh program Fuzzy Logic Control (FLC), yang dieksekusi
oleh mikrokontroler AT89S52. Untuk menciptakan suhu yang diinginkan FLC
mengatur banyaknya lampu yang menyala dan mati atau hidupnya kipas angin.
Perancangan pengendalian suhu pada inkubator berbasis mikrokontroler
dengan metoda fuzzy logic ini dapat digambarkan seperti gambar 3.1.
Gambar 3.1. Diagram kotak Pengontrol suhu udara pada inkubator.
Program FLC tersimpan pada memori mikrokontroler AT89S52. Input μC
adalah keypad 5 tombol dan sensor LM335. data sensor LM335 adalah data
analog yang harus dirubah ke dalam digital, pengubahan data ini dilakukan oleh
26
ADC0804. Sedangkan output dari μC adalah driver lampu, driver kipas dan
seven segment.
3.1 Perancangan Perangkat Keras.
Perangkat keras atau hardware adalah bentuk-bentuk fisik termasuk rangkaian
elektronik yang disusun agar bekerja sesuai yang diinginkan. Perancangan
perangkat keras pengendali suhu pada inkubator meliputi : plant atau inkubator,
rangkaian keypad, sensor suhu LM335, rangkaian pengubah data analog kedalam
data digital dengan menggunakan IC ADC0804 8bit, pengkondisi sinyal (span &
zerro), driver lampu dan driver kipas, mikrokontroler AT89S52 sebagai unit
pengontrol suhu udara pada inkubator dan rangkaian seven segment yang
menampilakan suhu yang terukur.
3.1.1 Perancangan Inkubator (Plant)
Ukuran inkubator dirancang agar mampu menampung 1 ekor induk kucing
dan 7 ekor bayi kucing. Dimensi inkubator berbentuk balok dengan panjang
50cm, lebar 40 cm dan tinggi 40cm. Bagian samping inkubator terbuat dari
acrylic, bagian bawah terbuat dari jaring kawat agar memudahkan kotoran turun
ke keranjang kotoran, dan bagian atas dapat dibuka dan ditutup. Bentuk dan
ukuran inkubator ini dapat dilihat pada gambar 3.2.
Lampu yang menyala akan memanaskan udara yang berada di dalam kotak
lampu. Udara panas akan dihisap kipas 2, yang bertujuan agar aliran udara yang
terjadi didalam inkubator seminimal mungkin dan penyebaran udara panas pada
27 Gambar 3.2 Gambar inkubator secara keseluruhan
Untuk mendinginkan suhu udara, digunakan dua buah kipas angin yaitu
kipas 1 dan kipas 2, yang berfungsi mempercepat sirkulasi udara. Kipas 2
berfungsi menarik udara luar ke dalam inkubator dan kipas 3 bertugas menarik
udara dari dalam ke luar inkubator.
3.1.2 Sensor suhu elektronis LM335 dan penyangga
Sensor suhu yang diaplikasikan adalah IC LM335 dengan untai elektronis
dapat dilihat seperti pada gambar 3.3.
[2]
Gambar 3.3 Rangkaian sensor LM335.
Hambatan Rs berfungsi untuk membatasi arus yang mengalir pada IC
LM335 (Is = arus sensor ) sehingga arus maksimal yang mampu mengalir dapat di
28 ditentukan adalah VCC sebesar 5V dan Is sebesar 2.5mA (yang ditunjukan oleh
data sheet rentang Is antara 400μA hingga 5mA) maka
2.5mA 5V Rs=
Ω =2k Rs
3.1.3 Hubungan sinyal terkondisi dengan ADC0804
Pin start conversion ADC (CS ) dihubungkan ke ground agar ADC0804
selalu melakukan konversi data. Pin RD pada ADC 0804 juga dihubungkan ke
ground sehingga ADC selalu membaca data dari mikrokontroler. Pin WR
dihubungkan dengan P0.0 pada Mikrokontroler AT89s52 yang bertujuan agar
penulisan data dari ADC0804 menuju mikrokontroler dapat dikendalikan oleh
mikrokontroler.
Tegangan masukan ADC0804 adalah tegangan keluaran span & zerro yang
dihubungkan pada pin +IN. Berdasarkan datasheet, untuk mencapai waktu
konversi ADC0804 sebesar 100µs, dibutuhkan resistor 10KΩ dan kapasitor
150pF. Pada rangkaian ini, juga digunakan dioda zener 5,1Volt sebagai pembatas
tegangan agar saat tegangan masukan ADC0804 bernilai sama dengan tegangan
saturasi penguat operasional, tegangan tersebut tidak merusak IC ADC0804.
Tegangan masukan positif dibatasi sebesar 5,1Volt sesuai dengan nilai dioda
zener, sedangkan tegangan masukan negatif dibatasi sekitar –0,7Volt, sesuai
dengan tegangan maju dioda silikon. Hubungan sinyal terkondisi dengan ADC
29 Gambar 3.4. Hubungan sinyal terkondisi dengan ADC0804.
3.1.4 Antarmuka ADC 0804 dengan Mikrokontroler AT89s52
Antarmuka antara ADC0804 dengan Mikrokontroler AT89s52 ditunjukkan
pada gambar 3.5. Jalur data dari ADC0804 pada pin 18-11 dihubungkan dengan
pin Port 1 (P1) pada Mikrokontroler AT89s52. Pin start conversion ADC (CS)
dihubungkan ke ground agar ADC0804 selalu melakukan konversi data. Pin RD
pada ADC 0804 juga dihubungkan ke ground sehingga ADC selalu membaca data
dari mikrokontroler. Pin WR dihubungkan dengan P3.0 pada Mikrokontroler
AT89s52 yang bertujuan agar penulisan data dari ADC0804 menuju
mikrokontroler dapat dikendalikan oleh mikrokontroler.
Dengan mengacu pada persamaan 2-12, resolusi pada ADC adalah
1 2 5
8 −
= Volt
resolusi = 0,0196Volt/step
3.1.5 Rangkaian Pengkondisi Isyarat Untuk Masukan ADC
Rentang suhu yang terbaca oleh mikrokontroler dibatasi dari suhu 20oC
sampai 35oC.Tegangan yang dihasilkan sensor pada saat 200C akan dijadikan 0
volt dan tegangan yang dihasilkan sensor pada saat 350C akan dikondisikan
30 Gambar 3.5. Antarmuka AT89s52 dengan ADC0804.
Besar tegangan yang dihasilkan sensor pada saat 0 0C adalah sebesar
(rumus mengacu pada persamaan 2.1)
Vlm335 = ( 273 + 0 ) X 10mV
Vlm335 = 2,73 Volt
Besar tegangan yang dihasilkan sensor pada saat 200C adalah sebesar
Vlm335 = ( 273 + 20 ) X 10mV
Vlm335 = 2.93 Volt
Dan besar tegangan sensor pada saat 350C adalah sebesar
Vlm335 = ( 273 + 35 ) X 10mV
Vlm335
Tegangan sensor sebesar 2,93Volt merupakan tegangan minimum sensor
dan tegangan sensor 3.08 Volt merupakan tegangan maksimal yang dihasilkan
31 menujukan bahwa tegangan minimal yang mampu diterima oleh ADC sebesar
0Volt dan tegangan maksimalnya adalah 5 Volt.
Table 3.1 perumusan karakterisik pengkondisi sinyal
Suhu ( 0C) Vlm335 Vout ADC (Volt)
(Output pengkondisi sinyal) (Volt)
(input pengkondisi sinyal)
20 2.93 0
35 3.08 5
Dari table 3.1 diasumsikan Vlm335
0 5
0 y 2.93 3.08
2.93 x
− − = − −
adalah X yang merupakan input dari
pengkondisi sinyal dan Vout ADC adalah Y yang merupakan output dari
pengkondisi sinyal. Dapat dinyatakan dalam persamaan (mengacu pada
persamaan 2.6)
Penyelesainnya sebagai berikut:
Y = 33.33 (x – 2.93)
Atau
Vout = 33.33 (Vin – 2.93)
Dari hasil perhitungan ini dapat diuraikan bahwa pengkondisi sinyal
beroperasi untuk menjumlahkan Vin dengan – 2.93 dan dikuatkan sebesar 33.33
kali. Gambar diagram kotak rangkaian pengkondisi sinyal ditunjukan pada
gambar3.6.
32 Rangkaian penguat beda bertujuan untuk menjumlahkan tegangan sensor
dengan tegangan pengurang dengan penguatan sebesar 33.33 kali. Rangkaian ini
terdiri dari IC LM741 dan resistor yang dirangkai menjadi penguat beda seperti
terlihat pada gambar 3.7.
Pada perancangan rangkaian penguat beda nilai hambatan Rf = Rg = 10KΩ
dan R1 = R2. Untuk mencari nilai hambatan R2 dan R1 menggunakan persamaan
2.10 yaitu:
1 10 33.333
R kΩ
=
R1 = R2 = 300Ω
Gambar 3.7 Rangkaian penguat beda.
3.1.6 Rangkaian reset mikrokontroler
Reset digunakan untuk mengembalikan keseluruhan sistem (program) ke
awal. Reset terjadi dengan adanya logika 1 selama minimal 2 cycle (2μ detik)
pada kaki reset (pin 9) berdasarkan data sheet (gambar 3.10). Pada perancangan,
waktu pengosongan dipilih sebesar 100 ms dengan asumsi waktu reset telah lebih
dari 2µs, sesuai dengan persamaan 2.16. Bila nilai kapasitor dipilih 10 μF, maka
nilai R adalah:
F R
mS 10µ
100 = ×
33 Gambar 3.8 Rangkaian reset
3.1.7 Key Pad
Key pad dirancang untuk masukan mikrokontroler untuk memilih setting
point (SP)suhu udara inkubator berdasarkan usia kitten dan on/off plant. Key pad
Setting point terdiri dari 3 tombol (gambar 3.11), dengan fungsi setiap tombol
sebagai berikut:
1. SP 32o
2. SP 28
C untuk bayi kucing (kitten) yang berumur 0 sampai 5 hari.
o
3. SP 26
C untuk bayi kucing (kitten) yang berumur 6 sampai 14 hari.
o
Antarmuka antara key pad dengan Mikrokontroler AT89s52 ditunjukkan pada
gambar 3.11. Tombol yang dipergunakan untuk memberikan seting point
terhubung dengan P3.4 sampai dengan p3.6, sedangkan untuk tombol terhubung
dengan p3.3.
F untuk Bayi kucing (kitten) yang berumur 15 sampai 28 hari.
Gambar 3.9
Antarmuka antara key pad dengan Mikrokontroler AT89s52.
Mikrokontroler membaca key pad jika terjadi interupsi external. Semua
tombol terhubung dengan gerbang logika NOR, keluaran gerbang logika NOR
34
3.1.8 Tampilan Suhu
Untuk mengetahui hasil pengukuran suhu aktual oleh mikrokontroler
ditampilkan pada 3 buah seven segment, nilai yang ditampilkan akan
dibandingkan dengan hasil pengukuran termometer ruangan. Gambar 3.11
menunjukan antarmuka antara mikrokontroler dengan rangkaian seven segment,
P2.0 sampai dengan P2.2 merupakan data yang akan ditampilkan pada setiap
seven segment melalui proses dekoder oleh IC74ls47.
Gambar 3.10 Rangkaian seven segment.
Pengiriman data setiap seven segment dilakukan secara bergantian sehingga
diperlukan selektor. P2.5 sampai dengan P2.7 merupakan port yang digunakan
sebagai data pengontrol selektor. Seven segment yang dipergunakan adalah tipe
common anode, sehingga untuk memilih seven segment yang aktif, keluaran
selektor dikontrol agar bernilai 1.
Pada rangkaian 7’segment, nilai R dapat ditentukan sebagai berikut (Vcc = 5V) :
I = 15mA (LED pada seven segment sudah memenuhi arus
minimal yang diperlukan agar LED menyala)
35 5V = 15mA.R
R = 333,33Ω dibulatkan menjadi 330Ω
3.2 Pembuatan Rules
Proses pembuatan rules dilakukan dengan menerapkan kemampuan
manusia dalam mengendalikan suatu sistem kendali. Secara umum respon fungsi
step suatu sistem kendali akan memberikan output seperti terdapat pada gambar
3.11
Gambar 3.11 Respon sistem tipikal dan pembagian daerahnya
Pada saat sistem diaktifkan (output=0 dan waktu=0), output akan naik
dengan cepat menuju seting point (SP), bahkan jauh melebihi SP. Output ini oleh
komputer akan diturunkan menuju SP, tetapi proses punurunan ini juga
mengalami kelebihan sehingga outputnya akan berisolasi disekitar SP, hingga
akhirnya outputnya mencapai SP. Apa yang dilakukan oleh kontroler untuk
menaikan dan menurunkan output harus sesuai dengan harga output saat itu dan
sebelumnya (tergantung dari error dan d_error), sehingga kontroler dapat
mengambil tindakan yang tepat untuk menyesuaikan outputnya.
Fungsi keanggotaan yang direncanankan untuk input error dan d_error
36 Big), NS (Negatif Small), Z (Zero), PS ( Positive Small), PB (Positive Big).
Sedangkan fungsi output yang berupa garis (singleton) mempunyai label yang
sama dengan error dan d_error.
(a)
b)
Gambar 3.12 (a) Fungsi keanggotaan error dan d_error,
(b) Fungsi keanggotan output.
Dari gambar 3.12 terlihat jika error (SP-PV) 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 base yaitu:
IF error e(t) is Positif Big (PB) AND d_error De(t) is Zerro (Z) THEN
Output u(t) is Positif Big (PB), untuk lebih jelasnya perhatikan tabel 3.2 dan 3.3.
3.3 Perancangan Perangkat Lunak
Perangakat lunak pada mikrokontroler mempunyai tugas mengendalikan
suhu udara inkubator ( pengaturan driver lampu dan driver kipas). Prosesnya
adalah pembacaan data ADC sebagai informasi suhu, perhitugan error dan
d_error serta melakukan prosedur fuzzy.
µ(x)
domain
37 Tabel 3.2 rules base
Rule – rule Fuzzy Control Dasar
Rule No Error D_error Result Ref. Point
1. PB Z PB A
2. Z NB NB B
3. NB Z NB C
4. Z PB PB D
5. PS Z PS E
6. Z NS NS F
7. NS Z NS G
8. Z PS PS H
9. Z Z Z Set point
Tabel 3.3
Rule-rule Fuzzy Control Tambahan
Rule No Error D_error Result Ref. Point
10. PB NS PS A-B
11. PB NB Z A-B
12. PS NB NS A-B
13. NS NS NS B-C
14. NB PS NS C-D
15. NB PB Z C-D
16. NS PS Z C-D
17. NS PB PS C-D
18. PS PS PS D-E
19. PS NS Z E-F
20. NB NB NB B-C
21. NB NS NB B-C
22. PS PB NB D-E
23. PB PB PB D-E
24. PB PS PB D-E
25. NS NB PB F-G
Alur program utama perangkat lunak terlihat seperti pada gambar 3.13.
program akan menunggu intrupsi dari rangkaian keypad, jika salah satu keypad
ditekan maka program mengiterupsi untuk membaca key pad yang dipilih dan
menterjemahkan menjadi sebuah data. Setelah selesai mikrokontroler akan
menghitung error dan d_error. Proses selanjutnya adalah melakukan prosedur
38
fuzzification, inferensi dan defuzzifications. Hasil dari program FLC akan
digunakan sebagai pengontrol lampu dan kipas.
Gambar 3.13. Diagram alir program utama.
Untuk mendapatkan respon yang baik maka waktu proses sampling
diberikan waktu delay. Pemanfaatan delay digunakan untuk program penampilan
suhu aktual pada seven segment. Setelah waktu delay tercukupi, mikrokontroler
Inis
B
Hitung
T
D
Y
Y
39 melakukan proses sampling secara berulang-ulang dimulai dari pembacaan data
ADC hingga tombol reset di tekan.
3.3.1 Program Penghitungan error dan d_error
Program ini akan menghitung perbedaan nilai Set Point (SP) dan nilai yang
terjadi sekarang (PV) yang disebut error dan menghitung besarnya perubahan
error yang disebut d_error. Hasil perhitungan ini merupakan input untuk
program FLC.
Harga Error dan D_error ditentukan dari persamaan:
e (t) = SP – PV
D_error = e(t) – e(t-1)
Keterangan :
SP = Nilai seting point PV = Nilai output pada saat t e (t) = Nilai error pada saat t e (t-1) = Nilai error sebelumnya (t-1)
Nilai error akan bernilai posif pada saat SP lebih besar dari PV dan error
akan bernilai negatif pada saat SP lebih kecil dari PV (suhu udara inkubator lebih
panas dari suhu yang diinginkan). Nilai d_error akan sama halnya dengan nilai
error, bernilai positif jika errornya menurun dan nilai error akan negatif jika
error bertambah.
Dalam program subrutine perhitungan error (gambar 3.14), e(t-1) adalah
nilai error sebelumnya, sedangkan e(t) adalah error sekarang. Diawal program
nilai error (e(t)) sekarang disimpan sebagai nilai error sebelumnya (e(t-1)),
kemudian program akan menghitung besar error. Besarnya error )adalah selisih
40 lebih dari nol maka tanda e(t) adalah positif jika sebaliknya maka tanda e(t) adalah
negatif (-) dan besarnya e(t) = PV – SP.
Gambar 3.14 Diagram alir program Penghitungan error dan d_error.
Pada perhitungan error tanda (+ atau -) sangat berpengaruh pada nilai
d_error. Pada tabel 3.4 menujukan besarnya d_error berdasarkan tanda yang
dimiliki e(t) dan e(t-1). Jika e(t) bertanda positif (+) dan e(t-1) bertanda negatif (-)
41
D_error = e(t) – (- e(t-1)) atau
D_error = e(t) + e(t-1)
Tabel 3.4. Persamaan nilai d_error berdasarkan tanda e(t) dan e(t-1)
Tanda e(t) Tanda e(t-1) D_error =
Positif Positif e(t)-e(t-1)
Positif Negatif e(t)+e(t-1)
Negatif Positif -(e(t)+e(t-1)
Negatif Negatif e(t-1)-e(t)
Tanda d_error adalah positif jika hasil perhitungan d_error bernilai positif
(d_error > 0), jika hasil perhitungan d_error bernilai negatif (d_error < 0)
pengurangan akan ditukar. Nilai positif atau negatif berpengaruh pada proses
inferensi (basis kaidah), jika nilai tersebut negatif maka fungsi keanggotaan yang
berlaku adalah NB, NS dan Z. Sedangakan jika hasil tersebut posif maka fungsi
keanggotaan yang berlaku adalah PB, PS dan Z.
3.3.2 Program Fuzzy Logic Controll (FLC)
Masukan dari program FLC berupa error dan d_error, lalu diproses oleh
sistem fuzzy yang meliputi langkah fuzzifikasi, inferensi (basis data dan basis
kaidah ), dan defuzifikasi.
3.3.2.1 Program Fuzzifikasi
Program fuzzifikasi bertujuan untuk merubah nilai yang tegas menjadi nilai
kabur. Masukan untuk program ini adalah nilai error dan d_error, dimana nilai
tersebut akan menyulut fungsi keanggotaan input (crips input error dan crips
input d_error), tanda (+/-) tidak berpengaruh sehingga diabaikan.
Tabel 3.5. Batas minimal dan maksimal fungsi keanggotaan
Fungsi Keanggotaan Min Max
ZERRO 0 42
SMALL 0 170
42
Proses pengaburan error dilakukan dengan membandingkan nilai error
terhadap rentang nilai fungsi keanggotaan ZERRO, SMALL dan BIG (tabel 3.5).
pengaburan untuk nilai d_error sama dengan proses pengaburan error.
Gambar 3.15 menunjukan diagram alir program fuuzzification, setiap fungsi
keanggotaan yang tersulut akan disimpan sebagai bilangan kabur pada alamat
register, Jika nilai error atau d_error berada diantara 2 fungsi keanggotaan maka
memerlukan 2 register.
3.3.2.2 Program Inferensi
Program inferensi bertujuan untuk mencari nilai derajad keanggotaan dan
kaidah. Nilai derajad keanggotaan diproses pada program basis data, dengan
metode look up table. Sedangkan untuk mecari kaidah diproses pada program
basis kaidah menggunakan metoda if then.
Gambar 3.16 menunjukan diagram alir program basis data untuk error. Nilai
derajat keanggotaan setiap fungsi keanggotaan telah tersimpan pada memori
mikrokontroler berupa tebel-tabel. Pada memori mikrokotroler terdapat 3 tabel
yakni tabel zerro, tabel small dan tabel big. Data yang tersimpan pada setiap tabel
terdapat 255 data, data tersebut menggambarkan bentuk dari fungsi keanggotaan
(gambar 3.12 (a)). Nilai maksimal derajat keanggotaan dari fungsi keanggotan
adalah FFh dan nilai minimalnya adalah 00h.
Proses alur program basis data untuk d_error sama halnya dengan alur
program basis data error (gambar 3.16). Hanya saja, untuk proses d_error
43 Gambar 3.15. Diagram alir program penyulutan fungsi
keanggotaan masukan (Fuzzification)
Gambar 3.17 menujukan program basis kaidah. Basis kaidah dibagi menjadi
4 bagian yaitu basis kaidah untuk nilai kabur error dan nilai kabur d_error positif
( Z, PS dan PB), basis kaidah untuk nilai kabur error positif dan nilai kabur
d_error negatif (Z, NS dan NB), basis kaidah untuk nilai kabur error negatif dan
nilai kabur d_error positif, dan yang terakhir adalah basis kaidah untuk nilai
44 Gambar 3.16. Diagram alir program basis data.
Setiap menemukan kaidah akan dicari nilai derajat keanggotaan yang paling
kecil, antara nilai derajad keanggotaan error dan derajat keanggotaan d_error.
Nilai ini dihitung setelah menemukan kaidah dan disimpan pada register derajat
kaidah. Setiap nilai derajat kaidah akan dibandingkan dan diambil nilai derajad
keanggotaan yang terbesar. Kesimpulan dari proses inference kaidah adalah
45 Gambar 3.17 Diagram alir program basis kaidah.
3.3.2.3 Program Defuzzification (penegasan)
Keluaran program fuzzy merupakan bilangan kabur, untuk mengontrol kipas
dan lampu dibutuhkan nilai yang tegas (riil), peraturan pengubahan bilangan
kabur menjadi bilangan tegas ditunjukan pada tabel 3.6. Jika keluaran program
fuzzy adalah PB maka jumlah lampu yang menyala akan ditambah 2, dan kipas
off dan seterusnya.
Penambahan jumlah lampu yang menyala menggunakan metoda geser kiri
pada 4 bit rendah pada port 0. Jika semua 4 bit rendah telah benilai 1 maka proses
46 metoda geser kanan pada 4 bit rendah. Proses penggeseran ini dimulai nilai yang
terjadi pada P0.0 sampai P0.3.
Tabel 3.6.Pengontrolan lampu dan kipas berdasarkan bilangan kabur
No Bilangan kabur Kontrol lampu Kontrrol kipas
1. PB Hidupkan 2 buah lampu Off
2. PS Hidupkan 1 buah lampu Off
3. Z Tetap Tetap
4. NS Matikan 1 buah lampu On
5. NB Matikan 2 buah lampu On
47
3.3.3 Program penampilan suhu
Penampilan pada 7’segment bertugas menampilkan nilai suhu yang terukur,
gambar 3.19 merupakan diagram alir program penampilan suhu. Secara
keseluruhan metoda yang dipakai adalah metoda look up table, nilai yang
tersimpan pada tabel merupakan nilai–nilai hasil konversi dari data ADC (hasil
konversi analog ke digital) kedalam satuan suhu.
Penampilan suhu menggunakan 3 digit yang terdiri dari satuan, puluhan dan
sepersepuluh. Rentang suhu yang terukur adalah dari 20oC hingga 35oC dan nilai
heksanya adalah 00h-FFh, sehingga diperoleh nilai heksa untuk batasan antara 2
puluhan dan 3 puluhan.
48 Nilai satuan dan sepersepuluh diperoleh dari tabel dengan referensi nilai PV.
Proses pengiriman data ke seven segment dilakukan secara bergantian, jika
mengirim data puluhan maka 7’segment digit puluhan diberi logika 1 dan digit
lainya berlogika 0. Begitu juga pada proses penampilan data untuk satuan dan
sepersepuluhan.
Delay pada akhir program berfungsi sebagai penentu waktu sampling (time
sampling) waktu ini dimanfaatkan untuk menampilkan suhu aktual secara terus
49
BAB IV
HASIL DAN PEMBAHASAN
Pada bab ini akan memberikan informasi dari data yang telah diambil,
beserta pembahasan yang akan memperlihatkan bahwa alat yang dirancang
bekerja dengan baik. Bentuk fisik alat dapat dilihat pada gambar 4.1. Dengan
mengetahui perbandingan antara perancangan dan realisasi alat, maka diharapkan
dapat mengetahui letak kesalahan maupun karakteristik komponen sesungguhnya.
Pada bab ini juga akan diperlihatkan tentang hasil unjuk kerja alat yang telah
dirancang.
50 Panel kontrol ditunjukan Gambar 4.2, terdapat 5 tombol, 2 buah indikator
lampu dan 7’segment 3 digit. Tombol “C” digunakan untuk mengubah suhu yang
diinginkan, tombol “SP1, SP2, SP3 merupakan tombol yang digunakan untuk
memilih set point (suhu yang diinginkan). Lampu bagian kanan merupakan
indikator power, sedangkan lampu kiri merupakan indikator untuk menujukkan
suhu yang berada di dalam inkubator telah mencapai suhu yang diinginkan.
Gambar 4.2 panel kontrol
Jika suhu dalam inkubator lebih panas dari suhu yang diinginkan maka
suhu inkubator harus diturunkan. Proses pendinginan suhu udara adalah dengan
cara menambahkan udara ruangan. Pendingin udara ditunjukkan pada gambar 4.3.
Udara yang masuk ke dalam inkubator tidak hanya dihembuskan langsung ke
dalam inkubator, akan tetapi melalui proses pendinginan. Proses pendinginan
udara dibuat secara sederhana, yaitu dengan cara membuat lubang kecil-kecil
menyerupai pori.
Sp3 Sp2 Sp1
power stabil
Suhu aktual Penampil
suhu aktual
Tombol set point
51 Gambar 4.3 Pendingin inkubator sederhana
Pada perancangan bab 3 telah dijelaskan mengenai pemanas suhu udara,
yaitu menggunakan 4 buah lampu. Gambar 4.4 menunjukkan konstruksi
pemanas. Lampu yang dipasang secara vertikal, di letakkan dalam sebuah kotak.
Suhu yang telah dipanaskan ditarik oleh sebuah kipas
Gambar 4.4. Pemanas suhu udara
4.1 Cara Kerja Inkubator Bayi Kucing
Cara kerja dari alat ini dibuat sesuai dengan alur program yang dirancang di
bab 3. Yang perlu diamati pada saat pertama kali alat ini dihidupkan adalah lampu
indikator power suplay menyala, jika