Sistem Pengontrolan Temperatur Air Pada Tangki Air Panas (Hot Water Tank)

(1)

SISTEM PENGONTROLAN TEMPERATUR AIR PADA TANGKI AIR PANAS (HOT WATER TANK)

TUGAS AKHIR

NANDA DWI PRASEPTY 052408065

PROGRAM STUDI DIPLOMA III FISIKA INSTRUMENTASI DEPARTEMEN FISIKA

FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM UNIVERSITAS SUMATERA UTARA

MEDAN 2008


(2)

SISTEM PENGONTROLAN TEMPERATUR AIR PADA TANGKI AIR PANAS (HOT WATER TANK)

TUGAS AKHIR

Diajukan untuk melengkapi tugas dan memenuhi syarat memperoleh Ahli Madya

NANDA DWI PRASEPTY 052408065

PROGRAM STUDI DIPLOMA III FISIKA INSTRUMENTASI DEPARTEMEN FISIKA

FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM UNIVERSITAS SUMATERA UTARA

MEDAN 2008


(3)

PERSETUJUAN

Judul : SISTEM PENGONTROLAN TEMPERATUR AIR

PADA TANGKI AIR PANAS (HOT WATER TANK) Kategori : TUGAS AKHIR

Nama : NANDA DWI PRASEPTY

Nomor Induk Mahasiswa : 052408065

Program Studi : DIPLOMA III FISIKA INSTRUMENTASI Departemen : FISIKA

Fakultas : MATEMATIKA DAN ILMU PENGETAHUAN ALAM (FMIPA) UNIVERSITAS SUMATERA UTARA

Diluluskan di Medan, Juli 2008

Diketahui/Disetujui oleh

Ketua Program Studi D-III FMIPA USU Pembimbing,

Drs.Syahrul Humaidi,M.Sc Prof.Dr.Muhammad Zarlis,M.Sc


(4)

PERNYATAAN

SISTEM PENGONTROLAN TEMPERATUR AIR PADA TANGKI AIR PANAS (HOT WATER TANK)

TUGAS AKHIR

Saya mengakui bahwa tugas akhir ini adalah hasil kerja saya sendiri, kecuali beberapa kutipan dan ringkasan yang masing-masing disebutkan sumbernya.

Medan, Juli 2008

NANDA DWI PRASEPTY 052408065


(5)

PENGHARGAAN

Puji syukur kepada Tuhan Yang Maha Esa atas rahmat dan karunia-Nya penulis dapat menyelesaikan Tugas Akhir ini. Tugas Akhir ini merupakan salah satu persyaratan untuk menyelesaikan Program Studi Fisika Intrumentasi di Universitas Sumatera Utara pada jenjang Ahli Madya atau Diploma 3 (D-3).

Tugas Akhir ini berjudul “SISTEM PENGONTROLAN TEMPERATUR AIR PADA TANGKI AIR PANAS (HOT WATER TANK)”. Meskipun dalam proses penulisan banyak menemui hambatan dan rintangan namun dengan usaha maksimal yang dilakukan penulis serta bantuan dari berbagai pihak, akhirnya Tugas Akhir ini dapat selesai. Atas bantuan dan motivasi yang diberikan, maka penulis mengucapkan banyak terima kasih kepada : Bapak DR. Edi Marlianto, M.Sc selaku Dekan FMIPA USU, Bapak Drs. Syahrul Humaidi M.Sc selaku Ketua Program Studi D-III Fisika Instrumentasi, Bapak DR. Marhaposan Situmorang selaku Ketua Departemen Fisika, Bapak Prof.Dr.Muhammad Zarlis,M.Sc selaku pembimbing Tugas Akhir ,dan seluruh Dosen yang telah memberikan ilmu pengetahuan selama perkuliahan, yang membuka cakrawala berfikir serta pegawai tata usaha yang ikut mensukseskan proses belajar mengajar. Kepada kedua orang tua dan seluruh keluarga penyusun yang telah memberikan bantuan baik moril maupun materil selama penyelesaian Tugas Akhir ini. Terima kasih kepada Yudhi Andrian yang telah memberikan bantuan dan dukungan kepada penulis dalam menyelesaikan Tugas Akhir


(6)

ini. Khususnya kepada Eddy Rahman Caniago yang telah memberikan inspirasi dan semangat dalam menyelesaikan Tugas Akhir ini. Untuk rekan – rekan Program Studi D-3 Fisika Instrumentasi stambuk 2005 , Risa Yunita, Nur Ainun NST dan Hani Tri Arianti, yang telah memberikan masukan dan dukungan kepada penulis dalam menyelesaikan Tugas Akhir ini.

Penulis menyadari bahwa penulisan Tugas Akhir tidak luput dari kekurangan – kekurangan karena keterbatasan pengetahuan dan informasi yang penulis miliki. Dengan demikian, penulis sangat mengharapkan saran dan kritik yang membangun sehingga laporan ini baik adanya. Semoga Tugas Akhir ini berguna bagi para pembaca pada umumnya.


(7)

ABSTRAK

Teknologi yang semakin maju dan terus berkembang membawa kepada suatu perubahan dan tuntutan dalam segala hal, yang tentunya membawa kepada suatu arah perubahan yang lebih baik dan memudahkan dalam manusia beraktivitas.

Seperti yang telah kita ketahui bahwa air sangat di butuhkan dalam berbagai kebutuhan hidup. Khususnya dalam perhotelan, dibutuhkan fasilitas yang cepat, tepat dan baik untuk menunjang kenyamanan bagi para penginap salah satunya yaitu dibutuhkanlah alat yang dapat memberikan fasilitas air panas secara otomatis dengan jumlah yang cukup besar. Dengan adanya sistem pengontrolan temperatur air pada tangki air panas (Hot Water Tank), maka dengan mudah dan cepat pemakaian air panas bagi para penginap hotel. Selain itu alat ini dapat juga digunakan di rumah – rumah, rumah sakit dan di dunia perindustrian khususnya pabrik minuman.

Untuk merancang sebuah sistem pengontrolan temperatur air pada tangki air panas (Hot Water Tank) diperlukan sebuah chip yang ringkas namun dapat bekerja layaknya seperti sebuah komputer. Mikrokontroler AT89S52 merupakan chip produksi Atmel Inc yang mempunyai fitur dasar yang cukup lengkap untuk pemrosesan input-output sehingga mikrokontroler AT89S52 cukup memenuhi syarat untuk menjadi sebuah pusat operasi. Selain itu, menggunakan LM 35 sebagai sensor temperatur yang berfungsi mendeteksi panasnya air pada tangki air panas (Hot Water Tank).


(8)

DAFTAR ISI

Halaman

PERSETUJUAN i

PERNYATAAN ii

PENGHARGAAN iii

ABSTRAK iv

DAFTAR ISI v

DAFTAR GAMBAR vii

DAFTAR TABEL viii

BAB 1 PENDAHULUAN 1

1.1 Latar Belakang 1

1.2 Tujuan Penulisan Tugas Akhir 2

1.3 Rumusan Masalah 3

1.4 Batasan Masalah 3

1.5 Metode Penulisan 4

1.6 Sistematika Penulisan 4

BAB 2 LANDASAN TEORI 7

2.1 Perangkat Keras 7

2.1.1 Mikrokontroler AT89S52 7

2.1.1.1 Konstruksi AT89S52 9 2.1.1.2 SFR (Register Fungsi Khusus)

Pada Keluarga 51 11

2.1.1.3 Konfigurasi dan Fungsi Kaki

Pin AT89S52 15

2.2 Perangkat Lunak 19

2.2.1 Instruksi – Instruksi AT89S52 19 2.2.2 Sofware 8051 Editor,Assembler,

Simulator (IDE) 22

2.2.3 Sofware Downloader 23


(9)

2.4 ADC(Analog to Digital Converter atau Pengubah Sinyal

Analog ke Digital) 25

2.5 Sevent Segmen 27

2.6 Transistor 30

2.7 Relay 33

BAB 3 PERANCANGAN SISTEM 35

3.1 Diagram Blok Rangkaian 35

3.2 Perancangan Power Supply Apparatus (PSA) 36 3.3 Rangkaian Mikrokontroler AT89S52 37 3.4 Rangkaian Sensor Temperatur dan ADC 39 3.5 Rangkaian Display Sevent Segmen 41

3.6 Rangkaian Relay 42

3.7 Perancangan Rangkaian Keypad 45 3.8 Perancangan Rangkaian Sensor Air 46

3.9 Perancangan Program 48

BAB 4 PENGUJIAN ALAT DAN PROGRAM 51

4.1 Pengujian Rangkaian Power Supply Apparatus (PSA) 51 4.2 Pengujian Rangkaian Mikrokontroler AT89S52 51 4.3 Pengujian Rangkaian Display Sevent Segmen 53

4.4 Pengujian Rangkaian Relay 55

4.5 Pengujian Rangkaian Keypad 57

4.6 Pengujian Rangkaian ADC 60

4.7 Pengujian Rangkaian Sensor Air 61

BAB 5 KESIMPULAN DAN SARAN 62

5.1 Kesimpulan 62

5.2 Saran 62

DAFTAR PUSTAKA 63

LAMPIRAN A: Gambar Alat 64

LAMPIRAN B: Rangkaian Lengkap 68

LAMPIRAN C: Program Lengkap 70


(10)

DAFTAR GAMBAR

Halaman Gambar 2.1 Konfigurasi Pin Mikrokontroler AT89S52 15 Gambar 2.2 8051 Editor, Assembler, Simulator (IDE) 22 Gambar 2.3 ISP-Flash Programmer 3.0a 23 Gambar 2.4 (a) Sensor Temperatur Umum (+2 oC sampai +150 o

(b) Sensor Temperatur Dengan Rentang Penuh (-55 C)

o

C- +150 o

Gambar 2.5 Konfigurasi Kaki ADC 0804 27 C) 24

Gambar 2.6 Susunan Sevent Segmen 28

Gambar 2.7 Konfigurasi Sevent Segmen Tipe Common Anoda 28 Gambar 2.8 Konfigurasi Sevent Segmen Tipe Common Katoda 29 Gambar 2.9 Simbol Tipe Transistor

Gambar 2.10 Transistor Sebagai Saklar ON 31 Gambar 2.11 Transistor Sebagai Saklar OFF 32

Gambar 2.12 Relay 34

Gambar 3.1 Diagram Blok Rangkaian 35

Gambar 3.2 Rangkaian Power Supply Apparatus (PSA) 37 Gambar 3.3 Rangkaian Mikrokontroler AT89S52 38 Gambar 3.4 Rangkaian Sensor Temperatur dan ADC 39 Gambar 3.5 Rangkaian Display Sevent Segmen 41 Gambar 3.6 Rangkaian Relay Pengendali Pemanas Air(Heater) 220 Volt AC 42 Gambar 3.7 Rangkaian Relay Pengendali Pompa Air 44

Gambar 3.8 Rangkaian Keypad 45

Gambar 3.9 Penempatan Sensor Pada Tempat Air 46 Gambar 3.10 Rangkaian Penguat Sensor Air 47


(11)

DAFTAR TABEL

Halaman Tabel 2.1 Peta Register Fungsi Khusus - SFR (Special Function Register) 12 Tabel 2.2 Fungsi Pada Masing – Masing Pin Mikrokontroler AT89S52 16 Tabel 4.1 Data Pengujian Pada Rangkaian ADC 61 Tabel 4.2 Pengujian Rangkaian Sensor Air 61


(12)

ABSTRAK

Teknologi yang semakin maju dan terus berkembang membawa kepada suatu perubahan dan tuntutan dalam segala hal, yang tentunya membawa kepada suatu arah perubahan yang lebih baik dan memudahkan dalam manusia beraktivitas.

Seperti yang telah kita ketahui bahwa air sangat di butuhkan dalam berbagai kebutuhan hidup. Khususnya dalam perhotelan, dibutuhkan fasilitas yang cepat, tepat dan baik untuk menunjang kenyamanan bagi para penginap salah satunya yaitu dibutuhkanlah alat yang dapat memberikan fasilitas air panas secara otomatis dengan jumlah yang cukup besar. Dengan adanya sistem pengontrolan temperatur air pada tangki air panas (Hot Water Tank), maka dengan mudah dan cepat pemakaian air panas bagi para penginap hotel. Selain itu alat ini dapat juga digunakan di rumah – rumah, rumah sakit dan di dunia perindustrian khususnya pabrik minuman.

Untuk merancang sebuah sistem pengontrolan temperatur air pada tangki air panas (Hot Water Tank) diperlukan sebuah chip yang ringkas namun dapat bekerja layaknya seperti sebuah komputer. Mikrokontroler AT89S52 merupakan chip produksi Atmel Inc yang mempunyai fitur dasar yang cukup lengkap untuk pemrosesan input-output sehingga mikrokontroler AT89S52 cukup memenuhi syarat untuk menjadi sebuah pusat operasi. Selain itu, menggunakan LM 35 sebagai sensor temperatur yang berfungsi mendeteksi panasnya air pada tangki air panas (Hot Water Tank).


(13)

BAB 1 PENDAHULUAN

1.1 Latar Belakang

Kemajuan teknologi semikonduktor telah memungkinkan manusia untuk memadukan ribuan transistor beserta komponen lain ke dalam satu chip yang dikenal sebagai IC (Integrated Circuit) atau rangkaian terhubung. Teknologi IC berkembang dengan pesat sehingga di pasaran beredar ribuan jenis IC dengan spesifikasi dan kegunaan yang beragam. Namun demikian, kebutuhan manusia yang jauh lebih kompleks, menuntut spesifikasi yang khusus dan unik dari semikonduktor pada setiap kasusnya. Sebagai solusinya, para ilmuan dan produsen semikonduktor mengembangkan piranti semikonduktor yang dapat diprogram (Programmable Devices atau peralatan pemograman) sesuai dengan keperluan.

Mikrokontroler merupakan salah satu jenis piranti semikonduktor programmable yang paling diminati. Selain praktis dan murah, mikrokontroler juga mudah untuk diaplikasikan pada berbagai keperluan, contohnya untuk mengendalikan sistem-sistem otomatis yang berdiri sendiri (stand alone) atau tempelan (embedded)


(14)

seperti mesin fotokopi, remote controller, sistem pengendali (pengontrolan), sistem proteksi hingga aplikasi robot.

Dari beberapa aplikasi mikrokontroler yang telah dipaparkan di atas, maka penulis akan merancang suatu alat pengaturan yang berbasis mikrokontroler. Atas dasar pertimbangan pemilihan aplikasi, jenis atau seri mikrokontroler yang penulis gunakan, penulis mengambil judul “SISTEM PENGONTROLAN TEMPERATUR AIR PADA TANGKI AIR PANAS (HOT WATER TANK).

Seperti yang telah kita ketahui bahwa air sangat di butuhkan dalam berbagai kebutuhan hidup. Khususnya dalam perhotelan, dibutuhkan fasilitas yang cepat, tepat dan baik untuk menunjang kenyamanan bagi para penginap salah satunya yaitu dibutuhkanlah alat yang dapat memberikan fasilitas air panas secara otomatis dengan jumlah yang cukup besar. Dengan adanya sistem pengontrolan temperatur air pada tangki air panas (Hot Water Tank), maka dengan mudah dan cepat pemakaian air panas bagi para penginap hotel. Selain itu alat ini dapat juga digunakan di rumah – rumah dan di rumah sakit.

I.2 Tujuan Penulisan Tugas Akhir


(15)

a. Untuk memenuhi salah satu persyaratan dalam menyelesaikan program studi Diploma-III Fisika Instrumentasi untuk memperoleh gelar Ahli Madya di Universitas Sumatera Utara.

b. Untuk merancang suatu alat yang mampu mengontrol temperatur air pada tangki air panas (Hot Water Tank) yang berbasis mikrokontroler AT89S52. c. Sebagai langkah awal untuk membuat sebuah sistem otomatisasi dalam dunia

industri sehingga meningkatkan efisiensi kerja.

d. Untuk mengaplikasikan ilmu pengetahuan yang diperoleh dari perkuliahan terhadap realita.

I.3 Rumusan Masalah

Adapun yang menjadi rumusan masalah adalah :

a. Bagaimana cara kerja mikrokontroler yang berfungsi sebagai pusat pengolahan data.

b. Bagaimana cara membuat suatu alat yang mampu mengontrol temperatur air yang terdapat di dalamnya mulai dari perancangan rangkaian dan program hingga alat selesai dibuat.


(16)

I.4 Batasan Masalah

Agar penulisan Tugas Akhir ini sesuai dengan yang diharapkan dan mengingat masalah yang akan diangkat mempunyai ruang lingkup yang relatif luas, maka penulis membatasi masalah l Tugas Akhir ini hanya pada :

a. Memaparkan dan menjelaskan cara kerja mikrokontroler sebagai pusat pengolah data.

b. Hanya membahas proses perancangan alat.

c. Cara kerja rangkaian yang meliputi analisis rangkaian pada tiap blok, serta menguraikan secara umum fungsi masing – masing komponen utama pada masing – masing blok.

d. Hanya membahas proses pengujian alat dan program.

I.5 Metode Penulisan

Karena Tugas Akhir ini merupakan suatu studi penulisan, maka penulis mencari dan mengumpulkan bahan-bahan dan data yang diperlukan melalui :


(17)

1. Studi literature : Mengambil bahan-bahan dan data-data dari berbagai sumber referensi seperti: Buku-buku referensi, internet, dan lain sebagainya.

2. Studi Bimbingan : Diskusi-diskusi, berupa tanya jawab dengan Dosen Pembimbing, senior - senior dan teman - teman seangkatan mengenai masalah - masalah yang ada serta berupaya mencari penyelesaian dan solusi dari permasalahan tersebut.

3. Studi Laboratorium : Melakukan perancangan alat, memprogram alat, dan menguji alat pada sebuah laboratorium mini yang kelengkapan peralatan - peralatan penunjang lainnnya yang diperlukan cukup memadai.

1. 6 Sistematika Penulisan

Untuk mempermudah pembahasan dalam penulisan Tugas Akhir ini, maka penulis membuat sistematik pembahasan. Sistematik pembahasan ini merupakan urutan bab demi bab temasuk isi dari sub-sub babnya. Adapun sistematik pembahasan tersebut adalah :


(18)

BAB I PENDAHULUAN

Bab ini merupakan pendahuluan yang berisikan tentang latar belakang masalah, tujuan penulisan, rumusan masalah, batasan masalah, metode penulisan serta sistematika penulisan.

BAB II LANDASAN TEORI

Dalam bab ini dijelaskan tentang teori pendukung yang digunakan untuk pembahasan dan cara kerja dari rangkaian, yang meliputi asitektur dan konstruksi mikrokontroler yang digunakan. Selain itu membahas tentang jenis sensor yang digunakan.

BAB III PERANCANGAN SISTEM

Bab ini berisikan bagaimana langkah – langkah alat, dimulai dari perancangan blok diagram rangkaian sampai dengan pembuatan alatnya.

BAB IV PENGUJIAN ALAT DAN PROGRAM

Bab ini berisikan tentang pengujian alat yang telah dibuat serta pembahasan rangkaiannya dan pembahasan program yang telah dibuat dan dimasukkan ke dalam mikrokontroler.


(19)

BAB V KESIMPULAN DAN SARAN

Bab ini merupakan penutup yang meliputi kesimpulan dari pembahasan yang dilakukan dari Tugas Akhir serta saran yang diperoleh dari hasil pembahasan, apakah rangkaian ini dapat dibuat lebih efisien dan dikembangkan perakitannya pada suatu metode lain yang mempunyai sistem kerja yang sama.

DAFTAR PUSTAKA


(20)

BAB 2

LANDASAN TEORI

2.1 Perangkat Keras

Dalam merancang sebuah peralatan yang cerdas, diperlukan suatu perangkat keras (hardware) yang dapat mengolah data, menghitung, mengingat dan mengambil pilihan. Mikrokontroler merupakan salah satu jawabannya. Vendor dari mikrokontroler ini ada beberapa macam, diantaranya yang paling terkenal adalah Atmel, Motorola dan Siemens.

2.1.1 Mikrokontroler AT98S52

Mikrokontroler, sebagai suatu terobosan teknologi mikrokontroler dan mikrokomputer, hadir memenuhi kebutuhan pasar (market need) dan teknologi baru. Sebagai teknologi baru, yaitu teknologi semikonduktor dengan kandungan transistor yang lebih banyak namun hanya membutuhkan ruang kecil serta dapat diproduksi secara massal (dalam jumlah banyak) sehingga harga menjadi lebih murah (dibandingkan mikroprosesor). Sebagai kebetuhan pasar, mikrokontroler hadir untuk


(21)

memenuhi selera industri dan para konsumen akan kebutuhan dan keinginan alat-alat bantu dan mainan yang lebih canggih.

Ilustrasi yang mungkin bisa memberikan gambaran yang jelas dalam penggunaan mikrokontroler adalah aplikasi mesin tiket dalam arena permainan yang saat ini terkenal di Indonesia. Jika kita sudah selesai bermain, maka akan diberikan suatu nilai, nilai inilah yang menentukan berapa jumlah tiket yang bisa diperoleh dan jika dikumpulkan dapat ditukar dengan berbagai macam hadiah. Sistem tiket ini ditangani dengan mikrokontroler, karena tidak mungkin menggunakan komputer PC yang harus dipasang di samping (atau di belakang) mesin permainan yang bersangkutan.

Selain sistem tiket, kita juga dapat menjumpai aplikasi mikrokontroler dalam bidang pengukuran jarak jauh atau yang dikenal dengan sistem telemetri. Misalnya pengukuran disuatu tempat yang membahayakan manusia, maka akan lebih nyaman jika dipasang suatu sistem pengukuran yang bisa mengirimkan data lewat pemancar dan diterima oleh stasiun pengamatan dari jarak yang cukup aman dari sumbernya. Sistem pengukuran jarak jauh ini jelas membutuhkan suatu sistem akuisisi data sekaligus sistem pengiriman data secara serial (melalui pemancar), yang semuanya itu dapat diperoleh dari mikrokontroler yang digunakan.


(22)

Tidak seperti sistem komputer, yang mampu menangani berbagai macam program aplikasi (misalnya pengolah kata, pengolah angka dan lain sebagainya), mikrokontroler hanya bisa digunakan untuk satu aplikasi tertentu saja. Perbedaan lainnya terletak pada perbandingan RAM dan ROM-nya. Pada sistem komputer RAM dan ROM-nya besar. Sedangkan pada mikrokontroler ROM dan RAM-nya terbatas. Pada mikrokontroler AT89S52 ROM atau flash PEROM berukuran 2 kilo byte, sedangkan RAM-nya berukuran 128 byte.

2.1.1.1 Konstruksi AT89S52

Mikrokontroler AT89S52 hanya memerlukan tambahan 3 kapasitor, 1 resistor dan 1 kristal serta catu daya 5 Volt. Kapasitor 10 mikro-Farad dan resistor 10 Kilo Ohm dipakai untuk membentuk rangkaian reset. Dengan adanya rangkaian reset ini AT89S52 otomatis direset begitu rangkaian menerima catu daya. Kristal dengan frekuensi maksimum 24 MHz dan kapasitor 30 piko-Farad dipakai untuk melengkapi rangkaian oscilator pembentuk clock yang menentukan kecepatan kerja mikrokontroler.

Memori merupakan bagian yang sangat penting pada mikrokontroler. Mikrokontroler memiliki dua macam memori yang sifatnya berbeda.


(23)

Read Only Memory/ROM (memori pembaca) yang isinya tidak berubah meskipun IC kehilangan catu daya. Sesuai dangan keperluannya, dalam susunan MCS-51 memori penyimpanan progam ini dinamakan sebagai memori program.

Random Access Memori/RAM isinya akan sirna begitu IC kehilangan catu daya, dipakai untuk menyimpan data pada saat progam bekerja. RAM yang dipakai untuk menyimpan data ini disebut sebagai memori data.

Ada berbagai jenis ROM. Untuk mikrokontroler dengan progam yang sudah baku dan diproduksi secara masal, progam diisikan ke dalam ROM pada saat IC mikrokontroler dicetak di pabrik IC. Untuk keperluan tertentu mikrokontroler mengunakan ROM yang dapat diisi ulang atau Programble-Eraseable ROM yang disingkat menjadi PEROM atau PROM. Dulu banyak dipakai UV-EPROM (Ultra Violet Eraseable Progamble ROM) yang kemudian dinilai mahal dan ditinggalkan setelah ada flash PEROM yang harganya jauh lebih murah.

Jenis memori yang dipakai untuk Memori Program AT89S52 adalah Flash PEROM, program untuk mengendalikan mikrokontroler diisikan ke memori itu lewat bantuan alat yang dinamakan sebagai AT89S52 Flash PEROM Programmer (pemograman AT89S52 flash PEROM) .


(24)

Memori Data yang disediakan dalam chip AT89S52 sebesar 128 byte, meskipun hanya kecil saja tapi untuk banyak keperluan memori kapasitas itu sudah cukup.

Sarana Input/Ouput yang disediakan cukup banyak dan bervariasi. AT89S52 mempunyai 32 jalur Input/Ouput. Jalur Input/Ouput paralel dikenal sebagai Port 1 (P1.0..P1.7) dan Port 3 (P3.0..P3.5 dan P3.7).

AT89S52 dilengkapi UART (Universal Asyncronous Receiver/Transmiter) yang biasa dipakai untuk komunikasi data secara seri. Jalur untuk komunikasi data seri (RXD dan TXD) diletakan berhimpitan dengan P3.0 dan P3.1 di kaki nomor 10 dan 11, sehingga kalau sarana input/ouput yang bekerja menurut fungsi waktu. Clock penggerak untaian pencacah ini bisa berasal dari oscillator kristal atau clock yang diumpan dari luar lewat T0 dan T1. T0 dan T1 berhimpitan dengan P3.4 dan P3.5, sehingga P3.4 dan P3.5 tidak bisa dipakai untuk jalur input/ouput parelel kalau T0 dan T1 dipakai.

AT89S52 mempunyai enam sumber pembangkit interupsi, dua diantaranya adalah sinyal interupsi yang diumpankan ke kaki INT0 dan INT1. Kedua kaki ini berhimpitan dengan P3.2 dan P3.3 sehingga tidak bisa dipakai sebagai jalur input/output parelel kalau INT0 dan INT1 dipakai untuk menerima sinyal interupsi.


(25)

Port1 dan 2, UART, Timer 0,Timer 1 dan sarana lainnya merupakan register yang secara fisik merupakan RAM khusus, yang ditempatkan di Special Functoin Regeister /SFR (Register Fungsi Khusus).

2.1.1.2 SFR (Register Fungsi Khusus ) Pada Keluarga 51

SFR (Register Fungsi Khusus) adalah memori yang berisi register-register yang mempunyai fungsi-fungsi khusus yang disediakan oleh mikrokontroler tersebut, seperti timer, serial dan lain-lain. AT89S52 mempunyai 21 Special Function Register yang terletak antara alamat 80H hingga FFH.

Sekumpulan SFR (Register Fungsi Khusus) yang terdapat pada Mikrokontroler Atmel Keluarga 51 ditunjukan pada tabel 2.1, pada bagian sisi kiri dan kanan dituliskan alamat-alamatnya dalam format heksadesimal. Tidak semua alamat pada SFR digunakan, alamat-alamat yang tidak digunakan diimplementasikan pada chip. Jika dilakukan usaha pembacaan pada alamat-alamat yang tidak terpakai tersebut akan menghasilkan data acak dan penulisannya tidak menimbulkan efek sama sekali.

Pengguna perangkat lunak sebaiknya jangan menuliskan ‘1’ pada lokasi-lokasi ‘tak bertuan’ tersebut, karena dapat digunakan untuk mikrokontroler generasi selanjutnya. Dengan demikian, nilai-nilai reset atau non-aktif dari bit-bit baru ini akan


(26)

selalu ‘0’ dan nilai aktifnya adalah ‘1’. Berikut akan dijelaskan secara singkat SFR-SFR beserta fungsinya:

Tabel 2.1. Peta Register Fungsi Khusus – SFR (Special Function Register)

a. Akumulator

ACC atau akumulator yang menempati lokasi E 0h digunakan sebagai register untuk penyimpanan data sementara, dalam program, instruksi mengacunya sebagai register A (bukan ACC).


(27)

Register B (lokasi D 0h) digunakan selama operasi perkalian dan pembagian, untuk instruksi lain dapat diperlakukan sebagai register scratch pad (“papan coret-coret”) lainnya.

c. Program Status Word (PSW)

Register PSW (lokasi D 0h) mengandung informasi status program. d. Stack Pointer

Register SP atau Stack Pointer (lokasi 81h) merupakan register dengan panjang 8-bit, digunakan dalam proses simpan menggunakan instruksi PUSH dan CALL. . Walaupun Stack bisa menempati lokasi dimana saja dalam RAM, register SP akan selalu diinisialisasi ke 07h setelah adanya reset, hal ini menyebabkan stack berawal di lokasi 08h.

e. Data Pointer

Register Data Pointer atau DPTR mengandung DPTR untuk byte tinggi (DPH) dan byte rendah (DPL) yang masing-masing berada dilokasi 83h dan 82h, bersama-sama membentuk register yang mampu menyimpan alamat 16-bit. Dapat dimanipulasi sebagai register 16-bit atau ditulis dari/ke port, untuk masing-masing Port 0,Port 1, Port2 dan Port 3.


(28)

f. Serial Data Buffer

SBUF atau Serial Data Buffer (lokasi 99h) sebenarnya terdiri dari dua register yang terpisah, yaitu register penyangga pengirim (transmit buffer) dan penyangga penerima (receive buffer). Pada saat data disalin ke SBUF, maka data sesungguhnya dikirim ke penyangga pengirim dan sekaligus mengawali transmisi data serial. Sedangkan pada saat data disalin dari SBUF, maka sebenarnya data tersebut berasal dari penyangga penerima.

g. Time Register

Pasangan register (TH0, TL0) dilokasi 8Ch dan 8Ah,(TH1, TL1) dilokasi 8Dh dan 8Bh serta (TH2, TL2) dilokasi CDh dan CCH merupakan register-register pencacah 16-bit untuk masing-masing Timer 0, Timer 1 dan Timer 2.

h. Capture Register

Pasangan register (RCAP2H, RCAP21) yang menempati lokasi CBh dan CAh merupakan register capture untuk mode Timer 2 capture. Pada mode ini, sebagai tanggapan terjadinya suatu transisi sinyal di kaki (pin) T2EX (pada AT89C52/55), TH2 dan TL2 disalin masing-masing ke RCAP2H dan RCAP2L. Timer 2 juga memiliki mode isi-ulang-otomatis 16-bit dan RCAP2H serta RCAP2L digunakan untuk menyimpan nilai isi-ulang tersebut.


(29)

Register-register IP, IE, TMOD, TCON, T2CON, T2MOD, SCON dan PCON berisi bit-bit kontrol dan status untuk sistem interupsi, pencacah/pewaktu dan port serial.

Berikut ini merupakan spesifikasi dari IC AT89S52 : 1. Kompatible dengan produk MCS-51

2. Delapan K byte In-Sistem Reprogammable Flash Memory 3. Daya tahan 1000 kali baca/tulis

4. Tegangan kerja 4,0 volt sampai 5,5 volt 5. Fully Static Operation : 0 Hz sampai 33 MHz 6. Tiga level kunci memori progam

7. 128 x 8 – bit RAM internal 8. 32 jalur input/output (I/O) 9. Dua 16 bit Timer/Counter

10. Enam sumber interupt (2 timer, 2 counter, 1 serial , 1 reset) 11. Jalur serial dengan UART


(30)

2.1.1.3Konfigurasi dan Fungsi Kaki Pin AT89S52

Mikrokontroler AT89S52 mempunyai 40 kaki, 32 kaki diantaranya adalah kaki untuk keperluan Port paralel. Satu Port paralel terdiri dari 8 kaki, dengan demikian 32 kaki tersebut membentuk 4 buah Port paralel. Berikut adalah gambar konfigurasi pin mikrokontroler AT89S52 :


(31)

Pada Gambar 2.1. terlihat bahwa AT89S52 mempunyai 4 buah port paralel, yang masing-masing dikenal dengan Port 0, Port 1, Port 2, dan Port 3. Nomor dari masing-masing jalur (kaki) dari Port paralel mulai dari 0 sampai 7, jalur pertama Port 0 disebut sebagai P0.0 dan jalur terakhir untuk Port 3 adalah P3.7.

Tabel 2.2 Fungsi Pada Masing – Masing Pin Mikrokontroler AT89S52

Nomor Pin

Nama Pin Alternatif Keterangan

20 GND Ground

40 VCC Power Supply

32…39 P0.7...P0.0 D7…D0 & A7…A0

1. Port 0 dapat berfungsi sebagai I/O biasa, low order multiplex address/data ataupun menerima kode byte pada saat Flash Programming.

2. Pada fungsi sebagai I/O biasa port ini dapat memberikan output sink kedelapan buah TTL Input atau dapat diubah sebagai input dengan memberikan logika 1 pada port tersebut.

3. Pada fungsi sebagai low order multiplex address/data port ini akan mempunyai internal pull up.


(32)

diperlukan external pull up terutama pada saat verifikasi program.

1…8 P1.0...P1.7 1. Port 1 berfungsi sebagai I/O biasa atau menerima low order address bytes selama pada saat Flash Programming. 2. Port ini mempunyai internal pull up dan

berfungsi sebagai input dengan memberikan logika 1.

3. Sebagai output port ini dapat memberikan output sink keempat buah input TTL.

21…28 P2.0…P2.7 A8…A15 1. Port 2 berfungsi sebagai I/O biasa atau high order address, pada saat mengakses memori secara 16 bit (Movx @ Dptr).

2. Pada saat mengakses memori secara 8 bit (Mov @ Rn), port ini akan mengeluarkan isi dari P2 Special Function Register.

3. Port ini mempunyai internal pull up dan berfungsi sebagai input dengan memberikan logika 1.

4. Sebagai output, port ini dapat memberikan output sink keempat buah input TTL.


(33)

10…17

10

Port 3

P3.0 RXD

Sebagai I/O biasa Port 3 mempunyai sifat yang sama dengan Port 1 maupun Port 2. Sedangkan sebagai fungsi special port-port ini mempunyai keterangan sebagai berikut: Port Serial Input

11 P3.1 TXD Port Serial Output 12 P3.2 INT0 Port External Interrupt 0 13 P3.3 INT1 Port External Interrupt 1 14 P3.4 T0 Port External Timer 0 Input 15 P3.5 T1 Port External Timer 1 Input

16 P3.6 WR External Data Memory Write Strobe 17 P3.7 RD External Data Memory Read Strobe

9 RST Reset akan aktif dengan memberikan input high selama 2 cycle.

30 ALE PROG 1. Pin ini dapat berfungsi sebagai Address Latch Enable (ALE) yang me-latch low byte address pada saat mengakses memori eksternal.

2. Sedangkan pada saat Flash Programming (PROG) berfungsi sebagai pulse input, pada operasi normal ALE akan mengeluarkan sinyal clock sebesar 1/16 frekuensi oscillator kecuali pada saat mengakses memorieksternal. Sinyal clock pada pin ini dapat pula di-disable dengan


(34)

men-set bit 0 dari Special Function Register di alamat 8EH.

3. ALE hanya akan aktif pada saat mengakses memori eksternal (MOVX & MOVC).

29 PSEN Pin ini berfungsi pada saat mengeksekusi program yang terletak pada memori ekternal. PSEN akan aktif dua kali setiap cycle.

31 EA VP 1. Pada kondisi low, pin ini akan berfungsi sebagai EA yaitu mikrokontroller akan menjalankan program yang ada pada memori eksternal setelah di-reset.

2. Jika berkondisi high, pin ini akan berfungsi untuk menjalankan program yang ada pada memori internal.

3. Pada saat Flash Programming, pin ini akan mendapatkan tegangan 12 Volt (VP).

19 XTAL 1 Input Oscillator 18 XTAL 2 Output Oscillator


(35)

Dalam merancang suatu program mikrokontroler dibutuhkan suatu software yang dapat menulis program dan mengubahnya menjadi bilangan heksadesimal. Untuk menulis program dapat digunakan Software 8051 Editor, Assembler, Simulator (IDE). Untuk men-download program heksadesimal ke dalam mikrokontroler dapat digunakan Software Downloader (ISP – Flash Programmer 3.0a).

2.2.1 Instruksi – Instruksi AT89S52

Beberapa instruksi yang sering digunakan dalam pemrograman IC mikrokontroler AT89S52 antara lain adalah:

1. Mov  Merupakan perintah yang berfungsi untuk mengisikan suatu alamat atau nilai suatu alamat ke alamat tertentu. Contohnya Mov p0,#0ffh yang berarti mengisikan port 0 dengan harga ff heksadesimal. Sehingga nilai yang terdapat pada port 0 menjadi ff heksadesimal.

2. Setb  Setbit merupakan perintah yang berfungsi memberikan nilai high atau 1 kepada alamat yang dituju. Contohnya Setb p2.0 yang berarti memberikan nilai high pada port 2.0 sehigga port 2.0 akan selalu bernilai high.


(36)

3. Clr  Clear merupakan perintah yang berfungsi memberikan nilai low atau 0 pada alamat yang dituju. Contohnya Clr p2.4 yang berarti memberikan nilai low pada port 2.4 sehigga port 2.4 akan selalu bernilai low.

4. Bit  Merupakan perintah yang berfungsi untuk mengenalkan suatu port terhadap suatu pengenalan port. Contohnya Tombol_1 bit p2.2 yang berarti tombol1 terletak atau terhubung ke port 2.2.

5. Equ  Equvalen merupakan perintah yang berfungsi untuk menyamakan suatu pengenalan nilai dengan nilai tertentu. Contohnya Bilangan_0 equ 88h yang berarti nilai 88h merupakan nilai dari bilangan 0.

6. Jb  Jump if bit merupakan perintah yang berfungsi untuk membandingkan nilai disampingnya dengan nilai high, jika nilainya high, maka program akan lompat kealamat yang ada disamping kanan. Misalnya Jb

Tombol_0,Cek_Tombol_1 yang berarti mikrokontroler akan

membandingkan nilai tombol 1 high atau low, jika high maka program akan lompat ke alamat cek tombol 1, tetapi jika bernilai low, maka program akan melaksanakan perintah yang ada dibawahnya.

7. Acall  merupakan perintah yang berfungsi untuk memanggil alamat yang terletak di sampingnya. Misalnya Acall Isi_0 yang berarti memanggil rutin isi 0, sehingga perintah yang ada pada rutin isi 0 yang akan dikerjakan.


(37)

8. Sjmp  merupakan perintah yang berfungsi untuk lompat kealamat yang ada disampingnya sebesar 2 kilo byte. Misalnya Sjmp Mulai yang berarti program akan lompat ke rutin mulai.

9. Ljmp  merupakan perintah yang berfungsi untuk lompat kealamat yang ada disampingnya sebesar 8 kilo byte. Misalnya Ljmp Starter yang berarti program akan lompat ke rutin starter.

10. Jnb  Jump if not bit merupakan perintah yang berfungsi untuk membandingkan nilai disampingnya dengan nilai low, jika nilainya low, maka program akan lompat kealamat yang ada disamping kanan. Misalnya Jnb

Tombol_Reset,Kembali yang berarti mikrokontroler akan

membandingkan nilai tombol reset high atau low, jika low maka program akan lompat ke alamat kembali, tetapi jika bernilai high, maka program akan melaksanakan perintah yang ada dibawahnya.

11. Cjne  Compare jump if not equal merupakan perintah yang berfungsi untuk membandingkan alamat yang disampingnya dengan harga tertentu. Misalnya Cjne a,#1,Kembali yang berarti membandingkan harga yang ada pada akumulator a dengan harga 1, jika sama maka program akan dilanjutkan ke perintah yang ada dibawahnya. Tetapi jika tidak sama maka program akan lompat ke rutin kembali.


(38)

12. Div  Merupakan perintah yang berfungsi membagi nilai suatu akumulator. Misalnya Div ab yang berarti membagi nilai akumulator a dengan akumulator b. Jika nilai akumulator a adalah 25 dan akumulator b 10, maka hasilnya pada akumulator a adalah 2 dan pada akumulator b adalah 5.

13. Inc  Merupakan perintah yang berfungsi menambahkan nilai 1 suatu akumulator atau register yang dituju. Misalnya Inc r0 yang berarti menambahkan nilai register 0 dengan nilai 1.

14. Dec  Merupakan perintah yang berfungsi mengurangi nilai 1 suatu akumulator atau register yang dituju. Misalnya Dec r0 yang berarti mengurangi nilai register 0 dengan nilai 1.

15. Anl  Merupakan perintah yang berfungsi untuk mengalikan suatu akumulator dengan logika and. Misalnya Anl a,#80h yang berarti mengalikan akumulator a dengan nilai 80h dengan cara logika and.

16. Djnz  Decrement jump if not zero merupakan perintah yang berfungsi untuk mengurangi nilai register yang ada disampingnya denag nilai 1. Misalnya Djnz r6,Tnd yang berarti mengurangi nilai yang terdapat pada register 6 dengan nilai 1, misalnya nilai register 6 bernilai 10 maka ketika mendapat perintah djnz maka nilai yang ada pada register 6 menjadi 9, jika belum bernilai 0 maka perogram akan lompat ke rutin tnd.


(39)

17. Ret  Return merupakan perintah yang berfungsi untuk kembali ke pemanggil.

18. End  merupakan perintah yang berfungsi untuk mengakhiri program.

2.2.2 Software 8051 Editor, Assembler, Simulator (IDE)

Instruksi-instruksi yang merupakan bahasa assembly tersebut dituliskan pada sebuah editor, yaitu 8051 Editor, Assembler, Simulator (IDE). Tampilannya seperti ini:

Gambar 2.2 8051 Editor, Assembler, Simulator (IDE)

Setelah program selesai ditulis, kemudian save (disimpan) dan kemudian di-Assemble (di-compile). Pada saat di-assemble akan tampil pesan peringatan dan


(40)

kesalahan. Jika masih ada kesalahan atau peringatan, itu berarti ada kesalahan dalam penulisan perintah atau ada nama subrutin yang sama, sehingga harus diperbaiki terlebih dahulu sampai tidak ada pesan kesalahan lagi.

Software 8051 IDE ini berfungsi untuk merubah program yang kita tuliskan ke dalam bilangan heksadesimal, proses perubahan ini terjadi pada saat peng-compile-an. Bilangan heksadesimal inilah yang akan dikirimkan ke mikrokontroler.

2.2.3 Software Downloader

Untuk mengirimkan bilangan-bilangan heksadesimal ini ke mikrokontroller digunakan software ISP- Flash Programmer 3.0a yang dapat didownload dari internet. Tampilannya seperti gambar di bawah ini:


(41)

Gambar 2.3 ISP- Flash Programmer 3.0a

Cara menggunakannya adalah dengan meng-klik Open File untuk mengambil file heksadesimal dari hasil kompilasi 8051IDE, kemudian klik Write untuk mengisikan hasil kompilasi tersebut ke mikrokontroler.

2.3 Sensor Temperatur (LM 35)

LM 35 adalah jenis sensor temperatur dengan rangkaian ketetapan yang terintegerasi dan tegangan outputnya secara linier proposional terhadap derajat celcius (oC), keuntungannya melebihi sensor temperatur yang dikalibrasi oleh satuan Kelvin serta output impedansi yang rendah. LM 35 mempermudah dalam pembacaan pengendalian rangkaian, ini biasa digunakan dengan catu daya tunggal (single) atau dengan supply plus dan minus (Vin sebesar 5V). Pada tugas proyek ini sensor yang digunakan adalah

sensor temperatur umum seperti terlihat pada gambar 2.3. (a).


(42)

Gambar 2.4 (a) Sensor Temperatur Umum (+2 oC sampai +150 oC) (b) Sensor Temperatur Dengan Rentang Penuh (-55oC- +150 oC)

Keuntungan menggunakan LM 35 adalah :

- Dikalibrasi langsung pada derajat celcius (o - Skala faktor linier + 10,0 mV/

C).

o

LM 35 akan merubah temperatur yang diterimanya menjadi tegangan, yaitu 10 mV/

C

0

C, yang berati bahwa setiap terjadi kenaikan temperatur 10

- Jaminan akurasi 0,5

C, maka output dari LM 35 akan naik 10 mV.

o

C (pada +25 o - Berkisar antara -55

C).

o

C - +150 o - Arus kurang dari 2μA

C.

- Beroperasi dari 4V sampai 30V. - Pemanasan rendah 0,08 o

- Tipe non linier hanya ±1⁄4°C C

- Harga murah.

Ada beberapa jenis LM 35 yang terdapat di pasaran antara lain : - LM 35, LM 35A berkisar antara -55 oC - +150 o - LM 35C, LM 35CA berkisar antara -40

C.

o


(43)

- LM 35D berkisar antara 0oC - +100 oC.

2.4 ADC(Analog to Digital Converter atau Pengubah Sinyal Analog ke Digital)

ADC digunakan sebagai rangkaian yang mengubah sinyal analog menjadi sinyal digital. Hal yang paling penting dalam suatu rangkaian ADC adalah resolusi, yaitu besaran analog terkecil yang masih dapat dikonversi menjadi satuan digital, yaitu :

Resolusi (r) = n.Vref 2

1

... (2.1)

dimana ; n adalah banyaknya bit ADC dan Vref adalah tegangan referensi yang digunakan. Data-data digital yang dihasilkan ADC hanyalah merupakan pendekatan proporsional terhadap masukan analog. Hal ini karena tidak mungkin melakukan konversi secara sempurna berkaitan dengan kenyataan bahwa informasi digital berubah dalam step-step, sedangkan analog berubahnya secara kontiniu.

ADC 0804 dapat mentransformasikan sebuah tegangan analog menjadi sebuah angka dalam bentuk bilangan biner 8 bit. Jumlah bit yang dihasilkan, didapat dari hasil pengkonversian tegangan yang biasanya besar tegangan tersebut antara 0 volt sampai dengan +5 volt. Dengan demikian, apabila kita memasukan sebuah tegangan


(44)

antara 0 volt sampai dengan 5 volt pada sebuah ADC 8 bit maka setelah proses konversi akan menghasilkan sebuah kombinasi bilangan biner yang ditunjukkan dengan bilangan biner antara 0 sampai dengan 255.

Metode ADC yang digunakan dalam konversi analog ke digital adalah metode aproksimasi berturut-turut, pada keluaran digital ke analog menggerakkan masukan membalik dari sebuah pembanding, perbedaannya dengan keluaran analog ke digital yaitu terletak pada proses yang ditempuh register aproksimasi berturut-turut. Apabila konversi telah selesai dilaksanakan, data digital yang ekivalen akan dipindahkan ke register buffer keluaran dan jika konversi telah selesai rangkaian kendali mengirimkan sinyal selesai konversi yang rendah, sinyal ini akan mengisikan data digital yang ekivalen kedalam register buffer, dengan demikian keluaran digital akan tetap tersimpan sekalipun memulai siklus konversi yang baru.


(45)

Gambar 2.5 Konfigurasi Kaki ADC 0804

ADC ini akan merubah tegangan yang merupakan keluaran dari LM35 menjadi 8-bit data biner. 8-bit data yang keluar dari ADC inilah yang akan diolah oleh mikrokontroler kemudian ditampilkan pada display sevent segmen.

2.5 Sevent Segmen

Sevent segmen merupakan komponen elektronika yang banyak digunakan untuk menampilkan angka. Sevent segmen ini sebenarnya merupakan LED yang disusun sedemikian rupa sehingga membentuk suatu pola tertentu, dimana jika LED – LED tersebut dinyalakan dengan kombinasi tertentu, maka akan terbentuk suatu angka tertentu.

Sevent segmen mempunyai 7 buah segmen ditambah 1 segmen yang berfungsi sebagai desimal point. Gambar susunan dari sevent segmen ditunjukkan pada gambar berikut ini :


(46)

Gambar 2.6 Susunan Sevent Segmen

Segmen yang atas disebut segmen a, segmen sebelah kanan atas disebut segmen b, dan seterusnya sesuai gambar di atas. Dp merupakan singkatan dari desimal point.

Sevent segmen ada 2 tipe, yaitu common anoda dan common katoda. Pada sevent segmen tipe common anoda, anoda dari setiap LED dihubungkan menjadi satu kemudian dihubungkan ke sumber tegangan positip dan katoda dari masing-masing LED berfungsi sebagai input dari sevent segmen, seperti ditunjukkan pada gambar berikut ini :

Gambar 2.7 Konfigurasi Sevent Segmen Tipe Common Anoda

Sesuai dengan gambar di atas, maka untuk menyalakan salah satu segmen, maka katodanya harus diberi tegangan 0 volt atau logika low. Misalnya jika segmen a


(47)

akan dinyalakan, maka katoda pada segmen a harus diberi tegangan 0 volt atau logika low, dengan demikian maka segmen a akan menyala. Demikian juga untuk segmen lainnya.

Pada sevent segmen tipe common katoda, katoda dari setiap LED dihubungkan menjadi satu kemudian dihubungkan ke ground dan anoda dari masing-masing LED berfungsi sebagai input dari sevent segmen, seperti ditunjukkan pada gambar berikut ini :

Gambar 2.8 Konfigurasi Sevent Segmen Tipe Common Katoda

Sesuai dengan gambar di atas, maka untuk menyalakan salah satu segmen, maka anodanya harus diberi tegangan minimal 3 volt atau logika high. Misalnya jika segmen a akan dinyalakan, maka anoda pada segmen a harus diberi tegangan minimal


(48)

3 volt atau logika high, dengan demikian maka segmen a akan menyala. Demikian juga untuk segmen lainnya.

2.6 Transistor

Transistor adalah komponen elektronika yang mempunyai tiga buah terminal. Terminal itu disebut emiter, basis, dan kolektor. Transistor seakan - akan dibentuk dari penggabungan dua buah dioda. Dioda satu dengan yang lain saling

digabungkan dengan cara menyambungkan salah satu sisi dioda yang senama. Transistor merupakan suatu semikonduktor mono kristal dimana terjadi dua pertemuan P-N. Dari pertemuan P-N tersebut dapat dibuat dua tipe transistor yaitu :

1. Transistor PNP

Dalam transistor ini disisipkan suatu lapisan N tipis antara dua lapisan P. 2. Transistor NPN


(49)

Bahan mentah yang digunakan untuk menghasilkan bahan N dan bahan P adalah silikon dan germanium. Oleh karena itu, dikatakan :

1. Transistor germanium PNP 2. Transistor silikon NPN 3. Transistor silikon PNP 4. Transistor germanium NPN

Semua komponen di dalam rangkaian transistor dengan simbol. Anak panah yang terdapat di dalam simbol menunjukkan arah yang melalui transistor.

Gambar 2.9 Simbol Tipe Transistor

Ketiga bagian dari transistor dikenal sebagai emiter (penyebar) , basis (landasan), kolektor (pengumpul). Panah pada emiter menyatakan arah aliran arus apabila persambungan emiter-basis diberi prategangan ke depan.Dalam kedua kasus di

C B

E

C B

E


(50)

atas arus emiter, basis, dan kolektor dianggap positif apabila arus mengalir ke dalam transistor.

Banyak kegunaan dari transistor, salah satunya adalah sebagai saklar. Jika transistor digunakan sebagai saklar , maka dalam hal ini transistor tersebut dioperasikan dalam daerah jenuhnya (saturasi) dan daerah yang menyumbat (cut-off). Pada saat transistor dalam keadaan jenuh, maka resistansi antara kolektor dan emiter akan sangat kecil sehingga transistor ini akan berfungsi sebagai saklar yang terhubung (close) atau dalam keadaan hidup (ON). Apabila transistor dalam keadaan cut-off, maka reisistansi antara kolektor dan emiter akan sangat besar sehingga transistor akan berfungsi sebagai saklar yang terbuka (open) atau dalam keadaan mati (OFF). Lebih lanjut dapat kita lihat pada gambar dibawah ini.

Gambar 2.10 Transistor Sebagai Saklar ON Pada saat transistor hidup (ON) :

1. Arus IC = maximum

2. Tegangan V = 0 V

Saklar On Vcc

Vcc

IC R

RB

VB

IB VBE


(51)

3. Tegangan pada RC = Tegangan sumber

Gambar 2.11 Transistor Sebagai Saklar OFF

Pada saat transistor mati (OFF) : 1. Arus IC = 0 V

2. Tegangan VCE = Tegangan sumber

3. Tegangan pada RC = 0 V

Pada saat basis transistor mengalir arus, transistor dalam keadaan ON, maka :

B

I = Vi . VBE/RC ………..(1) C

CE

C V R

I = / ………..(2)

Transistor sebagai driver adalah transistor yang pada saat jenuh akan mengaktifkan komponen atau rangkaian yang lain, dimana variasi arus kolektor

Saklar Off Vcc

Vcc

IC R

RB

VB

IB VBE


(52)

penguatannya kecil kalau dibandingkan dengan arus kolektor stasioner. Penguatan sinyal kecil ini dapat diterapkan untuk berbagai rancangan sistem penguatan, penerima dan instrumen ukur.

2.7 Relay

Relay merupakan saklar elektromagnetik yang cara kerjanya ditentukan oleh arus yang mengalir pada kumparan kawat penghantar yang dipasang pada sebuah angker elektromagnetik bersama-sama dengan sebuah kumparan. Bila relay dialiri arus, maka akan terjadi medan magnet disekitar kumparan sehingga angker akan menjadi magnet. Medan magnet pada angker akan menarik saklar sehingga akan menutup. Jika arus yang mengalir pada kumparan terlepas maka hubungan akan terputus.

A. Keuntungannya :

1. Dapat switch AC dan DC, transistor hanya switch DC 2. Relay dapat switch tegangan tinggi, transistor tidak dapat. 3. Relay pilihan yang tepat untuk switching arus yang besar. 4. Relay dapat switch banyak kontak dalam 1 waktu.

5. Dapat bekerja secara otomatis sehingga digunakan untuk meng-ON/OFF kan suatu piranti elektronika.


(53)

B. Kekurangan relay :

1. Relay ukurannya jauh lebih besar dari pada transistor. 2. Relay tidak dapat switch dengan cepat.

3. Relay butuh daya lebih besar dibandingkan transistor. 4. Relay membutuhkan arus input yang besar.

Gambar 2.12 Relay

Saklar dapat menjadi kontaktor magnet. Kontaktor magnet adalah sejumlah kotak yang mempunyai aksi menutup dan membuka akibat adanya tarikan magnet. Terdapat dua macam kontak yang berada dalam kontaktor magnet, yaitu:

1. Normally Open (NO) yaitu kontak dalam kondisi terbuka, saat kontaktor magnet tidak bekerja.

2. Normally Close (NC) yaitu kontak dalam kondisi tertutup, saat kontaktor magnet bekerja.


(54)

Kontak normally open akan membuka ketika tidak ada arus yang mengalir pada kumparan, tetapi tertutup secepatnya setelah kumparan menerima arus atau diberi tenaga. Kontak normally closed akan tertutup apabila kumparan tidak diberi daya dan membuka ketika kumparan diberi daya. Masing-masing kontak biasanya digambarkan sebagai kontak yang tampak dengan kumparan tidak diberi daya.


(55)

BAB 3

RANCANGAN SISTEM

3.1 Diagram Blok Rangkaian

Diagram blok merupakan gambaran dasar dari rangkaian sistem yang akan dirancang. Setiap diagram blok mempunyai fungsi masing-masing. Adapun diagram blok dari sistem yang dirancang adalah seperti yang diperlihatkan pada gambar 3.1. berikut ini:

M ikr okont rol er A T 89 S 52 Sensor Suhu Display 1 buah Relay 1 buah Heater ADC 0804 Keypad 4 x 4 2 Buah Sensor air

1 Buah


(56)

Gambar 3.1 Diagram Blok Rangkaian

Disain sistem rangkaian terdiri dari:

1. Sensor suhu/temperatur (LM 35) berfungsi untuk mengukur temperatur inkubator kemudian output sensor ini akan diinputkan ke ADC0804.

2. ADC0804 berfungsi untuk mengubah tegangan analog dari sensor temperatur menjadi data digital 8 bit, sehingga data tersebut dapat diolah oleh mikrokontroler AT89S52.

3. Mikrokontroler AT89S52 berfungsi untuk mengolah data digital yang dikirimkan oleh ADC0804, selanjutnya mikrokontroler akan menampilkan nilai temperatur yang terukur pada sevent segmen kemudian membandingkannya dengan data tertentu untuk kemudian mengambil tindakan (menghidupkan/mematikan pemanas air (heater)).

4. Relay berfungsi sebagai perantara antara mikrokontroler yang memiliki tegangan 5 volt DC dengan heater yang memiliki tegangan 220 volt AC, sehingga pemanas air (heater) dapat dikendalikan oleh mikrokontroler AT89S52.

5. Pemanas air (heater) berfungsi untuk memanaskan tangki (tempat air) yang akan dikendalikan oleh mikrokontroler setelah mendapatkan data dari sensor temperatur (LM35).


(57)

6. Display berfungsi untuk menampilkan hasil pembacaan temperatur pada sensor temperatur (LM 35) yang berada dalam tangki (tempat air).

7. Keypad 4 x 4 berfungsi untuk memasukkan nilai temperatur yang akan dipertahankan oleh tangki (tempat air).

8. Sensor air berfungsi untuk mendeteksi level bawah dan level atas air. 9. Pompa berfungsi untuk mengisi tangki (tempat air) secara otomatis.

3.2 Perancangan Power Supply Apparatus (PSA)

Rangkaian ini berfungsi untuk mensupply 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 mensupply tegangan ke seluruh rangkaian, sedangkan keluaran 12 volt digunakan untuk mensupply tegangan ke relay. Rangkaian power supply apparatus ditunjukkan pada gambar 3.2 berikut ini :


(58)

Gambar 3.2 Rangkaian Power Supply Apparatus (PSA)

Trafo CT (Center Tap) 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 3300 μF. Dua buah dioda berikutnya berfungsi untuk menahan arus yang ada pada regulator agar tidak balik jika terjadi penarikan arus sesaat dari tegangan 12 volt. Regulator tegangan 5 volt (7805) digunakan agar keluaran yang dihasilkan tetap 5 volt walaupun terjadi perubahan pada tegangan masukannya. LED hanya sebagai indikator apabila PSA dinyalakan. Tegangan 12 volt DC langsung diambil dari keluaran 2 buah dioda penyearah.

3.3 Rangkaian Mikrokontroler AT89S52

Rangkaian ini berfungsi sebagai pusat kendali dari seluruh system yang ada. Komponen utama dari rangkaian ini adalah IC mikrokontroler AT89S52. Pada IC inilah semua program diisikan, sehingga rangkaian dapat berjalan sesuai dengan yang dikehendaki. Rangkaian mikrokontroler ditunjukkan pada gambar berikut ini:

Gambar 3.3 Rangkaian mikrokontroller AT89S52 Gambar 3.3 Rangkaian Mikrokontroler AT89S52


(59)

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 uF yang dihubungkan ke positip 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 :

10 10 1 det

t=R x C= Kx µF = m ik


(60)

3.4 Rangkaian Sensor Temperatur dan ADC

Untuk mengetahui temperatur dalam inkubator, digunakan LM 35 yang merupakan sensor temperatur. Output dari LM 35 ini dimasukkan sebagai input ADC. Rangkaiannya seperti dibawah ini:

Gambar 3.4 Rangkaian Sensor Temperatur dan ADC

Agar output yang dihasilkan oleh ADC bagus, maka tegangan referensi ADC harus benar-benar stabil karena perubahan tegangan referensi pada ADC akan merubah output ADC tersebut. Oleh sebab itu pada rangkaian ADC di atas tegangan


(61)

masukan 12 volt dimasukkan ke dalam IC regulator tegangan 9 volt ( 7809) agar keluarannya menjadi 9 volt, kemudian keluaran 9 volt ini dimasukkan ke dalam regulator tegangan 5 volt (7805), sehingga keluarannya menjadi 5 volt. Tegangan 5 volt inilah yang menjadi tegangan referensi ADC. Dengan demikian walaupun tegangan masukan turun setengahnya, yaitu dari 12 volt menjadi 6 volt, tegangan referensi ADC tetap 5 volt.

Output dari LM 35 diinputkan ke pin 6 ADC yang merupakan pin input. 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 AT89S52. Untuk mendapatkan Vref/2 digunakan dioda zener 5,1 volt, kemudian outputnya dihubungkan ke rangkaian pembagi tegangan.

Output dari ADC dihubungkan ke mikrokontroler sehingga setiap perubahan output ADC yang disebabkan oleh perubahan inputnya (sensor temperatur LM 35) akan diketahui oleh mikrokontoler.


(62)

3.5 Rangkaian Display Sevent Segmen

Rangkaian display sevent segmen ini berfungsi untuk menampilkan nilai dari hasil pengukuran temperatur. Rangkaian display sevent segmen ditunjukkan pada gambar 3.4 berikut ini :

Gambar 3.5 Rangkaian Display Sevent Segmen

Display ini menggunakan 3 buah sevent 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 AT89S52. P3.0 merupakan fasilitas khusus


(63)

pengiriman data serial yang disediakan oleh mikrokontroler AT89S52. 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 sevent segmen agar data tersebut dapat ditampilkan dalam bentuk angka. Sevent segmen yang digunakan adalah tipe common anoda (aktif low), ini berarti segmen akan menyala jika diberi data low (0) dan segmen akan mati jika diberi data high (1).

3.6 Rangkaian Relay

Relay ini berfungsi sebagai saklar elektronik yang dapat menghidupkan/mematikan peralatan elektronik (dalam hal ini pemanas air (heater)). Rangkaian relay pengendali pemanas air (heater) tampak seperti gambar di bawah ini ;


(64)

Gambar 3.6 Rangkaian Relay Pengendali Pemanas Air (Heater) 220 Volt AC Pada rangkaian di atas, untuk menghubungkan rangkaian dengan 220 V 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 positip relay (kaki 1) dihubungkan ke sumber tegangan 12 volt dan negatip 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/mematikan lampu maka kita dapat menghidupkan/ mematikan pemanas air (heater) dengan cara mengaktifkan atau menon-aktifkan relay.

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 negatip relay dihubungkan ke kolektor dari transistor NPN (2SC945). Ini berarti jika transistor dalam keadaan aktif ,maka kolektor akan terhubung ke emiter dimana emiter langsung terhubung ke ground yang menyebabkan tegangan di kolektor menjadi 0 volt. Keadaan ini akan mengakibatkan relay aktif. Sebaliknya jika transistor tidak aktif,


(65)

maka kolektor tidak terhubung ke emiter sehingga tegangan pada kolektor menjadi 12 volt. Keadaan ini menyebabkan tidak aktif.

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 dinon-aktifkan, pada saat ini arus akan terus mengalir melalui kumparan dan arus ini akan dialirkan ke dioda. Tanpa adanya dioda,maka 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 aktif. 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.

Sedangkan untuk rangkaian relay pengendali pompa air ditunjukkan oleh gambar berikut ini:


(66)

Gambar 3.7 Rangkaian Relay Pengendali Pompa Air

Rangkaian ini memiliki cara kerja yang sama dengan rangkaian relay pengendali pemanas air (heater).

3.7 Perancangan Rangkaian Keypad

Rangkaian Keypad berfungsi sebagai tombol untuk memasukan pin. Kemudian data yang diketikkan pada keypad akan diterima oleh mikrokontroler AT89S52 untuk kemudian diolah dan ditampilkan pada display sevent segmen. Rangkaian keypad ditunjukkan pada gambar berikut ini :

Tbl 1 Tbl 2 Tbl 3 Tbl A P1.0

P1.1 P1.2

P1.3

P1.4 P1.5 P1.6


(67)

P1.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 1 mikrokontroler AT89S52.

3.8 Perancangan Rangkaian Sensor Air

Sensor ini berfungsi untuk mengetahui ketika ada air yang mengenai sensor. Sersor ini terdiri dari dua buah kabel tembaga, dimana kabel 1 dihubungkan ke Vcc 5 volt dan yang lainnya dihubungkan ke input dari rangkaian pengolah sinyal. Dua kabel ini akan diletakkan secara berdampingan, tetapi tidak bersentuhan satu dengan yang lain. Sehingga arus tidak akan mengalir dari kabel yang terhubung ke +5 volt menuju kabel yang terhubung ke penguat sinyal. Letaknya ditunjukkan pada gambar berikut:

(A) Ke +5 Volt Kabel (K) Ke penguat sinyal


(68)

Gambar 3.9 Penempatan Sensor Pada Tempat Air

Dari gambar di atas dapat dilihat bahwa jika tidak ada air, maka kedua kabel tidak akan terhubung satu dengan yang lainnya. Jika ada air yang mengenai kedua kabel tersebut, maka kabel akan dihubungkan oleh air, menyebabkan arus akan mengalir dari kabel (A) ke kabel (K), dimana besarnya arus yang mengalir akan ditentukan dengan banyaknya elektron atau unsur logam yang ada pada air.

Arus yang mengalir melalui air ini sangatlah lemah. Hal ini disebabkan karena kadar logam dalam air sangat sedikit. Untuk mengetahui besar arus yang mengalir melalui air dapat dihitung dengan mengetahui nilai hambatan pada air, yaitu dengan cara mengukurnya langsung dengan menggunakan ohmmeter. Untuk air PAM nilai hambatannya adalah 32 KΩ (dimana anoda dan katoda berjarak 5 mm). Dengan demikian maka arus yang mengalir melalui air PAM adalah:

A A

R V

i 0,00015625 156µ

000 . 32

5 = =

= =

Karena arus yang mengalir sangatlah kecil, maka arus ini akan dikuatkan oleh penguat sinyal agar dapat menghidupkan sebuah LED. Berikut gambar rangkaian penguat sensor:


(69)

Gambar 3.10 Rangkaian Penguat Sensor Air

Pada rangkaian di atas, output dari sensor air diumpankan ke Operasional Amplifier atau Op-Amp 358 yang merupakan IC dual Op-Amp untuk diperkuat. Dari Op-Amp dihubungkan ke transistor C945 untuk menghasilkan data digital.

3.9 Perancangan Program

Diagram alir dari program yang akan dibuat adalah:

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

Baca data ADC Ya


(70)

Gambar 3.11 Diagram alir Pemrograman

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 diinputkan melalui keypad, lalu 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 diinputkan dari keypad. Jika tombol “A” ditekan, maka program akan menyimpan nilai masukan ke alamat 63h, kemudian program akan kembali membaca nilai ADC dan menampilkan pada display.


(71)

Selanjutnya program akan membandingkan nilai ADC dengan nilai masukan yang diinputkan 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.

2. Jika nilai ADC lebih kecil dari nilai pada alamat 63h, maka program akan menghidupkan heater dan kembali membaca ADC dan menampilkan hasil pembacaan ke display.

3. Jika nilai ADC lebih besar dari nilai pada alamat 63h, maka program akan mematikan heater dan kembali membaca ADCdan 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” ditekan, maka program akan menampilkan nilai yang ada pada alamat 63h ke display. Selanjutnya program akan melihat apakah ada penekanan pada tombol “B”. Jika tombol “B” ditekan, maka program akan kembali membaca ADC, menampilkannya pada display kemudian membandingkannya. Namun, jika tombol “B” tidak ditekan maka program akan melihat apakah ada penekanan pada tombol


(72)

“#”. Jika tombol “#” ditekan, maka program akan kembali ke awal untuk mengambil masukan dari keypad.


(73)

BAB 4

PENGUJIAN ALAT DAN PROGRAM

4.1 Pengujian Rangkaian Power Supply Apparatus(PSA)

Pengujian pada bagian rangkaian power supply apparatus (catu daya) ini dapat dilakukan dengan mengukur tegangan keluaran dari rangkaian ini dengan menggunakan volt meter digital. Pada power supply apparatus (catu daya) ini terdapat dua keluaran. Dari hasil pengujian diperoleh tegangan keluaran pertama sebesar + 5,1 volt. Tegangan ini dipergunakan untuk mensupply tegangan ke seluruh rangkaian. Mikrokontroler AT89S52 dapat bekerja pada tegangan 4,0 sampai dengan 5,5 volt, sehingga tegangan 5,1 volt ini cukup untuk mensupply tegangan ke mikrokontroler AT89S52. Sedangkan tegangan keluaran kedua sebesar 11,9 volt. Tegangan ini digunakan untuk mensupply tegangan ke relay., dimana relay dapat aktif pada tegangan 9 sampai 15 volt, sehingga tegangan ini sudah memenuhi syarat untuk mengaktifkan relay.


(74)

4.2 Pengujian Rangkaian Mikrokontroler AT89S52

Untuk mengetahui apakah rangkaian mikrokontroler AT89S52 telah bekerja dengan baik, maka dilakukan pengujian.Pengujian bagian ini dilakukan dengan memberikan program sederhana pada mikrokontroler AT89S52. Programnya adalah sebagai berikut:

Loop:

Setb P3.7 Acall tunda Clr P3.7 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 P3.7 selama ± 0,13 detik kemudian mematikannya selama ± 0,13 detik secara terus menerus. Perintah Setb P3.7 akan menjadikan P3.7 berlogika high yang menyebabkan LED mati. Acall tunda akan menyebabkan LED ini mati selama beberapa saat. Perintah Clr P3.7 akan menjadikan P3.7 berlogika low yang menyebabkan LED akan


(75)

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 membutuhkan 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,tnd 2 ret 1


(76)

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 diisikan ke mikrokontroler AT89S52, kemudian mikrokontroler dapat berjalan sesuai dengan program yang diisikan, maka rangkaian minimum mikrokontroler AT89S52 telah bekerja dengan baik.

4.3 Pengujian Rangkaian Display Sevent Segmen

Pengujian pada rangkaian ini dapat dilakukan dengan menghubungkan rangkaian ini dengan rangkaian mikrokontroler, kemudian memberikan data tertentu pada port serial dari mikrokontroler. Sevent segmen yang digunakan adalah common anoda, dimana segmen akan menyala jika diberi logika 0 dan sebaliknya segmen akan mati jika diberi logika 1.

Dari hasil pengujian diperoleh data yang harus dikirimkan ke port serial untuk menampilkan angka desimal adalah sebagai berikut:

Angka Data yang dikirim

1 0EDH


(77)

3 89H

4 0C5H

5 83H

6 03H

7 0E9H

8 01h

9 81H

0 21H

Program yang diisikan pada mikrokontroler untuk menampilkan nilai-nilai tersebut adalah sebagai berikut:

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,$


(78)

sjmp loop

Program di atas akan menampilkan angka 0 pada semua sevent segmen. Sedangkan untuk menampilkan 3 digit angka yang berbeda pada sevent segmen adalah dengan mengirimkan ke 3 data angka yang akan ditampilkan pada sevent segmen. Programnya adalah sebagai berikut :

Loop:

mov sbuf,#bil1 Jnb ti,$

Clr ti

mov sbuf,#bil2 Jnb ti,$

Clr ti

mov sbuf,#bil3 Jnb ti,$

Clr ti sjmp loop

Program di atas akan menampilkan angka 1 pada sevent segmen ketiga, angka 2 pada sevent segmen kedua dan angka 3 pada sevent segmen pertama.


(79)

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 pemanas air (heater) ke tegangan PLN, dimana hubungan yang digunakan adalah normally open (NO), dengan demikian jika relay aktif maka hubungan pemanas air (heater) ke tegangan PLN akan terhubung, sehingga pemanas air (heater) hidup, sebaliknya jika relay tidak aktif, maka pemanas air (heater) dengan tegangan PLN akan terputus, sehingga pemanas air (heater) mati.

Pengujian dilakukan dengan memberikan tegangan 5 volt pada basis transistor, jika relay aktip dan hubungan pemanas air (heater) dengan tegangan PLN terhubung, sehingga pemanas air (heater) hidup, maka rangkaian ini telah berfungsi dengan baik.

Pengujian selanjutnya dilakukan dengan menghubungkan input rangkaian ini ke mikrokontroler pada P0.1 kemudian memberikan program sederhana pada mikrokontroler AT89S52. Program yang diberikan adalah sebagai berikut:

Setb P0.1


(80)

Perintah di atas akan memberikan logika high pada P0.1, sehingga P0.1 akan mendapatkan tegangan 5 volt. Tegangan 5 volt ini akan mengaktifkan transistor C945, sehingga relay juga menjadi aktif dan hubungan pemanas air (heater) dengan tegangan PLN terhubung, sehingga pemanas air (heater) hidup. Berikutnya memberikan program sederhana untuk menonaktifkan relay. Programnya sebagai berikut:

Clr P0.1

. . .

Perintah di atas akan memberikan logika low pada P0.1, sehingga P0.1 akan mendapatkan tegangan 0 volt. Tegangan 0 volt ini akan menonaktifkan transistor C945, sehingga relay juga menjadi tidak aktif dan hubungan pemanas air (heater) dengan tegangan PLN terputus, sehingga pemanas air (heater) mati. Pengujian yang sama juga dilakukan pada rangkaian relay untuk pengendali pompa air.

4.5 Pengujian Rangkaian Keypad

Pengujian rangkaian tombol ini dapat dilakukan dengan menghubungkan rangkaian ini dengan mikrokontroler AT89S52, kemudian memberikan program sederhana untuk mengetahui baik/tidaknya rangkaian ini. Rangkaian dihubungkan ke port 1.


(81)

Untuk 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


(82)

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

1 1 1 0 1 1 1 0

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


(83)

Data pada port 1 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 P3.7

Sjmp Tombol1 Tombol2:

Cjne a,#0DEH,Tombol1 Clr P3.7

Sjmp Tombol1

Program diatas akan menunggu penekanan pada tombol 1 dan tombol 2, jika tombol 1 ditekan, maka program akan menyalakan LED yang ada pada P3.7. Jika tombol 2 ditekan, maka program akan mematikan LED yang ada pada P3.7. Jika


(84)

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 sevent segmen. Mikrokontroler diisi dengan program untuk membaca nilai yang ada pada rangkaian ADC, kemudian hasil pembacaannya ditampilkan pada display sevent segmen. Programnya adalah sebagai berikut :

mov a,p2 mov b,#100 div ab mov 70h,a mov a,b mov b,#10 div ab mov 71h,a mov 72h,b


(85)

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 00010000 00010001 027 028 029 030 031 032 033

Tabel 4.1 Data Pengujian Pada Rangkaian ADC

4.7 Pengujian Rangkaian Sensor Air

Pengujian pada rangkaian dapat dilakukan dengan mengukur tegangan pada output sensor. Dari hasil pengujian didapatkan tegangan sebagai berikut :


(86)

Kondisi Tegangan pada output Sensor tidak terkena air 4,3 volt

Sensor terkena air 0,2 volt


(87)

BAB 5

KESIMPULAN DAN SARAN

5.1 Kesimpulan

1. Sensor temperatur yang digunakan, yaitu LM 35 mengalami perubahan pada outputnya 10 miliVolt setiap derajat celcius.

2. Mikrokontroler tidak dapat mengendalikan pemanas air (heater) dan pompa air secara langsung, karena itu digunakan relay untuk mengendalikannya.

3. Mikrokontroler AT89S52 tidak dapat mengenali data analog, karena itu dibutuhkan ADC yang dapat mengubah masukan analog menjadi output digital, sehingga mikrokontroler mengenali data tersebut.

5.2 Saran

1. Agar tampilan display lebih bagus, sebaiknya digunakan LCD.

2. Agar pengukuran temperatur air lebih merata, maka sebaiknya ditambah beberapa sensor LM 35 pada tiap bagian tangki.

3. Agar rangkaian berjalan dengan baik, maka peletakan alat – alat pendukung dari rangkaian seperti pompa air, keluaran air panas, masukan air dan lain – lainnya juga harus di tata dengan baik.


(88)

DAFTAR PUSTAKA

Agfianto .2004. Belajar Mikrokontroler AT89C51/52/55 Teori dan Aplikasi. Edisi Kedua. Penerbit Gava Media. Yogyakarta Budiharto ,Widodo .2005. Elektronika Digital dan Mikroprosessor.

Penerbit Andi. Yogyakarta.

Millman ,Jacob. 1990. Elektronika Terpadu : Rangkaian dan Sistem Analog Digital. Penerbit Erlangga. Jakarta

Tim Lab Mikroprosesor .2007. Pemrograman Mikrokontroler AT89S51 dengan C/C++ dan Assembler. Penerbit Andi. Yogyakarta

Woollard ,Barry .2003. Elektronika Praktis. Penerbit Pradnya Paramita. Jakart

www.datasheetcatalog.com


(1)

Data pada port 1 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 P3.7

Sjmp Tombol1 Tombol2:

Cjne a,#0DEH,Tombol1 Clr P3.7

Sjmp Tombol1

Program diatas akan menunggu penekanan pada tombol 1 dan tombol 2, jika tombol 1 ditekan, maka program akan menyalakan LED yang ada pada P3.7. Jika


(2)

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 sevent segmen. Mikrokontroler diisi dengan program untuk membaca nilai yang ada pada rangkaian ADC, kemudian hasil pembacaannya ditampilkan pada display sevent segmen. Programnya adalah sebagai berikut :

mov a,p2 mov b,#100 div ab mov 70h,a mov a,b mov b,#10 div ab mov 71h,a mov 72h,b


(3)

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 00010000 00010001 027 028 029 030 031 032 033

Tabel 4.1 Data Pengujian Pada Rangkaian ADC

4.7 Pengujian Rangkaian Sensor Air


(4)

Kondisi Tegangan pada output Sensor tidak terkena air 4,3 volt

Sensor terkena air 0,2 volt


(5)

BAB 5

KESIMPULAN DAN SARAN

5.1 Kesimpulan

1. Sensor temperatur yang digunakan, yaitu LM 35 mengalami perubahan pada outputnya 10 miliVolt setiap derajat celcius.

2. Mikrokontroler tidak dapat mengendalikan pemanas air (heater) dan pompa air secara langsung, karena itu digunakan relay untuk mengendalikannya.

3. Mikrokontroler AT89S52 tidak dapat mengenali data analog, karena itu dibutuhkan ADC yang dapat mengubah masukan analog menjadi output digital, sehingga mikrokontroler mengenali data tersebut.

5.2 Saran

1. Agar tampilan display lebih bagus, sebaiknya digunakan LCD.

2. Agar pengukuran temperatur air lebih merata, maka sebaiknya ditambah beberapa sensor LM 35 pada tiap bagian tangki.

3. Agar rangkaian berjalan dengan baik, maka peletakan alat – alat pendukung dari rangkaian seperti pompa air, keluaran air panas, masukan


(6)

DAFTAR PUSTAKA

Agfianto .2004. Belajar Mikrokontroler AT89C51/52/55 Teori dan Aplikasi. Edisi Kedua. Penerbit Gava Media. Yogyakarta Budiharto ,Widodo .2005. Elektronika Digital dan Mikroprosessor.

Penerbit Andi. Yogyakarta.

Millman ,Jacob. 1990. Elektronika Terpadu : Rangkaian dan Sistem Analog Digital. Penerbit Erlangga. Jakarta

Tim Lab Mikroprosesor .2007. Pemrograman Mikrokontroler AT89S51 dengan C/C++ dan Assembler. Penerbit Andi. Yogyakarta

Woollard ,Barry .2003. Elektronika Praktis. Penerbit Pradnya Paramita. Jakart

www.datasheetcatalog.com