TUGAS AKHIR
PERANCANGAN DAN PEMBUATAN ROBOT PENCARI TUJUAN YANG DITENTUKAN BERBASIS MIKROKONTROLER AT89S51
Diajukan Sebagai Salah Satu Syarat Untuk Menyelesaikan Pendidikan Program Diploma-III Politeknik Negeri Lhokseumawe
Oleh
INZAR SALFIKAR Nim Program Studi Jurusan
: 04016305 : Teknik Elektronika : Teknik Elektro
DEPARTEMEN PENDIDIKAN NASIONAL POLITEKNIK NEGERI LHOKSEUMAWE 2007
LEMBARAN PENGESAHAN
Robot Pencari Tujuan yang Ditentukan ç=================================è
I ER
PO L
N IK N EK EG
,
,
IT
DEPARTEMEN
PENDIDIKAN
NASIONAL
POLITEKNIK NEGERI LHOKSEUMAWE Jalan Banda Aceh – Medan Km 280.3 Buketrata, Lhokseumawe, 24301 P.O BOX 90 Tekepon (0645) 42670 Fax : 42785
LEMBARAN PENGESAHAN Setelah dilaksanakan bimbingan dan pengujian pada tanggal 03 Agustus 2007 maka tugas akhir ini dengan judul “PERANCANGAN DAN PEMBUATAN ROBOT
PENCARI
TUJUAN
YANG
DITENTUKAN
BERBASIS
MIKROKONTROLER AT89S51” dinyatakan telah memenuhi syarat sebagai Tugas Akhir Program Pendidikan Diploma III Politeknik Negeri Lhokseumawe.
Lhokseumawe, 22 Agustus 2007 Penulis
Inzar Salfikar Nim. 04016305 Disetujui: Pembimbing I
Pembimbing II
Zulfikar, ST. MT Nip. 132 239 663
Akmalul Fata, SST Nip. 132 304 656 Disahkan:
Ketua Jurusan
Ketua Program Studi
Teknik Elektro
Teknik Elektronika
Drs. Zulkarnain, MT Nip. 131 470 756
Zulfikar, ST. MT Nip. 132 239 663
LEMBARAN TUGAS AKHIR
Robot Pencari Tujuan yang Ditentukan ç=================================è
N IK N EK EG I ER
,
,
PO L
IT
DEPARTEMEN
PENDIDIKAN
NASIONAL
POLITEKNIK NEGERI LHOKSEUMAWE Jalan Banda Aceh – Medan Km 280.3 Buketrata, Lhokseumawe, 24301 P.O BOX 90 Tekepon (0645) 42670 Fax : 42785
LEMBARAN TUGAS AKHIR NAMA MAHASISWA NOMOR INDUK MAHASISWA SEMESTER JURUSAN PROGRAM STUDI
: : : : :
INZAR SALFIKAR 04016305 VI TEKNIK ELEKTRO TEKNIK ELEKTRONIKA
Uraian Tugas Akhir :
JUDUL
:
BAB I BAB II BAB III
: : :
BAB IV BAB V
: :
Diberikan Tanggal Diselesaikan Tanggal
PERANCANGAN DAN PEMBUATAN ROBOT PENCARI TUJUAN YANG DITENTUKAN BERBASIS MIKROKONTROLER AT89S51 PENDAHULUAN TINJAUAN PUSTAKA PERANCANGAN DAN PEMBUATAN ROBOT PENCARI TUJUAN YANG DITENTUKAN PENGUJIAN DAN ANALISIS SISTEM PENUTUP
: 01 April 2007 : 03 Agustus 2007 Lhokseumawe, 22 Agustus 2007 Mengetahui :
Ketua Jurusan Teknik Elektro
Drs. Zulkarnain, MT Nip. 131 470 756
Pembimbing I
Zulfikar, ST. MT Nip. 132 239 663
PERSEMBAHAN
Robot Pencari Tujuan yang Ditentukan ç=================================è
!@#$%$%^&&**()_+@%#()%*$* He x3….!!!!
ABSTRAK
Robot Pencari Tujuan yang Ditentukan ç=================================è
ABSTRAK Kemajuan teknologi yang semakin pesat terutama dalam bidang teknologi robotika telah memasuki berbagai segi kehidupan manusia yang dalam aplikasinya mulai dari bidang otomatisasi industri, militer, intertaintmen maupun dalam bidang medis. Pada prinsipnya tujuan penciptaan robot pencari tujuan ini adalah untuk menumbuh kembangkan kekreativitasan di Negara Indonesia. Dengan kecerdasan suatu sistem, maka diciptakanlah robot pencari tujuan yang ditentukan. Robot ini akan berjalan mengikuti garis berwarna terang (putih), dan akan berjalan sesuai dengan tujuan yang kita tentukan melalui keypad. Pada keypad berupa tujuan yang berupa garis dengan nomor sebagai alamatnya. Robot akan berjalan menuju garis yang kita tentukan. Seluruh proses pengenalan dan gerakan dikontrol oleh sebuah minimum system berupa mikrokontroler.
KATA PENGANTAR
Robot Pencari Tujuan yang Ditentukan ç=================================è
KATA PENGANTAR
Bismillahirrahmanirrahim Assalamu`alaikum Wr…Wb Dengan mengucapkan segala puji syukur kehadirat Allah SWT, atas taufik dan hidayah-Nya sehingga penulis dapat menyelesaikan penulisan Proyek Akhir ini yang berjudul “Perancangan dan Pembuatan Robot Pencari Tujuan yang Ditentukan Berbasis Mikrokontroler AT89S51 . Selawat beserta salam tidak lupa penulis sampaikan kepada junjungan kita Nabi Besar Muhammad SAW yang telah membawa kita dari zaman yang tidak berilmu pengetahuan ke zaman yang penuh dengan ilmu pengetahuan dan teknologi. Tidak lupa pula penulis mengucapkan terima kasih yang sebesar besarnya kepada orang tua tercinta yang telah memberikan dukungan, do’a serta dorongan yang sangat berarti sehingga Proyek Akhir ini dapat diselesaikan, Bapak Ir. Nahar, selaku Direktur Politeknik Negeri Lhokseumawe, Bapak Drs. Zulkarnain, MT, selaku Ketua Jurusan Teknik Elektro Politeknik Negeri Lhokseumawe, Bapak Zulfikar, ST. MT, selaku Ketua Program Studi Teknik Elektronika Jurusan Teknik Elektro Politeknik Negeri Lhokseumawe dan selaku Pembimbing I, Bapak Akmalul Fata, SST, selaku Pembimbing II, Bapak Usmardi, SST, bapak Salahuddin, SST dan Bapak M. Basyir, SST. MT selaku pembahas pada tugas akhir ini, Bapak Bakhtiar, ST selaku Ketua Sidang dan Bapak Muhammad Arhami, SSi. Mkom selaku Sekretaris Sidang, dan seluruh staf
pengajar Teknik Elektro khususnya Teknik Elektronika. Rekan – rekan kelas E3 juga F3 yang telah banyak member semangat dan dorongan sehingga penulis bisa menyelesaikan tugas akhir ini dan semua pihak yang telah membantu penulis yang tidak dapat penulis sebutkan satu persatu. Akhirnya Kepada Allah SWT jugalah kita berserah diri, karena tidak ada satupun bisa tercipta tanpa kehendak-Nya, dan dalam penulisan ini masih dapat kekurangan karena terbatasnya pengetahuan yang penulis miliki sampai saat ini, dan semoga penulisan ini bermanfaat bagi kita semua. Amin Ya Rabbal ‘Alamin
Lhokseumawe, 21 Juli 2007 Penulis
Inzar Salfikar Nim. 04016305
DAFTAR ISI
Robot Pencari Tujuan yang Ditentukan ç=================================è
DAFTAR ISI Halaman HALAMAN JUDUL LEMBARAN PENGESAHAN LEMBARAN TUGAS AKHIR PERSEMBAHAN ABSTRAK .............................................................................................
i
KATA PENGANTAR ............................................................................
ii
DAFTAR ISI .......................................................................................... iv DAFTAR GAMBAR .............................................................................. vii DAFTAR TABEL .................................................................................. ix DAFTAR LAMPIRAN ...........................................................................
x
BAB I
PENDAHULUAN ...................................................................
1
1.1 Latar Belakang ...................................................................
1
1.2 Tujuan Penulisan ...............................................................
2
1.3 Permasalahan .....................................................................
2
1.4 Rumusan Masalah ..............................................................
3
1.5 Batasan ..............................................................................
3
1.6 Metodelogi .........................................................................
4
1.7 Sistematika Penulisan.........................................................
5
BAB II TINJAUAN PUSTAKA...........................................................
7
2.1 Mikrokontroler AT89S51 ……. .........................................
7
2.1.1 Arsitektur dan Blok Diagram Mikrokontroler AT89S51 ...................................................................
8
2.1.2 Konfigurasi Pin AT89S51 ......................................... 10 2.1.3 Organisasi Memori.................................................... 12 2.1.4 Interupsi .................................................................... 14 2.1.5 Sarana Timer/Counter dalam AT89S51 ..................... 17 2.2 Perangkat lunak Mikrokontroler AT89S51 ......................... 20 2.2.1 Sistem Bilangan ........................................................ 20 2.2.2 Perangkat Istruksi ...................................................... 22
2.3 Sistem Komonikasi Antar PC dan Komputer...................... 23 2.4 Bahasa Pemrograman......................................................... 24 2.4.1 Bahasa Assembly ....................................................... 24 2.5 Software Pemrograman ...................................................... 25 2.6 Sensor ................................................................................ 29 2.6.1 LED Infra Merah....................................................... 30 2.6.2 Phototransistor .......................................................... 31 2.7 Pembanding LM339 ........................................................... 33 2.8 Driver ................................................................................ 33 BAB III PERANCANGAN DAN PEMBUATAN ROBOT PENCARI TUJUAN YANG DITENTUKAN .......................... 36 3.1 Blok Diagram Rangkaian ................................................... 36 3.2 Prinsip Kerja Rangkaian ..................................................... 37 3.3 Perencanaan Alat ............................................................... 38 3.4 Perencanaan dan Pembuatan Mekanik................................ 38 3.4.1 Rangka Utama ........................................................... 38 3.4.2 Roda Utama .............................................................. 39 3.4.3 Roda Bebas ............................................................... 40 3.4.4 Gear Box ................................................................... 41 3.5 Perancangan Perangkat Keras (Elektronik)......................... 41 3.5.1 Rangkaian Sensor Proximity ...................................... 41 3.5.2 Mikrokontroler AT89S51 ........................................... 44 3.5.3 Rangkaian Osilator..................................................... 45 3.5.4 Rangkaian Reset ........................................................ 45 3.5.5 Rangkaian Papan Tombol (Keypad) ........................... 47 3.5.6 Rangkaian Driver Motor DC ...................................... 48 3.6 Perancangan Perangkat Lunak ........................................... 49 3.6.1Perancangan Alamat Memori Program ....................... 50 3.6.2Perancangan Input / Output (I/O) ............................... 50 3.6.3 Perancangan Algoritma .............................................. 51 3.6.4 Perencanaan Flowchart .............................................. 52
3.6.5 Perencanaan Program ................................................. 52 BAB IV PENGUJIAN DAN ANALISIS SISTEM ................................. 54 4.1 Tujuan Pengujian ............................................................... 54 4.2 Prosedur Pengujian ............................................................ 54 4.2.1 Pengujian Metode Tak Terintegerasi .......................... 55 4.2.2Prosedur Kompilasi Menggunakan Pgm89xp.Bat ....... 57 4.2.3 Pengujian dan Analisa Program.................................. 59 4.2.4 Pengujian dengan Metode Terintegrasi ....................... 61 4.3 Tujuan Pengukuran ............................................................ 61 4.4 Alat yang Diperlukan ......................................................... 62 4.5 Langkah – langkah Pengukuran ......................................... 63 4.6 Hasil Pengukuran ............................................................... 63 BAB V PENUTUP ............................................................................... 65 5.1 Simpulan............................................................................ 65 5.2 Saran.................................................................................. 65 DAFTAR PUSTAKA ............................................................................ 66 LAMPIRAN
DAFTAR GAMBAR
Robot Pencari Tujuan yang Ditentukan ç=================================è
DAFTAR GAMBAR
Halaman Gambar 2.1
Blok Diagram AT89S51 ................................................................
9
Gambar 2.2
Konfigurasi pin-pin Mikrokontroler AT89S51 ................................ 10
Gambar 2.3
Struktur memori mikrokontroler AT89S51 ..................................... 12
Gambar 2.4
Memori Program............................................................................. 13
Gambar 2.5
Memori data Internal ...................................................................... 13
Gambar 2.6
Lokasi 128 byte memori data internal ............................................ 14
Gambar 2.7
Denah susunan bit dalam register TMOD........................................ 18
Gambar 2.8
Denah susunan bit dalam register TCON ........................................ 19
Gambar 2.9
ISP programmer ............................................................................. 25
Gambar 2.10 Tampilan program pada notepad ..................................................... 26 Gambar 2.11 Penyimpanan program bentuk assembly.......................................... 27 Gambar 2.12 Hasil compiler tanpa kesalahan ....................................................... 27 Gambar 2.13 Hasil compiler (terjadi error)........................................................... 28 Gambar 2.14 Tampilan kesalahan pada program .................................................. 28 Gambar 2.15 Simbol Light Emiting Diodes (LED) .............................................. 31 Gambar 2.16 Simbol Phototransistor ................................................................... 32 Gambar 2.17 Konfigurasi pin-pin LM339 ........................................................... 33 Gambar 2.18 Simbol Relay .................................................................................. 34 Gambar 3.1
Blok Diagram Rangkaian ............................................................... 36
Gambar 3.2
Dimensi perencanaan robot ............................................................. 38
Gambar 3.3
Tampak samping robot ................................................................... 39
Gambar 3.4
Sistem roda utama robot ................................................................. 39
Gambar 3.5
Roda bebas robot ............................................................................ 40
Gambar 3.6
Gear Box robot ............................................................................... 41
Gambar 3.7
Posisi start awal robot ..................................................................... 42
Gambar 3.8
Rangkaian sensor proximity sebagainsensor garis ........................... 43
Gambar 3.9
Sensor dengan rangkaian pembanding............................................. 43
Gambar 3.10 Konfigurasi dari MCU AT89S51 .................................................... 44
Gambar 3.11 Rangkaian Osilator ......................................................................... 45 Gambar 3.12 Rangkaian Reset ............................................................................. 45 Gambar 3.13 Rangkaian push button sebagai keypad ........................................... 48 Gambar 3.14 Rangkaian Driver Aktif Rendah ...................................................... 49 Gambar 4.1
Atmel 89 Series Flash Programmer ................................................. 58
Gambar 4.2
Titik Pengukuran keseluruhan ......................................................... 62
DAFTAR TABEL
Robot Pencari Tujuan yang Ditentukan ç=================================è
DAFTAR TABEL
Halaman Tabel 2.1
Perbandingan internal ROM antara Mikrokontroller yang sejenis ......
8
Tabel 2.2
Tabel nama dan lokasi interupsi ........................................................ 15
Tabel 2.3
Tabel fungsi masing-masing bit IE .................................................... 16
Tabel 2.4
Tabel bilangan decimal dan padanannya dalam biner ........................ 21
Tabel 3.1
Tabel Perencanaan port pada mikrokontroller .................................... 50
Tabel 4.1
Contoh-contoh compiler pemograman ............................................... 55
Tabel 4.2
Data penekanan keypad ..................................................................... 60
Tabel 4.3
Hasil Pengukuran............................................................................... 64
DAFTAR LAMPIRAN
Robot Pencari Tujuan yang Ditentukan ç=================================è
DAFTAR LAMPIRAN
Lampiran 1 Flowchart Lampiran 2 List Program Robot Pencari Tujuan yang Ditentukan Lampiran 3 Skema Rangkaian Lampiran 4 Foto Robot Lampiran 5 Instruksi – instruksi keluarga MCS51 Lampiran 6 Alamat port MOD51 Lampiran 7 Mikrokontroler AT89S51 Lampiran 8 LM 339 N
BAB I PENDAHULUAN
Robot Pencari Tujuan yang Ditentukan ç=================================è
BAB I PENDAHULUAN
1.1
Latar Belakang Perkembangan teknologi dalam berbagai bidang kehidupan yang semakin
pesat menuntut kita untuk mampu menyelesaikan permasalahan yang semakin kompleks, Untuk itu diperlukan penyelesaian - penyelesaian baru yang lebih efektif dan efisien untuk mengatasi permasalahan tersebut. Robot merupakan salah satu alternatif pilihan yang terbaik yang dapat digunakan untuk menyelesaikan permasalahan manusia yang rumit dan berbahaya bagi manusia. Di negara-negara maju seperti Jepang, Amerika Serikat dan Cina pemakaian teknologi robot dalam bidang industri sudah bukan hal yang baru lagi, dan tiap tahun pemanfaatan teknologi robot ini terus meningkat. Robot Adalah rekabentuk manipulasi multifungsi untuk memindahkan barang, bahagian, alat (tools), atau peralatan khusus melalui gerakan pengaturan pengubahan dan pelaksanaan tugas bervariasi. Robot mempunyai kelebihan yaitu dapat melakukan pekerjaan yang sama terus-menerus dengan akurasi tinggi, dan kecepatan terkontrol. Kombinasi sistem elektronik dengan pengontrolan terpadu secara otomatis berbasis mikrokontroler saat ini dinilai mempunyai keunikan tersendiri untuk digunakan sebagai pengatur kerja suatu sistem. Mikrokontroler dengan sistem minimum dan peralatan pendukung yang cukup efektif untuk digabungkan dengan sensor - sensor yang diperlukan untuk suatu proses, yang kemudian data tersebut
dapat langsung diolah sehingga keluaran proses dapat dihasilkan sesuai dengan yang diharapkan. Salah satu keunikannya dalam perancangan dan pembuatan robot ini adalah, mampu melakukan suatu pekerjaan layaknya makhluk hidup, dengan kemampuan tersebut robot terprogram khusus mengerjakan beberapa pekerjaan dengan kecerdasan tertentu. Robot merupakan suatu project yang merupakan bagian dari sebuah alat perindustrian yang menggerakkan dan menjangkau tempat-tempat yang tidak bisa dijangkau oleh manusia. Dengan berbagai kecerdasan program dalam sebuah robot maka perancangan, pembuatan dan pengembangan aplikasi robotika sangat berpengaruh pada dunia perindustrian maupun perumahan nantinya. dengan menggunakan minimum sistem sebagai tempat pemrosesan masukan maupun keluaran serta didukung dengan beberapa jenis sensor yang disebut indera pada sebuah robot yang bekerja secara otomatis.
1.2
Tujuan Penulisan Penulisan tugas akhir ini bertujuan untuk merancang sebuah robot pencari
tujuan, dan mengetahui cara mengkombinasikan sistem mikrokontroler AT89S51 dengan sensor, driver motor DC dan beberapa komponen pendukung lainnya.
1.3
Permasalahan Robot pencari tujuan yang ditentukan ini harus mampu melakukan tugas
pencarian tujuan yang ditentukan dengan menekan tombol pada robot dan berjalan
pada daerah yang sudah dikenal oleh robot dengan memasukkan alamat yang dikenal oleh robot. Guna menunjang kemudahan dan kelancaran robot saat melakukan pencarian, mekanik robot harus di desain dengan se-efektif mungkin.
1.4
Rumusan Masalah Mengacu pada permasalahan diatas maka perumusan masalah akan
ditekankan pada: 1. Bagaimana merancang sebuah robot yang se-efektif mungkin untuk dapat melakukan pencarian tujuan yang tujuan tersebut sudah diperkenalkan terlebih dahulu. 2. Bagaimana membuat program Assembly pada mikrokontroler AT89S51 untuk mengendalikan seluruh gerakan robot. 3. Bagaimana membuat interface antara mikrokontroler dengan device keypad, driver motor DC dan sensor.
1.5
Batasan Pembahasan pada proyek akhir ini difokuskan pada perancangan rangkaian
sistem minimum mikrokontroler, interface dengan sensor, Keypad dan rangkaian kendali motor DC. Permasalahan dibatasi hanya pada pembuatan perangkat keras dan perangkat lunak yang memberikan data masukan bagi proses pengontrolan robot. Dengan batasan masalah: 1. Membuat perangkat lunak yang dapat memberikan data masukan untuk proses pengontrolan robot.
2. Kondisi awal start robot berada pada garis tengah yang diberi nama garis1. 3. Robot hanya melakukan pencarian dengan cara berjalan mengikuti garis dan berhenti di tujuan. 4. Kondisi garis berwarna kuning (terang) dengan area berbentuk persegi, ukuran garis selebar 3 cm. 5. Tidak ada halangan (obstacle) yang menutupi obyek (garis) dan permukaan area rata.
1.6
Metodelogi Untuk mencapai penyelesaian proyek akhir, langkah yang akan dilakukan
adalah: 1. Melakukan studi literatur yaitu mempelajari literatur yang berhubungan dengan perangkat lunak yang akan digunakan dan juga mikrokontroller. Software yang digunakan adalah bahasa Assembly. 2. Melakukan perancangan perangkat lunak yaitu merancang software yang akan di terapkan didalam sistem robot, perancangan perangkat keras berupa sensor proximity, keypad, driver motor DC, dan minimum system serta interface dengan beberapa perangkat keras tersebut. 3. Dan interface dengan beberapa device, Melakukan integrasi dan pegujian sistem yaitu menghubungkan antara perangkat lunak yang telah dibuat dengan perangkat keras kemudian dilakukan pengujian pada keseluruhan sistem agar diketahui kinerjanya.
4. Melakukan evaluasi dan presentasi hasil yaitu melakukan evaluasi cara kerja dari sistem yang telah dibuat untuk mengetahui aspek - aspek yang mempengaruhinya, seperti: keberhasilan melakukan pencarian, pengujian data dan ketepatan dengan kontrol robot. 5. Melakukan penyusunan buku tugas akhir yaitu melakukan penulisan laporan lengkap dan detail tentang tugas akhir.
1.7
Sistematika Penulisan Sistematika penulisan dapat dijelaskan sebagai berikut:
BAB I
PENDAHULUAN Meliputi latar belakang, tujuan penulisan, permasalahan, rumusan masalah, batasan, metodelogi dan sistematika penulisan.
BAB II TINJAUAN PUSTAKA Membahas tentang teori - teori yang berkaitan dengan cara berjalan robot yang mengikuti garis meliputi mikrokontroler AT89S51, perangkat lunak mikrokontroler AT89S51, sistem komunikasi antar PC dan komputer, bahasa pemograman, Software pemrograman, sensor, pembanding LM339 dan driver.
BAB III PERANCANGAN DAN PEMBUATAN ROBOT PENCARI TUJUAN YANG DITENTUKAN Meliputi blok diagram rangkaian, prinsip kerja rangkaian, perencanaan alat, perencanaan pembuatan mekanik, perancangan perangkat keras (elektronik) dan perancangan perangkat lunak. BAB IV PENGUJIAN DAN ANALISIS SISTEM Membahas tentang tujuan pengujian, prosedur pengujian, tujuan pengukuran, alat yang diperlukan, langkah – langkah pengukuran dan hasil pengukuran. BAB V PENUTUP Berisikan tentang simpulan dan saran.
BAB II TINJAUAN PUSTAKA
Robot Pencari Tujuan yang Ditentukan ç=================================è
BAB II TINJAUAN PUSTAKA
2.1
Mikrokontroler AT89S51 Mikrokontroler Atmel AT89S51 adalah produk pengembangan terbaru dari
produsen mikrokontroler Atmel. AT89S51 termasuk dalam keluarga MCS-51, yang pertama kali dibuat oleh Intel pada awal 1980-an. Jenis yang pertama adalah 8051, dimana fitur-fiturnya sebagian besar masih diadaptasi oleh AT89S51. Jenis pertama ini dikembangkan menjadi berpuluh - puluh varian oleh banyak perusahaan seperti Philips, Dallas, Atmel, maupun Intel sendiri. Mikrokontroler AT89S51 dibuat pada akhir 2003 dan merupakan pengembangan dari AT89C51. Perbedaan utama adalah cara mengisikan program dalam IC. AT89C51 menggunakan metoda transfer paralel, sedangkan AT89S51 menggunakan metoda serial ISP (In System Programmable). Penggunaan ISP ini sangat menguntungkan karena bisa mempercepat pembuatan aplikasi program, dimana IC mikrokontroler tidak perlu dicabut dari rangkaian sewaktu proses pemrograman. Fitur-fitur utama dari mikrokontroler AT89S51 adalah: 1. 4 KB Internal Flash ROM yang bisa diprogram menggunakan ISP. 2. 128 byte internal RAM. 3. maksimum 32 pin I/O yang bisa deprogram. 4. 2 buah timer / counter 16-bit. 5. 6 buah sumber interupsi.
6. komunikasi serial asinkron. 7. 3 level pelindung memori (memory lock). 8. watchdog ( penjaga dari kesalahan yang tidak terduga, dengan cara mereset lagi mikronya secara otomatis ). Untuk membuat aplikasi minimum AT89S51 hanya diperlukan sebuah IC AT89S51, kristal, dan dua buah kapasitor 30pF. Selain itu diperlukan alat untuk men-download program yang telah dibuat ke dalam IC. Selain AT89S51, Atmel juga membuat mikrokontroler sejenis tapi dengan besar internal ROM yang berlain-lainan, perbandingannya seperti tabel berikut : Tabel 2.1 : perbandingan internal ROM antara mikrokontroller yang sejenis Mikrokontroler
Flash ROM (KB)
Internal RAM (bytes)
EEPROM (KB)
16-bit Sumber Timer / Interupsi Counter
Lain-lain
89S51
4
128
-
2
6
Serial port, dual DPTR, watchdog
89S52
8
256
-
3
9
Serial port, dual DPTR, watchdog
89S53
12
256
-
3
9
Serial port, dual DPTR, watchdog
89S55
20
256
-
3
9
Serial port, dual DPTR, watchdog
89S8252
8
256
2
3
9
Serial port, dual DPTR, watchdog
2.1.1 Arsitektur Dan Blok Diagram Mikrokontroler AT89S51 Mikrokontroler AT89S51 terdiri dari sebuah Central Processing Unit (CPU), dua jenis memori data Random Acces Memory (RAM) dan memori program Read Only Memory (ROM), port input / output dengan programmable pin secara independent, dan register – register mode , status internal dan counter,
serial communication serta logika random yang diperlukan oleh berbagai fungsi pheriperal. Masing – masing bagian saling berhubungan satu dengan yang lainnya lewat kabel data bus 8 bit. Bus ini di buffer melalui port I/O bila diperlukan perluasan memori atau sebagian perangkat I/O. Blok diagram dari mikrokontroler AT89S51 diperlihatkan pada Gambar 2.1 berikut:
Gambar 2.1 Blok Diagram AT89S51 Sumber : Atmel Data Sheet, WWW.Atmel.CO
2.1.2 Konfigurasi Pin AT89S51
Gambar 2.2 Konfigurasi pin-pin Mikrokontroler AT89S51 Sumber: Atmel Data Sheet, WWW.Atmel.CO
Konfigurasi pin mikrokontroler AT89S51 digolongkan menjadi pin sumber tegangan, pin osilator, pin I/O dan pin untuk proses interupsi luar. Gambar konfigurasi pin - pinnya dapat dilihat dalam Gambar 2.2. Fungsi dari tiap-tiap pin adalah sebagai berikut: 1.
Pena 1–8
: Port 1 (P1.0 – P1.7), merupakan port paralel 8 bit dua arah (bidirectional). Port ini bekerja baik untuk operasi bit maupun byte, tergantung dari pengaturan software.
2.
Pin 9
: Reset, merupakan pin input yang aktif tinggi, jika pin ini aktif tinggi selama dua siklus mesin, maka ketika osilator bekerja akan mereset peralatan.
3.
Pin 10-17
: Port 3 (P3.0 – P3.7): adalah port paralel 8 bit 2 arah yang juga memiliki fungsi khusus atau fungsi pengganti sebagai berikut:
RXD (P3.0)
: Masukan penerima data serial.
TXD (P3.1)
: Keluaran pengirim data serial.
INT0 (P3.2)
: Masukan interupsi 2
4.
INT1 (P3.3)
: Masukan interupsi 1
T0 (P3.4)
: Masukan dari pewaktu/pencacah 0
T1 (P3.5)
: Masukan dari pewaktu/pencacah 1
WR (P3.6)
: Sinyal penulisan memori data luar
RD (P3.7)
: Sinyal pembaca memori data
Pin 18
: XTAL 1, adalah pin masukan ke rangkaian osilator internal. Sebuah osilator kristal atau sumber osilator eksternal dapat digunakan.
5.
Pin 19
: XTAL 2, adalah pin keluaran ke rangkaian osilator internal. Pin ini dipakai bila menggunakan osilator kristal.
6.
Pin 20 (Ground)
: Dihubungkan ke Vss atau GND.
7.
Pin 21-28
: Port 2 (P2.0 – P2.7), adalah port paralel 8 bit 2 arah (Bidirectional). Port 2 ini mengirimkan byte alamat bila dilakukan pengaksesan memori ekternal.
8.
Pin 29
: Pin PSEN (Program Strobe Enable), yang merupakan sinyal
pengontrol
yang
memperbolehkan
program
memori eksternal masuk ke dalam bus selama proses (pengambilan instruksi). 9.
Pin 30
: ALE (Address Latch Enable), digunakan untuk menahan alamat memori eksternal selama pelaksanaan instruksi.
10. Pin 31
: EA, pin EA harus di hold rendah secara eksternal atau dihubungkan
ke
ground
agar
AT89C51
dapat
mengakses kode mesin dari program memori eksternal. 11. Pin 32-39
: Port 0 (P0.0 – P0.7), port 0 adalah merupakan port paralel 8 bit dua arah. Port ini digunakan sebagai multipleks bus alamat rendah dan bus data selama pengaksesan ke memori eksternal.
12. Pin 40
: Vcc, dihubungkan dengan sumber tegangan +5V.
2.1.3 Organisasi Memori Mikrokontroler AT89S51 mempunyai ruang alamat yang terpisah untuk memori data dan memori program seperti ditunjukkan dalam Gambar 2.3. Pemisahan memori data dan memori program tersebut memperbolehkan memori data untuk diakses oleh alamat 8 bit. Memori Program (Read Only)
Memori Data (Read /Write)
FFFFH
FFFFH
External
External
Internal 0FFFH FFH External
Internal 0000
00
0000
RD WR
PSEN
Gambar 2.3 Struktur memori mikrokontroler AT89S51 Sumber: Atmel Microcontroller Data Book, 2000: 2-4
A.
Memori Program Memori program adalah memori jenis EPROM yang digunakan untuk
menyimpan program instruksi-instruksi yang akan dieksekusi oleh CPU. Setelah direset CPU akan memulai eksekusi pada alamat 0000H. Tapi jika interrupt diaktifkan maka eksekusi akan menuju lokasi tertentu yaitu untuk interrupt 0 eksekusi akan dimulai pada 0003H dan seterusnya dengan interval 8 byte, jika yang dijalankan melebihi 8 byte. Untuk lebih jelasnya dapat dilihat dalam Gambar 2.4.
0023H 001BH 8 Bytes
Interrupt locations
0013H 000BH 0003H 0000H
Reset
Gambar 2.4 Memori Program Sumber: Atmel Microcontroller Data Book, 2000: 2-5
Memori program dapat berada di luar chip secara keseluruhan yaitu dengan menghubungkan EA (External Acces) ke Vss. Sedangkan untuk mengakses program memori internal pin EA dihubungkan ke Vcc.
B.
Memori data Dalam mikrokontroler MCS-51 (AT89S51) terdapat memori data internal
dan eksternal. Sinyal pembacaan untuk memori data eksternal berasal dari pin
RD dan penulisan berasal dari pin WR . Pemetaan memori data internal ditunjukkan dalam Gambar 2.5. Ruang memorinya dibagi menjadi tiga blok yaitu sebagai lower 128, upper 128 dan ruang SFR (Special Function Register). FFH
FFH
UPPER 128 80H 7FH
80H SFR
LOWER 128 00
Gambar 2.5 Memori data Internal Sumber: Bereksperimen dengan Mikrokontroler 8031, 1997
Memori data bagian bawah sebanyak 128 byte RAM ditunjukkan dalam Gambar 2.6. Memori 32 byte yang terbawah dikelompokkan menjadi 4 bank dari register yang biasa disebut sebagai register R0 sampai R7. 7FH 2FH Ruang pengalamatan bit 20H 1FH 18H 17H 10H 0FH 08H
4 Bank 8 Register (R0 - R7)
07H 00
Nilai Stack Saat Reset
Gambar 2.6 Lokasi 128 byte memori data internal Sumber: Bereksperimen dengan Mikrokontroler 8031, 1997
2.1.4 Interupsi Apabila CPU pada mikrokontroller 89S51 sedang melaksanakan suatu program, pelaksanaan program tersebut dapat dihentikan secara sementara dengan meminta interupsi. Apabila CPU mendapatkan permintaan interupsi, program counter akan diisi alamat dari vector interupsi.CPU kemudian melaksanakan rutin pelaksanaan interupsi mulai dari alamat tersebut. Bila rutin pelayanan interupsi selesai dilaksanakan, CPU mikrokontroller kembali keprogram utama yang ditinggalkan. Pada mikrokontroller 89S51 terdapat beberapa saluran interupsi. Interupsi dibedakan dalam dua jenis yaitu: 1.
Interupsi yang tidak dapat dihalangi oleh perangkat lunak ( non maskable interrupt ), misalnya Reset.
2.
Interupsi yang dapat dihalangi
oleh perangkat lunak ( maskable
interrupt ) contoh interupsi ini adalah INTO dan INTI (eksternal) dan timer / counter0, timer / counter1, serta interupsi dari port serial (internal). Interupsi RETI ( Return From Interupt routine ) harus digunakan untuk kembali pada layanan rutin interupsi. Interupsi ini digunakan agar saluran interupsi dapat kembali dipakai. Alamat awal layanan rutin dipakai interupsi dari setiap sumber interupsi diperlihatkan pada tabel: Table 2.2 : Tabel nama dan lokasi interupsi Nama
Lokasi
Alat interupsi
Reset
00H
Power on reset
Int 0
03H
Int 0
Timer 0
0BH
Timer 0
Int 1
13H
Int 1
Timer 1
1BH
Timer 1
Mikrokontroler atmel AT89S51 menyediakan 5 sumber interupsi, dua interupsi eksternal, dua interupsi timer, dan satu interupsi port serial. Interupsi eksternal INT 0 dan INT 1 masing-masing dapat diaktifkan berdasarkan level atau transisi, tergantung pada bit IT 0 dan IT 1 dari TCON. Flag yang menghasilkan interupsi ini adalah bit dalam IE 0 dan IE 1 dari TCON.
Interupsi timer 0 dan timer 1 dihasilkan oleh TF 0 da TF 1. ada dua buah register yang mengontrol interupsi yaitu, IE ( Interupsi Enable ) dan IP ( Interupsi priority ).
A.
Interupsi Enable Setiap sumber interupsi dapat diaktifkan atau dilumpuhkan secara individual
dengan mengatur satu bit pada SFR ( Special Function Register ) yang dinamakan IE ( Interupsi Enable ). Bit-bit IE didefinisikan sebagai berikut: EA
-
-
ES
ET1
EX1
ET0
EX0
Tabel 2.3 : Table fungsi masing-masing bit IE Simbol
Posisi
Fungsi
EA
IE7
Melumpuhkan semua interupsi, jika IE = 0 tidak ada interupsi yang akan dilayani jika IE = 1 setiap sumber interupsi dapat dijalankan atau dilumpuhkan secara individual.
-
IE6
Kosong
-
IE 5
Kosong
ES
IE 4
Bit pembuat enable port serial
ET 1
IE 3
Bit pembuat enable timer
EX 1
IE 2
Bit pembuat enable INT 1
ET 0
IE 1
Bit pembuat enable timer 0
EX 0
IE 0
Bit pembuat enable INT 0
B.
Prioritas Interupsi Semua sumber imterupsi dapat diprogram secara sendiri - sendiri
(individual ) menjadi satu atau dua tingkat prioritas dengan mengatur bit pada SFR (Special Function Register) yang bernama IP (Interupsi Priority). Interupsi dengan prioritas rendah dapat diinterupsi oleh interupsi yang memiliki prioritas tinngi tidak dapat diinterupsi oleh interupsi yang lebih rendah. Jika dua permintaan interupsi dengan tingkat prioritas yang berbeda diterima secara bersamaan, permintaan interupsi dengan tingkat prioritas tertinggi yang akan dilayani.
2.1.5 Sarana Timer/Counter dalam AT89S51
Keluarga mikrokontroler MCS51, misalnya AT89S51 dan AT89Cx051, dilengkapi dengan dua perangkat Timer/Counter, masing-masing dinamakan sebagai Timer 0 dan Timer 1. Sedangkan untuk jenis yang lebih besar, misalnya AT89S52, mempunyai tambahan satu perangkat Timer/Counter lagi yang dinamakan sebagai Timer 2. Perangkat Timer/Counter tersebut merupakan perangkat keras yang menjadi satu dalam chip mikrokontroler MCS51, bagi pemakai mikrokontroler MCS51 perangkat tersebut dikenal sebagai SFR (Special Function Register) yang berkedudukan sebagai memori-data internal. Pencacah biner untuk Timer 0 dibentuk dengan register TL0 (Timer 0 Low Byte, memori-data internal nomor $6A) dan register TH0 (Timer 0 High Byte, memoridata internal nomor $6C).
Pencacah biner untuk Timer 1 dibentuk dengan register TL1 (Timer 1 Low Byte, memori-data internal nomor $6B) dan register TH1 (Timer 1 High Byte, memori-data internal nomor $6D). Pencacah biner pembentuk Timer/Counter MCS51 merupakan pencacah biner menaik (count up binary counter) yang mencacah dari $0000 sampai $FFFF, saat kedudukan pencacah berubah dari $FFFF kembali ke $0000 akan timbul sinyal limpahan. Untuk mengatur kerja Timer/Counter dipakai 2 register tambahan yang dipakai bersama oleh Timer 0 dan Timer 1. Register tambahan tersebut adalah register TCON (Timer Control Register, memori-data internal nomor $88, bisa dialamat secara bit) dan register TMOD (Timer Mode Register, memori-data internal nomor $89).
A.
Register Pengatur Timer Register TMOD dan register TCON merupakan register pembantu untuk
mengatur kerja Timer 0 dan Timer 1, kedua register ini dipakai bersama oleh Timer 0 dan Timer 1.
Gambar 2.7 Denah susunan bit dalam register TMOD Sumber : Pengembangan Aplikasi dengan Mikrokontroler Atmel AT89S51
Register TMOD dibagi menjadi 2 bagian secara simitris, bit 0 sampai 3 register TMOD (TMOD bit 0 .. TMOD bit 3) dipakai untuk mengatur Timer 0, bit
4 sampai 7 register TMODE (TMOD bit 4 .. TMOD bit 7) dipakai untuk mengatur Timer 1, pemakaiannya sebagai berikut : 1.
Bit M0/M1 dipakai untuk menentukan Mode Timer seperti yang terlihat dalam Tabel di Gambar 2.7.
2.
Bit C/T* dipakai untuk mengatur sumber sinyal denyut yang diumpankan ke pencacah biner. Jika C/T*=0 sinyal denyut diperoleh dari osilator kristal yang frekuensinya sudah dibagi 12, sedangkan jika C/T*=1 maka sinyal denyut diperoleh dari kaki T0 (untuk Timer 0) atau kaki T1 (untuk Timer 1).
3.
Bit GATE merupakan bit
pengatur saluran sinyal denyut. Bila bit
GATE=0 saluran sinyal denyut hanya diatur oleh bit TRx (maksudnya adalah TR0 atau TR1 pada register TCON). Bila bit GATE=1 kaki INT0 (untuk Timer 0) atau kaki INT1 (untuk Timer 1) dipakai juga untuk mengatur saluran sinyal denyut
Gambar 2.8 Denah susunan bit dalam register TCON Sumber : Pengembangan Aplikasi dengan Mikrokontroler Atmel AT89S51
Register TCON dibagi menjadi 2 bagian, 4 bit pertama (bit 0 .. bit 3, bagian yang diarsir dalam Gambar 3b) dipakai untuk keperluan mengatur kaki INT0 dan INT1, ke-empat bit ini dibahas dibagian lain. Sisa 4 bit dari register TCON (bit 4..bit 7) dibagi menjadi 2 bagian secara simitris yang dipakai untuk mengatur Timer0/Timer 1, sebagai berikut:
4. Bit TFx (maksudnya adalah TF0 atau TF1) merupakan bit penampung limpahan, (TFx akan menjadi ‘1’ setiap kali pencacah biner yang terhubung padanya melimpah (kedudukan pencacah berubah dari $FFFF kembali menjadi $0000). Bit TFx di-nol-kan dengan istruksi CLR TF0 atau CLR TF1. Jika sarana interupsi dari Timer 0/Timer 1 dipakai, TRx dinol-kan saat MCS51 menjalankan rutin layanan interupsi (ISR – Interupt Service Routine). 5.
Bit TRx (maksudnya adalah TR0 atau TR1) merupakan bit pengatur saluran sinyal denyut, bila bit ini =0 sinyal denyut tidak disalurkan ke pencacah biner sehingga pencacah berhenti mencacah. Bila bit GATE pada register TMOD =1, maka saluran sinyal denyut ini diatur bersama oleh TRx dan sinyal pada kaki INT0/INT1
2.2
Perangkat Lunak Mikrokontroler AT89S51 Pada suatu mikrokontroler selain terdapat perangkat keras juga terdapat
perangkat lunak. Keduanya merupakan bagian yang sangat penting pada mikrokontroler. Sebuah mikrokontroler tidak akan bekerja bila tidak diberikan program kepadanya. Pada mikrokontroller terdapat instruksi - instruksi perangkat lunak yang dikenal sebagi bahasa pemograman sistem mikrokontroler.
2.2.1 Sistem Bilangan Pada sistem mikrokontroler digunakan system bilangan . Disini akan dibahas sistem bilangan biner dan bilangan hexadecimal.
A.
Bilangan Biner Bilangan biner merupakan bilangan dasar 2. Bilangan ini hanya memiliki
lambing bilangan 1 dan 0. Pada mikrokontroller digunakan system bilangan biner. Karena bilangan yang digunakan sehari-hari adalah bilangan desimal maka untuk memudahkan pengoperasian mikrokontroler, bilangan desimal diubah kedalam bentuk bilangan biner. Table menunjukkan bilangan desimal dengan padanannya pada bilangan biner. Tabel 2.4 : Tabel bilangan decimal dan padanannya dalam biner Desimal
Biner
Desimal
Biner
0
0000
8
1000
1
0001
9
1001
2
0010
10
1010
3
0011
11
1011
4
0100
12
1100
5
0101
13
1101
6
0110
14
1110
7
0111
15
1111
B.
Bilangan Heksadesimal Bilangan heksadesimal merupakan bilangan berbasis enam belas, dengan
symbol bilangan 0 1 2 3 4 5 6 7 8 9 A B C D E F. bilangan heksadesimal banyak digunakan dalam sistem mikrokontroler atau mikroprosesor karena bilangan 8 bit dapat dipresentasikan hanya dengan dua bilangan heksadesimal.
2.2.2 Perangkat Instruksi Perangkat instruksi mikrokontroller MCS51 dapat dibagi maenjadi lima kelompok yaitu :
A.
1.
Instruksi aritmatika
2.
Instruksi logika
3.
Instruksi transfer data
4.
Instruksi operasi Boolean
5.
Instruksi percabangan
Instruksi Aritmatika Instruksi
aritmatika
melakukan
operasi
aritmatika
yang
meliputi
penjumlahan, pengurangan, pengurangan, perkalian dan pembagian, misalnya : ADD A,7FH
B.
Instruksi Logika Instruksi logika melaksanakan operasi logika AND, OR, XOR, dan
komplemen : ORL A,#00001000B
C.
Instruksi Boolean Instruksi Boolean mengakses bit-bit yang dalam kondisi percabangan dan
juga yang dalam kondisi lengkap dari instruksi MOV, SET, CLEAR, Complemant, OR. dan AND misalnya : CLR P1,7
D.
Instruksi Transfer Data Instruksi transfer data memindahkan data antara register-register, memori-
register atau memori-memori. Misalnya : MOV A,#45h
E.
Instruksi Percabangan Instruksi percabangan ini mengubah urutan normal pelaksanaan suatu
program. Dengan instruksi ini program yang sedang dilaksanakan akan mencabang kesuatu alamat tertentu, missal : LCALL addr 16 JNZ 00FF
2.3
Sistem Komunikasi Antar PC dan Komputer Sistem komunikasi yang digunakan untuk berkomunikasi antara PC dan
sistem minimum AT89S51 mengunakan prinsip data serial dengan model pengiriman dan penerimaan data secara serentak. Data yang diterima dari PC oleh
IC AT89S51 diterjemahkan terlebih dahulu oleh MCS51 ( bahasa mesin ) sebagai data input.
2.4
Bahasa Pemrograman Bahasa program merupakan suatu urutan instruksi untuk dilaksanakan oleh
Mikrokontroler agar hasil yang kita inginkan dapat diperoleh. Dalam proses pemograman pada Mikrokontroler Atmel 89S51 bahasa program yang digunakan adalah bahasa Assembly. Dengan perintah-perintah maupun instruksi program yang ada pada program tersebut nantinya dapat menjalankan program yang ada pada mikrokontroler.
2.4.1 Bahasa Assembly Secara fisik, mikrokontroler bekerja denga membaca instruksi yang tersimpan di dalam memori. Mikrokontroler menentukan alamat dari memori program yang akan dibaca melakukan proses baca data di memori. Data yang dibaca diinterprestasikan sebagai instruksi. Alamat instruksi disimpan oleh mikrokontroler di register yang dikenal sebagai programe counter. Program yang ditulis dengan bahasa assembly terdiri dari label kode, mnemonic dan sebagainya yang belum bisa diterima oleh mikrokontroller untuk dijalankan sebagai program, tetapi harus diterjemahkan terlebih dahulu menjadi bahasa mesin kedalam bentuk kode biner.
2.5
Software Pemrograman. Software yang digunakan dalam mendownload program mengunakan
metode serial software ISP ( In System Programable ), penggunaan ISP ini sangat menguntungkan karena bisa mempercepat pemrograman yaitu pada saat simulasi I/O yang langsung bisa digunakan tanpa mencabut IC sehingga jika terjadi kesalahan saat pengujian, program lain dapat didownload langsung dengan cara menghubungkan rangkain mikrokontroler dengan komputer dan memindahkan jumper pada ISP tersebut dalam poisi download. IC yang sudah terprogram juga dapat dilepas dan dijalankan pada sistem minimum yang lainnya.
Gambar : 2.9 ISP programmer Sumber : Pengembangan Aplikasi dengan Mikrokontroler Atmel AT89S51
Prosedur dalam mengunakan software ini ditunjukkan pada langkah – langkah berikut ini: 1. Menulis program dengan bahasa assembly pada “notepad” dengan mengklik start à all programs à accessories à notepad, setelah itu akan tmuncul blank notepad yang akan ditulis program, tampilan
notepad yang telah ditulis dengan program adalah seperti pada gambar 2.10 berikut ini.
Gambar : 2.10 Tampilan program pada notepad Sumber : Perancangan
2. Setelah program diketik, maka harus disimpan dengan extensi yang mengartikan file tersebut adalah file assembly, contohnya dengan nama “robot” maka harus diakhiri dengan “asm”. Contoh penulisannya adalah: robot.asm. tampilan yang akan muncul pada saat penyimpanan dapat dilihat pada gambar 2.11 dibawah ini.
Gambar : 2.11 Penyimpanan program bentuk assembly Sumber : Perancangan
3. Setelah program disimpan dalam bentuk *.asm, maka program harus di compile menjadi file berextensi hexa sehingga mampu diterima oleh mikrokontroler. Cara mengcompilenya, klik start à run à ketikkan “cmd” à oke / enter. Berikut ini adalah tampilan gambar 2.12 berupa tampilan hasil eksekusi tanpa terjadi Error.
Gambar : 2.12 Hasil compiler tanpa kesalahan Sumber : Perancangan
untuk tampilan terjadinya Error adalah seperti ditunjukkan pada gambar 2.13 berikut.
Gambar : 2.13 Hasil compiler (terjadinya error) Sumber : Perancangan
Untuk mengetahui kesalahan pada program dapat dilihat pada file dengan nama yang sama dengan ekstensi *.LST dan terletak pada direktori yang sama pula. Pada instruksi maupun alamat yang terladi error akan diberi tanda panah dan akan dijelaskan kesalahan yang terjadi. Tampilan kesalahan dapat dilihat pada gambar 2.14 berikut ini.
Gambar : 2.14 Tampilan kesalahan pada program Sumber : Perancangan
4. Setelah semuanya telah benar, file yang berbentuk Hexa dan menggunakan software ISP seperti pada gambar 2.9 diatas untuk mengisi program kedalam mikrokontroler. Langkah pertama yaitu buka aplikasi ISP, kemudian klik tombol Open file à write. Terlebih dahulu yakinkanlah IC dalam keadaan terpasang dan sesuaikan tipe IC dengan pilihan pada sudut kanan atas form ISP tersebut. untuk membaca isi memori IC gunakan tombol Read. Jika akan membandingkan isi memori dari memori dan program gunakan tombol Verify. Tombol Disp buffer akan menunjukkan isi memori yang telah dibaca dari mikrokontroler. Tombol Signature akan membaca IC dan mengembalikan ciri dari IC yang diprogram juga apakah IC telah dikunci atau belum.
2.6
Sensor Dalam pengertian yang umum sensor memiliki arti yang sama dengan
transduser, walaupun demikian secara teknis sensor dan transduser memiliki pengertian yang tidak selalu sama. Sensor dapat didefinisikan sebagai suatu komponen atau alat yang berfungsi merasakan suatu besaran fisis secara umum, tidak peduli apakah keluaran sensor berupa elektrik ataupun bukan .sensor hanya digunakan sebagai petunjuk ataupun indikator bagi operator khusus. Sedangkan transduser merupakan suatu komponen yang berfungsi mengubah suatu besaran menjadi besaran lainnya. Sensor yang digunakan pada robot ini adalah Sensor proximity yang beguna untuk mendeteksi ada atau tidaknya suatu objek. Bila obyek berada didepan
sensor dan dapat terjangkau oleh sensor maka output rangkaian sensor akan berlogika “1” atau “high” yang berarti obyek “ada”. Sebaliknya jika obyek berada pada posisi yang tidak terjangkau oleh sensor maka output rangkaian sensor akan bernilai “0” atau “low” yang berarti obyek “tidak ada”. Sensor ini terbentuk dari komponen sebagai berikut:
2.6.1 LED Infra Merah Light Emiting Diode (LED) adalah komponen dengan sambungan P-N yang mengeluarkan cahaya kalau dibias dalam arah maju, yaitu positif ke jenis P (anoda) dan ground ke jenis N (katoda) karena led merupakan dioda dengan sambungan P-N maka dioda akan mengeluarkan cahaya (arus) bila di bias dalam arah maju (forward) dan menyekat arus (Off) bila dibiaskan dalam arah mundur. Led dibuat dengan berbagai material setengah penghantar campuran. Seperti galium arsenida fosfida (GaAsP), galium fosfida (GaP), galium aluminium arsenida (GaAIAS). Warna cahaya sangat bergantung pada jenis kadar material pertemuan. Arus maju berkisar antara 10-20 ma untuk kecerahan maksimum, tegangan maju dalam kondisi menghantar sebagai berikut: a) Led merah
1,6 – 2,2 volt
b) Led kuning
2,4 volt
c) Led hijau
2,7 volt
Tegangan terbalik maksimum yang dibolehkan adalah sebagai berikut: a) Led merah
3 volt
b) Led kuning
5 volt
c) Led hijau
5 volt
Gambar 2.15 Simbol Light Emiting Diodes (LED) Sumber : prinsip-prinsip elektronika, 1996: 134
Dalam banyak aplikasi elektronik, led infra merah merupakan dioda yang mengeluarkan cahaya infra merah yang tidak dapat dilihat oleh mata, namun umumnya penyesoran cahaya semikonduktor sangatlah peka terhadap cahaya infra merah.
2.6.2 Phototransistor Phototransistor adalah foto detector yang mempunyai struktur dasar transistor yaitu n-p-n atau p-n-p. cara kerja phototransistor sama dengan cara kerja transistor lainnya, perbedaannya terletak pada arus daerah basis. Arus yang lewat basis phototransistor berasal dari energi foton yang jatuh pada daerah basis. Jika fhototransistor diberi cahaya pada daerah basis maka energi foton cahaya tersebut akan menciptakan helo-elektron seperti pada P-N sambungan yang dapat meninbulkan arus pada basis. Skema phototransistor dapat dilihat pada Gambar 2.16.
Gambar 2.16 Simbol Phototransistor Sumber : prinsip-prinsip elektronika, 1996: 134
Phototransistor adalah suatu alat semikonduktor cahaya lebih peka dari pada poto dioda p-n, misalnya pertama tak ada eksitasi oleh penyinaran. Dalam hal ini maka pembawa minoritas dibangkitkan secara termal, dan electron – electron yang menyebrang dari basis ke kolektor maupun lobang yang menyebrang dari kolektor ke basis, membentuk arus jenuh balik kolektor Ico. Arus kolektor diberikan oleh persamaan dengan IB = 0, yaitu : IC = ( β +1)ICO Apabila
cahaya
dinyalakan,
pembawa
minoritas
tambahan
akan
dibangkitkan oleh cahaya dan akan memberikan arus balik jenuh dengan pembangkitan muatan minoritas secara termal. Apabila komponen dari arus balik jenuh disebabkan oleh cahaya yang dinyatakan dengan IL,arus kolektor total adalah IC = ( β +1)(ICO + IL) Kita catat, bahwa rus yang disebabkan oleh radiasi diperbanyak suatu factor yang besar ( +1),disebabkan kerja oleh transistor.
2.7
Pembanding LM339 Pembanding LM339 adalah sebuah IC yang mampu membandingkan
tegangan output sensor dengan tegangan threshold sehingga kepekaan sensor dapat ditingkatkan dengan menambahkan sebuah potensiometer 10kohm.
IC
LM339 memiliki 4 pembanding dengan konfigurasi pin seperti pada gambar 2.17.
Gambar 2.17 konfigurasi pin-pin LM339 Sumber : Nasional Semiconductor, 1994
2.8
Driver Driver adalah suatu rangkaian yang berfungsi sebagai penguat sinyal
dengan komponen utama adalah transistor sebagai saklar. Yang utama dari rangkaian driver ini adalah penguat arus. Driver di sini digunakan untuk menguatkan arus keluaran dari gerbang - gerbang logika maupun sinyal digital yang relatif rendah. Sedangkan beban dari driver adalah Relay, untuk itu terlebih dahulu mengetahui besar tegangan dan arus yang mengalir pada Relay. Relay adalah suatu alat untuk membuka dan menutup kontak secara elektrik dengan tujuan menghubungkan fungsi dari rangkaian satu ke rangkaian lainnya. Relay yang umum digunakan saat ini adalah relay jenis elektromekanis yang
terdiri atas kumparan magnetik yang jika mendapat bias arus akan dapat mengendalikan kontak penghubung. Kontak - kontak yang ada pada relay ada 2 macam, yaitu : 1.
Normally Open adalah relay akan ‘open’ (kontak terbuka) apabila relay tidak diberi catu daya (dalam keadaan normal).
2.
Normally Closed adalah relay akan ‘close’ (terhubung) apabila relay dalam keadaan normal (tanpa catu daya).
Jika input relay diberi bias arus maka pada kumparan akan terdapat induksi magnetik yang nantinya akan menarik pegas kontak untuk merubah posisi awalnya menjadi terhubung ke bagian yang diinginkan. Setelah arus terhenti, maka tidak ada induksi sehingga kontak akan kembali ke posisi semula. Berikut ini adalah simbol relay.
Gambar 2.18 Simbol Relay Sumber : prinsip-prinsip elektronika, 1996: 134
Relay diaktifkan dengan beberapa komponen tambahan yang akan menghubungkan jalur positive maupun jalur negative yang mampu menerima sinyal logika. Komponen tambahan yang digunakan adalah transistor PNP untuk aktif pada sinyal logika “0” dan NPN untuk aktif pada logika “1”, menggunakan resistor pada input dan menggunakan dioda sebagai peredam tegangan balik pada
relay sehingga transistor tidak mudah rusak. Rumus perhitungan lilitan pada relay adalah sebagai berikut.
= Jika dt makin besar, maka VL akan semakin kecil, sebaliknya jika nilai dt lebih kecil, maka VL akan semakin besar sehingga dapat merusak transistor, oleh karena itu digunakan sebuah dioda yang akan membias reverse, sehingga akan tercipta resistansi yang sangat besar dan hampir menuju takterhingga pada dioda yang mampu meredam tegangan pada lilitan relay.
BAB III PERANCANGAN DAN PEMBUATAN ROBOT PENCARI TUJUAN YANG DITENTUKAN
Robot Pencari Tujuan yang Ditentukan ç=================================è
BAB III PERANCANGAN DAN PEMBUATAN ROBOT PENCARI TUJUAN YANG DITENTUKAN
3.1
Blok Diagram Rangkaian Perencanaan blok diagram rangkaian secara keseluruhan ditunjukkan dalam
gambar 3.1 Sensor Proximity
Driver MIKROKONTROLLER AT89S51
Keypad
Motor DC
Gambar 3.1 Blok Diagram Rangkaian Sumber : perancangan
Fungsi masing-masing Blok: 1. Mikrokontroler AT89S51 berfungsi sebagai pengontrol input/output berupa sensor,tombol start, tombol aktif dan Driver. 2. Sensor Proximity yang berfungsi sebagai pendeteksi adanya garis terang sebagai jalan yang akan dilalui. 3. Driver sebagai penggerak motor DC melalui output mikrokontroler 4. Keypad sebagai tombol penentuan posisi mula – mula dan posisi yang akan dituju.
3.2
Prinsip Kerja Rangkaian Sensor infra merah dan foto transistor hanya membaca garis hitam yang
menjadi jalur bagi robot dan beberapa sensor yang sama diletakkan melebar untuk mengetahui adanya simpangan, hal ini dilakukan agar pada saat program memerintahkan robot menikung pada tikungan ke-2 maka program akan mengabaikan tikungan pertama dengan cara mengabaikan sinyal sensor pertama yang terletak melebar tersebut. robot diperkenalkan posisinya dengan menekan keypad
sesuai
dengan
posisi
robot
yang
diletakkan,
mikrokontroler
mengelompokkan hasil pengenalan untuk tiap – tiap posisi sehingga saat penekanan tombol tujuan, robot akan berjalan ketempat yang sesuai. Ouput sensor telah diperkuat sehingga mampu menghidupkan LED sehingga output dari rangkaian sensor dapat langsung dihubungkan ke mikrokontroler. Mikrokontroler hanya mendengarkan perintah melalui keypad dan menyesuaikan dengan kemungkinan kondisi sensor yang terjadi di lapangan. Perputaran motor diatur oleh mikrokontroler dengan adanya kombinasi data yang diberikan dari sensor dan membandingkan data tersebut dengan
kondisi –
kondisi yang ada dalam program, jika data tersebut dikenal maka robot akan melakukannya sedangkan jika tidak sesuai dengan data yang ada, maka program akan terus menunggu input selanjutnya dan program akan terus melakukan looping sampai data dimasukkan lagi.
3.3
Perencanaan Alat 1.
Sensor proximity digunakan sebagai pembaca garis hitam yang menjadi jalur dan mengetahui simpangan.
2.
Konfigurasi
mikrokontroler
AT89S51
yang
berfungsi
sebagai
pengendali digital untuk mengatur pergerakan motor. 3.
Rangkaian Driver yang menjadi rangkaian pembalik polaritas motor dengan variasi sinyal digital dari mikrokontroler.
4.
Rangkaian papan tombol/keypad sebagai penentu posisi dan tujuanyang akan dituju oleh robot.
3.4
Perencanaan dan Pembuatan Mekanik
3.4.1 Rangka Utama Pada robot pencari tujuan ini menggunakan rangka yang dibuat dari aluminium dan sebagian terbentuk dari peletakan PCB rangkaiannya. Dimana krangka robot akan disesuaikan dengan arena yang akan dilalui. Dimensi perencanaan robot yang akan dibuat dapat dilihat pada gambar 3.2 dibawah ini:
Gambar 3.2 Dimensi perencanaan robot Sumber : perancangan
Dengan nenempatkan susunan PCB pada beberapa bidang sehingga dapat menciptakan bentuk robot dan dengan sedikit modifikasi mobil mainan akan membentuk Body yang merupakan bagian pembungkus robot. Tampak samping robot dapat dilihat pada gambar 3.3.
Gambar 3.3 Tampak samping robot Sumber : perancangan
Pada gambar diatas terlihat beberapa PCB rangkaian yang disusun bertingkat dan ada juga yang menghadap kedepan. Dengan penyusunan demikian akan membentuk Body robot dengan sendirinya.
3.4.2 Roda Utama Roda utama ini adalah penggerak utama robot untuk berjalan dan berbelok sehingga robot mampu melakukan tugasnya. Gambar sistem roda utama dapat dilihat pada gambar 3.3 berikut ini.
Gambar 3.4 Sistem roda utama robot Sumber : perancangan
Pada gambar diatas terlihat sistem roda utama dengan menggunakan dua buah motor yang menggerakkan masing – masing roda sehingga pada saat robot ingi berjalan lurus, robot akan menggerakkan kedua roda maju atau mundur secara serentak dengan arah yang sama. Sedangkan jika robot ingin berbelok, roda akan digerakkan dengan arah yang berlawanan sehingga terjadilah perputaran robot kekanan ataupun kekiri sesuai dengan perintah dari kontroler.
3.4.3 Roda Bebas Penggunaan roda bebas sebanyak satu buah dibagian depan robot berfungsi sebagai penyearah gerakan robot pada saat berbelok maupun memutar. Proses pembelokan roda ini terjadi pada saat robot berbelok sehingga roda akan mengayun dikarenakan adanya poros yang bebas bergerak dan letak roda yang sedikit condong dari poros tersebut. Gambar roda bebas diperlihatkan pada gambar 3.4 berikut.
Gambar 3.5 Roda bebas robot Sumber : perancangan
3.4.4
Gear Box Gear box merupakan kombinasi gear yang tersusun menjadi suatu
mekanisme yang mampu menambah maupun meredam perputaran motor. Akan tetapi jika menggunakan gear, motor akan berhenti dengan kebebasan yang lebih sedikit sehingga pada saat robot akan berhenti, terlihat robot berhenti berhenti dengan seketika. Gambar susunan Gear Box
dapat dilihat pada gambar 3.5
berikut ini.
Gambar 3.6 Gear Box robot Sumber : perancangan
3.5
Perancangan Perangkat Keras (Elektronik)
3.5.1 Rangkaian Sensor Proximity Sensor proximity adalah sensor untuk mendeteksi ada atau tidaknya suatu obyek. Bila obyek berada didepan sensor dan dapat terjangkau oleh sensor maka output rangkaian sensor akan berlogika “1” atau “high” yang berarti obyek “ada”.
Sebaliknya jika obyek berada pada posisi yang tidak terjangkau oleh sensor maka output rangkaian sensor akan bernilai “0” atau “low” yang berarti obyek “tidak ada”. Dalam dunia robotika, sensor proximity seringkali digunakan untuk mendeteksi ada atau tidaknya suatu garis pembimbing gerak robot atau yang lebih dikenal dengan istilah “line following” atau “line tracking”, juga biasa digunakan untuk mendeteksi adanya benda – benda penghalang seperti dinding atau bendabenda lainnya sehingga robot dapat menghindari tabrakan dengan benda-benda tersebut. Jenis sensor proximity meliputi limit switch (saklar mekanik), ultrasonic proximity, infrared proximity (infra merah), kamera dan lain sebagainya. Gambar 3.6 adalah lapangan serta posisi awal start robot pencari tujuan yang ditentuka.
Gambar 3.7 Posisi start awal robot Sumber : Perancangan
Salah satu kegunaan sensor proximity yang sering dijumpai dalam dunia robotika adalah sebagai sensor garis. Sensor ini dapat dibuat dari pasangan LED dan fototransistor seperti pada gambar 3.7. Bila cahaya LED memantul pada garis dan diterima oleh basis fototransistor maka phptotransistor menjadi saturasi (on) sehingga tegangan output (Vout) menjadi sama dengan VCE saturasi atau mendekati 0 volt. Sebaliknya jika tidak terdapat pantulan maka basis fototransistor
tidak mendapat arus bias sehingga fototransistor menjadi cut-off (C-E open), dengan demikian nilai Vout sama dengan VCC.
Gambar 3.8 Rangkaian sensor proximity sebagai sensor garis Sumber : Workshop KRI
KRCI 2007
Untuk dapat diinterfacekan ke mikrokontroler, tegangan output harus selalu berada pada level 0 atau VCC. Output rangkaian gambar 1 masih memiliki kemungkinan tidak pada kondisi ideal bila intensitas pantulan cahaya LED pada garis lemah, misalnya karena perubahan warna atau lintasan yang kotor. Untuk mengatasi hal tersebut ditambahkan rangkaian pembanding yang membandingkan output sensor dengan dengan suatu tegangan threshold yang dapat diatur dengan memutar trimmer potensio (10K). Rangkaian lengkapnya seperti pada gambar 3.8. LED pada output berguna sebagai indikator logika output sehingga kerja sensor mudah diamati.
Gambar 3.9 Sensor dengan rangkaian pembanding Sumber : Workshop KRI
KRCI 2007
Untuk lebih dari satu sensor dapat dibuat rangkaian yang identik sesuai kebutuhan. Satu buah LM339N berisi 4 pembanding yang dapat dipakai untuk 4 rangkaian sensor.
3.5.2 Mikrokontroler AT89S51 Sistem mikrokontroler AT89S51 merupakan piranti pengendali utama. Untuk
membuat
sistem
ini
bekerja
dibutuhkan
beberapa
komponen
tambahan.Gambar rangkaian sistem mikrokontroler ditunjukkan pada gambar 3.9.
Gambar 3.10 Konfigurasi dari MCU AT89S51 Sumber : Atmel Data Sheet,www.Atmel.Com
3.5.3 Rangkaian Osilator Kristal dengan frekuensi 12 MHz serta dua buah kapasistor 30 pf digunakan untuk menggerakkan osilator internal. Dipilihnya kristal 12MHz untuk mempermudah perhitungan dalam penentuan siklus intruksi mikrokontroler.Satu siklus intruksi AT89S51 adalah 12 dibagi frekuensi osilator,sehingga satu siklus mikrokontroler lamanya 1mikro secon.Pemilihan C1dan C2 sebesar 30 pF sesuai ketentuan data sheet AT89S51.
Gambar 3.11 Rangkaian Osilator Sumber : Atmel Data Sheet,www.Atmel.Com
3.5.4 Rangkaian Reset Mikrokontroler menggunakan rangkaian power on reset,yang mereset mikrokontroler secara otomatis setiap kali catu daya dijalankan .
Gambar 3.12 Rangkaian Reset Sumber : Atmel Data Sheet,www.Atmel.
Rangkaian power on reset tersusun dari sebuah kapasitor 10µF dan resistor 10k . Saat catu daya dinyalakan rangkaian reset akan menahan logika tinggi pada pin RST. Saat catu daya diaktifkan (Vcc), rangkaian reset akan menahan logika tinggi pin RST dengan jangka waktu yang ditentukan oleh lamanya pengisian muatan C, dengan nilai jangka waktunya dihasilkan persamaan dalam bentuk fungsi Laplace
Vo = Vi .e
−t
RC
di mana tegangan masukan Vi adalah tegangan Vcc yaitu 5 Volt,
dengan nilai Vo adalah tegangan logika tinggi minimal yang diizinkan oleh pin RST (ATMEL Data Sheet, 2003), di mana Vo = 0,7.Vcc = 0,7.5 = 3,5 Volt seperti persamaan (4) untuk perhitungan waktu tunda reset sebagai berikut: V0 = Vi .e −1 / RC
3,5 = 5.e −1 / RC 3,5 = e −1 / RC 5
0,7 = e −1 / RC ln e
−t
RC
= ln 0,7
Dengan mengacu pada persamaan diatas,maka dapat dihitung nilai R yang digunakan.Agar mempermudah perhitungan,maka dapat ditetapkan terlebih dahulu nilai C yaitu sebesar 10 µF dan nilai terbesar 2µs. Dengan demikian besarnya R adalah:
V0 = Vi. e −1 / RC 3,5 = 5.e e
−2 x10 −6 /
In ( e
−2 x10−6 /
R .10 x 10 − 6
−2 x10 −6 /
R .10 x 10 − 6
= 0,7
R .10 x10 − 6
) = In 0,7
2 x10 −6 = 0,357 R.10 x10 −6 0,357 R.3,57 x10 −6 = 2 x10 −6
2 x10 −6 3,5 x10 −6 0,357 R = 0,56
0,357 R =
R=
0,56 = 1,569Ω 0,357
Maka dari perhitungan diperoleh minimalnya adalah 1,569 perancangan digunakan nilai R sebesar 10k
,namun pada
untuk menjamin agar waktu tunda
pada rangkaian reset dapat benar - benarterpenuhi dan diharapkan lebih dari waktu total tunda reset minimal.Dengn demikian nilai R pada rangkaian reset ini diberikan nilai harus lebih dari 1,569
.Dari nilai R sebesar 10k
tersebut maka
dapat dihitung waktu tunda resetnya ,yaitu sebesar: t = 0,357 R.C = 0,35710 KΩ.10πF
= 0,357 = 3570πs
3.5.5 Rangkaian Papan Tombol (Keypad) Papan tombol atau keypad digunakan untuk memasukkan nilai set poin yang diinginkan. Papan tombol ini dibuat seperti saklar biasa yang hanya mengkondisikan nilai suatu pin pada port, papan tombol ini sama halnya dengan sebuah saklar pada mikrokontroler. Jika tombol ditekan maka pada pin tersebut
akan berlogika 0 dan jika tidak ditekan akan berlogika 1. Rangkaian tombol dapat dilihat pada gambar 3.12.
Gambar 3.13 Rangkaian push button sebagai keypad Sumber : Workshop Mikrokontroler Keluarga MCS-51
3.5.6 Rangkaian Driver Motor DC Keluaran dari mikrokontroler belum mampu mengeluarkan daya Yang cukup untuk menggerakkan relay 6 volt dengan arus coil 200 mA untuk itu diperlukan suatu rangkaian driver. Driver adalah suatu rangkaian yang berfungsi sebagai penguat sinyal dengan komponen utama adalah transistor sebagai penguat arus. Driver disini digunakan untuk menguatkan keluaran keadaan logika aktif rendah dari mikrokontroler sedangkan beban dari driver adalah relay 9 volt. Untuk itu terlebih dahulu harus mengetahui besar tegangan dan arus yang mengalir pada relay. Untuk menetukan nilai dari RB, transistor dikondisikan pada keadaan saturasi. Dengan VBE = 0,7 volt, maka IB yang diperlukan agar transistor dalam keadaan saturasi sesuai dengan persamaan 9.
Gambar 3.14 Rangkaian Driver Aktif Rendah Sumber : Perancangan
Untuk menghidupkan dan mematikan serta membalik polaritas motor, transisitor harus bekerja pada daerah Cut Off dan daerah jenuh (saturasi). Pada daerah Cut Off transistor berfungsi sebagai saklar terbuka dan pada daerah jenuh transistor berfungsi sebagai saklar tertutup.dalam hal ini transistor yang digunakan dalam rangkaian driver ini dipilih transistor BD140 karena untuk mengaktifkan driver digunakan logika 0 dari mikrokontroler.
3.6 Perancangan Perangkat Lunak Perangkat lunak yang dibuat harus dapat mengintegrasikan seluruh peralatan pendukung yang digunakan dalam perancangan robot pencari tujuan yang ditentukan. Mikrokontroler juga harus mampu mengolah data – data masukan maupun data – data keluaran dari peralatan yang dikontrol.
3.6.1 Perancangan Alamat Memori Program Mikrokontroler AT89S51 mempunyai alamat memori yang terpisah – pisah menjadi dua bagian, yaitu memori program dan memori data. Memori data internal sebesar 128 byte dapat digunakan untuk menempatikan alamat stack pointer (SP), alamat SFRs yang hendak digunakan, Karena dalam program ini tidak dibutuhkan penyimpanan data dalam jumlah yang besar, maka internal RAM tersebut telah mencukupi untuk aplikasi ini.
3.6.2 Perancangan Input / Output ( I/O ) Untuk perencanaan port serta fungsi port pada mikrokontroler dapat dilihat pada table 3.1 berikut ini : Tabel 3.1 Tabel perencanaan port pada mikrokontroller Port Port 0
Port 1
Port 2 Port 3
Bit 0 1 2
Alamat 080H 081H 082H
3
083H
0 1 2 3 4 5 6
090H 091H 092H 093H 094H 095H 096H
7
097H
0 3 1 2
0A0H 0A3H 0B1H 0B2H
Fungsi
Keterangan
Output
Driver Motor DC
Input
Keypad
Input
Sensor Sayap
Input
Sensor Depan
3.6.3 Perancangan Algoritma Algoritma dari program pada sistem robot pencari tujuan yang ditentukan adalah sebagai berikut : 1.
Proses Inisialisasi. Dalam tahap ini adalah proses inisialisasi alamat awal untuk pemograman.
2.
Cek tombol ON Bila ada penekakan maka sensor depan akan aktif.
3.
Cek kondisi sensor dan perbandingan tiap kemungkinan. Bila menemukan simpangan, maka robot akan berbelok ke kanan da akan menghitung banyaknya belokan yang telah dilalui sampai ke tujuan.
4.
Pengecekan tombol Bila ada penekanan tombol, maka perintah yang ada dalam kondisi tombol tersebut yang akan dikerjakan, kemudian data tombol disimpan sebagai posisi berikutnya dan akan menunggu penekanan tombol berikutnya.
5.
Proses eksekusi Setelah semua proses input dimasukkan , maka selanjutnya melakukan test pada tiap – tiap masukan dan keluaraanya.
3.6.4 Perencanaan Flowchart Sebelum memulai membuat program, maka
terlebih dulu
penulis
merencanakan Flowchart sistem untuk memudahkan dalam perencanaan program yang akan dibuat. Flowchart yang akan dibuat dapat dilihat pada Lampiran 1. Flowchart tersebut menjelaskan sistem kerja robot yang memilih suatu kondisi posisi dan kemungkinan – kemungkinan yang terjadi. Pada saat robot berada pada suatu garis, maka dia akan mengenal garis itu dengan sebuah bilangan terprogram dan menunggu penekanan tombol alamat lain sebagai tujuannya.
3.6.5 Perencanaan Program Program utama merupakan suatu sistem yang akan dieksekusi setelah peralatan diaktifkan dan program yang memegang seluruh subrutin – subrutin program. Program yang dipakai dalam penyelesaian tugas akhir ini mengunakan bahasa assembly intel MCS–51. Proses pembuatan program harus direncanakan selektif dan seefektif mungkin dengan memperhatikan karakteristik dari peralatan pendukungnya. Program dimulai dengan inisialisasi alamat dan variable sehingga dapat mempermudah pembuatan program dengan behasa dan kata – kata yang telah kita perkenalkan terlebih dahulu. Berikutnya program akan mengenal posisi mula – mula dan menunggu penekanan tombol tujuan berikutnya. Setelah robot berjalan menuju tujuan yang kita tentukan, maka robot akan mengingat posisi tujuan tersebut dan akan menunggu penekanan tombol tujuan berikutnya. Main Program
yang berupa pemilihan keputusan untuk tiap garis dan kemungkinan untuk tiap tujuan. Inti program ini adalah pemilihan keputusan yang terus melakukan Looping untuk mendeteksi kondisi berikutnya. Program keseluruhan dapat dilihat pada Lampiran 2.
BAB IV PENGUJIAN DAN ANALISIS SISTEM
Robot Pencari Tujuan yang Ditentukan ç=================================è
BAB IV PENGUJIAN DAN ANALISIS SISTEM
4.1
Tujuan Pengujian Pengujian perangkat lunak ini bertujuan untuk mendapatkan data - data yang
berkaitan dengan pengendali sistem robot. Sehingga dapat diketahui karakteristik kehandalan dan ketepatan eksekusi dari program yang telah dibuat serta untuk mengetahui kelemahannya. Sehingga dapat disimpulkan apakah perangkat lunak yang telah dibuat dapat menjalankan sistem secara benar dan sesuai dengan kriteria yang diharapkan.
4.2
Prosedur Pengujian Pengujian perangkat lunak dapat dilakukan dengan beberapa diantaranya
melalui software UMPS demo. Melalui eksekusi software ini dapat diketahuui kodisi register-register yang terlibat di dalam pemrograman. Selain itu pengujian dapat dilakukan secara langsung pada perangkat keras sistem dengan menggunakan mode download pada Atmel 89 Series programmer. Pengujian sistem dapat dilakukan dengan dua metode pembagian yaitu : 1.
Metode tak terintegrasi
2.
Metode terintegrasi
Metode tak terintegrasi dilakukan dengan pengujian masing-masing modul yang dapat mempengaruhi sistem, diantaranya: modul mikrokontroler AT89S51, modul sensor proximity dan modul relay yang semua modul tersebut dapat dirangkai menjadi sebuah sistem guna untuk mengetahui kemampuan kerja sistem
4.2.1 Pengujian Metode Tak Terintegrasi Langkah – langkah pengujian yang dilakukan adalah seperti langkah berikut: 1. Rancang rangkaian yang diperlukan, bangun hingga jadi, baik menggunakan PCB atau breadboard, kemudian periksa apakah ada kesalahan atau tidak pada pembuatan layoutnya 2. Tulis program untuk alat yang bersangkutan menggunakan editor teks yang tersedia (DOS Edit, Windows Notepad, ConText, RIDE, UltraEdit dll). Program bisa menggunakan Bahasa Assembly, Bahasa C, Basic atau Pascal. Untuk manual ini akan digunakan Bahasa assembly, dan editor menggunakan Notepad. 3. Kompilasi program yang telah dibuat dengan compiler dari program yang bersangkutan. Contoh-contoh compiler dapat dilihat dalam tabel 4.1 Tabel 4.1 Contoh
contoh compiler pemograman
No
Bahasa
Compiler yang bisa digunakan
1
Assembly
PGM89XP.BAT (freeware) Intel XASM (freeware)
2
C
SDCC (freeware) Raisonance IDE – RIDE (demo max 4KB) Reads51 (demo max 4KB)
3
Basic
BasCOM51 (shareware)
4
Pascal
Embedded Pascal (commercial, US$100)
Selain Bahasa dan compiler diatas masih terdapat beberapa Bahasa lain, tapi sulit diperoleh baik program maupun bukunya. Untuk Tugas Akhir ini akan digunakan Bahasa Assembly dengan compiler Pgm89xp.bat. Prosedur kompilasi dapat di lihat pada bagian setelah ini. 4. Download program yang sudah dikompilasi. Bentuk yang di-download ke IC dalam bentuk file hex atau bin, tergantung pada downloader-nya. Untuk Tugas akhir ini yang di-download adalah file dengan ekstensi hex ; 5. Menjalankan alat, bila terjadi kesalahan atau alat tidak berjalan sebagaimana mestinya, tulis kembali programnya, perbaiki kesalahannya, dan ulangi langkah-langkah diatas. Karena prosses kompilasi pada pembuatan Tugas Akhir ini mengunakan software Pgm89xp.bat maka berikut prosedur komplikasi mengunakan software Pgm89xp.bat
4.2.2 Prosedur Kompilasi Menggunakan Pgm89xp.bat Pgm89xp.bat adalah sebuah program yang dibuat pada pertengahan tahun 1980-an, dan pada awalnya dikembangkan untuk mikrokontroler AT8051. Seiring dengan semakin banyaknya jenis dari 8051, maka compiler ini juga mendukung jenis-jenisnya. Untuk memulai sebaiknya dibuat sebuah folder yang akan menampung filefile assembly hasil penulisan program. Sebagai misal g:\mcs51\projek\. Semua file program disimpan pada folder ini dengan ekstensi asm. Sebagai misal program1.asm. Selanjutnya akan dikompilasi menggunakan Pgm89xp.bat. Apabila menggunakan Windows 98/Me masuklah ke command prompt dengan meng-klik icon DOS prompt pada Accessories. Pada Windows 2000/XP klik start -> run kemudian pada box ketikkan command, anda akan masuk DOS box. Kemudian masuklah ke folder yang telah dibuat. Misalnya g:\cd mcs51\cd projek\ Pilih nama file yang akan dikompilasi, misalnya Program1.asm lakukan langkah seperti pada BAB II. Setelah selesai
kembali ke command prompt. File hasil dari proses ini
adalah file hex dan bin. Dengan demikian file hasilnya adalah program1.hex seperti yang telah dijelaskan pada BAB II Tugas Akhir ini, lakukan pengecekan kesalahan. Setelah selesai kembalilah ke Windows dan panggil program Atmel 89 Series Flash Programmer version 3.1. akan muncul tampilan sebagai berikut:
Gambar 4.1. Atmel 89 Series Flash Programmer Sumber : Pengembangan aplikasi dengan Mikrokontroler Atmel AT89S51
Seperti yang telah dijelaskan sebelimnya, File yang telah dikompilasi dimuat dalam program dengan mengklik tombol Open File. Apabila file telah dimuat, kemudian diubah, dikompilasi lagi, tanpa mengubah nama file, maka gunakan tombol Reload File. Pilihlah jenis IC yang akan diprogram dari daftar, dalam hal ini pilihlah AT89S51. Apabila terjadi error dalam program, cukup tutup program Atmel 89 Series Flash Programmer ini, kemudian panggil lagi, dan mulai lagi seperti biasa. Atau bisa juga setiap selesai mengisikan satu program, langsung tutup Atmel 89 Series Flash Programmer untuk nanti dipanggil lagi jika diperlukan.
4.2.3 Pengujian dan Analisa Program a. sensor proximity mulai: mov a,p2 cjne a,#01111111b,cek mov p3,#01011111b ljmp mulai
; motor putar kanan
cek: cjne a,#10111111b,start mov p3,#01011111b ljmp mulai
; motor off
end
Program diatas adalah program untuk menguji sensor proximity. Program sensor proximity diatas akan menditeksi adanya benda atau objek yang berwarna hitam atau gelap, sensor proximity yang diuji dihubungkan dengan port2, kemudian data yang diterima akan dibandingkan dengan data yang diinginkan, jika data sesuai maka akan melompat ke-sub program lainnya untuk mengerjakan program yang dituju tersebut seperti menggerakkan motor, mematikan motor, dan menghentikan kegiatan lain dari robot.
b. Penekanan kondisi keypad mulai: mov a,p1 jb p1.0,cek1 mov p3,#11111110b ljmp mulai cek1: jb p1.1,cek2 mov p3,#11111101b ljmp mulai cek2: jb mov
p1.2,cek3 p3,#11111011b
ljmp mulai cek3: jb p1.3,cek4 mov p3,#11110111b ljmp mulai cek4: jb p1.4,cek5 mov p3,#1110111b ljmp mulai cek5: jb p1.5,cek6 mov p3,#11011111b ljmp mulai cek6: jb p1.6,cek7 mov p3,#10111111b ljmp mulai cek7: jb p1.7,mulai mov p3,#01111111b ljmp mulai end Program penekanan keypad ini dibuat untuk menguji keypad secara sederhana sehingga mudah diketahui input dan outputnya. Data penekanan keypad untuk program diatas ditunjukkan pada table berikut ini: Table 4.2 Data penekanan keypad input keypad 1 2 3 4 5 6 7 8
output port p1.0 p1.1 p1.2 p1.3 p1.4 p1.5 p1.6 p1.7
data 1111 1110 1111 1101 1111 1011 1111 0111 1110 1111 1101 1111 1011 1111 0111 1111
port p3.0 p3.1 p3.2 p3.3 p3.4 p3.5 p3.6 p3.7
Pada saat tombol 1 yang berada di port 1.0, maka pada port 3 di bit 0 akan menjadi 0. Pada saat pengujian penulis meletakkan indikator LED. Untuk penekanan tombol 2 juga demikian yaitu mengihupkan lampu yang berada pada bit 1 port 3, dan untuk penekanan tombol selanjutnya juga demikian. Hal ini dilakukan untuk menguji tombol beserta output yang telah ditetapkan pada kondisi tombol yang ditekan nantinya.
4.2.4 Pengujian dengan Metode Terintegrasi Metode terintegrasi yaitu program keseluruhan yang dipasang bersama hardware. Program keseluruhan dapat dilihat pada lampiran, proses dari program keseluruhan yaitu menginisialisasi motor mati jika tidak ada garis hitam yang dianggap jalur. Proses selanjutnya adalah membaca data, jika data sesuai maka motor bergerak dan sensor terus melihat adanya garis sampai ditemukan simpangan – simpangan yang dilihat oleh sensor proximity lainnya untuk diproses dan dibandingkan lagi sampai robot mencapai tujuan yang ditentukan.
4.3
Tujuan Pengukuran Untuk mengetahui tegangan kerja dari suatu rangkaian dalam keadaan
bekerja normal, apabila terjadi kesalahan - kesalahan yang sangat mempengaruhi pengoperasian rangkaian dapat dilakukan pemeriksan ulang terhadap tegangan kerja, menurut test point (TP) yang ditentukan seperti yang terdapat dalam gambar rangkaian, di bawah ini.
Gambar 4.2 Titik Pengukuran keseluruhan Sumber : perancangan
4.4
Alat yang Diperlukan Sebelum melakukan pengukuran terhadap rangkaian, sebaiknya terlebih
dahulu menyediakan peralatan yang dibutuhkan untuk digunakan seperti : 1.
Multimeter
2.
Kabel penghubung
3.
Modul rangkaian yang siap diukur
4.
Jalur robot yang akan digunakan
4.5
Langkah – langkah Pengukuran 1.
Rangkaian dioperasikan dengan tegangan 9 Volt dari baterai.
2.
Mengukur tengangan pada rangkaian sesuai dengan test point (TP) yang telah ditentukan.
3.
Mencatat hasil pegukuran pada tabel pengukuran untuk tiap kemungkinan yang terjadi.
4.6
Hasil Pengukuran Setelah mengetahui prinsip kerja dari rangkaian robot pencari tujuan yang
ditentukan, maka dapat diketahui titik pengukuran yang akan dilakukan pada rangkaian tersebut. Disini pengukuran hanya dilakukan pada rangkaian sensor infra merah, untuk mengetahui tegangan kerja dari sistem tersebut. Data yang diperoleh dari hasil pengukuran yang dilakukan adalah seperti pada tabel 4.2. pengukuran sensor proximity menggunakan infra merah dan foto transistor. Tengangan yang keluar dari sensor jika dalam kondisi aktif yaitu 0,2 volt (logika 0), sehinga output mikrokontroler akan mengaktifkan motor dengan logika 0 juga dikarenakan driver yang digunakan aktif rendah. Pada saat tegangan yang dikeluarkan mendekati logika 1 (3,5 volt atau lebih), motor tidak bergerak sampai kondisi lain memerintahkan mikrokontroler untuk menggerakkan motor pada saat robot telah kehilangan jalurnya (garis hitam).
Tabel 4.3 Hasil Pengukuran Tegangan Input On (0 - 0,2V) Off (3,5 - 5V)
Tegangan output 0,23 V 4,34 V
Dari hasil pengukuran yang telah dilakukan didapat hasil dari setiap tengangan kerja yang terdapat pada sensor proximity mengunakan inframerah dan foto dioda, dengan keluaran outputnya adalah 0,23 Volt untuk dapat memicu rangkaian yang ada pada mikrokontroler dan rangkaian driver.
BAB V PENUTUP
Robot Pencari Tujuan yang Ditentukan ç=================================è
BAB V PENUTUP
5.1
Simpulan Berdasarkan hasil pengujian dan analisis pada pembuatan Robot Pencari
Objek Yang Ditentukan ini, maka dapat diambil beberapa kesimpulan sebagai berikut : 1. Rangkaian sensor pengikut garis akan menghasilkan logika 0 jika pancaran cahaya infra merah diterima oleh foto transistor. 2. Robot ini berjalan mengikuti garis hitam dan berjalan di area yang telah diperkenalkan dalam program.
5.2
Saran Dalam perencanaan dan pembuatan robot ini terdapat beberapa hal yang
bisa dikembangkan untuk kesempurnaan robot pencari tujuan yang ditentukan. Hal-hal tersebut adalah : 1. Robot berjalan pada garis yang berbentuk persegi, akan terlihat lebih cerdas jika berjalan pada garis yang memiliki banyak tikungan. 2. Tegangan baterai pada robot ini akan menurun jika sebuah baterai digunakan untuk keseluruhan rangkain, akan lebih baik jika digunakan baterai terpisah (baterai lainnya) khusus untuk driver motor.
DAFTAR PUSTAKA
Robot Pencari Tujuan yang Ditentukan ç=================================è
DAFTAR PUSTAKA
Http://alds.stts.edu Malvino, Albert Paul. 1992. Prinsip-prinsip Elektronika. Alih bahasa : M. Barmawi, Jakarta: Erlangga Moh, Ibnu Malik dan Anistardi. 1997. Bereksperimen dengan Mikrokontroler 8031, Jakarta : PT. Elex Media Komputindo Wasito. 1995. Vademekum Elektronika. Jakarta : PT Gramedia Www.atmel.com
LAMPIRAN
Robot Pencari Tujuan yang Ditentukan ç=================================è
LIat DI FolD3r LamPiRAn Ja eh
..!!!!?????
BIODATA
Robot Pencari Tujuan yang Ditentukan ç=================================è
BIODATA Nama
: Inzar Salfikar
Tempat/Tanggal Lahir
: Lhokseumawe / 10 September 1986
Pendidikan
Program study
: Teknik Elektronika
Jurusan
: Teknik Elektro
Agama
: Islam
:
Ø SD N No.4, Sabang (1992-1998) Ø SLTP N 1, Sabang (1998-2001) Ø SMU N 1, Sabang (2001-2004) Ø Politeknik Negeri Lhokseumawe (2004-2007)
Nama Orang Tua
:
a.Ayah
: Desmon Fajar
b.Ibu
: Salma
Perkerjaan
: Pegawai Negeri
Alamat
: Jln.Kelapa Nias No.22 Perumnas By Pass Cot Ba U Sabang
Judul Tugas Ahir
: Perancangan
dan
Pembuatan
Robot
Pencari Tujuan yang Ditentukan Berbasis Mikrokontroler AT89S51.