SISTEM PENGUKUR JARAK LINTASAN PADA MOBILE ROBOT

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

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

PERNYATAAN KEASLIAN KARYA

  “ 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 Ig. Roni Arya Paningron

  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.

KATA PENGANTAR

  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.

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

  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

  

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

  

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.

  

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

  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

  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

  DAFTAR GAMBAR

Gambar 2.1. Konstruksi robot …………….…………………………..4Gambar 2.2. Letak sensor kurva dan belokan ..……………………….5Gambar 2.3. Cara pengukuran jarak yang ditempuh..............................7Gambar 2.4. Kurva yang bisa dilalui …………. ….…………………..8Gambar 2.5. Blok diagram dari mikrokontroler AT89S51 ……….....9Gambar 2.6. Struktur memori program ……………………………...10Gambar 2.7. Struktur memori data…………….……………………..11Gambar 2.8. Vektor interupsi………………………………………...15Gambar 2.9. Rangkaian osilatot internal dan osilator external………16Gambar 2.10. Rangkaian reset AT89S51………..….…………….….17Gambar 2.11. Diagram blok dari modul LCD………………….…….19Gambar 2.12. IC ULN2803A………………………….……………. .22Gambar 2.13. Rangkaian bias maju diode infra merah ...……………23Gambar 2.14. Rangkaian fototransistor sebagai saklar...……...……...23Gambar 2.15. Karakteristik dan simbol schmit trigger……………….24Gambar 2.16. Bentuk rotary encoder dan piringan………..…………25Gambar 2.17. Prinsip kerja motor DC………………………………..26Gambar 2.18. Bagian-bagian motor DC………..…………………….26Gambar 3.1. Konstruksi Robot ………………………………………27Gambar 3.2. letak sensor kurva dan belokan…………………………29Gambar 3.3. Arah gerakan roda depan dan roda belakang.…………..30Gambar 3.4. Rangkaian sensor kurva,sensor belokan dan rotary

  encoder ………………………………………………………………..31

Gambar 3.5. Rangkaian antarmuka AT89S51 dengan modul M1632..………………………………………………………………..32Gambar 3.6. Rangkaian penggerak motor DC…………………..….....33Gambar 3.7. Bentuk dari rotary encoder………...…………………....34Gambar 3.8. Bentuk gelombang masukan schmit trigger ..…………...36Gambar 3.9. Bentuk gelombang keluaran schmit trigger …………….36Gambar 3.10. Diagram alir program utama……….…………………. 37Gambar 3.11. Diagram alir subrutin tunda……………..……………..38Gambar 3.12. Lebar gelombang keluaran terhadap waktu……………39Gambar 3.13. Memori yang digunakan untuk proses menghitung…... 40Gambar 3.14. Diagram alir subrutin hitung………………………….. 42Gambar 3.15. Isi memori internal dari hasil simulasi………………... 42Gambar 3.16. Data hasil perhitungan yang disimpam dialamat 41H-

  4AH…………………………………………………………………... 43

Gambar 3.17. Diagram alir subrutin tampil…..……………………… 44Gambar 4.1 Pengukuran manual dengan bagian robot yang dibongkar………………………………………………48

  

DAFTAR TABEL

Tabel 2.1. Fungsi alternatif port I/O ...……………………………………….….12Tabel 2.2. Vektor interupsi ………………………………………………….…..15Table 2.3. Pin out dari modul LCD ……………………………………………..19Table 2.4. Perintah-perintah M1632 ………………………………………….…21Table 3.1. Daftar penggunaan port I/O ……………………………………….…28Table 3.2. Pengendalian motor DC ……………………………………………...29Table 3.3. Keterangan arah gerakan …………………………………………….37Table 3.4. Data yang dikirim ke LCD …………………………………………..45Tabel 4.1 Hasil pengukuran masukan dan keluaran schmit trigger……………. 47Tabel 4.2 Hasil pengukuran manual dengan didorong………………………….48Table 4.3. Percobaan untuk lintasan lurus panjang 50 mm …………………......50Table 4.4. Percobaan untuk lintasan lurus panjang 100 mm …………………....50Table 4.5. Percobaan untuk lintasan lurus panjang 150 mm ……………….…...51Tabel 4.6. percobaan untuk lintasan melengkung panjang 165 mm …………….51

BAB I PENDAHULUAN 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

mendorongnya sehingga kurang praktis dan merepotkan.

  2

  1.2 Perumusan Masalah Sesuai dengan judulnya yaitu sistem pengukur jarak lintasan pada mobile Maka robot ini akan melakukan pengukuran panjang lintasan dari kurva robot. 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.

  8. Pengukuran minimumnya adalah 0 mm (robot tidak bergerak).

  3

  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.

  4

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

Gambar 2.1 Konstruksi robot

  5 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

infra merah tidak akan dipantulkan sehingga fototransistor menjadi off, dan

  6

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

juga ikut berputar sehingga akan menghasilkan sejumlah cacahan seperti encoder

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

yang ditempuh sebagai berikut :

  Keliling x jumlah cacah yang dihasilkan Jarak yang ditempuh = Jumlah cacah 1 putaran

  7

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

  

Dengan mengetahui keliling dari rotary encoder maka jarak yang ditempuh yaitu :

  8 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 = Jarak yang ditempuh = 165,3 mm

  9 Selanjutnya akan dijelaskan mengenai komponen-komponen dasar

pendukung dari robot yang akan digunakan dalam pembuatan robot ini.

  Kompo nen-komponen itu antara lain sebagai berikut : 2 .1 Mikrokontroler AT89S51

  Arsite tur da k ri mikrokontroler AT89S51 diperlihatkan pada gambar blok diagram berikut:

Gambar 2.5 Blok diagram dari mikrokontroler AT89S51

  10

2.1.1 Memori

  Dalam mikrokontroler AT89S51 terdapat dua buah memori yaitu memori

program (ROM) yang diguna kan untuk menyimpan program dan memori data

(RAM) 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 enggabungkan kedua memori program ini didapat konfigurasi penyimpanan

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

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

Gambar 2.6 Struktur memori program

  11

  2. Struktur memori data Di memori data terdapat dua memori yaitu memori internal dan memori . Dalam memori data internal dibagi menjadi memori 128 atas, memori external

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 p

a dalah cara pengaksesannya, untuk memori 128 atas dengan pengalamatan

la ngsung sedang untuk SFR dengan pengalamatan tak langsung.

Gambar 2.7 Struktur memori data

2.1.2 Port Paralel

  paralel merupakan suatu akses untuk melakukan komunikasi dengan Port

peralatan luar baik dengan memberikan keluaran maupun dengan menerima

masukan dari luar. Dalam mikrokontroler AT89S51 terdapat 32 port pa ralel yang

  12 terbagi Semua port pararel pada umumnya mempunyai fungsi yang sama yaitu

untuk input atau outp ai fungsi lain selain

sebagai I/ rt

  (interupsi 0 eksternal)

  Port serial digunakan untuk full duplek yang berarti dapat meng

  RD (memori data eksternal jalur baca) Untuk por ort 1, port 2, port 3 dapat menyerap arus masuk sebesar 1,6 mA.

  WR (memori data eksternal jalur tulis) P3.7

  (interupsi 1 eksternal) P3.4 T0 (input eksternal timer 0) P3.5 T1 (input eksternal timer 1) P3.6

  INT P3.3

  Fungsi tif in Por Alterna P3.0 RXD (masukan port serial) P3.1 TXD (keluaran port serial) P3.2

  1 dan 3. fungsi perlihatkan seperti tabel

  P 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

  ) 7 an untuk In-System Prog t

  Fungsi Alternatif

P1. MOSI (d rogramming )

5 igunakan untuk In-System P

P1. MISO (d rogramming )

6 igunakan untuk In-System P P1. SCK (digunak ramming

  O yaitu po kusus yang lain di Port

  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

1 INT

2.1.3 Port Serial

  13

yang be rsamaan. Port serial digunakan dalam 4 mode kerja, untuk mengatur mode

kerjanya digunakan register kontrol.

  2.1.4 T 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 l detak dan hasil limpahan maka dapat digunakan untuk

mengat 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 f si sinyal detak dapat diketahui apakah pencacah bekerja

sebagai timer atau sebagai c ounter . Jika pencacah bekerja dengan frekuensi tetap

maka p encacah bekerja sebagai timer, bila pencacah bekerja dengan frekuensi

yang berubah maka pencacah bekerja sebagai counte r .

  2.1.5 Mode Pengalamatan Untuk meng akses data atau operan ada beberapa macam cara pengalamatan, mode pengalamatan itu antara lain :

  14 a.

  Mode pengalamatan segera (immediate addressing mode) Cara pengalamatan ini dengan menggunakan suatu konstanta yang diawali 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 ara pengalamatan ini tidak menunjuk suatu alamat memori secara

langsung, tetapi menggunakan r egister untuk menunjukkan (menyimpan) suatu

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

digunakan untuk menandai suatu alamat memori yang tersimpan dalam suatu

register.

  d.

  Mode pengalamatan register Mode pengalamatan ini menggunakan register serbaguna sebagai tempat

penyimpanan data sehingga kerjanya lebih cepat dan praktis, register serbag una

adalah register R0 sampai R7.

  

Mode pen galamatan dari a sampai d digunakan untuk mengakses data dalam

m emori data. e . Mode pengalamatan kode tidak langsung (code indirect addressing mode) Mode pengalama ta ini digunakan untuk mengakses data dalam memori program .

  15

2.1.6 Sistem Interupsi

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

dan sebuah interupsi por serial, masing-masing interupsi mempunyai alamat RLI

t

  

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

pada tabel 2.2

Tabel 2.2 Tabel vektor interupsi

  Interrupt ource S Vector Addr ess

IE0 0003H

  External 0 Timer 0 TF0 000BH External 1

  IE1 0013H TF1 001BH Timer 1 R1 or T1 0023H

  Serial port Atau dapat juga digambarkan seperti gambar 2.8 berikut

Gambar 2.8 Vektor interupsi

  16 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

dua prioritas yaitu prioriotas renda h dan prioritas tinggi, prioritas tinggi dapat

diinteru psi oleh prioritas yang lebih tinggi dan tidak sebaliknya.

2.1.7 Karakteristik Dari Osilator

  Osilator dipakai untuk m emb erikan masukkan sinyal detak, ada dua

rangkaian osilator yaitu internal osilator dan external osilator. Rangkaian osilator

diperlihatkan seperti pada gambar 2.9. C2 XTAL2 NC XTAL2 C1 GND XTAL1 OSCILLATOR EXTERNAL SIGNAL GND XTAL1

Gambar 2.9 Rangkaian Osilator Internal dan osilator external Catatan : C1,C2 = 30 pF ± 10 pF untuk penggunaan dengan Kristal

  17

2.1.8 Rangkaian reset

  Reset dapat dilakukan secara manual (dengan tombol S1) maupun otomatis saat power diaktifkan. Menurut lembar data AT

  89S51 reset terjadi saat adanya logika 1 selam 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 ka

penekanan tersebut lamanya lebih dari 2 siklus mesin maka akan ter jadi reset. Bila digunakan kristal 12MHz maka waktu 1 siklus m esin adalah : w aktu1 siklus = 12 / fosc 12 /12.000.000 = 1

   = μdt

  VCC 5 V C

  3 1 uF S1

R

9 RST 100K Ohm AT89S51

Gambar 2.10 Rangkaian reset AT89C51 Cara kerja rangkaian power-on reset adalah saat sumber daya diaktifkan,

  

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

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

akan diisi muatannya yang mengakibatkan V bertambah besar. Yang perlu

  C

  R

  

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

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

  18

  R

  

V = 0,7 Vcc. Dengan memasukkan rumus tegangan V didapatkan

  IH(min) perhitungan :

  CC C

  V R = V – V

  R

  V ≥ 0,7 Vcc

  V C ≤ 0,3 Vcc

  • –t / RC

  Vcc (1 – e ) ≤ 0,3 Vcc

  • – 2µ / RC

  

(1 – e )

≤ 0,3

  • – 2µ / RC

  e ≥ 0,7

  • 6
  • 2 • 10 / RC ≥ ln (
  • 6

  RC / 0,356

≥ 2 • 10

  • 6

  RC ≥ 5,618 • 10 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 V C sama

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

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

  R

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.

  

Mikrokontroler ini mempunyai CGROM (Character Generator Read Only

  19 Memory

  7 DB0 Data bus 0

  16 Katoda Tegangan negatif back light

  15 Anoda Tegangan positif back light

  14 DB7 Data bus 7

  13 DB6 Dsts bus 6

  12 DB5 Data bus 5

  11 DB4 Data bus 4

  10 DB3 Data bus 3

  9 DB2 Data bus 2

  8 DB1 Data bus 1

  6 E Enable clock LCD

  ), CGRAM (Character Generator Random Access Memory), dan DDRAM (Display Data Random Access Memory). Lihat gambar 2.11

  5 R/W 1 = read, 0 = write

  4 RS Register select, 0 = register perintah , 1= register data

  3 Vee Tegangan kontras LCD

  0V

  2 GND

  5V

  1 Vcc +

Tabel 2.3 Pin out dari modul LCD Nomer Pin Nama Pin KeteranganGambar 2.11 Diagram blok dari modul LCD

a. DDRAM DDRAM merupakan memori tempat karakter yang ditampilkan berada.

  20 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

bertujuan untuk mengetahui data yang ditampilkan oleh LCD.

  21 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 0 0 0 0 0 0 0 1 Hapus display dan

  display

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

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

  (C) on/off,

  on/off cursor blingking (B)

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

  /display

  tanpa merubah alamat DDRAM

  Set fungsi

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

  Set alamat

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

  Set alamat

  1 ADD ADD ADD ADD ADD ADD ADD Data dapat dibaca atau DDRAM 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 D 0 = display off, 1 = display on

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