ROBOT PEMBAGI BROSUR BERBASIS MIKROKONTROLER AT89S51 LAPORAN TUGAS AKHIR Disusun dan diajukan untuk melengkapi salah satu syarat memperoleh strata satu (S1) Universitas Mercubuana Disusun Oleh : Nama : Jaja Zakky Zakaria NIM : 41405120107 JURUSAN TEKNIK ELEKTRO FAKULTAS TEKNOLOGI INDUSTRI UNIVERSITAS MERCUBUANA 2007 - 2008 LEMBAR PENGESAHAN Tugas Akhir dengan Judul : ROBOT PEMBAGI BROSUR BERBASIS MIKROKONTROLER AT89S51 Yang diajukan oleh : Nama NIM Jurusan : Jaja Zakky Zakaria : 41405120107 : Teknik Elektro Telah disetujui untuk diajukan pada tanggal 27 Februari 2008 oleh : Pembimbing (Yudhi Gunardhi ST.MT ) Ketua Jurusan Teknik Elektro ( Ir. Budiyanto Husodo, Msc ) ii Abdullah bin Umar r.a berkata : “Sesungguhnya hati yang didalamnya tidak ada sedidkitpun ayat-ayat Al-quran, berarti hati itu kosong dan rusak, sebagaimana runtuhnya rumah yang tidak seorang pun yang mendiaminya” “Hai orang-orang yang beriman, hendaklah kamu jadi orang-orang yang selalu menegakan (kebenaran) karena Allah, menjadi saksi dengan adil, dan janganlah sekali-kali kebencianmu terhadap sesuatu kaum, mendorong kamu untuk berlaku tidak adil. Berlaku adillah, karena adil itu lebih dekat kapada takwa. Dan bertakwalah kepada Allah, sesungguhnya Allah maha mengetahui apa yang kamu kerjakan”. (AL-maidah QS 5:8) iii Buku Laporan Tugas Akhir ini ku persembahakan pada Ibuku, almarhum ayahku, kaka-kakaku, keponakanku, familiku, teman-temanku, dan almamaterku iv KATA PENGANTAR Dengan mengucapkan hamdallah dan memanjatkan puja dan puji syukur kehadirat Allah SWT, atas rahmat dan hidayahNya maka laporan Tugas Akhir ini dapat terselesaikan dengan baik. Laporan ini dibuat dalam rangka memenuhi syarat untuk memperoleh Strata satu (S1) di Universitas Mercubuana Fakultas Teknologi Industri Jurusan Teknik Elektro. Pembuatan Tugas Akhir ini yang dimulai sejak September 2007 dengan judul ”Robot Pembagi Brosur Berbasis Mikrokontroler AT89S51”. Laporan ini diperuntukan bagi siapa saja yang ingin mengetahui seluk beluk perencanaan dari suatu robot dalam pembuatan tugas akhir ini. Akhirnya penyusun ingin menyampaikan rasa terima kasih kepada : 1. Bapak Dr. Ir. Suharyadi, MS. selaku rektor Universitas Mercubuana. 2. Bapak Ir. Budiyanto Husodo, M.Sc. selaku Kaprodi Teknik Elektro. 3. Bapak Ir. Yudhi Gunardi , MT selaku Pembimbing dalam penyelesaian tugas akhir ini. 4. Seluruh dosen dan staf Universitas Mercubuana yang telah memeberikan bekal ilmu kepada kami 5. Orangtua tercinta yang tidak putus-putusnya memberikan dukungan moril dan spiritual serta saran-saran yang sangat berguna hingga tersusunnya laporan tugas akhir ini 6. Rekan-rekan mahasiswa PKK angkatan VIII, khususnya Teknik Elektro, rekan-rekan di PT. Sanken Indonesia, rekan-rekan di PT. SMT Indonesia dan rekan-rekan alumni Politeknik Negeri Jakarta angkatan 2000 yang v tidak dapat penulis sebutkan satu persatu serta pihak lainnya yang telah membantu dalam penyusunan tugas akhir ini. Akhir kata, pepenulis berharap semoga laporan ini bermanfaat bagi yang membacanya. Wassalam Jakarta, 3 Pebruari 2008 Penyusun vi DAFTAR ISI HALAMAN JUDUL ......................................................................................... i LEMBAR PENGESAHAN ............................................................................... ii LEMBAR MOTTO ............................................................................................ iii LEMBAR PERSEMBAHAN ............................................................................ iv KATA PENGANTAR ........................................................................................ v DAFTAR ISI....................................................................................................... vii DAFTAR GAMBAR .......................................................................................... x DAFTAR TABEL............................................................................................... xii BAB 1 Bab 2 PENDAHULUAN .............................................................................. 1 1.1 Latar Belakang Masalah ............................................................. 1 1.2 Tujuan Penulisan......................................................................... 2 1.3 Pembatasan Masalah ................................................................... 2 1.4 Metode Penulisan........................................................................ 3 1.5 Sistematika Penulisan ................................................................ 3 DASAR TEORI ................................................................................... 5 2.1 Mikrokontroler AT89S51 ........................................................... 5 2.1.1 Deskripsi Pin Mikrokontroler AT89S51......................... 6 2.1.2 Organisasi Memori ......................................................... 9 2.1.3 Mode Pengalamatan ........................................................ 13 2.1.4 Set Instruksi .................................................................... 15 2.1.5 Operasi Timer ................................................................. 16 vii 2.2 Motor DC ..................................................................................... 22 2.2.1 Fungsi Dasar Motor DC.................................................. 23 2.2.2 Arsitektur ........................................................................ 24 2.2.3 Rumus dasar .................................................................... 25 2.3 Sensor Ultrasonik ....................................................................... 28 2.4 Dioda Infra Merah ....................................................................... 29 2.5 Foto Dioda .................................................................................. 31 2.6 IC Pewaktu 555 ........................................................................... 33 2.7 Driver Motor IC L293D .............................................................. 37 2.8 Penguat Transistor ...................................................................... 37 2.9 Penguat Op-Amp (Operational Amplifier) .................................. 38 2.10 PWM (Pulse width Modulationa ................................................ 42 BAB 3 PERENCANAAN DAN REALISASI .............................................. 45 3.1 Perancangan Alat....................................................................... 45 3.1.1 Blok Diagram Sistem ................................................... 45 3.1.2 Prinsip Kerja Sistem ..................................................... 46 3.1.3 Perancangan Mekanik .................................................. 46 3.1.4 Penentuan Fungsi Port .................................................. 47 3.2 Perancangan Sistem Elektronik ............................................... 49 3.2.1 Rangkaian Sistem Minimum Mikrokontroller ............. 49 3.2.2 Rangkaian Sensor Foto Dioda ..................................... 49 3.2.3 Rangkaian Sensor Ultrasonik ....................................... 50 3.2.4 Rangkaian Driver Motor DC ....................................... 52 viii 3.3 BAB 4 Perancangan Software............................................................... 52 3.3.1 Program 8051 IDE ...................................................... 52 3.3.2 AEC_ISP ..................................................................... 53 PENGUJIAN DAN ANALISIS DATA ............................................. 55 4.1 Konfigurasi Pengujian .............................................................. 55 4.1.1 Percobaan Alat ............................................................. 55 4.1.2 Konfiguransi Pengujian Motor .................................. 56 4.1.3 Konfigurasi Pengujian Sensor ..................................... 56 4.2 Daftar Peralatan Pengujian ..................................................... 56 4.3 Data Hasil Pengujian ............................................................... 57 4.4 4.3.1 Motor DC ..................................................................... 57 4.3.2 Rangkaian Sensor Cahaya ............................................ 57 Analisa Data ............................................................................. 57 4.4.1 Rangkaian Driver Motor ............................................... 57 4.4.2 Rangkaian Sensor Cahaya ............................................ 58 4.4.3 Output PWM ................................................................ 58 4.5 Percobaan Rangkaian Alat ....................................................... 59 BAB 5 KESIMPULAN .................................................................................. 61 Daftar Pustaka Lampiran ix DAFTAR GAMBAR Gambar 2.1 Konfigurasi Pin Mikrokontroler AT89S51 ................................... 6 Gambar 2.2 Organisasi Memori Mikrokontroler 8051 .................................... 8 Gambar 2.3 Konfigurasi Motor Seri dan konfigurasi Motor Shunt .................. 23 Gambar 2.4 Konfigurasi Motor Gabungan Short Shunt dan Long Shunt ........ 23 Gambar 2.5 Kontruksi sederhana motor dc ...................................................... 25 Gambar 2.6 Rangkaian ekivalen dari motor DC .............................................. 27 Gambar 2.7 Hubungan torsi, kecepatan motor DC dengan magnet permanen. 28 Gambar 2.8 Gambar sensor ultrasonik.............................................................. 28 Gambar 2.9 Prinsip kerja sensor ultrasonik ..................................................... 29 Gambar 2.10 Simbol infra merah, Penampang LED ......................................... 30 Gambar 2.11 Prinsip kerja infra merah .............................................................. 31 Gambar 2.12 Simbol foto dioda dan Rangkaian Foto Dioda ............................. 32 Gambar 2.13 Kemasan dan konfigurasi pin-pin IC pewaktu 555 ................... 33 Gambar 2.14 Digram blok rangkaian dalam IC 555 ....................................... 34 Gambar 2.15 Kondisi pin 3 IC 555 ................................................................. 35 Gambar 2.16 Kondisi pin 7 IC 555 ................................................................. 37 Gambar 2.17 Driver motor L293D ................................................................. 38 Gambar 2.18 Bias pembagi tegangan .............................................................. 39 Gambar 2.19 Simbol skematis op-amp ........................................................... 41 Gambar 2.20 Sinyal PWM dengan duty cycle 50% ........................................ 43 Gambar 2.21 Sinyal PWM dengan duty cycle 10% ........................................ 44 Gambar 3.1 Blok Diagram Sistem Robot Pembagi Brosur ........................... 45 Gambar 3.2 Gambar Robot Pembagi Brosur ................................................ 46 Gambar 3.3 Gambar Robot Tampak Samping .............................................. 46 Gambar 3.4 Gambar Robot Tampak Belakang ............................................. 47 Gambar 3.5 Rangkaian Sistem Minimum Mikrokontroler AT89S51 ........... 49 Gambar 3.6 Rangkaian Sensor Pendeteksi Garis .......................................... 50 Gambar 3.7 Rangkaian pemancar sensor ultrasonik ..................................... 51 x Gambar 3.8 Rangkaian penerima sensor ultrasonik ..................................... 51 Gambar 3.9 Rangkaian penggerak motor DC ............................................... 52 Gambar 3.10 Tampilan program 8051 IDE .................................................... 53 Gambar 3.11 Tampilan program AEC_ISP .................................................... 54 Gambar 4.1 Line tracking .............................................................................. 55 Gambar 4.2 Tinggi robot sebelum dan sesudah naik .................................... 55 Gambar 4.3 Konfigurasi pengukuran arus dan tegangan motor .................... 56 Gambar 4.4 Konfigurasi pengujian rangkaian sensor cahaya........................ 56 xi DAFTAR TABEL Tabel 2.1 Fungsi Khusus Port 3 ......................................................................... 8 Tabel 2.2 Bit-Bit Status PSW ........................................................................... 8 Tabel 2.3 Daftar SFR Untuk Timer..................................................................... 17 Tabel 2.4 Bit-bit SFR TCON .............................................................................. 18 Tabel 2.5 Daftar Bit SFR TMOD........................................................................ 19 Tabel 2.6 Mode Operasi Timer ........................................................................... 20 Tabel 3.1 Port 1 yang digunakan sebagai output ................................................ 47 Tabel 3.2 Port 1 yang digunakan sebagai input .................................................. 48 Tabel 3.3 Port 1 yang digunakan sebagai input .................................................. 48 Tabel 4.1 Daftar peralatan pengujian .................................................................. 56 Tabel 4.2 Daftar hasil pegujian tegangan dan arus motor.................................. 57 Tabel 4.3 Daftar hasil pegujian tegangan sensor ............................................... 57 Tabel 4.4 Kondisi Motor ketika X dan Y diberikan Logik ............................. 58 xii BAB 1 PENDAHULUAN 1.1 Latar Belakang Masalah Perkembangan teknologi pada abad ke-21 semakin pesat. Kemajuan ini sebagian besar adalah berkat dukungan perkembangan ilmu pengetahuan dibidang elektronika. Salah satu contoh yang paling populer dan berkembang dengan pesat selain teknologi komputer adalah teknologi robot. Dengan adanya robot, maka akan dapat mempermudah segala bentuk kerja yang dilakukan oleh manusia dengan hasil yang baik. Pengertian robot jika dikaitkan dengan perangkat di industri adalah mesin yang dapat diprogram ulang, dirancang dengan manipulator, multi fungsi untuk memindahkan bahan, peralatan, atau komponen khusus melalui beberapa gerakan yang terprogram sebagai kinerja dari berbagai macam tugas. Biasanya media yang digunakan untuk menggerakan dan memprogram robot adalah sebuah Personal Computer (PC). PC digunakan sebagai penggerak dan pemrogram robot karena PC memiliki port-port yang dapat mengakses data baik secara serial maupun paralel. Pada pergerakan-pergerakan data akses PC untuk robot umumnya berupa data serial dimana pengaturan data serial tersebut diproses oleh mikrokontroler (μC). Data yang diterima oleh μC akan menggerakan motor sesuai dengan data yang diberikan. Keuntungan dari kinerja tersebut yaitu perubahan gerakan robot dapat dilakukan dengan mudah yaitu cukup dengan merubah listing program pada menu program yang dibuat. 1 Berangkat dari masalah tersebut, saya sebagai mahasiswa Jurusan Teknik Elektro Universitas Mercubuana tertarik untuk dapat menyumbangkan ide sekaligus membuat alat yang diberi nama Robot Pembagi Brosur Berbasis Mikrokontroller AT89S51 Prinsip kerja dari robot pembagi brosur ini adalah robot ini bekerja mengikuti jalur, berjalan sepanjang line tracking. Jika Sensor ultrasonic membaca ada subyek yang menghalanginya, maka robot ini akan berhenti dan leher robot yang membawa brosur ini akan naik, maka disaat inilah kita dapat mengambil brosur yang terdapat pada robot. 1.2 Tujuan Penulisan Tujuan pembuatan tugas akhir ini adalah merencanakan, merancang dan membuat sistem dari Robot pembagi brosur berbasis mikrokontroler AT89S51 dengan memanfaatkan sensor ultrasonic sebagai pendeteksi objek, dan diharapkan dari tugas akhir ini dapat dijadikan media pembelajaran atau pelatihan dalam dunia pendidikan khususnya yang berkaitan dengan teknologi robotika 1.3 Pembatasan Masalah Karena cakupan masalah yang sangat luas, maka pembatasan masalah kali ini penulis ingin menitik beratkan pembahasan bagaimana cara membuat Robot pembagi brosur yang bergerak mengikuti jalur dengan menggunakan mikrokontroler AT89S51. 2 1.4 Metode Penulisan Dalam pengumpulan data dan informasi penulisan laporan proyek akhir ini, penulis menggunakan metode adalah sebagai berikut: 1.4.1 Studi Kepustakaan Tahap ini dilakukan yaitu dengan mencari informasi dari buku-buku, majalah-majalah dan internet yang menunjang dengan judul tugas akhir. 1.4.2 Studi Eksperimentasi Tahap ini dilakukan dengan melakukan percobaan terhadap alat, baik dalam rakitan hardware maupun dalam pembuatan software hingga selesai penulisan ini. 1.5 Sistematika Penulisan Secara garis besar laporan pada tulisan ini dibagi sebagai berikut : Bab 1 Pendahuluan Berisi tentang latar belakang masalah, tujuan penulisan, pembatasan masalah, metode penulisan, dan sistematika penulisan. Bab 2 Dasar Teori Menerangkan tentang dasar teori yang digunakan, baik secara umum maupun khusus yang menunjang pembuatan alat ini. 3 Bab 3 Perencanaan dan Realisasi Berisi perancangan mekanik, power driver, elektronik, dan pemrograman microcontroller pada robot. Bab 4 Pengujian dan Analisa Data Menerangkan pengujian system dan analisa data yang yang kami buat. Bab 5 Penutup Berisi tentang kesimpulan dan saran yang berkaitan dengan penulisan laporan proyek akhir ini. 4 BAB 2 DASAR TEORI 2.1 Mikrokontroler AT89S51 Mikrokontroler adalah suatu teknologi semikonduktor dengan kandungan transistor yang lebih banyak namun hanya membutuhkan ruang kecil dan harganya relatif lebih murah serta banyak dipakai di dunia industri1. Mikrokontroler jenis ini memiliki memori dengan teknologi nonvolatile memory yaitu isi memori tersebut dapat diisi ulang ataupun dihapus berkali-kali. Memori ini biasa digunakan untuk menyimpan instruksi (perintah) berstandar kode MCS51 sehingga memungkinkan mikrokontroler ini untuk bekerja dalam mode single chip operation (mode operasi keping tunggal) yang tidak memerlukan external memory (memori luar) untuk menyimpan source code tersebut. Struktur Mikrokontroler AT89S51 terdiri dari : a. 128x8 bit internal RAM b. 32 port I/O c. Dua buah 16 bit Timer/Counter d. 4 Kilobytes Flash memory e. 6 buah interupsi f. Frekuensi clock 0–33 Mhz g. Full Duplex Serial Channel h. Programmable serial channel i. In System Programming 1 Agfianto Eko Putra, Belajar Mikrokontroler AT89C51/52/55, (Yogyakarta : Gava Media, 2004), hal. 1 5 Gambar 2.1. Konfigurasi Pin Mikrokontroler AT89S51 2.1.1 Deskripsi Pin Mikrokontroler AT89S51 Mikrokontroler AT89S51 memiliki 40 pin yang 32 pin di antaranya digunakan sebagai port paralel. Satu port paralel terdiri dari 8 kaki, dengan demikian 32 kaki tersebut membentuk 4 buah port paralel yang masing-masing dikenal sebagai port 0, port 1, port 2 dan port 3. Susunan pin-pin tersebut dapat dilihat pada gambar 2.1. Deskripsi pin-pin dari mikrokontroler AT89S51 adalah sebagai berikut : Pin 1-8 (port 0) Merupakan port I/O dwi arah yang dilengkapi dengan pullup internal. Penyangga keluaran port 1 mampu memberikan/menyerap arus empat masukan TTL. Jika “1” dituliskan ke kaki-kaki port 1, maka masing-masing kaki akan di pulled high dengan pullup internal sehingga dapat digunakan sebagai masukkan. Sebagai masukan, jika kaki-kaki Port 1 dihubungkan ke ground (di-pulled low), 6 maka masing-masing kaki akan memberikan arus karena di-pulled high secara internal. Pin 9 (Reset) Reset akan bekerja jika di berikan input high selama 2 siklus mesin yang akan menyebabkan register-register internal pada AT89S51 akan berisi nilai default setelah sistem di reset. Pin 10-17 (Port 3) Sebagai I/O biasa dan memiliki sifat yang sama dengan port 1 dan port 2. Port 3 juga memiliki fungsi khusus yang ditunjukkan pada tabel 1. Tabel 2.1. Fungsi Khusus Port 3 Pin 18 (XTAL 2) Output dari penguat inverting osilator. Pin 19 (XTAL 1) Input dari penguat inverting osilator. Pin 20 (Ground) Pin 21-28 (Port 2) Port 2 merupakan dual purpose port selain Sebagai I/O biasa dan memiliki sifat yang sama dengan port 1 dan port 3, port ini juga dapat digunakan sebagai high byte dari address. 7 Pin 29 (PSEN / Program Store Enable) PSEN adalah kontrol sinyal yang mengijinkan untuk mengakses program (kode) memori eksternal. Pin ini dihubungkan ke pin OE (output enable) dari EPROM. PSEN akan selalu bernilai 0 pada pembacaan memori internal. Pin 30 (ALE / PROG) ALE digunakan untuk men-demultiplex address dan data bus. Ketika menggunakan program memori eksternal, port 0 akan berfungsi sebagai address dan data bus. Pada setengah paruh pertama memory cycle, ALE akan bernilai 1 sehingga mengijinkan penulisan alamat pada register eksternal dan pada setengah paruh berikutnya akan bernilai 0 sehingga port 0 dapat digunakan sebagai data bus. Pada kaki ini juga berfungsi sebagai masukan pulsa program (PROG) selama pengisian flash PEROM. Pin 31 (EA / Vpp) Jika EA diberi masukkan 1 maka AT89S51 akan menjalankan program memori internal saja. Jika EA diberi masukkan nol (ground) maka AT89S51 hanya akan menjalankan program memori eksternal (PSEN akan bernilai 0). Pin ini juga menerima tegangan 12 V (Vpp) selama pengisian flash programming. Pin 32-39 (Port 0) Merupakan dual purpose port (port yang memiliki dua kegunaan). Pada kondisi normal, port ini digunakan sebagai port I/O. Pada kondisi yang lain dapat digunakan sebagai data dan address yang di-multiplex pada memori eksternal. Pada saat flash programming diperlukan external pull up terutama pada saat verifikasi program. 8 Pin 40 (Vcc) Suplai tegangan sebesar + 5 volt. 2.1.2 Organisasi Memori Program-program dan data-data pada komputer maupun mikrokontroler disimpan pada memori. Memori yang diakses oleh prosesor ini terdiri dari RAM (Random Access Memory) dan ROM (Read Only Memory). Perbedaan antara ROM dan RAM adalah : RAM dapat dibaca dan ditulis, sedangkan ROM hanya bisa dibaca saja. RAM bersifat volatile (isinya hilang jika power/sumber tegangan dihilangkan) sedangkan ROM bersifat non-volatile (isinya tidak hilang jika power/sumber tegangan dihilangkan) Biasanya mikrokontroler mengimplemantasikan pembagian ruang memori untuk data dan program. ROM ini biasanya berisi kode/program untuk mengontrol kerja dari mikrokontroler, sedangkan RAM biasanya berisi data yang akan dieksekusi oleh mikrokontroler. Setiap mikrokontroler memiliki ROM dan RAM yang besarnya bervariasi. Pada gambar 4, dapat dilihat gambaran secara lengkap dari on-chip data memori. Seperti yang ditunjukkan, ruang internal memori dibagi menjadi register banks (00H-1FH), bit addressable RAM (20H-2FH), general purpose RAM (30H-7FH) dan special function register (80H-FFH). 9 Gambar 2.2. Organisasi Memori Mikrokontroler 8051 General Purpose RAM General purpose RAM ini berfungsi sebagai tempat penyimpanan data yang akan dieksekusi maupun hasil eksekusi yang dapat diakses secara langsung melalui mode pengalamatan secara langsung maupun tidak langsung. General purpose RAM ini diakses secara byte per byte. Bit Addressable Location Pada bit addressable location ini memiliki fungsi yang sama dengan General Purpose RAM, tetapi memiliki keistimewaan untuk bisa diakses secara bit per bit. Register Banks Terdiri dari 8 register, yaitu R0-R7, dan defaultnya menunjukkan bahwa register ini berada pada alamat 00H-07H. Pada AT89S51, terdapat 4 bank register yang terdiri dari bank 0, bank 1, bank 2 dan bank 3. Bank tersebut dapat dipilih setelah kita mengubah select bit register banks pada program status word. 10 Special Function Register Merupakan register yang memiliki fungsi khusus yang terdiri dari : Akumulator Register ini terletak pada alamat E0H. Hampir semua operasi aritmatik dan operasi logika selalu menggunakan register ini. Register ini juga digunakan untuk penyimpanan data sementara. Selain itu, dapat juga digunakan untuk proses pengambilan dan pengiriman data ke memori eksternal. Register B Register B digunakan bersama akumulator untuk proses aritmatika yang dapat juga difungsikan sebagai register biasa. Stack Pointer (SP) Stack Pointer ini adalah 8 bit register yang berada pada alamat 81H. Stack ini berisi alamat dari data yang berada paling awal yang masuk ke dalam stack. Operasi stack terdiri dari memasukkan data (push) pada stack dan mengeluarkan data (pop) dari stack. Memasukkan data ke stack ini akan mengakibatkan peningkatan nilai dari SP sebelum menulis data, dan mengeluarkan data akan mengakibatkan penurunan nilai dari SP. Program Status Word (PSW) PSW berisi bit-bit status yang berkaitan dengan kondisi CPU saat itu. Status yang tersimpan dalam PSW dapat dilihat pada tabel 2.2. 11 Tabel 2.2. Bit-Bit Status PSW Data Pointer (DPTR) Register DPTR digunakan untuk menyimpan alamat 16 bit. Dapat dimanipulasi sebagai register 16 bit atau sebagai dua register 8 bit yang terpisah. DPTR terdiri dari byte tinggi (DPH) dan byte rendah (DPL) yang masing-masing berada di lokasi 83H dan 82H. Port 0, Port 1, Port 2 dan Port 3 P1, P2, P3 dan P4 masing-masing terletak pada alamat 80H,90H, A0H dan B0H. Pada beberapa port (P0, P2 dan P3) memiliki fungsi tambahan yang apabila digunakan external memory ataupun fungsi-fungsi spesial, seperti external interrupt, timer, serial, maka port tersebut tidak dapat digunakan. Oleh karena itu, disediakan port 1 yang dikhususkan untuk port dengan fungsi umum. Semua port ini dapat diakses dengan pengalamatan secara bit sehingga dapat dilakukan perubahan output pada tiap-tiap pin dari port ini tanpa mempengaruhi pin-pin yang lainnya. 12 Serial Data Buffer (SBUF) SBUF terletak pada alamat 99H yang terdiri dari dua register yang terpisah yaitu register penyangga pengirim (transmit buffer) dan penyangga penerima (receive buffer). Pada saat data disalin ke SBUF, maka sesungguhnya data dikirim ke penyangga pengirim dan sekaligus mengawali transmisi data serial. Sedangkan pada saat data disalin dari SBUF, maka sebenarnya data tersebut berasal dari penyangga penerima. Timer Register Pada AT89S51 terdiri dari dua buah 16 bit timer/counter untuk interval waktu atau menghitung kejadian. Timer 0 berada pada alamat 8AH (TL0, low byte) dan 8CH (TH0, high byte), dan timer 1 berada pada alamat 8BH(TL1, low byte) dan 8DH (TH1, high byte). Operasi timer diset oleh Timer Mode Register (TMOD) pada alamat 89H dan Timer Control Register (TCON) pada alamat 88H. 2.1.3 Mode Pengalamatan Data atau operan bisa berada di tempat yang berbeda sehingga dikenal beberapa cara untuk mengakses data/operan tersebut yang dinamakan sebagai mode pengalamatan (addressing mode) antara lain yaitu 2: 1. Mode Pengalamatan Segera (Immediate Addressing Mode) Cara ini menggunakan konstanta, misalnya MOV A,#20h. Dalam instruksi tersebut, akumulator akan diisi dengan konstanta 20h. 2. Mode Pengalamatan Langsung (Direct Addressing Mode) 2 Ibid., hal. 43-44 13 Cara ini dipakai untuk menunjuk data yang berada di suatu lokasi memori dengan cara menyebut lokasi (alamat) memori tempat data tersebut berada, misalnya : MOV A,30h. Instruksi ini berarti bahwa data yang berada di dalam memori dengan alamat 30h disalin ke akumulator A. 3. Mode Pengalamatan Tidak Langsung (Inderect Addressing Mode) Mode ini dipakai untuk mengakses data yang berada di suatu lokasi memori, tetapi lokasi memori tidak disebut secara langsung tetapi melalui register, misalnya : MOV A,@R0. Dalam instruksi ini register serbaguna R0 digunakan untuk menyimpan lokasi memori, sehingga instruksi ini memiliki arti, bahwa memori yang alamatnya tersimpan dalam R0 isinya disalin ke akumulator A. 4. Mode Pengalamatan Register (Register Direct Addressing) Misalnya : MOV A,R5, instruksi ini memiliki arti bahwa data dalam register serbaguna R5 disalin ke akumulator A. 5. Mode Pengalamatan Kode Tidak Langsung (Code Inderect Addressing Mode) Misalnya : MOVC A,@A+DPTR. Dalam instruksi ini MOV diganti dengan MOVC, tambahan huruf C tersebut dimaksud untuk membedakan bahwa instruksi ini digunakan untuk memori program. (MOV tanpa huruf C artinya digunakan untuk memori data). Tanda “@” digunakan untuk menandai A+DPTR yang berfungsi untuk menyatakan lokasi memori yang isinya disalin ke akumulator A, dalam hal ini nilai yang tersimpan dalam DPTR ditambah dengan nilai yang tersimpan dalam akumulator A. 14 2.1.4 Set Instruksi Instruksi Aritmatika Instruksi aritmatika merupakan instruksi yang paling mendasar dalam mikrokontroler, dimana terdiri dari operasi dasar matematis seperti penjumlahan (ADD), perkalian (MUL), pengurangan (SUB), pembagian (DIV), penambahan 1 isi register (INC) dan pengurangan 1 isi register (DEC). Instruksi Logika Instruksi logika akan melakukan operasi Boolean seperti AND, OR, exclusive OR dan NOT pada data sepanjang byte atau bit. Instruksi Percabangan Percabangan program digunakan untuk mengontrol jalannya program, termasuk pemanggilan kembali dari subrutin atau percabangan. Ada tiga variasi perintah JMP, yaitu : @. SJMP (short jump) akan mengambil alamat tujuan dengan batas -128 s.d. +127 byte relatif dari alamat setelah perintah SJMP. @. AJMP (absolute jump) menggunakan alamat 11 bit, dengan tujuan yang berada pada blok 2 KiloByte yang sama. @. LJMP (long jump) menggunakan alamat 16 bit, dimana tujuannya dapat berada dimana saja pada ROM 64K. Instruksi Subrutin Subrutin merupakan sekumpulan instruksi yang karena berbagai pertimbangan dipisahkan dari program utama. Bagian-bagian di program utama akan memanggil (CALL) subrutin, artinya mikrokontroler sementara meninggalkan aliran program utama untuk mengerjakan instruksi-instruksi dalam 15 subrutin. Setelah selesai mengerjakan sub rutin, mikrokontroler akan mengerjakan kembali program utama3. Intruksi subrutin terbagai menjadi dua, yaitu : ACALL (Absolut Call) Instruksi ini akan melakukan lompatan ke suatu subrutin yang berada di area sebesar 2 KiloByte. LCALL (Long Call) Instruksi ini akan melakukan lompatan ke suatu subrutin yang berada di area sebesar 16 KiloByte. 2.1.5 Operasi Timer AT89S51 memiliki dua buah timer, yaitu timer 0 dan timer 1 yang keduanya dapat berfungsi sebagai counter ataupun timer. Jika timer mempunyai sumber clock dari frekuensi tertentu yang sudah pasti, sedangkan counter mendapat sumber clock dari pulsa yang hendak dihitung jumlahnya. Aplikasi dari counter atau penghitung biasa digunakan untuk aplikasi menghitung jumlah kejadian yang terjadi dalam periode tertentu sedangkan timer atau pewaktu biasa digunakan untuk aplikasi menghitung lamanya suatu kejadian yang terjadi. Kedua timer tersebut masing-masing memiliki 16 bit counter yang dapat diatur keaktifan maupun mode operasinya, direset dan diset dengan harga tertentu. Tabel 2.3 di bawah ini akan menjelaskan special function register untuk timer. 3 Ibid., hal. 58 16 Tabel 2.3. Daftar SFR Untuk Timer Nama SFR Keterangan Alamat TH0 Timer 0 High Byte 8Ch TL0 Timer 0 Low Byte 8Ah TH1 Timer 1 High Byte 8Dh TL1 Timer 1 Low Byte 8Bh TCON Timer Control 88h TMOD Timer Mode 89h 1. THx/TLx Timer 0 memiliki dua macam SFR yang eksklusif bagi dirinya sendiri, yaitu TH0 dan TL0 yang membentuk harga aktual dari timer. Misalnya timer 0 berharga 0ECD hexadesimal, maka TH0 akan berisi 0E heksadesimal sedangkan TL0 akan berisi CD hexadesimal. Timer 1 identik dengan Timer 0 kecuali bahwa SFR eksklusif yang dimilikinya adalah TH1 dan TL1. Dan karena kedua timer ini memiliki kapasitas dua byte, maka harga maksimum yang bisa ditampung adalah 65.535 desimal. Dengan demikian, apabila timer telah melampaui harga 65.535, maka dia akan overflow dan kemudian kembali ke harga awal 0. 17 2. TCON (Timer Control) SFR ini mengontrol kedua timer dan menyediakan informasi yang sangat berguna berkaitan dengan timer-timer tersebut. Struktur SFR TCON dapat dilihat pada tabel 2.4. Tabel 2.4. Bit-bit SFR TCON Bit Nama Alamat 7 TF1 8Fh Fungsi Timer Timer 1 Overflow. Bit ini diset oleh 1 mikrokontroler jika Timer 1 overflow Timer 1 Run. Jika bit ini diset maka 6 TR1 8Eh Timer 1 akan bekerja. Sebaliknya jika 1 direset maka Timer 1 akan mati. Timer 0 Overflow. Bit ini diset oleh 5 TF0 8Dh 0 mikrokontroler jika Timer 0 overflow Timer 0 Run. Jika bit ini diset maka 4 TR0 8Ch Timer 0 akan bekerja. Sebaliknya jika 0 direset maka Timer 1 akan mati. Dalam tabel hanya dicantumkan 4 bit dari 8 bit yang ada pada SFR TCON. Hal ini karena hanya 4 bit (bit 4 hingga bit 7) yang berkaitan dengan timer, sedangkan bit sisanya berkaitan dengan interupsi. Untuk mengeset atau mereset bit-bit SFR tidak perlu dengan memberikan nilai 8 bit. Bit-bit SFR bisa dialamati per bit. Dengan demikian perubahan satu atau beberapa bit tidak akan mengganggu status bit-bit yang lain. 18 3. TMOD (Timer Mode) SFR TMOD digunakan untuk mengontrol mode operasi dari kedua timer. Setiap bit dari SFR ini menyediakan informasi bagi mikrokontroler bagaimana menjalankan timer. Empat bit orde tinggi (bit 4 hingga bit 7) berhubungan dengan timer 1, sedangkan empat bit orde bawah (bit 0 hingga bit 3) mempunyai fungsi sama yang diperuntukkan bagi timer 0. Tabel 2.5. Daftar Bit SFR TMOD Bit Nama Fungsi Timer Jika bit ini diset, timer hanya akan bekerja jika INT1 7 GATE 1 (P3.3) berlogika 1. Jika bit ini dinolkan, timer akan bekerja 1 tanpa dipengaruhi kondisi INT1 Jika bit ini diset, timer akan menghitung kondisi pada T1 6 C/T1 (P3.5). Jika bit ini dinolkan, timer akan bertambah satu 1 setiap siklus mesin 5 T1M1 Bit mode timer 1 4 T1M0 Bit mode timer 1 Jika bit ini diset, timer hanya akan bekerja jika INT0 3 GATE 0 (P3.2) berlogika 1. Jika bit ini dinolkan, timer akan bekerja 0 tanpa dipengaruhi kondisi INT0 Bit Nama Fungsi Timer Jika bit ini diset, timer akan menghitung kondisi pada T0 2 C/T0 (P3.4). Jika bit ini dinolkan, timer akan bertambah satu 0 setiap siklus mesin 1 T0M1 Bit mode timer 0 0 T0M0 Bit mode timer 0 19 Seperti terlihat pada tabel di atas, ada 4 bit yang menyatakan mode untuk kedua timer. Masing-masing dua bit untuk satu timer. Adapun mode operasi yang dimaksud di sini adalah sebagaimana tercantum dalam tabel di bawah ini. Tabel 2.6. Mode Operasi Timer TxM1 TxM0 Mode Timer Keterangan 0 0 0 Timer 13 bit 0 1 1 Timer 16 bit 1 0 2 8 bit auto reload 1 1 3 Mode timer split Mode Timer 13 bit (Mode 0) Dalam mode 0, timer yang dibentuk adalah timer 13 bit. Mode ini digunakan untuk menjaga kompatibilitas pendahulu keluarga 8051, yaitu generasi 8048. Pada saat ini timer 13 bit sudah jarang digunakan. Saat timer diset sebagai timer 13 bit, TLx akan mencacah dari 0 hingga 31. Jika TLx melebihi 31, maka dia akan reset ke harga awal 0 dan kemudian menambah harga THx. Dengan demikian, hanya 13 bit dari dua byte yang digunakan, yaitu bit 0-4 dari TLx dan bit 0-7 dari THx. Sehingga maksimum harga yang dapat dicapai adalah 8.192. Sehingga jika timer diset dalam mode ini, dia akan menjadi nol setelah 8.192 siklus mesin. 20 Mode Timer 16 Bit (Mode 1) Timer mode 1 adalah timer 16 bit. Mode ini adalah mode yang paling umum digunakan. Fungsinya sama dengan timer 13 bit, namun yang didayagunakan adalah 16 bit. TLx akan mencacah dari 0 hingga 255. Jika TLx melebihi 255, dia akan reset menjadi 0 dan menambah THx dengan 1. Karena kemampuan 16 bit, maka mode ini memiliki batas maksimum harga 65.535. Sehingga jika timer diset dalam mode ini, dia akan menjadi nol setelah 65.535 siklus mesin. Mode Timer 8-Bit Auto Reload (Mode 2) Timer mode 2 adalah timer 8 bit dengan kemampuan pengisian ulang (auto reload). Dalam mode ini, THx akan menyimpan harga awal counter dan TLx berfungsi sebagai timer 8-bit. TLx akan memulai mencacah dengan harga yang tersimpan pada THx, dan jika telah melampaui harga 255, dia akan reset dan kembali ke harga awal yang tersimpan di THx. Mode Timer Split (Mode 3) Timer mode 3 adalah mode timer split. Jika Timer 0 diset dalam mode 3, dia akan menjadi dua timer 8 bit yang berbeda. Timer 0 adalah TL0 dan Timer 1 adalah TH0. Kedua-duanya akan mencacah dari 0 hingga 255 dan jika menemui kondisi overflow akan reset ke nol. Saat Timer 0 dalam mode split, Timer 1 bisa diset pada mode 0, 1, atau bahkan 2 secara normal. Mode ini hanya dipakai jika diperlukan dua timer 8 bit yang terpisah. 21 Timer Sebagai Counter Kondisi ini digunakan untuk aplikasi menghitung jumlah kejadian yang terjadi dalam periode tertentu. Sebagai contoh, sebuah sensor digunakan untuk menghitung jumlah barang yang masuk. Setiap sensor mendeteksi barang yang masuk maka dia akan mengirim pulsa ke mikrokontroler untuk diproses. Jika ingin menggunakan timer sebagai counter, maka bit C/T harus diset sehingga timer akan memonitor input. 2.2 Motor DC Motor merupakan sebuah sistem penggerak atau aktuator yang mengubah besaran yang berupa tegangan menjadi sistem gerak mekanis. Sedangkan yang mengubah dari sistem gerak mekanik menjadi tegangan adalah generator DC. Prinsip-prinsip kerja dari motor DC seperti pada operasi kemagnetan dasar, dimana polaritas arus yang mengalir melalui kawat lilitan akan menentukan tempat kutub magnetik utara dan selatan pada kawat lilitan. Prinsip penting lainnya meliputi nilai arus yang mengalir melalui lilitan. Pada motor dc, nilai arus pada lilitan akan menentukan nilai torsi dan kecepatan tangkai motor (rpm). Dan itu berbeda dengan generator dc dimana mempunyai fungsi yang berkebalikan dengan motor dc. Motor dc memiliki beberapa jenis konfigurasi untuk windings (coil) pada rotor dan armature, yakni : Motor seri, Motor shunt, dan Motor gabungan. Motor seri dibuat untuk memindahkan beban dengan torsi awal yang tinggi. Motor shunt dibuat berbeda karena biasanya digunakan untuk memompakan suatu cairan, sehingga diperlukan suatu kecepatan yang konstan. 22 Dan motor gabungan digunakan untuk torsi awal yang tinggi dan pengontrolan dalam pengaturan kecepatan. SF A SR A (A) (B) Gambar 2.3. (A). Konfigurasi Motor Seri, (B). konfigurasi Motor Shunt SR SR SF A (A) SF A (B) Gambar. 2.4. Konfigurasi Motor Gabungan (A). Short Shunt, (B) Long Shunt 2.2.1 Fungsi Dasar Motor DC Motor DC digunakan sebagai penggerak dasar dari robot pembagi brosur ini yang merupakan bagian utama dari robot sehingga robot dapat berjalan maju atau mindur dan juga naik atau turun. 23 2.2.2 Arsitektur Motor pada umumnya memiliki dua elemen atau bagian yang menyebabkan motor tersebut dapat berputar, yakni bagian yang diam (stator) dan bagian yang bergerak (rotor). Adapun istilah-istilah bagian motor sehingga membentuk rotor dan stator yaitu : 1. Kerangka motor. Kerangka Motor adalah badan luar yang digunakan sebagai penutup mesin, terbuat dari besi tuang dan berguna untuk menyokong kutub magnet serta melindungi bagian dalam dari mesin. 2. Kutub magnet. Kutub magnet berguna untuk memperlebar fluksi magnet sehingga mampu mencakup daerah celah udara menuju inti jangkar pada stator secara optimal. 3. Sikat atau Brush. Sikat mempunyai fungsi untuk mengalirkan arus ke kumparan jangkar melalui komutator. 4. Komutator. Komutator mempunyai fungsi sebagai penyearah gelombang penuh dari gelombang arus bolak–balik dari sumber motor. Kemudian keluaran komutator disearahkan menjadi arus searah melalui sikat. 5. Jangkar. Biasanya berguna untuk tempat lilitan. 24 6. Kumparan jangkar. Kumparan jangkar adalah tempat terjadinya interaksi arus pada kumparan jangkar dengan medan magnet yang membangkitkan suatu gaya gerak listrik (ggl) lawan yang menyebabkan adanya torsi pada poros rotor. a b S U c d e a: Kerangka Motor b: Kumparan Jangkar c: Komutator d: Armature (jangkar) e: Kutub Magnet Gambar 2.5. Kontruksi sederhana motor dc4 2.2.3 Rumus dasar Untuk memahami spesifikasi dan karateristik dari motor DC yang kita inginkan maka perlu diperhatikan hubungan-hubungan persamaan secara matematis untuk mendapatkan suatu karateristik yang elektromekanis dari sebuah motor DC dengan jelas. Torsi yang dihasilkan pada magnet permanen motor dc adalah sebanding dengan arus armatur Ia, jika konsep dari konstanta torsi diinisialisasikan sebagai KT, maka hubungan persamaannya seperti di bawah ini: T = KT.Ia Dimana : ………….…………………. T = Torsi (Nm) KT = Konstanta Torsi Ia = Arus armatur pada motor (2-1) Selain itu untuk dapat menghitung tegangan yang dapat dihasilkan di dalam motor, diberikan persamaan: 4 G. Yantian (Otomatisasi Robot Industri), hal 130 25 E = KE. ω ……………………………..(2-2) Dimana : KE = Konstanta ggl ω = Kecepatan Anguler (Rpm) Konstanta torsi dan konstanta ggl yang berlawanan merupakan parameter yang sangat penting dan selalu diberikan pada spesifikasi motor. Dengan mengunakan kedua persamaan di atas, maka dapat ditentukan hubungan antara torsi dengan kecepatan. Dalam rangkaian ekuivalen kita telah menggambarkan bentuk dasar dari motor DC secara ideal. Dengan menggunakan rangkaian tersebut, maka dapat ditentukan hubungan torsi-kecepatan dan rasio dari daya hilang ke daya efektif. Torsi yang digunakan merupakan tegangan pada baterai atau sumber tegangan dikurangi dengan tegangan GGL yang berlawanan dimana tegangan yang berlawanan tersebut adalah tegangan yang diberikan oleh resistansi motor. Pada bagian lain, tegangan jatuh sama dengan resistansi Ra dikalikan dengan arus Ia. Dengan persamaan: V – E = Ra Ia …………………… (2-3) Maka kita dapat menentukan : Ia = V − E Ra …………………… (2-4) Menggunakan persamaan 2-1, besarnya torsi dapat ditentukan dengan persamaan : T= KT × (V − E) Ra ……………..... (2-5) Dengan menukar persamaan 2-2 kedalam persamaan diatas, maka didapat : 26 Τ= Dimana : KT × (V − E.ω) Ra ……….... (2-6) T = Torsi (Nm) KT = Konstanta torsi Ra = Hambatan armature (Ohm) V = Tegangan yang diberikan ke motor (V) E = ggl pada motor (V) Ra Ia M V B ack em f Gambar 2.6 Rangkaian ekivalen dari motor DC5 Jika kita menentukan hubungan antara torsi dan kecepatan untuk tegangan yang berbeda (Contoh : 1,5V; 3V; 4,5V atau lainnya), maka hasilnya akan sama seperti yang ditunjukkan pada gambar 2.7. Untuk nilai tegangan yang lain ditampilkan dengan garis pararel dan dari grafik tersebut dapat kita lihat. 1. Torsi awal, yaitu torsi pada saat kecepatan nol adalah sebanding dengan tegangan baterai 2. Kecepatan tanpa beban atau kecepatan pada waktu motor tidak membawa beban adalah selalu sebanding dengan tegangan baterai 3. Pertambahan torsi dengan kecepatan dan kemiringan adalah KTKE / Ra, kecepatan tetap, tegangan yang diberikan, dan torsi. 5 Ibid, hal 133 27 T o rs i (N m ) V 2 K T. K E R a S lo p e = V 1 B A K e c e p a ta n p u ta ra n (rp m ) Gambar 2.7. Hubungan antara torsi dan kecepatan motor DC dengan magnet permanen.6 2.3 Sensor Ultrasonik Sensor ultrasonik adalah sensor yang bekerja berdasarkan prinsip pantulan gelombang suara, dimana sensor ini menghasilkan gelombang suara yang kemudian menangkapnya kembali dengan perbedaan waktu sebagai dasar penginderaannya. Perbedaan waktu antara gelombang suara yang dipancarkan dengan gelombang suara ditangkap kembali tersebut adalah berbanding lurus dengan jarak atau tinggi objek yang memantulkannya. Pemancar gelombang ultrasonik disusun oleh sebuah transduser ultrasonic yang diberi gelombang kotak dengan frekuensi sekitar 40 kHz. Jenis objek yang dapat diindera diantaranya 6 adalah: objek padat, cair, butiran maupun tekstil . Gambar 2.8. Gambar sensor ultrasonik 6 www.innovativeelectronics.com 28 Objek Gambar 2.9. Prinsip kerja sensor ultrasonik 2.4 Dioda Infra Merah Dioda infra merah merupakan piranti semikonduktor terdiri atas pertemuan semikonduktor dimana arus gaya sinar merah infra dibangkitkan secara non termik bila arus mengalir karena terjangkit oleh tegangan yang dikenakan. Infra merah terbuat dari bahan Arsenida Gallium atau Fosfida Gallium (GaAs atau GaP) dan ditempatkan dalam suatu wadah yang tembus pandang. Dilihat dari bentuknya LED banyak macamnya, tetapi cahaya yang dipancarkan infra merah berbeda dengan LED yang berwarna-warni, cahayanya berupa kasat mata (tak tampak). Untuk membedakan antara kaki katoda dan anodanya dapat dilihat dari bentuk elektrodanya, yang besar adalah kaki katoda. Sinar infra merah memiliki karakteristik yang dapat memberikan keuntungan dalam kapasitasnya sebagai elemen pemancar, karena infra merah memiliki sifat pancaran menyebar, lurus dan memantul. Sehingga dalam pemanfaatannya sebagai alat pengendali pancaran infra merah tidak harus diarahkan lurus terhadap penerima. Selain itu infra merah tidak berinterferensi dengan frekuensi lain, oleh karenanya infra merah tidak akan mengganggu alat yang akan dikendalikan. LED infra merah akan menghantar apabila dialiri bias 29 maju, dan secara fisik LED infra merah menempati suatu wadah yang tembus pandang. Tegangan kerja LED infra merah berkisar 1,6 volt sampai dengan 2,4 volt. LED infra merah termasuk komponen semikonduktor opto-elektronik, yaitu komponen memancarkan cahaya yang tidak terlihat. Frekuensi yang dihasilkan oleh infra merah, sebanding dengan perubahan arus dan tegangan panjar yang melaluinya. Energi yang dipancarkan (W) adalah sebesar frekuensi (f) dikalikan denga konstanta Planck (h) = 6,626 x 10-34 joule detik : W=hxf Gambar 2.10. (a) Simbol infra merah; (b) Penampang LED; dan (c) Tampak atas dengan melihat ke permukaan cahaya. Untuk mengetahui prinsip kerja infra merah dapat digunakan rangkaian pemancar infra merah dan penerima menggunakan phototransistor. Dalam keadaan terbuka (OFF) pemancar tidak menghasilkan berkas sinar infra merah. Ketika saklar tertutup (ON), maka LED tersebut mendapat bias maju yang mengakibatkan LED memancarkan berkas infra merah. Berkas sinar tersebut diterima oleh phototransistor sesuai dengan energi foton dan arus pada phototransistor yang menghantar. Energi tersebut sebanding dengan perubahan arus dan tegangan pada LED infra merah. 30 Vcc saklar Vcc output Pemancar Penerima Gambar 2.11. Prinsip kerja infra merah 2.5 Foto Dioda Foto dioda adalah suatu dioda yang arus reverse-nya berubah bila mendapat penyinaran. Prinsip kerja dari photo diode adalah apabila sebuah dioda diberi reverse bias, maka akan mengalir arus yang kecil sekali yang disebut arus reverse melalui dioda tersebut, besarnya arus reverse ini tergantung suhu dan intensitas cahaya yang jatuh pada deplection layer-nya. Oleh karena itu, dioda ini harus bisa tembus cahaya agar cahaya dapat mencapai deplection layer-nya sehingga terjadi arus reverse yang besarnya tergantung intensitas cahaya yang menyinarinya. Apabila photo diode mendapatkan cahaya, ini menyebabkan timbulnya arus balik I2. Dengan menambahkan tegangan-tegangan melingkari simpal keluaran diperoleh : Vout – V2 + I2 . R2 = 0; atau Vout = V2 – I2 . R2 Sebuah photo diode, biasanya mempunyai karakteristik yang lebih baik daripada photo transistor dalam responnya terhadap cahaya infra merah. Sebuah photodioda biasanya dikemas dengan plastik transparan (sebagian photodioda ada 31 yang dikemas dalam warna hitam) yang juga berfungsi sebagai lensa fresnel. Lensa ini merupakan lensa cembung yang mempunyai sifat mengumpulkan cahaya. Lensa ini juga merupakan filter cahaya, lebih dikenal sebagai optical filter, yang hanya melewatkan cahaya infra merah. Walaupun demikian cahaya nampakpun masih bisa mengganggu kerja dari photo diode karena tidak semua cahaya nampak bisa difilter dengan baik. Oleh karena itu penerima infra merah harus mempunyai filter kedua yang berfungsi untuk memfilter sinyal berfrekuensi tinggi, sekitar 30 kHz sampai 40 kHz yang dihasilkan dari pemancar infra merah. Faktor lain yang juga berpengaruh pada kemampuan penerima infra merah adalah active area dan respon waktu. Semakin besar area penerimaan suatu dioda infra merah maka semakin besar pula intensitas cahaya yang dikumpulkan sehingga arus bocor yang diharapkan pada teknik bias terbalik semakin besar. Selain itu semakin besar area penerimaan maka sudut penerimaannya juga semakin besar. Kelemahan area penerimaan yang semakin besar adalah derau (noise) yang dihasilkan juga besar pula. Hal ini berlaku pula pada respon waktunya terhadap sinyal frekuensi yang berbanding terbalik pada besarnya area penerimaan. Gambar 2.12. (a) Simbol foto dioda; (b) Rangkaian Foto Dioda 32 2.6 IC Pewaktu 555 IC pewaktu 555 banyak digunakan sebagai osilator, pembangkit pulsa, pembangkit tanjakan, monitor-monitor tegangan, time delay, one-shot multivibrator, dan banyak lagi. IC ini banyak digunakan sebagai multivibrator monostabil dan multivibrator astabil yang memiliki sifat-sifat: 1. Waktu mati (off) kurang dari 12 μs. 2. Pewaktu (timing) dari mikrodetik (μs) hingga jam. 3. Arus keluaran tinggi. 4. Daur aktif (duty cycle) dapat diatur. 5. Kemantapan suhu 0,005 %/ 0C Gambar 2.13. Kemasan dan konfigurasi pin-pin IC pewaktu 555 33 Gambar 2.14. Digram blok rangkaian dalam IC 555 IC pewaktu 555 mempunyai dua kemasan, yaitu kemasan metal-can (Biasa disebut T) dan kemasan 8 pin (DIP ‘V’), seperti terlihat pada gambar10. Pada gambar 2.14. terlihat diagram blok dari IC pewaktu 555, merupakan rangkaian ekuivalen dari lebih 20 transistor, 15 resistor dan 2 dioda. Rangkaian ekuivalen dalam blok diagram memberikan fungsi kontrol, penyulutan, level sensing atau comparison, discharge, dan power output. Output IC pewaktu 555 pada pin 3 mempunyai arus maksimum 200 mA karena output memakai konfigurasi totem pole. Bila tegangan output tinggi ( ± = Vcc) maka discharge transistor tidak bekerja atau tegangan output tegangan discharge transistor juga tinggi, dan sebaliknya. Pada saat timer bekerja sebagai one-shot multivibrator , tegangan outputnya rendah sampai sebuah pulsa pemicu diberikan ke timer tersebut, maka outputnya menjadi tinggi. Lamanya waktu output tinggi ditentukan oleh nilai 34 tahanan dan kapasitor yang dihubungkan ke IC Timer. Pada akhir selang waktu, output berubah menjadi rendah kembali. Terminal-terminal (Pin-pin) IC 555 1. Pin 1 (Ground) Pin ini merupakan potensial negatif dari IC 555, pin ini umumnya dipasang ke common pada rangkaian saat dioperasikan dari tegangan supply positif. 2. Pin 2 (Trigger/Pemicu) Pin ini merupakan input bagi lower comparator dan digunakan untuk mengatur latch, bila berubah dapat menyebabkan output menjadi tinggi. Pemicuan dikerjakan dengan memberikan level dari atas ke bawah sebesar 1/3 Vcc. 3. Pin 3 (Output/Keluaran) a. Output rendah b. Output tinggi Gambar 2.15. Kondisi pin 3 IC 555 Output dari IC ini berasal dari high-current totem-pole stage yang dibuat dari lima buah transistor. Pin 3 bisa menjadi sumber arus atau penerima arus. Sebuah beban supply ambang akan hidup bila output rendah dan mati bila output 35 tinggi. Sebuah beban terground akan hidup bila keluaran rendah atau dapat diilustrasikan pada gambar 2.15. 4. Pin 4 (Reset) Pin ini digunakan untuk mereset latch dan mengembalikan output pada keadaan low atau sama dengan potensial ground. Untuk mereset keluarannya membutuhkan tegangan ambang sebesar 0,7 V dan arus sebesar 0,1 mA. Bila tidak digunakan maka sebaiknya input reset (pin 4) dihubungkan ke Vcc untuk menghindari terjadinya kesalahan dalam mereset. 5. Pin 5 (Control Voltage/Pengendali Tegangan) Pin ini mengijinkan hubungan langsung ke 2/3 Vcc pembagi tegangan, hal ini merupakan referensi untuk upper comparator. Pin 5 dapat tidak digunakan tapi disarankan untuk memasang kapasitor sebesar 0,01 μF sebagai bypass ke ground untuk menghilangkan ripple dari tegangan supply. 6. Pin 6 (Threshold/Ambang) Pin ini merupakan salah satu input ke upper comparator dan digunakan untuk mereset latch yang mengakibatkan keluaran menjadi rendah. Mereset melalui pin ini dilakukan dengan memberikan tegangan sebesar 2/3 Vcc. 7. Pin 7 (Discharge/Pengosongan) Pin ini dihubungkan ke open kolektor transistor NPN (T1). Sedangkan kaki emiter terhubung ke ground sehingga saat transistor aktif maka Pin 7 terhubung ke ground. Umumnya kapasitor dipasang di antara pin 7 dan ground dan akan pengosongan terjadi pada saat transistor aktif (gambar 13.a). Saat transistor tidak aktif, maka pin 7 bekerja sebagai hubungan terbuka dan memungkinkan kapasitor mengisi muatannya atau dapat diilustrasikan pada 36 gambar 2.16b. Kondisi transistor ini sama dengan timing pada bagian output. Transistor aktif pada saat output low dan tidak aktif pada saat output high. Pada aplikasi tertentu, output open kolektor ini dapat digunakan sebagai pembantu terminal output. a. Output rendah b. Output tinggi dan C sedang mengisi Gambar 2.16. Kondisi pin 7 IC 555 8. Pin 8 (+Vcc) Pin ini merupakan terminal positif tegangan supply dari IC 555. Tegangan kerja dari IC ini berkisar antara 4,5 V sampai dengan 16 V. IC ini akan bekerja tanpa merubah perioda waktunya walaupun pada tegangan yang berbeda. 2.7 Driver Motor IC L293D L293D merupakan IC yang berfungsi sebagai power driver motor DC yang memiliki empat buah driver dengan konfigurasi setengah H bridge (jembatan H). L293D didesain untuk menyediakan driver arus bidirectional sampai 600mA pada tegangan 4,5 volt sampai 36 volt. 37 Sebuah IC L293D berisi empat buah push-pull. Setiap dua buah push-pull dapat digunakan sebagai sebuah untai H-bridge dan dapat diaktifkan dengan sebuah sinyal enable. Gambar 2.17. Driver motor L293D 2.8 Penguat Transistor Transistor adalah sebuah komponen aktif yang telah kita kenal baik sebagai penguat, sumber arus maupun sebagai switch/saklar. Transistor mempunyai tiga buah terminal yaitu basis sebagai terminal penyulut, emitor sebagai pengemisi elektron ke dalam basis dan kolektor sebagai pengumpul atau penangkap elektron dari basis. Transistor dibagi menjadi 2 jenis, yaitu NPN dan PNP yang dibedakan berdasarkan pemberian polaritas untuk mengaktifkannya. 1. Transistor jenis NPN : a. Kolektor mendapat tegangan lebih positif dari emitor. b. Basis mendapat tegangan lebih posistif dari emitor. c. Kolektor mendapat tegangan lebih positif dari basis. 38 2. Transistor jenis PNP : a. Kolektor mendapat tegangan lebih negatif dari emitor. b. Basis mendapat tegangan lebih negatif dari emitor. c. Kolektor mendapat tegangan lebih negatif dari basis. Rangkaian penguat yang dibuat dengan menggunakan transistor ini difungsikan untuk menguatkan sinyal yang diterima transduser ultrasonik.dan tranduser mic condenser (ECM). Transistor sebagai penguat dapat dibuat dengan memberikan bias pada transistor. Pemberian bias pada transistor ada beberapa macam yaitu bias basis, bias pembagi tegangan, bias umpan balik kolektor, bias emiter, dan lain-lain. Namun pembahasan berikut mengenai bias pembagi tegangan, karena penguat transistor yang digunakan yaitu penguat dengan bias pembagi tegangan Gambar 2.18 menunjukkan rangkaian bias pembagi tegangan. Nama pembagi tegangan berasal dari pembagi tegangan yang dibentuk oleh R1 dan R2. tegangan pada R2 membias forward dioda emiter dan catu VCC membias reverse dioda kolektor. + VCC R2 R1 RC + V2 RE ─ + VCE ─ + VE ─ Gambar 2.18. Bias pembagi tegangan 1) Arus Emiter Rangkaian bias pembagi tegangan bekerja sebagai berikut: arus basis dalam gambar 2.18 kecil sekali dibandingkan dengan arus dalam R1 dan R2. Akibatnya 39 dapat digunakan teorema pembagi tegangan untuk mendapatkan tegangan pada R2 R2 × Vcc ………………...……. (2-6) R1 + R2 V2 ≅ Hukum tegangan Kirchoff memberikan: VE = V2 – VBE …………………………... (2-7) Ini menyatakan bahwa tegangan resistor emitor sama dengan tegangan pada R2 dikurangi dengan jatuh tengangan VBE, karena itu arus emitor adalah: IE = V2 − V BE ........................................... (2-8) RE 2) Tegangan Kolektor-Emiter Tegangan kolektor ke tanah VC sama dengan tegangan catu dikurangi jatuh tegangan pada resistor kolektor: VC = VCC – ICRC .…………………… (2-9) Tegangan emiter ke tanah adalah: VE = IERE ………………………. (2-10) Tegangan kolektor ke emiter adalah: VCE = VC – VE = VCC – ICRC –IERE …………… (2-11) atau VCE ≅ VCC – IC(RC + RE) …….……….. (2-12) karena IC dan IE hampir sama. Jika dalam gambar 26 arus kolektor yang mengalir terlalu banyak, transistor menuju ke penjenuhan. Secara ideal ini berarti suatu hubungan singkat antara terminal kolektor-emiter, dengan arus penjenuhan sebesar: I C ( sat ) ≅ VCC RC + R E ……………… (2-13) 40 Sebaliknya jika transistor beroperasi dalam daerah titik sumbat (cut off), maka tidak ada arus kolektor yang mengalir, dan semua tegangan catu muncul pada terminal kolektor-emiter: VCE(cutoff) = VCC ………………………… (2-14) Karena itu garis beban dc melewati perpotongan vertical sebesar VCC/(RC + RE) melalui perpotongan horizontal pada VCC. Titik Q (quiescent–stationer) akan terletak pada garis beban ini. 2.9 Penguat Op-Amp (Operational Amplifier) Op-Amp adalah peranti solid stade yang mampu mengindera dan memperkuat sinyal masukan baik DC maupun AC. Op-amp IC yang khas terdiri atas tiga rangkaian dasar, yakni penguat diferensial impedansi masukan tinggi, penguat tegangan penguatan tinggi, dan penguat keluaran impedansi rendah (biasanya pengikut emitter push-pull). Keserbagunaan op-amp dibuktikan dalam penerapannya pada berbagai tipe rangkaian, misalnya penerapan op-amp sebagai pembanding (comparator). Pembanding op-amp dipakai untuk menjepit level tegangan DC keluaran tinggi dengan tegangan kontrol DC yang lebih rendah. Tegangan kontrol masukan bisa positif maupun negatif, tegangan ini akan menjepit keluaran pada nol atau pada level positif atau negatif. Gambar 2.19. Simbol skematis op-amp 41 Pada gambar 2.19 terlihat ada masukan (-) atau masukan membalik dan masukan (+) atau masukan tak membalik adalah merupakan hubungan kutub masukan terhadap keluaran. Hubungan polaritas masukan terhadap keluaran dikatakan bila masukan membalik lebih positif dibandingkan dengan masukan tak membalik, maka keluaran akan negatif. Demikian pula, jika masukan membalik lebih negatif dibandingkan dengan masukan tak membalik, maka keluaran akan positif. 2.10 PWM (Pulse Width Modulation) Pengontrolan kecepatan motor DC ini dapat dilakukan dengan memberikan tegangan yang berbeda-beda. Pada suatu kondisi catu daya yang konstan, pemberian tegangan tersebut akan mengakibatkan motor dapat berputar dengan kecepatan yang konstan. Hal ini dapat dilakukan dengan menserikan motor DC tersebut terhadap tahanan variabel. Proses pengontrolan dengan cara ini sangatlah tidak efektif dan efisien, karena dengan begitu akan banyak daya yang terbuang pada variabel resistor tersebut. Salah satu cara yang baik untuk pengaturan untuk pengaturan motor DC ini adalah dengan menggunakan metode pensaklaran lebar pulsa yang dapat dimodulasi. PWM merupakan suatu teknik pensaklaran yang banyak digunakan untuk mengontrol alat atau untuk menyediakan tegangan variabel DC pada catu daya. PWM adalah sinyal dengan frekuensi tetap dan waktu variabel on dan off. Dengan kata lain, periode sinyal tetap konstan, tetapi jumlah waktu sinyal tetap tinggi dan rendah dapat dibedakan dengan periode. Duty cycle adalah rasio pada waktu (t1) ke periode total (T = t1 + t2). PWM adalah teknik yang digunakan untuk 42 mengontrol alat atau untuk menyediakan tegangan variabel DC sesuai dengan rumus: Vdc = t1 Vcc T ………………………… (2-15) Gambar 2.12 di bawah mengilustrasikan gelombang kotak. Di dalam suatu sistem PWM, sebuah pulsa segiempat dibangkitkan untuk mensaklar transistor sehingga dalam kondisi on atau off. Jika kita memvariasikan lebar pulsa yang dihasilkan, maka waktu konduksi dari transistor tersebut akan berubah-ubah semakin besar atau semakin kecil. Kondisi konduksi transistor ini akan mengatur tegangan output yang akan diterima oleh motor DC. Ketika diperlihatkan sinyal PWM, duty cycle-nya adalah 50%. Dengan kata lain, ini adalah setengah dari tegangan (V) waktu. t1 t2 waktu (s) T Gambar 2.20. Sinyal PWM dengan duty cycle 50% Gambar selanjutnya adalah sinyal PWM lain. Duty cycle-nya sebesar 10%. Dengan membedakan duty-cycle, output tegangan rata-rata DC dapat dikontrol. Contohnya, sinyal PWM mempunyai amplitude 10 V dan duty cycle 50% dapat menyediakan output rata-rata sebesar 5 V. ketika menaiknya atau menurunnya duty cycle PWM, output rata-rata menaik atau menurun. 43 tegangan (V) t1 t2 waktu (s) T Gambar 2.21. Sinyal PWM dengan duty cycle 10% Output yang dapat dikontrol ini sangat berguna di setiap aplikasi. Contohnya, output ini dapat digunakan untuk mengontrol kecepatan dari motor. Dengan menaikkan duty cycle, tegangan rata-rata melewati motor dapat dikontrol. Output dapat juga diumpan melalui jaringan RC, membentuk pengubah digital ke analog yang sederhana. 44 BAB 3 PERENCANAAN DAN REALISASI 3.1 Perancangan Alat Seperti umumnya pembuatan alat yang lain, pembuatan robot pembagi brosur ini dibuat dalam beberapa tahapan, yaitu perancangan blok diagram, prinsip kerja sistem, perancangan mekanik robot dan penentuan fungsi port. 3.1.1 Blok Diagram Sistem Secara umum sistem kontrol yang terdapat pada robot pembagi brosur ini terdapat tiga bagian dasar, yaitu bagian perangkat keras (hardware), perangkat lunak (software) dan mekanik robot. Sistem sensor menyediakan data bagi mikrokontroler untuk mengatur jalannya robot. Berikut adalah beberapa jenis dari sensor yang akan digunakan pada robot ini, antara lain : sensor ultrasonic dan sensor photo dioda sebagai pendeteksi line. Secara garis besar, sistem kendali robot ini dapat digambarkan seperti blok diagram di bawah ini: SENSOR ULTRASONIK SENSOR CAHAYA MICRO CONTROLLER AT89S51 DRIVE MOTOR DRIVE MOTOR DRIVE MOTOR KOMPARATOR Gambar 3.1. Blok Diagram Sistem Robot Pembagi Brosur 45 3.1.2 Prinsip Kerja Sistem Prinsip kerja dari system ini adalah Robot ini bekerja mengikuti jalur, berjalan sepanjang line tracking. Jika sensor ultrasonic membaca ada subyek yang menghalanginya, maka robot ini akan berhenti dan leher robot yang membawa brosur ini akan naik, maka disaat inilah kita dapat mengambil brosur yang terdapat pada robot. Gambar 3.2. Gambar Robot Pembagi Brosur 3.1.3 Perancangan Mekanik Pada bagian mekanik robot pembagi brosur ini dirancang menggunakan bahan acrylic sebagai dasar untuk penempatan motor DC, sensor, komponen dan catu daya. Gambar 3.3. Gambar Robot Tampak Samping 46 Gambar 3.4. Gambar Robot Tampak Belakang 3.1.4 Penentuan Fungsi Port Penentuan fungsi port pada robot pembagi brosur bertujuan untuk pembacaan dari sensor-sensor yang bertugas sebagai pembaca lingkungan disekitarnya. Dengan kata lain program yang dibuat harus ditentukan terlebih dahulu port-port yang akan digunakan pada mikrokontroler AT89S51. Berikut ini adalah port-port yang akan digunakan dalam pembuatan alat ini. a. Port 1 Keluaran port 1 digunakan untuk mengendalikan putaran motor DC. Dimana setiap putaran motor dikendalikan oleh 2 buah pin dari port 1. Adapun keluaran data yang digunakan dari mikrokontroler adalah sebagai berikut : Tabel 3.1 Port 1 yang digunakan sebagai output P1.7 P1.6 P1.5 P1.4 P1.3 P1.2 P1.1 P1.0 Keterangan 0 0 0 0 0 0 0 1 Motor kanan maju 0 0 0 0 0 0 1 0 Motor kanan mundur 47 0 0 0 0 0 1 0 0 Motor kiri maju 0 0 0 0 1 0 0 0 Motor kiri mundur 0 0 0 1 0 0 0 0 Motor Turun 0 0 1 0 0 0 0 0 Motor naik b. Port 2 Port 2 digunakan sebagai masukan sensor garis bagi mikrokontroler. Sensor ini digunakan untuk mendeteksi line disekitar robot. sensor ini akan memberikan logika low bagi mikrokontroler. Adapun pemberian data pada mikrokontroler adalah sebagai berikut : Tabel 3.2 Port 1 yang digunakan sebagai input P1.7 P1.6 P1.5 P1.4 P1.3 P1.2 P1.1 P1.0 Keterangan 0 1 1 1 1 1 1 1 Sensor Kanan 1 0 1 1 1 1 1 1 Sensot tengah 1 1 0 1 1 1 1 1 Sensor kiri c. Port 3 P3.5 – P3.7 digunakan sebagai masukan sensor ultrasonik, sensor naik dan sensor turun. Sensor ini akan memberikan logika high bagi mikrokontroler. Tabel 3.3 Port 1 yang digunakan sebagai input P3.7 P3.6 P3.5 P3.4 P3.3 P3.2 P3.1 P3.0 Keterangan 1 0 0 1 1 1 1 1 Sensor ultrasonik 0 1 0 1 1 1 1 1 Sensot turun 0 0 1 1 1 1 1 1 Sensor naik 48 3.2 Perancangan Sistem Elektronik 3.2.1 Rangkaian Single Chip Mikrokontroler Rangkaian di bawah ini merupakan sistem minimum dari mikrokontroler yang akan memproses data yang telah di download ke dalam mikrokontroler. Mikrokontroler akan menerima data dari sensor photo dioda dan ultrasonic, kemudiian data tersebut akan diproses, dan data yang telah diproses akan dikeluarkan oleh mikrokontroler untuk menggerakan motor. AT89S51 1 2 3 4 5 6 7 8 10 11 12 13 14 15 16 17 +5V 10uF 10k 9 P1.0 P1.1 P1.2 P1.3 P1.4 P1.5 P1.6 P1.7 P0.0 P0.1 P0.2 P0.3 P0.4 P0.5 P0.6 P0.7 P3.0 P3.1 P3.2 P3.3 P3.4 P3.5 P3.6 P3.7 P2.0 P2.1 P2.2 P2.3 P2.4 P2.5 P2.6 P2.7 RST PSEN ALE/PROG 33pF 39 38 37 36 35 34 33 32 21 22 23 24 25 26 27 28 28 28 12MHz 18 +5V XTAL1 EA/VPP 19 28 XTAL2 33pF Gambar 3.5. Rangkaian Single Chip Mikrokontroler AT89S51 3.2.2 Rangkaian Sensor Foto Dioda Pembacaan garis (line tracking) yaitu dengan menggunakan infra red sebagai transmitter dan photodiode sebagai receiver. Proses pembacaan sensor dengan cara mendeteksi garis warna hitam. Sensor ini menggunakan IC LM324 sebagai pembanding antara tegangan referensi dengan tegangan yang terukur pada 49 photodiode. Saat sensor mendeteksi garis hitam maka output pada komparator akan berlogika ’1’. Kemudian output dari komparator tersebut dinverter dengan mengunakan IC 7414 sehingga outputnya menjadi logika ‘0’. Berikut ini adalah rangkaian sensor cahaya menggunakan photo dioda.. . +5V 1k 220 10k + 20k - To Port 2 LM324 7414 Gambar 3.6. Rangkaian Sensor Pendeteksi Garis 3.2.3 Rangkaian Sensor Ultrasonik Sensor ultrasinik digunakan sebagai sensor jarak untuk mendeteksi objek yang ada di samping kiri. Pada rangkaian ultrasonik ini terdapat dua buah rangkaian, yaitu rangkaian pemancar (Tx) dan rangkaian penerima (Rx). Pada rangkaian pemancar digunakan IC 555 sebagai osilator atau pembangkit frekuensi yang akan mengeluarkan gelombang pulsa sekitar 40 kHz. Pada rangkaian penerima (Rx) sensor ultrasonik akan mendeteksi pantulan gelombang telah dipancarkan oleh rangkaian pemancar. Setelah sinyal frekuensi tersebut tertangkap oleh ultrasonik penerima maka sinyal tersebut dikuatkan oleh rangkaian penguat transistor untuk kemudian sinyal yang telah dikuatkan tersebut masuk kerangkaian RS flip-flop IC 4011 sebagai pengkondisi sinyal digital. 50 Adapun gambar rangkaian pemancar dan penerima dari sensor ultrasonik sebagai berikut. 1uf Gambar 3.7. Rangkaian pemancar sensor ultrasonik Port 3.0 Gambar 3.8. Rangkaian penerima sensor ultrasonik 51 3.2.4 Rangkaian Driver Motor DC Pada rangkaian driver motor DC digunakan IC L293D sebagai pengatur motor roda kiri, roda kanan dan motor penarik. IC L293D ini merupakan IC yang mampu menghasilkan arus sampai 600mA dan memiliki tegangan input yang tinggi antara 4,5 – 36 V. Pada penggerak motor DC ini IC driver mendapat input dari rangkaian pemroses data pada port 0, yang sebelumnya menggunakan buffer IC 74LS245. IC buffer ini berfungsi sebagai penyangga atau penstabil tegangan, Rangkaian selengkapnya dapat dilihat pada gambar dibawah ini. Gambar 3.9. Rangkaian penggerak motor DC 3.3 Perancangan Software 3.3.1 Program 8051 IDE Dalam pembuatan program robot ini menggunakan software 8051 IDE. 8051 IDE adalah sebuah program yang mengkombinasikan sebuah text editor, assembler, dan software simulator. Semua komponen yang dibutuhkan untuk membangun program 8051 ada dan terkendali dalam satu program ini. Anda dapat mengetik bahasa mesinnya, mengaturnya dan membuat file assemblingnya dalam bentuk HEX (Intel hex format of the assembled binary code), lalu dapat 52 disimualsikan langsung deprogram 8051 IDE tersebut dan jika terdapat kesalahan dapat diatur kembali, kemudian direassembled sampai simulasi menunjukan program itu berjalan sesuai keinginan kita. Selain file HEX 8051 IDE juga membuat file LST (List file containing line numbers, address, binary code and source lines of the file being assembled or the total project being built). Gambar 3.10. Tampilan program 8051 IDE 3.3.2 AEC_ISP Setelah file HEX hasil assembling di 8051 IDE terbentuk maka langkah selanjutnya adalah mendownloadnya ke IC mikrokontroler AT89S52, untuk itu program under DOS berupa AEC_ISP (AEC dari nama pabriknya dan ISP berarti In System Programming) dijalankan sesuai dengan fungsinya. Filenya berukuran 50 KB jadi cukup kecil dan mudah digunakan tinggal mengeset setupnya lalu beri aktif high kemudian tulis file HEXnya dan download ke IC mikrokontroler AT89S52. 53 Gambar 3.11. Tampilan program AEC_ISP 54 BAB 4 PENGUJIAN DAN ANALISA DATA 4.1 Konfigurasi Pengujian 4.1.1 Percobaan Alat Dalam melakukan percobaan alat robot pembagi brosur ini yaitu dengan membuat line tracking seperti pada gambar di bawah ini. 100 cm 70 cm Gambar 4.1 Line tracking Robot akan berjalan mengikuti line tracking yang telah dibuat, jika sensor ultrasonik mendeteksi ada objek yang menghalanginya maka leher robot akan naik kemudian berhenti setelah output sensor naik logik ‘0’. setelah 10 detik, leher robot akan turun dan berhenti setelah output sensor turun logik ‘1’. Tinggi robot ini akan naik dari 50 cm menjadi 70 cm seperti terlihat pada gambar 4.2, maka disaat itulah kita dapat mengambil brosur yang ada di atas robot tersebut. 70 cm 50 cm Gambar 4.2 Tinggi robot sebelum dan sesudah naik 55 4.1.2 Konfiguransi Pengujian Tegangan Motor (Vm) dan Arus Motor (Im) Im Driver M otor L293D + M Vm - Gambar 4.3 Konfigurasi pengukuran arus dan tegangan motor 4.1.3 Konfigurasi Pengujian Tegangan Sensor (Vs) Cahaya +5V 1k 220 10k + - 20k LM324 7414 + Vs Gambar 4.4 Konfigurasi pengujian rangkaian sensor cahaya 4.2 Daftar Peralatan Pengujian Tabel 4.1. Daftar peralatan pengujian Nama Alat Ukur Merk Tipe Simbol Fungsi Ammeter Heles UX-960TR I Untuk mengukur arus Voltmeter Heles UX-960TR V Untuk mengukur tegangan 56 4.3 Data Hasil Pengujian 4.3.1 Motor DC Tabel 4.2 Daftar hasil pegujian tegangan dan arus motor Simbol Pengukuran VM1 6.5 V Tegangan motor kanan VM2 6.5 V Tegangan motor kiri VM3 12 V Tegangan motor naik/turun IM1 22 mA Arus motor motor kanan IM2 18 mA Arus motor kiri IM3 75 mA Arus motor naik/turun 4.3.2 Keterangan Rangkaian Sensor Cahaya Tabel 4.3 Daftar hasil pegujian tegangan sensor Kondisi Tegangan Sensor Terang 1.0 V Gelap 4.2 V 4.4 Analisa Data 4.4.1 Analisa Data pada Pengujian Rangkaian Driver Motor Pengukuran ini dilakukan untuk mengetahui besar tegangan output yang dihasilkan oleh rangkaian penggerak motor DC, yaitu pada IC L293D. Dari hasil pengukuran rangkaian penggerak motor DC dapat di lihat pada tabel 4.2. 57 Tabel 4.4 Kondisi Motor ketika X dan Y diberikan Logik X Y Kondisi Motor Keterangan 0 0 On Motor mengerem 0 1 Run Motor berputar searah jarum jam 1 0 Run Motor berputar berlawanan arah dengan jarum jam 1 1 Off Motor tidak berputar Dari pengukuran diketahui bahwa : Arus motor kanan (IM1) = 22 mA Tegangan motor kanan(V M1) = 6.5 Volt Maka daya motor tersebut adalah Daya motor (P M1) = Im x Vm = 22 mA x 6.5 V = 0.143 Watt 4.4.2 Analisa Data Rangkaian Sensor Cahaya Pengukuran ini dilakukan untuk mengetahui besar tegangan output yang dihasilkan oleh rangkaian sensor cahaya dalam kondisi gelap maupun terang. Dari hasil pengukuran rangkaian sensor cahaya di dapat besar tegangan output dalam keadaan gelap sebesar 4.2 V dan dalam keadaan terang sebesar 1 V 4.4.3 Analisa Output PWM PWM digunakan untuk mengatur kecepatan putaran motor kanan dan motor kiri, Berdasarkan rumus tegangan output yang akan dihasilkan adalah tergantung dari perioda untuk pulsa tinggi yang diberikan, apabila semakin 58 panjang perioda tinggi yang diberikan maka akan semakin besar tegangan output yang dihasilkan. Vdc = t1 .Vcc T Output PWM ini dibuat dengan menggunakan program pada mikrokontroller, pada program robot pembagi brosur ini perioda untuk pulsa tinggi sebesar 10ms dan perioda untuk pulsa rendah sebesar 5ms, Vcc sebesar12V sehingga ouput PWM dapat dihitung sebagai berikut: ton = 10ms toff = 5ms 10 ms x12V 15 ms = 8V V dc = V dc Prosentasi (%) 4.5 10 ms x100 % 15 ms = 66 .67 % = Percobaan Rangkaian Alat 1. Robot akan berjalan mengikuti line tracking yang telah dibuat, seperti pada gambar 4.1 diatas. 2. Sensor ultrasonic akan mendeteksi objek yang ada di samping kiri robot. 3. Ketika sensor ultrasonic mendeteksi ada objek yang menghalanginya, maka robot akan berhenti, kemudian leher robot yang membawa brosur akan naik. 59 4. Leher robot akan naik dan berhenti seteleh output sensor naik berlogik ‘0’. Ketinggian robot ini berubah dari ±50 cm menjadi ±70 cm. 5. Setelah leher robot mencapai ketinggian ±70 cm, maka robot akan berhenti selama 10 detik. 6. Setelah 10 detik leher robot akan turun dan berhenti setelah output sensor turun berlogik ‘1’. Ketinggian robot kira-kira 50 cm. 7. Kemudian robot akan berjalan kembali mengikuti line tracking. 60 BAB 5 KESIMPULAN Dari percobaan dan penelitian yang dilakukan dalam pembuatan tugas akhir ini, maka dapat diambil kesimpulan bahwa pembuatan alat tugas akhir dengan judul ”Robot Pembagi Brosur Berbasis Mikrokontroler AT89S51” ini, alat dapat berjalan dengan baik, sesuai dengan yang diharapkan 61 LAMPIRAN FLOWCHART START INISIALISASI Ya SENSOR ULTRASONIK Ya BROSUR NAIK SENSOR NAIK Tidak Tidak TUNGGU 10 S BROSUR TURUN SENSOR TURUN Ya SENSOR LINE Ya ROBOT MAJU Tidak SENSOR LINE Ya ROBOT BELOK KANAN Tidak SENSOR LINE Tidak SELESAI Ya ROBOT BELOK KIRI Tidak LISTING PROGRAM ;========================================================== ; PROGRAM ROBOT PEMBAGI BROSUR BERBASISMIKROKONTROLLER AT89S51 ;========================================================== ;========================================================== ; P1.0 - P1.5 SEBAGAI OUTPUT MOTOR ; P2.5 - P2.7 SEBAGAI INPUT SENSOR LINE ; P3.5 SEBAGAI INPUT SENSOR LEHER NAIK ; P3.6 SEBAGAI INPUT SENSOR LEHER TURUN ; P3.7 SEBAGAI INPUT SENSOR ULTRASONIK ;========================================================== ORG 00H MOV TMOD,#01H JNB P3.6,TURUN MULAI: MOV A,P2 JB P3.7,NAIK CJNE A,#00011111B,MAJU1 MOV P1,#00000101B CALL DELAY_10mS MOV P1,#00000000B CALL DELAY_10mS SJMP MULAI NAIK: MOV P1,#00100000B CALL DELAY_1mS JB P3.5,NAIK MOV P1,#00000000B CALL DELAY_10S SJMP TURUN TURUN: MOV P1,#00010000B CALL DELAY_1mS JNB P3.6,TURUN MOV P1,#00000000B CALL DELAY_1S SJMP MULAI MAJU1: CJNE A,#10111111B,KANAN MOV P1,#00000101B CALL DELAY_10mS MOV CALL SJMP KANAN: CJNE MOV CALL MOV CALL LJMP KANAN2: CJNE MOV CALL MOV CALL LJMP KANAN3: CJNE MOV CALL MOV CALL LJMP KIRI: CJNE MOV CALL MOV CALL LJMP KIRI2: CJNE MOV CALL MOV CALL TERUS: LJMP P1,#00000000B DELAY_5mS MULAI A,#00111111B,KANAN2 P1,#00000100B DELAY_10mS P1,#00000000B DELAY_5mS MULAI A,#01111111B,KANAN3 P1,#00000100B DELAY_10mS P1,#00000000B DELAY_5mS MULAI A,#11111111B,KIRI P1,#00000100B DELAY_3mS P1,#00000000B DELAY_5mS MULAI A,#10011111B,KIRI2 P1,#00000001B DELAY_10mS P1,#00000000B DELAY_5mS MULAI A,#11011111B,TERUS P1,#00000001B DELAY_10mS P1,#00000000B DELAY_5mS MULAI ;========================================================= ; SUBROUTIN DELAY ;========================================================= DELAY_1mS: CLR TR0 MOV TH0,#HIGH (-1000) MOV TL0,#LOW (-1000) SETB TR0 JNB TF0,$ CLR TF0 RET DELAY_3mS: MOV R0,#3 ULANG: ACALL DELAY_1mS DJNZ R0,ULANG RET DELAY_5mS: MOV R1,#5 ULANG1: ACALL DELAY_1mS DJNZ R1,ULANG1 RET DELAY_10mS: MOV R2,#10 ULANG2: ACALL DELAY_1mS DJNZ R2,ULANG2 RET DELAY_1S: MOV R3,#100 ULANG3: ACALL DELAY_10mS DJNZ R3,ULANG3 RET DELAY_10S: MOV R4,#10 ULANG4: ACALL DELAY_1S DJNZ R4,ULANG4 RET END