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 untukmembuat 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 optocoplerThis 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 rotaryencoder ………………………………………………………………..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 …………….51BAB 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.1Gambar 2.1 Konstruksi robot5 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 kemikrokontroler, 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 encoderterlihat 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 AT89S5110
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 program11
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 pa dalah cara pengaksesannya, untuk memori 128 atas dengan pengalamatan
la ngsung sedang untuk SFR dengan pengalamatan tak langsung.Gambar 2.7 Struktur memori data2.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 PP1. MISO (d rogramming )
6 igunakan untuk In-System P P1. SCK (digunak rammingO 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 “ @” tdigunakan 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.2Tabel 2.2 Tabel vektor interupsiInterrupt 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 interupsi16 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 denganmengatur 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 XTAL1Gambar 2.9 Rangkaian Osilator Internal dan osilator external Catatan : C1,C2 = 30 pF ± 10 pF untuk penggunaan dengan Kristal17
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 AT89S51Gambar 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 LCDa. 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 M1632Perintah 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.