Prototipe Kontrol Temperatur Pada Sebuah Inkubator Yang Dilengkapi Dengan Blower
PROTOTIPE KONTROL TEMPERATUR PADA
SEBUAH INKUBATOR YANG DILENGKAPI DENGAN BLOWER
TUGAS AKHIR
Diajukan Sebagai Salah Satu Syarat Untuk Mendapatkan Gelar Ahli Madya
LUSI E HUTABARAT
052408034
PROGRAM STUDI D – III FISIKA INSTRUMENTASI
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM
UNIVERSITAS SUMATERA UTARA
MEDAN
2008
(2)
PERSETUJUAN
Judul : PROTIPE KONTROL TEMPERATUR PADA
SEBUAH INKUBATOR YANG DILENGKAPI DENGAN BLOWER
Kategori : TUGAS AKHIR
Nama : LUSI E HUTABARAT
Nomor Induk Mahasiswa : 052408034
Program studi : DIPLOMA (D3) FISIKA INSTRUMENTASI
Departemen : FISIKA
Fakultas : MATEMATIKA DAN ILMU PENGETAHUAN
ALAM (FMIPA) UNIVERSITAS SUMATERA
UTARA
Diluluskan di, Medan, 21 Juni 2008
Diketahui/Disetujui oleh
Departemen Fisika FMIPA USU Dosen Pembimbing, Ketua,
DR. Marhaposan Situmorang Drs.Aditia Warman, M.Si
(3)
PERNYATAAN
PROTOTIPE KONTROL TEMPERATUR PADA SEBUAH INKUBATOR YANG DILENGKAPI DENGAN BLOWER
TUGAS AKHIR
Saya mengakui bahwa tugas akhir ini adalah hasil kerja saya sendiri, kecuali beberapa kutipan dan ringkasan yang masing – masing disebutkan sumbernya.
Medan, 21 Juni 2008
LUSI E HUTABARAT 052408034
(4)
iii
INTISARI
Aplikasi pengendali suhu sudah banyak ditemui dalam berbagai bidang sekarang ini. Tujuan dari tugas akhir ini adalah hasil suhu didalam inkubator dapat di set dan ditampilkan di seven segmen. Dimana suhu yang di set melalui keypad dapat dipertahankan sesuai dengan keinginan pengguna dari inkubator tersebut. Sistem yang dibuat ini memanfaatkan kemampuan mikrokontroler AT89S51 dalam akuisisi data dan mengambil keputusan. Sistem ini dilengkapi dengan interface analog ke digital, sebuah sensor temperatur LM 35 dan sebuah pemanas. Kawasan suhu yang dapat dikendalikan adalah mulai dari 27º Celsius sampai dengan 100º Celsius.
(5)
i
KATA PENGANTAR
Puji dan syukur penulis panjatkan kehadirat Tuhan Yang Maha Esa yang telah melimpahkan kasih – Nya sehingga penulis dapat menyelesaikan laporan tugas akhir ini sebagai salah satu syarat kelulusan dalam program studi D–3 Fisika Instrumentasi FMIPA USU.
Pada kesempatan ini penulis menyampaikan rasa terima kasih yang sebesar – besarnya kepada pihak – pihak yang telah membantu dalam menyelesaikan laporan tugas akhir ini. Baik kepada pihak-pihak yang disebut atau pun tidak disebutkan satu persatu. Terutama kepada Orang tua penulis (P. Hutabarat dan J Panjaitan) yang telah memberikan dukungan baik secara moril dan juga material sampai penulis menyelesaikan masa pendidikan di FMIPA ini. Penulis juga tidak lupa mengucapkan terimakasih atas bimbingan dan arahan kepada:
1. Bapak Dr.Eddy Marlianto, M.Sc, selaku dekan Fakultas Matematika dan Ilmu pengetahuan Alam, Universitas Sumatera Utara.
2. Bapak DR.Marhaposan Situmorang, selaku ketua jurusan departemen Fisika Fakultas Matematika dan Ilmu Pengetahuan Alam
3. Bapak Drs.Aditia Warman, M.Si selaku dosen pembimbing tugas akhir penulis yang banyak memberikan arahan dan bimbingan selama menyelesaikan tugas akhir ini.
4. Dosen – dosen dan staf pengajar di Fisika Instrumentasi FMIPA USU
5. Para pegawai yang ada di FMIPA USU yang tidak dapat disebutkan namanya satu persatu, penulis mengucapkan banyak terimakasih karena telah banyak membantu penulis selama penulis berada di FMIPA USU ini.
6. Buat orang tuaku tersayang P.Hutabarat dan J.Panjaitan terimakasih atas segala yang diberikan baik moril maupun materil. Semoga anakmu ini berguna bagi nusa dan bangsa.
7. Buat semua saudaraku, K’Guna, K’Ani, B’Poy, K’Ima, K’Eka dan juga D’Josepku tersayang. Terimakasih buat semua semangat dan dorongan serta nasehat dari kalian semua semoga penulis menjadi saudara yang terbaik buat kalian semua.
(6)
ii
8. Tidak lupa juga teman – temanku: Riris, Tini, Helen, Rika, Risda, Tahi, Iron, Nelly, Tetty, K,Ivana, K’Dian, Denari, Shenty, Lusi Sbrn, dan masih banyak lagi, terimakasih atas semangat dan doa yang selama ini diberi buat penulis.
9. Teman kos di Berdikari 7 Psr I P.Bulan Medan:Vida, K’Nova, K’Roma, K’Kitin, sondang, Meyta, Jo, Vivi, K’Duma, K’Ayu, Eka dan krisna semua harus berubah. jangan menjadi kelelawar terus dan tetap semangat.
10.K’Ellys, K’Icha, K’Martha makasih atas arahan dan semangat yang kakak beri bagi penulis walau kita gak satu kos lagi.
11.Seseorang yang begitu penulis sayangi, yang memberikan semangat bagi penulis dalam segala hal, penulis mengucapkan banyak terimakasih dan salam sayang selalu.
12.Buat semua teman – teman di Fisika Instrumentasi Fakultas Matematika dan Ilmu Pengetahuan Alam Universitas Sumatera Utara.Semoga kita menjadi Orang sukses dimata Tuhan dan juga orang lain serta bangsa ini.
Akhir kata penulis mengucapkan terimakasih bagi semua pihak
(7)
iv
DAFTAR ISI
Kata Pengantar ... i
Intisari ... iii
Daftar Isi ... iv
Daftar Gambar ... v
Daftar Tabel ... vi
BAB 1 PENDAHULUAN 1.1 Latar Belakang Masalah ... 1
1.2 Rumusan Masalah ... 4
1.3 Tujuan Penulisan ... 4
1.4 Batasan Masalah ... 4
1.5 Prinsip Kerja ... 5
1.6 Sistematika Penulisan ... 5
BAB 2 DASAR TEORI 2.1 Sensor Suhu LM35 ... 7
2.2 Analog to Digital Converter (ADC) 0804 ... 9
2.3 Mikrokontroler AT89S51 ... 12
2.4 Power Supplay (PSA) ... 15
2.5 Keypad 4 X 4 ... 17
2.6 Display seven segmen ... 18
2.7 Blower ... 21
2.8 Heater ... 21
2.9 Bahasa Assembly ... 22
(8)
v
2.9.2 Bagian Label ... 23
2.9.3 Bagian Kode Operasi ... 23
2.9.4 Bagian Operand ... 24
2.9.5 Bagian Komentar ... 25
BAB 3 RANCANGAN SISTEM 3.1 Diagram Blok Rangkaian ... 27
3.2 Diagram Alir Program ... 29
3.3 Perancangan Power Supplay (PSA) ... 31
3.4 Rangkaian Mikrokontroler AT89S51 ... 32
3.5 Rangkaian Sensor Temperature dan ADC (Analog to Digital Converter) ... 34
3.6 Rangkaian Display Seven Segmen ... 36
3.7 Rangkaian Relay ... 37
3.8 Perancangan Rangkaian Keypad... 40
BAB 4 PENGUJIAN ALAT DAN PROGRAM 4.1 Pengujian Rangkaian Power Supplay (PSA) ... 42
4.2 Pengujian Rangkaian Mikrokontroler AT89S51 ... 42
4.3 Pengujian Rangkaian Display Seven Segmen ... 45
4.4 Pengujian Rangkaian Relay ... 47
4.5 Pengujian Rangkaian Keypad ... 48
4.6 Pengujian Rangkaian ADC (Analog to Digital converter) ... 51
4.7 Program Inkubator Otomatis... 52
BAB 5 KESIMPILAN DAN SARAN 5.1 Kesimpulan ... 66
5.2 Saran ... 67
(9)
vii
DAFTAR GAMBAR
Gambar 1 Menghubungkan ADC0804 dengan 8051 melalui Port I/O ... 11
Gambar 2 Mikrokontroller AT89S51 ... 13
Gambar 2.4.1 Penerapan regulator tegangan tetap LM78xx ... 16
Gambar 2.6.1 Rangkaian Seven Segmen ... 19
Gambar 2.6.2 Modul Seven Segment Tunggal ... 20
Gambar 3.1 Diagram Blok Ragkaian ... 27
Gambar 3.2 Diagram Alir Program ... 29
Gambar 3.3 Rangkaian Power Supplay ... 32
Gambar 3.4 Rangkaian Mikrokontroller AT89S51 ... 33
Gambar 3.5 Rangkaian Sensor Temperature dan ADC ... 35
Gambar 3.6 Rangkaian Display Seven Segment ... 36
Gambar 3.7 Rangkaian Relay Pengendali Blower 220V AC ... 38
Gambar 3.8 Rangkaian Keypad ... 41
(10)
vi
DAFTAR TABEL
Tabel 2.6.1 Tabel Kebenaran 74LS138 ... 19
Tabel 2.7.6 Program Assembly ... 26
Tabel 2.6.2 Data Display Seven Segmen ... 20
Tabel 4.3 Data Yang Dikirim ke Mikrokontroler Oleh Keypad ... 45
(11)
BAB 1
PENDAHULUAN
1.1
Latar Belakang Masalah
Belakangan ini perkembangan teknologi pemrosesan IC (Integrated Circuit) telah sangat luas menyentuh aspek kehidupan kita. Salah satu produk tekhnologi pemrosesan IC yang paling populer adalah mikroprosesor. Pada prinsipnya mikroprosesor adalah pusat pengolahan data dalam sistem digital. Didalam perkembangannya, para pabrikan mikroprosesor mengembangkan sebuah varian mokroprosesor dengan menambahkan beberapa fitur agar memudahan engineer dalam merancang sistem. Varian mikroprosesor ini disebut mikrokontroler. Meskipun tidak sepopuler saudaranya, mikrokontroler lebih disukai para engineer karena lebih mudah dan praktis dalam penggunaanya
Temperatur merupakan salah satu besaran fisis yang sering dipakai dalam suatu sistem kontrol, baik hanya untuk sistem monitoring saja atau untuk proses pengendali lebih lanjut. Dalam kaitannya dengan hal diatas, penulis membuat sebuah alat untuk mempertahankan temperatur yang dikontrol sebuah mikrokontroler.
Mengamati kebanyakan aplikasi temperatur berada dalam ruangan maka suhu yang ingin dimonitor itu ditempatkan pada sebuah ruangan yang hampir tertutup sehingga untuk ditempatkan pada aplikasi sistem hanya membutuhkan sedikit modifikasi.
(12)
2
Pengambilan aplikasi tentang temperatur ini didasarkan pada besarnya pengaruh temperatur yang tidak hanya sebagai noise pada dunia elektronika tetapi juga berpengaruh pada dunia kesehatan (inkubator bayi, pembunuhan bakteri e-coli pada suhu 37 °C dll) hasil kualitas produksi (hasil perkebunan, pertanian, peternakan, dll) dan sistem keamanan gedung.
Pada tugas akhir ini penulis mengambil sensor suhu yang diaplikasikan pada inkubator. Inkubator merupakan suatu tempat yang dirancang untuk mempertahankan keadaan temperatur tertentu. Inkubator banyak dijumpai pada rumah sakit dan peternakan. Pada rumah sakit, inkubator berfungsi untuk menghangatkan bayi yang baru lahir, atau bayi yang lahir prematur. Pada peternakan, inkubator ini biasanya digunakan untuk penetas telur dan sebagai tempat dari anak ayam yang baru menetas.
Inkubator biasanya berbentuk ruagan atau box (kotak) dengan ukuran tertentu. Inkubator yang ada saat ini, biasanya sudah tertentu temperaturnya, tidak dapat diubah. Sehingga ketika pengguna membutuhkan ruangan atau box dengan temperatur lain, maka pengguna harus menggunakan inkubator yang lain. Biasanya untuk mengendalikan temperatur pada sebuah inkubator, digunakan lampu atau elemen pemanas. Sehingga ketika pengguna membutuhkan temperatur yang berbeda, maka pengguna harus mengganti elemen pemanas yang digunakan sebelumnya dengan elemen pemanas yang lain.
Akan lebih berguna, jika inkubator dilengkapi dengan sensor temperatur dan kontrol terhadap suhu, sehingga pengguna tidak perlu mengganti lampu atau elemen
(13)
3
pemanas lainnya pada inkubator ketika hendak mengganti temperaturnya. Pengguna cukup hanya mensetting temperatur pada settingan inkubator, maka inkubator itu sendiri yang akan mengontrol temperatur sesuai dengan settingan yang dimasukan.
Perancangan sistem akuisisi data suhu yang menggunakan komponen-konponen dasar berupa sebuah sensor suhu, mikrokontroler dan seven segmen sebagai fasilitas penampil. Sistem akuisisi data suhu menjadi satu hal yang sangat penting dalam dunia kesehatan, karena merupakan sebagian kecil dari sebuah proses kontrol. Berkenaan dengan pentingnya sistem, maka dilakukan perancangan sistem akusisi data suhu yang mampu melakukan kegiatan monitoring suhu suatu plant. Data yang akan diukur merupakan sebuah besaran fisis temperatur sehingga untuk dapat diolah dan ditampilkan dalam bentuk sistem elektris digunakan sensor suhu LM 35 yang mampu mengkonversi besaran tersebut dengan kenaikan 10mV/ºC. Untuk dapat merancang sistem maka pertama kali dilakukan proses mengubah suhu menjadi tegangan analog menggunakan sensor suhu LM 35. Setelah melalui proses pengkondisian sinyal dengan cara dikuatkan, tegangan analog diubah menjadi data digital menggunakan ADC 0804. Data digital yang diperoleh kemudian diolah oleh Mikrokontroler AT89S51 dan ditampilkan, sehingga didapatkan suatu informasi mengenai suhu plant dengan satuan ºC pada sebuah seven segmen. Dari perancangan sistem akuisisi data suhu didapatkan hasil bahwa sistem ini memiliki kemampuan untuk mengukur suhu dari 27 ºC sampai 100 ºC
(14)
4
1.2
Rumusan Masalah
Berdasarkan uraian yang terdapat pada latar belakang diatas, maka dalam tugas akhir ini penulis akan merancang prototipe kontrol temperatur pada sebuah inkubator yang dilengkapi dengan blower, dimana temperatur inkubator dapat diubah serta dipertahankan sesuai dengan keinginan pengguna inkubator tersebut.
1.3
Tujuan Penulisan
Adapun tujuan penulisan tugas akhir ini adalah merancang prototipe kontrol temperatur pada sebuah inkubator yang dilengkapi dengan blower, dimana temperatur inkubator dapat diubah serta dipertahankan sesuai dengan keinginan pengguna inkubator tersebut.
1.4
Batasan Masalah
Penulisan tugas akhir ini dibatasi pada:
a. Studi cara kerja rangkaian yang meliputi diagram blok dan menguraikan secara umum fungsi dari masing-masing komponen utama dalam blok tersebut
b. Penulis menggunakan sensor LM 35 sebagai sensor temperatur pada inkubator ini.
c. Untuk menaikkan temperatur inkubator, penulis menggunakan heater dan untuk menurunkan temperatur penulis mengunakan blower.
(15)
5
d. Data pengukuran ditampilkan di seven segmen sebagai peralatan monitoring tanpa melakukan proses pengendali.
1.5
Prinsip Kerja
Prinsip kerja dari prototipe kontrol temperatur pada sebuah inkubator yang dilengkapi dengan blower adalah mempertahankan atau menjaga temperatur inkubator yang di masukkan melalui keypad 4X4. Dimana output sensor suhu LM35 di inputkan ke ADC0804, setelah melalui proses pengkondisi sinyal dengan cara dikuatkan, tegangan analog diubah menjadi data digital menggunakan ADC0804 kemudian dimasukkan ke mikrokontroler. Data digital yang diperoleh kemudian diolah oleh mikrokontroler AT89S51 di tampilkan di seven segmen. Dari sistem perancangan akuisisi data didapat bahwa alat ini dapat mengontrol suhu mulai dari 27ºC sampai 100ºC.
1.6
Sistematika Penulisan
Untuk mempermudah pembahasan dan pemahaman maka penulis membuat sistematika pembahasan bagaimana sebenarnya prinsip kerja dari prototipe kontrol temperatur pada sebuah inkubator yang dilengkapi dengan blower, maka penulis menulis tugas akhir ini sebagai berikut:
BAB 1 PENDAHULUAN
Dalam bab ini berisikan mengenai latar belakang, rumusan masalah, tujuan penulisan, batasan masalah,prinsip kerja alat tersebut serta sistematika penulisan.
(16)
6
BAB 2 LANDASAN TEORI
Landasan teori, dalam bab ini dijelaskan tentang teori pendukung yang digunakan untuk pembahasan dan cara kerja dari rangkaian teori pendukung itu antara lain tentang mikrokontroler AT89S51 (hardware dan software), serta bahasa program yang digunakan.
BAB 3 RANCANGAN SISTEM
Pada bab ini akan dibahas perancangan dari alat, yaitu diagram blok dari rangkaian,skematik dari masing-masing rangkaian dan diagram alir dari program yang akan di isikan ke mikrokontroler AT89S51
BAB 4 PENGUJIAN ALAT DAN PROGRAM
Pada bab ini akan dibahas hasil analisa dari rangkaian dan sistem kerja alat, penjelasan mengenai program-program yang digunakan untuk mengaktifkan rangkaian, penjelasan mengenai program yang akan diisikan ke mikrokontroler AT89S51
BAB 5 KESIMPULAN DAN SARAN
Bab ini merupakan bab penutup yang meliputi tentang kesimpulan dari pembahasan yang dilakukan dari tugas akhir ini serta saran apakah yang akan diambil sehingga rangkaian ini dapat dibuat sehingga lebih efisien dan dikembangkan perakitannya pada suatu metode lain yang mempunyai sistem kerja yang sama.
(17)
BAB 2
LANDASAN TEORI
2.1Sensor Suhu LM 35
Sensor suhu adalah suatu alat untuk mendeteksi atau megukur suhu pada suatu ruangan atau sistem tertentu yang kemudian diubah keluarannya menjadi besaran listrik, Misalnya LM 35
LM 35 merupakan sensor temperatur yang paling banyak digunakan untuk praktek, karena selain harganya cukup murah juga linearitasnya lumayan bagus. LM 35 tidak membutuhkan kalibrasi eksternal yang mennyediakan akurasi ±¼°C pada temperatur ruangan dan ±¾ºC pada kisaran -55ºC sampai +150°C .
Sensor suhu LM 35 berfungsi untuk mengubah besaran fisis yang berupa suhu menjadi besaran elektris tegangan. Sensor ini memiliki parameter bahwa setiap kenaikan 1ºC tegangan keluarannya naik sebesar 10mV dengan batas maksimal keluaran sensor adalah 1,5 V pada suhu 150 °C.
Pada perancangan, kita tentukan keluaran ADC mencapai full scale pada saat suhu 100 °C, sehingga saat suhu 100 °C tegangan keluaran transduser (10mV/°Cx100 °C) = 1V.
(18)
8 Dari pengukuran secara langsung saat suhu ruang, keluaran LM 35 adalah 0.3V (300mV). Tegangan ini diolah dengan menggunakan rangkaian pengkondisi sinyal agar sesuai dengan tahapan masukan ADC.
LM35 memiliki kelebihan-kelebihan sebagai berikut:
a. Di kalibrasi langsung dalam celcius
b. Memiliki faktor skala linear + 10.0 mV/ºC
c. Memiliki ketepatan 0,5ºC pada suhu 25ºC
d. Jangkauan maksimal suhu antara -55ºC sampai 150ºC
e. Cocok untuk aplikasi jarak jauh
f. Harga yang cukup murah
g. Bekerja pada tegangan catu daya 4 sampai 30 Volt
h. Memiliki arus drain kurang dari 60 µAmp
i. Pemanasan sendiri yang lambat (low self-heating)
j. 0,08 ºC di udara diam
k. Ketidak linearannya hanya sekitar ±14 °C
l. Memiliki impedansi keluaran yang kecil yaitu 0,1 Watt untuk beban 1 mAmp.
(19)
9
Sensor suhu tipe LM 35 merupakan IC sensor temperatur yang akurat yang tegangan keluarannya linear dalam satuan celcius. Jadi LM 35 memiliki kelebihan dibandingkan sensor temperatur linear dalam satuan Kelvin, karena tidak memerlukan pembagian dengan konstanta tegangan yang besar dan keluarannya untuk mendapatkan nilai dalam satuan celcius yang tepat. LM 35 memiliki impedansi keluaran yang rendah, keluaran yang linear, dan sifat ketepatan dalam pengujian membuat proses interface untuk membaca atau mengontrol sirkuit lebih mudah. Pin V+ dari LM 35 dihubungkan ke catu daya, pin GND dihubungkan ke Ground dan pin Vout – yang mengahasilkan tegangan analog hasil penginderaan suhu sekitar negatif (-) dihubungkan ke Vin (+) dan ADC 0804.
2.2
Analog To Digital Converter (ADC) 0804
ADC merupakan singkatan dari analog to digital converter, dimana ADC merupakan jembatan untuk menghubungkan bermacam – macam sensor dengan mikrokontroler.
ADC merupakan sebuah interface yang dapat merubah tegangan analog menjadi digital karena mikrokontroler hanya memiliki masukan berupa data-data digital, maka agar mikrokontroler dapat membaca tegangan analog, maka ADClah temannya.
Untuk dapat mengukur atau mengkonversi suatu variable fisis yang umumnya analog dengan suatu piranti digital maka variabel tersebut terlebih dahulu diubah menjadi variabel digital yang nilainya proporsional terhadap nilai variabel yang diukur . untuk hal ini digunakan konverter analog ke digital.
(20)
10
Sebuah konverter analog ke digital umumnya memerlukan konverter digital keanalog ( DAC, Digital to Analog Converter) secara internal. Waktu yang digunakan oleh sebuah ADC menghasilkan kode biner (digital) dalam suatu konversi disebut waktu konversi. ADC dikatan berkecepatan tinggi jika memiliki waktu konversi yang pendek atau singkat.
ADC merupakan piranti masukan dimana mikrokontroler mendapatkan data dari ADC. Cara mendapatkan data dari ADC yaitu ADC memerlukan sinyal write dan read. Sinyal write digunakan sebagai perintah bagi ADC untuk memulai konversi. Proses konversi akan dimulai setelah mendapatkan sinyal write ini. Proses ini membutuhkan waktu yang cukup lama, yaitu sekitar 120µs. Selama konversi berlangsung, pin INTR berada dalam kondisi high, segera setelah konversi selesai pin INTR akan berubah menjadi low. Ini bertanda bahwa ADC sudah memperoleh data valid yang boleh diambil.
Ada beberapa cara yang dapat dilakukan dalam menangani ADC yaitu:
a) Menghubungkan pin INTR dari ADC dengan pin INTO/INT1 dari
mikrokontroler, dan melakukan pembacaan data ADC didalam prosedur interupsi.
b) Menyambungkan pin INTR dari ADC ke pin mana saja dari
mikrokontroler dan membuat perintah looping untuk menunggu sampai pin tersebut berubah menjadi low, baru mengambil data dari ADC.
(21)
11
c) Tidak menghubungkan pin INTR dengan mikrokontroler. Dengan
demikian mikrokontroler tidak dapat mengetahui dengan pasti kapan waktu konversi telah selesai. Untuk dapat memperoleh data valid setelah sinyal write dikiri, milrokontroler harus menunda pembacaan sampai waktu paling lama yang mungkin dibutuhkan untuk proses konversi, yaitu menunggu sampai sekitar 120µs atau lebih. Pada gambar 1, pin INTR tidak dihubungkan kemanapun, jadi hanya cara ketiga yang dapat dilakukan.
Gambar 1 Menghubungkan ADC0804 dengan 8051 melalui port I/O
Pada rangkaian ini, R2 dan C4 berfungsi sebagai rangkaian clock pada ADC. Input tegangan analog diberikan oleh VR1. interkoneksi dengan µC dilakukan melalui pin RD (P3.7), WR (P3.6), INTO (P3.2) dan P0. RD dan WR diatur melalui software µC, INTO sebagai indikator konversi data selesai. INTO dapat dihubugkan ke interrupt pada µC. Data hasil konversi dapat dibaca pada DB0-BB7 pada port 0 pada uC.
(22)
12
2.3
Mikrokontroler AT89S51
Mikrokontroler adalah gabungan dari sebuah mikroprosesor dan periperalnya, seperti RAM,ROM (EPROM atau EEPROM) antar muka serial dan paralel, timer dan rangkaian pengontrol interupsi yang terkait dalam satu IC. Semuanya membentuk suatu sistem komputer yang lengkap. Perbedaannya dengan komputer adalah mikrokontroler didesain dengan komponen-komponen yang minimum dan dipakai untuk orientasi kontrol. Programnya tidak berukuran besar dan disimpan dalam ROM. Akibat perbedaan aplikasinya dengan mikroprosesor, mikrokontroler juga mempunyai kebutuhan set intruksi yang berbeda dengan mikroprosesor.
Mikroprosesor biasanya mempunyai set instruksi yang sangat lengkap, sedangkan mikrokontroler mempunyai set instruksi yang lebih sederhana, terutama dipakai untuk mengontrol antar muka input dan output yang menggunakan bit tunggal (singgel bit). Mikrokontroler mempunyai banyak instruksi untuk set dan clear bit secara individual dan melakukan operasi yang berorientasi 1 bit untuk logika AND, OR, XOR, loncatan (jumping), percabangan (brancing) dan lain-lain. Set instruksi seperti ini jarang ada pada mikroprosesor yang biasanya untuk operasi pada byte atau unit data yang lebih besar.
AT89S51 adalah sebuah mikrokontroler 8 bit terbuat dari CMOS, yang berkonsumsi daya rendah dan mempunyai kemampuan tinggi. Mikrokontroler ini memiliki 4 Kbyte In-System Flash Programable Memori, Ram sebesar 128 Byte, 32 input/output, watchdog timer,dua buah register data pointer, dua buah 16 bit timer dan counter, lima buah vektor interupsi, sebuah port serial full-duplex, osilator on-chip, dan rangkaian clock.
(23)
13
AT89S51 dibuat dengan teknologi memori non-volatile dengan kepadatan tinggi oleh ATMEL. Mikrokontroler ini cocok dengan instruksi set dan pin out 80C51 standar industri.Flash on-chip memungkinkan memori program untuk di program ulang dengan program memori nonvolative yang biasa.
Gambar 2 . Mikrokontroller AT89S51
Keterangan
Vcc : Suplai Tegangan
GND : Ground atau pentanahan
RST : Masukan reset. Kondisi logika '1' selama siklus mesin saat osilator bekerja dan akan mereset mikrokontroler yang bersangkutan.
(24)
14 Fungsi - fungsi Port :
Port0 : Merupakan port paralel 8 bit open drain dua arah. Bila digunakan untuk mengakses memori luar, port ini akan memultipleks alamat memori dengan data.
Port1 : merupakan port paralel 8 bit dua arah yang dapat digunakan untuk berbagai keperluan. Port2 : merupakan port paralel selebar 8 bit dua arah.
Port ini melakukan pengiriman byte alamat bila dilakukan pengaksesan memori eksternal. P3.0 : Saluran masukan serial
P3.1 : Saluran keluaran serial P3.2 : Interupsi eksternal 0 P3.3 : Interupsi eksternal 1
P3.4 : Masukan eksternal pewaktu / pencacah 0 P3.5 : Masukan eksternal pewaktu / pencacah 1 P3.6 : Sinyal tanda baca memori data ekstrenal. P3.7 : Sinyal tanda tulis memori data ekstrenal.
Data digital 8 bit dari ADC diambil oleh mikokontroler melalui Port 2 ( P2.0-P2.7 dihubungkan dengan DB0-DB7 ). Sedangkan data masukan untuk penampil seven segmen dikeluarkan melalui Port 1 ( P1.0-P1.7 dihubungkan dengan D0-D7 ). Untuk mengontrol kaki RS dan E pada seven segmen mikrokontroler memanfaatkan kaki P3.6 dan P3.7
Proses pengambilan data dan pengolahan data dapat dilihat dalam gambar 2. Data yang diambil dari P2 dikalibrasi terlebih dahulu, setelah dikalibrasi data tersebut kemudian diubah ke dalam kode ASCII supaya tertampil angka 0-100 pada seven segmen, jika tidak diubah maka yang tertampil adalah angka 0-255.
(25)
15
2.4
Power Supply (PSA)
Catu daya merupakan bagian yang berfungsi untuk menyediakan daya untuk daya rangkaian. Ada dua macam catu daya, yaitu catu daya tegangan tetap dan catu daya
variable . Catu daya tegangan tetap adalah catu daya yang tegangan keluarannya tetap
dan tidak bisa diatur. Catu daya variable merupakan catu daya yang tegangan keluarannya dapa diubah/diatur. Catu daya yang baik selalu dilengkapi dengan regulator tegangan.Tujuan pemasangan regulator tegangan pada catu daya adalah untuk menstabilkan tegangan keluaran apabila terjadi perubahan tegangan masukan pada catu daya. Fungsi lain dari regulator tegangan adalah untuk perlindungan dari terjadinya hubung singkat pada beban. Salah satu tipe regulator tegangan tetap adalah LM78xx.
Regulator tegangan tipe LM 78xx adalah salah satu regulator tegangan tetap dengan tiga
terminal, yaitu terminal Vin , GND dan Vout. Tegangan keluaran dari regulator LM 78xx memungkinkan regulator untuk dipakai dalam sistem logika, instrumentasi dan Hifi .
Regulator tegangan LM 78xx dirancang sebagai regulator tegangan tetap, meskipun
demikian dapat juga keluaran dari regulator ini diatur tegangan dan arusnya melalui tambahan komponen eksternal . Cara pemasangan dari penerapan dari regulator tegangan tetap LM 78xx pada catu daya dapat dilihat pada Gambar 2.3 berikut.
(26)
16
Regulator tegangan tetap LM 78xx dibedakan dalam tiga versi yaitu LM 78xxC, LM 78lxx dan LM 78Mxx. Arsitektur dari regulator tegangan tersebut sama, yang membedakan adalah kemampuan mengalirkan arus pada regulator
Perangkat elektronika mestinya dicatu oleh supplay arus searah DC (direct current) yang stabil agar dapat bekerja dengan baik. Baterai atau accu adalah sumber catu daya DC yang paling baik. Namun untuk aplikasi yang membutuhkan catu daya yang
tegangan tersebut . Regulator tegangan tetap LM 78xx dibedakan dalam tiga versi yaitu LM 78xxC, LM 78lxx dan LM 78Mxx. Arsitektur dari regulator tegangan tersebut sama, yang membedakan adalah kemampuan mengalirkan arus pada regulator tegangan tersebut.
Adaptor adalah sebuah rangkaian transformator yang dapat merubah arus Ac menjadi arus DC. Dari penguatan inilah selanjutnya disebut power supply atau penguat catu daya.
Panjang pendeknya gulungan sekunder pada trafo adaptor akan mempengaruhi besar kecilnya sumber tegangan volt. Sedang besar kecilnya diameter kawat yang digunakan akan mempengaruhi besar kecilnya arus dalam amper yang diperoleh.
Pada sebuah trafo tenaga yang di tancapkan AC pada primernya , kumparan sekunder akan timbul arus yang berlawanan (DC). Arus yang keluar akibat imbas ini sebenarnya secara menyeluruh belum rata. Karena itu perlu disearahkan dan distabilkan. Kurang tertibnya rangkaian stabilizer akan menyebabkan bunyi derau pada pesawat yang sedang distel.
(27)
17 lebih besar, sumber dari baterai tidak cukup. Sumber catu daya yang besar adalah sumber arus bolak-balik (alternating current) dari pembangkit tenaga listrik. Untuk itu diperlukan suatu perangkat catu daya yang dapat mengubah arus AC menjadi arus DC
Banyak peralatan elektronika yang tidak dilengkapi dengan adaptor atau catu daya tetap, misalnya radio dan tape rekorder kecil. Selain dengan baterai kering, kita dapat menyediakan catu daya dengan rangkaian penyearah yang tegangan keluarannya tetap dan stabil, serta biaya murah. Adaptor murah yang dipasaran biasanya tidak dilengkapi dengan stabilisator dan kemampuan arusnya belum tentu sesuai dengan peralatan kita.
2.5
Keypad 4X4
DT-I/O 4 x 4 Keypad Module merupakan modul keypad berukuran 4 kolom x 4 baris. Modul ini dapat difungsikan sebagai divais input dalam aplikasi-aplikasi seperti pengaman digital, data logger, absensi, pengendali kecepatan motor, robotik, dan sebagainya.
Spesifikasi Har dwar e
1. Memiliki 16 tombol (fungsi tombol tergantung aplikasi).
2. Memiliki konfigurasi 4 baris (input scanning) dan 4 kolom (output scanning).
3. Kompatibel penuh dengan DT-51™ Low Cost Series dan DT-AVR Low Cost Series. Mendukung 51™ Minimum Sistem (MinSys) ver 3.0, 51™ PetraFuz, DT-BASIC Series, dan lain-lain.
(28)
18
P1.4 (Pin 7 PORT 1) R1 (J3)
P1.5 (Pin 8 PORT 1) R2 (J3)
P1.6 (Pin 9 PORT 1) R3 (J3) P1.7 (Pin 10 PORT 1) R4 (J3)
DT-51™ Minimum System v3.
dan Petr aFuz
DT-I/O 4x4 Keypad Module
VCC (Pin 1 Port CONTROL) VCC (J5)
PC.0 (Pin 1 PORT C & PORT 1) C1 (J3) PC.1 (Pin 2 PORT C & PORT 1) C2 (J3) PC.2 (Pin 3 PORT C & PORT 1) C3(J3) PC.3 (Pin 4 PORT C & PORT 1) C4(J3) PC.4 (Pin 5 PORT C & PORT 1) R1(J3) PC.5 (Pin 6 PORT C & PORT 1) R2(J3) PC.6 (Pin 7 PORT C & PORT 1) R3 (J3) PC.7 (Pin 8 PORT C & PORT 1) R4(J3)
2.6
Display Seven Segmen
(29)
19
(b)
Gambar 2.6.1 Rangkaian Seven segmen
INPUT
SELECTOR ENABLE OUTPUT
C B A G1 /G2A /G2B Y1 Y2 Y2 Y3 Y4 Y5 Y6 Y7
0 0 0 1 0 0 0 1 1 1 1 1 1 1
0 0 1 1 0 0 1 0 1 1 1 1 1 1
0 1 0 1 0 0 1 1 0 1 1 1 1 1
0 1 1 1 0 0 1 1 1 0 1 1 1 1
1 0 0 1 0 0 1 1 1 1 0 1 1 1
1 0 1 1 0 0 1 1 1 1 1 0 1 1
1 1 0 1 0 0 1 1 1 1 1 1 0 1
1 1 1 1 0 0 1 1 1 1 1 1 1 0
Tabel 2.6.1 Tabel kebenaran 74LS138
Pada tabel kebenaran tersebut tampak bahwa seven segmen yang hidup tergantung pada output dari dekoder 74LS138, yang sedang mengeluarkan logika low ”0”, sehingga dari 8 buah display tersebut, selalu hanya satu display yang akan dihidupkan. Agar display tampak nyala secara bersamaan maka ketiga display tersebut harus dihidupkan secara
(30)
20 bergantian dengan waktu tunda tertentu. Pada gambar tersebut seven segment common anoda dikendalikan dengan menggunakan transistor PNP melalui decoder 74LS138, apabila ada logika low pada basis transistor, maka seven segmen akan menyala dan sebaliknya akan padam.
Gambar 2.6.2 Modul 7 Segmen tunggal
P0.6 P0.5 P0.4 P0.3 P0.2 P0.1 P0.0 Display
G f e d c b a
1 0 0 0 0 0 0 0
1 1 1 1 0 0 1 1
0 1 0 0 1 0 0 2
0 1 1 0 0 0 0 3
: : : : : : : :
0 0 0 1 0 0 0 A
0 0 0 0 0 1 1 b
Tabel 2.6.2 Data Display 7 Segmen
Pada tabel tersebut tampak bahwa untuk menghidupkan sebuah segmen, harus dikirimkan data logika low ”0” dan sebaliknya untuk mematikan segmen, harus dikirimkan data logika high ”1”.
org 0h
(31)
21
clr P3.6 ; P3.6 = ‘0’
clr P3.7 ; P3.7 = ‘0’
mov P0,#10001000b ; Cetak Karakter 'A'
sjmp start ; Lompat ke start
2.7
end
Dalam ruangan yang tertutup (closed-loop system), suhu adalah salah satu faktor yang berpengaruh terhadap lingkungannya. Pengontrolan terhadap suhu ruangan yang bekerja secara otomatis dapat menjaga suhu pada kondisi yang optimum (tidak terlalu panas atau tidak terlalu dingin) dan dapat menghemat penggunaan energi.Sensor yang dipasang dalam sistem akan mengindera nilai suhu ruangan secara terus-menerus (real time). Hasil tersebut sebelum dikirimkan kepada mikrokontroler untuk diolah telah dikonversikan terlebih dahulu oleh ADC. Suhu hasil penginderaan akan dibandingkan dengan suhu ambang suhu optimum ruangan yang dapat diatur nilainya batas bawah maupun batas atasnya melalui masukan keypad, maka perbedaan tersebut yang menjadi indikator bekerja atau tidaknya blower sebagai pendingin ruangan.
Blower
2.8
Heater (pemanas)Heater merupakan suatu pemanas yang befungsi untuk memanaskan ruangan atau lingkungan di sekitar pemanas tersebut. Pada pemanas tipe ini, penulis menngunakan hair dryer yang memancarkan panas kesekitar inkubator. Pemanas ini tidak dipakai di dasar inkubator melainkan di belakang dinding inkubator agar panas tersebar keseluruh ruangan inkubator serta juga di bantu dengan adanya blower diatas inkubator tersebut.
(32)
22
2.9
Secara fisik, kerja dari sebuah mikrokontroler dapat dijelaskan sebagai siklus pembacaan instruksi yang tersimpan di dalam memori. Mikrokontroler menentukan alamat dari memori program yang akan dibaca, dan melakukan proses baca data di memori. Data yang dibaca diinterprestasikan sebagai instruksi. Alamat instruksi disimpan oleh mikrokontroler di register, yang dikenal sebagai program counter. Instruksi ini misalnya program aritmatika yang melibatkan 2 register. Sarana yang ada dalam program assembly sangat minim, tidak seperti dalam bahasa pemrograman tingkat atas (high level language programming) semuanya sudah siap pakai. Penulis program assembly harus menentukan segalanya, menentukan letak program yang ditulisnya dalam memori-program, membuat data konstan dan tablel konstan dalam memori-program, membuat variabel yang dipakai kerja dalam memori-data dan lain sebagainya.
Bahasa Assembly
2.9.1
Program Sumber AssemblyProgram-sumber assembly (assembly source program) merupakan kumpulan dari baris-baris perintah yang ditulis dengan program penyunting-teks (text editor) sederhana, misalnya program EDIT.COM dalam DOS, atau program NOTEPAD dalam Windows atau MIDE-51. Kumpulan baris perintah tersebut biasanya disimpan ke dalam file dengan nama ekstensi *.ASM dan lain sebagainya, tergantung pada program Assembler yang akan dipakai untuk mengolah program-sumber assembly tersebut. Setiap baris-perintah merupakan sebuah perintah yang utuh, artinya sebuah perintah tidak mungkin dipecah dikenali sebagai label atau sering juga disebut sebagai simbol, bagian kedua dikenali
(33)
23 sebagai kode operasi, bagian ketiga adalah operand dan bagian terakhir adalah komentar. Antara bagian-bagian tersebut dipisahkan dengan sebuah spasi atau tabulator.
2.9.2
Label dipakai untuk memberi nama pada sebuah baris-perintah, agar bisa mudah menyebitnya dalam penulisan program. Label bisa ditulis apa saja asalkan diawali dengan huruf, biasa panjangnya tidak lebih dari 16 huruf. Huruf - huruf berikutnya boleh merupakan angka atau tanda titik dan tanda garis bawah. Kalau sebuah baris perintah tidak memiliki bagian label, maka bagian ini boleh tidak ditulis namun spasi atau tabulator sebagai pemisah antara label dan bagian berikutnya mutlak tetap harus ditulis. Dalam sebuah program sumber bisa terdapat banyak sekali label, tapi tidak boleh ada label yang kembar. Sering sebuah baris perintah hanya terdiri dari bagian label saja, baris demikian itu memang tidak bisa dikatakan sebagai baris perintah yang sesungguhnya, tetapi hanya sekedar memberi nama pada baris bersangkutan. Bagian label sering disebut juga sebagai bagian simbol, hal ini terjadi kalau label tersebut tidak dipakai untuk menandai bagian program, melainkan dipakai untuk menandai bagian data.
Bagian Label
2.9.3
Bagian Kode OperasiKode operasi (operation code atau sering disingkat sebagai OpCode) merupakan bagian perintah yang harus dikerjakan. Dalam hal ini dikenal dua macam kode operasi, yang pertama adalah kode operasi untuk mengatur kerja mikroprosesor/mikrokontroler. Jenis kedua dipakai untuk mengatur kerja program assembler yang sering dinamakan sebagai assembler directive. Kode operasi ditulis dalam bentuk mnemonic, yakni bentuk
(34)
24 singkatan-singkatan yang relatif mudah di ingat, misalnya adalah MOV, ACALL, RET dan lain sebagainya. Kode operasi ini ditentukan oleh pabrik pembuat mikroprosesor/mikrokontroler, dengan demikian setiap prosesor mempunyai kode operasi
yang berlainan. Kode operasi berbentuk mnemonic tidak dikenal
mikroprosesor/mikrokontroler, agar program yang ditulis dengan kode mnemonic bisa dipakai untuk mengendalikan prosesor, program semacam itu diterjemahkan menjadi program yang dibentuk dari kode operasi kode biner, yang dikenali oleh
mikroprosesor/mikrokontroler. Tugas penerjemahan tersebut dilakukan oleh
programyang dinamakan sebagai Program Assembler. Diluar kode operasi yang ditentukan pabrik pembuat mikroprosesor/mikrokontroler, ada pula kode operasi untuk mengatur kerja dari program assembler, misalnya dipakai untuk menentukan letak program dalam memori (ORG), dipakai untuk membentuk variabel (DS), membentuk tabel dan data konstan (DB, DW) dan lain sebagainya.
2.9.4
Operand merupakan pelengkap bagian kode operasi, namun tidak semua kode operasi memerlukan operand, dengan demikian bisa terjadi sebuah baris perintah hanya terdiri dari kode operasi tanpa operand. Sebaliknya ada pula kode operasi yang perlu lebih dari satu operand, dalam hal ini antara operand satu dengan yang lain dipisahkan dengan tanda koma (,). Bentuk operand sangat bervariasi, bisa berupa kode-kode yang dipakai untuk menyatakan Register dalam prosesor, bisa berupa nomor memori (alamat memori) yang dinyatakan dengan bilangan atau pun nama label, bisa berupa data yang siap di operasikan. Semuanya di sesuaikan dengan keperluan dari kode operasi. Untuk membedakan operand yang berupa nomor memori atau operand yang berupa data yang
(35)
25 siap di operasikan, dipakai tanda - tanda khusus atau cara penulisan yang berlainan. Di samping itu operand bisa berupa persamaan matematis sederhana atau persamaan Boolean, dalam hal semacam ini program Assembler akan menghitung nilai dari persamaan-persamaan dalam operand, selanjutnya merubah hasil perhitungan tersebut ke kode biner yang dimengerti oleh prosesor. Jadi perhitungan di dalam operand dilakukan oleh program assembler bukan oleh prosesor.
2.9.5
Bagian komentar merupakan catatan-catatan penulis program, bagian ini meskipun tidak mutlak diperlukan tapi sangat membantu masalah dokumentasi. Membaca komentar-komentar pada setiap baris perintah, dengan mudah bisa dimengerti maksud tujuan baris bersangkutan, hal ini sangat membantu orang lain yang membaca program. Pemisah bagian komentar dengan bagian sebelumnya adalah tanda spasi atau tabulator, meskipun demikian huruf pertama dari komentar sering berupa tanda titik koma (,) merupakan tanda pemisah khusus untuk komentar.
Untuk keperluan dokumentasi yang intensip, sering sebuah baris yang merupakan komentar saja, dalam hal ini huruf pertama dari baris bersangkutan adalah tanda titik koma (,). AT89S51 memiliki sekumpulan instruksi yang sangat lengkap. Instruksi MOV untuk byte dikelompokkan sesuai dengan mode pengalamatan (addressing modes). Mode pengalamatan menjelaskan bagaimana operand dioperasikan. Berikut penjelasan dari berbagai mode pengalamatan. Bentuk program assembly yang umum ialah sebagai berikut :
(36)
26
Label/Simbol Opcode Operand Komentar
Org 0H
Start: Kiri: Delay: Del1: Del2: Mov Mov Mov Call RL DEC CJNE Sjmp mov mov djnz djnz ret end A, #11111110b R0, #7 P0, A Delay A R0
R0, #0, Kiri Start
R1, #255 R2, #255 R2, del2 R1, del1
; Isi Akumulator ; Isi R0 dengan 7 ; Copy A ke P0 ; Panggil Delay
Tabel 2.7.6 Program Assembly
Isi memori adalah bilangan heksadesimal yang dikenal oleh mikrokontroler, yang merupakan representasi dari bahasa assembly yang telah kita buat. Mnemonic atau opcode adalah kode yang akan melakukan aksi terhadap operand . Operand adalah data yang diproses oleh opcode. Sebuah opcode bisa membutuhkan 1,2 atau lebih operand, kadang juga tidak perlu operand. Sedangkan komentar dapat kita berikan dengan menggunakan tanda titik koma (;). Berikut contoh jumlah operand yang berbeda beda dalam suatu assembly.
CJNE R5,#22H, aksi ;dibutuhkan 3 buah operand MOVX @DPTR, A ;dibutuhkan 2 buah operand RL A ;1 buah operand
NOP ; tidak memerlukan operand
Program yang telah selesai kita buat dapat disimpan dengan ekstension .asm. Lalu kita dapat membuat program objek dengan ekstension HEX dengan menggunakan compiler MIDE-51.
(37)
BAB 3
RANCANGAN SISTEM
3.1 Diagram Blok Rangkaian
Diagram blok merupakan gambaran dasar dari rangkaian sistem yang akan dirancang. Dimana setiap diagram blok mempunyai fungsi masing-masing. Adapun diagram blok dari sistem yang dirancang adalah seperti yang diperlihatkan pada gambar 3.1. berikut ini:
Gambar 3.1 Diagram Blok Rangkaian
Disain sistem rangkaian terdiri dari:
1. Sensor suhu (LM 35) berfungsi untuk mengukur suhu inkubator kemudian output sensor ini akan diinputkan ke ADC0804.
P0 P1 P2 P3 Display 1 buah Relay 1 buah Heater ADC 0804 Keypad 4 x 4
M ikr oko nt rol er A T 89S 51 Sensor inkubator blo wer sensor suhu
(38)
28
2. ADC0804 berfungsi untuk merubah tegangan analog dari sensor suhu menjadi data digital 8 bit, sehingga data tersebut dapat diolah oleh mikrokontroler AT89S51.
3. Mikrokontroler AT89S51 berfungsi untuk mengolah data digital yang dikirimkan oleh ADC0804, selanjutnya mikrokontroler akan menampilkan nilai suhu yang terukur pada seven segmen kemudian membandingkannya dengan data tertentu untuk kemudian mengambil tindakan (menghidupkan/mematikan heater).
4. Relay berfungsi sebagai perantara antara mikrokontroler yang memiliki tegangan 5 volt DC dengan heater yang memiliki tegangan 220 volt AC, sehingga heater dapat dikendalikan oleh mikrokontroler AT89S51.
5. Heater berfungsi untuk memanaskan inkubator yang akan dikendalikan oleh mikrokontroler setelah mendapatkan data dari sensor suhu (LM 35).
6. Display berfungsi untuk menampilkan hasil pembacaan suhu pada sensor suhu (LM 35) yang berada dalam inkubator.
7. Keypad 4x4 berfungsi untuk memasukkan nilai temperatur yang akan
dipertahankan oleh inkubator.
8. Blower berfungsi untuk mengisap dan mengeluarkan udara panas yang dihasilkan oleh heater dari dalam inkubator.
(39)
29
Baca data ADC Dan Tampilkan pada display Apakan tombol Bintang (*) Ditekan ? Start Tidak Kosongkan Display Baca Nilai Masukan dan tampilkan pada display Ya Apakah Tombol D ditekan ? Apakan Tombol A ditekan Tidak Ya Tidak Simpan Data Masukan pada alamat 63h Apakah Nilai ADC = Nilai Pada Alamat
63h ?
Baca data ADC Dan Tampilkan pada display Ya Apakah Tombol C ditekan ? Apakah Nilai
ADC < Nilai Pada Alamat
63h ?
Apakah Nilai ADC > Nilai Pada Alamat
63h ?
Tidak Tidak Tidak
Tidak
Matikan Heater Hidupkan Heater Matikan Heater Tampilkan nilai yang ada pada alamat 63h ke
display
Ya Ya Ya Ya
Apakah Tombol B ditekan ?
Apakah Tombol Pagar (#) ditekan ? Tidak
Tidak Ya
Ya 3.2 Diagram Alir Pemrograman
(40)
30
Program diawali dengan start yang berarti rangkaian diaktifkan. Kemudian program akan membaca nilai ADC dan menampilkannya pada display. Selanjutnya program akan melihat apakah ada penekanan pada tombol bintang (*) atau tidak. Jika tidak ada penekanan pada tombol bintang, maka program akan kembali membaca ADC dan menampilkannya pada display. Namun jika ada penekanan pada tombol bintang (*), maka program akan mengosongkan tampilan pada display.
Selanjutnya program akan membaca masukan yang diinput melalui keypad, kemudian program akan menampilkan nilai masukan pada display. Kemudian program akan melihat apakah tombol “D” ditekan. Tombol D merupakan tombol reset. Jika tombol “D” tidak ditekan, maka program akan melihat apakah tombol “A” ditekan. Namun jika tombol “D” ditekan, maka program akan kembali mengosongkan display dan kembali menerima input dari keypad.
Tombol “A” merupakan tombol enter. Jika tombol “A” tidak ditekan, maka program akan terus menampilkan nilai yang di inputkan dari keypad. Jika tombol “A” ditekan, maka program akan menyimpan nilai masukan ke alamat 63H, kemudian program akan kembali membaca nilai ADC dan menampilkannya pada display.
Selanjutnya program akan membandingkan nilai ADC dengan nilai masukan yang diinput dari keypad (Yang ada pada alamat 63H).
1. Jika nilai ADC sama dengan nilai pada alamat 63h, maka program akan mematikan heater dan kembali membaca ADC dan menampilkan hasil pembacaannya ke display.
(41)
31
2. Jika nilai ADC lebih kecil dari nilai pada alamat 63h, maka program akan menghidupkan heater dan kembali membaca ADC dan menampilkan hasil pembacaannya ke display.
3. Jika nilai ADC lebih besar dari nilai pada alamat 63h, maka program akan mematikan heater dan kembali membaca ADC dan menampilkan hasil pembacaannya ke display.
Selain membandingkan, program juga melihat apakah tombol “C”. Tombol “C” merupakan tombol untuk menampilkan nilai yang ada pada alamat 63H. Jika tombol “C” ini ditekan, maka program akan menampilkan nilai yanga ada pada alamat 63h ke display, selanjutnya program akan melihat apakan ada penekanan pada tombol “B”. Jika tombol “B” ditekan, maka program akan kembali membaca ADC, menampilkalnya pada display kemudian membandingkannya. Namun jika tombol “B” tidak ditekan, maka program akan melihat apakah ada penekanan pada tombol “#”. Jika tombol “#” ditekan, maka program akan kembali ke awal untuk mengambil masukan dari keypad. Blower akan selalu aktif walaupun heater telah berhenti memanaskan inkubator.
3.3 Perancangan Power Supplay (PSA)
Rangkaian ini berfungsi untuk mensupplay tegangan ke seluruh rangkaian yang ada. Rangkaian PSA yang dibuat terdiri dari dua keluaran, yaitu 5 volt dan 12 volt, keluaran 5 volt digunakan untuk mensupplay tegangan ke seluruh rangkaian, sedangkan keluaran 12 volt digunakan untuk mensuplay tegangan ke relay.
(42)
32
Vreg LM7805CT
IN OUT TIP32C
100ohm
100uF
330ohm 220V 50Hz 0Deg
TS_PQ4_12
2200uF 1uF
1N5392GP 1N5392GP
12 Volt
5 Volt
Gambar 3.2 Rangkaian Power Supplay (PSA)
Trafo CT merupakan trafo stepdown yang berfungsi untuk menurunkan tegangan dari 220 volt AC menjadi 12 volt AC. Kemudian 12 volt AC akan disearahkan dengan menggunakan dua buah dioda, selanjutnya 12 volt DC akan
diratakan oleh kapasitor 2200 μF. Regulator tegangan 5 volt (LM7805CT) digunakan agar keluaran yang dihasilkan tetap 5 volt walaupun terjadi perubahan pada tegangan masukannya. LED hanya sebagai indikator apabila PSA dinyalakan. Transistor PNP TIP 32 disini berfungsi untuk mensupplay arus apabila terjadi kekurangan arus pada rangkaian, sehingga regulator tegangan (LM7805CT) tidak akan panas ketika rangkaian butuh arus yang cukup besar. Tegangan 12 volt DC langsung diambil dari keluaran 2 buah dioda penyearah.
3.4
Rangkaian Mikrokontroler AT89S51
Rangkaian ini berfungsi sebagai pusat kendali dari seluruh sistem yang ada. Komponen utama dari rangkaian ini adalah IC mikrokontroler AT89S51. Pada IC inilah semua program diisikan, sehingga rangkaian dapat berjalan sesuai dengan yang dikehendaki. Rangkaian mikrokontroler ditunjukkan pada gambar berikut ini
(43)
33 5V VCC 5V VCC 10uF 2 1 30pF 30pF
XTAL 12 MHz
AT89S51 P0.3 (AD3) P0.0 (AD0) P0.1 (AD1) P0.2 (AD2) Vcc P1.0 P1.1 P1.2 P1.3 P1.4 P1.5 P1.6 P1.7 P0.4 (AD4) P0.5 (AD5) P0.6 (AD6) P0.7 (AD7) RST EA/VPP P3.0 (RXD) P3.1 (TXD) P3.2 (INT0) P3.3 (INT1) P3.4 (T0) ALE/PROG PSEN P2.7 (A15) P2.6 (A14) P2.5 (A13) P2.4 (A12) P2.3 (A11) P2.2 (A10) P2.1 (A9) P3.6 (WR) P3.5 (T1) P3.7 (RD) XTAL2 XTAL1
GND P2.0 (A8)
1 2 3 4 5 6 7 8 40 39 38 37 36 35 34 33 9 10 11 12 13 14 15 32 31 30 29 28 27 26 16 17 18 19 20 25 24 23 22 21
Gambar 3.4 Rangkaian mikrokontroler AT89S51
Mikrokontroler ini memiliki 32 port I/O, yaitu port 0, port 1, port 2 dan port 3. Pin 32 sampai 39 adalah Port 0 yang merupakan saluran bus I/O 8 bit. Pin 1 sampai 8 adalah port 1. Pin 21 sampai 28 adalah port 2. Dan Pin 10 sampai 17 adalah port 3 Pin 40 dihubungkan ke sumber tegangan 5 volt, dan pin 20 dihubungkan ke ground. Rangkaian mikrokontroler ini menggunakan komponen kristal 12 MHz sebagai sumber clocknya. Nilai kristal ini akan mempengaruhi kecepatan mikrokontroler dalam mengeksekusi suatu perintah tertentu.
Pada pin 9 dihubungkan dengan sebuah kapasitor 10 µF yang dihubungkan ke positif dan sebuah resistor 10 Kohm yang dihubungkan ke ground. Kedua komponen ini berfungsi agar program pada mikrokontroler dijalankan beberapa saat setelah power aktif. Lamanya waktu antara aktifnya power pada IC mikrokontroler dan aktifnya program adalah sebesar perkalian antara kapasitor dan resistor tersebut. Jika dihitung maka lama waktunya adalah :
(44)
34
Jadi 0,1 detik setelah power aktif pada IC kemudian program aktif.
3.5 Rangkaian Sensor Temperatur dan ADC (Analog to Digital Converter)
Sensor suhu LM 35 berfungsi untuk mengubah besaran fisik yang berupa suhu menjadi besaran elektris tegangan. Sensor ini memiliki parameter bahwa setiap kenaikan 1 ºC tegangan keluaran naik sebesar 10mV dengan batas maksimal keluaran sensor adalah 1,5 V pada suhu 150 º C.
Pada perancangan tugas akhir ini penulis menentukan keluaran ADC mencapai full scale pada saat suhu 100 ºC, sehingga saat suhu 100 ºC tegangan keluaran tranduser adalah (10 mV/ºC X 100 ºC) = 1 Volt
Dari pengukuran secara langsung saat suhu ruangan, keluaran LM 35 adalah 0,3V (300mV), tegangan ini diolah dengan menggunakan rangkaian pengkondisi sinyal agar sesuai dengan tahapan masukan ADC.
Untuk mengetahui temperatur dalam inkubator, digunakan LM 35 yang merupakan sensor temperatur. Output dari LM 35 ini dimasukkan sebagai input ke Op-Amp kemudian dimasukkan sebagi input ADC.
(45)
35
Rangkaiannya seperti dibawah ini:
Gambar 3.5 Rangkaian Sensor Temperatur dan ADC
Agar output yang dihasilkan oleh ADC bagus, maka tegangan refrensi ADC harus benar-benar stabil, karena perubahan tegangan refrensi pada ADC akan merubah output ADC tersebut. Oleh sebab itu pada rangkaian ADC di atas tegangan masukan 12 volt dimasukkan ke dalam IC regulator tegangan 9 volt ( 7809) agar keluarannya menjadi 9 volt, kemudian keluaran 9 volt ini dimasukkan kedalam regulator tegangan 5 volt (7805), sehingga keluarannya menjadi 5 volt. Tegangan 5 volt inilah yang menjadi tegangan refrensi ADC. Dengan demikian walaupun tegangan masukan turun setengahnya, yaitu dari 12 volt menjadi 6 volt, tegangan refrensi ADC tetap 5 volt.
Output dari LM 35 di inputkan ke Op Amp LM 358. Pada Op Amp ini tidak terjadi penguatan tegangan tetapi terjadi penguatan arus. Output dari Op Amp ini
3 2 4 8 1 LM358N 5 6 4 8 7 LM358N 5V VCC 5V VCC 50% 4.7k 330 1uF 100pF 330 LM35 + 330 D1 D0 D2 D3 D4 D5 D6 D7 VCC CLK R CS RD WR CLK IN INTR V IN (+) V IN (-) A GND V REF/2 D GND ADC0804 100pF 1.0k 100pF 100pF 10k Out Vreg LM7809CT IN OUT Gnd 1.0k 100uF 100pF Vreg LM7805CT IN OUT 100uF 100pF 330 4.7k
P0.0 (AT89S51) P2.0 (AT89S51) P2.1 (AT89S51) P2.2 (AT89S51) P2.3 (AT89S51) P2.4 (AT89S51) P2.5 (AT89S51) P2.6 (AT89S51) P2.7 (AT89S51) 4.7k 2SA733 5V VCC 12V VDD 330 10k 5V VCC
(46)
36
SEVEN_SEG_DISPLAY
A B C DE F G
In Cl o c k O ut
D6 D5 D4 D3 D2 D1 D0
4094 D7 2 3 10 14 13 12 11 7 6 5 4 SEVEN_SEG_DISPLAY
A B C DE F G
In Cl o c k O ut
D6 D5 D4 D3 D2 D1 D0
4094 D7 2 3 10 14 13 12 11 7 6 5 4 SEVEN_SEG_DISPLAY
A B C DE F G
In Cl o c k O ut
D6 D5 D4 D3 D2 D1 D0
4094 D7 2 3 10 14 13 12 11 7 6 5 4
P3.0 AT89S51
P3.1 AT89S51
merupakan input pada ADC, ini berarti setiap perubahan tegangan yang terjadi pada input ini maka akan terjadi perubahan pada output ADC.
Keluaran dari rangkaian sensor suhu dihubungkan ke rangkaian ADC untuk diubah datanya menjadi data biner agar dapat dikenali oleh mikrokontroler AT89S51.
Output dari ADC dihubungkan ke mikrokontroler, sehingga setiap perubahan output ADC yang disebabkan oleh perubahan inputnya (tegangan batere) akan diketahui oleh mikrokontoler.
3.6
Rangkaian Display Seven Segmen
Rangkaian display seven segmen ini berfungsi untuk menampilkan nilai dari hasil pengukuran intensitas. Rangkaian display seven segmen ditunjukkan pada gambar 3.6 berikut ini :
(47)
37
Display ini menggunakan 3 buah seven segmen common anoda yang dihubungkan ke IC 4094 yang merupakan IC serial to paralel. IC ini akan merubah 8 bit data serial yang masuk menjadi keluaran 8 bit data paralel. Rangkaian ini dihubungkan dengan P3.0 dan P3.1 AT89S51. P3.0 merupakan fasilitas khusus pengiriman data serial yang disediakan oleh mikrokontroler AT89S51. Sedangkan P3.1 merupakan sinyal clock untuk pengiriman data serial.
Dengan menghubungkan P3.0 dengan IC serial to paralel (IC 4094), maka data serial yang dikirim akan diubah menjadi data paralel. Kemudian IC 4094 ini dihubungkan dengan seven segmen agar data tersebut dapat ditampilkan dalam bentuk angka. Seven segmen yang digunakan adalah tipe common anoda (aktip low), ini berarti segmen akan menyala jika diberi data low (0) dan segmen akan mati jika diberi data high (1).
3.7 Rangkaian Relay
Relay ini berfungsi sebagai saklar elektronik yang dapat menghidupkan atau mematikan peralatan elektronik (dalam hal ini heater).
(48)
38
Rangkaian relay pengendali heater tampak seperti gambar di bawah ini:
Gambar 3.7 Rangkaian relay Pengendali heater 220 volt AC
Pada rangkaian di atas, untuk menghubungkan rangkaian dengan 220V AC digunakan relay. Relay merupakan salah satu komponen elektronik yang terdiri dari lempengan logam sebagai saklar dan kumparan yang berfungsi untuk menghasilkan medan magnet. Pada rangkaian ini digunakan relay 12 volt, ini berarti jika positif relay (kaki 1) dihubungkan ke sumber tegangan 12 volt dan negatif relay (kaki 2) dihubungkan ke ground, maka kumparan akan menghasilkan medan magnet, dimana medan magnet ini akan menarik logam yang mengakibatkan saklar (kaki 3) terhubung ke kaki 4. Dengan demikian, jika kita gunakan kaki 3 dan kaki 4 pada relay sebagai saklar untuk menghidupkan atau mematikan lampu maka kita dapat menghidupkan atau mematikan heater dengan cara mengaktifkan atau menonaktifkan relay.
(49)
39
Pada rangkaian ini untuk mengaktifkan atau menon-aktifkan relay digunakan transistor tipe NPN. Cara kerjanya sama dengan proses menghidupkan alarm yang telah dijelaskan sebelumnya. Dari gambar dapat dilihat bahwa negatif relay dihubungkan ke kolektor dari transistor NPN (2SC945), ini berarti jika transistor dalam keadaan aktif maka kolektor akan terhubung ke emitor dimana emitor langsung terhubung ke ground yang menyebabkan tegangan di kolektor menjadi 0 volt, keadaan ini akan mengakibatkan relay aktif. Sebaliknya jika transistor tidak aktif, maka kolektor tidak terhubung ke emiter, sehingga tegangan pada kolektor menjadi 12 volt, keadaan ini menyebabkan tidak aktif rangkaian.
Kumparan pada relay akan menghasilkan tegangan singkat yang besar ketika relay dinon-aktifkan dan ini dapat merusak transistor yang ada pada rangkaian ini.Untuk mencegah kerusakan pada transistor tersebut sebuah dioda harus dihubungkan ke relay tersebut. Dioda dihubungkan secara terbalik sehingga secara normal dioda ini tidak menghantarkan. Penghantaran hanya terjadi ketika relay dinonaktifkan, pada saat ini arus akan terus mengalir melalui kumparan dan arus ini akan dialirkan ke dioda. Tanpa adanya dioda arus sesaat yang besar itu akan mengalir ke transistor, yang mengakibatkan kerusakan pada transistor.
Rangkaian ini juga dilengkapi dengan LED indikator, dimana LED indikator ini akan menyala, jika relay aktif dan sebaliknya, LED indikator ini akan mati jika relay tidak aktip. LED indikator ini dikendalikan oleh sebuah transistor jenis PNP, dimana basis transistor ini mendapatkan input dari kolektor transistor C945. Transistor tipe PNP akan aktif jika mendapat tegangan 0 volt pada basisnya.
(50)
40
Pemanas ini akan diaktifkan oleh sebuah relay 5 Volt DC dimana elemen pemanas ini mempunyai tegangan 220 volt AC melalui sebuah transistor yang difungsikan sebagai switching. Pemanas diletakkan disamping inkubator, dan dibagian atas inkubator tersebut di beri lubang agar udara panas dapat dikeluarkan dengan cepat. Jika suhu yang di set telah tercapai maka, heater atau pemanas akan berhenti bekerja tetapi jika suhu yang di set belum tercapai maka heater/pemanas akan tetap bekerja sampai didapat suhu yang diinginkan. Heater/pemanas ini dikendalikan oleh mikrokontroler AT89S51 setelah mendapat data dari sensor suhu LM35. Heater/pemanas ini mulai bekerja mulai dari rentang suhu 27ºC sampai 100ºC. Pada Rangkaian ini juga dilengkapi dengan blower yang berfungsi untuk mengeluarkan atau mengisap udara panas dari dalam inkubator. Blower ini akan selalu hidup apapun keadaan dari inkubator tersebut.
3.8 Perancangan rangkaian keypad
Rangkaian Keypad berfungsi sebagai tombol untuk memasukan pin. Kemudian data yang diketikkan pada keypad akan diterima oleh mikrokontroler AT89S51 untuk kemudian diolah dan ditampilkan pada display seven segmen.
(51)
41
Rangkaian keypad ditunjukkan pada gambar berikut ini :
Tbl 1 Tbl 2 Tbl 3 Tbl A P2.0
P2.1 P2.2
P2.3
P2.4 P2.5 P2.6
P2.7
Gambar 3.8 Rangkaian keypad
Rangkaian keypad yang digunakan adalah rangkaian keypad yang telah ada dipasaran. Keypad ini terdiri dari 16 tombol yang hubungan antara tombol-tombolnya seperti tampak pada gambar di atas. Rangkaian ini dihubungkan ke port 2 mikrokontroler AT89S51.
(52)
BAB 4
PENGUJIAN ALAT DAN PROGRAM
4.1 Pengujian Rangkaian Power Supplay (PSA)
Pengujian pada bagian rangkaian power supplay ini dapat dilakukan dengan mengukur tegangan keluaran dari rangkaian ini dengan menggunakan voltmeter digital. Pada power supplay ini terdapat dua keluaran. Dari hasil pengujian diperoleh tegangan keluaran pertama sebesar + 5,1 volt. Tegangan ini dipergunakan untuk mensupplay tegangan ke seluruh rangkaian. Mikrokontroler AT89S51 dapat bekerja pada tegangan 4,0 sampai dengan 5,5 volt, sehingga tegangan 5,1 volt ini cukup untuk mensupplay tegangan ke mikrokontroler AT89S51. Sedangkan tegangan keluaran kedua sebesar 11,9 volt. Tegangan ini digunakan untuk mensupplay tegangan ke relay, dimana relay dapat aktif pada tegangan 9 volt sampai 15 volt, sehingga tegangan ini sudah memenuhi syarat untuk mengaktifkan relay.
4.2 Pengujian Rangkaian Mikrokontroller AT89S51
Untuk mengetahui apakah rangkaian mikrokontroler AT89S51 telah bekerja dengan baik, maka dilakukan pengujian.Pengujian bagian ini dilakukan dengan memberikan program sederhana pada mikrokontroler AT89S51. Programnya adalah sebagai berikut:
(53)
43
Loop:
Setb P0.0 Acall tunda Clr P0.0 Acall tunda Sjmp Loop Tunda:
Mov r7,#255 Tnd: Mov r6,#255
Djnz r6,$ Djnz r7,tnd Ret
Program di atas bertujuan untuk menghidupkan LED yang terhubung ke P0.0 selama ± 0,13 detik kemudian mematikannya selama ± 0,13 detik secara terus menerus. Perintah Setb P0.0 akan menjadikan P0.0 berlogika high yang menyebabkan LED mati. Acall tunda akan menyebabkan LED ini mati selama beberapa saat. Perintah Clr P0.0 akan menjadikan P0.0 berlogika low yang menyebabkan LED akan nyala. Perintah Acall tunda akan menyebabkan LED ini nyala selama beberapa saat. Perintah Sjmp Loop akan menjadikan program tersebut berulang, sehingga akan tampak LED tersebut tampak berkedip.
Lamanya waktu tunda dapat dihitung dengan perhitungan sebagai berikut :
Kristal yang digunakan adalah kristal 12 MHz, sehingga 1 siklus mesin menghasilkan 12 clock (denyut pulsa). Dengan demikian lamanya waktu yang dibutuhkan 1 siklus mesin adalah:
(54)
44
waktu = 12 1
12MHz = mikrodetik.
Mnemonic Siklus Waktu Eksekusi
MOV Rn,#data 2 2 x 1 μd = 2 μd
DJNZ 2 2 x 1 μd = 2 μd
RET 1 1 x 1 μd = 1 μd
Tunda:
mov r7,#255 2 Tnd: mov r6,#255 2
djnz r6,$ 255 x 2 = 510 x 255 = 131.070 = 131.073
djnz r7,loop3 2 ret 1
Jadi waktu yang dibutuhkan untuk mengerjakan program di atas adalah 131.073 μdetik atau 0,131073 detik dan dapat dibulatkan menjadi 0,13 detik.
Jika program tersebut di isikan ke mikrokontroller AT89S51, kemudian mikrokontroler dapat berjalan sesuai dengan program yang di isikan, maka rangkaian minimum mikrokontroler AT89S51 telah bekerja dengan baik.
(55)
45
4.3 Pengujian Rangkaian Display Seven Segmen
Pengujian pada rangkaian ini dapat dilakukan dengan menghubungkan rangkaian ini dengan rangkaian mikrokontroler, kemudian memberikan data tertentu pada port serial dari mikrokontroler. Seven segmen yang digunakan adalah common anoda, dimana segmen akan menyala jika diberi logika 0 (low) dan sebaliknya segmen akan mati jika diberi logika 1(high).
Dari hasil pengujian diperoleh data yang harus dikirimkan ke port serial untuk menampilkan angka desimal adalah sebagai berikut:
Angka Data yang dikirim
1 0EDH
2 19H
3 89H
4 0C5H
5 83H
6 03H
7 0E9H
8 01h
9 81H
0 21H
Tabel 4.3 Data yang dikirim ke mikrokontroler oleh keypad
Program yang diisikan pada mikrokontroler untuk menampilkan nilai-nilai tersebut adalah sebagai berikut:
(56)
46
bil0 equ 21h bil1 equ 0edh bil2 equ 19h bil3 equ 89h bil4 equ 0c5h bil5 equ 83h bil6 equ 03h bil7 equ 0e9h bil8 equ 01h bil9 equ 81h Loop:
mov sbuf,#bil0 Jnb ti,$
Clr ti sjmp loop
Program di atas akan menampilkan angka 0 pada semua seven segmen. Sedangkan untuk menampilkan 3 digit angka yang berbeda pada seven segmen adalah dengan mengirimkan ke 3 data angka yang akan ditampilkan pada seven segmen. Programnya adalah sebagai berikut :
Loop:
mov sbuf,#bil1 Jnb ti,$
Clr ti
mov sbuf,#bil2 Jnb ti,$
Clr ti
(57)
47
Jnb ti,$ Clr ti sjmp loop
Program di atas akan menampilkan angka 1 pada seven segmen ketiga, angka 2 pada seven segmen kedua dan angka 3 pada seven segmen pertama.
4.4
Pengujian Rangkaian Relay
Pengujian rangkaian relay dapat dilakukan dengan memberikan tegangan 5 volt dan 0 volt pada basis transistor C945. Transistor C945 merupakan transistor jenis NPN, transistor jenis ini akan aktif jika pada basis diberi tegangan > 0,7 volt dan tidak aktif jika pada basis diberi tegangan < 0,7 volt. Aktifnya transistor akan mengaktifkan relay. Pada alat ini relay digunakan untuk memutuskan hubungan heater ke tegangan PLN, dimana hubungan yang digunakan adalah normally open (NO), dengan demikian jika relay aktif maka hubungan heater ke tegangan PLN akan terhubung, sehingga heater hidup, sebaliknya jika relay tidak aktif, maka heater dengan tegangan PLN akan terputus, sehingga heater mati.
Pengujian dilakukan dengan memberikan tegangan 5 volt pada basis transistor, jika relay aktif dan hubungan heater dengan tegangan PLN terhubung, sehingga heater hidup, maka rangkaian ini telah berfungsi dengan baik.
Pengujian selanjutnya dilakukan dengan menghubungkan input rangkaian ini ke mikrokontroler pada P2.7 kemudian memberikan program sederhana pada mikrokontroler AT89S51. Program yang diberikan adalah sebagai berikut:
(58)
48
Setb P2.7
. . .
Perintah di atas akan memberikan logika high pada P2.7, sehingga P2.7 akan mendapatkan tegangan 5 volt. Tegangan 5 volt ini akan mengaktifkan transistor C945, sehingga relay juga menjadi aktif dan hubungan heater dengan tegangan PLN terhubung, sehingga heater hidup. Berikutnya memberikan program sederhana untuk menonaktifkan relay. Programnya sebagai berikut:
Clr P2.7
. . .
Perintah di atas akan memberikan logika low pada P2.7, sehingga P2.7 akan mendapatkan tegangan 0 volt. Tegangan 0 volt ini akan menonaktifkan transistor C945, sehingga relay juga menjadi tidak aktif dan hubungan heater dengan tegangan PLN terputus, sehingga heater mati.
4.5
Pengujian Rangkaian Keypad
Unit masukan berfungsi untuk memberikan nilai bagi parameter-parameter pengontrolan yang digunakan seperti set point, penguatan, serta mode operasi. Sebagai unit masukan digunakan sebuah keypad matriks 4x4.
Pengujian rangkaian tombol ini dapat dilakukan dengan menghubungkan rangkaian ini dengan mikrokontroler AT89S51, kemudian memberikan program sederhana untuk mengetahui baik atau tidaknya rangkaian ini. Rangkaian dihubungkan ke port 1. Untuk
(59)
49
Mengecek penekanan pada 4 tombol yang paling atas, maka data awal yang dimasukkan ke port 1 adalah FEH. Dengan demikian maka pin P1.0 akan mendapat logika low (0), dan yang lainnya mendapat logika high (1), seperti berikut,
Tbl 1 Tbl 2 Tbl 3 Tbl 4 P1.0 0
P1.1 1 P1.2 1
P1.3 1
P1.4 1 P1.5 1 P2.6 1
P1.7 1
Jika terjadi penekanan pada Tbl 1, maka P1.0 akan terhubung ke P1.4 yang menyebabkan P1.4 juga akan mendapatkan logika low (0). Seperti berikut:
P1.7 P1.6 P1.5 P1.4 P1.3 P1.2 P1.1 P1.0
(60)
50
Data pada port 1 akan berubah menjadi EEH. Data inilah sebagai indikasi adanya penekanan pada tombol 1.
Jika terjadi penekanan pada Tbl 2, maka P1.0 akan terhubung ke P1.5 yang menyebabkan P1.5 juga akan mendapatkan logika low (0). Seperti berikut,
P1.7 P1.6 P1.5 P1.4 P1.3 P1.2 P1.1 P1.0
1 1 0 1 1 1 1 0
Data pada port 2 akan berubah menjadi DEH. Data inilah sebagai indikasi adanya penekanan pada tombol 2. Demikian seterusnya untuk tombol-tombil yang lain.
Program yang diisikan pada mikrokontroler untuk menguji rangkaian keypad adalah sebagai berikut:
Tombol1:
Mov P1,#0FEH Mov a,P1
Cjne a,#0EEH,Tombol2 Setb P0.0
Sjmp Tombol1 Tombol2:
Cjne a,#0DEH,Tombol1 Clr P0.0
(61)
51
Program diatas akan menunggu penekanan pada tombol 1 dan tombol 2, jika tombol 1 ditekan, maka program akan menyalakan LED yang ada pada P0.0. Jika tombol 2 ditekan, maka program akan mematikan LED yang ada pada P0.0.
Jika rangkaian telah berjalan sesuai program yang diberikan, maka rangkaian telah berfungsi dengan baik
.
4.6 Pengujian Rangkaian ADC
Pengujian pada bagian rangkaian ADC ini dapat dilakukan dengan menghubungkan rangkaian ADC ini dengan rangkaian mikrokontroler. Selanjutnya rangkaian mikrokontroler dihubungkan dengan rangkaian display seven segmen. Mikrokontroler diisi dengan program untuk membaca nilai yang ada pada rangkaian ADC, kemudian hasil pembacaannya ditampilkan pada display seven segmen. Programnya adalah sebagai berikut :
mov a,p0 mov b,#100 div ab mov 70h,a mov a,b mov b,#10 div ab mov 71h,a mov 72h,b
(62)
52
Dengan program di atas, maka akan tampil nilai temperatur yang dideteksi oleh sensor temperatur. Dengan demikian maka rangkaian ini telah berfungsi dengan baik. Dari hasil pengujian didapatkan data sebagai berikut:
Suhu terukur Output LM35 Output ADC Tampilan Display
27 derajat 28 derajat 29 derajat 30 derajat 31 derajat 32 derajat 33 derajat 270 miliVolt 280 miliVolt 290 miliVolt 300 miliVolt 310 miliVolt 320 miliVolt 330 miliVolt 00011011 00011100 00011101 00011110 00011111 00100000 00110001 027 028 029 030 031 032 033
Tabel 4.6 Tabel Pengujian
4.8 Program Inkubator Otomatis
;=========================================================;
; program inkubator otomatic ;
; author : lusi FIN ;
;=========================================================;
bil0 equ 21h bil1 equ 0edh bil2 equ 19h bil3 equ 89h bil4 equ 0c5h
(63)
53
bil5 equ 83h bil6 equ 3h bil7 equ 0e9h bil8 equ 01h bil9 equ 81h Kosong equ 0ffh Saklar Bit P2.7 intrupt bit p3.7 setb Saklar clr intrupt acall tadc setb intrupt nop Cek_Suhu: jb intrupt,$ acall tadc mov a,p0 mov b,#3 subb a,b mov 68h,a mov b,#100 div ab mov 70h,a mov a,b mov b,#10 div ab mov 71h,a mov 72h,b mov r0,70h acall transfer mov 73h,r1 mov r0,71h acall transfer mov 74h,r1 mov r0,72h acall transfer mov 75h,r1 acall kirim Tbl_Bintang: mov p1,#0efh mov a,p1
cjne a,#0e7h,Cek_Suhu ; tombol * setting nilai Recek_Bintang:
(64)
54 mov p1,#0efh mov a,p1 cjne a,#0e7h,Recek_Bintang Utama: setb Saklar acall delay mov sbuf,#Kosong jnb ti,$ clr ti mov sbuf,#Kosong jnb ti,$ clr ti mov sbuf,#Kosong jnb ti,$ clr ti tbl_Satu: mov p1,#7fh mov a,p1 cjne a,#77h,Tbl_Nol mov 73h,#bil1 Mov 70h,#1 acall tampil Recek_tbl_Satu: mov a,p1 cjne a,#77h,Recek_tbl_Satu ljmp Tbl_Satu1 Tbl_Nol: mov p1,#0efh mov a,p1 cjne a,#0ebh,Tbl_Satu mov 73h,#bil0 Mov 70h,#0 acall tampil Recek_tbl_Nol: mov p1,#0efh mov a,p1 cjne a,#0ebh,Recek_tbl_Nol Ljmp Tbl_Satu1 tampil: mov sbuf,73h jnb ti,$
(65)
55 clr ti mov sbuf,#Kosong jnb ti,$ clr ti mov sbuf,#Kosong jnb ti,$ clr ti ret tbl_Satu1: acall ulang acall delay mov p1,#7fh mov a,p1 cjne a,#77h,tbl_Dua1 mov 74h,#bil1 Mov 71h,#1 acall tampil1 Recek_tbl_Satu1: mov a,p1 cjne a,#77h,Recek_tbl_Satu1 ljmp Tbl_Satu2 tbl_Dua1: cjne a,#7bh,tbl_Tiga1 mov 74h,#bil2 Mov 71h,#2 acall tampil1 Recek_tbl_Dua1: mov a,p1 cjne a,#7bh,Recek_tbl_Dua1 ljmp Tbl_Satu2 tbl_Tiga1: cjne a,#7dh,Tbl_Empat1 mov 74h,#bil3 Mov 71h,#3 acall tampil1 Recek_tbl_Tiga1: mov a,p1 cjne a,#7dh,Recek_tbl_Tiga1 ljmp Tbl_Satu2 Tbl_Empat1: mov p1,#0bfh mov a,p1
(66)
56 cjne a,#0b7h,Tbl_Lima1 mov 74h,#bil4 Mov 71h,#4 acall tampil1 Recek_tbl_Empat1: mov p1,#0bfh mov a,p1 cjne a,#0b7h,Recek_tbl_Empat1 Ljmp Tbl_Satu2 Tbl_Lima1: cjne a,#0bbh,Tbl_Enam1 mov 74h,#bil5 Mov 71h,#5 acall tampil1 Recek_tbl_Lima1: mov a,p1 cjne a,#0bbh,Recek_tbl_Lima1 ljmp Tbl_Satu2 Tbl_Enam1: cjne a,#0bdh,Tbl_Tujuh1 mov 74h,#bil6 Mov 71h,#6 acall tampil1 Recek_tbl_Enam1: mov a,p1 cjne a,#0bdh,Recek_tbl_Enam1 ljmp Tbl_Satu2 Tbl_Tujuh1: mov p1,#0dfh mov a,p1 cjne a,#0d7h,Tbl_Delapan1 mov 74h,#bil7 Mov 71h,#7 acall tampil1 Recek_tbl_Tujuh1: mov p1,#0dfh mov a,p1 cjne a,#0d7h,Recek_tbl_Tujuh1 ljmp Tbl_Satu2 Tbl_Delapan1: cjne a,#0dbh,Tbl_Sembilan1 mov 74h,#bil8
(67)
57 Mov 71h,#8 acall tampil1 Recek_tbl_Delapan1: mov a,p1 cjne a,#0dbh,Recek_tbl_Delapan1 ljmp Tbl_Satu2 Tbl_Sembilan1: cjne a,#0ddh,Tbl_nol1 mov 74h,#bil9 Mov 71h,#9 acall tampil1 Recek_tbl_Sembilan1: mov a,p1 cjne a,#0ddh,Recek_tbl_Sembilan1 ljmp Tbl_Satu2 Tbl_Nol1: mov p1,#0efh mov a,p1 cjne a,#0ebh,Balik_Tbl_Satu1 mov 74h,#bil0 Mov 71h,#0 acall tampil1 Recek_tbl_Nol1: mov p1,#0efh mov a,p1 cjne a,#0ebh,Recek_tbl_Nol1 Ljmp Tbl_Satu2 Balik_Tbl_Satu1: Ljmp Tbl_Satu1 tampil1: mov sbuf,74h jnb ti,$ clr ti mov sbuf,73h jnb ti,$ clr ti mov sbuf,#Kosong jnb ti,$ clr ti ret Tbl_Satu2:
(68)
58 acall ulang acall delay mov p1,#7fh mov a,p1 cjne a,#77h,tbl_Dua2 mov 75h,#bil1 Mov 72h,#1 acall tampil2 Recek_tbl_Satu2: mov a,p1 cjne a,#77h,Recek_tbl_Satu2 ljmp Tbl_Satu3 tbl_Dua2: cjne a,#7bh,tbl_Tiga2 mov 75h,#bil2 Mov 72h,#2 acall tampil2 Recek_tbl_Dua2: mov a,p1 cjne a,#7bh,Recek_tbl_Dua2 ljmp Tbl_Satu3 tbl_Tiga2: cjne a,#7dh,Tbl_Empat2 mov 75h,#bil3 Mov 72h,#3 acall tampil2 Recek_tbl_Tiga2: mov a,p1 cjne a,#7dh,Recek_tbl_Tiga2 ljmp Tbl_Satu3 Tbl_Empat2: mov p1,#0bfh mov a,p1 cjne a,#0b7h,Tbl_Lima2 mov 75h,#bil4 Mov 72h,#4 acall tampil2 Recek_tbl_Empat2: mov p1,#0bfh mov a,p1 cjne a,#0b7h,Recek_tbl_Empat2 Ljmp Tbl_Satu3
(69)
59 Tbl_Lima2: cjne a,#0bbh,Tbl_Enam2 mov 75h,#bil5 Mov 72h,#5 acall tampil2 Recek_tbl_Lima2: mov a,p1 cjne a,#0bbh,Recek_tbl_Lima2 ljmp Tbl_Satu3 Tbl_Enam2: cjne a,#0bdh,Tbl_Tujuh2 mov 75h,#bil6 Mov 72h,#6 acall tampil2 Recek_tbl_Enam2: mov a,p1 cjne a,#0bdh,Recek_tbl_Enam2 ljmp Tbl_Satu3 Tbl_Tujuh2: mov p1,#0dfh mov a,p1 cjne a,#0d7h,Tbl_Delapan2 mov 75h,#bil7 Mov 72h,#7 acall tampil2 Recek_tbl_Tujuh2: mov p1,#0dfh mov a,p1 cjne a,#0d7h,Recek_tbl_Tujuh2 ljmp Tbl_Satu3 Tbl_Delapan2: cjne a,#0dbh,Tbl_Sembilan2 mov 75h,#bil8 Mov 72h,#8 acall tampil2 Recek_tbl_Delapan2: mov a,p1 cjne a,#0dbh,Recek_tbl_Delapan2 ljmp Tbl_Satu3 Tbl_Sembilan2: cjne a,#0ddh,Tbl_nol2 mov 75h,#bil9
(70)
60 Mov 72h,#9 acall tampil2 Recek_tbl_Sembilan2: mov a,p1 cjne a,#0ddh,Recek_tbl_Sembilan2 ljmp Tbl_Satu3 Tbl_Nol2: mov p1,#0efh mov a,p1 cjne a,#0ebh,Balik_Tbl_Satu2 mov 75h,#bil0 Mov 72h,#0 acall tampil2 Recek_tbl_Nol2: mov p1,#0efh mov a,p1 cjne a,#0ebh,Recek_tbl_Nol2 Ljmp Tbl_Satu3 Balik_Tbl_Satu2: Ljmp Tbl_Satu2 tampil2: mov sbuf,75h jnb ti,$ clr ti mov sbuf,74h jnb ti,$ clr ti mov sbuf,73h jnb ti,$ clr ti ret ulang: mov p1,#0efh mov a,p1
cjne a,#0eeh,reset ; tombol D reset Ljmp Utama
Tbl_Satu3: acall ulang mov p1,#7fh mov a,p1
cjne a,#7eh,Tbl_Satu3 ; tombol A enter clr Saklar
(71)
61
Simpan_Data: mov a,70h mov b,#100 mul ab
mov 60h,a ; nilai ratusan mov a,71h
mov b,#10 mul ab
mov 61h,a ; nilai puluhan mov a,72h
mov 62h,a ; Nilai satuan mov a,60h mov b,61h add a,b mov b,62h add a,b clr intrupt acall tadc setb intrupt nop Nilai_Suhu: jb intrupt,$ acall tadc mov a,p2 mov b,#3 subb a,b
mov 68h,a ; hasil pembacaan ADC mov b,#100 div ab mov 70h,a mov a,b mov b,#10 div ab mov 71h,a mov 72h,b mov r0,70h acall transfer mov 73h,r1 mov r0,71h acall transfer mov 74h,r1 mov r0,72h acall transfer
(72)
62 mov 75h,r1 acall kirim Tbl_Call: mov p1,#0dfh mov a,p1
cjne a,#0deh,No_Call ; Tombol C tampilkan nilai pembanding Recek_tbl_Call: mov p1,#0dfh mov a,p1 cjne a,#0deh,Recek_tbl_Call Clr saklar ljmp Pembanding No_Call: mov a,68h cjne a,63h,cek_carry Clr Saklar Sjmp Nilai_Suhu Cek_Carry: mov a,psw anl a,#80h cjne a,#80h,Cek_Carry Setb Saklar Sjmp Nilai_Suhu Pembanding:
mov a,63h ; hasil pembanding mov b,#100 div ab mov 70h,a mov a,b mov b,#10 div ab mov 71h,a mov 72h,b mov r0,70h acall transfer mov 73h,r1 mov r0,71h acall transfer mov 74h,r1 mov r0,72h acall transfer mov 75h,r1
(73)
63 Nilai_Pembanding: acall kirim Tbl_Back: mov p1,#0bfh mov a,p1
cjne a,#0beh,Setting_Ulang ; Tombol B balik ke cek suhu Recek_tbl_Back: mov p1,#0bfh mov a,p1 cjne a,#0beh,Recek_tbl_Back Ljmp Nilai_Suhu Setting_Ulang: mov p1,#0efh mov a,p1
cjne a,#0edh,Nilai_Pembanding ; Tombol # setting ulang Recek_Setting_Ulang: mov p1,#0efh mov a,p1 cjne a,#0edh,Recek_Setting_Ulang Ljmp Utama transfer: cjne r0,#0h,satu mov r1,#bil0 ret satu: cjne r0,#01h,dua mov r1,#bil1 ret dua: cjne r0,#02h,tiga mov r1,#bil2 ret tiga: cjne r0,#03h,empat mov r1,#bil3 ret empat: cjne r0,#04h,lima mov r1,#bil4 ret lima:
(74)
64 cjne r0,#05h,enam mov r1,#bil5 ret enam: cjne r0,#06h,tujuh mov r1,#bil6 ret tujuh: cjne r0,#07h,delapan mov r1,#bil7 ret delapan: cjne r0,#08h,sembilan mov r1,#bil8 ret sembilan: cjne r0,#09h,transfer mov r1,#bil9 ret tampil_Nilai: mov sbuf,75h jnb ti,$ clr ti mov sbuf,74h jnb ti,$ clr ti mov sbuf,73h jnb ti,$ clr ti acall Tunda ret delay: mov r7,#5 dly: mov r6,#255 dl: mov r5,#255 djnz r5,$ djnz r6,dl djnz r7,dly ret
(75)
65
kirim:
mov sbuf,75h jnb ti,$ clr ti
mov sbuf,74h jnb ti,$ clr ti
mov sbuf,73h jnb ti,$ clr ti acall tunda ret
tunda:
mov r7,#255 tnd: mov r6,#255 djnz r6,$ djnz r7,tnd ret
tadc:
mov r7,#80h adc: mov r6,#40h djnz r6,$ djnz r7,adc ret
(76)
BAB 5
KESIMPULAN DAN SARAN
5.1 Kesimpulan
Dalam laporan tugas akhir ini “PROTOTIPE KONTROL TEMPERATUR PADA SEBUAH INKUBATOR YANG DILENGKAPI DENGAN BLOWER” ini penulis mengambil beberapa kesimpulan antara lain sebagai berikut:
a. Untuk mengetahui temperatur inkubator digunakan LM 35 sebagai sensor
temperatur.
b. Pengguna inkubator ini dapat merubah temperatur inkubator sesuai dengan
keinginan pengguna dengan menggunakan keypad 4X4 sebagai masukannya.
c. Pada inkubator ini pengguna hanya cukup mensetting temperatur yang diinginkan
pada settingan inkubator, sehingga inkubator itu sendiri yang mengontrol temperatur dengan settingan yang dimasukkan.
d. Penulis menggunakan sensor LM 35 karena selain harganya murah, linearitasnya
cukup bagus serta tidak membutuhkan kalibrasi eksternal pada temperatur ruangan.
(77)
67
e. Sensor LM35 memiliki parameter bahwa setiap kenaikan 1 ºC tegangan
keluarannya naik sebesar 10 mV dengan batas maksimal keluaran sensor adalah 1,5 Volt pada suhu 150 ºC.
5.2 Saran
Adapun beberapa saran yang ingin disampaikan penulis adalah sebagai berikut:
a. Hendaknya alat ini dikembangkan menjadi sebuah inkubator dengan mengunakan
tampilan LCD
b. Membuat sebuah inkubator untuk mengontrol suhu dan juga kelembapan agar
temperatur dan kelembapan di dalam inkubator tersebut dapat terjaga.
c. Membuat suatu sistem kendali temperatur berbasis fuzzy logic pada sebuah
(1)
63 Nilai_Pembanding: acall kirim Tbl_Back: mov p1,#0bfh mov a,p1
cjne a,#0beh,Setting_Ulang ; Tombol B balik ke cek suhu Recek_tbl_Back: mov p1,#0bfh mov a,p1 cjne a,#0beh,Recek_tbl_Back Ljmp Nilai_Suhu Setting_Ulang: mov p1,#0efh mov a,p1
cjne a,#0edh,Nilai_Pembanding ; Tombol # setting ulang Recek_Setting_Ulang: mov p1,#0efh mov a,p1 cjne a,#0edh,Recek_Setting_Ulang Ljmp Utama transfer: cjne r0,#0h,satu mov r1,#bil0 ret satu: cjne r0,#01h,dua mov r1,#bil1 ret dua: cjne r0,#02h,tiga mov r1,#bil2 ret tiga: cjne r0,#03h,empat mov r1,#bil3 ret empat: cjne r0,#04h,lima mov r1,#bil4 ret
(2)
64 cjne r0,#05h,enam mov r1,#bil5 ret enam: cjne r0,#06h,tujuh mov r1,#bil6 ret tujuh: cjne r0,#07h,delapan mov r1,#bil7 ret delapan: cjne r0,#08h,sembilan mov r1,#bil8 ret sembilan: cjne r0,#09h,transfer mov r1,#bil9 ret tampil_Nilai: mov sbuf,75h jnb ti,$ clr ti mov sbuf,74h jnb ti,$ clr ti mov sbuf,73h jnb ti,$ clr ti acall Tunda ret delay: mov r7,#5 dly: mov r6,#255 dl: mov r5,#255 djnz r5,$ djnz r6,dl djnz r7,dly ret
(3)
65
kirim:
mov sbuf,75h jnb ti,$ clr ti
mov sbuf,74h jnb ti,$ clr ti
mov sbuf,73h jnb ti,$ clr ti acall tunda ret
tunda:
mov r7,#255 tnd: mov r6,#255 djnz r6,$ djnz r7,tnd ret
tadc:
mov r7,#80h adc: mov r6,#40h djnz r6,$ djnz r7,adc ret
(4)
BAB 5
KESIMPULAN DAN SARAN
5.1 Kesimpulan
Dalam laporan tugas akhir ini “PROTOTIPE KONTROL TEMPERATUR PADA SEBUAH INKUBATOR YANG DILENGKAPI DENGAN BLOWER” ini penulis mengambil beberapa kesimpulan antara lain sebagai berikut:
a. Untuk mengetahui temperatur inkubator digunakan LM 35 sebagai sensor temperatur.
b. Pengguna inkubator ini dapat merubah temperatur inkubator sesuai dengan keinginan pengguna dengan menggunakan keypad 4X4 sebagai masukannya. c. Pada inkubator ini pengguna hanya cukup mensetting temperatur yang diinginkan
pada settingan inkubator, sehingga inkubator itu sendiri yang mengontrol temperatur dengan settingan yang dimasukkan.
d. Penulis menggunakan sensor LM 35 karena selain harganya murah, linearitasnya cukup bagus serta tidak membutuhkan kalibrasi eksternal pada temperatur ruangan.
(5)
67
e. Sensor LM35 memiliki parameter bahwa setiap kenaikan 1 ºC tegangan keluarannya naik sebesar 10 mV dengan batas maksimal keluaran sensor adalah 1,5 Volt pada suhu 150 ºC.
5.2 Saran
Adapun beberapa saran yang ingin disampaikan penulis adalah sebagai berikut:
a. Hendaknya alat ini dikembangkan menjadi sebuah inkubator dengan mengunakan tampilan LCD
b. Membuat sebuah inkubator untuk mengontrol suhu dan juga kelembapan agar temperatur dan kelembapan di dalam inkubator tersebut dapat terjaga.
c. Membuat suatu sistem kendali temperatur berbasis fuzzy logic pada sebuah inkubator
(6)
68
DAFTAR PUSTAKA
Bishop,Owen.2004.Dasar-Dasar Elektronika.Jakarta: Erlangga.
Budiharto Widodo.Perancangan Sistem dan Aplikasi Mikrokontroler.Jakarta:PT Elex Media Komputindo Kelompok Gramedia
Eko,A.Putra. 2002. Belajar MikrokontrolerAT89C51/52/55. Edisi Kedua.Cetakan Pertama.Yogyakarta:Gava Media
Nalwan,Paulus Andy.2003.Teknik Antar Muka dan Program AT89C51. Jakarta:
PT.Elex Media Komputindo
Petruzella D. Frank.2001.Elektronika Industri.Yogyakarta:ANDY.
Setiawan,S.2006.Mudah dan Menyenangkan Belajar Mikrokontroler Yogyakarta: ANDY.
Tirtamihardja H.Samuel.1996.Elektronika Digital.JilidI.EdisiI. Yogyakarta:Andy Tooley,M.2006.Rangkaian Elektronik Prinsip dan Aplikasi.EdisiI.Jakarta:Erlangga