• Tidak ada hasil yang ditemukan

SISTEM PENGUKUR JARAK LINTASAN PADA MOBILE ROBOT

N/A
N/A
Protected

Academic year: 2019

Membagikan "SISTEM PENGUKUR JARAK LINTASAN PADA MOBILE ROBOT"

Copied!
156
0
0

Teks penuh

(1)

SISTEM PENGUKUR JARAK LINTASAN

PADA

MOBILE ROBOT

TUGAS AKHIR

Diajukan untuk memenuhi salah satu syarat Memperoleh gelar Sarjana Teknik

Program Studi Teknik elektro

Fakultas Teknik Universitas Sanata Dharma

Disusun oleh : Ig. Roni Arya Paningron

NIM : 995114037

JURUSAN TEKNIK ELEKTRO FAKULTAS TEKNIK

UNIVERSITAS SANATA DHARMA YOGYAKARTA

2007

(2)

TRAJECTORY DISTANCE MEASUREMENT SYSTEM

FOR MOBILE ROBOT

Final Project

Presented as Partial Fulfillment of the Requirements To Obtain the Sarjana Teknik Degree

In Electrical Engineering

By

Ig. Roni Arya Paningron NIM : 995114037

ELECTRICAL ENGINEERING STUDY PROGRAM ELECTRICAL ENGINEERING DEPARTMENT

SANATA DHARMA UNIVERSITY YOGYAKARTA

2007

(3)
(4)
(5)

PERNYATAAN KEASLIAN KARYA

Ig. Roni Arya Paningron Saya menyatakan dengan sesungguhnya bahwa tugas akhir yang saya tulis ini tidak memuat karya atau bagian karya orang lain, kecuali yang telah disebutkan dalam kutipan dan daftar pustaka, sebagaimana layaknya karya ilmiah“

Yogyakarta, 29 Januari 2007

(6)

HALAMAN PERSEMBAHAN

Skripsi ini dipersembahkan untuk:

¾ Tuhan Yesus Kristus yang telah memberikan jalan terang dan kedamaian..

¾ Kepada ibuku yang telah membiayaiku selama ini.

¾ Kakakku, adikku dan keponakanku yang selalu memberi semangat baru.

¾ Semua teman –teman yang menyertaiku sampai akhir.

¾ Bapak Djoko dan Bapak Martanto selaku pembimbing TA dan pembimbing angkatan

yang telah membantuku selama ini.

(7)

KATA PENGANTAR

P

P

uji syukur sebesar-besarnya penulis panjatkan kepadaTuhan Yesus Kristus,

atas jalan terang, damai dan cinta kasih-Nya yang dilimpahkan kepada penulis,

sehingga penulis bisa menyelesaikan skripsi ini dengan baik.

enulisan skripsi ini merupakan salah satu syarat untuk mengakhiri masa

studi penulis dan untuk memperoleh gelar sarjana teknik Jurusan Teknik Elektro

di Universitas Sanata Dharma. Penulisan skripsi ini didasarkan pada hasil-hasil

yang penulis peroleh mulai dari perancangan, pembuatan alat sampai pada

pengujian alat yang diajukan, juga kemungkinan pengembangannya.

Dengan selesainya Tugas Akhir yang merupakan salah satu syarat untuk

meraih gelar sarjana pada Program Studi Teknik Elektro Jurusan Teknik Elektro

Fakultas Teknik Universitas Sanata Dharma Yogyakarta, pada kesempatan ini

penulis mengucapkan terima kasih yang sebesar-besarnya kepada:

1. Bapak Ir.Greg.Heliarko, S.J.,S.S.,B.S.T.,M.A.,M.Sc. selaku Dekan, Bapak

Ir. Iswanjono, M.T selaku pembantu Dekan.

2. Bapak B. Djoko Untoro Suwarno, S.Si.,M.T. selaku dosen pembimbing

skripsi, dan Bapak Martanto, S.T., M.T. selaku dosen pembimbing

angkatan, yang telah banyak memberikan pengarahan, petunjuk serta

saran selama pengerjaan alat dan skripsi.

(8)

3. seluruh staff pengajar yang telah banyak memberikan bimbingan kepada

penulis selama menjadi mahasiswa.

4. Bapak Jito dan seluruh karyawan sekretariat Teknik Elektro Fakultas

Teknik Universitas Sanata Dharma.

5. Semua rekan – rekan angkatan 99.

Penulis menyadari bahwa dalam karya tulis ini masih terdapat banyak

kekurangan dan jauh dari sempurna. Oleh karena itu segala bentuk kritik dan

saran dan masukan yang membangun sangat penulis harapkan dari pembaca, demi

perbaikan dan kesempurnaan skripsi ini.

Terima kasih,

Yogyakarta, 29 Januari 2007

Penulis

(9)

SISTEM PENGUKUR JARAK LINTASAN

PADA

MOBILE ROBOT

IG.RONI ARYA PANINGRON 995114037

INTISARI

Semakin berkembangnya teknologi semakin memacu manusia untuk membuat segala sesuatu bekerja secara otomatis. Hampir disemua bidang kehidupan menggunakan otomatisasi, terutama dibidang perindustian atau sering disebut juga dengan otomatisasi industri. Pada alat ini ( sistem pengukur jarak lintasan pada mobile robot ) juga bertujuan untuk membuat suatu alat pengukur yang bergerak sendiri atau bergerak secara otomatis.

Sistem pengukuran alat ini berdasarkan pada masukan cacahan rotary

encoder, yang kemudian diproses oleh mikrokontroler untuk menentukan hasil

pengukurannya. Setelah itu baru ditampilkan melalui LCD. Proses otomatisasi alat ini adalah caranya bergerak untuk melalui suatu lintasan tanpa bantuan manusia sambil melakukan pengukuran. Penggerak robot ini adalah motor DC dengan pengendalinya adalah IC ULN2803, sebagai sensor dipakai fototransistor dan optokopler.

Robot ini belum bisa untuk mengukur dengan benar karena tidak tepatnya dalam penggunaan dan penempatan komponen

Kata kunci : Pengukur jarak, mobile robot

(10)

TRAJECTORY DISTANCE MEASUREMENT SYSTEM

FOR MOBILE ROBOT

IG. RONI ARYA PANINGRON 995114037

ABSTRACT

The development of technology progressively races the human being to make everything work automatically. Almost of all life area use automatization, especially in industry area or it is called industry automatization. In this appliance ( trajectory distance measurement system for mobile robot ) also aim to make a peripatetic grader it self or make move automatically.

Measurement system of this tool based on input counter of rotary encoder, later processed by microcontroller to determine result of its measurement. Afterward it is presented by LCD. This process of automatization is the way of move to trough an unassisted trajectory of human being at the same time do the measurement. This robot activator is DC motor with its controller, IC ULN2803, as censor of phototransistor and optocopler

This robot can not measure truly because it is not appropriate in using and component located yet.

Keyword : distance measurement, mobile robot.

(11)

DAFTAR ISI

HALAMAN JUDUL ... i

HALAMAN JUDUL ... ii

HALAMAN PERSETUJUAN ………. .... iii

HALAMAN PENGESAHAN. ……… .... iv

PERNYATAAN KEASLIAN ………. v

HALAMAN PERSEMBAHAN ……… . . vi

KATA PENGANTAR ……… .... . vii

INTISARI ……… ix

ABSTRACT ... x

DAFTAR ISI ... xi

DAFTAR GAMBAR ... xiv

DAFTAR TABEL ………xvi

BAB I PENDAHULUAN ... 1

1.1 Latar Belakang Masalah ... 1

1.2 Rumusan Masalah... 2

1.3 Batasan Masalah ... 2

1.4 Tujuan Penelitian ... 3

1.5 Manfaat Penelitian ... 3

BAB II DASAR TEORI ... 4

2.1 Mikrokontroler AT89S51 ……….………… 9

2.1.1 Memori ... 10

(12)

2.1.2 PortParalel ... 11

2.1.3 Port Serial1... 12

2.1.4 Timer dan Counter ... 13

2.1.5 Mode Pengalamatan ... 13

2.1.6 Sistem Interupsi ... 15

2.1.7 Karakteristik dari Osilator ... 16

2.1.8 Rangkaian reset ... 17

2.2 Modul LCD M1632 ... 18

2.3 IC ULN2803A ... 22

2.4 Diode Infra Merah ... 22

2.5 Fototransistor ... 23

2.6 Schmitt trigger ……… 24

2.7 Rotary Encoder ……… 24

2.8 Penggerak Robot ………. 25

BAB III PERANCANGAN ……….. 27

3.1 Perancangan Hardware ……….30

3.1.1 Rangkaian Sensor kurva dan belokan ……… 30

3.1.2 Rangkaian Penampil ………32

3.1.3 Rangkaian Penggerak Robot ……….. 33

3.1.4 Rangkaian Rotay Encoder ……… .. 33

3.2 Perancangan Software ... 36

BAB IV HASIL PENGAMATAN DAN PEMBAHASAN ... 46

4.1 Pengamatan dari percobaan ... 46

(13)

4.1.1. Percobaan dan pengamatan masukan dan keluaran schmit

Trigger... 46

4.1.2. percobaan dan pengamatan pada bagian pengukur jarak ( manual ) ... 47

4.1.3. Percobaan dan pengamatan pengukuran jarak dengan robot . 49 4.2. Pembahasn ... 52

4.2.1 Pembahasan pada schmit trigger... 52

4.2.2. Pembahasan pada pengukuran manual ... 52

4.2.3. Pembahasan hasil pengukuran robot... 53

4.3 Kesimpulan hasil pembahasan ... 53

BAB V KESIMPULAN dan SARAN ... 55

5.1. Kesimpulan ... 55

5.2 Saran ... 55

DAFTAR PUSTAKA ... 56

LAMPIRAN...56

(14)

DAFTAR GAMBAR

Gambar 2.1. Konstruksi robot ……….………..4

Gambar 2.2. Letak sensor kurva dan belokan ..……….5

Gambar 2.3. Cara pengukuran jarak yang ditempuh...7

Gambar 2.4. Kurva yang bisa dilalui …………. ….………..8

Gambar 2.5. Blok diagram dari mikrokontroler AT89S51 ………...9

Gambar 2.6. Struktur memori program ………...10

Gambar 2.7. Struktur memori data……….………..11

Gambar 2.8. Vektor interupsi………...15

Gambar 2.9. Rangkaian osilatot internal dan osilator external………16

Gambar 2.10. Rangkaian reset AT89S51………..….……….….17

Gambar 2.11. Diagram blok dari modul LCD……….…….19

Gambar 2.12. IC ULN2803A……….………. .22

Gambar 2.13. Rangkaian bias maju diode infra merah ...………23

Gambar 2.14. Rangkaian fototransistor sebagai saklar...……...……...23

Gambar 2.15. Karakteristik dan simbol schmit trigger……….24

Gambar 2.16. Bentuk rotary encoder dan piringan………..…………25

Gambar 2.17. Prinsip kerja motor DC………..26

Gambar 2.18. Bagian-bagian motor DC………..……….26

Gambar 3.1. Konstruksi Robot ………27

Gambar 3.2. letak sensor kurva dan belokan………29

(15)

Gambar 3.3. Arah gerakan roda depan dan roda belakang.…………..30

Gambar 3.4. Rangkaian sensor kurva,sensor belokan dan rotary encoder………..31

Gambar 3.5. Rangkaian antarmuka AT89S51 dengan modul M1632..………..32

Gambar 3.6. Rangkaian penggerak motor DC………..…...33

Gambar 3.7. Bentuk dari rotary encoder………...………....34

Gambar 3.8. Bentuk gelombang masukan schmit trigger ..…………...36

Gambar 3.9. Bentuk gelombang keluaran schmit trigger ……….36

Gambar 3.10. Diagram alir program utama……….………. 37

Gambar 3.11. Diagram alir subrutin tunda………..………..38

Gambar 3.12. Lebar gelombang keluaran terhadap waktu………39

Gambar 3.13. Memori yang digunakan untuk proses menghitung…... 40

Gambar 3.14. Diagram alir subrutin hitung……….. 42

Gambar 3.15. Isi memori internal dari hasil simulasi………... 42

Gambar 3.16. Data hasil perhitungan yang disimpam dialamat 41H-4AH………... 43

Gambar 3.17. Diagram alir subrutin tampil…..……… 44

Gambar 4.1 Pengukuran manual dengan bagian robot yang dibongkar………48

(16)

DAFTAR TABEL

Tabel 2.1. Fungsi alternatif port I/O ...……….….12

Tabel 2.2. Vektor interupsi ……….…..15

Table 2.3. Pin out dari modul LCD ………..19

Table 2.4. Perintah-perintah M1632 ……….…21

Table 3.1. Daftar penggunaan port I/O ……….…28

Table 3.2. Pengendalian motor DC ………...29

Table 3.3. Keterangan arah gerakan ……….37

Table 3.4. Data yang dikirim ke LCD ………..45

Tabel 4.1 Hasil pengukuran masukan dan keluaran schmit trigger………. 47

Tabel 4.2 Hasil pengukuran manual dengan didorong……….48

Table 4.3. Percobaan untuk lintasan lurus panjang 50 mm ………...50

Table 4.4. Percobaan untuk lintasan lurus panjang 100 mm ………....50

Table 4.5. Percobaan untuk lintasan lurus panjang 150 mm ……….…...51

Tabel 4.6. percobaan untuk lintasan melengkung panjang 165 mm ……….51

(17)

1.1. Latar Belakang

Semakin berkembangnya teknologi akan semakin mempermudah

kehidupan manusia dalam melakukan sesuatu hal. Untuk itu manusia dengan

berbagai cara terus berusaha agar teknologi bertambah maju. Hasil dari

perkembangan teknologi dapat dilihat dalam kehidupan sehari-hari, dengan

semakin banyaknya produk-produk yang dihasilkan.

Mikrokontroler merupakan salah satu bentuk nyata akan kemajuan

teknologi. Dengan mikrokontroler dapat dilakukan berbagai macam proses

pengendalian, antara lain pengendalian gerak.

Dalam kelompok mikrokontroler ada beberapa macam jenis. Kemampuan

masing-masing jenis mikrokontroler ini berbeda-beda, dilihat dari kecepatan,

kapasitas memori dan kemampuan yang lainnya. Dengan membandingkan

kemampuan masing-masing jenis mikrokontroler diharapkan pengaplikasiannya

dapat lebih tepat.

Kemudian untuk menerapkan teknologi dari mikrokontroler ini, dirancang

suatu alat sistem pengukur jarak lintasan pada mobile robot. Pembuatan robot ini

terinspirasi dari peralatan pengukur panjang jalan yang menggunakan roda yang

didorong, dimana peralatan ini membutuhkan bantuan pengguna (manusia) untuk

(18)

1.2 Perumusan Masalah

Sesuai dengan judulnya yaitu sistem pengukur jarak lintasan pada mobile

robot. Maka robot ini akan melakukan pengukuran panjang lintasan dari kurva

yang dilalui, pengukuran dianggap selesai bila kurva putus atau habis.

Pengukuran disini berdasarkan hasil dari cacahan rotary encoder, hasil

pengukuran dalam perancangan ini akan ditampilkan menggunakan LCD.

1.3 Batasan Masalah

Batasan masalah untuk robot pengukur panjanag kurva adalah sebagai

berikut:

1. Pengukuran dilakukan untuk kurva yang ujung-ujungnya tidak saling bertemu,

kurva yang tidak bercabang dan bukan kurva yang siku.

2. Alat hanya untuk kurva berwarna hitam di atas permukaan berwarna putih.

3. Lebar kurva 1 cm dengan sudut lengkungan 180º dan diameter lengkungan

30cm..

4. Pengukuran selesai bila kurva yang dilintasi putus atau habis.

5. Alat akan selalu menampilkan hasil pengukuran dari kurva yang ditempuh.

6. Hasil pengukuran ditampilkan dengan LCD sebanyak 10 digit.

7. Pengukuran maksimum adalah 1.000.000 mm.

(19)

1.4 Tujuan penelitian

Tujuan akhir dari penelitian ini adalah terbentuknya suatu robot yang

dapat melakukan proses pengukuran dan menampilkan hasil pengukuran panjang

lintasan dari suatu kurva.

1.5 Manfaat penelitian

1 Menguasai sistem pengendalian dengan menggunakan mikrokontroler.

2 Dapat mengaplikasikan LCD sebagai penampil.

3 Mempermudah pengukuran panjang lintasan bila diaplikasikan dalam

kehidupan sehari - hari di masyarakat dan industri.

4 Menambah pustaka bagi pengembangan ilmu pengetahuan.

(20)

BAB II DASAR TEORI

Pada bab ini akan dijelaskan dasar teori mengenai robot yaitu meliputi

konstruksi robot, cara kerja robot dan komponen-komponen dasar pendukung dari

robot.

Robot yang dimaksud mempunyai tiga roda sebagai tumpuan, terdiri dari

dua roda depan sebagai penggerak robot dan satu roda belakang. Roda belakang

berfungsi untuk tumpuan yang bisa bergerak terhadap poros sehingga bisa

mengikuti gerakan dari roda depan disamping itu juga sebagai penggerak untuk

rotary encoder. Untuk memperjelas lihat gambar 2.1

(21)

Dua roda depan robot digerakkan oleh dua buah motor DC yang

dikendalikan oleh sebuah mikrokontroler yaitu mikrokontroler AT89S51. Agar

dapat mengikuti kurva dipasang tiga buah sensor yaitu dua buah sensor untuk

mendeteksi belokan dan satu sensor untuk mendeteksi kurva seperti terlihat pada

gambar 2.2. ketiga sensor ini berada dibagian bawah diantara dua roda depan.

Masing-masing menggunakan fototransistor sebagai detektor dan diode infra

merah sebagai sumber.

Gambar 2.2 Letak sensor kurva dan belokan

Semua sensor ini termasuk rotary encoder akan memberikan masukan ke

mikrokontroler, untuk dapat melakukan proses pengendalian.

Cara kerja sensor kurva dan sensor belokan adalah:

Ketika ada kurva (warna hitam) maka cahaya yang dipancarkan diode

(22)

sebaliknya bila tidak ada kurva maka diode infra merah akan mengenai

permukaan berwarna putih sehingga cahaya akan dipantulkan dan akan mengenai

fototransistor ini menyebabkan fototransistor on.

Karena digunakan untuk mengukur panjang maka diperlukan suatu

penampil, penampil yang digunakan adalah modul LCD M1632. penampil ini

akan menampilkan data yang dikeluarkan oleh mikrokontroler. Penampil ini

nantinya akan ditempatkan dibagian atas sehingga mudah terlihat.

Pengukuran bermaksud membandingkan suatu besaran yang belum

diketahui dengan besaran lain yang besarnya sudah diketahui. Untuk keperluan ini

maka diperlukan suatu piranti (instrument) sebagai pembanding. Sebagai

pembanding digunakan sebuah rotary encoder yang sudah diketahui besar

kelilingnya.

Cara kerja pengukuran panjang kurva adalah saat robot bergerak maju

maka roda belakang sebagai pengikut akan berputar, ini menyebabkan rotary

encoder juga ikut berputar sehingga akan menghasilkan sejumlah cacahan seperti

terlihat pada gambar 2.3. Karena bersentuhan dengan kurva maka jarak lintasan

yang ditempuh sebagai berikut :

Keliling x jumlah cacah yang dihasilkan

(23)

Gambar 2.3 Cara pengukuran jarak yang ditempuh

Sebagai contoh diketahui rotary encoder mempunyai 36 cacah dengan diameter

18,95 mm, cacah yang dihasilkan adalah 100 cacah maka dapat dicari jarak yang

ditempuh sebagai berikut:

K = π x diameter

K = 3,14 x 18,95 mm

K = 59,50 mm

(24)

Karena hanya terdiri dari tiga roda yaitu dua roda depan sebagai

penggerak dan satu roda belakang sebagai pengikut maka robot ini tidak bisa

mundur dan melalui kurva yang siku maupun bercabang.

Gabar 2.4 Kurva yang bisa dilalui

Keliling x jumlah cacah yang dihasilkan

Jumlah cacah 1 putaran Jarak yang ditempuh =

59,50 mm x 100

36 Jarak yang ditempuh =

(25)

Selanjutnya akan dijelaskan mengenai komponen-komponen dasar

akan digunakan dalam pembuatan robot ini.

Kompo

.1 Mikrokontroler AT89S51

k ri mikrokontroler AT89S51 diperlihatkan pada gambar blok

Gambar 2.5 Blok diagram dari mikrokontroler AT89S51 pendukung dari robot yang

nen-komponen itu antara lain sebagai berikut :

2

Arsite tur da

(26)

2.1.1 Memori

Dalam mikrokontroler AT89S51 terdapat dua buah memori yaitu memori

kan untuk menyimpan program dan memori data

(RAM)

enggabungkan kedua memori program ini didapat konfigurasi penyimpanan

rogram yaitu semua program dapat disimpan di memori internal saja, di memori

ternal dan external, atau di memori external saja. Seperti terlihat digambar 2.6.

program (ROM) yang diguna

yang digunakan untuk menyimpan data. Memori program dan data ini

mempunyai struktur dan alamat yang berbeda.

1. Struktur memori program

Memori program terdiri dari memori internal dan memori external,

dimana semua memori ini dapat dipakai, tergantung dari penggunaan. Dengan

m

p

in

(27)

2. Struktur memori data

Di memori data terdapat dua memori yaitu memori internal dan memori

external. Dalam memori data internal dibagi menjadi memori 128 atas, memori

128 bawah dan register fungsi kusus (SFR) dimana SFR dan memori 128 atas ini

menempati tem at yang sama. Yang membedakan SFR dengan memori 128 atas

dalah cara pengaksesannya, untuk memori 128 atas dengan pengalamatan

ngsung sedang untuk SFR dengan pengalamatan tak langsung.

ralel yang p

a

la

Gambar 2.7 Struktur memori data

2.1.2 Port Paralel

Port paralel merupakan suatu akses untuk melakukan komunikasi dengan

peralatan luar baik dengan memberikan keluaran maupun dengan menerima

(28)

terbagi

Semua port pararel pada umumnya mempunyai fungsi yang sama yaitu

untuk input atau outp ai fungsi lain selain

sebagai I/ rt 1 dan 3. fungsi perlihatkan seperti tabel

2.1

Tabel 2.1 Fungsi alternatif port I/O

Pin

atas 4 port pararel yaitu port 0, port 1, port 2, dan port 3. Masing-masiang

port terdiri dari 8 bit sehingga untuk port 0 dapat dibagi menjadi P0.0, P0.1, P0.2,

P0.3, P0.4, P0.5, P0.6, P0.7 demikian juga untuk port 1, port 2, port 3.

ut, tetapi ada port yang mempuny

O yaitu po kusus yang lain di

Port Fungsi Alternatif

P1.5 MOSI (digunakan untuk In-System Programming) P1.6 MISO (digunakan untuk In-System Programming) P1.7 SCK (digunakan untuk In-System Programming)

t 0 dapat menyerap arus masuk sebesar 3,8 mA, sedangkan

untuk p

komunikasi secara serial, port serial ini

bersifat irim maupun menerima pada waktu Pin Port Fungsi Alternatif

P3.0 RXD (masukan port serial) P3.1 TXD (keluaran port serial) P3.2 INT0 (interupsi 0 eksternal) P3.3 INT1 (interupsi 1 eksternal) P3.4 T0 (input eksternal timer 0) P3.5 T1 (input eksternal timer 1)

P3.6 WR (memori data eksternal jalur tulis) P3.7 RD (memori data eksternal jalur baca) Untuk por

ort 1, port 2, port 3 dapat menyerap arus masuk sebesar 1,6 mA.

2.1.3 Port Serial

Port serial digunakan untuk

(29)

yang be

2.1.4 T

l detak dan hasil limpahan maka dapat digunakan untuk

mengat

f si sinyal detak dapat diketahui apakah pencacah bekerja

ounter. Jika pencacah bekerja dengan frekuensi tetap

maka p

r.

akses data atau operan ada beberapa macam cara rsamaan. Port serial digunakan dalam 4 mode kerja, untuk mengatur mode

kerjanya digunakan register kontrol.

imer dan Counter

Dasar dari timer dan counter adalah pencacah biner yang terhubung

langsung ke saluran data mikrokontroler, sehingga mikrokontroler dapat membaca

kondisi pencacah dan bisa merubah kondisi pencacah.

Seperti pada pencacah pada umumnya apabila sinyal detak (clock) yang

diberikan melebihi dari kapasitas pencacah, maka pencacah akan memberikan

limpahan (overflow). Limpahan ini kemudian disimpan dalam suatu register,

dengan mengatur sinya

ur timer dan counter. Sinyal detak yang diberikan ke pencacah dibedakan

menjadi dua yaitu sinyal detak dengan frekuensi tetap dan sinyal detak dengan

frekuensi yang dapat berubah. Sumber dari sinyal detak ini adalah dari frekuensi

kristal yang terpasang.

Dari rekuen

sebagai timer atau sebagai c

encacah bekerja sebagai timer, bila pencacah bekerja dengan frekuensi

yang berubah maka pencacah bekerja sebagai counte

2.1.5 Mode Pengalamatan Untuk meng

(30)

a. Mode pengalamatan segera (immediate addressing mode)

Cara pengalamatan ini dengan menggunakan suatu konstanta yang diawali

ara pengalamatan ini tidak menunjuk suatu alamat memori secara

egister untuk menunjukkan (menyimpan) suatu

t

pengalamatan ini menggunakan register serbaguna sebagai tempat

una

galamatan dari a sampai d digunakan untuk mengakses data dalam

emori data.

. Mode pengalamatan kode tidak langsung (code indirect addressing mode)

ta ini digunakan untuk mengakses data dalam memori

program

dengan tanda “ # “ .

b. Mode pengalamatan langsung (direct addressing mode)

Cara pengalamatan langsung adalah dengan menunjuk suatu alamat

memori dimana alamat memori ini berisi data yang dimaksud.

c. Mode pengalamatan tidak langsung (indirect addressing mode)

C

langsung, tetapi menggunakan r

alama memori, alamat memori inilah yang berisi data sebenarnya. Tanda “ @”

digunakan untuk menandai suatu alamat memori yang tersimpan dalam suatu

register.

d. Mode pengalamatan register

Mode

penyimpanan data sehingga kerjanya lebih cepat dan praktis, register serbag

adalah register R0 sampai R7.

Mode pen

m

e

Mode pengalama

(31)

2.1.6 Sistem Interupsi

Ada 5 sumber interupsi yaitu dua interupsi ekternal, dua interupsi timer

dan sebuah interupsi por mempunyai alamat RLI

(Rutin Layanan Interupsi) atau vektor interupsi. Vektor interupsi dapat dilihat

pada tabel 2.2

Tabel 2.2 Tabel vektor interupsi

Atau dapat juga digambarkan seperti gambar 2.8 berikut

S Vector ess

t serial, masing-masing interupsi

Interrupt ource Addr

External 0 IE0 0003H

Timer 0 TF0 000BH

External 1 IE1 0013H

Timer 1 TF1 001BH

Serial port R1 or T1 0023H

(32)

Seperti pada gambar 2.8 maka bila suatu program menggunakan suatu

interupsi disarankan untuk meloncati alamat interupsi sampai alamat 2Fh,

keprogram utama alamat 30h.

Untuk mengaktifkan interupsi-interupsi ini digunakan register IE

(Interrupt Enable) yang ada di SFR. Semua interupsi bisa diaktifkan secara

bersamaan dengan bit IE.7 (EA) atau sendiri-sendiri tergantung keperluan

Masing-masing interupsi dapat diatur tingkat prioritasnya dengan

mengatur bit-bit pada register IP (Interrupt Priority). Register IP hanya mengenal

h dan prioritas tinggi, prioritas tinggi dapat

diinteru

emb

rangkaian osilator yaitu internal osilator dan osilator. Rangkaian osilator

diperlihatkan seperti pada gambar 2.9.

Gambar 2.9 Rangkaian Osilator Internal dan osilator external

Catatan : C1,C2 = 30 pF ± 10 pF untuk penggunaan dengan Kristal

= 40 pF ± 10 pF untuk penggunaan dengan Keramik Resonator dua prioritas yaitu prioriotas renda

psi oleh prioritas yang lebih tinggi dan tidak sebaliknya.

2.1.7 Karakteristik Dari Osilator

Osilator dipakai untuk m erikan masukkan sinyal detak, ada dua

external

XTAL2

XTAL1

GND NC

EXTERNAL OSCILLATOR

SIGNAL C2

C1

XTAL2

XTAL1

(33)

2.1.8

89S51 reset terjadi saat adanya

logika 1 selam

ka

jadi reset.

esin adalah :

aktu1 siklus = 12 / fosc

minimal 2µdt (2 siklus mesin). tegangan masukan logika 1 memiliki batas bawah Rangkaian reset

Reset dapat dilakukan secara manual (dengan tombol S1) maupun otomatis

saat power diaktifkan. Menurut lembar data AT

a 2 siklus mesin pada pin 9 (RST).

Secara manual, penekanan saklar (push-on button) akan langsung

menghubungkan pin RST dengan Vcc (pin RST akan berlogika 1) dan ji

penekanan tersebut lamanya lebih dari 2 siklus mesin maka akan ter

Bila digunakan kristal 12MHz maka waktu 1 siklus m

w = 12 /12.000.000 = 1 μdt

VCC 5 V

Gambar 2.10 Rangkaian reset AT89C51

Cara kerja rangkaian power-on reset adalah saat sumber daya diaktifkan,

karena muatan kapasitor masih kosong (VC = 0), maka pin RST akan terhubung

langsung dengan Vcc (logika 1). Sejalan dengan pertambahan waktu, kapasitor

akan diisi muatannya yang mengakibatkan VC bertambah besar. Yang perlu

diperhatikan adalah nilai R0 dan C3 agar VR dianggap berlogika 1 selama

C 1 3 uF

100K Ohm S1

RST

R

9

0

(34)

VIH(min) = 0,7 Vcc. Dengan memasukkan rumus tegangan VR didapatkan

perhitungan :

VR = VCC– VC

VR ≥ 0,7 Vcc

VC≤ 0,3 Vcc

Vcc (1 – e –t / RC ) ≤ 0,3 Vcc

(1 – e – 2µ / RC ) ≤ 0,3

e – 2µ / RC ≥ 0,7

- 2 • 10-6 / RC ≥ ln (0,7)

RC ≥ 2 • 10-6 / 0,356

RC ≥ 5,618 • 10-6

Dengan demikian konstanta waktu RC haruslah lebih besar dari 5,618µdt.

Dengan menggunakan kapasitor C3 = 1 µF dan resistor R0 = 100 KΩ.didapat

konstanta waktu RC 0,1dt atau 100mdt.

Setelah power-on kapasitor akan terus terisi hingga tegangan VC sama

dengan Vcc dengan polaritas yang berlawanan, yang berarti pin RST akan

berlogika 0 (VR = 0) dan selesailah proses reset.

2.2 Modul LCD M1632

M1632 adalah modul LCD dengan tampilan 16 x 2 baris, modul ini

dilengkapi dengan mikrokontroler yang digunakan untuk mengendalikan LCD.

(35)

Memory), CGRAM (Character Generator Random Access Memory), dan

DDRAM (Display Data Random Access Memory). Lihat gambar 2.11

Gambar 2.11 Diagram blok dari modul LCD

Tabel 2.3 Pin out dari modul LCD

Nomer Pin Nama Pin Keterangan

1 Vcc + 5V

2 GND 0V

3 Vee Tegangan kontras LCD

4 RS Register select, 0 = register perintah , 1= register data 5 R/W 1 = read, 0 = write

6 E Enable clock LCD

7 DB0 Data bus 0

8 DB1 Data bus 1

9 DB2 Data bus 2

10 DB3 Data bus 3

11 DB4 Data bus 4

12 DB5 Data bus 5

13 DB6 Dsts bus 6

14 DB7 Data bus 7

15 Anoda Tegangan positif back light 16 Katoda Tegangan negatif back light

a. DDRAM

(36)

b. CGRAM

CGRAM merupakan memori untuk menggambarkan pola sebuah karakter,

dimana bentuk karakter dapat diubah-ubah sesuai keinginan. Karena bersifat

sementara data (pola karakter) akan hilang bila sumber tegangan dimatikan.

c. CGROM

CGROM merupakan memori untuk menggambarkan pola sebuah karakter

dimana pola karakter tersebut sudah ditentukan secara permanen sehingga tidak

bisa diubah. Karena bersifat permanen maka data tidak akan hilang bila sumber

tegangan dimatikan.

d. Register

Ada dua register yang aksesnya diatur dengan menggunakan kaki RS. Saat

RS berlogika 0 maka akan mengakses register perintah, kebalikannya saat RS

berlogika 1 maka akan mengakses register data.

1. Register perintah

Memori untuk menyimpan perintah-perintah dari mikrokontroler pada

saat penulisan data atau pembacaan data. Penulisan data ke register perintah

bertujuan untuk mengatur tampilan LCD. Penbacan data dari register perintah

bertujuan untuk melihat status busy dari LCD atau membaca address counter.

2. Register data

Memori untuk menyimpan data dari mikrokontroler pada saat penulisan

data atau pembacaan data. Penulisan data ke register data bertujuan untuk

mengirim data yang akan ditampilkan ke LCD. Pembacaan data dari register data

(37)

Untuk dapat membuat modul M1632 mengeluarkan tampilan maka harus

diberi masukan berupa perintah, perintah-perintah ini dikirimkan melalui bus data.

Perintah–perintah untuk mengeset modul M1632 dipelihatkan pada tabel 2.4

berikut:

Tabel 2.4 Perintah-perintah M1632

Perintah D7 D6 D5 D4 D3 D2 D1 D0 Keterangan

Hapus

display

0 0 0 0 0 0 0 1 Hapus display dan DDAM

Posisi awal 0 0 0 0 0 0 1 x Set alamat DDRAM di 0 Set mode 0 0 0 0 0 1 I/D s Atur arah pengeseran

cursor dan display Display

on/off

0 0 0 0 1 D C B Atur display (D) on/off,

cursor (C) on/off, blingking (B)

Geser cursor /display

0 0 0 1 S/C R/L X x Geser cursor atau disply

tanpa merubah alamat DDRAM

Set fungsi 0 0 1 DL N F X x Atur panjang data, jumlah baris yang tampil dan font karakter

Set alamat CGRAM

0 1 ACG ACG ACG ACG ACG ACG Data dapat dibaca atau ditulis setelah alamat diatur

Set alamat DDRAM

1 ADD ADD ADD ADD ADD ADD ADD Data dapat dibaca atau ditulis setelah alamat diatur

X = diabaikan

I/D 1 = increment, 0 = decrement

S 0 = diplay tidak geser

S/C 1 = display shift, 0 = geser cursor

R/L 1 = geser kiri, 0 = geser kanan

DL 1 = 8 bit, 0 = 4 bit

N 1 = 2 baris , 0 = 1 baris

F 1 = 5x10, 0 = 5x8

(38)

C 0 = cursor off, 1 = cursor on

B 0 = bliking off, 1 = blingking on

2.3 IC ULN2803A

IC ULN2803A merupakan array dari 8 transistor darlington. IC ini

mempunyai 8 input sebagai basisnya dan 8 output sebagai kolektornya seperti

terlihat pada gambar 2.12. kemampuan masing-masing outputnya 500mA.

Gambar 2.12 IC ULN2803A

2.4 Diode Infra Merah

Diode terbuat dari bahan semi konduktor, bahan semi konduktor dibagi

menjadi dua yaitu bahan tipe N bahan yang banyak mengandung elektron dan

bahan tipe P bahan yang banyak mengandung proton. Kedua tipe bahan ini

(39)

Diode infra merah merupakan diode yang dapat memancarkan cahaya

infra merah. Diode infra merah bekerja pada bias maju seperti diperlihatkan pada

gambar 2.13

Gambar 2.13 Rangkaian bias maju diode infra merah

Untuk membatasi arus pada diode digunakan resistor.

Vcc = Vf + ( If x R )

RD = Vcc - Vf

R =

If

2.5 Fototransistor

Fototransistor juga terbuat dari bahan semi penghantar. fototransistor

sebagai penghantar (on) bila terkena cahaya dan sebagai isolator (Off) bila tidak

terkena cahaya. Fototransistor disini digunakan sebagai saklar, sebagai saklar Vce

≈ 0 untuk keadaan saturasi dan Vce = Vcc untuk keadaan cutoff. Rangkaiannya

diperlihatkan seperti pada gambar 2.14

Q1 R

Vo VCC

(40)

Vcc = Vce + ( Ic x R )

Ic = ( Vcc – Vce ) / R Æ Vce ≈ 0 Ic = Vcc / R

2.6 Schmitt trigger

Cara kerja Schmitt trigger adalah ketika ada tegangan masukan yang

melebihi batas level tegangan tinggi maka keluarannya akan berlogika 0, dan bila

ada masukan yang lebih rendah dari batas level tegangan rendah maka keluaran

akan berlogika 1, sedangkan masukan diantara batas level tegangan tinggi dan

batas level tegangan rendah diabaikan.

-*

a. Karakteristik schmitt trigger b. Simbol schmitt trigger

Gambar 2.15 Karakteristik dan simbol schmitt trigger

3ccde2.7 Rotary Encoder

Rotary encoder adalah suatu alat yang mengubah gerakan menjadi kode

digital. Dalam penerapannya rotary encoder digunakan untuk mengetahui posisi

atau jarak suatu objek, penempatan dari rotary encoder selalu bersentuhan dengan

(41)

Rotary encoder merupakan suatu piringan (disk) dengan kode tertentu

yang dilengkapi dengan sumber dan detektor. Detektor dan sumber ditempatkan

dalam satu tempat yaitu optokopler. Cara kerjanya adalah saat piringan berputar

kode (cacah) di piringan akan meneruskan dan menghalangi sumber cahaya

sampai ke detektor ini menyebabkan optokopler menjadi on dan off.

Piringan berkode

sumber

detektor

Gambar 2.16 Bentuk rotary encoder danpiringan

2.9 Penggerak Robot

Penggerak robot digunakan motor DC, bagian-bagian motor DC terdiri

dari lilitan, magnet permanen, sikat dan cicin belah (komutator). Prinsip kerja

motor DC berdasarkan medan magnet yang ditimbulkan oleh lilitan saat dialiri

arus listrik. Ketika lilitan dialiri arus listrik dan ada garis gaya magnet B yang

tegak lurus I maka akan menghasilkan gaya F yang tegak lurus dengan I dan B.

(42)

a. Hubungan antara I, B dan F b. Arus listrik dalam garis gaya magnet

c. Gerakan yang dihasilkan oleh gaya F

Gambar 2.17 Prinsip kerja motor DC

Cara kerja motor DC

Ketika sikat terhubung ke sumber tegangan, lilitan akan menghasilkan

medan magnet yang akan saling tolak menolak dengan medan magnet pada

magnet permanen. Ini akan menyebabkan rotor berputar, karena komutator

merupakan bagian terpisah (cicin belah) yang ikut berputar, posisinya akan

membalik polaritas tegangan pada lilitan sehingga arah arus dan putaran tetap

sama.

(43)

BAB III PERANCANGAN

Perancangan ini dimaksudkan agar dapat diketahui secara lebih detail

mengenai konstruksi robot (hubungan dan fungsi letaknya), rangkaian dan nilai

komponen sampai pengendalian dengan program.

Gambar 3.1 konstruksi robot

Seperti yang telah dijelaskan sebelumnya, robot yang dimaksud

mempunyai tiga roda sebagai tumpuan, dua roda depan dan satu roda belakang.

Roda depan berfungsi untuk penggerak dan roda belakang sebagai pengikut

gerakan serta sebagai pencacah. Pencacah terpasang bersentuhan dengan garis

(44)

digerakkan oleh dua buah motor DC, pengendalian gerak motor DC berdasarkan

masukan dari sensor ke port I/O mikrokontroler. Penggunaan port I/O

mikrokontroler diperlihatkan seperti pada tabel 3.1

Tabel 3.1 Daftar penggunaan port I/O

No Nama

port

Fungsi No Nama port Fungsi

1 Port 1.1 Sensor 1 10 Port 0.0 D0 (LCD)

2 Port 1.2 Sensor 2 11 Port 0.1 D1 (LCD)

3 Port 1.3 Sensor 3 12 Port 0.2 D2 (LCD)

4 Port 1.4 Motor 1 13 Port 0.3 D3 (LCD)

5 Port 1.5 Motor 2 14 Port 0.4 D4 (LCD)

6 Port 3.2 Pencacah 15 Port 0.5 D5 (LCD)

7 Port 2.0 E (LCD) 16 Port 0.6 D6 (LCD)

8 Port 2.1 R/W (LCD) 17 Port 0.7 D7 (LCD)

9 Port 2.2 RS (LCD)

Sensor kurva dan belokan terletak dibagian bawah robot diantara dua roda

depan, sensor menggunakan diode infra merah dan fototransistor, posisi sensor

(45)

Gambar 3.2 Letak sensor kurva dan belokan

Sensor kurva ditempatkan di tengah agar pada waktu berbelok posisi

sensor tetap berada di kurva karena untuk mendeteksi keberadaan suatu kurva.

Sedang sensor belokan terletak dibagian samping sensor kurva, ini dimaksudkan

agar kurva selalu terdeteksi terlebih dulu sebelum sensor kurva.

Dengan melihat letak posisi sensor, maka dibuat pengendalian motor DC

seperti pada tabel 3.2

Tabel 3.2 Pengendalian motor DC

No Port 1.4 Port 1.5 Motor 1 Motor 2 Arah gerakan

1 0 0 off off Diam

2 1 0 on off Kanan

3 0 1 off on Kiri

(46)

Gerakan dari roda belakang terhadap poros selalu mengikuti gerakan dari

roda depan seperti terlihat pada gambar 3.3, sehingga tidak dimungkinkan robot

bergerak mundur.

Gambar 3.3 Arah gerakan roda depan dan roda belakang

3.1 Perancangan Hardware

Dengan mengetahui komponen-komponen yang digunakan maka dapat

dibuat perancangan rangkaiannya seperti berikut :

3.1.1 Rangkaian Sensor kurva dan belokan

Untuk sensor kurva dan belokan digunakan fototransistor dan diode infra

merah. Pada sensor kurva dan belokan ada tiga posisi yang harus dideteksi. maka

digunakan tiga buah fototransistor dan tiga buah diode infra merah. Gambar

(47)

74LS14

S.Rotery encoder

1

Gambar 3.4 Rangkaian sensor kurva, sensor belokan dan rotary encoder

Perhitungan nilai komponen

Bila diode infra merah ( IR1 – IR3) mempunyai Vf = 1,7 V dan If maksimum =

50mA agar aman dibuat If = 20mA sehingga nilai R untuk R1, R3, R5 adalah

R = (Vcc – Vf) / If

R = (4,8 – 1,7) / 20 •10 ֿ³

R = 155 Ω

Bila fototransistor off maka arus akan mengalir ke Schmitt trigger, jika arus

masuk IiH maksimum adalah 0.1 mA maka dapat dicari nilai resistor untuk R2,

(48)

R = Vcc / IiH

R = 4,8 / 0,1 •10 ֿ³

R = 48000 Ω

Bila fototransistor (Q1-Q3) terkena cahaya maka fototransistor akan on, karena

sebagai saklar Vce ≈ 0V, jika fototransistor mempunyai Ic(on) maksimum =

16mA dengan nilai R untuk R2, R4, R6 sama dengan 48kΩ maka arus Ic adalah

Ic = Vcc / R

Ic = 4,8 / 48000

Ic = 0,1mA

Icini tidak melebihi dari Icmaksimum fototransistor.

3.1.2 Rangkaian Penampil

Penampil menggunakan LCD yang tergabung dalam modul M1632, dalam

perancangan ini M1632 dioperasikan dalam mode antarmuka 8 bit, dengan

demikian semua bus data dari D0 sampai D7 dipakai semua. Gambar

rangkaiannya seperti gambar 3.5

(49)

3.1.3 Rangkaian Penggerak Robot

Penggerak yang digunakan adalah motor DC, untuk dapat menggerakkan

motor DC dibutuhkan arus yang cukup besar. Untuk memenuhi arus motor

digunakan IC ULN2803A. Gambar rangkaian penggerak motor DC diperlihatkan

seperti gambar 3.6

Gambar 3.6 Rangkaian penggerak motor DC

IC ULN2803A untuk dapat bekerja (on) memerlukan tegangan masukan Vi(on)

sebesar 2,4V, sedangkan mikrokontroler mempuyai tegangan keluaran minimum

VoH sebesar 2,4V, sehingga dengan mengirimkan logika 1 dari mikrokontroler IC

ULN2803A dapat bekerja.

3.1.4 Rangkaian Rotary Encoder

Untuk mendapatkan pengukuran yang baik maka digunakan rotary

(50)

encoder yang sudah ada dengan jumlah cacah 36 cacah dan memiliki diameter

18,95 mm.

keliling rotary encoder (K) adalah :

K = π x diameter

K = 3,14 x 18,95 mm

K = 59,50 mm

Dengan mengetahui keliling dari rotary encoder maka dapat dicari resolusi (R)

yaitu :

K

Jumlah cacah R =

59,50 mm

36 R =

R = 1,653 mm / cacah ( dengan ketelitian 3 angka dibelakang koma )

Gambar 3.7 Bentuk dari rotary encoder

Seperti terlihat pada gambar 3.4 karena optokopler sebagai sensor pada

rotary encoder, maka saat rotary encoder berputar bagian cacah akan

menghalangi dan meneruskan cahaya ke fototransistor sehingga menyebabkan

(51)

keluarannya hanya 0 dan Vcc maka keluaran dari fototransistor digunakan

sebagai masukan pada Schmitt trigger.

Rangkaian sensor rotary encoder digunakan optokopler dengan rangkaian

seperti gambar 3.4 maka perhitungan nilai komponen sebagai berikut:

Bila diode infra merah optokopler mempunyai If maksimum = 50mA, Vf = 1,7V

agar aman dibuat If = 20mA sehingga nilai R7 adalah

R = (Vcc – Vf) / If

R = (4,8 – 1,7) / 20 •10 ֿ³

R = 155 Ω

Bila fototransistor optokopler off maka arus akan mengalir ke Schmitt trigger jika

arus masuk IiH maksimum adalah 0.1 mA maka dapat dicari nilai R8 yaitu :

R = Vcc / IiH

R = 4,8 / 0,1 •10 ֿ³

R = 48000 Ω

Bila fototransistor optokopler terkena cahaya maka fototransistor akan on, karena

sebagai saklar Vce ≈ 0V, jika fototransistor optokopler mempunyai Ic(on)

maksimum = 20mA dengan nilai R8 sama dengan 48kΩ maka arus Ic adalah

Ic = Vcc / R

Ic = 4,8 / 48000

Ic = 0,1mA

(52)

Dengan menggantikan cacahan dengan suatu sinyal generator (seperti pada

lampiran) didapatkan bentuk gelombang masukan dan keluaran schmitt trigger

sebagai berikut :

Gambar 3.8 Bentuk gelombang masukan schmitt trigger

Gambar 3.9 Bentuk gelombang keluaran schmitt trigger

Keluaran dari schmitt trigger ini akan akan menjadi masukan

mikrokontroler sebagai cacah.

3.2 Perancangan Software

Program merupakan bagian paling penting dari robot karena pengendalian

robot tergantung dari program tersebut. Agar lebih mudah memahami jalannya

(53)

Gambar 3.10 Diagram alir program utama

Inisialisasi LCD Inisialisasi program

Ada garis

Ada belokan kiri

Ada belokan kanan

Belok kanan

Lurus

Belok kiri

Hitung

Tampil hasil Start

Y Y

Y

T

T

T

Keterangan diagram alir untuk kurva dibuat dalam tabel berikut:

Table 3. 3 Keterangan arah gerakan

(54)

Gerakan dari motor DC kekiri, kekanan dan lurus dibatasi oleh ton dan

toff, lebar waktu ton dan toff dibatasi oleh tunda. Subrutin dari tunda adalah

sebagai berikut :

R7 sama dengan 0 Kurangi R7 dengan 1

R6 sama dengan 0

RET

T

T R6 diisi 0AH

TUNDA

Kurangi R6 dengan 1

Kurangi R5 dengan 1

R5 sama dengan 0 R5 diisi 0AH

R7 diisi 64H

T Y

Y Y

(55)

Dengan nilai yang ada maka waktu tundanya adalah sebagai berikut :

... dikerjakan siklus

MOV R5,#10 1x 1

AKHIR : MOV R6,#10 10x 1 ULANG : MOV R7,#100 10x10 = 100x 1 DJNZ R7,$ 100x10x10 = 10000x 2 DJNZ R6,ULANG 10x10 = 100x 2

DJNZ R5,AKHIR 10x 2

...

Perulangan pertama = 10.000 x 2 = 20.000, perulangan kedua = 100 x 3 =

300 perulangan ketiga = 10 x 3 = 30, sehingga total siklus = 20.000 + 300 + 30 +

1 = 20.331. digunakan frekuensi kristal 12MHz sehingga waktu 1 siklus adalah

1μdt dan waktu tunda menjadi 20,331 μdt. dengan mengatur nilai dari R5, R6, R7

akan didapatkan waktu tunda yang berbeda, dengan waktu tunda yang berbeda

dapat diatur ton dan toff.

Gambar 3.12 Lebar gelombang keluaran terhadap waktu

Vrata-rata = (ton / ( ton + toff)) x V

Dengan mengatur ton dan toff dapat diatur kecepatan motor.

3.2.1 Subrutin untuk menghitung panjang lintasan

Seperti pada sebelumnya rotary encoder mempunyai resolusi 1,653

(56)

cacah. Sebagai contoh jika ada 100 cacah maka 1,653mm akan dijumlahkan

sebanyak 100 kali sehingga hasilnya adalah 165,300mm.

Karena tampilan 10 digit dalam mm, maka digunakan 10 buah

RAM serbaguna yaitu RAM pada alamat memori 41H sampai 4AH dan register A

dan B untuk menjumlahkan. Pertama digit 1(41H) dipindah ke A, B diisi 3 (dari

1,653) kemudian A dan B ditambahkan, bila hasil A>10 maka A-10 hasil A

disimpan ke digit 1(41H), jika A<10 hasil A langsung disimpan di Digit 1(41H).

Selanjutnya digit (alamat memori) dinaikkan dengan menambahkan R1 dengan

1(INC R1) kemudian digit berikutnya dipindah ke A (apabila hasil sebelumnya

A>10 maka A+1) dan B diisi 5 (dari 1,653), proses ini berlangsung terus sampai

digit 10(4AH) dan nilai B dari 1,653 terakhir adalah 1. isi data alamat memori

41H – 49H maksimum adalah 9H dan alamat memori 4AH adalah 1H, memori.

yang digunakan terlihat sebagai berikut :

9

DIGIT 10 8 7 6 5 4 3 2 1

ALAMAT 4AH 49H 48H 47H 46H 45H 44H 43H 42H 41H

A

B

Gambar 3.13 . Memori yang digunakan untuk proses menghitung

(57)
(58)

A = A - 10 DIGIT 8 = A A = DIGIT 9 A = A + 1

DIGIT 8 = A A > 9

Y

Y

T B

A > 9

A = A - 10 DIGIT 9 = A A = DIGIT 10 A = A + 1 DIGIT 10 = A

DIGIT 9 = A

CACAH = CACAH - 1

CACAH = 0

RET

A C T

T

Y X

X

Gambar 3.14 Diagram alir subrutin hitung

Seperti contoh sebelumnya bila disimulasikan dengan program TS Control

Emulator dengan jumlah cacah 100 cacah didapat hasil data yang disimpan dalam

alamat memori 41H – 4AH adalah sebagai berikut:

(59)

Gambar 3.16 Data hasil perhitungan yang disimpan di alamat 41H – 4AH

Hasilnya adalah 0000165300 (10 digit) dan bila ditampilkan dengan tiga

angka dibelakang koma dalam milimeter adalah 0.000.165,300mm hasil ini

sesuai dengan hasil perhitungan sebelumnya yaitu 165,3mm

3.2.2 Subrutin untuk menampilkan hasil

Program untuk menampilkan hasil berdasarkan data yang ada pada

alamat memori 41H sampai 4AH. Data pada alamat memori 41H – 4AH (digit 1 –

10) dibandingkan dengan suatu nilai dari 0 – 9 apabila hasilnya sama dengan nilai

tersebut maka akan dikirimkan data ke LCD yang sesuai dengan nilai.

Pembandingan dimulai dari alamat memori 41H (digit 1) setelah selesai

pembandingan maka alamat memori akan dinaikkan menjadi 42H(digit 2) dan

datanya dibandingkan, demikian seterusnya sampai alamat memori 4AH(digit 10).

Diagram alir dari program penampil diperlihatkan seperti pada gambar diagram

alir 3.17.

41H 42H

43H 44H

45H 46H

47H 48H

9

DIGIT 10 8 7 6 5 4 3 2 1

00H 00H 00H 00H 01H 06H 05H 03H 00H 00H

(60)

A = 0 Kirim tanda koma

Kirim tanda titik

Kirim tanda titik

T

(61)

R2 digunakan untuk membatasi jumlah digit dan untuk menentukan tanda

titik dan tanda koma. Dengan melihat tabel karakter pada LCD dibuat tabel data

untuk masukan LCD dengan tampilan LCD yang sesuai dengan nilai pembanding

sebagai berikut:

Tabel 3.4 Data yang dikirim ke LCD

Nilai Data Tampilan LCD

0 30H 0

1 31H 1

2 32H 2

3 33H 3

4 34H 4

5 35H 5

6 36H 6

7 37H 7

8 38H 8

(62)

BAB IV

HASIL PENGAMATAN DAN PEMBAHASAN

Robot ini berfungsi untuk mengukur panjang lintasan maka untuk

membuktikan apakah hasilnya sesuai atau tidak, diperlukan beberapa percobaan,

pengamatan dan pembahasan (analisa).

4.1. Pengamatan dari percobaan.

Setelah rangkaian robot selesai diadakan beberapa percobaan yang

kemudian hasil pengamatan dari percobaan dibuat menjadi tabel, percobaan dan

pengamatannya adalah sebagai berikut.

4.1.1. Percobaan dan pengamatan masukan dan keluaran schmit trigger. Pada pecobaan ini robot menggunakan empat buah baterai 1,2V dengan

harapan tegangannya bisa sama dengan pada waktu perancangan yaitu 4,8V.

Setelah diukur menggunakan multimeter didapat tegangan 4,5V. Dengan

memberikan alas pada sensor garis warna hitam dan putih, serta memberikan

penghalang pada sensor cacah., kemudian diakan pengukuran pada masukan dan

keluaran schmit trigger. Hasil pengamatan pada percobaan ini ditabelkan pada

(63)

Tabel 4.1 hasil pengukuran masukan dan keluran schmit trigger

Vcc Garis Schmit trigger Sensor 1 Sensor 2 Senor 3

Vin 0,2V 0,3V 0,3V

4,5V Putih

Vout 4,15V 4,15V 4,15V

Vin 1,95V 1,6V 1,5V

4,5V Hitam

Vout 0,2V 0,2V 0,2V

Vcc Penghalang Schmit trigger Sensor cacah

Vin 3,3V 4,5V Ada penghalang

Vout 0,2V

Vin 0,2V 4,5V Tidak ada penghalang

Vout 4,1V

4.1.2 Percobaan dan pengamatan pada bagian pengukuran jarak (manual). Percobaan dan pengamatan ini dimaksudkan untuk menguji apakah jarak

yang diukur sudah sesuai atau belum, maka bagian robot pada bagian pengukur

jarak dibongkar sehingga rotary encoder langsung menyentuh bagian yang

diukur. Dan rotary encodernya diberi tanda supaya pada waktu pengukuran

manual (rotary encoder didorong langsung kebagian yang ingin diukur) dapat

diketahui batas pengukurannya, serperti pada gambar 4.1. Pada percobaan dan

(64)

encoder) dan 119mm. Hasil pengamatan pada percobaan ini diperlihatkan pada

tabel 4.2. seperti barikut :

Gambar 4.1. Pengukuran manual dengan bagian robot yang dibongkar

Table 4.2 Hasil pengukuran manual dengan didorong

Panjang garis Pengukuran manual Selisih

59,5mm 59,508mm 0,008

59,5mm 59,508mm 0,008

59,5mm 59,508mm 0,008

59,5mm 59,508mm 0,008

59,5mm 59,508mm 0,008

59,5mm 59,508mm 0,008

(65)

59,5mm 57,855mm 1,645

Total selisih 1,701

Panjang garis Panjanng pengukuran Selisih

119mm 120,669mm 1,669

119mm 119,016mm 0,016

119mm 119,016mm 0,016

119mm 119,016mm 0,016

119mm 119,016mm 0,016

119mm 119,016mm 0,016

119mm 120,669mm 1,669

119mm 119,016mm 0,016

Total selisih 3,434

4.1.3 Percobaan dan pengamatan pengukuran jarak dengan robot.

Percobaan dan pengamatan ini dimaksudkan untuk mengetahui hasil dari

pengukuran robot (alat) sudah sesuai atau belum. Pada percobaan ini robot (alat)

digunakan untuk mengukur beberapa garis yaitu dengan panjang dan bentuik yang

berbeda sehingga dapat dianalisa hasil dari robot (alat) ini apakah sudah sesuai

atau masih ada kekurangan. Hasil pengamatan dari percobaan ini ditabelkan

(66)

Tabel 4.3. Percobaan untuk lintasan lurus panjang 50 mm

No Panjang hasil Selisih

1 50 mm 109,098 mm 59,098 mm

2 50 mm 115,710 mm 65,710 mm

3 50 mm 107,445 mm 57,445 mm

4 50 mm 123,975 mm 73,975 mm

5 50 mm 104,139 mm 54,139 mm

6 50 mm 97,527 mm 47,527 mm

7 50 mm 115,710 mm 65,710 mm

8 50 mm 125,628 mm 75,628 mm

Tabel 4.4. Percobaan untuk lintasan lurus panjang 100 mm

No Panjang hasil Selisih

1 100 mm 127,281 mm 27,281 mm

2 100 mm 186,789 mm 86,789 mm

3 100 mm 229,767 mm 129,767 mm

4 100 mm 239,685 mm 139,685 mm

5 100 mm 251,256 mm 151,256 mm

6 100 mm 234,726 mm 134,726 mm

7 100 mm 216,543 mm 116,543 mm

8 100 mm 208,278 mm 108,278 mm

(67)

Tabel 4.5. Percobaan 1 untuk lintasan lurus panjang 150 mm

No Panjang hasil Selish

1 150 mm 319,030 mm 169,030 mm

2 150 mm 770,298 mm 620,298 mm

3 150 mm 342,171 mm 192,171 mm

4 150 mm 347,130 mm 197,130 mm

5 150 mm 933,945 mm 783,945 mm

6 150 mm 314,070 mm 164,070 mm

7 150 mm 333,906 mm 183,906 mm

8 150 mm 305,805 mm 155,805 mm

Tabel 4.6. Percobaan untuk lintasan melengkung panjang 165 mm

No Panjang Hasil Selisih

1 165 mm 370,272 mm 205,272 mm

2 165 mm 378,537 mm 213,537 mm

3 165 mm 332,253 mm 167,253 mm

4 165 mm 662,853 mm 497,853 mm

5 165 mm 557,061 mm 392,061 mm

6 165 mm 325,641 mm 160,641 mm

7 165 mm 289,275 mm 124,275 mm

(68)

4.2. Pembahasan

Pembahasan dimaksudkan untuk menganalisa data – data yang sudah

didapat pada waktu pengamatan, pembahasan pada percobaan sebelumnya adalah

sebaga berikut :

4.2.1 Pembahasan pada schmit trigger

Seperti yang sudah terlihat pada tabel 4.1 semua sensor memberikan

respon terhadap lintasan (warna hitam dan putih) untuk sensor garis dan terhadap

halangan untuk sensor cacah. Keluaran dari schmit trigger yang menjadi masukan

ke mikrokontroler sudah sesuai dengan logika 1 dan 0 ( 0,2V untuk logika 0 dan

4,1V untuk logika 1 ). Sehingga mikrokontroler sudah bisa menggunakannya

untuk proses pengontrolan

4.2.2 Pembahasan pada pengukuran manual

Dari hasil pengukuran pada tabel 4.2 dapat dicari rata – rata selisih dan

prosentase selisihnya sebagai berikut :

untuk garis dengan panjang 59,5mm

total selisih

jumlah percobaan

1,701

8

Prosentase selisih = x 100% Rata –rata selisih Rata – rata selisih = = 0,212

Rata – rata selisih =

(69)

0,212

59,5

x 100% = 0,356% Prosentase selisih =

Unyuk garis dengan panjang 119mm

3,434

8

0,429

119

Rata – rata selisih = = 0,429

Prosentase selisih = x 100% = 0,36%

Dari hasil perhitungan prosentase selisih pengukuran pajang kedua garis

tersebut hasilnya dibawah 1% sangat mendekati hasil yang sebenarnya, ini

menandakan bahwa proses perhitungan pengukuran jarak dengan cara manual

sudah cukup baik.

4.2.3 Pembahasan hasil pengukuran robot

Dari hasil pengamatan pada tabel 4.3, 4.4, 4.5, 4.6, terlihat bahwa robot ini

sudah bisa melalui lintasan lurus maupun lintasan melengkung. Hanya saja masih

belum bisa melakukan pengukuran dengan benar karena hasilnya belum bisa

sesuai dengan nilai yang sebenarnya.

4.3 Kesimpulan hasil pembahasan

Dari hasil pengamatan percobaan dan pembahasan hasil percobaan dapat

disimpulkan bahwa :

1. Robot ini belum ber fungsi dengan benar karena masih mempunyai

(70)

2. Kesalahan pengukuran pada robot ini tidak bersumber dari masukan

sensor–sensornya, karena semua sensornya dapat bekerja.

3. kesalahan pengukuran ini juga tidak bersumber pada cara perhitungan

pengambilan cacah untuk menentukan hasil pengukuran, karena pada

percobaan pengukuran manual hasilnya hampir sesuai dengan hasil yang

sesungguhnya.

4. kesalahan ini disebabkan oleh konstruksi robot yang kurang baik sehingga

(71)

BAB V

KESIMPULAN DAN SARAN

5.1 Kesimpulan.

1. Robot ini belum bisa melakukan pengukuran dengan benar.

2. Selisih hasil pengukuran alat ini sangat besar sehingga ketepatannya tidak

bisa dipertanggungjawabkan.

3. Semakin panjang lintasan yang ditempuh maka selisihnya akan semakin

besar.

5.2 Saran.

Karena dalam perancangan asumsinya gerakan robot hanya maju dan

gerakannya bisa halus maka hanya digunakan satu buah sensor tetapi didapat hasil

yang kurang bagus. untuk lebih baiknya disarankan menggunakan dua buah

sensor, karena gerakkan robot yang on-off menyebabkan gerakkan maju mundur

( kurang stabil ) dan gerakan mundur ini bisa terhitung bila menggunakan satu

buah sensor. Sehingga bila menggunakan dua buah sensor diharapkan gerakan

mundurnya tidak terhitung dan hasilnyapun akan lebih baik.

Disamping memakai dua buah sensor juga disarankan memakai motor

steper dengan resolusi yang kecil, ini akan menghasilkan gerakan yang halus dan

(72)

Edisi 2”, penerbit Gava Media, 2004.

Warsito s, “ Teknik Ukur Dan Piranti Ukur Elektronik”, penerbit PT Alek Media

Komputindo Jakarta,1988.

Delta T. Horn, “Teknik Merancang Dengan IC”, alih bahasa oleh tim exercise UI,

penerbit PT Alex Media Komputindo Jakarta, 1989.

H.R Everett, “Sensor For Mobile Robot Theory And Application”, Peter, Ltd,

1995

Robert N. Bateson, “Introduction To Control System Technology, Fourth

Edition”.

Joseph L. Jones, Anita M. Flyn, Bruce A. Seiger, “Mobile Robots Inspiration To

Implementation, Second Edition”, AK Pete, Ltd, 1999.

(73)

(74)

1 (WR)P3.6 (RD) P3.7

XTAL2 XTAL1 GND GND (A8) P2.0 (A9) P2.1

(A10) P2.2 (A11) P2.3 (A12) P2.4 P1.4 P1.3 P1.2 P1.1 (T2 EX) P1.0 (T2) NC VCC P0.0 (AD0) P0.1 (AD1) P0.2 (AD2) P0.3 (AD3)

Three-level Program Memory Lock

128 x 8-bit Internal RAM

32 Programmable I/O Lines

Two 16-bit Timer/Counters

Six Interrupt Sources

Programmable Serial Channel

Low-power Idle and Power-down Modes

Description

The AT89C51 is a low-power, high-performance CMOS 8-bit microcomputer with 4K bytes of Flash programmable and erasable read only memory (PEROM). The device is manufactured using Atmel’s high-density nonvolatile memory technology and is compatible with the industry-standard MCS-51 instruction set and pinout. The on-chip Flash allows the program memory to be reprogrammed in-system or by a conven-tional nonvolatile memory programmer. By combining a versatile 8-bit CPU with Flash on a monolithic chip, the Atmel AT89C51 is a powerful microcomputer which provides a highly-flexible and cost-effective solution to many embedded control applications.

PDIP (WR)P3.6 (RD) P3.7

XTAL2 XTAL1 GND

NC

(75)

AT89C51

2

PORT 2 DRIVERS

PORT 2

INTERRUPT, SERIAL PORT, AND TIMER BLOCKS

STACK

PORT 3 DRIVERS

P3.0 - P3.7 PORT 1

LATCH

PORT 1 DRIVERS

P1.0 - P1.7

(76)

3

bytes of Flash, 128 bytes of RAM, 32 I/O lines, two 16-bit timer/counters, a five vector two-level interrupt architecture, a full duplex serial port, on-chip oscillator and clock cir-cuitry. In addition, the AT89C51 is designed with static logic for operation down to zero frequency and supports two software selectable power saving modes. The Idle Mode stops the CPU while allowing the RAM, timer/counters, serial port and interrupt system to continue functioning. The Power-down Mode saves the RAM contents but freezes the oscillator disabling all other chip functions until the next hardware reset.

Port 0 is an 8-bit open-drain bi-directional I/O port. As an output port, each pin can sink eight TTL inputs. When 1s are written to port 0 pins, the pins can be used as high-impedance inputs.

Port 0 may also be configured to be the multiplexed low-order address/data bus during accesses to external pro-gram and data memory. In this mode P0 has internal pullups.

Port 0 also receives the code bytes during Flash program-ming, and outputs the code bytes during program verification. External pullups are required during program verification.

Port 1

Port 1 is an 8-bit bi-directional I/O port with internal pullups. The Port 1 output buffers can sink/source four TTL inputs. When 1s are written to Port 1 pins they are pulled high by the internal pullups and can be used as inputs. As inputs, Port 1 pins that are externally being pulled low will source current (IIL) because of the internal pullups.

Port 1 also receives the low-order address bytes during Flash programming and verification.

Port 2

Port 2 is an 8-bit bi-directional I/O port with internal pullups. The Port 2 output buffers can sink/source four TTL inputs. When 1s are written to Port 2 pins they are pulled high by the internal pullups and can be used as inputs. As inputs,

current (IIL) because of the internal pullups.

Port 2 emits the high-order address byte during fetches from external program memory and during accesses to external data memory that use 16-bit addresses (MOVX @ DPTR). In this application, it uses strong internal pullups when emitting 1s. During accesses to external data mem-ory that use 8-bit addresses (MOVX @ RI), Port 2 emits the contents of the P2 Special Function Register.

Port 2 also receives the high-order address bits and some control signals during Flash programming and verification.

Port 3

Port 3 is an 8-bit bi-directional I/O port with internal pullups. The Port 3 output buffers can sink/source four TTL inputs. When 1s are written to Port 3 pins they are pulled high by the internal pullups and can be used as inputs. As inputs, Port 3 pins that are externally being pulled low will source current (IIL) because of the pullups.

Port 3 also serves the functions of various special features of the AT89C51 as listed below:

Port 3 also receives some control signals for Flash pro-gramming and verification.

RST

Reset input. A high on this pin for two machine cycles while the oscillator is running resets the device.

ALE/PROG

Address Latch Enable output pulse for latching the low byte of the address during accesses to external memory. This pin is also the program pulse input (PROG) during Flash programming.

In normal operation ALE is emitted at a constant rate of 1/6 the oscillator frequency, and may be used for external tim-ing or clocktim-ing purposes. Note, however, that one ALE

Port Pin Alternate Functions

P3.0 RXD (serial input port)

P3.1 TXD (serial output port)

P3.2 INT0 (external interrupt 0)

P3.3 INT1 (external interrupt 1)

P3.4 T0 (timer 0 external input)

P3.5 T1 (timer 1 external input)

P3.6 WR (external data memory write strobe)

(77)

AT89C51

4

weakly pulled high. Setting the ALE-disable bit has no effect if the microcontroller is in external execution mode.

PSEN

Program Store Enable is the read strobe to external pro-gram memory.

When the AT89C51 is executing code from external pro-gram memory, PSEN is activated twice each machine cycle, except that two PSEN activations are skipped during each access to external data memory.

EA/VPP

External Access Enable. EA must be strapped to GND in order to enable the device to fetch code from external pro-gram memory locations starting at 0000H up to FFFFH. Note, however, that if lock bit 1 is programmed, EA will be internally latched on reset.

EA should be strapped to VC C for internal program executions.

This pin also receives the 12-volt programming enable volt-age (VPP) during Flash programming, for parts that require 12-volt VPP.

XTAL1

Input to the inverting oscillator amplifier and input to the internal clock operating circuit.

XTAL2

Output from the inverting oscillator amplifier.

Oscillator Characteristics

XTAL1 and XTAL2 are the input and output, respectively, of an inverting amplifier which can be configured for use as an on-chip oscillator, as shown in Figure 1. Either a quartz crystal or ceramic resonator may be used. To drive the device from an external clock source, XTAL2 should be left

observed.

Idle Mode

In idle mode, the CPU puts itself to sleep while all the on-chip peripherals remain active. The mode is invoked by software. The content of the on-chip RAM and all the spe-cial functions registers remain unchanged during this mode. The idle mode can be terminated by any enabled interrupt or by a hardware reset.

It should be noted that when idle is terminated by a hard ware reset, the device normally resumes program execu-tion, from where it left off, up to two machine cycles before the internal reset algorithm takes control. On-chip hardware inhibits access to internal RAM in this event, but access to the port pins is not inhibited. To eliminate the possibility of an unexpected write to a port pin when Idle is terminated by reset, the instruction following the one that invokes Idle should not be one that writes to a port pin or to external memory.

Figure 1. Oscillator Connections

Note: C1, C2 = 30 pF ± 10 pF for Crystals

Status of External Pins During Idle and Power-down Modes

Mode Program Memory ALE PSEN PORT0 PORT1 PORT2 PORT3

Idle Internal 1 1 Data Data Data Data

Idle External 1 1 Float Data Address Data

Power-down Internal 0 0 Data Data Data Data

Gambar

Gambar 2.1 Konstruksi robot
Gambar 2.2 Letak sensor kurva dan belokan
Gambar 2.3 Cara pengukuran jarak yang ditempuh
Gambar 2.5 Blok diagram dari mikrokontroler AT89S51
+7

Referensi

Dokumen terkait

Projek ini adalah gabungan &#34; mobile robot &#34; bersama aplikasi sistem pengukuran paras lantai. &#34;Mobile Robot&#34; mempunyai keupayaan untuk bergerak dikawasan

Perancangan robot line follower ini tidak hanya sekedar mengukuti garis lintasan nya saja, tetapi dapat menemukan pencarian jalan terpendek pada lintasan berupa labirin

Pada Tugas Akhir ini dirancang mobile robot yang telah terintegrasi dengan sebuah aplikasi sistem monitoring pada smartphone Android yang dapat mengontrol gerak

Dari hasil pengimplementasian perencanaan lintasan pada mobile robot Qbot menggunakan metode Radial Basis Function dengan kontroler PID Fuzzy dapat disimpulkan bahwa plant

Kendali proportional yang telah dirancang diterapkan pada sistem mobile robot-3 Trailers dengan lintasan yang memiliki sudut yang bervariasi dapat dilihat pada

Sistem navigasi waypoint dirancang agar autonomous mobile robot mampu mengenali posisi dan arah berdasarkan sistem koordinat Bumi, mampu malakukan koreksi arah gerak

Diagram alir sistem dengan penghalang Maka pada sistem dengan objek penghalang didapatkan hanya dua parameter akhir yaitu sudut mobile robot dengan target (sudut_tu) dan

Cara kerja alat pengukur suhu tubuh otomatis ini adalah saat ada objek yang bergerak dengan jarak kurang dari 2 meter, Sensor PIR akan menangkap pancaran infra