Perancangan Dan Pembuatan Alat Untuk Membuka Dan Menutup Atap Otomatis Menggunakan Sensor Cahaya Pada Miniatur Rumah Kaca Berbasis Mikrokontroller AT89S51

(1)

PERANCANGAN DAN PEMBUATAN ALAT UNTUK

MEMBUKA DAN MENUTUP ATAP OTOMATIS

MENGGUNAKAN SENSOR CAHAYA PADA MINIATUR

RUMAH KACA BERBASIS MIKROKONTROLLER AT89S51

TUGAS AKHIR

BANGKIT KESUMA WARDANA

092408020

PROGRAM STUDI DIII FISIKA

DEPARTEMEN FISIKA

FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM

UNIVERSITAS SUMATERA UTARA

MEDAN


(2)

PERANCANGAN DAN PEMBUATAN ALAT UNTUK

MEMBUKA DAN MENUTUP ATAP OTOMATIS

MENGGUNAKAN SENSOR CAHAYA PADA MINIATUR

RUMAH KACA BERBASIS MIKROKONTROLLER AT89S51

TUGAS AKHIR

Diajukan untuk melengkapi tugas dan memenuhi syarat memperoleh gelar Ahli Madya

PROGRAM STUDI D3 FISIKA DEPARTEMEN FISIKA

FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM UNIVERSITAS SUMATERA UTARA

MEDAN 2012


(3)

PERNYATAAN

PERANCANGAN DAN PEMBUATAN ALAT UNTUK MEMBUKA DAN MENUTUP ATAP OTOMATIS MENGGUNAKAN SENSOR CAHAYA PADA MINIATUR RUMAH KACA BERBASIS MIKROKONTROLLER

AT89S51

TUGAS AKHIR

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

Medan, 31 Juli 2012

BANGKIT KESUMA WARDANA 092408020


(4)

PERSETUJUAN

Judul : PERANCANGAN DAN PEMBUATAN ALAT UNTUK MEMBUKA DAN MENUTUP ATAP OTOMATIS MENGGUNAKAN SENSOR CAHAYA PADA MINIATUR RUMAH KACA BERBASIS MIKROKONTROLLER AT89S51

Kategori : TUGAS AKHIR

Nama : BANGKIT KESUMA WARDANA

No Induk Mahasiswa : 092408020

Program Studi : DIPLOMA III (D3) FISIKA

Departemen : FISIKA

Fakultas : MATEMATIKA DAN ILMU PENGETAHUAN

ALAM (MIPA) UNIVERSITAS SUMATERA UTARA

Diluluskan di Medan, 31 Juli 2012

Disetujui oleh :

Diketahui/Disetujui oleh Program Studi D3 Fisika

Ketua, Pembimbing

Dr. Susilawati, M.Si. Dr. H. Nasruddin MN,M.Eng.SC NIP. 197412072000122001 NIP. 195507061981021002


(5)

PENGHARGAAN

Puji dan syukur penulis panjatkan kepada Allah Subhanahuwata’ala, yang

senantiasa melimpahkan karunia-Nya dan selalu memberikan kemudahan dan kelancaran sehingga penulis dapat menyelesaikan Tugas Akhir ini dalam waktu

yang telah ditetapkan. Dan Sholawat beriring salam semoga senantiasa

tercurahkan kepada Rasulullah sallallahu’alaihiwasalam selalu menjadi inspirasi dan teladan bagi penulis.

Pada kesempatan ini penulis mengucapkan banyak terima kasih penulis sampaikan kepada berbagai pihak yang telah banyak membantu penulis dalam penyelesaian Tugas Akhir ini yaitu kepada:

1. Bapak Dr. Sutarman, M.Sc selaku Dekan Fakultas Matematika dan Ilmu

Pengetahuan Alam Universitas Sumatera Utara.

2. Ibu Dr. Susilawati, M.Sc selaku ketua Program studi D-III Fisika Fakultas

Matematika dan Ilmu Pengetahuan Alam.

3. Bapak Dr. H. Nasruddin MN, M. Eng. Sc. Selaku dosen pembimbing.

4. Bapak/ibu staf pengajar serta seluruh pegawai program studi D-III Fisika

Fakultas Matemetika dan Ilmu Pengetahuan Alam.

5. Teristimewa Ayahanda Selamat Pawiro dan Ibunda Satiah yang telah banyak

memberikan dukungan doa, moril, materil, serta sudah menjadi motivator.

6. Kakak saya Irvan Priandanu dan adik saya Widha Aristia atas dukungan


(6)

7. Rekan–rekan seperjuangan FIN 09 , khususnya Ridho, Zulkarnain, Iqbal, Faisal, Yogi, Syahrial, Aswan, yang telah banyak memberi dukungan semangat dan kerja sama selama masa perkuliahan.

8. Sahabat-sahabat saya Annissa Riafni, Wahyu, Rendhi, Izhar, Wawan, Satria,

dkk yang lainnya terimakasih atas motivasi, kritik dan sarannya.

Penulis menyadari bahwa dalam penyusunan Tugas Akhir ini masih terdapat kekurangan maupun kesalahan. Untuk penulis sangat mengharapkan kritik dan saran dari semua pihak untuk penyempurnaan laporan ini.

Akhirnya penulis berharap semoga Tugas Akhir ini dapat bermanfaat bagi penulis dan pembaca, khususnya rekan-rekan mahasiswa lainnya yang mengikuti perkuliahan di Universitas Sumatera Utara.

Medan, 31 Juli 2012


(7)

ABSTRAK

Kajian ini merupakan pembahasan mengenai perancangan sistem pengendalian intensitas cahaya pada rumah kaca. Sistem pengendalian alat intensitas cahaya pada rumah kaca ini dilengkapi menggunakan mikrokontroler AT89S51 dan Sensor cahaya LDR (Light Defendent Resistor). Dimana mikrokontroller AT89S51 berfungsi sebagai pengendali semua sistem sedangkan LDR digunakan untuk mendeteksi intensitas cahaya pada lingkungan sekitarnya. Ketika sensor LDR menerima sedikit cahaya maka atap akan tertutup dan jika atap terbuka kembali saat LDR mendapat cahaya yang cukup terang. Adapun

untuk menggerakkan atap pada rumah kaca digunakan Motor Stepper. Motor

stepper dikendalikan oleh Driver Motor Stepper. Dalam sistem ini digunakan voltage devider sebagai pembagi tegangan dan relay sebagai saklar. LDR sebagai input akan memberikan nilai yang berubah-ubah ke ADC yang terdapat pada mikrokontroler AT89S51 sesuai dengan intensitas cahaya yang diterimanya.


(8)

DAFTAR ISI

Pernyataan ... i

Persetujuan ... ii

Kata Pengantar ... iii

Abstrak ... v

Daftar isi ... vi

Daftar Gambar ... x

Daftar Tabel ... xi

BAB I : PENDAHULUAN 1.1 Latar Belakang ... 1

1.2 Rumusan Masalah ... 3

1.3 Tujuan Penulisan ... 3

1.4 Batasan Masalah ... 4

1.5 Sistematika Penulisan ... 4

BAB II : LANDASAN TEORI 2.1 Perangkat Keras ... 7

2.1.1 Mikrokontroller AT89S51 ... 7

2.1.2 Konstruksi AT89S51 ... 10

2.1.3 Konfigurasi dan Fungsi Kaki Pin AT89S51 ... 13


(9)

2.1.5 ADC 0804 ... 16

2.1.6 Karakteristik ADC 0804 ... 20

2.1.7 Prinsip Kerja ADC 0804 ... 21

2.1.8 Pin ADC 0804 ... 24

2.1.9 Sensor Cahaya (Light Defendent Resistor) ... 25

2.1.10 Motor Stepper ... 26

2.2 Perangkat Lunak ……... 33

2.2.1 Software 8051 Editor, Assembler, Simulator (IDE) ... 38

2.2.2 Software Downloader ... 39

BAB III : Rancangan Sistem 3.1 Diagram Blok Rangkaian ... 41

3.2 Perancangan Power Supplay (PSA) ... 42

3.3 Rangkaian Mikrokontroller AT89S51 ... 43

3.4 Rangkaian ADC 0804 ... 44

3.5 Rangkaian Driver Motor Stepper ... 46

3.6 Perancangan Rangkaian Sensor Cahaya (LDR) ... 48

BAB IV : PENGUJIAN RANGKAIAN 4.1 Pengujian Rangkaian Power Supplay (PSA) ... 50

4.2 Pengujian Rangkaian Mikrokontroller AT89S51 ... 50


(10)

4.4 Pengujian Rangkaian Driver Motor Stepper ... 53 4.5 Pengujian Sensor Intensitas Cahaya (LDR) ... 56 4.6 Pengujian Alat Secara Keseluruhan ... 57

BAB V : KESIMPULAN DAN SARAN

5.1 Kesimpulan ... 59 5.2 Saran ... 59 Daftar Pustaka


(11)

DAFTAR GAMBAR

Gambar 2.1 Konfigurasi Pin Mikrokontroller AT89S51 ... 13

Gambar 2.2 Skematik ADC 0804 ... 23

Gambar 2.3 ADC 0804 ... 24

Gambar 2.4 Sensor Cahaya (Light Defender Resistor) ... 25

Gambar 2.5 Variable Reluctance ... 28

Gambar 2.6 Konstruksi Motor Stepper Bipolar ... 30

Gambar 2.7 Konstruksi Motor Stepper Unipolar ... 30

Gambar 2.8 Software 8051 Editor, Assembler, Simulator ... 39

Gambar 2.9 ISP-Flash Programer ... 40

Gambar 3.1 Diagram Blok ... 41

Gambar 3.2 Rangkaian Power Supplay (PSA) ... 42

Gambar 3.3 Rangkaian Mikrokontroller AT89S51 ... 43

Gambar 3.4 Rangkaian ADC ... 45

Gambar 3.5 Rangkaian Motor Stepper ... 46


(12)

DAFTAR TABEL

Tabel 2.1 Fungsi Kaki Pin Port 3 AT89S51 ... 14 Tabel 2.2 Arah Perputaran Motor ... 32


(13)

ABSTRAK

Kajian ini merupakan pembahasan mengenai perancangan sistem pengendalian intensitas cahaya pada rumah kaca. Sistem pengendalian alat intensitas cahaya pada rumah kaca ini dilengkapi menggunakan mikrokontroler AT89S51 dan Sensor cahaya LDR (Light Defendent Resistor). Dimana mikrokontroller AT89S51 berfungsi sebagai pengendali semua sistem sedangkan LDR digunakan untuk mendeteksi intensitas cahaya pada lingkungan sekitarnya. Ketika sensor LDR menerima sedikit cahaya maka atap akan tertutup dan jika atap terbuka kembali saat LDR mendapat cahaya yang cukup terang. Adapun

untuk menggerakkan atap pada rumah kaca digunakan Motor Stepper. Motor

stepper dikendalikan oleh Driver Motor Stepper. Dalam sistem ini digunakan voltage devider sebagai pembagi tegangan dan relay sebagai saklar. LDR sebagai input akan memberikan nilai yang berubah-ubah ke ADC yang terdapat pada mikrokontroler AT89S51 sesuai dengan intensitas cahaya yang diterimanya.


(14)

BAB I PENDAHULUAN

1.1. Latar Belakang

Sistem pengendalian merupakan hal yang penting di bidang teknologi dan

industri. Pengendalian secara manual sudah tidak lagi efisien karena akan membutuhkan waktu. Oleh karena itu diperlukan sistem pengendalian secara otomatis.

Pengukuran, pemantauan dan tampilan nilai Intensitas Cahaya adalah bagian yang sering dibutuhkan dilingkungan, dalam suatu sistem elektronik, maupun industri serta merupakan salah satu kunci penting dalam dunia pertanian atau perkebunan. Namun pembutan alat ini dilatar belakangi karena sensor LDR

merupakan salah satu sistem yang penting untuk membangun sebuah Alat

Intensitas Cahaya, yang akan memantau dan mengendalikan Intensitas Cahaya pada suatu ruangan tertentu serta memberikan informasi kepada pemakainya.

Rumah kaca (Green house) adalah bangunan di mana tanaman dibudidayakan.

rumah kaca terbuat dari gelas atau plastik. Rumah kaca dapat menjadi panas karena radiasi elektromagnetik yang datang dari matahari dan memanaskan tumbuhan, tanah, dan barang lainnya di dalam bangunan ini. Rumah kaca melindungi tanaman dari panas dan dingin yang berlebihan, melindungi tanaman dari badai debu dan menolong mencegah hama. Pengontrolan Intensitas Cahaya dapat mengubah tanaman berfotosintesis. Rumah kaca digunakan untuk


(15)

membudidayakan tanaman yang memiliki nilai jual yang tinggi seperti tanaman hias dan buah-buahan.

Sinar matahari yang tersedia dalam jumlah yang cukup besar tersebut tidak dapat dimanfaatkan secara terus menerus. Karena adakalanya sinar matahari tidak ada karena faktor alam dan cuaca, karena mendung atau hujan misalnya. Hal ini tentu menjadi permasalahan dan dapat menggangu proses fotosintesis tanaman yang dibudidayakan pada rumah kaca. Selain itu, rumah kaca pada umumnya tidak dilengkapi perangkat yang dapat mengatasi hal tersebut. Karena rumah kaca pada umumnya tidak dilengkapi peralatan yang dapat mensuplai kebutuhan suhu.

Untuk itu diperlukannya perangkat tambahan pada rumah kaca yang dapat mengendalikan Intensitas Cahaya. Dengan memanfaatkan mikrokontroler ini dapat diciptakan suatu alat secerdas komputer tetapi dengan biaya yang relatife lebih murah daripada komputer. Ketika sensor LDR menerima sedikit cahaya maka atap akan tertutup dan jika atap terbuka kembali saat LDR mendapat cahaya yang cukup terang. Adapun untuk menggerakkan atap pada rumah kaca digunakan Motor Stepper. Motor stepper dikendalikan oleh Driver Motor Stepper.

Dalam sistem ini digunakan voltage devider sebagai pembagi tegangan dan relay sebagai saklar. LDR sebagai input akan memberikan nilai yang berubah-ubah ke ADC yang terdapat pada mikrokontroller AT89S51 sesuai dengan intensitas cahaya yang diterimanya.

Dengan adanya perangkat pengaturan Intensitas Cahaya pada rumah kaca ini diharapkan akan memaksimalkan pemanfaatan rumah kaca sebagai media untuk membudidayakan tanaman, sehingga tanaman dapat mengalami perkembangan


(16)

yang baik serta menghasilkan produksi yang baik pula dan kita juga tidak direpotkan oleh pergantian cuaca.

1.2. Rumusan Masalah

Berdasarkan uraian di atas, dapat dirumuskan beberapa masalah yang dibahas dalam tugas akhir ini , yaitu:

1. Program apa yang diberikan untuk dapat membuka atau menutup atap secara

otomatis.

2. Mikrokontroler AT89S51 berfungsi untuk mengolah data dari sensor LDR.

3. Motor Stepper akan bekerja apabila sensor LDR menerima sedikit cahaya

maka atap akan tertutup dan jika atap terbuka kembali saat LDR mendapat cahaya yang cukup terang.

4. Bagaimana cara kerja ADC (Analog to Digital Converter) 0804 yang

berfungsi untuk mengubah besaran analog menjadi besaran digital.

1.3. Tujuan Penulisan

Adapun tujuan dari penulisan tugas akhir ini adalah sebagai berikut:

1. Untuk memenuhi salah satu syarat dalam menyelesaikan studi program studi

DIII Fisika di Fakultas MIPA Universitas Sumatera Utara.

2. Dalam pengembangan merancang suatu alat instrumentasi cerdas alat untuk

membuka dan menutup atap pada miniatur rumah kaca sehingga dapat dikendalikan secara otomatis, efektif dan efisien.

3. Memahami bagaimana cara mengintegrasikan program dalam sebuah sistem

mikroprosesor terpadu untuk menghasilkan sebuah alat yang sederhana dan tepat guna.


(17)

4. Memanfaatkan sensor LDR sebagai alat mendeteksi intensitas cahaya, ADC 0804 sebagai pengubah data analog dari sensor LDR menjadi data digital serta motor stepper untuk membuka dan menutup atap.

1.4. Batasan Masalah

Mengingat keterbatasan kemampuan penulis dan waktu pelaksanaan

pembuatan tugas akhir, maka dibuat batasan masalah sebagai berikut :

1. Mikrokontroler yang digunakan adalah jenis AT89S51.

2. Sensor Intensitas Cahaya yang digunakan sensor LDR.

3. Untuk membuka dan menutup atap ruangan digunakan motor stepper dengan

memanfaatkan sinar cahaya matahari.

1.5. Sistematika Penulisan

Untuk mempermudah pembahasan dan pemahaman maka penulis membuat

sistematika pembahasan bagaimana sebenarnya prinsip kerja sistem pengaturan atap otomatis, maka penulis menulis tugas akhir ini sebagai berikut:


(18)

BAB I. PENDAHULUAN

Dalam bab ini berisikan mengenai latar belakang, rumusan masalah, tujuan penulisan, batasan masalah, serta sistematika penulisan.

BAB II. 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 mikrokontroller AT89S51 (hardware dan software), bahasa program yang digunakan. serta karekteristik dari komponen-komponen pendukung.

BAB III. PERANCANGAN ALAT

Pada bagian ini akan dibahas perancangan dari alat, yaitu diagram blok dari rangkaian, skematik dari masing-masing rangkaian.

BAB IV. PENGUJIAN RANGKAIAN

Pada bab ini akan dibahas hasil analisa dari rangkaian dan sistem kerja alat, penjelasan mengenai program-program yang digunakan untuk mengaktifkan rangkaian, dan diagram alir dari program yang akan diisikan ke mikrokontroller AT89S51.

BAB V. KESIMPULAN DAN SARAN

Bab ini merupakan penutup yang meliputi tentang kesimpulan yang dilakukan dari tugas akhir ini serta saran apakah yang diberikan agar rangkaian ini dapat dibuat lebih efisien dan


(19)

dikembangkan perakitannya pada suatu metode lain yang mempunyai sistem kerja yang sama.


(20)

BAB II

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 mikrokontroller ini ada beberapa macam, diantaranya yang paling terkenal adalah AT89S51. Selain mengunakan mikrokontroller juga digunakan LDR sebagai sensor cahaya dan ADC sebagai pengkonversi besaran analog menjadi besaran digital. Selain itu juga terdapat beberapa perangkat seperti : Mikrokontroller AT89S51, ADC 0804, Sensor LDR, Motor stepper dan Driver motor stepper.

2.1.1. Mikrokontroller AT89S51

Mikrokontroller 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 mikrokontroller didesain dengan komponen-komponen yang minimum dan dipakai untuk orientasi kontrol. Programnya tidak berukuran besar dan disimpan dalam ROM. Akibat perbedaan aplikasinya dengan mikroprosesor, mikrokontroller juga mempunyai kebutuhan set intruksi yang


(21)

berbeda dengan mikroprosesor. Tidak seperti sistem komputer, yang mampu menangani berbagai macam program aplikasi (misalnya pengolahan kata, pengolahan angka dan lain sebagainya), mikrokontroller 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 mikrokontroller ROM dan RAM-nya terbatas.

Mikroprosesor biasanya mempunyai set instruksi yang sangat lengkap, sedangkan mikrokontroller mempunyai set instruksi yang lebih sederhana, terutama dipakai untuk mengontrol antar muka input dan output yang menggunakan bit tunggal (singgel bit). Mikrokontroller 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.

Adapun kelebihan dari mikrokontroller adalah sebagai berikut :

1. Penggerak pada mikrokontoller menggunakan bahasa pemograman assembly

dengan berpatokan pada kaidah digital dasar sehingga pengoperasian sistem menjadi sangat mudah dikerjakan sesuai dengan logika sistem (bahasa

assembly ini mudah dimengerti karena menggunakan bahasa assembly aplikasi dimana parameter input dan output langsung bisa diakses tanpa menggunakan

banyak perintah). Desain bahasa assembly ini tidak menggunakan begitu

banyak syarat penulisan bahasa pemrograman seperti huruf besar dan huruf kecil untuk bahasa assembly tetap diwajarkan.


(22)

2. Mikrokontroller tersusun dalam satu chip dimana prosesor, memori, dan I/O terintegrasi menjadi satu kesatuan kontrol sistem sehingga mikrokontroller dapat dikatakan sebagai komputer mini yang dapat bekerja secara inovatif sesuai dengan kebutuhan sistem.

3. Sistem running bersifat berdiri sendiri tanpa tergantung dengan komputer

sedangkan parameter komputer hanya digunakan untuk download perintah

instruksi atau program. Langkah-langkah untuk download komputer dengan

mikrokontroller sangat mudah digunakan karena tidak menggunakan banyak perintah.

4. Pada mikrokontroller tersedia fasilitas tambahan untuk pengembangan

memori dan I/O yang disesuaikan dengan kebutuhan sistem.

5. Harga untuk memperoleh alat ini lebih murah dan mudah didapat.

6. Mikrokontroller AT89S51 adalah standart International.

AT89S51 merupakan keluaran atmel dengan 4 Kbyte Flash PEROM (Programmable and Erasable Read Only Memory). Isi memori tersebut dapat diisi ulang ataupun dihapus berkali-kali. AT89S51 merupakan memori dengan teknologi non-volatile memory (data tidak hilang walaupun catu daya dimatikan).

Memori ini biasa digunakan untuk menyimpan instruksi berstandar MCS-51 code

sehingga memungkinkan mikrokontroller ini bekerja dalam mode single chip

operation (mode operasi keping tunggal) yang tidak memerlukan external memory (memori luar) untuk menyimpan source code tersebut.

Beberapa fasilitas yang dimiliki oleh mikrokontroller AT89S51 adalah sebagai berikut :


(23)

b. Osilatc : internal dan rangkaian pewaktu

c. RAM internal 128 byte

d. Flash memori 4 Kbyte

e. Lima buah jalur interupsi (dua buah interupsi eksternal dan tiga buah interupsi internal)

f. Empat buah programable port I/0 yang masing-masing terdiri dari delapan

buah jalur I/0

g. Sebuah port serial dengan kontrol serial full duplex UART

h. Kemampuan untuk melaksanakan operasi aritmatika dan operasi logika

i. Kecepatan dalam melaksanakan instruksi per siklus 1 mikrodetik pada

frekuensi.

2.1.2. Konstruksi AT89S51

Mikrokontroller AT89S51 hanya memerlukan tambahan 3 kapasitor, 1 resistor dan 1 kristal serta catu daya 5 volt. Kapasitor 10 micro-farad dan resistor 10 kilo Ohm dipakai untuk membentuk rangkaian riset. Dengan adanya rangkaian riset ini AT89S51 otomatis diriset begitu rangkaian menerima catu daya. Kristal dengan frekuensi maksimum 12 MHz dan kapasitor 30 piko-farad dipakai untuk

melengkapi rangkaian oscilator pembentuk clock yang menentukan kecepatan

kerja Microcontroller.

Memori merupakan bagian yang sangat penting pada Mikrokontroller. Mikrokontroller memiliki dua macam memori yang sifatnya berbeda :


(24)

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

2. Random Access Memory (RAM) isinya akan sirna begitu IC kehilangan catu daya, dipakai untuk menyimpan data pada saat program bekerja. RAM yang dipakai untuk menyimpan data ini disebut sebagai memori data.

Ada berbagai jenis ROM. Untuk Mikrokontroller dengan program yang sudah baku dan diproduksi secara massal, program diisikan kedalam ROM pada saat IC Mikrokontroller dicetak dipabrik IC. Untuk keperluan tertentu

Mikrokontroller menggunakan ROM yang dapat diisi ulang atau

Programble-Eraseable ROM yang disingkat menjadi PROM (PEROM). Dulu banyak

UV-EPROM (Ultra Violet Eraseable Programble ROM) yang kemudian dinilai mahal

dan ditinggalkan setelah ada flash PEROM yang harganya jauh lebih murah. Flash PEROM adalah Memori yang digunakan untuk menyimpan instruksi-instruksi

MCS51. Flash PEROM dialamati oleh Program Address Register. AT89S51

mempunyai 4Kb Flash PEROM, yaitu ROM yang dapat ditulis ulang atau dihapus

menggunakan sebuah perangkat programmer, yang mempunyai kemampuan

untuk ditulis ulang hingga 1000 kali. Program yang ada pada Flash PEROM akan

dijalankan pada saat sistem di-reset, pin EA/VP berlogika 1 sehingga

mikrokontroller aktif berdasarkan program yang ada pada Flash PEROM-nya. Namun jika pin EA/VP berlogika 0, mikrokontroller aktif berdasarkan program yang ada pada memori eksternal. .


(25)

Jenis memori yang dipakai untuk memori program AT89S51 adalah flash PEROM, program untuk mengendalikan Mikrokontroller diisikan ke memori itu

lewat bantuan alat yang dinamakan sebagai AT89S51 flash PEROM Programmer.

Memori data yang disediakan dalam chip AT89S51 sebesar 128 kilo byte meskipun hanya kecil saja tapi untuk banyak keperluan memori kapasitas itu sudah cukup. Sarana Input/Output yang disediakan cukup banyak dan bervariasi. AT89S51 mempunyai 32 jalur Input/Output paralel dikenal sebagai Port 1 (P1.0 … P1.7) dan Port 3 (P3.0 … P3.7).

AT89S51 dilengkapi UART (Universal Asyncronous Receiver /Transmiter) yang biasa dipakai untuk komunikasi data secara seri. Jalur untuk komunikasi data seri (RXD dan TXD) diletakkan berhimpitan dengan P1.0 dan P1.1. pada kaki nomor 2 dan 3, sehingga kalau sarana input/output 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/output paralel kalau T0 dan T1 dipakai.

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

Port1 dan 2, UART, Timer 0, Timer 1 dan sarana lainnya merupakan yang

secara fisik merupakan RAM khusus, yang ditempatkan di Special Function


(26)

2.1.3. Konfigurasi dan Fungsi Kaki Pin AT89S51

Mikrokontroller AT89S51 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 mikrokontroller AT89S51 seperti pada gambar 2.1. :

Gambar 2.1. Konfigurasi Pin Mikrokontroler AT89S51

Pada Gambar 2.1. terlihat bahwa AT89S51 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.

Susunan pena – pena mikrokontroller AT89S51 dapat dijelaskan sebagai berikut :

1. Pin 1 sampai 8 (Port 1) merupakan port pararel 8 bit dua arah (bidirectional) yang dapat digunakan untuk berbagai keperluan (general purpose).

2. Pin 9 merupakan pin reset, reset aktif jika mendapat catuan tinggi.

3. Pin 10 sampai 17 (Port 3) gambar 2.1 port pararel 8 bit dua arah yang


(27)

Tabel 2.1. Fungsi Pengganti

4. Pin 18 sebagai XTAL 2, keluaran osilator yang terhubung pada kristal.

5. Pin 19 sebagai XTAL 1, masukan ke osilator berpenguatan tinggi, terhubung

pada kristal.

6. Pin 20 sebagai Vss, terhubung ke 0 atau ground pada rangkaian.

7. Pin 21 sampai 28 (Port 2) adalah port pararel 8 bit dua arah. Port ini mengirim byte alamat bila pengaksesan dilakukan pada memori eksternal.

8. Pin 29 sebagai PSEN (Program Store Enable) adalah sinyal yang digunakan

untuk membaca, memindahkan program memori eksternal (ROM / EPROM) ke mikrokontroler (aktif low).

9. Pin 30 sebagai ALE (Address Latch Enable) untuk menahan alamat bawah

selama mengakses memori eksternal. Pin ini juga berfungsi sebagai PROG

(aktif low) yang diaktifkan saat memprogram internal flash memori pada

mikrokontroler (on chip).

10.Pin 31 sebagai EA (External Accesss) untuk memilih memori yang akan


(28)

eksternal (EA = Vss), juga berfungsi sebagai Vpp (programming supply voltage) pada saat memprogram internal flash memori pada mikrokontroler.

11.Pin 32 sampai 39 (Port 0) merupakan port pararel 8 bit dua arah. Berfungsi

sebagai alamat bawah yang dimultipleks dengan data untuk mengakses program dan data memori eksternal.

12.Pin 40 sebagai Vcc, terhubung ke +5 V sebagai catuan untuk mikrokontroler.

2.1.4. Antarmuka Serial AT89S51

Pada port serial AT89S51 penerimaan dan pengiriman data port serial melalui register SBUF. Penulisan ke SBUF berarti mengisi register pengiriman ke SBUF, sedangkan pembacaan dari SBUF berarti membaca register penerimaan SBUF. Port serial pada AT89S51 bisa digunakan dalam 4 mode kerja yang berbeda, terdiri dari 1 mode bekerja secara sinkron dan 3 lainnya bekerja secara asinkron.

Adapun mode kerja dari port serial, antara lain yaitu :

1. Mode 0 : Mode ini bekerja secara sinkron, data serial dikirim dan diterima melalui kaki P3.0 (Rxd), sedangkan kaki P3.1 (Txd) digunakan untuk menyalurkan detak pendorong data serial yang dibangkitkan oleh AT89S51. Data dikirim dan diterima 8 bit sekaligus dimulai dari bit LSB dan diakhiri dengan bit MSB. Kecepatan boud rate 1/12 frekuensi kristal yang digunakan. 2. Mode 1 : Pada mode ini data dikirim melalui kaki P3.1 (Txd) dan diterima

melalui kaki P3.0 (Rxd) secara asinkron (juga mode 2 dan 3). Pada mode 1 data dikirim atau diterima 10 bit sekaligus, diawali dengan 1 bit start, disusul dengan 8 bit data yang dimulai dari bit LSB dan diakhiri dengan 1 bit stop.


(29)

Pada AT89S51/52 yang berfungsi sebagai penerima bit stop adalah RB8

dalam register SCON. Kecepatan boud rate bisa diatur sesuai dengan

keperluan dengan menggunakan timer. Mode 2 dan 3 yang umum dikenal

dengan UART.

3. Mode 2 : Data dikirim atau diterima 11 bit sekaligus, diawali dengan 1 bit

start, disusul 8 bit data, kemudian bit ke 9 yang bisa diatur lebih lanjut,

diakhiri dengan 1 bit stop. Pada AT89S51/52 yang berfungsi sebagai

pengirim, bit 9 tersebut berasal dari bit TB8 dalam register SCON dan yang berfungsi sebagai penerima, bit 9 ditampung pada bit RB8 dalam register SCON, sedangkan bit stop diabaikan tidak ditampung. Boud rate bisa dipilih antara 1/32 atau 1/64 frekuensi kristal yang digunakan.

4. Mode 3 : Mode ini sama dengan mode 2 hanya saja boud rate-nya bisa diatur sesuai dengan keperluan seperti mode1.

2.1.5. ADC 0804

Analog digital converter (ADC) adalah perangkat untuk menkonversi sinyal masukan dalam bentuk tegangan analog menjadi sinyal keluaran dalam bentuk digital. Dimana output yang dihasilkan ADC sebanding dengan input yang diberikan. Proses pengubahan ini dikenal juga dengan nama sistem akusisi data. Umumnya ADC digunakan sebagai perantara antara sensor yang kebanyakan analog dengan sistim komputer seperti sensor suhu, cahaya, tekanan atau berat, aliran dan sebagainya kemudian diukur dengan menggunakan sistim digital (komputer). Hal-hal yang juga perlu diperhatikan dalam penggunaan ADC adalah tegangan maksimum yang dapat dikonversikan oleh ADC dari rangkaian


(30)

pengkondisi sinyal, resolusi, pewaktu eksternal ADC, tipe keluaran, ketepatan dan waktu konversinya.

Menurut cara pengkonversiannya, ADC dapat dikelompokkan dalam beberapa jenis yaitu:

1. Tipe integrating

Tipe integrating menawarkan resolusi tertinggi dengan biaya terendah.

ADC tipe ini tidak dibutuhkan rangkaian sample hold. Tipe ini memiliki

kelemahan yaitu waktu konversi yang agak lama, biasanya beberapa milidetik. 2. Tipe tracking

Tipe tracking menggunakan prinsip up down counter (pencacah naik dan

pencacah turun). Fungsinya adalah Binary counter (pencacah biner) akan mendapat masukan clock secara kontinyu dan hitungan akan bertambah atau berkurang tergantung pada kontrol dari pencacah apakah sedang naik (up

counter) atau sedang turun (down counter). ADC tipe ini tidak

menguntungkan jika dipakai pada sistem yang memerlukan rangkaian sample

hold.

ADC tipe ini sangat tergantung pada kecepatan clock pencacah, semakin

tinggi nilai clock yang digunakan, maka proses konversi akan semakin

singkat.

3. Tipe flash/ paralel

Tipe ini dapat menunjukkan konversi secara lengkap pada kecepatan 100 MHz dengan rangkaian kerja sederhana. Sederetan tahanan mengatur masukan

inverting dari tiap-tiap konverter menuju tegangan yang lebih tinggi dari


(31)

range, komparator dengan bias di bawah Vin akan mempunyai keluaran rendah.

Keluaran komparator ini tidak dalam bentuk biner murni. Suatu dekoder dibutuhkan untuk membentuk suatu keluaran yang biner. Beberapa komparator berkecepatan tinggi, dengan waktu tunda (delay) kurang dari 6 ns banyak digunakan karena itu dihasilkan kecepatan konversi yang sangat tinggi. Jumlah komparator yang dibutuhkan untuk suatu konversi n bit adalah 2n-1.

4. Tipe successive approximation

Tipe successive approximation merupakan suatu konverter yang paling

sering ditemukan dalam dasar perangkat keras yang menggunakan ADC. Tipe ini memiliki kecepatan konversi cukup tinggi meskipun dari segi harga relatif mahal. Prinsip kerja konverter tipe ini adalah dengan membangkitkan pertanyaan yang pada intinya berupa tebakan nilai digital terhadap nilai

tegangan analog yang dikonversikan. Apabila resolusi ADC ini adalah 2n

maka diperlukan maksimal n kali tebakan.

Komparator digunakan untuk membandingkan keluaran D/A dengan masukan analog Vin. Keluaran komparator digunakan untuk mencek register pendekatan berurutan (Successive Approximation Register – SAR). Setelah menerima pulsa mulai konversi, SAR akan mengeluarkan bit-bit untuk diubah menjadi tegangan analog oleh suatu pengubah D/A, mula SAR akan mengaktifkan MSB, yang akan menghasilkan suatu tegangan analog pada keluaran pengubah D/A. tegangan ini dibandingkan dengan Vin. Bila V1 < Vin maka MSB dibiarkan tinggi(“1”), bila V1 > Vin maka MSB dibuat “0”.


(32)

Pada contoh kita V1 < Vin sehingga MSB dibuat “1”. Selanjutnya bit no 2 diaktifkan dibuat 1 dan keluaran pengubah D/A yang baru dibandingkan lagi dengan Vin . pada contoh V2 < Vin sehingga bit no 2 dibuat juga 1. kemudian bit no 3 dibuat 1. terakhir bit no 4 (LSB) dibuat “1”. Akan tetapi V4 > Vin, maka bit no 4 dibuat 0. keadaan akhir pada keluaran SAR adalah (1110)2 menyatakan keluaran digital untuk Vin.

Jenis ADC yang biasa digunakan dalam perancangan adalah jenis

successive approximation convertion (SAR) atau pendekatan bertingkat yang memiliki waktu konversi jauh lebih singkat Pemilihan ADC umumnya ditentukan oleh metode yang digunakan untuk konversi data, sedangkan Rentang tegangan masukan analog maksimum adalah watak untai ADC yang digunakan sehingga masukan analog yang akan dimasukkan ke ADC tersebut terlebih dahulu harus disesuaikan dengan tegangan analog maksimal yang diizinkan. Resolusi ADC berkaitan dengan cacah bit dan rentang tegangan pada masukan analog.

Dengan pertimbangan diatas penulis sengaja memilih ADC 0804 sebagai Konverter A/D . ADC 0804 adalah suatu IC CMOS pengubah analog ke digital 8-bit dengan satu kanal masukan. 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 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


(33)

ADC ini relatif cepat dan mempunyai ukuran kecil. Keuntungan tambahan adalah setiap sampling diubah dalam selang waktu yang sama tidak tergantung pada arus masukan dan secara keseluruhan ditentukan oleh frekuensi yang mengandalkan clock dan resolusi dari pengubah. Kekurangan pengubah jenis ini adalah mempunyai kekebalan rendah terhadap noise dan diperlukan adanya pengubah digital ke analog yang tepat dan pembanding dengan unjuk kerja yang tinggi.

2.1.6. Karakteristik IC ADC 0804

IC ADC 0804 adalah sebuah piranti yang dirancang untuk mengubah sinyal-sinyal analog menjadi sinyal-sinyal digital. IC ADC 0804 dianggap dapat memenuhi kebutuhan dari rangkaian yang akan dibuat. IC jenis ini bekerja secara cermat dengan menambahakan sedikit komponen sesuai dengan spesifikasi yang harus diberikan dan dapat mengkonversikan secara tepat masukan tegangan.

ADC bayank tersedia dipasaran Beberapa karakteristik dari ADC 0804

adalah sebagai berikut :

1. Memiliki 2 masukan analog yaitu Vin (+) dan Vin (-) sehingga

memperbolehkan masukan selisih (diferensial). Dengan kata lain, tegangan masukan analog yang sebenarnya adalah selisih dari masukan kedua pin {analog Vin = Vin (+) – Vin (-)}. Jika hanya satu masukan, maka Vin dihubungkan ke ground. Pada operasi normal, ADC menggunakan Vcc =+5 sebagai tegangan refrensi dan masukan analog memiliki dari 0 sampai 5V pada skala penuh.


(34)

2. Mengubah tegangan analog menjadi keluaran digital 8 bit. Sehingga resolusinya adalah 5V/255 = 19,6 mV

3. Memiliki pembangkit detak (clock) internal yang menghasilkan frekuensi

F=1/(1,1RC), dengan R dan C adalah komponen eksternal.

4. Memiliki koneksi ground yang berbeda antara tegangan digital dan analog.

Kaki 8 adalah ground analog. Kaki 10 adalah ground digital.

2.1.7. Prinsip Kerja ADC 0804

Ada banyak cara yang dapat digunakan untuk mengubah sinyal analog menjadi sinyal digital yang nilainya proposional. Secara singkat prinsip kerja dari konverter A/D adalah semua bit-bit diset deretan data biner bit mulai dari MSB dan diakhiri dengan LSB. Selama proses perhitungan biner, register akan memonitor output komparator untuk melihat jika perhitungan biner kurang atau lebih besar dari input analog kemudian diuji, dan bilamana perlu sesuai dengan kondisi yang telah ditentukan. Dengan rangkaian yang paling cepat, konversi akan diselesaikan sesudah 8 clock, dan keluaran D/A merupakan nilai analog yang ekivalen dengan nilai register SAR. Apabila konversi telah dilaksanakan, rangkaian kembali mengirim sinyal selesai konversi yang berlogika rendah. Sisi turun sinyal ini akan menghasilkan data digital yang ekivalen ke dalam register buffer. Dengan demikian, keluaran digital akan tetap tersimpan sekalipun akan di mulai siklus konversi yang baru.

IC ADC 0804 mempunyai dua masukan analog, Vin (+) dan Vin (-), sehingga dapat menerima masukan diferensial. Masukan analog sebenarnya (Vin) sama dengan selisih antara tegangan-tegangan yang dihubungkan dengan ke dua


(35)

pin masukan yaitu Vin= Vin (+) – Vin (-). Kalau masukan analog berupa tegangan tunggal, tegangan ini harus dihubungkan dengan Vin (+), sedangkan Vin (-) digroundkan. Untuk operasi normal, ADC 0804 menggunakan Vcc = +5 Volt sebagai tegangan referensi. Dalam hal ini jangkauan masukan analog mulai dari 0 Volt sampai 5 Volt (skala penuh), karena IC ini adalah SAC 8-bit, resolusinya akan sama dengan :

... (2.1)

(n) menyatakan jumlah bit keluaran biner IC analog to digital converter) IC ADC 0804 memiliki generator clock intenal yang harus diaktifkan dengan menghubungkan sebuah resistor eksternal (R) antara pin CLK OUT dan CLK IN serta sebuah kapasitor eksternal (C) antara CLK IN dan ground digital. Frekuensi clock yang diperoleh di pin CLK OUT sama dengan :

... (2.2)

Untuk sinyal clock ini dapat juga digunakan sinyal eksternal yang dihubungkan ke pin CLK IN. ADC 0804 memilik 8 keluaran digital sehingga dapat langsung dihubungkan dengan saluran data mikrokomputer. Masukan (chip select, aktif rendah) digunakan untuk mengaktifkan ADC 0804 seperti pada gambar 2.2 :


(36)

Gambar 2.2. Skematik ADC 0804

Pada ADC 0804 ini, terdapat dua jenis prinsip didalam melakukan

konversi, yaitu free running dan mode control. Pada mode free running, ADC

akan mengeluarkan data hasil pembacaan input secara otomatis dan berkelanjutan (continue). Pada mode ini pin INTR akan berlogika rendah setelah ADC selesai melakukan konversi, logika ini dihubungkan kepada masukan WR untuk

memerintahkan ADC memulai konversi kembali. Prinsip yang kedua yaitu mode

control, pada mode ini ADC baru akan memulai konversi setelah diberi instruksi dari mikrokontroler. Instruksi ini dilakukan dengan memberikan pulsa rendah kepada masukan WR sesaat +1ms, kemudian membaca keluaran data ADC setelah keluaran INTR berlogika rendah. Pada penelitian ini, prinsip konversi yang digunakan adalah mode control.

Secara umum Rangkaian di dalam IC ADC memiliki 2 bagian utama, yaitu:

a. Bagian Sampling dan Hold, yang berfungsi menangkap atau menahan

tagangan analog input sesaat untuk seterusnya diumpankan ke rangkaian pengonversi.


(37)

2.1.8. Pin Pada ADC 0804

Pin pada ADC 0804 seperti pada gambar 2.3 :

Gambar 2.3. ADC 0804 Fungsinya sebagai berikut :

1. Pin WR (Write), pulsa high pada input write maka ADC akan melakukan

konversi data, tegangan analog menjadi data digital. Pin WR dihubungkan

dengan pin INTR. Setelah selesai konversi pin INTR akan memberi pulsa low

pada pin WR.

2. Pin INTR (Interrupt), bila konversi data analog menjadi digital telah selesai

maka pin INTR akan mengeluarkan pulsa low ke pin WR. Perangkat ADC

dapat diopersikan dalam mode free running dengan menghubungkan pin INT

ke input WR.

3. Pin CS (Chip select), agar ADC dapat aktif , melakukan konversi data maka

input chip select harus diberi logika low. Data output akan berada pada kondisi three state apabila CS mendapat logika high.

4. Pin RD (Read), agar data ADC data dapat dibaca oleh sistem mikroprosessor


(38)

5. Pin Vin (+) dan Vin (-) merupakan input tegangan deferensial yang akan mengambil nilai selisih dari kedua input. Dengan memanfaatkaninput Vin maka dapat dilakukan offset tegangan nol pada ADC.

6. Pin Vref, tegangan referensi dapat diatur sesuai dengan input tegangn pada Vin (+) dan Vin (-), Vref = Vin / 2.

Vresolusi = Vin max / 255.

7. Pin CLOCK, clock untuk ADC dapat diturunkan pada clock CPU atau RC

eksternal dapat ditambahkan untuk memberikan generator clock dari dalam CLK In menggunakan schmitt triger.

2.1.9. Sensor Cahaya (Light Defendent Resistor)

LDR (Light Dependent Resistor) merupakan suatu resistor yang nilai

hambatannya tergantung pada intensitas cahaya. Tampilan fisik dan simbol LDR dapat dilihat pada gambar 2.4 :

Gambar 2.4. Sensor Cahaya (Light Defender Resistor)

Biasanya LDR (atau lebih dikenal dengan fotoresistor) dibuat berdasarkan kenyataan bahwa film kadmium sulfida mempunyai tahanan yang besar kalau tidak terkena cahaya dan tahanannya akan menurun kalau permukaan film itu


(39)

terkena sinar. Resistor peka cahaya atau fotoresistor adalah komponen elektronik yang resistansinya akan menurun jika ada penambahan intensitas cahaya yang

mengenainya. Fotoresistor dapat merujuk pula pada light dependent resistor

(LDR), atau fotokonduktor.

Fotoresistor dibuat dari semikonduktor beresistansi tinggi. Jika cahaya yang mengenainya memiliki frekuensi yang cukup tinggi, foton yang diserap oleh semikonduktor akan menyebabkan elektron memiliki energi yang cukup untuk meloncat ke pita konduksi. Elektron bebas yang dihasilkan (dan pasangan lubangnya) akan mengalirkan listrik, sehingga menurunkan resistansinya. Besarnya tahanan LDR / fotoresistor dalam kegelapan mencapai jutaan ohm dan turun sampai beberapa ratus ohm dalam keadaan terang. LDR dapat digunakan

dalam suatu jaringan kerja (network) pembagi potensial yang menyebabkan

terjadinya perubahan tegangan kalau sinar yang datang berubah. LDR digunakan untuk mendeteksi intensitas cahaya, yang mana intensitas cahaya sendiri dinyatakan dalam dua satuan fisika, yaitu lumens per meter persegi dan Watt per meter persegi. Kedua satuan itu agak berbeda. yang satu berdasarkan pada kepekaan mata manusia, yang satu lagi berdasarkan energi listrik yang dialirkan ke sumber cahaya.

2.1.10.Motor Stepper

Motor stepper adalah motor listrik yang dikendalikan dengan pulsa-pulsa digital, bukan dengan memberikan tegangan yang terus-menerus. Deretan pulsa diterjemahkan menjadi putaran shaft, dimana setiap putaran membutuhkan jumlah. pulsa yang ditentukan. Satu pulsa menghasilkan satu kenaikan putaran


(40)

atau step, yang merupakan bagian dari satu putaran penuh. Oleh karena itu, perhitungan jumlah pulsa dapat diterapkan untuk mendapatkan jumlah putaran yang diinginkan. Perhitungan pulsa secara otomatis menujukkan besarnya putaran yang telah dilakukan, tanpa memerlukan informasi balik(feedback).

Ketepatan kontrol gerak motor stepper terutama dipengaruhi oleh jumlah step tiap putaran; semakin banyak jumlah step, semakin tepat gerak yang dihasilkan. Untuk ketepatan yang lebih tinggi, beberapa driver motor stepper membagi step normal menjadi setengah step(half step) atau mikro step. Pada motor stepper umumnya tertulis spesifikasi Np (= pulsa / rotasi). Sedangkan kecepatan pulsa diekspresikan sebagai pps (= pulsa per second) dan kecepatan

putar umumnya ditulis sebagai ω (= rotasi / menit atau rpm). Kecepatan putar

motor stepper (rpm) dapat diekspresikan menggunakan kecepatan pulsa (pps) sebagai berikut.

... (2.3)

Oleh karena 1 rotasi = 360°, maka tingkat ketelitian motor stepper dapat diekspresikan dalam rumus sebagai berikut.


(41)

Variable Reluctance (VR) motor stepper jenis ini memiliki bentuk rotor yang unik yaitu berbentuk silinder dan pada semua unitnya memiliki gerigi yang memiliki hubungan dengan kutub-kutub stator. Rotor pada magnet tipe ini tidak menggunakan magnet permanent. Stator terlilit oleh lilitan sehingga pada saat teraliri arus, stator akan menghasilkan kutub magnet. Jumlah gerigi pada rotor akan menentukan langkah atau step motor. Perbedaan motor stepper berjenis PM dengan VR yaitu motor berjenis VR memiliki torsi yang relatif lebih kecil dibanding dengan motor stepper berjenis PM. Hal lain yang dapat dilihat adalah sisa kemagnetan sangat kecil sehingga pada saat motor stepper tidak dialiri arus maka ketika diputar tidak ada torsi yang melawan. Sudut langkah motor stepper berjenis VR ini bervariasi yaitu sekitar sampai dengan 30°. Motor stepper berjenis VR ini memiliki torsi yang kecil. Sering ditemukan pada printer dan instrumen-instrumen pabrik yang ringan yang tidak membutuhkan torsi yang besar variabel Reluctance pada gambar 2.5 :

Gambar 2.5. Variable Reluctance

Seperti pada gambar diatas, motor mempunyai 3 pasang kutub stator (A, B, C) yang diset terpisah 15 derajat. Arus dialirkan ke kutub A melalui lilitan motor yang menyebabkan tarikan magnetik yang menyejajarkan gigi rotor kekutub A. Jika kita memberi energi kekutub B maka akan menyebabkan rotor


(42)

berputar 15 derajat sejajar kutub B. Proses ini akan berlanjut kekutub C dan kembali kekutub A searah dengan jarum jam.

Pada dasarnya prinsip kerja motor stepper sama dengan motor DC, yaitu membangkitkan medan magnet untuk memperoleh gaya tarik ataupun gaya tolak menolak dengan menggunakan catu tegangan DC pada lilitan/kumparannya. Motor stepper menggunakan gaya tarik untuk menarik fisik kutub magnet yang berlawanan sedekat mungkin ke posisi kutub magnet yang dihasilkan oleh kumparan.

Dilihat dari lilitannya motor stepper terbagi menjadi 2 jenis yaitu :

a. Motor Stepper Bipolar

Motor stepper bipolar memiliki empat kabel masukan. Namun untuk menggerakan motor stepper tipe ini lebih rumit jika dibandingkan dengan menggerakan motor stepper tipe unipolar. Sebagai gambaran dapat dilihat konstruksi motor stepper bipolar pada gambar 2.6 :

Gambar 2.6. Konstruksi Motor Stepper Bipolar

Untuk motor stepper dengan lilitan bipolar, diperlukan sinyal pulsa yang berubah-ubah dari positif ke negatif dan sebaliknya. Jadi pada setiap terminal lilitan (A & B) harus dihubungkan dengan sinyal yang mengayun dari positif ke


(43)

negatif dan sebaliknya. Karena itu dibutuhkan rangkaian pengendali yang lebih kompleks daripada rangkaian pengendali untuk motor unipolar.

b. Motor Stepper Unipolar

Motor stepper unipolar terdiri dari dua lilitan yang memiliki center tap. Center tap dari masing masing lilitan ada yang berupa kabel terpisah sudah terhubung didalamnya sehingga center tap yang keluar hanya satu kabel. Center tap dari motor stepper dapat dihubungkan ke ground atau dapat juga yang menghubungkannya ke +Vcc, tergantung pada driver yang digunakan. Sebagai gambaran dapat dilihat konstruksi motor stepper unipolar pada gambar 2.7 :

Gambar 2.7. Konstruksi Motor Stepper Unipolar

Rangkaian pengendali motor stepper unipolar lebih mudah dirancang karena hanya memerlukan satu switch pada setiap lilitannya. Agar motor ini berputar, tegangan positif diberikan pada terminal center tap, kemudian tegangan positif diberikan secara bergantian dan berurutan terus- menerus pada keempat terminal masing-masing lilitan. Oleh karena itu, pada alat ini digunakan motor stepper jenis unipolar.

Pada motor stepper ini, suplai tegangan yang dibutuhkan adalah V = 12 volt dan sudut rotasi 1,80 per step. Maka dalam satu putaran penuh (3600) terjadi


(44)

3600/1,80= 200 step (Np). Kecepatan pulsa diekspresikan sebagai pps (= pulsa per

second) dan kecepatan putar umumnya ditulis sebagai ω (= rotasi / menit atau

rpm). Kecepatan putar motor stepper (rpm) dapat dihitung menggunakan rumus

pada kecepatan pulsa (pps) sebagai berikut.

[

rotasi menit

]

Np pps / 60 = ω ... (2.5) pps Np 60 = ω ... (2.6)

Dengan : Np = step/putaran (pulsa/rotasi)

pps = pulsa per detik

Torsi yang dapat dihasilkan oleh motor stepper dapat dihitung berdasarkan perbandingan daya kerja motor terhadap kecepatan putarannya. Atau dapat dirumuskan sebagai berikut:

ω τ = P

... (2. 7)

dengan P adalah daya kerja motor dalam satuan watt dan ω adalah kecepatan

perputaran motor dalam satuan rotation per minute (rpm).

Untuk mengetahui beban maksimum yang dapat digerakkan motor stepper dapat diperoleh dengan menghitung torsi dengan menggunakan rumus:


(45)

r F. =

τ

... (2.8)

dengan F adalah gaya berat yang bekerja terhadap motor dan r adalah jarak

sumbu putar pada motor. Gaya berat yang bekerja terhadap motor dapat dituliskan dengan:

F = m.g (Newton) ... (2.9)

Dengan : m = massa (kg)

g = percepatan gravitasi (m/s2).

Motor stepper dapat diatur posisinya dengan akurat pada posisi tertentu dan dapat berputar kearah yang diinginkan dengan memberi pulsa-pulsa digital dengan pola seperti pada table 2.2 dibawah ini. Untuk memutar motor stepper adalah dengan memberi pulsa ke koil secara berurutan dari koil 1 ke koil 2, dan seterusnya. Arah putaran motor stepper tergantung urutan pulsa yang diberikan ke koil, apabila diinginkan putaran dengan arah yang berlawanan, maka urutan pulsa yang dimasukkan ke koil juga bergeser berlawanan arah jarum jam. Dari gambar 2.7 diperoleh tabel 2.2 :

Putaran Searah jarum jam Berlawanan arah jarum jam

koil 1 koil 2 koil 3 koil 4 koil 1 koil 2 koil 3 koil 4

step 1 1 0 0 0 0 0 0 1

step 2 0 1 0 0 0 0 1 0

step 3 0 0 1 0 0 1 0 0

step 4 0 0 0 1 1 0 0 0


(46)

Pada tabel 2.2 diatas, ‘1’ diartikan bahwa lilitan yang bersangkutan dilewati arus sehingga menghasilkan gaya tolak untuk rotor, sedangkan ‘0’ diartikan lilitan dalam kondisi off, yakni tidak mendapatkan arus. Pada tabel juga ditunjukkan, untuk membalik putaran motor stepper cukup membalik urutan pemberian pulsa pada lilitan. Untuk memperlambat atau mempercepat putaran motor stepper, dengan mengatur waktu urutan pemberian pulsa, akan tetapi, pemberian waktu pulsa jika terlalu lamban akan menyebabkan motor stepper bergetar dan jika terlalu cepat akan mengakibatkan motor tidak mau berputar.

2.2. Perangkat Lunak

Bahasa yang digunakan untuk memprogram IC mikrokontroller AT89S51

adalah bahasa assembly untuk MCS-51 merupakan jumlah instruksi, pada bahasa ini hanya ada 51 instruksi. Dari instruksi, yang sering digunakan orang hanya 10 instruksi, instruksi tersebut adalah :

1. Instruksi MOV

Perintah ini merupakan perintah untuk mengisikan nilai ke alamat atau register tertentu. Pengisian nilai dapat secara langsung atau tidak langsung.

Contoh pengisian nilai secara langsung

MOV R0,#20h

Perintah diatas berarti : isikan nilai 20 heksadesimal ke register 0 (R0). Tanda # sebelum bilangan menunjukkan bahwa bilangan tersebut adalah nilai. Contoh pengisian nilai secara tidak langsung :


(47)

MOV 20h,#80h

…………

…………

MOV R0,20h

Perintah diatas berarti : isikan nilai yang terdapat pada alamat 20 heksadesimal ke register 0 (R0).

Tanpa tanda # sebelum bilangan menunjukkan bahwa bilangan tersebut adalah alamat.

2. Instruksi DJNZ

Decreament Jump If Not Zero (DJNZ) ini merupakan perintah untuk mengurangi nilai register tertentu dengan 1 dan lompat jika hasil pengurangannya belum nol.

Contoh ,

MOV R0,#80h

Loop: …………

…………

DJNZ R0,Loop


(48)

R0 -1, jika belum 0 lompat ke loop, jika R0 = 0 maka program akan meneruskan ke perintah pada baris berikutnya.

3. Instruksi ACALL

Instruksi ini berfungsi untuk memangggil suatu rutin tertentu.

Contoh :

…………

ACALL TUNDA

…………

TUNDA :

…………

4. Instruksi RET

Instruksi RETURN (RET) ini merupakan perintah untuk kembali ke rutin pemanggil setelah instruksi ACALL dilaksanakan.

Contoh :

ACALL TUNDA

…………

TUNDA:

…………


(49)

5. Instruksi JMP (JUMP)

Instruksi ini merupakan perintah untuk lompat ke alamat tertentu.

Contoh:

Loop:

………

………

JMP Loop

6. Instruksi JB (JUMP IF BIT)

Instruksi ini merupakan perintah untuk melompat ke alamat tertentu, jika pin yang dimaksud berlogika high (1).

Contoh :

Loop:

JB P1.0,Loop

………

7. Instruksi JNB (JUMP IF NOT BIT)

Instruksi ini merupakan perintah untuk lompat ke alamat tertentu, jika pin yang dimaksud berlogika low (0).


(50)

JNB P1.0,Loop

…………

8. Instruksi CJNE (COMPARE JUMP IF NOT EQUEL)

Instruksi ini berfungsi untuk membandingkan nilai dalam suatu register dengan suatu nilai tertentu.

Contoh :

Loop:

………

CJNE R0,#20h,loop

………

Jika nilai R0 tidak sama dengan 20h, maka program akan lompat ke rutin Loop.

Jika nilai R0 sama dengan 20h, maka program akan melanjutkan instruksi selanjutnya.

9. Instruksi DEC (DECREMENT)

Instruksi ini merupakan perintah untuk mengurangi nilai register yang dimaksud dengan 1. contoh :


(51)

……

DEC R0 R0 = R0 – 1

……

10.Instruksi INC (INCREMENT)

Instruksi ini merupakan perintah untuk menambahkan nilai register yang dimaksud dengan 1.

Contoh:

MOV R0,#20h R0 = 20h

…………

INC R0 R0 = R0 + 1

…………

2.2.1. Software 8051 Editor, Assembler, Simulator (IDE)

Instruksi-instruksi yang merupakan bahasa assembly tersebut dituliskan pada sebuah editor, yaitu 8051 Editor, Assembler, Simulator seperti pada gambar 2.8 :


(52)

Gambar 2.8. Software 8051 Editor, assembler, simulator

Software 8051IDE ini berfungsi untuk merubah program yang kita tuliskan ke dalam bilangan heksadesimal, dimana proses perubahan ini terjadi pada saat kita meng-Assemble program tersebut. Bilangan heksadesimal hasil proses inilah yang dikirim ke mikrokontroller. Kemudian instruksi-instruksi (program-program) tersebut akan di-save dan kemudian di-Assemble (di-Compile). Pada saat di-Assemble maka akan tampil pesan peringatan dan kesalahan. Jika masih ada peringatan tersebut, itu berarti masih ada kesalahan dalam penulisan instruksi atau ada nama subrutin yang sama. sehingga harus diperbaiki terlebih dahulu sampai tidak ada pesan kesalahan lagi.

2.2.2. Software Downloader

Untuk mengirimkan bilangan-bilangan heksadesimal ini ke

mikrokontroller digunakan software ISP-Flash Programer yang dapat di download dari internet. Tampilannya seperti gambar 2.9 :


(53)

Gambar 2.9. ISP-Flash Programer

Cara menggunakannya adalah dengan meng klik open file untuk mengambil file heksadesimal dari hasil kompilasi 8051 IDE, kemudian klik write untuk mengisikan hasil kompilasi tersebut ke mikrokontroller.


(54)

BAB III

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 diagram blok seperti gambar 3.1 :

Gambar 3.1. Diagram Blok Rangkaian

Disain sistem rangkaian terdiri dari:

1. Sensor LDR berfungsi untuk mendeteksi ada tidaknya cahaya sinar matahari

kemudian output sensor ini akan diinputkan ke ADC 0804.

2. ADC 0804 berfungsi untuk merubah tegangan analog dari sensor LDR

menjadi data digital 8 bit, sehingga data tersebut dapat diolah oleh mikrokontroler AT89S51.

3. Mikrokontroler AT89S51 berfungsi untuk mengolah data digital yang

dikirimkan oleh ADC 0804, selanjutnya mikrokontroller akan menggerakkan motor stepper.

Sensor ADC Mikrokontroller AT89S51

Motor Driver Motor


(55)

Vreg LM7805CT IN OUT TIP32C 100ohm 100uF 330ohm 220V 50Hz 0Deg

TS_PQ4_12 2200uF 1uF 1N5392GP 1N5392GP 12 Volt 5 Volt

4. Sensor hanya melihat kondisi terang (atap terbuka) dan kondisi gelap (atap

tertutup), untuk menggerakkan atap ruangan digunakan motor stepper.

3.2. 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. Rangkaian power supplay ditunjukkan pada gambar 3.2 :

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


(56)

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.3. Rangkaian Mikrokontroler AT89S51

Rangkaian ini berfungsi sebagai pusat kendali dari seluruh system yang ada. Kompoen 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 3.3 :

Gambar 3.3. Rangkaian Mikrokontroller 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


(57)

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 aktip. Lamanya waktu antara aktipnya power pada IC mikrokontroler dan aktipnya 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 ... (3.1)

Jadi 1 mili detik setelah power aktip pada IC kemudian program aktip.

3.4. Rangkaian ADC

Rangkaian ADC ini berfungsi untuk merubah data analog yang dihasilkan oleh LDR menjadi bilangan digital. output dari ADC dihubungkan ke mikrokontroler. Sehingga mikrokontroler dapat mendeteksi tingkat intensitas cahaya di dalam ruangan Dengan demikian proses pengukuran suhu dan pengaturan tingkat pencayaan dapat dilakukan. Gambar rangkaian ADC ditunjukkan pada gambar 3.4 :


(58)

Gambar.3.4 Rangkaian ADC

Input ADC dihubungkan LDR, sehingga setiap perubahan tegangan pada

LDR akan dideteksi oleh 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.

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


(59)

Output dari ADC dihubungkan ke mikrokontroler, sehingga setiap perubahan output ADC yang disebabkan oleh perubahan inputnya akan diketahui oleh mikrokontoller.

3.5. Rangkaian Driver Motor Stepper

Agar intensitas cahaya yang masuk ke dalam ruangan dapat di atur sesuai dengan keinginan kita maka dibutuhkan suatu rangkaian yang dapat mengendalikan tingkat intensitas cahaya yang masuk tersebut. Rangkaian ini digunakan untuk mengendalikan ventilasi sehingga dengan cara menutup dan membuka ventilasi kita dapat mengendalikan tingkat intensitas cahaya yang masuk ke dalam ruangan tersebut. Rangkaian ini menggunakan otor stepper dan driver stepper. Motor stepper berfungsi untuk membuka ventilasi dan driver stepper berfungsi untuk mengendalikan motor stepper.rangkaian pengendali motor stepper dapat dilihat pada gambar 3.5 :


(60)

Driver ini berfungsi untuk memutar motor stepper searah dengan jarum jam atau berlawanan arah dengan jarum jam. Rangkaian ini akan dikendalikan oleh mikrokontroler AT89S51. Jadi dengan memberikan sinyal high secara bergantian ke input dari rangkaian driver motor stepper tersebut, maka pergerakan motor stepper sudah dapat dikendalikan oleh mikrokontroler AT89S51.

Rangkaian driver motor stepper ini terdiri dari empat masukan dan empat keluaran, dimana masing-masing masukan dihubungkan dengan mikrokontroler AT89S51 dan keluarannya dihubungkan ke motor stepper. Rangkaian ini akan bekerja memutar motor stepper jika diberi sinyal high (1) secara bergantian pada ke-4 masukannya.

Rangkaian ini terdairi dari 4 buah transistor NPN TIP 122. Masing-masing transistor dihubungkan ke P0.0, P0.1, P0.2 dan P0.3 pada mikrokontroler AT89S51. Basis dari masing-masing transistor diberi tahanan 10 Kohm untuk membatasi arus yang masuk ke transistor. Kolektor dihubungkan dengan kumparan yang terdapat pada motor stepper, kemudian kumparan dihubungkan dengan sumber tegangan 12 volt.dan emitor dihubungkan ke ground.

Jika P0.0 diberi logika high (1), yang berarti basis pada transistor TIP 122 mendapat tegangan 5 volt, maka transistor akan aktip. Hal ini akan menyebabkan terhubungnya kolektor dengan emitor, sehingga kolektor mendapatkan tegangan 0 volt dari ground. Hal ini menyebabkan arus akan mengalir dari sumber tegangan 12 volt ke kumparan, sehingga kumparan akan menghasilkan medan magnet. Medan magnet ini akan menarik logam yang ada pada motor, sehingga motor mengarah pada kumparan yang memiliki medan magnet tesebut.


(61)

Jika kemudian P0.0 di beri logika low (0), yang berarti transistor tidak aktip dan tidak ada arus yang mengair pada kumparan, sehingga tidak ada medan magnet pada kumparan. Dan disisi lain P0.1 diberi logika high (1), sehingga kumparan yang terhubung ke P0.1 akan menghasilkan medan magnet. Maka motor akan beralih kearah kumparan yang terhubung ke P0.1 tersebut. Seterusnya jika logika high diberikan secara bergantian pada input dari driver motor stepper, maka motor stepper akan berputar sesuai dengan arah logika high (1) yang diberikan pada inputnya.

Untuk memutar dengan arah yang berlawanan dengan arah yang sebelumnya, maka logika high (1) pada input driver motor stepper harus diberikan secara bergantian dengan arah yang berlawanan dengan sebelumnya.

3.6. Perancangan Rangkaian Sensor Cahaya (LDR)

Untuk dapat menggerakkan drive motor steper, maka alat dilengkapi dengan sebuah sensor. Sensor yang digunakan adalah sensor LDR. LDR atau Light Dipendent Resistor adalah salah satu jenis resistor yang dinilai hambatannya dipengaruhi oleh cahaya yang diterimanya. LDR dibuat ddari Cadmium Sulfida yang peka terhadap cahaya. Seperti yang telah diketahui bahwa cahaya memiliki dua sifat yang berbeda yaitu sebagai gelombang elektromagnetik dan foton/partikel energi (dualisme cahaya). Saat cahaya menerangi LDR, foton akan menabrak ikatan cadmium sulfida dan melepaskan elektron yang terlepas dari ikatan. Sehingga hambatan LDR akan turun saat cahaya meneranginya. LDR akan mempunyai hambatan yang sangar besar saat tak ada cahaya yang meneranginya


(62)

(gelap). Dalam kondisi ini hambatan LDR mampu mencapai 1 M ohm akan tetapi saat terkena cahaya, hambatan LDR akan turun secara drastis, hingga kira-kira 250 ohm.

Tegangan tersebut belum dapat mengaktifkan transistor C945 dengan demikian tegangan kolektor-emitor berkisar antara 4.5 V -5 V. Teganagan inilah yang merupakan sinyal high (1) yang diumpankan pada mikrokontroller.


(63)

BAB IV

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 volt meter digital. Pada power supplay ini terdapat dua keluaran, yaitu hasil pengujian 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 mikrokontroller AT89S51. Sedangkan hasil pengujian tegangan keluaran kedua sebesar 11,9 volt, tegangan ini digunakan untuk mensupplay tegangan ke relay, dimana relay dapat aktip pada tegangan 9 sampai 15 volt, sehingga tegangan ini sudah memenuhi syarat untuk mengaktipkan relay.

4.2. Pengujian Rangkaian Mikrokontroller AT89S51

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


(64)

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

membutuhkan waktu = 12 1

12MHz = mikrodetik.


(65)

mov r7,#255

Tnd: mov r6,#255

djnz r6,$ 255 x 2 = 510 x 255 = 131.070 = 131.073 djnz r7,loop3

ret

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

4.3. 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,p2 mov b,#100 div ab mov 70h,a mov a,b mov b,#10


(66)

div ab mov 71h,a mov 72h,b

Dengan program di atas, maka akan tampil nilai intensitas cahaya yang dideteksi oleh sensor Ldr.

4.4. Pengujian Rangkaian Driver Motor Stepper

Rangkaian driver motor stepper ini terdiri dari empat masukan dan empat keluaran, dimana masing-masing masukan dihubungkan dengan mikrokontroler AT89S51 dan keluarannya dihubungkan ke motor stepper. Rangkaian ini akan bekerja memutar motor stepper jika diberi sinyal high (1) secara bergantian pada ke-4 masukannya. Rangkaiannya seperti gambar 4.1 :


(67)

Rangkaian ini terdairi dari 4 buah transistor NPN TIP 122. Masing-masing transistor dihubungkan ke P0.0, P0.1, P0.2 dan P0.3 pada mikrokontroler AT89S51. Basis dari masing-masing transistor diberi tahanan 10 Kohm untuk membatasi arus yang masuk ke transistor. Kolektor dihubungkan dengan kumparan yang terdapat pada motor stepper, kemudian kumparan dihubungkan dengan sumber tegangan 12 volt.dan emitor dihubungkan ke ground.

Jika P0.0 diberi logika high (1), yang berarti basis pada transistor TIP 122 mendapat tegangan 5 volt, maka transistor akan aktip. Hal ini akan menyebabkan terhubungnya kolektor dengan emitor, sehingga kolektor mendapatkan tegangan 0 volt dari ground. Hal ini menyebabkan arus akan mengalir dari sumber tegangan 12 volt ke kumparan, sehingga kumparan akan menghasilkan medan magnet. Medan magnet ini akan menarik logam yang ada pada motor, sehingga motor mengarah pada kumparan yang memiliki medan magnet tesebut.

Jika kemudian P0.0 di beri logika low (0), yang berarti transistor tidak aktip dan tidak ada arus yang mengair pada kumparan, sehingga tidak ada medan magnet pada kumparan. Dan disisi lain P0.1 diberi logika high (1), sehingga kumparan yang terhubung ke P0.1 akan menghasilkan medan magnet. Maka motor akan beralih kearah kumparan yang terhubung ke P0.1 tersebut. Seterusnya jika logika high diberikan secara bergantian pada input dari driver motor stepper, maka motor stepper akan berputar sesuai dengan arah logika high (1) yang diberikan pada inputnya.


(68)

Untuk memutar dengan arah yang berlawanan dengan arah yang sebelumnya, maka logika high (1) pada input driver motor stepper harus diberikan secara bergantian dengan arah yang berlawanan dengan sebelumnya.

Program yang diberikan pada driver motor stepper untuk memutar motor stepper adalah sebagai berikut :

mov a,#11h putar:

mov P0,a acall tunda Rl a

jmp putar

Program diawali dengan memberikan nilai 11h pada pada accumulator (a), kemudian program akan memasuki rutin buka pintu. Nilai a diisikan ke port 0, sehingga sekarang nilai port 0 adalah 11h. ini berarti P0.0 dan P0.4 mendapatkan logika high sedangkan yang lainnya mendapatkan logika low.

Program dilanjutkan dengan memanggil rutin tunda. Lamanya tunda akan mempengaruhi kecepatan perputaran motor. Semakin lama maka tunda, maka perputaran motor akan semakin lambat. Perintah berikutnya adalah Rl a,perintah ini akan memutar nilai yang ada pada accumulator (a).

Nilai pada accumulator (a) yang awalnya 11h, setelah mendapat perintah Rl a, maka nilai pada accumulator (a) akan merubah menjadi 22h. Kemudian program akan melihat apakah kondisi sensor buka pintu dalam keadaan high (1) atau low (0). Jika high (1), Nilai yang ada pada accumulator (a), akan kembali diisikan ke


(69)

port 0, maka nilai di port 0 akan berubah menjadi 22h, ini berarti P0.1 dan P0.5 mendapatkan logika high sedangkan yang lainnya mendapatkan logika low.

Sebelumnya telah dibahas bahwa P0.0, P0.1, P0.2, dan P0.3 dihubungkan ke masukan driver motor stepper, dengan program di atas maka P0.0, P0.1, P0.2, dan P0.3 akan mendapatkan nilai high (1) secara bergantian. Hal ini menyebabkan motor stepper akan berputar membuka pintu. Hal yang sama juga berlaku ketika motor berputar kaearah sebaliknya, perbedaannya hanya pada perintah rotate. Jika pada perintah berlawanan arah jarum jam digunakan rotate left ( Rl ), maka pada perintah searah jarum jam digunakan perintah rotate right ( Rr).

4.5. Pengujian Sensor Intensitas Cahaya (LDR)

Dalam perakitan sensor cahaya ada 3 langkah yang dilakukan pertama adalah pengujian karakteristik LDR, kedua perancangan sensor cahaya dan yang ketiga adalah pengujian sensor cahaya berupa lampu yang dapat diseting intensitas cahayanya, kemudian pin LDR dihubungkan ke multimeter digital. Pada saat pengujian lux meter digunakan untuk mendeteksi intensitas cahaya. Pembacaan pada multimeter berupa kenaikan dan penurunan nilai resistansi dari LDR, idealnya ketika LDR terkena cahaya hambatan atau resistansinya akan menurun dan sebaliknya jika LDR tidak terkena cahaya maka nilai hambatann akan naik.

Untuk mengetahui apakah rangkaian mikrokontroler AT89S51 telah bekerja dengan baik, maka dilakukan pengujian. Pengujian bagian ini dilakukan dengan memberikan program sederhana pada mikrokontroler AT89S51.


(70)

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 sacara terus menerus. Perintah Setb P3.7 akan menjadikan P3.7 berlogika high yang menyebabkan LED mati. Acall tunda menyebabkan LED ini mati selama beberapa saat. Perintah Clr P3.7 akan menjadikan P3.7 berlogika low yang menyebabkan LED akan menyala. Perintah Acall tunda akan menyebabkan LED ini menyala selama beberapa saat. Perintah Loop akan menjadikan program tersebut berulang, sehingga akan tampak LED tersebut tampak berkedip.

4.6. Pengujian Alat Secara Keseluruhan

Setelah dilakukan pengujian secara keseluruhan pada alat tersebut yang merupakan gabungan dari beberapa jenis rangkaian dengan fungsi dan karakteristik yang berbeda-beda yang tersusun menjadi satu kesatuan. Walaupun


(71)

tiap rangkaian memiliki fungsi dan karakteristik yang berbeda-beda, teapi dalam mekanisme kerja semua rangkaian tersebut saling melakukan kerja yang terintegrasi. Sehingga kerja yang dihasilkan juga sesuai yang diharapkan. Rangkaian-rangkaian tersebut selanjutnya dihubungkan sedemikian rupa antara yang satu dengan lainnya sesuai dengan mekanisme kerja yang diharapkan. Adapun rangkaian yang diuji adalah rangkaian PSA, rangkaian ADC 0804, rangkaian mikrokontroller dan rangkaian motor stepper.

Setelah keseluruhan dibuat dan diuji serta program lengkap dimasukkan ke mikrokontroller AT89S51, maka berikut ini adalah rangkaian kerja dari alat ini:

1. Pada saat PSA dihidupkan, program pada mikrokontroller akan berjalan dan

akan memberikan perintah pada tiap-tiap rangkaian. LDR akan mendeteksi cahaya.

2. Jika sensor cahaya terkena cahaya matahari maka nilai tahanan LDR akan

berkurang sehingga arus yang mengalir semakin besar. Jika intensitas bertambah maka pengeluaran akan high dan sinyal ini akan dikirimkan ke mikrokontroller dan mikrokontroller mengirim sinyal ke driver motor sehingga motor stepper akan berputar ke kiri atau ke kanan sesuai dengan program yang diberikan.

3. Jika rangkaian tidak ada yang terhubung singkat atau bocor atau jika ada

komponen yang rusak maka rangkaian akan berjalan sesuai yang diinginkan.

4. Jika ada kerusakan pada rangkaian maka diperiksa tiap sambungan ataupun

tiap jalur menggunakan multimeter.


(72)

BAB V

KESIMPULAN DAN SARAN

5.1. Kesimpulan

1. Program yang dimasukkan kedalam mikrokontroller dapat menjalankan

sistem dan dapat bekerja dengan baik.

2. Pada saat kondisi gelap maka sensor cahaya (LDR) akan menghidupkan

rangkaian untuk menutup atap dan pada saat kondisi terang maka sensor cahaya (LDR) akan menghidupkan rangkaian untuk membuka atap.

3. Mikrokontroller AT89S51 tidak dapat mengendalikan motor stepper

secara langsung, oleh sebab itu digunakan sensor LDR untuk mengendalikannya.

4. Mikrokontroller AT89S51 tidak dapat mengendali data analog, oleh sebab

itu digunakan ADC yang dapat mengubah data analog menjadi digital, sehingga mikrokontroller mengendalikan data tersebut.

5.2. Saran

1. Dengan memperhatikan beberapa kelemahan dan kekurangan dari tugas

akhir ini secara keseluruhan diberikan saran untuk sekiranya tugas akhir ini dapat dikembangnkan pada masa yang akan datang agar lebih


(73)

DAFTAR PUSTAKA

Agfianto. 2004. Belajar Mikrokontroler AT89C51/52/55 Teori dan Aplikasi. Edisi Kedua. Yogyakarta: Gava Media.

Andi.2003.Panduan Praktis Teknik Antarmuka dan Pemrograman Mikrokontroler

AT89C51. Jakarta: PT Elex Media Kamputindo.

Budiharto,widodo.2005.Perancangan Sistem dan aplikasi mikrokontroller.

Jakarta.

Endra Pirowarno, 1998, “Mikrokontroller dan Intefacing”, Edisi1, Yogyakarta : Andy.

Malvino, Albert Paul, 2003, “Prinsip-prinsip Elektronika”, Jilid 1&2”, Edisi Pertama, Penerbit :Salemba Teknik, Jakarta.

Pitowarno, Endra. 2005. Mikroprosesor & interfacing. Yogyakarta: Andy.

Setiawan,S.2006. Mudah dan Menyenangkan Belajar Mikrokontroller.

Yogyakarta: Andi.

Tirtamihardja H.Samuel.1996.Elektronika Digital.Jilid I.Edisi I. Yogyakarta: Andy.

Usman, 2008, “Teknik Antarmuka + Pemograman Mikrokontroller AT89S51”,


(74)

www.belajar-elektronika:blogspot.com. diakses Tanggal 24 Juli, 2012


(1)

port 0, maka nilai di port 0 akan berubah menjadi 22h, ini berarti P0.1 dan P0.5 mendapatkan logika high sedangkan yang lainnya mendapatkan logika low.

Sebelumnya telah dibahas bahwa P0.0, P0.1, P0.2, dan P0.3 dihubungkan ke masukan driver motor stepper, dengan program di atas maka P0.0, P0.1, P0.2, dan P0.3 akan mendapatkan nilai high (1) secara bergantian. Hal ini menyebabkan motor stepper akan berputar membuka pintu. Hal yang sama juga berlaku ketika motor berputar kaearah sebaliknya, perbedaannya hanya pada perintah rotate. Jika pada perintah berlawanan arah jarum jam digunakan rotate left ( Rl ), maka pada perintah searah jarum jam digunakan perintah rotate right ( Rr).

4.5. Pengujian Sensor Intensitas Cahaya (LDR)

Dalam perakitan sensor cahaya ada 3 langkah yang dilakukan pertama adalah pengujian karakteristik LDR, kedua perancangan sensor cahaya dan yang ketiga adalah pengujian sensor cahaya berupa lampu yang dapat diseting intensitas cahayanya, kemudian pin LDR dihubungkan ke multimeter digital. Pada saat pengujian lux meter digunakan untuk mendeteksi intensitas cahaya. Pembacaan pada multimeter berupa kenaikan dan penurunan nilai resistansi dari LDR, idealnya ketika LDR terkena cahaya hambatan atau resistansinya akan menurun dan sebaliknya jika LDR tidak terkena cahaya maka nilai hambatann akan naik.

Untuk mengetahui apakah rangkaian mikrokontroler AT89S51 telah bekerja dengan baik, maka dilakukan pengujian. Pengujian bagian ini dilakukan dengan memberikan program sederhana pada mikrokontroler AT89S51.


(2)

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 sacara terus menerus. Perintah Setb P3.7 akan menjadikan P3.7 berlogika high yang menyebabkan LED mati. Acall tunda menyebabkan LED ini mati selama beberapa saat. Perintah Clr P3.7 akan menjadikan P3.7 berlogika low yang menyebabkan LED akan menyala. Perintah Acall tunda akan menyebabkan LED ini menyala selama beberapa saat. Perintah Loop akan menjadikan program tersebut berulang, sehingga akan tampak LED tersebut tampak berkedip.

4.6. Pengujian Alat Secara Keseluruhan

Setelah dilakukan pengujian secara keseluruhan pada alat tersebut yang merupakan gabungan dari beberapa jenis rangkaian dengan fungsi dan karakteristik yang berbeda-beda yang tersusun menjadi satu kesatuan. Walaupun


(3)

tiap rangkaian memiliki fungsi dan karakteristik yang berbeda-beda, teapi dalam mekanisme kerja semua rangkaian tersebut saling melakukan kerja yang terintegrasi. Sehingga kerja yang dihasilkan juga sesuai yang diharapkan. Rangkaian-rangkaian tersebut selanjutnya dihubungkan sedemikian rupa antara yang satu dengan lainnya sesuai dengan mekanisme kerja yang diharapkan. Adapun rangkaian yang diuji adalah rangkaian PSA, rangkaian ADC 0804, rangkaian mikrokontroller dan rangkaian motor stepper.

Setelah keseluruhan dibuat dan diuji serta program lengkap dimasukkan ke mikrokontroller AT89S51, maka berikut ini adalah rangkaian kerja dari alat ini:

1. Pada saat PSA dihidupkan, program pada mikrokontroller akan berjalan dan akan memberikan perintah pada tiap-tiap rangkaian. LDR akan mendeteksi cahaya.

2. Jika sensor cahaya terkena cahaya matahari maka nilai tahanan LDR akan berkurang sehingga arus yang mengalir semakin besar. Jika intensitas bertambah maka pengeluaran akan high dan sinyal ini akan dikirimkan ke mikrokontroller dan mikrokontroller mengirim sinyal ke driver motor sehingga motor stepper akan berputar ke kiri atau ke kanan sesuai dengan program yang diberikan.

3. Jika rangkaian tidak ada yang terhubung singkat atau bocor atau jika ada komponen yang rusak maka rangkaian akan berjalan sesuai yang diinginkan. 4. Jika ada kerusakan pada rangkaian maka diperiksa tiap sambungan ataupun

tiap jalur menggunakan multimeter.


(4)

BAB V

KESIMPULAN DAN SARAN

5.1. Kesimpulan

1. Program yang dimasukkan kedalam mikrokontroller dapat menjalankan sistem dan dapat bekerja dengan baik.

2. Pada saat kondisi gelap maka sensor cahaya (LDR) akan menghidupkan rangkaian untuk menutup atap dan pada saat kondisi terang maka sensor cahaya (LDR) akan menghidupkan rangkaian untuk membuka atap.

3. Mikrokontroller AT89S51 tidak dapat mengendalikan motor stepper secara langsung, oleh sebab itu digunakan sensor LDR untuk mengendalikannya.

4. Mikrokontroller AT89S51 tidak dapat mengendali data analog, oleh sebab itu digunakan ADC yang dapat mengubah data analog menjadi digital, sehingga mikrokontroller mengendalikan data tersebut.

5.2. Saran

1. Dengan memperhatikan beberapa kelemahan dan kekurangan dari tugas akhir ini secara keseluruhan diberikan saran untuk sekiranya tugas akhir ini dapat dikembangnkan pada masa yang akan datang agar lebih


(5)

DAFTAR PUSTAKA

Agfianto. 2004. Belajar Mikrokontroler AT89C51/52/55 Teori dan Aplikasi. Edisi

Kedua. Yogyakarta: Gava Media.

Andi.2003.Panduan Praktis Teknik Antarmuka dan Pemrograman Mikrokontroler

AT89C51. Jakarta: PT Elex Media Kamputindo.

Budiharto,widodo.2005.Perancangan Sistem dan aplikasi mikrokontroller.

Jakarta.

Endra Pirowarno, 1998, “Mikrokontroller dan Intefacing”, Edisi1, Yogyakarta :

Andy.

Malvino, Albert Paul, 2003, “Prinsip-prinsip Elektronika”, Jilid 1&2”, Edisi

Pertama, Penerbit :Salemba Teknik, Jakarta.

Pitowarno, Endra. 2005. Mikroprosesor & interfacing. Yogyakarta: Andy.

Setiawan,S.2006. Mudah dan Menyenangkan Belajar Mikrokontroller.

Yogyakarta: Andi.

Tirtamihardja H.Samuel.1996.Elektronika Digital.Jilid I.Edisi I. Yogyakarta:

Andy.

Usman, 2008, “Teknik Antarmuka + Pemograman Mikrokontroller AT89S51”,


(6)

www.belajar-elektronika:blogspot.com. diakses Tanggal 24 Juli, 2012