• Tidak ada hasil yang ditemukan

ROBOT PENGANTAR MAKANAN DENGAN PENENTUAN POSISI MEJA MENGGUNAKAN ROTARY ENCODER.

N/A
N/A
Protected

Academic year: 2017

Membagikan "ROBOT PENGANTAR MAKANAN DENGAN PENENTUAN POSISI MEJA MENGGUNAKAN ROTARY ENCODER."

Copied!
85
0
0

Teks penuh

(1)

DENGAN PENENTUAN POSISI MEJ A MENGGUNAKAN

ROTARY ENCODER

TUGAS AKHIR

Oleh :

RURY ASPR IANTO

0834010167

PROGRAM STUDI TEKNIK INFORMATIKA

FAKULTAS TEKNOLOGI INDUSTRI

UNIVERSITAS PEMBANGUNAN NASIONAL “VETERAN”

J AWA TIMUR

(2)

DENGAN PENENTUAN POSISI MEJ A MENGGUNAK AN LINE

TRACER

TUGAS AKHIR

Diajukan Untuk Memenuhi Sebagai Persyaratan Dalam Memperoleh Gelar Sarjana Komputer

Program Studi Teknik Informatika

Oleh :

TRI R AHMAWANTO

0834010187

PROGRAM STUDI TEKNIK INFORMATIKA

FAKULTAS TEKNOLOGI INDUSTRI

(3)

ROBOT PENGANTAR MAKANAN

DENGAN PENENTUAN POSISI MEJ A MENGGUNAKAN

ROTARY ENCODER

Disusun oleh :

RURY ASPR IANTO

0834010167

Telah disetujui mengikuti Ujian Negar a Lisan Per iode VI Tahun Akademik 2011/2012

Pembimbing I

Basuk i Rahmat, S.Si, MT. NPT. 3 6907 06 0209 1

Pembimbing II

Syur fah Ayu Ithr iah, S.Kom. NPT. 3 8501 10 0294 1

Mengetahui,

Ketua Pr ogr am Studi Tek nik Infor matika Fakultas Teknologi Industr i

Univer sitas Pembangunan Nasional ”Veter an” J awa Timur

(4)

ROBOT PENGANTAR MAKANAN

DENGAN PENENTUAN POSISI MEJ A MENGGUNAKAN

ROTARY ENCODER

Disusun Oleh :

RURY ASPR IANTO

0834010167

Telah diper tahankan dan diter ima oleh Tim Penguji Sk ripsi Pr ogram Studi Teknik Infor matika Fakultas Teknologi Industr i

Univer sitas Pembangunan Nasional ”Veter an” J awa Timur Pada Tanggal 15 J uni 2012

Pembimbing :

Ir. R. Purnomo Edi Sasongko, MP. NIP. 19640714 198803 1 001 2.

Syur fah Ayu Ithr iah, S.Kom. NPT. 3 8501 10 0294 1

Univer sita s Pembangunan Nasional ”Veter an” J awa Timur

(5)

Syukur Alhamdulillaahi rabbil ‘alamin terucap ke hadirat Allah SWT

atas segala limpahan Kekuatan-Nya sehingga dengan segala keterbatasan waktu,

tenaga, pikiran dan keberuntungan yang dimiliki penyusun, akhirnya penyusun

dapat menyelesaikan Skripsi yang berjudul “ Robot Pengantar Makanan

Dengan Penentuan Posisi Meja Menggunakan Rotary Encoder” tepat waktu.

Skripsi dengan beban 4 SKS ini disusun guna diajukan sebagai salah satu

syarat untuk menyelesaikan program Strata Satu (S1) pada jurusan Teknik

Informatika, Fakultas Teknologi Industri, UPN ”VETERAN” Jawa Timur.

Melalui Skripsi ini penyusun merasa mendapatkan kesempatan emas

untuk memperdalam ilmu pengetahuan yang diperoleh selama di bangku

perkuliahan, terutama berkenaan tentang penerapan teknologi perangkat bergerak.

Namun, penyusun menyadari bahwa Skripsi ini masih jauh dari sempurna. Oleh

karena itu penyusun sangat mengharapkan saran dan kritik dari para pembaca

untuk pengembangan aplikasi lebih lanjut.

Surabaya, Juni 2012

(6)

Ucapan terima kasih ini saya persembahkan sebagai perwujudan rasa syukur atas

terselesaikannya Laporan Skripsi. Ucapan terima kasih ini saya tujukan kepada :

1. Allah SWT., karena berkat Rahmat dan berkahNya kami dapat menyusun dan

menyelesaikan Laporan Skripsi ini hingga selesai.

2. Bapak Prof. Dr. Ir. Teguh Soedarto, MP selaku Rektor Universitas

Pembangunan Nasional “Veteran” Jawa Timur.

3. Bapak Sutiyono, MT selaku Dekan Fakultas Teknologi Industri UPN

“Veteran” Jawa Timur.

4. Ibu Dr. Ir. Ni Ketut Sari, MT. selaku Ketua Jurusan Teknik Informatika UPN

“Veteran” Jawa Timur yang telah dengan sabar membimbing dengan segala

kerendahan hati dan selalu memberikan kemudahan dan kesempatan bagi saya

untuk berkreasi.

5. Bapak Firza Prima Aditiawan, S.Kom., Selaku PIA Tugas Akhir Teknik

Informatika UPN “Veteran” Jawa Timur.

6. Bapak Basuki Rahmat Ssi, MT, selaku dosen pembimbing utama pada Proyek

Skripsi ini di UPN “Veteran” Jawa Timur yang telah banyak memberikan

petunjuk, masukan, bimbingan, dorongan serta kritik yang bermanfaat sejak

awal hingga terselesainya Skripsi ini.

7. Ibu syurfah Ayu Ithriah, S.Kom, selaku dosen pembimbing Pendamping

(Pembimbing II) yang telah memberikan banyak kritik dan saran yang

bermanfaat dalam menyelesaikan skripsi ini.

(7)

Skripsi dan laporan ini. Yang penulis minta hanya doa restunya, sehingga

penulis bisa membuat sesuatu yang lebih baik dari laporan ini.

9. Terimakasih buat teman seperjuangan sekaligus partner yang baik, Tri

Rahmawanto dan Syamsul Arif, yang telah berjuang bersama sampai akhir.

Serta teman-temanku Mimin, Syem, Jalal, Qiqi, Jul, dan teman-teman

D'Force yang telah memberi semangat.

10.Kawan-kawan yang telah membantu dalam penyelesaian Laporan Skripsi ini.

Yang telah memberikan dorongan dan doa, yang tak bisa penulis sebutkan

satu persatu. Terima Kasih yang tak terhingga untuk kalian semua. Semoga

(8)

MENGGUNAKAN ROTARY ENCODER

DOSEN PEMBIMBING I : BASUKI RAHMAT , Ssi. M.T. DOSEN PEMBIMBING II : SYURFA AYU ITHRIAH, S.Kom. PENYUSUN : RURY ASPRIANTO

ABSTRAK

Seiring perkembangan teknologi pekerjaan manusia saat ini mulai dapat digantikan oleh robot. Akan tetapi Robot diciptakan bukannya untuk menggantikan manusia sepenuhnya karena walau bagaimanapun ada pekerjaan-pekerjaan tertentu yang tak dapat digantikan dan diselesaikan oleh robot tanpa bantuan manusia dan begitu pula sebaliknya. Robot diciptakan untuk memudahkan manusia dalam menyelesaikan masalah, contohnya dalam mengantarkan makanan,karna keterbasan seorang pelayan dalam membawa makanan, untuk itu diciptakanlah Robot Pengantar makanan untuk membantu manusia dalam pekerjaan ini. Pada tugas akhir ini penulis mengambil contoh seorang pelayan di sebuah restoran untuk disimulasikan. Robot disini berfungsi sebagai pengantar makanan dan kemudian kembali ke tempat awal. Proses mengantar makanan dengan cara menghitung putaran roda yang di butuh kan untuk menuju meja yang di tuju. Proses pembacaan pulsa yang di dapat di hasilkan dari piringan rotary encoder dan sensor optocoupler.

(9)
(10)

2.3.2 Arsitektur ATmega16 ... 12

2.3.3 Deskripsi Mikrokonroler ATmega16 ... 13

2.3.4 Peta Memori ATmega16 ... 15

BAB III PERANCANGAN DAN ANALISI SISTEM ... 29

3.1 Analisis Sistem ... 29

3.2 Perancangan Perangkat Keras ... 30

(11)

BAB IV IMPLEMENTASI ... 47

4.1 Kebutuhan Sistem ... 47

4.1.1 Perangkat Sistem ... 47

4.2 Prosedur Pembuatan Program ... 48

4.3 Implementasi Coding ... 55

BAB V UJI COBA DAN EVALUASI ... 63

5.1 Analisa Pengujian Hardware ... 63

5.2 Pengujian Alat ... 63

5.2.1 Pengujian Sensor Optocoupler ... 63

5.2.2 Pengujian Driver Motor ... 64

5.2.3 Pengujian Limit Switch ... 65

5.2.4 Pengujian Sensor Line Tracer ... 65

5.2.5 Pengujian Kapasitas Berat ... 66

5.3 Pengujian Robot Pengantar Makanan ... 67

BAB VI PENUTUP ... 72

6.1 Kesimpulan ... 72

6.2 Saran ... 72

(12)

BAB I

PENDAHULUAN

1.1. Latar Belakang

Seiring dengan berkembangnya teknologi mikrokontroller yang sangat

pesat yang pada akhirnya mengantarkan kita pada suatu era teknologi robotika,

telah membuat kualitas kehidupan manusia semakin tinggi. Berbagai robot

canggih, sistem keamanan rumah, telekomunikasi, dan sistem komputer banyak

menggunakan mikrokontroller sebagai unit pengontrol utama. Tentunya hal ini

dimaksudkan untuk lebih mempermudah manusia untuk melakukan pekerjaan

atau activitasnya sehari-hari.

Saat ini perkembangan teknologi robotika telah mampu meningkatkan

kualitas maupun kuantitas produksi berbagai pabrik. Teknologi robotika juga telah

menjangkau sisi hiburan dan pendidikan bagi manusia. Salah satu jenis robot yang

paling banyak diminati adalah jenis mobil robot. Mobil robot yang dibuat

menggunakan mikrokontroler . Selain dapat berjalan ke obyek yang di tuju dan

juga diciptakan untuk bisa mendeteksi halangan didepannya. Menggunakan lampu

LED sebagai pemancar sinar dan photodioda sebagai penerimaan sinar yang mana

sensor inilah yang sebagai tarnsmiter serta reciver dan sensor inframerah sebagai

pendeteksi halangan, sehingga jika terdapat suatu halangan didepan robot, robot

(13)

1.2. Per umusan Masalah

Berdasarkan latar belakang yang dipaparkan di atas, maka robot

pengantar makanan dapat dirumuskan permasalahan sebagai berikut :

a. Bagaimana merangkai robot pengantar makanan dengan mikrokontroler

ATmega16.

b. Bagaimana robot pengantar makanan dapat berjalan menuju meja dan jalur

yang sudah ditentukan untuk mengantar makanan yang dibawa dengan

menggunakan Rotary Encoder.

1.3. Batasan Masalah

Agar nantinya di dalam pembahasan Laporan Akhir ini tidak keluar dari

pokok permasalahan, maka ruang lingkup permasalahannya akan dibatasi pada:

a. Robot pengantar makanan yang dibuat hanya akan berjalan di area yang telah

dibuat oleh penulis.

b. Letak posisi meja sudah ditentukan oleh penulis.

c. Bahasa pemrograman yang akan digunakan adalah bahasa C.

d. Robot hanya mengantarkan makanan.

e. Kapasitas beban yang di bawa maksimum 3kg.

1.4. Tujua n

Tujuan yang hendak dicapai dalam penyusunan Tugas Akhir ini adalah :

a. Merancang robot yang bisa bergerak dengan fungsi mengantar makanan sesuai

lintasan yang sudah ditentukan.

(14)

c. Mengimplementasikan robot dalam bentuk prototype.

1.5. Manfaat

Adapun manfaat yang dapat diambil dari pembuatan robot pengantar

makanan menggunakan Rotary Encoder dengan menggunakan ATmega16 .

a. Mengetahui membuat robot pengantar makanan yang menggunakan Rotary

Encoder.

b. Mengetahui cara kerja mikrokontroler pada pembuatan robot pengantar

makanan dengan jarak posisi meja yang telah ditentukan.

1.6. Metodologi Penelitian

Metodologi yang akan digunakan dalam perancangan robot pengantar

makanan ini terdiri dari langkah - langkah sebagai berikut :

a. Perancangan rangkaian sensor yang di pakai pada pembuatan robot pengantar

makanan.

b. Perancangan perangkat lunak menggunakan bahasa C.

c. Menguji dan mengambil data dari hasil perancangan. Pengujian untuk kerja

robot dilakukan di arena yang telah ditentukan oleh penulis.

d. Menganalisa hasil dan membuat kesimpulan.

1.7. Sistematika Penulisan

Sistematika penulisan yang dibuat dalam Tugas Akhir ini disusun dalam

(15)

Bab ini menjelaskan tentang latar belakang, rumusan masalah,

batasan masalah, tujuan masalah, metodologi penelitian dan

sistematika penulisan.

BAB II TINJAUAN PUSTAKA

Pada bab ini dijelaskan tentang teori - teori serta penjelasan-

penjelasan yang dibutuhkan dalam pembuatan robot pengantar

makanan menggunakan Rotary Encoder dan pendeteksi rintangan

dengan menggunakan ATmega16.

BAB III PERANCANGAN

Bab ini berisi tentang analisa dan perancangan sistem dalam

pembuatan Tugas Akhir Robot Pengantar Makanan dengan

Penentuan Posisi Meja Menggunakan Rotary Encoder pada

ATmega16.

BAB IV HASIL DAN PEMBAHASAN

Bab ini berisi penjelasan hasil Tugas Akhir serta pembahasannya

tentang robot pengantar makanan dengan ATmega16.

BAB V UJI COBA DAN EVALUASI

Bab ini berisi pengujian program Tugas Akhir.

BAB VI PENUTUP

Pada bab ini berisi kesimpulan dan saran untuk pengembangan

robot lebih lanjut dalam upaya memperbaiki kelemahan pada robot

pengantar makanan yang telah dibuat guna untuk mendapatkan

hasil robot yang lebih baik.

(16)
(17)

BAB II

TINJ AUAN PUSTAKA

2.1. Robot

Robot Mobil atau Mobile Robot adalah konstruksi robot yang ciri

khasnya adalah mempunyai aktuator berupa roda untuk menggerakkan

keseluruhan badan robot tersebut, sehingga robot tersebut dapat melakukan

perpindahan posisi dari satu titik ke titik yang lain. Robot mobil ini sangat disukai

bagi orang yang mulai mempelajari robot. Hal ini karena membuat robot mobil

tidak memerlukan kerja fisik yang berat. Untuk dapat membuat sebuah robot

mobile minimal diperlukan pengetahuan tentang mikrokontroler dan sensor-sensor

elektronik. Base robot mobil dapat dengan mudah dibuat dengan menggunakan

plywood /triplek, akrilik sampai menggunakan logam ( aluminium ). Robot mobil

dapat dibuat sebagai pengikut garis ( Line Follower ) atau pengikut dinding ( Wall

Follower ) ataupun pengikut cahaya.

2.1.1. Seja rah Dan Penger tian robot

Kata robot pertama kali diperkenalakan oleh seorang penulis dari Czech

yang bernama Karel pada tahun 1921. Kata Robot berasal dari kata ‘robota’ yang

berarti: pekerja sendiri. Sejarah robot bermula ketika sistem otomatis dibuat oleh

Jacques de Vaucanson pada tahun 1938, yang membuat bebek mekanik yang

dapat memakan dan mencincang biiji bijian, membuka dan menutup sayapnya.

(18)

mekanik yang dapat mnghidangkan the dan menulis huruf kanji. Lalu 1926,

Nikola Tesla mendemintrasikan perahu bot yang dapat dikontrol dengan radio.

Tahun 1928, Makoto Nishimura membuat robot pertama di Jepang.

Sejalan dengan perkembangan teknologi Elektronika, maka

perkembangan robot ini melaju pesat, seprti tahun 1948, William Grey Walter

membuat robot elektronik otomatis pertama dimana robot ini dapat merespon

cahaya dan dapat melakukan kontak dengan objek dari luar. Pada tahun 1954, saat

dimulainya zaman digital, sebuah robot digital yang dapat deprogram ditemukan

oleh George Devol. Pada abad modern ini sudah bermacam-macam robot yang

dicipta dan digunakan seperti dalam industri, rumah sakit, transportasi, pendidikan

dan kehidupan sehari-hari. Seperti robot yang digunakan untuk mengecat mobil,

robot yang digunakan untuk merakit komponen elektronik dan juga humanoid

robot yaiitu robot yang memiliki muka, yang mampu berjalan dan bertindak

seperti manusia.

2.1.2. Teor i Kinematika Robot

Terdapat dua metode analisa untuk menganalisa pergerakan robot, yaitu

analisa kinematika dan analisa dinamik. Pada bab ini penulisan hanya akan

membahas mengenai analisa kinematika. Analisa kinematika adalah analisa yang

berkaitan dengan pergerakan robot tanpa memandang efek kinersia/kelembaman

(19)

2.1.2.1. Konsep Kinematika

Konsep kinematika didasarkan pada diagram system control robotik yang

dijelaskan pada gambar 2.1.

Gambar 2.1 Diagram Sistem Kontrol Robotik

Pada Gambar 2.1 diatas, Jadi kinematika dalam robot adalah suatu bentuk

pernyataan yang berisi tentang deskripsi matematik geomatri suatu struktur robot.

dari persamaan kinetika dapat diperoleh hubungan antara konsep geometri ruang

sendi pada robot dengan konsep koordinat yang biasa dipakai untuk menentukan

kedudukan dari suatu objek. dengan kinetika programmer dapat menentukan

konfigurasi referensi input yang harus di umpankan ke setiap actuator agar robot

dapat melakukan gerakan dimultan (seluruh sendi) untuk mencapi posisi yang

akan di kehendaki.

2.2. Mikrokontr oller AVR

Mikrokontroller AVR (Alf and Vegard's Risc prosesor) standar memiliki 8

bit, dimana semua instruksi dikemas dalam kode 16-bit, dan sebagian besar

instruksi dieksekusi dalam 1 (satu) siklus clock. AVR berteknologi RISC

(Reduced Instruction Set Computing) dimana set instruksinya dikurangi dari segi

(20)

dan kompleksitas mode pengalamatannya, sedangkan seri MCS-51 berteknologi

CISC (Complex Instruction Set Computing). Konsep arsitektur AVR sendiri

awalnya dibuat oleh 2 orang mahasiswa di Norwegia dan AVR dapat

dikelompokkan menjadi empat kelas, yaitu ATtiny, keluarga ATSOSxx, keluarga

ATmega, dan AT86RFxx. Pada dasarnya yang membedakan masing-masing kelas

adalah memori, peripheral, dan fungsinya.

2.2.1. Memor i Progr am

Memori program adalah memori dimana program mikrokontroler

disimpan. Tidak hanya program, tapi juga konstanta-konstanta program. Untuk

mengakses memori program AVR digunakan instruksi LPM (Load Program

Memory). Instruksi LPM berfungsi membaca satu byte data pada memori program

dengan alamat yang ditunjuk oleh Register Z dan meng-copy-nya ke suatu register

(R0-R31). Perlu diketahui bahwa tidak semua tipe mikrokontroler AVR

mendukung instruksi LPM, salah satu contohnya adalah AT90S1200. Memori

program AVR diatur dalam satuan word (16-bit), sementara Register Z menunjuk

alamat memori program dalam satuan byte. 1 word kan tersusun dari 2 byte yakni

high-byte (8-bit MSB) dan low-byte (8-bit LSB). Digunakan bit terendah (Least

Significant Bit) dari Register Z (ZLSB). Jika ZLSB=0, maka instruksi LPM akan

membaca byte bawah pada alamat memori program yang ditunjuk oleh Register Z.

(21)

2.2.2. EEPROM

Beberapa mikrokontroler AVR telah memiliki EEPROM (Electrically

Erasable Programmable Read Only Memory) internal sebagai tempat penyimpanan

data semi-permanen. Jadi seperti halnya flash memory, EEPROM tetap dapat

menyimpan data meskipun catu daya dimatikan, dengan kata lain data tidak akan

hilang walaupun catu daya dimatikan. EEPROM internal ini tidak dipetakan

bersama dengan register utama, register I/O dan SRAM. EEPROM hanya dapat

diakses melalui register spesial dan operasi read/write sehingga waktu aksesnya

lebih lamban dari pada mengakses register ataupun SRAM. Mikrokontroler

Atmega16 memiliki alamat memory EEPROM internal sebesar 512 bit dengan

lebar data memory 8 bit. Sehingga mampu menampung data sebesar 512 byte.

Untuk melakukan intruksi write/read ke memory EEPROM dilakukan melalui

beberapa register yaitu register EEARH, EEARL, EEDR dan EECR.

2.3. Mikrokontr oler ATMega16

Mikrokontroler adalah sebuah sistem komputer lengkap dalam satu serpih

(chip). Mikrokontroler lebih dari sekedar sebuah mikroprosesor karena sudah

terdapat atau berisikan ROM (Read-Only Memory), RAM (Read-Write Memory),

beberapa bandar masukan maupun keluaran, dan beberapa peripheral seperti

pencacah/pewaktu, ADC (Analog to Digital converter), DAC (Digital to Analog

converter) dan serial komunikasi.Salah satu mikrokontroler yang banyak di

(22)

(Reduce Instuction SetCompute) 8 bit berdasarkan arsitektur Harvard. Secara

umum mikrokontrolerAVR dapat dapat dikelompokkan menjadi 3 kelompok, yait

u keluarga AT90Sxx,ATMega dan ATtiny. Pada dasarnya yang membedakan m

asing-masing kelas adalah memori, peripheral, dan fiturnya

Seperti mikroprosesor pada umumnya, secara internal mikrokontroler

ATMega16 terdiri atas unit-unit fungsionalnya Arithmetic and Logical Unit

(ALU), himpunan register kerja, register dan dekoder instruksi, dan pewaktu

beserta komponen kendali lainnya. Berbeda dengan mikroprosesor

mikrokontroler menyediakan memori dalam serpih yang sama dengan

prosesornya (in chip).

2.3.1. Konfigurasi Pin ATMega16

Konfigurasi pena (pin) mikrokontroler Atmega16 dengan kemasan 40-

pena dapat dilihat pada Gambar 2.2. Dari gambar tersebut dapat terlihat

ATMega16 memiliki 8 pena untuk masing-masing bandar A (Port A), bandar B

(Port B), bandar C (Port C), dan bandar D (Port D).fungsi dari masing-masing pin

ATMEGA16 sebagai berikut :

1) Vcc merupakan pin yang berfungsi sebagai masukan catu daya

2) Gnd merupakan pin ground

3) Port A (PA0 s/d PA7) merupakan pin input/output dua arah dan pin masukan

ADC

4) Port B (PB0 s/d PB7) merupakan pin input/output dua arah dan pin fungsi

(23)

Gambar 2.2 Pena-Pena Atmega16

2.3.2. Asitektur ATMega16

Mikrokontroler ini menggunakan arsitektur Harvard yang memisahkan

memori program dari memori data, baik bus alamat maupun bus data, sehingga

pengaksesan program dan data dapat dilakukan secara bersamaan (concurrent).

Secara garis besar mikrokontroler ATMega16 terdiri dari :

1) Arsitektur RISC dengan throughput mencapai 16 MIPS pada frek.16Mhz

2) Memiliki kapasitas Flash memori 16Kbyte, EEPROM 512Byte,SRAM 1Kb

3) Saluran I/O 32 buah, yaitu Bandar A, Bandar B, Bandar C, dan Bandar D.

4) CPU yang terdiri dari 32 buah register.

5) User interupsi internal dan eksternal

6) Bandar antarmuka SPI dan Bandar USART sebagai komunikasi serial

(24)

Gambar 2.3 Blok Diagram ATMega16

2.3.3. Deskr ipsi Mikrokontroler ATmega16

· VCC (Power Supply) dan GND(Ground)

· Bandar A (PA7..PA0)

Bandar A berfungsi sebagai input analog pada konverter A/D. Bandar A

juga sebagai suatu bandar I/O 8-bit dua arah, jika A/D konverter tidak digunakan.

(25)

untuk masing-masing bit). Bandar A output buffer mempunyai karakteristik

gerakan simetris dengan keduanya sink tinggi dan kemampuan sumber. Ketika

pena PA0 ke PA7 digunakan sebagai input dan secara eksternal ditarik rendah,

pena–pena akan memungkinkan arus sumber jika resistor internal pull-up

diaktifkan. Pena Bandar A adalah tri-stated manakala suatu kondisi reset menjadi

aktif, sekalipun waktu habis.

· Bandar B (PB7..PB0)

Bandar B adalah suatu bandar I/O 8-bit dua arah dengan resistor internal

pull-up (yang dipilih untuk beberapa bit). Bandar B output buffer mempunyai

karakteristik gerakan simetris dengan keduanya sink tinggi dan kemampuan

sumber. Sebagai input, pena Bandar B yang secara eksternal ditarik rendah akan

arus sumber jika resistor pull-up diaktifkan. Pena Bandar B adalah tri-stated

manakala suatu kondisi reset menjadi aktif, sekalipun waktu habis.

· Bandar C (PC7..PC0)

Bandar C adalah suatu bandar I/O 8-bit dua arah dengan resistor internal

pull-up (yang dipilih untuk beberapa bit). Bandar C output buffer mempunyai

karakteristik gerakan simetris dengan keduanya sink tinggi dan kemampuan

sumber. Sebagai input, pena bandar C yang secara eksternal ditarik rendah akan

arus sumber jika resistor pull-up diaktifkan. Pena bandar C adalah tri-stated

manakala suatu kondisi reset menjadi aktif, sekalipun waktu habis.

· Bandar D (PD7..PD0)

Bandar D adalah suatu bandar I/O 8-bit dua arah dengan resistor internal

pull-up (yang dipilih untuk beberapa bit). Bandar D output buffer mempunyai

(26)

sumber. Sebagai input, pena bandar D yang secara eksternal ditarik rendah akan

arus sumber jika resistor pull-up diaktifkan. Pena Bandar D adalah tri-stated

manakala suatu kondisi reset menjadi aktif, sekalipun waktu habis.

· RESET (Reset input)

· XTAL1 (Input Oscillator)

· XTAL2 (Output Oscillator)

·AVCC adalah pena penyedia tegangan untuk bandar A dan Konverter A/D.

· AREF adalah pena referensi analog untuk konverter A/D.

2.3.4. Peta Memor i ATMega16

Arsitektur ATMega16 mempunyai dua memori utama, yaitu memori data

dan memori program. Selain itu, ATMega16 memiliki memori EEPROM untuk

Menyimpan data. ATMega16 memiliki 16K byte On-chip System

Reprogrammable Flash Memory untuk menyimpan program. Instruksi ATMega16

semuanya memiliki format 16 atau 32 bit, maka memori flash diatur dalam 8K x

16 bit. Memori flash dibagi kedalam dua bagian, yaitu bagian program boot dan

aplikasi seperti terlihat pada Gambar 2.4. Bootloader adalah program kecil yang

bekerja pada saat sistem dimulai yang dapat memasukkan seluruh program

(27)

Gambar 2.4 Peta Memori ATMega16

2.3.4.1. Memor i Data (SRAM)

Memori data AVR ATMega16 terbagi menjadi 3 bagian, yaitu 32 register

umum, 64 buah register I/O dan 1 Kbyte SRAM internal. General purpose

register menempati alamat data terbawah, yaitu $00 sampai $1F. Sedangkan

memori I/O menempati 64 alamat berikutnya mulai dari $20 hingga $5F. Memori

I/O merupakan register yang khusus digunakan untuk mengatur fungsi terhadap

berbagai fitur mikrokontroler seperti kontrol register, timer/counter, fungsi-fungsi

I/O, dan sebagainya. 1024 alamat berikutnya mulai dari $60 hingga $45F

digunakan untuk SRAM internal.

2.3.4.2. Memor i Data EEPROM

ATMega16 terdiri dari 512 byte memori data EEPROM 8 bit, data dapat

ditulis/dibaca dari memori ini, ketika catu daya dimatikan, data terakhir yan

(28)

kata lain memori EEPROM bersifat nonvolatile.

2.3.5. Analog To Digital Conver ter

AVR ATMega16 merupakan tipe AVR yang telah dilengkapi dengan

8saluran ADC internal dengan resolusi 10 bit. Dalam mode operasinya, ADC dapa

t ikonfigurasi, baik single ended input maupun differential input. Selain itu, ADC

ATMega16 memiliki konfigurasi pewaktuan, tegangan referensi, mode operasi,

dan kemampuan filter derau (noise) yang amat fleksibel sehingga dapat dengan

mudah disesuaikan dengan kebutuhan dari ADC itu sendiri. ADC pada ATMega16

memiliki fitur-fitur antara lain :

· Resolusi mencapai 10-bit

· Akurasi mencapai ± 2 LSB

· aktu konversi 13-260µs

· 8 saluran ADC dapat digunakan secara bergantian

· Jangkauan tegangan input ADC bernilai dari 0 hingga VCC

· Disediakan 2,56V tegangan referensi internal ADC

· Mode konversi kontinyu atau mode konversi tunggal

· Interupsi ADC complete

· Sleep Mode Noise canceler

Proses inisialisasi ADC meliputi proses penentuan clock, tegangan

referensi, formal data keluaran, dan modus pembacaan. Register-register yan

(29)

ADC Control and Status Register A – ADCSRA

Gambar 2.5 ADC Control and Status Register A – ADCSRA

ADEN : 1 = adc enable, 0 = adc disable

ADCS : 1 = mulai konversi, 0 = konversi belum terjadi

ADATE : 1 = auto trigger diaktifkan, trigger berasal dari sinyal yang dipilih

(set pada trigger SFIOR bit ADTS). ADC akan start konversi pada

edge positif sinyal trigger.

ADIF : diset ke 1, jika konversi ADC selesai dan data register ter-update.

Namun ADC Conversion Complete Interrupt dieksekusi jika bit

ADIE dan bit-I dalam register SREG diset.

ADIE : diset 1, jika bit-I dalam register SREG di-set.

ADPS[0..2] : Bit pengatur clock ADC, faktor pembagi 0 … 7 = 2, 4, 8, 16, 32,

64, 128.

(30)

ADC Multiplexer-ADMUX

Gambar 2.6 ADC Multiplexer

REFS 0, 1 : Pemilihan tegangan referensi ADC

00 : Vref = Aref

01 : vref = AVCC dengan eksternal capasitor pada AREF

10 : vref = internal 2.56 volt dengan eksternal kapasitor pada AREF

ADLAR : Untuk setting format data hasil konversi ADC, default = 0

· Special Function IO Register-SFIOR

SFIOR merupakan register 8 bit pengatur sumber picu konversi ADC,

apakah dari picu eksternal atau dari picu internal, susunannya seperti yang terlihat

pada Gambar 2.7 berikut :

Gambar 2.7 Register SFIOR

ADTS[0...2] : Pemilihan trigger (pengatur picu) untuk konversi ADC, bit-bit ini

(31)

ADTS[0...2] dapat dilihat pada Tabel 2.2.

Tabel 2.2 Pemilihan Sumber Picu ADC

ADHSM : 1. ADC high speed mode enabled. Untuk operasi ADC,

bit

ACME, PUD, PSR2 dan PSR10 tidak diaktifkan.

2.4. PCB

PCB adalah singkatan dari Printed Circuit Board, sebuah papan yang

digunakan untuk mendukung semua komponen-komponen elektronika yang

berada diatasnya, papan PCB juga memiliki jalur-jalur konduktor yang terbuat

dari tembaga dan berfungsi untuk menghubungkan antara satu komponen dengan

komponen lainnya. adalah Bahan yang digunakan untuk membuat PCB adalah

sejenis fiber sebagai media isolasinya yang dilapisi cat berwarna hijau, sedangkan

untuk jalur konduktor menggunakan tembaga. Ada beberapa macam jenis PCB

(32)

elektronika seperti radio, TV, dll) PCB double side (maksudnya kedua sisi PCB

digunakan untuk menghubungkan komponen) dan PCB multi side ( bagian PCB

luar maupun dalam digunakan sebagai media penghantar, misalnya pada

rangkaian-rangkaian PC).

Gambar 2.8 PCB

Papan PCB dapat digolongkan atas beberapa jenis berdasarkan:

* susunan lapis

o lapis tunggal

o lapis ganda

o multi lapis (4, 6, 8 lapis)

* bentuk

o keras

o lunak (fleksibel)

o gabungan keras dan lunak

(33)

o penghubung kepadatan tinggi (High Density Interconnect)

2.5. Photodioda

Sifat dari photodioda adalah jika semakin banyak cahaya yang diterima,

maka nilai resistensi diodanya semakin kecil. Dengan melakukan sedikit

modifikasi, maka besaran resistensi tersebut dapat diubah menjadi tegangan.

Sehingga jika sensor berada diatas garis hitam, maka tegangan keluaran sensor

akan kecil, demikian pula sebaliknya.

2.6. Optocoupler

Optocoupler merupakan piranti elektronika yang berfungsi sebagai pemisah

antara rangkaian power dengan rangkaian control. Optocoupler juga merupakan

salah satu jenis komponen yang memanfaatkan sinar sebagai pemicu on/off-nya.

Opto berarti optic dan coupler berarti pemicu. Sehingga bisa diartikan bahwa

optocoupler merupakan suatu komponen yang bekerja berdasarkan picu cahaya

optic opto-coupler termasuk dalam sensor, dimana terdiri dari dua bagian yaitu

transmitter dan receiver. Dasar rangkaian dapat ditunjukkan seperti pada gambar

dibawah ini:

(34)

2.7. Kapasitor

Kapasitor ialah komponen elektronik yang mempunyai kemampuan

menyimpan electron - electron selama waktu yang tidak tertentu. Kapasitor

berbeda dengan akumulator dalam menyimpan muatan listrik terutama tidak

terjadi perubahan kimia pada bahan kapasitor, besarnya kapasitensi dari sebuah

kapasitor dinyatakan dalam farad. Pengertian lain kapasitor adalah komponen

elektronik yang dapat menyimpan dan melepaskan muatan listrik. Struktur sebuah

kapasitor terbuat dari 2 buah plat metal yang dipisahkan oleh suatu bahan

dielektrik. Bahan - bahan dielektrik yang umum dikenal miaslnya udara vakum,

keramik, gelas dan lain-lain. Jika kedua ujung plat metal diberi tegangan listrik,

maka muatan - muatan positif akan mengumpul pada salah satu kaki ( elektroda )

metalnya dan pada saat yang sama muatan - muatan negatif terkumpul pada ujung

metal yang satu lagi. Muatan positif tidak dapat mengalir menuju ujung kutup

negatif dan sebaliknya muatan negatif tidak bisa menuju ke ujung kutup positif,

karena terpisah oleh bahan dielektrik yang non-konduktif. Muatan elektrik ini

"tersimpan" selama tidak ada konduksi pada ujung- ujung kakinya.

2.8. DC Motor

DC Motor merupakan pengontrol motor DC yang menggunakan 12C-bus

sebagai jalur penyampaian data sehingga dapat lebih menghemat dan

mempermudah pengkabelan. DC motor ini dilengkapi dengan prosedur input

sehingga dapat mengetahui kecepatan motor pada saat tertentu, juga dilengkapi

dengan prosedur brake yang dapat menghentikan motor secara cepat. Selain itu

(35)

robot dan simber gerak lainnya. Untuk menggerakkan dua buah motor DC,

digunakan IC H-Bridge Motor Driver L298, yang mampu memberikan arus

maksimum sebesar 1A ke tiap motor. Input L298 ada 6 jalur, terdiri dari input data

arah pergerakan motor dan input untuk PWM inilah akan diberikan lebar pulsa

yang bervariasi dari mikrokontroler.

2.9. Rotar y Encoder

Rotary encoder adalah divais elektromekanik yang dapat memonitor

gerakan dan posisi. Rotary encoder umumnya menggunakan sensor optik untuk

menghasilkan serial pulsa yang dapat diartikan menjadi gerakan, posisi, dan arah.

Sehingga posisi sudut suatu poros benda berputar dapat diolah menjadi informasi

berupa kode digital oleh rotary encoder untuk diteruskan oleh rangkaian kendali.

Rotary encoder umumnya digunakan pada pengendalian robot, motor drive.

Rotary encoder tersusun dari suatu piringan tipis yang memiliki

lubang-lubang padabagian lingkaran piringan. LED ditempatkan pada salah satu

sisi piringan sehingga cahaya akan menuju ke piringan. Di sisi yang lain suatu

photo-transistor diletakkan sehingga photo-transistor ini dapat mendeteksi cahaya

dari LED yang berseberangan. Piringan tipis tadi dikopel dengan poros motor,

atau divais berputar lainnya yang ingin kita ketahui posisinya, sehingga ketika

motor berputar piringan juga akan ikut berputar. Apabila posisi piringan

mengakibatkan cahaya dari LED dapat mencapai photo-transistor melalui

lubang-lubang yang ada, maka photo-transistor akan mengalami saturasi dan akan

menghasilkan suatu pulsa gelombang persegi. Gambar menunjukkan bagan

(36)

dihasilkan pada satu putaran menentukan akurasi rotary encoder tersebut,

akibatnya semakin banyak jumlah lubang yang dapat dibuat pada piringan

menentukan akurasi rotary encoder tersebut. Rangkaian penghasil pulsa yang

digunakan umumnya memiliki output yang berubah dari +5V menjadi 0.5V ketika

cahaya diblok oleh piringan dan ketika diteruskan ke photo-transistor. Karena

divais ini umumnya bekerja dekat dengan motor DC maka banyak noise yang

timbul sehingga biasanya output akan dimasukkan ke low-pass filter dahulu.

Apabila low-pass filter digunakan, frekuensi cut-off yang dipakai umumnya

ditentukan oleh jumlah slot yang ada pada piringan dan seberapa cepat piringan

tersebut berputar, dinyatakan dengan:

2.9.1. Absolute Rotar y Encoder

Absolute encoder menggunakan piringan dan sinyal optik yang diatur

sedemikian sehingga dapat menghasilkan kode digital untuk menyatakan sejumlah

posisi tertentu dari poros yang dihubungkan padanya. Piringan yang digunakan

untuk absolut encoder tersusun dari segmen-segmen cincin konsentris yang

dimulai dari bagian tengah piringan ke arah tepi luar piringan yang jumlah

segmennya selalu dua kali jumlah segmen cincin sebelumnya. Cincin pertama di

bagian paling dalam memiliki satu segmen transparan dan satu segmen gelap,

cincin kedua memiliki dua segmen transparan dan dua segmen gelap, dan

seterusnya hingga cincin terluar. Sebagai contoh apabila absolut encoder memiliki

16 cincin konsentris maka cincin terluarnya akan memiliki 32767 segmen.

(37)

Karena setiap cincin pada piringan absolute encoder memiliki jumlah

segmen kelipatan dua dari cincin sebelumnya, maka susunan ini akan membentuk

suatu sistem biner. Untuk menghasilkan sistem biner pada susunan cincin maka

diperlukan pasangan LED dan photo-transistor sebanyak jumlah cincin yang ada

pada absolut encoder tersebut.

Gambar 2.10 Absolute Rotary Encoder

Sistem biner yang untuk menginterpretasi posisi yang diberikan oleh

absolute encoder dapat menggunakan kode gray atau kode biner biasa, tergantung

dari pola cincin yang digunakan. Untuk lebih jelas, kita lihat contoh absolut

encoder yang hanya tersusun dari 4 buah cincin untuk membentuk kode 4 bit.

Apabila encoder ini dihubungkan pada poros, maka photo-transistor akan

mengeluarkan sinyal persegi sesuai dengan susunan cincin yang digunakan.

contoh perbedaan diagram keluaran untuk absolute encoder tipe gray code dan

tipe binary code. Dengan absolute encoder 4-bit ini maka kita akan mendapatkan

16 informasi posisi yang berbeda yang masing-masing dinyatakan dengan kode

(38)

bersesuaian untuk absolut encoder 4-bit. Dengan membaca output biner yang

dihasilkan maka posisi dari poros yang kita ukur dapat kita ketahui untuk

diteruskan ke rangkaian pengendali. Semakin banyak bit yang kita pakai maka

posisi yang dapat kita peroleh akan semakin banyak.

2.9.2. Incremental Rotar y Encoder

Incremental encoder terdiri dari dua track atau single track dan dua

sensor yang disebut channel A dan B . Ketika poros berputar, deretan pulsa akan

muncul di masing-masing channel pada frekuensi yang proporsional dengan

kecepatan putar sedangkan hubungan fasa antara channel A dan B menghasilkan

arah putaran. Dengan menghitung jumlah pulsa yang terjadi terhadap resolusi

piringan maka putaran dapat diukur. Untuk mengetahui arah putaran, dengan

mengetahui channel mana yang leading terhadap channel satunya dapat kita

tentukan arah putaran yang terjadi karena kedua channel tersebut akan selalu

berbeda fasa seperempat putaran (quadrature signal). Seringkali terdapat output

channel ketiga, disebut INDEX, yang menghasilkan satu pulsa per putaran

berguna untuk menghitung jumlah putaran yang terjadi.

(39)

Resolusi keluaran dari sinyal quadrature A dan B dapat dibuat beberapa

macam, yaitu 1X, 2X dan 4X. Resolusi 1X hanya memberikan pulsa tunggal

untuk setiap siklus salah satu sinya A atau B, sedangkan resolusi 4X memberikan

pulsa setiap transisi pada kedua sinyal A dan B menjadi empat kali resolusi 1X.

Arah putaran dapat ditentukan melalui level salah satu sinyal selama transisi

terhadap sinyal yang kedua. Pada contoh resolusi 1X, A = arah bawah dengan B =

1 menunjukkan arah putaran searah jarum jam, sebaliknya B = arah bawah dengan

A = 1 menunjukkan arah berlawanan jarum jam.

2.10. CodeVisionAVR

CodeVisionAVR adalah salah satu Software yang digunakan untuk

memprogram AVR. CodeVisionAVR sangat mudah untuk digunakan, tinggal

download kedalam IC yang akan diberi program. Kenapa sangat mudah

digunakan karena CodeVision AVR ini sendiri sudah memiliki User Interface

yang lumayan bagus sehingga memudahkan penggunanya, selain itu sendiri

CodeVision AVR juga mempunyai banyak sekali fitur-fitur yang memang

dikhususkan untuk pemrograman AVR. Kelemahannya adalah CodeVision AVR

(40)

BAB III

PERANCANGAN DAN ANALISIS SISTEM

3.1. Analisis Sistem

Dalam pembuatan robot ini penulis memperhatikan beberapa aspek yang

dibutuhkan, yaitu :

a) Robot ini dirancang berjalan dengan menggunakan sensor rotary encoder

dan photodiode sebagai pengarah laju jalan agar tidak keluar lintasan.

b) Robot ini dirancang dengan menggunakan Mikrokontroler ATMega16

sebagai otak atau pengendali utama pada robot.

c) Robot ini menggunakan bahasa C sebagai bahasa pemrograman.

d) Robot ini dirancang untuk dapat berjalan secara otomatis pada rute yang

sudah disediakan dengan kemampuan program yang telah diinputkan di

dalam robot tersebut.

e) Robot ini dirancang untuk mengantar makanan ke tempat yang sudah

ditentukan dengan menggunakan piringan rotary encoder. Jika sudah

sampai tujuan dan barang sudah diambil, maka secara otomatis robot akan

kembali secara otomatis ke tempat semula atau start dengan melalui rute yang

ada.

f) Robot ini dirancang untuk membaca halangan pada saat dalam perjalanan

dan akan berhenti apa bila benar terdapat halangan hingga halangan

(41)

3.2. Per ancangan Per a ngkat Ker as

Pada perancangan perangkat keras ini terdiri dari sebuah PC, Usb

downloader, Optocoupler , rotary encoder serta driver motor.

3.2.1. Diagr am Blok System

Bab ini membahas tentang perancangan mengenai komponen-komponen

yang digunakan pada Robot pengantar makanan dengan penentuan posisi meja

menggunakan rotary encoder. Sebelum masuk di perancangan hardware dan

software maka akan di buat terlebih dahulu diagram blok sistem robot yang akan

di buat.

Gambar 3.1. Blok Sistem

(42)

1) PC

PC berfungsi untuk mengirimkan data yang digunakan untuk mengendalikan jalannya mobile robot. PC ini akan mengontrol mobile robot dengan memberikan data ke mikrokontroler melalui USB Downloder.

2) Mikrokontroler ATMega16

Blok ini merupakan rangkaian sistem minimum dari ATMega16 yang berfungsi untuk mengendalikan mobile robot.

3) EEPROM

Blok ini merupakan rangkaian memori eksternal yang berfungsi untuk menyimpan data yang dikirimkan dari PC. Tujuan dari penggunaan EEPROM ini adalah agar data yang dikirimkan dari pc dapat disimpan dengan kapasitas penyimpanan yang cukup besar sampai dengan 16 Kbyte untuk proses penyimpanan data pada EEPROM (write).

4) Optocoupler

Blok ini merupakan rangkaian encoder yang berfungsi untuk mengendalikan banyaknya jumlah putaran motor DC.

5). Driver motor

Blok ini merupakan rangkaian driver motor DC yang berfungsi untuk mengendalikan motor DC.

3.2.2. Rangkaian Mik rokontr oler ATMega16

Rangkaian Mikrokontroler berfungsi untuk mengolah sinyal yang

dikirimkan oleh beberapa sensor kemudian di olah. pemeriksaan sensor serta

pengaturan pergerakan motor yang diinginkan sehingga robot dapat bergerak

sesuai dengan pembacaan sensor agar robot tidak keluar jalur yang telah

ditentukan Gambar rangkaian mikrokontroler ATMega16 ditunjukkan pada

(43)

Gambar 3.2. Rangkaian Mikrokontroler ATMega16

Mikrokontroler ini menggunakan arsitektur Harvard yang memisahkan

memori program dari memori data, baik bus alamat maupun bus data, sehingga

pengaksesan program dan data dapat dilakukan secara bersamaan (concurrent).

Secara garis besar mikrokontroler ATMega16 terdiri dari :

1) Arsitektur RISC dengan throughput mencapai 16 MIPS pada frekuensi

16Mhz.Memiliki kapasitas Flash memori 16Kbyte, EEPROM 512 Byte,

dan SRAM 1Kbyte

2) Saluran I/O 32 buah, yaitu Bandar A, Bandar B, Bandar C, dan Bandar D.

3) CPU yang terdiri dari 32 buah register.

4) User interupsi internal dan eksternal

5) Bandar antarmuka SPI dan Bandar USART sebagai komunikasi serial

6) Fitur Peripheral

· Satu buah 16-bit timer/counter dengan prescaler terpisah

· Real time counter dengan osilator tersendiri

(44)

· 8 kanal, 10 bit ADC

· Byte-oriented Two-wire Serial Interface

· Watchdog timer dengan osilator internal

a) Ger ak Maju

Gerakan maju dilakukan dengan menggerakkan roda kiri dan roda kanan ke arah depan secara bersama-sama. Untuk dapat menggerakkan robot dengan arah maju, pada mikrokontroler diberikan instruksi sebagai berikut :

Mki2=1; /*putaran motor kiri arah maju Mka1=1; /*putaram moor kanan arah maju

Data di atas merupakan bilangan heksadesimal jika dikoversikan ke bilangan biner adalah 0010 1101b. Bilangan biner ini merupakan bit-bit yang dikeluarkan dari port 0 di mikrokontroler. Bit 1 artinya bit tersebut aktif dan mengeluarkan sinyal sedangkan bit 0 adalah bit tersebut tidak aktif dan tidak mengeluarkan sinyal. Untuk menggerakkan motor diberikan konfigurasi bit-bit yang harus dikeluarkan dari mikrokontroler dan masuk ke driver motor, konfigurasi pin-pin driver motor dapat dilihat pada tabel 3.1 dan tabel kebenarannya dapat dilihat pada tabel 3.2.

b) Belok Kir i dan Belok Kanan

Gerakan belok kiri dan belok kanan dilakukan dengan menggerakkan roda kiri dan kanan dengan arah yang berlawanan. Jika ingin melakukan gerakan belok kiri, maka motor kiri digerakkan dengan arah mundur dan motor kanan digerakkan dengan arah maju, dan begitu pula sebaliknya untuk belok kanan yakni menggerakkan motor kanan dengan arah mundur dan motor kiri dengan arah maju. Untuk membuat gerakan belok kiri dan belok kanan ini, pada mikrokontroler diberikan instruksi sebagai berikut :

Mki2 =1 ; putar an motor belok kanan Mka2 =1

Mki1 =1

(45)

3.2.3. Dr iver Motor DC

Untuk mengendalikan perputaran motor dibutuhkan sebuah driver. Driver

ini berfungsi untuk memutar motor searah/berlawanan arah dengan arah jarum

jam.Mikrokontroler tidak dapat langsung mengendalikan putaran dari

motor,karenaitu dibutuhkan driver sebagai perantara antara mikrokontroler dan

motor, sehingga perputaran dari motor dapat dikendalikan oleh mikrokontroler.

Rangkaian jembatan H ditunjukan pada gambar berikut ini :

Gambar 3.3 Rangkaian Driver Motor Dc

Gambar 3.3 merupakan rangkaian tegangan sebelum masuk kedalam

driver motor, rangkaian tersebut terdiri dari resistor dan kapasitor, jika suatu

rangkaian RC diberi tegangan dc maka muatan listrik pada kapasitor tidak akan

langsung terisi penuh, akan tetapi membutuhkan waktu untuk mencapai muatan

listrik pada kapasitor tersebut penuh. Setelah muatan listrik penuh dan sumber

tegangan dilepas maka muatan listrik pada kapasitor tidak akan langsung kosong

(46)

kosong. Tujuan dari penggunaan rangkaian resistor kapasitor ini adalah agar

tegangan yang masuk ke driver motor cenderung stabil, karena tegangan akan

ditampung terlebih dahulu di dalam kapasitor sebelum masuk ke driver motor

sehingga mobile robot dapat dikendalikan dengan baik.

Tabel 3.1 Konfigurasi Inputan Untuk Menjalankan Motor Penggerak

Nama Inputan Keter a ngan Fungsi

Mka1 Input 1 Motor kanan bergerak maju Input 0 Motor kanan tidak berputar Mka2 Input 1 Motor kanan bergerak mundur

Input 0 Motor kanan tidak berputar Mki1 Input 1 Motor kiri bergerak mundur

Input 0 Motor kiri tidak berputar Mki2 Input 1 Motor kiri bergerak maju

Input 0 Motor kiri tidak berputar

enka Input 1 Untuk meng-aktifkan motor kanan Input 0 Untuk menon-aktifkan motor kanan enki Input 1 Untuk meng-aktifkan motor kiri

Input 0 Untuk menon-aktifkan motor kiri

(47)

3.2.4. Motor DC

Motor DC sebagai penggerak robot yang dapat bergerak maju mundur

atau bergerak kiri kanan, pada line follower ini menggunakan dua penggerak

motor DC yang terpasang pada ke dua sisi bagian robot yaitu pada bagian kiri,

kanan, belakang robot. Dimana motor DC pada roda kiri dan kanan bertujuan

bergerak maju dan mundur, sedangkan Motor DC terhubung pada piringan rotary

encoder yang terdapat 20 lubang / pulsa yang berfungsi untuk mengatur berapa

banyak putaran yang di inginkan.

Gambar 3.4. Rangkaian Motor DC

3.2.5. Rangkaian Optocoupler

Sebagai penentu jumlah putaran pada motor dc penulis menggunakan

optocoupler yang merupakan bagian dari photo detector yaitu rangkaian

elektronika yang dapat mengubah besaran cahaya menjadi besaran listrik.

(48)

V C C 5 V

4 7 0 O h m

R 1 0 K o h m dengan NPN silicon photo transistor.

Gambar 3.5 Rangkaian Optocoupler

Sensor optocoupler terdiri dari transceiver (pemancar) dan receiver

(penerima), dimana ada infrared sebagai transceivernya yang terhubung ke VCC

dan fhoto transistor sebagai receiver. Pada saat optocoupler mengenai piringan

yang berwarna putih atau warna selain hitam maka optocoupler akan bernilai low

‘0’, tapi jika optocoupler mengenai piringan yang berwarna hitam maka output

bernilai high ‘1’. Data tersebut didapat dengan mem-pull up data keluaran dari

optocoupler dengan transistor jenis PNP. Berikut adalah rangkaian dari

optocoupler seperti yang terlihat pada gambar 3.6

(49)

Rotary / Shaft Encoder pada gambar 3.6 memiliki 20 sub berwarna hitam

dan 20 sub berwarna putih. Tujuan penggunaan rotary / shaft encoder adalah agar

kepresisian putaran pada mobile robot dapat diperoleh dengan hasil yang akurat.

Pada saat optocoupler mengenai rotary / shaft encoder yang berwarna hitam,

maka optocoupler akan mengirimkan data high ke mikrokontroler, sedangkan

apabila optocoupler mengenai rotary / shaft encoder yang berwarna putih, maka

optocoupler akan mengirimkan data low ke mikrokontroler. Pada perancangan ini,

digunakan dua buah rotary / shaft encoder dengan data keluaran dari optocoupler

dihubungkan ke mikrokontroler.

3.2.6. Rangkaian Rotar y Encoder

Untuk menggerakkan robot baik maju atau mundur dengan jarak tertentu

biasanya dilakukan dengan menghitung waktu. Dengan kecepatan dan durasi

tertentu maka akan dapat ditentukan bahwa robot telah bergerak dengan jarak

tertentu melalui persamaan s = v x t. Namun kecepatan motor pada robot tidaklah

selalu stabil seiring dengan perubahan kapasitas battery sebagai sumber daya.

Pada saat kapasitas baterai menurun maka kecepatan putar motor akan berkurang

sehingga perhitungan jarak dengan menghitung nilai t (durasi) tidaklah

akurat.Untuk perhitungan jarak yang lebih presisi dapat dilakukan dengan

menghitung gerakan roda yaitu dengan menghitung seberapa jauh roda robot

berputar.Proses ini dapat dilakukan dengan menggunakan piringan encoder yang

(50)

Gambar 3.7 Rangkaian Rotary Encoder

Prinsip kerja dari sensor ini adalah sumber cahaya diberikan VCC 5 volt

dan menghasilkan, cahaya masuk pada photodioda tidak terhalangi maka akan

menghasilkan tegangan sekitar 0 V. Dimana tegangan menjadi inputan untuk

mikrokontroler

3.2.7. Rangka dan body

Pada robot pengantar makanan ini berbentuk persegi yang nantinya akan

digunakan untuk mengantar makanan yang diletakkan dibagian atas sendiri, dan

pada bawah robot terdapat dua roda dan motor DC yang berada dibagian

belakang , dan bagian bawah depan robot terdapat 1 roda bebas untuk mengontrol

robot berjalan kesemua arah. Semua komponen seperti mikrokontroler,

komparator, driver motor terletak dibagian atas robot. Sedangkan sensor, motor

DC, roda bebas terletak dibawah robot.

Implementasi mekanik Robot Pengantar Makanan Dengan Penentuan

(51)

bawah.Bahan rangka robot terbuat dari aliminium yang digunakan untuk casis

robot adalah bahan aclyric setebal 5 mm.Pada mekanik yang dirancang digunakan

transmisi roda gigi cacing untuk bagian kemudi depan robot agar dihasilkan

reduksi kecepatan yang besar dan kemampuan mengunci pergerakan kemudi.

Gambar 3.8 Rangka dari Robot

Robot didesain berbentuk kotak dengan dua motor dibelakang dan satu

roda bebas di depan.Robot dibuat bertingkat dua,hal ini dikarenakan robot

nantinya akan membawa sebuah piring di atas sedangkan yang di bawah sebagai

tempat komponen elektrik, sedangkan rangkaian pendukung robot yang cukup

banyak serta baterai yang cukup besar. Pada tingkat dasar terdiri dari motor kanan

dan kiri, roda kanan dan kiri dengan rotary encoder, serta baterai 12 volt.Pada

tingkat kedua berupa PCB rangkaian elektronika yang menyatu dengan driver

motor serta komparator dan sensor infra merah. Hal ini dimaksudkan demi

pencapaian desain yang sebaik mungkin supaya robot mempunyai keseimbangan

beban yang baik dan mempunyai kapasitas yang memadai untuk membawa benda

(52)

3.3. Per ancangan Per a ngkat Lunak

Setelah dalam pembuatan perangkat keras selesai, bagian yang paling

penting dalam pembuatan tugas akhir ini yaitu dalam merancang suatu perangkat

lunak. Dalam tugas akhir ini, perancangan perangkat lunak dibagi menjadi 2

bagian yaitu:

1) Perancangan perangkat lunak untuk PC.

2) Perancangan perangkat lunak untuk mikrokontroler.

3.3.1. Per ancangan Per a ngkat Lunak untuk PC

Pada bagian ini menjelaskan tentang perancangan perangkat lunak untuk

PC, yang berfungsi untuk mengirim data ke mikrokontroler. Untuk perangkat

lunak disini menggunakan program CodeVision AVR, dan menggunakan bahasa C

untuk pemrogramanya.

Pada perancangan ini gerak maju dari robot telah ditentukan sesuai jarak

meja. Gerak maju dapat berubah-ubah jaraknya, hal ini dapat dilakukan dengan

mengatur berapa kali optocoupler seharusnya mengenai rotary/shaft encoder

untuk mendapatkan jarak pada gerak maju yang sesuai dengan apa yang

diinginkan. Begitu pula yang terjadi pada gerak belok pada robot, besar sudut

pada gerak belok robot dapat diatur dengan cara yang sama dengan gerak maju

pada robot, yaitu dengan mengatur berapa kali optocoupler mengenai rotary/shaft

(53)
(54)
(55)

1) Penjelasan diagram alir pemrograman

2) Awal alur program

3) Inisialisasi port A untuk ADC,Motor Dc kemudian inisialisasi port B untuk

LCD selanjutnya untuk inisisalisasi port C untuk line tracer dan yang terakhir

inisisalisasi port D untuk limit switch,rotary encoder serta keypad.

4) Pengaturan interupt [TIM0_0VF] void timer0_ovf_isr(void) untuk pengaturan

pada kecepatan motor dc.

5) Setelah dilakukan inisialisasi semua port dan pengaturan motor dc maka

selanjutnya inputan pilihan meja,dimana terdapat dua meja yaitu meja satu

dan meja dua.

6) Jika pilih meja satu (pilih==1) maka akan menjalankan perintah program

meja satu jika tidak maka akan memilih meja dua dan akan melakukan

perintah program meja dua. Jika tidak memilih baik meja satu atau meja dua

bisa kembali ke menu atau selesai

7) Jika pilihan meja satu maka maju dengan kondisi motor kanan bergerak maju

dan motor kiri bergerak maju (Mka1=1&&Mki2=1) serta dilakukan

perhitungan putaran yang di hasilkan oleh rotary encoder dimana pulsa selalu

(56)

tidak bergerak agar robot berhenti, kemudian melakukan proses ke program

selanjutnya.

9) Jika tombol limit switch pertama mendapat nilai 1 atau tombol1 di tekan oleh

piring (tombol1==1) maka masih terdapat piring karna piring masih menekan

tombol dan belum diambil, jika piring sudah di ambil (tombol1==0) maka

akan mengecek apakah tombol2 sudah di tekan,jika tombol2 ditekan

(tombol2==1) maka robot akan berbelok kemudian ke program selanjutnya.

10) Setelah piring di ambil dan tombol2 ditekan makan robot akan berbelok ke

kiri dengan kondisi motor kanan maju dan motor kiri mundur (Mki1=1 &&

Mka1=1) kemudian jika sensor line tracer led pertama membaca garis hitam

(sensor1==1)maka akan bergerak maju dan ke program selanjutnya jikatidak

(sensor1==0)maka akan berbelok hingga sensor1 membaca garis hitam

(sensor1==1).

11) Setelah robot telah berbelok maka robot akan maju sesuai putaran yang

pertama dimana putaran rotary encoder yang menghasilkan pulsa melakukan

perulangan hingga putaran sama dengan inputan.

12) Selesai dan kembali ke pemanggilan program utama.

3.4. Mar ket lapangan

Lapangan berupa garis-garis hitam yang berada di atas lantai berwarna

putih. Garis hitam disusun seperti pada gambar diatas. Ketebalan garis hitam

adalah 3cm. Garis hitam ini bisa dibuat menggunakan isolasi hitam kemudian

(57)

Gambar 3.10 Pergerakan Robot Dilapangan

Dalam aplikasi ini, robot akan bergerak mengikuti panjang lintasan yang

sudah ditentukan dan akan menuju meja yang di inginkan, seperti gambar 3.10 di

(58)

BAB IV

IMPLEMENTASI

4.1. Kebutuhan Sistem

Ada beberapa hal dalam pengembangan sistem yang harus di perhatikan

sebelum akhirnya sampai paada lngkah menjalankan program sistem yang harus

di perhatikan sebelum akhirnya sampai pada langkah menjalankan program,

antara lain penrangkat keras (hardware),perangkat lunak (software) serta

bagaimana akhirnya sistem dapat berjalan sesuai dengan program yang telah di

buat.

4.1.1. Per angkat Sistem

Perangkat yang di butuhkan dalam pembuatan robot pengantar makana

dengan penentuan posisi meja menggunakan rotary encoder ini termasuk dalam

pembuatan laporan adalah perangkat keras (hardware) dan perang kat lunak

(software).

Adapun perangkat keras yang di butuhkan dalam pengembangan sistem ini:

1) Komputer core 2 duo intel 2.1 Ghz

2) RAM 2Mb

3) Hard Disk 150 Gb

Seadngkan perangkat lunak yang di gunakan adalah CodeVision AVR

(59)

4.2. Pr osedur Pembuatan Pr ogr am

Ada beberapa cara yang harus di lakukan sebelum program di buat dan di

masukkan kedalam chip robot,yaitu:

1) Instal terlebih dahulu aplikasi CodeVision AVR V.2.05.0 pada komputer.

2) Setelah selesai menginstall pilih create new file untuk membuat project

baru untuk, kemudian pilih project. Untuk implementasi seperti pada gambar

4.1.

Gambar 4.1 Membuat Project Baru

Kemudian pilih jenis chip yang di gunakan dalam pembuatan robot

pengantar mkanan,dalam project program ini menggunkan mikrokontroler

ATmega 16 seperti pada gambar 4.2.

(60)

Setelah itu kita pilih tab chip untuk mengatur jenis chip yang di gunakan

yaitu ATmega16 dengan clock secara default yaitu 11.059200 MHz seperti pada

gambar 4.3.

Gambar 4.3 Memilih Jenis Chip Yang Di Pakai

3) Setelah selesai maka tahap selanjutnya adalah inisialisasi port agar waktu

pembuatan program dan waktu compilasi robot bisa berjalan.disini terdapat 4 port

yang dimana pada port A di gunakan untuk :

-ADC bit ke-0 dan bit-1

-Motor DC kanan bit ke-2 sampai bit ke-4

-Motor DC kiri bit ke-5 sampai bit ke-7

(61)

- Pullup dini adalah nilai dimana ketika kondisi pada saat mikro di

nyalakan maka sensor mendapat nilai 1

- Trase hold adalah perintah untuk menunggu logika 0/1 yang masuk

dalam pin input atau port out

Port B di pakai untuk inisialaisasi LCD dimana data direction dari bit ke

0 sampai bit ke 7 adalah in (input) dengan output value adalah T (trase hold)

Gambar 4.5 Bagian port B

Port C di pakai untuk inisialisasi sensor LED dimanan sensor disini di

gunakan 7 LED dimana data direction dari bit ke 0 sampai bit ke 6 adalah in

(input) dengan output value adalah T (trase hold) dan bit ke-7 digunakan untuk

Limit Switch1

(62)

Port D di gunakan untuk inisialaisasi untuk:

- Limit Switch pada bit ke-0 dengan output value adalah P (Pullup)

- Rotary encoder pada bit ke-1 sampai bit ke-3 dengan output value adalah

P (Pullup)

- Keypad (increment,decrement,select,ok )

Gambar 4.7 Bagian port D

Kemudian pilih tab External IRQ untuk mengatur interupt pada Rotary

encoder dengan mode falling Edge (pembacan pulsa dari 0 ke 1) lihat pada

gambar 4.8.

(63)

Setelah pengaturan pada External IRQ kemudian pilih tab Timer0 dimana

disini berfungsi sebagi waktu dalam pembacaan interupt pada motor DC.

Berikut implementasi nya

Gambar 4.9 Interupt timer0

- Overflow disini menjadkan T0 timer nol aktif dengan sendirinya/otomatis

pada waktu mikro kontroler di nyalakan.

- Clock value digunakan untuk kecepatan putaran motor dc atau pwm

Setelah itu pilih tab LCD dimana untuk mengatur LCD pada posisi Port

B dengan mencentang Enebale Alpanumeric agar di dalam input LCD juga bisa

menggunkan karakter angka dan huruf dengan karakter sebanyak 16 baris,untuk

(64)

Gambar 4.10 Pengaturan LCD Pada port B

Setelah itu pilih tab pada ADC untuk mengatur ADC yang akan di

gunakan pada sensor infrared,untuk pengaturan lihat pada gambar 4.11.

Gambar 4.11 Interupt Pada ADC

Setelah selesai pilih save project sebanyak 3 kali dengan nama yang sama.

4) Setelah inisialisasi port selanjutnya adalah pembuatan program yang

(65)

Gambar 4.12 Program Utama

5) Setelah program di buat terlebih dahulu kita compile agar kita dapat

mengetahui adakah program yang eror, untuk penjelasan bisa di lihat pada

gambar 4.13.

(66)

6) Setelah melakukan pengecekan maka, kita dapat mengetahui apakah

program yang kita buat terdapat eror atau tidak, apabila dalam program

terdapat kesalahan maka akan muncul tampilan eror.

7) Jika dalam program tidak terdapat kesalahan atau eror maka kita dapat

memilih menu Build all the project file yang telah ada dan kemudian

kitacompile dan di download ke mikrokontroler. Untuk penjelasan bisa lihat

pada gambar 4.14.

Gambar 4.14 Download Program ke Chip

4.2. Implementa si Coding

Pada tahap ini akan di bahas mengenai program yang telah di buat

untuk,berikut penjelasan beserta program yang telah di buat.Langkah pertama

yang harus di lakukan adalah pembuatan adalah mendeklarasi semua fungsi,delay

perintah ke perintah yang lain, dan semua port pada mikrokontroler yang telah

(67)

adalah potongan program yang merukan penentuan port pada mikrokontroler

dalam pembacaaan perintah sebelum masuk ke perintah utama. #include <mega16.h>

(68)

register dan port mikrokontroler untuk menjalankan dan meneruskan perintah

kepada piranti pendukungnya. Berikut adalah potongan program rotary encoder di

mana di buat fungsi agar mempermudah dalam pengerjaanya. interrupt [EXT_INT0] void ext_int0_isr(void)

(69)

mki1=0;

beberapa sub rutin atau fungsi yaitu:

- Sub rutin agar robot bergerak maju void maju()

(70)

void belok_kiri()

(71)

while(putaran==x)

sprintf(buffer,"%d %d %d ",putaran,count,adc_data[0]);

lcd_puts(buffer);

if(count==1||count==3||count==5||count==7)

{

(72)

- Membuat Sub rutin menu dimana di dalam fungsi ini terdapat 3 pilihan yaitu

(73)
(74)

UJ I COBA DAN EVALUASI

5.1. Analisa Pengujian Har dwar e

Pada bagian ini akan dibahas mengenai pengujian pada hardware yang

telah dirancang. Tujuan dari pengujian ini adalah untuk mengetahui apakah

hardware tersebut telah berfungsi dengan benar dan sesuai rencana atau tidak.

Pengujian ini ditujukan pada pengujian komponen yang terdapat pada robot serta

pengujian robot pengantar makanan dengan penentuan posisi meja menggunkanan

rotary encoder.

5.2. Pengujian Alat

Berikut ini adalah pengujian alat atau komponen yang terdapat pada robot

pengantar makanan.

5.2.1. Pengujian Sensor Optocoupler

Pengujian dilakukan dengan cara mengukur tegangan pada rangkaian

sensor optocoupler dalam kondisi high dan low dengan sumber catu daya sebesar

± 12volt. Tujuan dari pengujian ini adalah sama untuk memastikan kondisi high

atau low. Pada pengujian optocoupler sudah bisa terlihat begitu optocoupler

terhalang warna hitam maka kondisinya akan high dan saat terhalang warna putih

(75)

Tabel 5.1 Hasil Pengujian Pin Optocoupler

Kondisi Keterangan

High Diukur pada saat sensor terkena warna hitam

Low Diukur pada saat sensor terkena warna putih

5.2.2. Pengujian Dr iver Motor

Pada uji coba terhadap blok motor driver penulis menggunakan dua

sumber catu daya, yaitu dengan menggunakan sebuah adaptor dan 8 buah baterai

1,5 volt.

Pada saat penulis menggunakan adaptor sebagai sumber catu daya penulis

mendapati kecepatan putar dari motor cukup tinggi,walaupun pada pengatur

putaranya penulis atur pada posisi rendah, sehingga mempengaruhi pergerakan

robot ketika berbelok dan terkadang membuat robot ini keluar dari lintasan pada

saat berbelok. Namun pada saat penulis menggunakan baterai sebagai suumber

catu daya,kecepatan robot menjadi rendah dan baterai tidak bertahan lama.

Tabel 5.2. Analisis Rangkaian Driver Motor

Enable Mka1 Mka2 Mki1 Mki2 Keadaan motor Hasil uji

0 - - - - Tidak berputar Sesuai

1

0 0 0 0 Tidak berputar Sesuai

1 - - 1 Bergerak maju Sesuai

0 1 1 0 Bergerak mundur Sesuai

- 1 - 1 Belok kanan sesuai

Gambar

Gambar 2.8 PCB
Gambar 2.9 Optocoupler
Gambar 3.1. Blok Sistem
Gambar 3.2. Rangkaian Mikrokontroler ATMega16
+7

Referensi

Dokumen terkait

Persamaan dari unsur kemanusiaan tampak dalam ketetapan yang menyatakan seluruh penduduk Madinah adalah umat yang satu atau umat-umat yang mempunyai status sama

Kesimpulan yang bisa diambil dari penelitian ini adalah peringkat dalam menentukan motivasi belajar mahasiswa dikampus yang berkaitan dengan lingkungan kampus

Laporan Akhir ini berjudul “ Pengaruh Peraturan Pemerintah No 46 Tahun 2013 Terhadap Penerimaan Pajak di KPP Pratama Kayu Agung ”.. Salah satu tujuan penulisan Laporan

Kinerja SDM adalah prestasi kerja atau hasil kerja (output) baik kualitas maupun kuantitas yang dicapai SDM persatuan periode waktu dalam melaksanakan tugas kerjanya

Berdasarkan hasil yang didapat dari gabungan kosentrasi sitokinin + auksin adalah yang terbaik, sitokinin + giberelin juga memiliki pengaruh yang baik pada pertumbuhan

Kepedulian adalah minat atau ketertarikan untuk membantu orang lain. Bencana bisa menjadi sarana penyadaran kepada manusia untuk saling membantu satu sama lain. Adanya

Proses interaksi dalam kehidupan sosial akan terjadi sangat erat dengan serangkaian pertemuan dan hubungan sosial, struktur sosial atau institusi sosial merupakan bentuk

Pembacaan sistem sensor keasaman air (pH) yang dibuat dapat diperbaiki lagi dengan cara memperkecil range tegangan yang dijadikan acuan dalam menentukan nilai