TA INZ 2007

99
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 : 04016305 Program Studi : Teknik Elektronika Jurusan : Teknik Elektro DEPARTEMEN PENDIDIKAN NASIONAL POLITEKNIK NEGERI LHOKSEUMAWE 2007

Transcript of TA INZ 2007

Page 1: 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

Page 2: TA INZ 2007

LEMBARAN PENGESAHAN

Robot Pencari Tujuan yang Ditentukanç=================================è

Page 3: TA INZ 2007

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

Page 4: TA INZ 2007

LEMBARAN TUGAS AKHIR

Robot Pencari Tujuan yang Ditentukanç=================================è

Page 5: TA INZ 2007

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

Page 6: TA INZ 2007

PERSEMBAHAN

Robot Pencari Tujuan yang Ditentukanç=================================è

Page 7: TA INZ 2007

!@#$%$%^&&**()_+@%#()%*$*He x3….!!!!

Page 8: TA INZ 2007

ABSTRAK

Robot Pencari Tujuan yang Ditentukanç=================================è

Page 9: TA INZ 2007

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.

Page 10: TA INZ 2007

KATA PENGANTAR

Robot Pencari Tujuan yang Ditentukanç=================================è

Page 11: TA INZ 2007

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

Page 12: TA INZ 2007

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

Page 13: TA INZ 2007

DAFTAR ISI

Robot Pencari Tujuan yang Ditentukanç=================================è

Page 14: TA INZ 2007

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

Page 15: TA INZ 2007

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

Page 16: TA INZ 2007

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

Page 17: TA INZ 2007

DAFTAR GAMBAR

Robot Pencari Tujuan yang Ditentukanç=================================è

Page 18: TA INZ 2007

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

Page 19: TA INZ 2007

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

Page 20: TA INZ 2007

DAFTAR TABEL

Robot Pencari Tujuan yang Ditentukanç=================================è

Page 21: TA INZ 2007

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

Page 22: TA INZ 2007

DAFTAR LAMPIRAN

Robot Pencari Tujuan yang Ditentukanç=================================è

Page 23: TA INZ 2007

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

Page 24: TA INZ 2007

BAB IPENDAHULUAN

Robot Pencari Tujuan yang Ditentukanç=================================è

Page 25: TA INZ 2007

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

Page 26: TA INZ 2007

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

Page 27: TA INZ 2007

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.

Page 28: TA INZ 2007

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.

Page 29: TA INZ 2007

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.

Page 30: TA INZ 2007

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.

Page 31: TA INZ 2007

BAB IITINJAUAN PUSTAKA

Robot Pencari Tujuan yang Ditentukanç=================================è

Page 32: TA INZ 2007

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.

Page 33: TA INZ 2007

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,

Page 34: TA INZ 2007

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

Page 35: TA INZ 2007

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

Page 36: TA INZ 2007

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.

Page 37: TA INZ 2007

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.

Page 38: TA INZ 2007

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

Page 39: TA INZ 2007

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.

Page 40: TA INZ 2007

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.

Page 41: TA INZ 2007

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

Page 42: TA INZ 2007

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

Page 43: TA INZ 2007

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

Page 44: TA INZ 2007

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:

Page 45: TA INZ 2007

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.

Page 46: TA INZ 2007

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.

Page 47: TA INZ 2007

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

Page 48: TA INZ 2007

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

Page 49: TA INZ 2007

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.

Page 50: TA INZ 2007

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

Page 51: TA INZ 2007

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.

Page 52: TA INZ 2007

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

Page 53: TA INZ 2007

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

Page 54: TA INZ 2007

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

Page 55: TA INZ 2007

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

Page 56: TA INZ 2007

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.

Page 57: TA INZ 2007

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.

Page 58: TA INZ 2007

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

Page 59: TA INZ 2007

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

Page 60: TA INZ 2007

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.

Page 61: TA INZ 2007

BAB IIIPERANCANGAN DAN

PEMBUATAN ROBOT PENCARITUJUAN YANG DITENTUKAN

Robot Pencari Tujuan yang Ditentukanç=================================è

Page 62: TA INZ 2007

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.

Page 63: TA INZ 2007

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.

Page 64: TA INZ 2007

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

Page 65: TA INZ 2007

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

Page 66: TA INZ 2007

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

Page 67: TA INZ 2007

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

Page 68: TA INZ 2007

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

Page 69: TA INZ 2007

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

Page 70: TA INZ 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

Page 71: TA INZ 2007

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.

Page 72: TA INZ 2007

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

Page 73: TA INZ 2007

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

Page 74: TA INZ 2007

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.

Page 75: TA INZ 2007

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.

Page 76: TA INZ 2007

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

Page 77: TA INZ 2007

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.

Page 78: TA INZ 2007

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

Page 79: TA INZ 2007

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.

Page 80: TA INZ 2007

BAB IVPENGUJIAN DAN ANALISIS

SISTEM

Robot Pencari Tujuan yang Ditentukanç=================================è

Page 81: TA INZ 2007

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

Page 82: TA INZ 2007

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)

Page 83: TA INZ 2007

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

Page 84: TA INZ 2007

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:

Page 85: TA INZ 2007

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.

Page 86: TA INZ 2007

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

Page 87: TA INZ 2007

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

Page 88: TA INZ 2007

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.

Page 89: TA INZ 2007

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

Page 90: TA INZ 2007

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

Page 91: TA INZ 2007

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.

Page 92: TA INZ 2007

BAB VPENUTUP

Robot Pencari Tujuan yang Ditentukanç=================================è

Page 93: TA INZ 2007

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.

Page 94: TA INZ 2007

DAFTAR PUSTAKA

Robot Pencari Tujuan yang Ditentukanç=================================è

Page 95: TA INZ 2007

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

Page 96: TA INZ 2007

LAMPIRAN

Robot Pencari Tujuan yang Ditentukanç=================================è

Page 97: TA INZ 2007

LIat DI FolD3r LamPiRAn Ja eh ..!!!!?????

Page 98: TA INZ 2007

BIODATA

Robot Pencari Tujuan yang Ditentukanç=================================è

Page 99: TA INZ 2007

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.