TA INZ 2007
Transcript of TA INZ 2007
TUGAS AKHIR
PERANCANGAN DAN PEMBUATANROBOT PENCARI TUJUAN YANG DITENTUKAN
BERBASIS MIKROKONTROLER AT89S51
Diajukan Sebagai Salah Satu Syarat Untuk MenyelesaikanPendidikan Program Diploma-IIIPoliteknik Negeri Lhokseumawe
Oleh
INZAR SALFIKAR
Nim : 04016305Program Studi : Teknik ElektronikaJurusan : Teknik Elektro
DEPARTEMEN PENDIDIKAN NASIONALPOLITEKNIK NEGERI LHOKSEUMAWE
2007
LEMBARAN PENGESAHAN
Robot Pencari Tujuan yang Ditentukanç=================================è
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 SalfikarNim. 04016305
Disetujui:
Pembimbing I Pembimbing II
Zulfikar, ST. MT Akmalul Fata, SSTNip. 132 239 663 Nip. 132 304 656
Disahkan:
Ketua Jurusan Ketua Program Studi
Teknik Elektro Teknik Elektronika
Drs. Zulkarnain, MT Zulfikar, ST. MTNip. 131 470 756 Nip. 132 239 663
,
,
POLIT
EKNIK NEGERI
D E P A R T E M E N P E N D I D I K A N N A S I O N A LPOLITEKNIK NEGERI LHOKSEUMAWEJalan Banda Aceh – Medan Km 280.3 Buketrata, Lhokseumawe, 24301 P.O BOX 90 Tekepon (0645) 42670 Fax : 42785
LEMBARAN TUGAS AKHIR
Robot Pencari Tujuan yang Ditentukanç=================================è
LEMBARAN TUGAS AKHIR
NAMA MAHASISWA : INZAR SALFIKARNOMOR INDUK MAHASISWA : 04016305SEMESTER : VIJURUSAN : TEKNIK ELEKTROPROGRAM STUDI : TEKNIK ELEKTRONIKA
Uraian Tugas Akhir :
JUDUL : PERANCANGAN DAN PEMBUATAN ROBOTPENCARI TUJUAN YANG DITENTUKANBERBASIS MIKROKONTROLER AT89S51
BAB I : PENDAHULUANBAB II : TINJAUAN PUSTAKABAB III : PERANCANGAN DAN PEMBUATAN ROBOT
PENCARI TUJUAN YANG DITENTUKANBAB IV : PENGUJIAN DAN ANALISIS SISTEMBAB V : PENUTUP
Diberikan Tanggal : 01 April 2007Diselesaikan Tanggal : 03 Agustus 2007
Lhokseumawe, 22 Agustus 2007Mengetahui :
,
,
POLIT
EKNIK NEGERI
D E P A R T E M E N P E N D I D I K A N N A S I O N A LPOLITEKNIK NEGERI LHOKSEUMAWEJalan Banda Aceh – Medan Km 280.3 Buketrata, Lhokseumawe, 24301 P.O BOX 90 Tekepon (0645) 42670 Fax : 42785
Ketua Jurusan Teknik Elektro
Drs. Zulkarnain, MTNip. 131 470 756
Pembimbing I
Zulfikar, ST. MTNip. 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 teknologirobotika telah memasuki berbagai segi kehidupan manusia yang dalamaplikasinya mulai dari bidang otomatisasi industri, militer, intertaintmen maupundalam bidang medis. Pada prinsipnya tujuan penciptaan robot pencari tujuan iniadalah untuk menumbuh kembangkan kekreativitasan di Negara Indonesia.Dengan kecerdasan suatu sistem, maka diciptakanlah robot pencari tujuan yangditentukan. Robot ini akan berjalan mengikuti garis berwarna terang (putih), danakan berjalan sesuai dengan tujuan yang kita tentukan melalui keypad. Padakeypad berupa tujuan yang berupa garis dengan nomor sebagai alamatnya.Robot akan berjalan menuju garis yang kita tentukan. Seluruh proses pengenalandan 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 SalfikarNim. 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.1 Perancangan Alamat Memori Program ....................... 50
3.6.2 Perancangan 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.2 Prosedur 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 IPENDAHULUAN
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 IITINJAUAN 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 me-
reset 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 FlashROM(KB)
InternalRAM(bytes)
EEPROM(KB)
16-bitTimer /Counter
SumberInterupsi
Lain-lain
89S51 4 128 - 2 6 Serial port, dualDPTR, watchdog
89S52 8 256 - 3 9 Serial port, dualDPTR, watchdog
89S53 12 256 - 3 9 Serial port, dualDPTR, watchdog
89S55 20 256 - 3 9 Serial port, dualDPTR, watchdog
89S8252 8 256 2 3 9 Serial port, dualDPTR, 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 AT89S51Sumber : Atmel Data Sheet, WWW.Atmel.CO
2.1.2 Konfigurasi Pin AT89S51
Gambar 2.2 Konfigurasi pin-pin Mikrokontroler AT89S51Sumber: 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
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
4. 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.
External
FFFFH
0FFFH
0000
External Internal
PSEN
Memori Program(Read Only)
00
FFFFH
External
Internal
FFH
RD WR
Memori Data(Read /Write)
0000
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.
Gambar 2.3 Struktur memori mikrokontroler AT89S51Sumber: 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.
UPPER 128
FFH
00
7FH80H
LOWER 128
FFH
80H
SFR
0000H
0003H
000BH
0013H
001BH
0023H
Interruptlocations
Reset
8 Bytes
Gambar 2.4 Memori ProgramSumber: 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).
Gambar 2.5 Memori data InternalSumber: Bereksperimen dengan Mikrokontroler 8031, 1997
7FH
1FH 18H
2FH
20H
17H 10H
0FH 08H
07H 00
4 Bank8 Register(R0 - R7)
Ruang pengalamatan bit
Nilai StackSaat Reset
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.
Gambar 2.6 Lokasi 128 byte memori data internalSumber: 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.
-
-
ES
ET 1
EX 1
ET 0
EX 0
IE6
IE 5
IE 4
IE 3
IE 2
IE 1
IE 0
Kosong
Kosong
Bit pembuat enable port serial
Bit pembuat enable timer
Bit pembuat enable INT 1
Bit pembuat enable timer 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, memori-
data 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 TMODSumber : 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 TCONSumber : 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 di-
nol-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
1
2
3
4
5
6
7
0000
0001
0010
0011
0100
0101
0110
0111
8
9
10
11
12
13
14
15
1000
1001
1010
1011
1100
1101
1110
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 :
1. Instruksi aritmatika
2. Instruksi logika
3. Instruksi transfer data
4. Instruksi operasi Boolean
5. Instruksi percabangan
A. 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 programmerSumber : 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 notepadSumber : 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 assemblySumber : 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 kesalahanSumber : 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 programSumber : 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 PhototransistorSumber : 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 LM339Sumber : 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 RelaySumber : 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 IIIPERANCANGAN DAN
PEMBUATAN ROBOT PENCARITUJUAN YANG DITENTUKAN
Robot Pencari Tujuan yang Ditentukanç=================================è
SensorProximity
MIKROKONTROLLERAT89S51
Driver
Motor DCKeypad
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
Gambar 3.1 Blok Diagram RangkaianSumber : 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 robotSumber : 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 robotSumber : 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 robotSumber : 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 robotSumber : 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 robotSumber : 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 benda-
benda 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 robotSumber : 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 garisSumber : 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 pembandingSumber : 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 AT89S51Sumber : 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 OsilatorSumber : 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 ResetSumber : Atmel Data Sheet,www.Atmel.
RCe /1.55,3 −=
RCe /1
55,3 −=
RCe /17,0 −=
RCeVV i/1
.0−=
61010.6 /102.55,3 −
−−= xR
xe
RCeVV i/1
.0−=
7,061010.6 /102
=−−−
xRxe
( ) 7,061010.6 /102 IneIn xR
x=−
−−
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
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:
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:
RCt
io eVV−
= .
7,0lnln =
−
RCt
e
357,01010.
1026
6
=−
−
xRx
66 1021057,3.357,0 −− = xxR
6
6
105,3102357,0 −
−
=x
xR
56,0357,0 =R
Ω== 569,1357,056,0R
CRt .357,0=
FK π10.10357,0 Ω=
sπ3570357,0 ==
Maka dari perhitungan diperoleh minimalnya adalah 1,569 ,namun pada
perancangan digunakan nilai R sebesar 10k 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:
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 keypadSumber : 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 RendahSumber : 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 Bit Alamat Fungsi Keterangan
Port 0
0 080H
Output1 081H Driver
2 082H Motor DC
3 083H
Port 1
0 090H
Input Keypad
1 091H
2 092H
3 093H
4 094H
5 095H
6 096H
7 097H
Port 20 0A0H
Input Sensor Sayap3 0A3H
Port 31 0B1H
Input Sensor Depan2 0B2H
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 IVPENGUJIAN 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 file-
file 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 ProgrammerSumber : 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 ; motor putar kanan ljmp mulai
cek: cjne a,#10111111b,start
mov p3,#01011111b ; motor off ljmp mulai
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 p1.2,cek3 mov 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 output
keypad port data port
1 p1.0 1111 1110 p3.0
2 p1.1 1111 1101 p3.13 p1.2 1111 1011 p3.24 p1.3 1111 0111 p3.35 p1.4 1110 1111 p3.46 p1.5 1101 1111 p3.57 p1.6 1011 1111 p3.6
8 p1.7 0111 1111 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 keseluruhanSumber : 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 PengukuranTegangan Input Tegangan outputOn (0 - 0,2V) 0,23 VOff (3,5 - 5V) 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 VPENUTUP
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 Mikrokontroler8031, 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ç=================================è
BIODATANama : Inzar Salfikar
Tempat/Tanggal Lahir : Lhokseumawe / 10
September 1986
Program study : Teknik Elektronika
Jurusan : Teknik Elektro
Agama : Islam
Pendidikan :
Ø 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.