Simulasi Alat Kontrol Atap Otomatis Berbasis Mikrokontroler AT89S51.

(1)

SIMULASI ALAT KONTROL ATAP OTOMATIS BERBASIS

MIKROKONTROLER AT89S51

LAPORAN TUGAS AKHIR

WIWIK SARASWATI

072408043

PROGRAM STUDI D3 FISIKA INSTRUMENTASI DEPARTEMEN FISIKA

FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM UNIVERSITAS SUMATERA UTARA

MEDAN 2010


(2)

SIMULASI ALAT KONTROL ATAP OTOMATIS BERBASIS

MIKROKONTROLER AT89S51

LAPORAN TUGAS AKHIR

Diajukan untuk melengkapi tugas dan memenuhi syarat memperoleh Ahli Madya

WIWIK SARASWATI

072408043

PROGRAM STUDI D3 FISIKA INSTRUMENTASI DEPARTEMEN FISIKA

FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM UNIVERSITAS SUMATERA UTARA

MEDAN 2010


(3)

PERSETUJUAN

Judul : SIMULASI ALAT KONTROL ATAP OTOMATIS

BERBASIS MIKROKONTROLER AT89S51

Kategori : LAPORAN PROYEK Nama : WIWIK SARASWATI Nomor Induk Mahasiswa : 072408043

Program Studi : D3 FISIKA INSTRUMENTASI Departemen : FISIKA

Fakultas : MATEMATIKA DAN ILMU PENGETAHUAN

ALAM UNIVERSITAS SUMATERA UTARA

Medan, Juni 2010 Diketahui oleh :

Ketua Program Studi

D3 Fisika Instrumentasi Pembimbing

Drs.Syahrul Humaidi,M.Sc

NIP.196505171993031009 NIP.196303091988031002 Ir.Junaidi


(4)

PERNYATAAN

SIMULASI ALAT KONTROL ATAP OTOMATIS BERBASIS MIKROKONTROREL AT89S51

TUGAS AKHIR

Saya mengakui bahwa laporan proyek ini adalah hasil kerja saya sendiri, kecuali beberapa kutipan dan ringkasan yang masing-masing disebutkan disumbernya.

Medan, Juni 2010

WIWIK SARASWATI

072408043


(5)

Puji dan syukur penulis panjatkan kehadirat Allah SWT atas berkat dan karunia-Nya serta perlindungan-Nya penulis dapat menyelesaikan Laporan Tugas Akhir ini.Dan tak lupa pula shalawat dan salam kepada Nabi besar Muhammad SAW.

Laporan Tugas Akhir ini merupakan hasil kerja dari Proyek yang penulis buat dengan judul SIMULASI ALAT KONTROL ATAP OTOMATIS BERBASIS MIKROKONTROLER AT89S51, meskipun dalam proses penulisan banyak menemui hambatan dan rintangan namun dengan usaha maksimal yang dilakukan penulis serta bantuan dari berbagai pihak, akhirnya laporan Tugas Akhir ini dapat selesai.

Pada kesempatan ini penulis mengucapkan terima kasih kepada :

1. Bapak Prof. Dr. Eddy Marlianto, M.Sc , Dekan Fakultas Matematika dan Ilmu Pengetahuan Alam, Universitas Sumatera Utara Medan.

2. Bapak Dr. Sutarman, M.Sc , Pudek I Fakultas Matematika dan Ilmu Pengetahuan Alam, Universitas Sumatera Utara Medan.

3. Bapak Dr. Marhaposan Situmorang, M.Sc , Ketua Departemen Fisika Universitas Sumatera Utara Medan.

4. Bapak Drs. Syahrul Humaidi, M.Sc , Ketua Program Studi D3 Fisika Instrumentasi Universitas Sumatera Utara Medan.

5. Bapak Ir. Junaidi selaku Dosen Pembimbing Proyek ini yang banyak memberi masukan baik dalam pembuatan proyek maupun dalam penyusunan laporan ini. 6. Seluruh Dosen yang telah memberikan ilmu pengetahuan selama perkuliahan,

yang membuka cakrawala berfikir.

7. Ayahanda Gondo Winarno dan kakanda Sarmiaty yang telah banyak memberikan dorongan baik moriil maupun materi.

8. Rekan – rekan di Fisika Instrumentasi, Sri Wulandari Ritonga, Andika Siregar yang telah banyak membantu dalam penyelesaian laporan Tugas Akhir ini.

9. Ibu Toeti Tjiptono dan Seluruh keluarga yang telah memberikan penulis tempat untuk berlindung dari panasnya matahari dan dinginnya hujan.


(6)

Penulis Menyadari bahwa dalam penulisan laporan ini masih banyak kekurangan,. Oleh karena itu penulis mengharapkan kritik dan saran yang membangun guna kesempurnaan laporan ini.

Akhir kata semoga laporan ini dapat bermanfaat dan menambah wawasan yang berguna bagi pembaca.

Medan, Juni 2010 Hormat Penulis


(7)

ABSTRAK

Kemajuan ilmu pengetahuan dan teknologi telah mendorong manusia untuk berusaha mengatasi segala permasalaha yang timbul di sekitarnya serta meringankan pekerjaan yang ada. Salah satu teknologi yang berkembang saat ini adalah mikrokontroler. Mikrokontroler merupakan keluarga mikroprosesor yaitu sebuah chip yang dapat melakukan pemrosesan data secara digital sesuai dengan perintah bahasa assembly yang diberikan. Dengan memanfaatkan mikrokontroler ini dapat diciptakan suatu alat secerdas komputer tetapi dengan biaya yang relatife lebih murah daripada komputer. Seiring dengan berkembangnya mikrokontroler, maka saat inni mikrokontroler banyak diaplikasikan pada instrument – instrument yang berhubungan dengan kehidupan sehari – hari. Salah satunya digunakan pada simulasi alat kontrol atap buka tutup otomatis berbasis mikrokontroler AT89S51 yang difungsikan sebagai tempat penjemuran pakaian otomatis. Pada simulasi alat kontrol atap otomatis ini selain menggunakan mikrokontroler AT89S51 juga menggunakan sensor air dan sensor LDR. Sensor air digunakan untuk mendeteksi air atau hujan. Apabila sensor air terkena air maka atap akan tertutup dan atap terbuka kembali setelah sensor kering. Sensor cahaya (LDR) digunakan untuk mendeteksi intensitas cahaya dilingkungan


(8)

sekitar. Ketika sensor LDR menerima sedikit cahaya maka atap akan tertutup dan atap terbuka kembali ketika LDR mendapat cahaya yang cukup terang.


(9)

DAFTAR ISI

Halaman

Persetujuan Pernyataan

Penghargaan……… I Abstrak……… III Daftar Isi………... IV Daftar Tabel……… VII Daftar Gambar……… VIII

BAB I PENDAHULUAN

1.1.Latar Belakang Masalah……...………... 1

1.2.Rumusan Masalah………... 1

1.3.Tujuan Penulisan….…..……….. 2

1.4.Batasan Masalah..………..……….. 2

1.5.Sistematika Penulisan……...………... 2

BAB II LANDASAN TEORI 2.1. Perangkat Keras………... 4

2.1.1. Mikrokontroler AT89S51...……….. 4


(10)

2.1.3. SFR (Register Fungsi Khusus)Keluarga 51……….….… 7

2.1.4. Gambar IC Mikrokontroler AT89S51………...…… 9

2.2. Perangkat Lunak……….. 12

2.2.1. Instruksi – Instruksi AT89S51……… 12

2.2.2. Software 8051 Editor, Assembler,Simulator (IDE)….……… 15

2.2.3. Software Downloader……….…….. 16

2.3. Komponen……… 17

2.3.1. Transistor……….………. 17

2.3.2. Light Dependent Resistance ……….….... 17

2.3.3. Dioda……… 20

2.3.4. Relay……….……… 22

2.3.5. Transformator (Trafo)………... 22

2.3.6. Sensor Air……… ………... 23

2.3.7. IC (Integrated Circuit)…………...………. 24

2.3.8. Motor Stepper………. 24

BAB III PERANCANGAN ALAT DAN PROGRAM 3.1. Diagram Blok………..……… 27

3.2. Rangkaian Power Supplay (PSA)…….……….…………. 28

3.3. Rangkaian Driver Motor Stepper………...………. 28

3.4. Rangkaian Saklar (Keypad)………..……….. 30


(11)

3.6. Rangkaian Sensor Cahaya………..……… 32

3.7 Rangkaian Sensor Air………. 33

3.8. Flowchart………...……… 35

BAB IV PENGUJIAN ALAT DAN PROGRAM 4.1. Pengujian Rangkaian Power Supplay (PSA)………. 37

4.2. Pengujian Rangkaian Driver Motor Stepper……….. 37

4.3. Pengujian Rangkaian Mikrokontroler AT89S51……… 39

4.4. Pengujian Rangkaian Tombol………...………..… 41

4.5. Pengujian Program………..……….... 42

BAB V KESIMPULAN DAN SARAN 5.1. Kesimpulan……….… 45

5.2. Saran……….……... 45

DAFTAR PUSTAKA……… 46 LAMPIRAN


(12)

DAFTAR TABEL


(13)

DAFTAR GAMBAR

Gambar 2.1. Diagram Blok Mikrokontroler ………... 5

Gambar 2.2. IC Mikrokontroler AT89S51.………. 10

Gambar 2.3. Editor 8051 Editor,Assembler,Simulator……… 15

Gambar 2.4. ISP_Flash Programmer 3.a……….. 16

Gambar 2.5. Transistor sebagai Switching.……….. 17

Gambar 2.6. Simbol LDR ……… 19

Gambar 2.7. Grafik LDR ………. 20

Gambar 2.8. Putaran motor dengan satu pulsa ……… 25

Gambar 2..9. Putaran motor dengan banyak pulsa ……….……. 25

Gambar 2.10. Variable reluctance ……… 26

Gambar 3.1. Diagram Blok Rangkaian……… 27

Gambar 3.2. Rangkaian Power Supplay (PSA)……….…... 28

Gambar 3.3. Rangkaian Driver Motor Stepper………...….. 29

Gambar 3.4. Rangkaian Sakelar (keypad)…...……….. 30

Gambar 3.5. Rangkaian Mikrokontroler AT89S51………... 32

Gambar 3.6. Rangkaian Sensor Cahaya……….………... 32

Gambar 3.7. Rangkaian Sensor Air……….…….……….... 33

Gambar 3.8. Bentuk Sensor Air pada PCB………….………. 34


(14)

ABSTRAK

Kemajuan ilmu pengetahuan dan teknologi telah mendorong manusia untuk berusaha mengatasi segala permasalaha yang timbul di sekitarnya serta meringankan pekerjaan yang ada. Salah satu teknologi yang berkembang saat ini adalah mikrokontroler. Mikrokontroler merupakan keluarga mikroprosesor yaitu sebuah chip yang dapat melakukan pemrosesan data secara digital sesuai dengan perintah bahasa assembly yang diberikan. Dengan memanfaatkan mikrokontroler ini dapat diciptakan suatu alat secerdas komputer tetapi dengan biaya yang relatife lebih murah daripada komputer. Seiring dengan berkembangnya mikrokontroler, maka saat inni mikrokontroler banyak diaplikasikan pada instrument – instrument yang berhubungan dengan kehidupan sehari – hari. Salah satunya digunakan pada simulasi alat kontrol atap buka tutup otomatis berbasis mikrokontroler AT89S51 yang difungsikan sebagai tempat penjemuran pakaian otomatis. Pada simulasi alat kontrol atap otomatis ini selain menggunakan mikrokontroler AT89S51 juga menggunakan sensor air dan sensor LDR. Sensor air digunakan untuk mendeteksi air atau hujan. Apabila sensor air terkena air maka atap akan tertutup dan atap terbuka kembali setelah sensor kering. Sensor cahaya (LDR) digunakan untuk mendeteksi intensitas cahaya dilingkungan


(15)

sekitar. Ketika sensor LDR menerima sedikit cahaya maka atap akan tertutup dan atap terbuka kembali ketika LDR mendapat cahaya yang cukup terang.


(16)

BAB I

PENDAHULUAN

1.1. Latar Belakang Masalah

Bagi sebagian orang, pekerjaan merupakan suatu prioritas yang tidak dapat ditinggalkan. Hal ini dapat kita lihat pada karyawan yang bekerja di kantor yang tidak dapat mengontrol keadaan rumahnya.

Dengan memanfaatkan mikrokontroler ini dapat diciptakan suatu alat secerdas komputer tetapi dengan biaya yang relatife lebih murah daripada komputer. Pada umumnya orang sering disibukkan dengan pekerjaannya biasanya akan lupa dengan apa yang ada dirumahnya dan akan merasa tidak tenang saat hujan tiba-tiba saja turun karena tidak ada yang mengangkat pakaiannya yang dijemur diluar rumah. Oleh karena itu, simulasi alat kontrol atap otomatis akan sangat membantu. Dengan alat ini kita bisa meninggalkan jemuran pakaian kita tanpa takut apabila tiba-tiba hujan turun. Karena simulasi alat ini akan membuka dan menutup atap secara otomatis sesuai dengan keadaan lingkungan sekitar.

1.2. Rumusan Masalah

Berdasarkan uraian diatas, penulis tertarik untuk mengangkat dan merancang sebuah simulasi alat kontrol atap otomatis yang diaplikasikan sebagai tempat untuk penjemuran pakaian yang berbasis mikrokontroler AT89S51. Dimana pada perancangan ini akan dirumuskan masalah:

1. Bagaimana prinsip kerja alat kontrol atap buka tutup otomatis ini bekerja. 2. Program apa yang diberikan untuk dapat membuka atau menutup atap

secara otomatis.

3. Bagaimana sensor air mengubah tegangan menjadi suatu nilai rendah atau tinggi yang bisa dibaca oleh mikrokontroler.

4. Bagaimana prinsip,kerja motor driver.


(17)

1. Sebagai salah satu syarat untuk dapat menyelesaikan program Diploma tiga (D3) Fisika Instrumentasi FMIPA Universitas Sumatera Utara.

2. Mengaplikasikan berbagai teori pendukung yang telah didapat di bangku perkuliahan menjadi sebuah karya nyata berupa sebuah alat.

3. Memanfaatkan mikrokontroler AT89S51 sebagai tempat pemrosesan data untuk mengontrol atap otomatis.

1.4. Batasan Masalah

Mengingat keterbatasan kemampuan penulis dan waktu pelaksanaan pembuatan proyek, maka dibuat batasan masalah sebagai berikut :

1. Membahas tentang Mikrokontroler AT89S51 sebagai basis dalam rangkaian.

2. Membahas tentang LDR sebagai sensor intensitas cahaya. 3. Membahas tentang sensor air sebagai sensor pendeteksi hujan. 4. Membahas tentang bahasa assembly sebagai pemrograman alat.

1.5. Sistematika Penulisan

Untuk memudahkan pembahasan dan pemahaman maka penulis membuat sistematika pembahasan bagaimana sebenarnya prinsip perancangan atap otomatis ini.

BAB I. PENDAHULUAN

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

BAB II. LANDASAN TEORI

Dalam bab ini dijelaskan tentang teori pendukung yang digunakan untuk pembahasan cara kerja dari rangkaian teori pendukung itu antara lain komponen, perangkat keras, perangkat lunak.

BAB III. PERANCANGAN ALAT DAN PROGRAM

Pada bab ini akan dibahas perancangan dari alat, yaitu diagram blok dari rangkaian, skematik dari masing – masing rangkaian.

BAB IV. ANALISA RANGKAIAN DAN SISTEM KERJA ALAT

Pada bab ini akan dibahas hasil analisa dari rangkaian dan sistem kerja alat, dan juga pemrograman.


(18)

BAB V. KESIMPULAN DAN SARAN

Bab ini berisi tentang mengenai kesimpulan yang didapat setelah merakit proyek ini dan saran yang diberikan demi kesempurnaan dan pengembangan proyek ini pada masa yang akan datang.


(19)

BAB II

LANDASAN TEORI

2.1 Perangkat Keras

2.1.1 Mikrokontroler AT89S51

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 kebutuhan pasar, mikrokontroler hadir untuk 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 PC yang harus dipasang disamping atau dibelakang 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 bisa diperoleh dari mikrokontroler yang digunakan.


(20)

Tidak seperti sistem komputer, yang mampu menangani berbagai macam program aplikasi (misalnya pengolahan kata, pengolahan 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 AT89S51 ROM atau flash PEROM berukuran 2 kilo byte, sedangkan RAM-nya berukuran 128 byte.

Mikrokontroler AT89C51/52 mempunyai 40 kaki, 32 kaki diantaranya adalah untuk keperluan port paralel. Satu port paralel terdiri dari 8 kaki, dengan demikian 32 kaki tersebut membentuk 4 buah port, yang masing-masing dikenal sebagai port 0, port 1, port 2, port 3. Data dapat dengan mudah dimasukkan diolah dan dikeluarkan dari port-port tersebut dengan instruksi-instruksi yang sederhana

Secara umum arsitektur mikrokontroler AT89C51/52 seperti pada blok gambar dibawah ini, Mikrokontroler 89C51 adalah mikrokontroler dengan arsitektur MCS51 seperti 8031 dengan memori Flash PEROM (Programmable and Erasable Read Only Memory)

Gambar 2.1 diagram blok mikrokontroler


(21)

Mikrokontroler AT89S51 hanya memerlukan tambahan 3 kapasitor, 1 resistor dan 1 kristal serta catu daya 5 volt. Kapasitor 10 mikroFarad dan resistor 10 kilo Ohm dipakai untuk membentuk rangkaian reset. Dengan adanya rangkaian reset ini AT89S51 otomatis direset begitu rangkaian menerima catu daya. Kristal dengan frekuensi maksimum 24 MHz dan kapasitor 30 pikoFarad dipakai untuk melengkapi rangkaian oscillator pembentuk clock yang menentukan kecepatan kerja mikrokontroler.

Memori merupakan bagian yang sangat penting pada mikrokontroler. Mikrokontroler memiliki dua macam memori yang sifatnya berbeda. 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. Random Access Memori (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 mikrokontroler dengan program yang sudah baku dan diproduksi secara manual, program diisikan ke dalam ROM pada saat IC mikrokontroler dicetak di pabrik IC. Untuk keperluan tertentu mikrokontroler menggunakan ROM yang dapat diisi ulang atau Programable-Eraseable ROM yang disingkat menjadi PEROM atau PROM. Dulu banyak dipakai UV-EPROM (Ultra Violet Eraseable Programble ROM) yang kemudian dinilai mahal dan ditinggalkan setelah ada flash PEROM yang harganya jauh lebih murah.

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

Memori data yang disediakan dalam chip AT89S51 sebesar 128 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).


(22)

AT89S51 dilengkapi UART (Universal Asyncronous Receiver/Transmitter) yang biasa dipakai untuk komunikasi data secara seri. Jalur untuk komunikasi data seri (RXD dan TXD) diletakkan berhimpitan dengan P3.0 dan P3.1 di kaki nomor 10 dan 11, sehingga kalau sarana input/output 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/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 dengan P3.2 dan P3.3 sehingga tidak bisa dipakai sebagai jalur input/output paralel kalau INT0 dan INT1 dipakai untuk menerima sinyal interupsi.

Port 1 dan 2, UART, Timer 0, Timer 1 dan sarana lainnya merupakan register yang secara fisik merupakan RAM khusus, yang ditempatkan di Speciall Function Register (SFR).

2.1.3 SFR (Register Fungsi Khusus) pada keluarga 51

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. Penggunaan 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 nonaktif dari bit–bit baru ini akan selalu ‘0’ dan nilai aktifnya ‘1’.

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). Digunakan dalam Operasi Aritmatik (Add A,#05H), Operasi Logika (Anl A,#05H), Akses Memori Eksternal (Movx A,@DPTR)dan digunakan untuk fungsi umum.


(23)

Register B

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

Program status word (PSW)

Register psw (lokasi D 0h) mengandung informasi status program.

Stack Pointer

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

Data pointer

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

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 transimisi data serial. Sedangkan pada saat data disalin dari SBUF, maka sebenarnya data tersebut berasal dari penyangga penerima.


(24)

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.

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 AT89S52/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.

Kontrol Register

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

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

2. Empat Kbyte 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 program

7. 128 x 8 – bit RAM internal 8. 32 jalur input/output (I/O) 9. Dua 16 bit Timer/Counter 10.Enam sumber interrupt 11.Jalur serial dengan UART

2.1.4 Gambar IC Mikrokontroler AT89S51


(25)

Gambar 2.2. IC Mikrokontroler AT89S51 Deskripsi pin – pin pada mikrokontroler AT89S51 :

Vcc (Pin 40)

suplai tegangan

GND (pin 20)

Ground

Port 0 (Pin 39 – Pin 32)

Port 0 dapat berfungsi sebagai I/O biasa, low order multiplex address/data ataupun penerima kode byte pada saat flash programming. Pada fungsi sebagai I/O biasa port ini dapat memberikan output sink ke delapan buah TTL atau dapat diubah sebagai input dengan memberikan logika 1 pada port tersebut. Pada fungsi sebagai low order multiplex address/data, port ini akan mempunyai internal pull up. Pada saat flash programming diperlukan eksternal pull up, terutama pada saat verifikasi program.

Port 2 (pin 21 – Pin 28)

Port 2 berfungsi sebagai I/O biasa atau high order address, pada saat mengakses memori secara 16 bit. Pada saat mengakses memori 8 bit, port ini akan mengelurkan isi dari P2 special function register. Port ini mempunyai internal pull up dan berfungsi sebagai input dengan memberikan logika 1. Sebagai output, port ini dapat memberikan output sink ke keempat buah input TTL.

Port 3 (pin 10 – pin 17)

Port 3 merupakan 8 bit port I/O dua arah dengan internal pull-up. Port 3 juga mempunyai fungsi pin masing – masing, yaitu sebagai berikut :


(26)

Table 2.1 Fungsi pin pada Port 3

Nama pin Fungsi

P3.0 (pin 10) RXD (Port input serial) P3.1 (pin 11) TXD (Port output serial) P3.2 (pin 12) INT0 (interrupt 0 eksternal) P.3.3 (pin 13) INT1 (interrupt 1 eksternal) P3.4 (pin 14) T0 (input eksternal timer 0) P3.5 (pin 15) T1 (input eksternal timer 1)

P3.6 (pin 16) WR (menulis untuk eksternal data memori)

P3.7 (pin 17) RD (untuk membaca eksternal data memori)

RST (Pin 9)

Reset akan aktif dengan meberikan input high selama 2 cycle.

ALE/PROG (Pin 30)

Address latch Enable adalah pulsa output untuk me-latch byte bawah dari alamat selama mengakses memori eksternal. Selain itu, sebagai pulsa input program (PROG) selama memprogram Flash.

PSEN (Pin 29)

Program store enable digunakan untuk mengakses memori program eksternal.

EA (Pin 31)

Pada kondisi low, pin ini akan berfungsi sebagai EA yaitu mikrokontroler akan menjalankan program yang ada pada memori eksternal setelah sistem direset. Jika kondisi high, pin akan berfungsi untuk menjalankan program yang ada pada memori internal. Pada saat flash programming, pin ini akan mendapat tegangan 12 volt.

Xtal1 (Pin 19)

Input untuk clock internal

Xtal2 (Pin 18)


(27)

Konfigurasi pin AT89S51 berbentuk kemasan DIP (Dual In-line Package). mikrokontroler dipacu pada frekuensi 12 MHz dengan memasang rangkaian osilator dengan kristal 12 MHz melalui kapasitor 33 pf pada kaki 18 (XTAL 1) dan kaki 19 (XTAL 2). Osilator yang digunakan adalah rangkaian osilator yang sudah terdapat pada mikrokontroler,dan hanya menambahkankristal dan kapasitor sebagai penentu frekuensi yang digunakan. Kristal yang digunakan adalah 12 Mhz.

Karena Frekuensi Kristal = 12MHz T = 1/f

T = 1/12MHz = 8,333333333-8

T= 8,333333333 - 8 x 1000000 = 0,083333333 µdetik sehingga satu periode gelombang kotak adalah : satu periode =0,083333333/2 = 0,04166 µdetik

2.2 Perangkat Lunak

2.2.1 Instruksi – Instruksi AT89S51

Bahasa yang digunakan untuk memprogram IC mikrokontroler 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

MOV 20h,#80h ………… ………… MOV R0,20h


(28)

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 …………

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:

…………. RET


(29)

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).

Contoh : Loop:

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.


(30)

9. Instruksi DEC (DECREMENT)

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

MOV R0,#20h R0 = 20h ……..

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.2 Software 8051 Editor, Assembler, Simulator (IDE)

Instruksi-instruksi yang merupakan bahasa assembly tersebut dituliskan pada sebuah editor, yaitu 8051 Editor, Assembler, Simulator.


(31)

Setelah program selesai ditulis, kemudian di save dan kemudian di assembler (dicompile). Pada saat di assemble akan tampil pesan peringatan dan 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 ini berfungsi untuk mengubah program yang kita tuliskan ke dalam bilangan heksadesimal inilah yang akan dikirimkan ke mikrokontroler.

2.2.3 Software Downloader

Untuk mengirimkan bilangan-bilangan heksadesimal ini ke mikrokontroler digunakan software ISP-Flash Programer 3.0a yang dapat di download dari internet. Tampilannya seperti gambar di bawah ini.

Gambar 2.4 ISP-Flash Programmer 3.a

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 mikrokontroler.


(32)

2.3. KOMPONEN 2.3.1. Transistor

Semua transistor memiliki 3 buah kaki sambungan atau terminal. Transistor daya rendah dibuat dengan kemasan dari bahan plastik atau logam. Dimana kemasan transistor yang terbuat dari plastik memiliki salah satu sisi permukaaan yang berbentuk datar, sedangkan yang terbuat dari logam memiliki sebuah tonjolan (tag) pada pinggiran bawah nya (rim). Fitur – fitur ini dimaksudkan untuk membantu pemakai mengidentifikasikan kaki – kaki terminal. Terminal – terminal nya diberi label c, b, dan e yang merukan singkatan dari collector, basis dan emitor. Ada 2 jenis transistor berdasarkan arus inputnya (BJT) dan tegangan inputnya (FET).

Berikut ulasan 2 transistor tersebut:

1. BJT (Bipolar junction Transistor)

Transistor jenis ini merupakan transistor yang mempunyai 2 dioda, terminal positif dan negatife nya berdempet sehingga ada 3 terminal. Perubahan arus listrik dalam jumlah kecil pada terminal basis dapat menghasilkan perubahan arus listrik dalam jumlah besar pada terminal kolektor. Prinsip inilah yang mendasari penggunaan transistor sebagai penguat elektronik.

2. FET (Field Effect Transistor)

Transistor FET dibagi menjadi 2 macam, yaitu junction FET (JFET)dan Insulated Gate FET (IGFET) atau juga dikenal dengan sebutan metal oxide silikon FET (MOSFET). Berbeda dengan MOSFET terminal gate dalam JFET membentuk sebuah dioda dengan kanal (materi semiconductor antara Source dengan drain). Dari sebuah fungsi, hal ini membuat N-chanel JFET menjadi sebuah versi solid state dari tabung vakum yang juga membentuk sebuah dioda antara grade dan katode.

Untuk menggunakan sebuah BJT kita harus menyambungkan nya sedemikian rupa sehingga:

1. Terminal emitter BJT adalah terminal dengan polaritas paling negatife. 2. Terminal kolektor beberapa volt lebih positif dibandingkan terminal emitor.


(33)

3. Terminal basis lebih positif 0,7 volt atau sedikit lebih besar dari terminal emitor nya.

Dengan kondisi – kondisi ini kita dapat mengetahui bahwa : 1. Arus yang relatife kecil mengalir menuju basis.

2. Arus dengan nilai yang jauh lebih besar mengalir menuju kolektor.

3. Arus basis dan arus kolektor mengalir keluar dari transistor melalui emitor.

Transistor sebagai switching

Disamping sebagai penguat, transistor juga sering digunakan sebagai switching untuk mengontrol suatu beban dengan arus kecil,medium, atau arus besar dengan aplikasi – aplikasi industri.

Gambar 2.5 Transistor sebagai Switching

Pada penggunaan transistor sebagai switching tegangan nol volt pada Vbe transistor jenis NPN berarti mengaktifkan transistor tersebut sebagai saklar dengan keadaan terbuka, sedangkan memberi tegangan ≥0,7 volt untuk transistor silikon dan

≥ 0,3 volt untuk transistor germanium pada Vbe transistor akan memfungsikan transistor itu sebagai saklar dengan keadaan tertutup. Sedangkan pada transistor jenis PNP tegangan nol justru akan membuat transistor tersebut bekerja sebagai saklar dalam keadaan tertutup. Pada keadaan transistor sebagai saklar tertutup maka arus Ic dari transistor itu akan mengalir melalui Rc melalui ground, sedangkan pada keadaan transistor sebagai saklar terbuka maka arus Ic akan tertahan sampai Rc saja.


(34)

2.3.2 LDR (light dependent resistor)

Adalah jenis resistor yang berubah hambatannya karena pengaruh cahaya. Bila cahaya gelap,nilai tahanannya semakin besar, sedangkan bila cahayanya terang nilainya menjadi semakin kecil. Sebuah LDR terdiri dari sebuah piringan bahan semikonduktor dengan dua buah elektroda pada permukaannya. Dalam gelap atau dibawah cahaya yang redup, bahan piringan hanya mengandung elektron bebas dalam jumlah yang relatife sangat kecil. Hanya tersedia sedikit elektron bebas untuk mengalirkan muatan listrik, hal ini berarti bahwa bahan bersifat sebagai konduktor yang buruk untuk arus listrik. Dengan kata lain nilai tahanan bahan sangat tinggi. Dibawah cahaya cukup terang,lebih banyak elektron dapat melepaskan diri dari atom-atom bahan semikonduktor ini. Terdapat lebih banyak elektron bebas yang dapat mengalirkan muatan listrik. Dalam keadaan ini,bahan bersifat sebagai konduktor yang baik. Tahanan listrik bahan rendah. Semakin terang cahaya yang mengenai bahan, semakin banyak elektron bebas yang tersedia, dan semakin rendah pula tahanan listrik bahan. Sensor Cahaya light dependent resistors (LDR) merupakan komponen elektronik yang peka terhadap pencahayaan. Jika mendapat cahaya terang maka nilai tahanannya mengecil

sebesar (+ 250kΩ), jika mendapat cahaya yang gelap maka nilai tahanannya

akan membesar sebesar (+ 1MΩ) atau bisa mencapai beberapa mega ohm.


(35)

Gbr 2.7. Bentuk grafik LDR

2.3.3 Dioda

Dioda merupakan sambungan bahan p-n yang berfungsi sebagai penyearah. Komponen ini memberikan resistansi yang sangat rendah terhadap aliran arus pada satu arah dan resistansi yang tinggi terhadap aliran arus, pada arah yang berlawanan. Karakteristik ini memungkinkan dioda untuk digunakan dalam aplikasi yang menuntut rangkaian untuk memberikan tanggapan yang berbeda sesuai dengan arah arus yang mengalir didalamnya.

Sebuah dioda ideal akan melewatkan arus tak terhingga pada satu arah dan sama sekali tidak melewatkan arus pada arah yang sebaliknya. Sebagai tambahan, dioda akan mulai mengalirkan arus apabila tegangan terkecil sekalipun diberikan. Jika bahan semikonduktor tipe p dijadikan lebih positif daripada bahan tipe n melampaui nilai ambang tegangan majunya (sekitar 0,6 volt jika bahannya silikon dan 0,2 volt jika bahannya germanium). Dioda akan melewatkan arus dengan bebas. Jika sebaliknya, bahan tipe p dijadikan lebih negatife daripada bahan tipe n, tidak akan ada arus yang mengalir kecuali tegangan yang diberikan melebihi tegangan maksimum atau breakdown yang dapat diterima oleh perangkat.

Bahan tipe p menjadi sisi katoda sedangkan bahan tipe n menjadi sisi anoda. Tanpa potensial eksternal, elektron-elektron dari bahan tipe n akan menyeberang ke dalam daerah tipe p dan mengisi sebagian dari hole-hole yang kosong. Tindakan ini akan mengakibatkan terbentuknya suatu daerah ditengah-tengah sambungan dimana


(36)

tidak terdapat pembawa muatan bebas. Zona ini dikenal dengan daerah serapan (deplesion religion). Dalam kondisi bias maju, dioda akan melewatkan arus dengan bebas, diode bertindak seperti sakelar yang tertutup. Dalam kondisi bias mundur, dioda melewatkan arus dalam jumlah yang dapat diabaikan,dioda bertindak seperti sebuah sakelar yang terbuka.

Fungsi paling umum dari dioda adalah untuk memperbolehkan arus listrik mengalir dalam suatu arah (disebut kondisi bias maju) dan untuk menahan arus dari arah sebaliknya (disebut kondisi bias mundur). Karenanya, dioda dapat dianggap

sebagai versi elektronik dari

menunjukkan kesearahan hidup-mati yang sempurna (benar-benar menghantar saat bias maju dan menyumbat pada bias mundur), tetapi dioda mempunyai karakteristik listrik tegangan-arus taklinier kompleks yang bergantung pada teknologi yang digunakan dan kondisi penggunaan. Kebanyakan dioda digunakan karena karakteristik satu arah yang dimilikinya. Beberapa jenis dioda juga mempunyai fungsi yang tidak ditujukan untuk penggunaan penyearahan.

Jenis-jenis dioda dibagi menjadi lima jenis berdasarkan fungsinya, yaitu :

1. Dioda penyearah

Dioda yang difungsikan sebagai penyearah tegangan bolak balik menjadi tegangan searah dan biasanya digunakan pada rangkaian power supplay.

2. Dioda foto (fotovoltage)

Digunakan untuk mengubah energi cahaya menjadi energi listrik searah.

3. Dioda laser

Digunakan untuk membangkitkan sinar laser tahap rendah, dan cara kerjanya mirip LED.

4. Dioda pemancar cahaya (LED)

Adalah dioda yang memancarkan cahaya bila dipanjar maju. Led dibuat dari semikonduktor campuran seperti gallium arsenide fosfida (GaAsP) ,gallium fosfida (GAP), gallium indium fosfida dan gallium aluminium arsenide. Dioda pemancar cahaya menghasilkan cahaya ketika arus melewatinya. Led dapat digunakan sebagai indikator serba guna. Sebuah led membutuhkan arus sekitar 20mA untuk memancarkan cahaya dengan


(37)

kecerahan maksimum meskipun arus sekecil 5A pun masih bisa menghasilkan cahaya yang jelas nampak. Jatuh tegangan maju sebuah led rata-rata adalah 1,5volt, sehingga pasokan tegangan 2volt dapat menyalakan sebagian besar led dengan kecerahan maksimum. Sebuah led yang tipikal memiliki kemasan berbentuk kubah yang terbuat dari bahan plastik, dengan pinggiran yang menonjol (rim) pada bagian bawah kubah. Terdapat dua buah kaki terminal dibagian bawah kubah. Biasanya kaki katoda lebih pendek dari kaki anoda. Cara lain untuk membedakan kaki katoda dengan anoda adalah dengan memperhatikan bagian rim. Rim dibuat berbentuk datar pada sisi yang berdekatan dengan kaki katoda.

5. Dioda zener

Dioda zener digunakan untuk regulasi tegangan

2.3.4 Relay

Relay adalah sebuah saklar yang dikendalikan oleh arus. Relay memiliki sebuah kumparan tegangan rendah yang dililitkan pada sebuah inti. Relay biasanya hanya sebuah kumparan akan tetapi memiliki beberapa kontak. Relay elektromekanis berisi kontak diam dan kontak bergerak yang dipasangkan pada plunger. Kontak ditujuk sebagai normaly open (NO) dan normaly close (NC). Kontak normaly open akan membuka ketika tidak ada arus mengalir pada kumparan, tetapi tertutup secepatnya setelah kumparan menhantarkan arus atau diberi tenaga. Kontak normaly close akan tertutup ketika kumparan tidak diberi daya dan terbuka ketika kumparan diberi daya. Masing-masing kontak biasanya digambarkan sebagai kontak yang nampak dengan kumparan yang tidak diberi daya.

2.3.5 Transformator (trafo)

Transformator atau trafo adalah komponen yang digunakan untuk mentransfer sumber energi atau tenaga dari suatu rangkaian AC ke rangkaian lainnya. Perpindahan atau transfer energi tersebut bisa menaikkan atau menurunkan energi yang ditransfer, hal ini disesuaikan dengan kebutuhan. Untuk menaikkan tegangan dibutuhkan transformator up dan untuk menurunkan tegangan dibutuhkan transformator


(38)

step-down. Tanpa transformator, distribusi daya listrik yang luas menjadi tidak praktis. Transformator dapat membangkitkan daya pada tegangan yang cocok, menaikkan sampai tegangan yang sangat tinggi untuk transmisi jarak jauh dan kemudian menurunkan pada distribusi yang praktis.prinsip kerja transformator didasarkan pada induksi bersama. Dimana induksi bersama terjadi ketika medan magnet disekitar satu penghantar memotong melintang penghantar yang lain, yang menginduks ikan tegangan didalamnya. Efek ini dapat ditingkatkan untuk membentuk penghantar – penghantar menjadi lilitan dan kumparan pada inti magnet bersama.

Trafo daya biasanya menunjuk pada transformator yang lebih besar yang digunakan untuk merubah level tegangan dan arus untuk memenuhi persyaratan rangkaian. Sebagian besar transformator daya dirancang beroperasi pada frekuensi 50 Hz sampai dengan 60 Hz. Transformator ini berfungsi sebagai pensupply daya untuk mengubah tegangan jala – jala menjadi tegangan lain yang dibutuhkan.

Menurut pemakaiannya trafo dapat dibagi menjadi 3 jenis yaitu: 1. Trafo filter berfungsi memfilter atau menyaring sinyal.

2. Trafo MF biasa terdapat pada pesawat radio berfungsi sebagai kopel atau menghubungkan antar frekuensi.

3. Trafo daya atau trafo input/output digunakan untuk menyesuaikan impedansi.

2.3.6 Sensor Air

Sensor air yang dibuat sebenarnya merupakan PCB yang jalurnya dirancang sedemikian rupa sehingga letak jalur-jalurnya rapat. Ketika air jauh ke atas sensor, maka resistor di basis transistor akan mendapat tegangan 5V. Hal ini akan menyebabkan transistor C945 akan aktif. Ketika transistor ini aktif, logika outputnya yang dihubungkan pada input IC 7408 (merupakan IC dengan 4 gerbang AND) akan menjadi 0. Sebaliknya ketika sensor air dalam keadaan kering, maka 5V tidak terhubung pada resistor di basis transistor. Sehingga basis transistor tidak mendapat tegangan. Hal ini menyebabkan transistor tidak aktif (transistor akan aktif bila tegangan di basisnya lebih besar dari 0,6V). Karena transistor ini tidak aktif, maka outputnya akan bernilai 1.


(39)

Keempat output dari sensor air ini dihubungkan ke sebuah IC 7408. Dengan demikian, ketika salah satu saja sensornya menghasilkan logika 0, maka ouput dari IC 7408 akan 0. Logika ini akan dikirimkan ke mikrokontroler untuk mengindikasikan adanya air pada sensor air. IC 7408 ini dapat menghemat penggunaan pin ada mikrokontroler dan mempermudah program yang dibuat.

2.3.7 IC (Integrated Circuit)

IC adalah rangkain elektronik lengkap yang dimasukkan dalam 1 chip silikon. Didalam 1 buah Ic bisa berisi puluhan, ratusan bahkan ribuan komponen elektronika (transistor, diode, resistor, kapasitor dan lainnya) yang bersama – sama sebagai penghantar listrik yang bekerjanya disesuaikan dengan fungsi IC tersebut.

Berikut jenis IC dari segi bentuk dan fungsinya dalam peralatan elektronika.

1. IC power Adaptor atau regulator

IC jenis ini digunkan sebagai komponen utama pada rangkaian power adaptor pada sub rangkaian regulator. Fungsi dari IC ini adalah untuk menstabilkan tegangan.

2. IC Digital

IC digital merupakan IC yang banyak digunakan dalam elektronika. I jenis ini memiliki suatu titik elektronis yang berupa kaki IC. IC jenis ini memiliki dua keadaan logika, yaitu logika nol (rendah) atau logika satu (tinggi). Suatu titik elektronis mewakili satu binary digit atau biasa disingkat dengan bit. Binary berarti sistem bilangan yang mengenal dua angka yaitu nol dan satu.

2.3.8 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


(40)

pulsa yang ditentukan. Satu pulsa menghasilkan satu kenaikan putaran 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).

Gbr 2.8. Putaran motor dengan satu pulsa

Gbr 2.9. Putaran motor dengan banyak pulsa

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.

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.

Gbr 2.10. 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 berputar 15 derajat sejajar kutub B. proses ini akan berlanjut kekutub C dan kembali kekutub A searah dengan jarum jam.


(42)

BAB III

PERANCANGAN ALAT DAN PROGRAM

3.1.Diagram Blok

Secara garis besar, digram blok rangkaian dari “ Simulasi Alat Kontrol Atap Otomatis” ini adalah sebagai berikut :

Gambar 3.1. Diagram blok Rangkaian

Pada alat ini terdapat empat buah sensor air yang masing-masing dihubungkan ke P0.0, P0.1, P0.2, P0.3. selain itu, terdapat juga LDR yang digunakan sebagai sensor cahaya yang dihubungkan ke P0.4. sementara itu, terdapat juga tiga tombol, antara lain : tombol auto dihubungkan P1.7, tombol buka manual dihubungkan ke P1.3 dan tombol tutup manual dihubungkan ke P1.5. Tombol-tombol ini digunakan sebagai input instruksi agar alat dapat membuka atau menutup atap baik itu secara otomatis maupun manual, sesuai dengan keinginan si pengguna. Sementara itu, pada P2.4, P2.5, P2.6, P2.7 dihubungkan rangkaian driver motor yang akan menggerakkan motor

Tombol auto P0.0 M P1.7

I

P1.0 K P1.3

R

P0.2 O

AT89S51

P0.3 P1.5

P0.4 P2.7..P2.4 Sensor air 1

Tombol buka manula Sensor air 2

Sensor air 3

Tombol tutup manual Sensor air 4

Driver motor Motor stepper


(43)

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

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

stepper untuk menutup ataupun membuka atap sesuai dengan hasil pengolahan data yang dilakukan mikrokontroler AT89S51.

3.2.Rangkaian Power Supplay (PSA)

Rangkaian PSA yang dibuat terdiri dari dua keluaran, yaitu 5 volt dan 12 volt, keluaran 5 volt digunakan untuk menghidupkan seluruh rangkaian, sedangkan keluaran 12 volt digunakan untuk menghidupkan motor stepper. Rangkaian tampak seperti gambar di bawah ini,

Gambar 3.2 Rangkaian Power Supplay (PSA)

Trafo CT merupakan trafo stepdown yang berfungsi untuk menurunkan tegangan dari 220 volt AC menjadi 12 volt AC. Kemudian 12 volt AC akan disearahkan dengan menggunakan dua buah dioda, selanjutnya 12 volt DC akan

diratakan oleh kapasitor 2200 μF. Regulator tegangan 5 volt (LM7805CT) digunakan agar keluaran yang dihasilkan tetap 5 volt walaupun terjadi perubahan pada tegangan masukannya. LED hanya sebagai indikator apabila PSA dinyalakan. Transistor PNP TIP 32 disini berfungsi untuk mensupplay arus apabila terjadi kekurangan arus pada rangkaian, sehingga regulator tegangan (LM7805CT) tidak akan panas ketika rangkaian butuh arus yang cukup besar. Tegangan 12 volt DC langsung diambil dari keluaran 2 buah dioda.

3.3.Rangkaian Driver Motor Stepper

Untuk mengendalikan perputaran motor stepper dibutuhkan sebuah driver. Driver ini berfungsi untuk memutar motor stepper searah dengan jarum jam atau berlawanan arah dengan jarum jam. Rangkaian ini dihubungkan ke port 2 dari mikrokontroler AT89S51. Sehingga untuk memutar motor, harus diberikan logika


(44)

high secara bergantian ke port 2. Sedangkan untuk memutar motor ke arah sebaliknya, maka logika high yang diberikan secara bergantian tersebut harus berlawanan arah dengan sebelumnya. Dengan demikian maka rangkaian ini sudah dapat dikendalikan oleh mikrokontroler AT89S51.

Motor Stepper Vcc Vcc P2.7 P2.6 P2.5 P2.4 1K 1K 1K 1K TIP 122 TIP 122

TIP 122 TIP 122

Gambar 3.3 Rangkaian Driver Motor Stepper

Pada rangkaian diatas, apabila salah satu rangkaian I dihubungkan ke mikrokontroler diberi logika high dan input pada rangkaian lain diberi logika low, maka kedua transistor tipe PNP TIP 122 pada rangkaian I akan aktif. Hal ini akan membuat kolektor dari kedua transistor tipe PNP TIP 122 pada rangkaian I akan mendapat tegangan 0 volt dari ground. Kolektor dari transistor tipe PNP TIP 122 yang berada di sebelah kiri atas diumpankan ke basis dari transistor tipe PNP TIP 122 sehingga basis dari transistor TIP 122 mendapatkan tegangan 0 volt yang menyebabkan transistor aktif (transistor tipe PNP akan aktif jika tegangan pada basis lebih kecil dari 4,34 volt). Aktifnya transistor PNP TIP 122 ini akan mengakibatkan kolektornya terhubung ke emitor sehingga kolektor mendapatkan tegangan 15 volt dari Vcc.

Kolektor dari transistor TIP 122 dihubungkan ke kumparan akan mendapatkan tegangan 6 volt. Hal ini akan mengakibatkan kumparan menimbulkan medan magnet. Medan magnet inilah yang akan menarik motor untuk mengubah kea rah kumparan yang menimbulkan medan magnet tersebut. Sedangkan rangkaian II, III dan IV karena pada inputnya diberi logika low, maka kumparannya tidak menimbulkan medan magnet, sehingga motor tidak tertarik oleh kumparan – kumparan tersebut.

Demikian seterusnya untuk menggerakkan motor agar berputar maka harus diberikan logika high secara bergantian ke masing – masing input dari masing –


(45)

masing rangkaian. Dengan demikian perputaran motor stepper sudah dapat dikendalikan melalui mikrokontroler, sehingga proses buka dan tutup atap dapat diatur melalui program yang ada pada mikrokontroler.

3.4.Rangkaian Sakelar (Keypad)

Pada alat ini dipakai dua jenis sakelar yaitu limit switch dan touch switch (tombol). Limit switch digunakan sebagai pemberi informasi posisi atap, sedangkan touch switch (tombol) digunakan sebagai tombol operasional alat. Gambar dari rangkaian sakelar ini adalah sebagai berikut:

P1.3

P1.5

P1.7

P0.6

P0.7

Gambar 3.4 Rangkaian saklar

Ketika sakelar terbuka, P1.3 s.d. p1.7 akan bernilai 1 (high). Sedangkan ketika sakelar tertutup, pin akan terhubung langsung dengan ground yang akan mengakibatkan tegangannya menjadi 0 V. Ini akan memberikan logika 0 (low) pada mikrokontroler.

3.5.Rangkaian Minimum 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 berikut ini:


(46)

Gambar 3.5 Rangkaian mikrokontroller AT89S51

Pin 31 External Access Enable (EA) diset high (H). Ini dilakukan karena mikrokontroller AT89S51 tidak menggunakan memori eskternal. Pin 18 dan 19 dihubungkan ke XTAL 12 MHz dan capasitor 30 pF. XTAL ini akan mempengaruhi kecepatan mikrokontroller AT89S51 dalam mengeksekusi setiap perintah dalam program. Pin 9 merupakan masukan reset (aktif tinggi). Pulsa transisi dari rendah ke tinggi akan me-reset mikrokontroller ini. Pin 32 sampai 39 adalah Port 0 yang merupakan saluran/bus I/O 8 bit open collector dapat juga digunakan sebagai multipleks bus alamat rendah dan bus data selama adanya akses ke memori program eksternal. Pin 1 sampai 8 adalah port 1. Pin 21 sampai 28 adalah port 2. Dan Pin 10 sampai 17 adalah port 3. Pin 17 yang merupakan P3.7 dihubungkan dengan transistor dan sebuah LED. Ini dilakukan hanya untuk menguji apakan rangkaian minimum mikrokontroller AT89S51 sudah bekerja atau belum. Dengan memberikan program sederhana pada mikrokontroller tersebut, dapat diketahui apakah rangkaian minimum tersebut sudah bekerja dengan baik atau tidak. Jika LED yang terhubug ke Pin 17 sudah bekerja sesuai dengan perintah yang diberikan, maka rangkaian minimum tersebut telah siap digunakan. Pin 20 merupakan ground dihubungkan dengan ground pada power supplay. Pin 40 merupakan sumber tegangan positif dihubungkan dengan + 5 volt dari power supplay.


(47)

3.6. Rangkaian Sensor Cahaya

Gambar 3.6 Rangkaian sensor cahaya

LDR atau Light Dependent Resistor adalah salah satu jenis resistor yang nilai hambatannya dipengaruhi oleh cahaya yang diterima olehnya. LDR dibuat dari 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. Semakin besar intensitas cahaya yang dating, semakin banyak electron yang terlepas dari ikatan. Sehingga hambatan LDR akan turun saat cahaya meneranginya.

LDR akan mempunyai hambatan yang sangat besar saat tak ada cahaya yang mengenainya (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.

Pada saat LDR dikenai cahaya, besar tegangan yang diumpankan ke transistor adalah:

��= 100�Ω

250Ω+ 100�Ω× 5� = 4,98 ����

Tegangan tersebut akan mengaktifkan transistor C945. Pada saat aktif, kolektornya akan mendapatkan tegangan 0 Volt dari ground. Tegangan 0 volt inilah yang merupakan sinyal low (0) yang diumpankan ke mikrokontroler AT89S51.

LDR

4K7 100K

330 Ohm

4K7

C945

+ 5V + 5V


(48)

Pada saat tidak ada cahaya yang mengenai LDR, tegangan yang diumpankan ke transistor adalah:

Tegangan tersebut belum dapat mengaktifkan transistor C945. Dengan demikian tegangan kolektor-emitornya berkisar antara 4,5 V – 5 V. Tegangan inilah yang merupakan sinyal high (1) yang diumpankan pada mikrokontroler AT 89S51.

3.7.Rangkaian Sensor Air

Sensor air yang dibuat sebenarnya merupakan PCB yang jalurnya dirancang sedemikian rupa sehingga letak jalur-jalurnya rapat. Sehingga ketika tetesan air mengenai jalur-jalur tersebut, jalur tersebut akan terhubung layaknya sebuah sakelar. Ketika air jauh ke atas sensor, maka resistor di basis transistor akan mendapat tegangan 5V. Hal ini akan menyebabkan transistor C945 akan aktif. Ketika transistor ini aktif, logika outputnya yang dihubungkan pada input IC 7408 (merupakan IC dengan 4 gerbang AND) akan menjadi 0. Sebaliknya ketika sensor air dalam keadaan kering, maka 5V tidak terhubung pada resistor di basis transistor. Sehingga basis transistor tidak mendapat tegangan. Hal ini menyebabkan transistor tidak aktif (transistor akan aktif bila tegangan di basisnya lebih besar dari 0,6V).


(49)

Karena transistor ini tidak aktif,outputnya akan bernilai 1. Keempat output dari sensor air ini dihubungkan ke sebuah IC 7408. Dengan demikian, ketika salah satu saja sensornya menghasilkan logika 0, maka ouput dari IC 7408 akan 0.Logika ini akan dikirimkan ke mikrokontroler untuk mengindikasikan adanya air pada sensor air.

Gambar 3.8 Bentuk sensor air pada PCB

Ketika tetesan air mengenai jalur tersebut, basis transistor akan mendapat tegangan sekitar 4,5 V – 5 V. Hal ini akan mengakibatkan transistor aktif. Ketika aktif, transistor tersebut akan memberikan logika 0 (low) pada mikrokontroler.

Sebaliknya, dalam keadaan kering jalur – jalur tembaga pada PCB tersebut tidak terhubung. Hal ini akan meng-off kan transistor dan akan mengirimkan logika 1(high) pada mikrokontroler.


(50)

3.8.Flowchart

ditekan tertekan

Tidak tertekan tidak tertekan

Ditekan tertekan

tidak tidak ditekan tidak tertekan

ditekan

ditekan

tidak

aktif gelap tertekan ditekan

aktif terang

aktif tidak tertekan ditekan

tidak tertekan tidak tertekan tidak tertekan

ditekan ditekan tertekan

tidak ditekan tidak ditekan

ditekan ditekan

tidak tertekan tidak tertekan

tertekan tertekan

Gambar 3.9 flowchart alat

mulai

cek sak buka manual

Cek limit switch buka

Cek limit switch tutup cek sak tutup

manual

cek sak auto

Cek sonsor air

Cek limit switch tutup

cek sak buka manual Cek limit switch buka Cek sensor LDR Cek limit switch tutup Cek sak buka manual Cek limit switch buka Cek limit switch tutup Cek sak tutup

manual Cek limit switch buka buka tutup tutup

buka buka

tutup

buka tutup


(51)

Program diawali dengan start, yang berarti bahwa rangkaian diaktifkan. Selanjutnya program akan mengecek kondisi hujan (sensor air), jika tidak ada sinyal dari sensor ini, maka program akan mengecek sensor cahaya, seterusnya program akan terus mengecek kondisi dari semua sensor.

Jika salah satu dari keadaan hujan, keadaan gelap. Keadaan terang mengirim sinyal ke mikrokontroler, maka program akan memerintahkan motor untuk berputar membuka atap. Dan jika salah satu dari ke 5 sensor berada pada keadaan hujan dan gelap maka sensor akan mengirimkan sinyal, maka program akan memerintahkan motor untuk berputar menutup atap. Selanjutnya program akan kembali ke rutin awal untuk kembali mengecek kondisi dari masing – masing sensor. Hal ini dapat kita lihat pada flowchart di atas.


(52)

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 voltmeter digital. Dari hasil pengujian diperoleh tegangan keluaran pertama sebesar 5,1 volt. Tegangan ini dipergunakan untuk mensupplay tegangan ke seluruh rangkaian. Mokrokontroler AT89S51 dapat bekerja pada tegangan 4,0 sampai dengan 5,5 volt, sehingga tegangan 5,1 volt ini cukup untuk mensupplay tegangan ke mikrokontroler AT89S51. Dengan demikian rangkaian ini sudah dapat bekerja dengan baik. Sedangkan tegangan keluaran kedua adalah sebesar 12,3 volt.

4.2. Pengujian Rangkaian Driver Motor Stepper

Pengujian pada rangkaian jembatan H ini dilakukan dengan menghubungkan input rangkaian driver motor stepper ini dengan rangkaian mikrokontroler At89S51 dan menghubungkan output dari rangkaian driver motor stepper ini dengan motor stepper, kemudian memberikan program sebagai berikut :

mov a,#11h buka:

jb limit_buka,bukalagi ret

bukalagi:


(53)

rl a

acall delay sjmp buka

Program diawali dengan memberikan nilai 11h pada accumulator (a), kemudian program akan memasuki rutin buka atap. 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 logika low, seperti table di bawah ini.

P0.7 P0.6 P0.5 P0.4 P0.3 P0.2 P0.1 P0.0

0s 0 0 1 0 0 0 1

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

0 0 0 1 0 0 0 1

Rl

0 0 1 0 0 0 1 0

Dst………

Nilai pada accumulator (a) yang awalnya 11h, setelah mendapat perintah Rl a, maka nilai pada accumulator (a) akan berubah menjadi 22h. kemudian program akan melihat apakah kondisi sensor buka atap dalam keadaan high (1) atau low (0). Jika high (1), nilai yang ada pada accumulator (a), akan kembali diisikan 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, seperti table di bawah ini,


(54)

0 0 1 0 0 0 1 0

Sebelumnya telah dibahas bahwa P0.0, P0.1, P0.2, dan P0.3 dihubungkan ke masukan driver motor stepper, dengan program diatas maka P0.0, P0.1, P0.2, dan P0.3 akan mendapatkan nilai high (1). Hal ini menyebabkan motor stepper akan berputar membuka atap. Hal yang sama juga berlaku ketika motor berputar kearah 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). Perputaran perintah rr diperlihatkan pada table berikut ,

1 0 0 0 1 0 0 0

Rr

0 1 0 0 0 1 0 0

Dst…………..

4.3. Pengujian Rangkaian Mikrokontroler AT89S51

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

tutuplagi:

mov p0,a rr a

acall delay sjmp tutup delay:


(55)

mov r7,#40 tnd:

mov r6,#150 djnz r6,$ djnz r7,tnd ret

Program diatas bertujuan untuk menutup atap yang terhubung ke P3.1 selama

± 0,012 detik. Perintah mov p0,a akan menyebabkan driver motor bergerak. Perintah rr a menyebabkan motor menggerakkan atap ke kanan. Acall delay akan menyebabkan atap ini menutup selama beberapa saat. Perintah Sjmp tutup akan menjadikan program tersebut berulang.

Lamanya waktu tunda dapat dihitung dengan perhitungan sebagai berikut : Kristal yang digunakan adalah Kristal 12 MHz, sehingga 1 siklus mesin membutuhkan waktu = 12 / 12 Mhz = 1 mikrodetik

Mnemonic Siklus Waktu Eksekusi Mov Rn,#data 2 2 x 1 �� = 2 ��

Djnz 2 2 x 1 �� = 2 ��

Ret 1 1 x 1 �� = 1 ��

delay:

mov r7,#40 tnd:


(56)

djnz r6,$ 150 x 2 = 300 x 40 =1200 + 4 + 3 = 1207 �� djnz r7,tnd

ret

Jadi waktu yang dibutuhkan untuk mengerjakan program diatas adalah 1207 mikrodetik atau 0,012007 detik dan dapat dibulatkan menjadi 0,012 detik.

Jika program tersebut diisikan ke mikrokontroler AT89S51, kemudian mikrokontroler dapat berjalan sesuai dengan program yang diisikan, maka rangkaian minimum mikrokontroler AT89S51 telah bekerja dengan baik.

4.4. Pengujian Rangkaian Tombol

Pengujian rangkaian ini dapat dilakukan dengan menekan tombol, kemudian mengukur tegangan output dari rangkaian tersebut. Dari hasil pengujian didapatkan pada saat tombol tidak ditekan, maka output dari rangkaian ini adalah 4,9 volt. Ketika terjadi penekanan tombol, maka output dari rangkaian ini adalah 0 volt. Dengan demikian rangkaian ini telah berfungsi dengan baik.

Pengujian selanjutnya adalah dengan menghubungkan rangkaian tombol ini dengan rangkaian mikrokontroler yang telah diberi program sebagai berikut :

Jb p3.0 Setb p3.7 ...

Program di atas akan menungu adanya sinyal low yang dikirimkan tombol, dimana tombol tersebut dihubungkan dengan P3.0. program akan terus menunggu sampai ada sinyal low yang dikirimkan oleh tombol dan sensor. Jika ada sinyal low yang dikirimkan oleh tombol dan sensor, maka program akan menghidupkan LED indicator yang dihubungkan ke P3.7


(57)

4.5. Pengujian Program

Limit_buka bit p3.0 ;limit_buka terhubung ke P3.0 Limit _tutup bit p3.1 ;limit_tutup terhubung ke P3.1

Sak_buka bit p3.2 ; sak_buka terhubung ke P3.2 Sak_tutup bit p3.3 ; sak_tutup terhubung ke P3.3 Status bit p3.4 ; status terhubung ke P3.4

Merah bit p3.7 ; merah terhubung ke P3.7 Hijau bit p3.6 ; hijau tehubung ke P3.6

Cek_status: ; label

Jb status,manual ; tombol status ditekan?jka tidak ke manual

Auto: ; label

Mov r0,p0 ; isikan nilai 0h ke p0 Hujan_terang: ; label

Cjne r0,#00h,cerah ;

Acall tutuplimit ; panggil routine tutuplimit Sjmp cek_status ; kembali ke routine cek_status

Cerah: ; label

Cjne r0,#01h,hjan_gelap ;

Acall bukalimit ; panggil routine bukalimit Sjmp cek_status ; kembali ke routine cek_status Hujan_gelap: ; label

Cjne r0,#02h,mendung ;

Acall tutuplimit ; panggil routine tutuplimit Sjmp cek_status ; kembali ke routine cek_status

Mendung: ; label

Cjne r0,#03h,cek_status ;

Acall tutuplimit ; panggil routine tutplimit Sjmp cek_status ; kembali ke routine cek_status


(58)

Manual: ; label

Jb sak_buka,cek_tutup ; tombol sak_buka ditekan? Jika tidak ke routine cek_tutup

Acall buka ; panggil routine buka

Sjmp cek_status ; kembali ke routine cek_status

Cek_tutup: ; label

Jb sak_tutup,cek_status ;tombol sak_tutp ditekan?jka tidak ke routine cek_status

Acall tutup ; panggil routine tutup

Sjmp cek_status ; kembali ke routine cek_status

Bukalimit: ; label

Setb hijau ; atur buffer hijau Clr merah ; kosongkan merah Mov p0,#00h ; isikan nilai 00h ke p0 Mov a,#11h ; isikan nilai 11h ke a

Buka: ; label

Jb limit_buka,bukalagi ;tombol limit_buka ditekan?jika tidak ke routine bukalagi

Ret ;kembali ke routine pemanggil

Bukalagi: ;label

Mov p0,a ; isikan nilai a ke p0

Rl a ; putar kiri nilai pada alamat a Acall delay ; panggil routine delay

Sjmp buka ; kembali ke routine buka

Tutuplimit: ; label

Setb merah ; atur buffer merah Clr hijau ; kosongkan hijau Mov p0,#00h ; isikan nilai 00h ke p0


(59)

Mov a,#11h ; isika 11h ke a

Tutup: ; label

Jb limit_tutup,tutuplagi ;tombol limit_tutup ditekan?jka tidak kembali ke routine tutuplagi

Ret ; kembali ke routine pemanggil Tutuplagi: ; label

Mov p0,a ; isikan nilai a dengan p0 Rr a ;putar kanan nilai pada alamat a Acall delay ; panggil routine delay

Sjmp tutup ; kembali ke routine tutup

Delay: ; label

Mov r7,#40 ; isikan nilai 40h ke r7

Dly: ; label

Mov r6,#150 ; isikan nilai 150h ke r6

Djnz r6,$ ; kurangi nilai pada r6 sampai 0

Djnz r7,Dly ; jika r6 = 0 kurangi 1 nilai pada r7 dan kembali kurangi r6 sampai 0

Ret ; kembali ke routine pemanggil


(60)

BAB V

KESIMPULAN DAN SARAN

2.1. Kesimpulan

Dari hasil pelaksaaan perancangan alat, pembahasan sistem hingga pengujian alat maka penulis dapat menarik kesimpulan, antara lain :

1. Pada saat sensor air dalam keadaan logika rendah maka atap akan tertutup, dan jika sensor air dalam keadaaan logika tinggi atap akan terbuka.

2. Pada saat LDR mendapat cukup cahaya maka basis transistor akan aktif sehingga mengirim sinyal ke mikrokontroler dengan logika rendah.

3. Motor stepper akan berhenti berputar ketika limit switch tertekan dan motor stepper akan terus berputar sebelum mengenai limit switch.

2.2.Saran

Setelah melakukan penelitian ini diperoleh beberapa hal yang dapat dijadikan saran untuk dapat melakukan penelitian lebih lanjut, yaitu :

1. Penulis berharap alat ini dapat dikembangkan lagi sehingga dapat dimanfaatkan untuk kepentingan umum.

2. Motor stepper sebaiknya diganti dengan motor DC yang lebih kuat agar dapat menggerakkan beban yang lebih berat.


(61)

DAFTAR PUSTAKA

Bishop, O. 2004 .Dasar – dasar Elektronika. Jakarta. Penerbit: Erlangga.

Bolton, W. 2006. Sistem Instrumentasi dan Sistem Kontrol. Jakarta. Penerbit: Erlangga.

Petruzella,F.D. 1996. Elektronik Industri.Diterjemahkan oleh:Sumant.Yogyakarta. Penerbit: Andi.

Prihono. 2009. Jago Elektronika secara Otodidak .Jakarta. Penerbit: KawanPustaka. Putra, A.E. 2002. Belajar Mikrokontroler AT89C51/52/55 (Teori dan Aplikasi).


(1)

djnz r6,$ 150 x 2 = 300 x 40 =1200 + 4 + 3 = 1207 �� djnz r7,tnd

ret

Jadi waktu yang dibutuhkan untuk mengerjakan program diatas adalah 1207 mikrodetik atau 0,012007 detik dan dapat dibulatkan menjadi 0,012 detik.

Jika program tersebut diisikan ke mikrokontroler AT89S51, kemudian mikrokontroler dapat berjalan sesuai dengan program yang diisikan, maka rangkaian minimum mikrokontroler AT89S51 telah bekerja dengan baik.

4.4. Pengujian Rangkaian Tombol

Pengujian rangkaian ini dapat dilakukan dengan menekan tombol, kemudian mengukur tegangan output dari rangkaian tersebut. Dari hasil pengujian didapatkan pada saat tombol tidak ditekan, maka output dari rangkaian ini adalah 4,9 volt. Ketika terjadi penekanan tombol, maka output dari rangkaian ini adalah 0 volt. Dengan demikian rangkaian ini telah berfungsi dengan baik.

Pengujian selanjutnya adalah dengan menghubungkan rangkaian tombol ini dengan rangkaian mikrokontroler yang telah diberi program sebagai berikut :

Jb p3.0 Setb p3.7 ...

Program di atas akan menungu adanya sinyal low yang dikirimkan tombol, dimana tombol tersebut dihubungkan dengan P3.0. program akan terus menunggu sampai ada sinyal low yang dikirimkan oleh tombol dan sensor. Jika ada sinyal low yang dikirimkan oleh tombol dan sensor, maka program akan menghidupkan LED indicator yang dihubungkan ke P3.7


(2)

4.5. Pengujian Program

Limit_buka bit p3.0 ;limit_buka terhubung ke P3.0 Limit _tutup bit p3.1 ;limit_tutup terhubung ke P3.1

Sak_buka bit p3.2 ; sak_buka terhubung ke P3.2 Sak_tutup bit p3.3 ; sak_tutup terhubung ke P3.3 Status bit p3.4 ; status terhubung ke P3.4

Merah bit p3.7 ; merah terhubung ke P3.7 Hijau bit p3.6 ; hijau tehubung ke P3.6

Cek_status: ; label

Jb status,manual ; tombol status ditekan?jka tidak ke manual

Auto: ; label

Mov r0,p0 ; isikan nilai 0h ke p0

Hujan_terang: ; label

Cjne r0,#00h,cerah ;

Acall tutuplimit ; panggil routine tutuplimit Sjmp cek_status ; kembali ke routine cek_status

Cerah: ; label

Cjne r0,#01h,hjan_gelap ;

Acall bukalimit ; panggil routine bukalimit Sjmp cek_status ; kembali ke routine cek_status

Hujan_gelap: ; label

Cjne r0,#02h,mendung ;

Acall tutuplimit ; panggil routine tutuplimit Sjmp cek_status ; kembali ke routine cek_status

Mendung: ; label

Cjne r0,#03h,cek_status ;

Acall tutuplimit ; panggil routine tutplimit Sjmp cek_status ; kembali ke routine cek_status


(3)

Manual: ; label

Jb sak_buka,cek_tutup ; tombol sak_buka ditekan? Jika tidak ke routine cek_tutup

Acall buka ; panggil routine buka

Sjmp cek_status ; kembali ke routine cek_status

Cek_tutup: ; label

Jb sak_tutup,cek_status ;tombol sak_tutp ditekan?jka tidak ke routine cek_status

Acall tutup ; panggil routine tutup

Sjmp cek_status ; kembali ke routine cek_status

Bukalimit: ; label

Setb hijau ; atur buffer hijau

Clr merah ; kosongkan merah

Mov p0,#00h ; isikan nilai 00h ke p0 Mov a,#11h ; isikan nilai 11h ke a

Buka: ; label

Jb limit_buka,bukalagi ;tombol limit_buka ditekan?jika tidak ke routine bukalagi

Ret ;kembali ke routine pemanggil

Bukalagi: ;label

Mov p0,a ; isikan nilai a ke p0

Rl a ; putar kiri nilai pada alamat a Acall delay ; panggil routine delay

Sjmp buka ; kembali ke routine buka

Tutuplimit: ; label

Setb merah ; atur buffer merah

Clr hijau ; kosongkan hijau


(4)

Mov a,#11h ; isika 11h ke a

Tutup: ; label

Jb limit_tutup,tutuplagi ;tombol limit_tutup ditekan?jka tidak kembali ke routine tutuplagi

Ret ; kembali ke routine pemanggil

Tutuplagi: ; label

Mov p0,a ; isikan nilai a dengan p0 Rr a ;putar kanan nilai pada alamat a Acall delay ; panggil routine delay

Sjmp tutup ; kembali ke routine tutup

Delay: ; label

Mov r7,#40 ; isikan nilai 40h ke r7

Dly: ; label

Mov r6,#150 ; isikan nilai 150h ke r6

Djnz r6,$ ; kurangi nilai pada r6 sampai 0

Djnz r7,Dly ; jika r6 = 0 kurangi 1 nilai pada r7 dan kembali kurangi r6 sampai 0

Ret ; kembali ke routine pemanggil


(5)

BAB V

KESIMPULAN DAN SARAN

2.1. Kesimpulan

Dari hasil pelaksaaan perancangan alat, pembahasan sistem hingga pengujian alat maka penulis dapat menarik kesimpulan, antara lain :

1. Pada saat sensor air dalam keadaan logika rendah maka atap akan tertutup, dan jika sensor air dalam keadaaan logika tinggi atap akan terbuka.

2. Pada saat LDR mendapat cukup cahaya maka basis transistor akan aktif sehingga mengirim sinyal ke mikrokontroler dengan logika rendah.

3. Motor stepper akan berhenti berputar ketika limit switch tertekan dan motor stepper akan terus berputar sebelum mengenai limit switch.

2.2.Saran

Setelah melakukan penelitian ini diperoleh beberapa hal yang dapat dijadikan saran untuk dapat melakukan penelitian lebih lanjut, yaitu :

1. Penulis berharap alat ini dapat dikembangkan lagi sehingga dapat dimanfaatkan untuk kepentingan umum.

2. Motor stepper sebaiknya diganti dengan motor DC yang lebih kuat agar dapat menggerakkan beban yang lebih berat.


(6)

DAFTAR PUSTAKA

Bishop, O. 2004 .Dasar – dasar Elektronika. Jakarta. Penerbit: Erlangga.

Bolton, W. 2006. Sistem Instrumentasi dan Sistem Kontrol. Jakarta. Penerbit: Erlangga.

Petruzella,F.D. 1996. Elektronik Industri.Diterjemahkan oleh:Sumant.Yogyakarta. Penerbit: Andi.

Prihono. 2009. Jago Elektronika secara Otodidak .Jakarta. Penerbit: KawanPustaka. Putra, A.E. 2002. Belajar Mikrokontroler AT89C51/52/55 (Teori dan Aplikasi).