• Tidak ada hasil yang ditemukan

Perancangan Software Robot Avoider Menggunakan Sensor Sharp GP2D12 Dan Inframerah Berbasis Mikrokontroler ATMEGA8535

N/A
N/A
Protected

Academic year: 2016

Membagikan "Perancangan Software Robot Avoider Menggunakan Sensor Sharp GP2D12 Dan Inframerah Berbasis Mikrokontroler ATMEGA8535"

Copied!
63
0
0

Teks penuh

(1)

PERANCANGAN SOFTWARE ROBOT AVOIDER MENGGUNAKAN SENSOR SHARP GP2D12 DAN INFRAMERAH BERBASIS

MIKROKONTROLER ATMEGA8535

Diajukan untuk melengkapi tugas dan memenuhi syarat memperoleh Ahli Madya

TUGAS AKHIR

SRI RAHAYU 052408108

PROGRAM STUDI D3 FISIKA INSTRUMENTASI DEPARTEMEN FISIKA

FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM UNIVERSITAS SUMATERA UTARA

(2)

iii

PERNYATAAN

PERANCANGAN SOFTWARE ROBOT AVOIDER MENGGUNAKAN SENSOR SHARP GP2D12 DAN INFRAMERAH BERBASIS MIKROKONTROLER

ATMEGA8535

TUGAS AKHIR

Saya mengakui bahwa tugas akhir ini adalah hasil karya saya sendiri, kecuali beberapa kutipan dan ringkasan yang masing – masing disebutkan sumbernya.

Medan, Juli 2008

(3)

ii

PERSETUJUAN

Judul : PERANCANGAN SOFTWARE ROBOT AVOIDER MENGGUNAKAN SENSOR SHARP GP2D12 DAN INFRA MERAH BERBASIS MIKROKONTROLER ATMEGA8535

Kategori : TUGAS AKHIR

Nama : SRI RAHAYU

Nomor Induk Mahasiswa : 052408108

Program Studi : DIPLOMA III FISIKA INSTRUMENTASI

Departemen : FISIKA

Fakultas : MATEMATIKA DAN ILMU PENGETAHUAN

ALAM (FMIPA) UNIVERSITAS SUMATERA UTARA

Diluluskan di Medan,

Diketahui/Disetujui oleh

Departemen Fisika FMIPA USU Pembimbing, Ketua,

(4)

iv

PENGHARGAAN

Puji dan syukur penulis panjatkan kepada ALLAH SWT Yang Maha Pemurah dan Maha Penyayang, dengan limpah kurnia-Nya kertas kajian ini berhasil diselesaikan dalam waktu yang ditetapkan.

Pada kesempatan ini penulis menyampaikan ucapan terimah kasih kepada: Bapak Drs. Ansharuddin,SST selaku dosen pembimbing pada penyelesaian tugas akhir ini yang telah memberikan panduan dan penuh kepercayaan kepada saya untuk menyempurnakan kajian ini. Ucapan terima kasih juga ditujukan kepada Ketua dan Sekretaris Departemen Fisika Bapak DR. Marhaposan Situmorang dan Ibu Dra. Justinon, M,Si, Dekan dan Pembantu Dekan Fakultas Matematika dan Ilmu Pengetahuan Alam Universitas Sumatera Utara, Semua dosen dan pegawai di FMIPA USU serta rekan – rekan FIN stambuk 2005, khususnya Afniza, Laidy, Piliyanti, Linda Romaito, Tuti dan Mas Puja yang telah membantu dan memberikan semangat pada penulis untuk menyelesaikan Laporan Tugas Akhir ini.

Ucapan terima kasih yang tidak terlupakan untuk kedua orang tua atas do’a, kasih sayang serta bantuan yang berupa materi maupun non materi yang telah diberikan pada penulis selama ini, serta seluruh anggota keluarga yang telah memberi dukungan kepada penulis dalam pnyelesainya tugas akhir ini. Serta orang – orang yang tidak bisa penulis sebutkan satu persatu, Semoga ALLAH SWT membalasnya.

(5)

v

ABSTRAK

Robot adalah suatu sistem yang memiliki kemampuan untuk mengindera lingkungan

sekitarnya dan melakukan tanggapan yang sesuai dengan tingkat kecerdasan buatan

yang ditanamkan kepadanya. Penginderaan pada robot ini membutuhkan

sensor/transducer untuk mengubah besaran fisis menjadi sinyal listrik.

Sensor/transducer ini terdiri dari berbagai jenis sesuai dengan fungsinya. Pada robot

avoider yang bersistem AMR (autonomous mobile robot) dibutuhkan sensor yang dapat mengindera besaran fisis yang ada, seperti jarak (halangan), infra merah dan

suara (sebagai sinyal start). Sensor yang ada bekerja menggunakan rangkaian penguat

dan pengkondisi sinyal yang sesuai dengan karakteristik dari masing-masing sensor

kemudian mengubahnya menjadi level tegangan digital ataupun analog yang stabil

(6)

vi

ABSTRACT

Robot is an integration of complex system that have capability to sense the

environment around and give the correct respond based on the implemented artificial

intelligence. The sensing capability of the robot need transducer/sensor to apply it, this

transducer/sensor is functioning as instrument that convert physical matter into

electrical signal. Sensor/transducer have many function depend on the kind. In this

firefighting robot which have AMR (autonomous mobile robot) system applied needs sensor/transducer which can sense any physical matter, like distance (proximity

sensing), infra-red. Every sensor/transducer work with amplifier circuit and signal

conditioning circuit wisely to the characteristics from every sensor to convert into

(7)

xi

DAFTAR GAMBAR

Halaman

Gambar 2.1 Blok Diagram Fungsional ATMega8535 7

Gambar 2.2 Pin ATMega8535 9

Gambar 2.3 Arsitektur ATMega8535 11

Gambar 2.4 Konfigurasi Memori Data AVR ATMega8535 12

Gambar 2.5 Status Register ATMega8535 13

Gambar 2.6 General Purpose Register ATMega8535 15

Gambar 2.7 Optical Distance Sensing 22

Gambar 2.8 Rangkaian dasar photodiode 25

Gambar 2.9 Grafik hubungan kuat arus reverse

terhadap terang cahaya photodiode 26

Gambar 2.10 Feedback Control 28

Gambar 3.1 Blok diagram rancangan system 30

Gambar 3.2 Rangkaian Skematik Sistem Minimum Mikrokontroler

ATMega8535 31

Gambar 3.3 Rangkaian Skematik Power Supply 32

Gambar 3.4 Prinsip triangulasi pada sensor SHARP GP2D12 34

Gambar 3.5 Bentuk fisik dari SHARP GP2D12 dengan kabel penghubungnya 35

Gambar 3.6 Karakteristik tegangan output dari SHARP GP2D12 35

(8)

xii

Gambar 3.8 Diagram Blok H-Bridge L298 37

Gambar 4.1 Flowchart Program 39

Gambar 4.2 Jendela BASCOM AVR 44

(9)

x

DAFTAR TABEL

Halaman

Tabel 2.1 Konfigurasi Setting untuk Port I/O 17

(10)

xiii

DAFTAR LAMPIRAN

Halaman

Lampiran 1: Gambar Rangkaian Robot Avoider L-1

Lampiran 2: Program Lengkap L-2

Lampiran 3: Gambar Robot Avoider L-4

Lampiran 4: Data Output Sensor Inframerah L-6

Lampiran 5: Instruction Keyword L-7

Lampiran 6: Data Sheet ATmega8535 L-8

Lampiran 7: Data Sheet SHARP GP2D12 L-13

(11)

vii

DAFTAR ISI

Halaman

PERSETUJUAN ii

PERNYATAAN iii

PENGHARGAAN iv

ABSTRAK v

DAFTAR ISI vii

DAFTAR TABEL x

DAFTAR GAMBAR xi

DAFTARA LAMPIRAN xiii

BAB 1 PENDAHULUAN 1

1.1 Latar belakang 1

1.2 Tujuan Penulisan 3

1.3 Batasan Masalah 3

1.4 Sistematika Penulisan 4

BAB 2 LANDASAN TEORI 6

2.1 Pendahuluan 6

2.2 Pengolah Data Mikrokontroler ATMega8535 6

2.2.1 Arsitektur ATMega8535 7

2.2.2 Peta Memori ATMega8535 11

(12)

v iii

2.2.4 General Purpose Register (GPR) 14

2.2.5 Pengarah Assembler 15

2.2.6 Port I/O ATMega 8535 17

2.2.7 Instruksi Transfer Data 18

2.2.8 Instruksi Aritmatika dan Logika 19

2.2.9 Instruksi Percabangan 21

2.3 Sensor 22

2.3.1 Sensor Jarak Optik 22

2.3.2 Sensor Inframerah 23

2.4 Robot Bergerak Beroda 26

2.5 Sistem Kontrol Robot 27

2.5.1 Rutin Percepatan 28

BAB 3 RANCANGAN SISTEM 30

3.1 Blok Diagram Sistem 30

3.2 Rangkaian Sistem Minimum Mikrokontroler

ATMega8535 31

3.3 Rangkaian Power Supply 32

3.4 Rangkaian Sensor Halangan/jarak 33

3.5 Rangkaian Sensor Inframerah 36

3.6 Modul H-Bridge 36

BAB 4 PENGUJIAN PROGRAM DAN ANALISA 39

4.1 Flowchart Program 39

4.2 Kode Program 40

4.3 Penjelasan Kode Program 42

4.4 BASCOM AVR 44

4.5 Pengujian Download Program ke Sistem Minimum 44

(13)

ix

BAB 5 KESIMPULAN DAN SARAN 46

5.1 Kesimpulan 46

5.2 Saran 47

DAFTAR PUSTAKA 48

(14)

v

ABSTRAK

Robot adalah suatu sistem yang memiliki kemampuan untuk mengindera lingkungan

sekitarnya dan melakukan tanggapan yang sesuai dengan tingkat kecerdasan buatan

yang ditanamkan kepadanya. Penginderaan pada robot ini membutuhkan

sensor/transducer untuk mengubah besaran fisis menjadi sinyal listrik.

Sensor/transducer ini terdiri dari berbagai jenis sesuai dengan fungsinya. Pada robot

avoider yang bersistem AMR (autonomous mobile robot) dibutuhkan sensor yang dapat mengindera besaran fisis yang ada, seperti jarak (halangan), infra merah dan

suara (sebagai sinyal start). Sensor yang ada bekerja menggunakan rangkaian penguat

dan pengkondisi sinyal yang sesuai dengan karakteristik dari masing-masing sensor

kemudian mengubahnya menjadi level tegangan digital ataupun analog yang stabil

(15)

vi

ABSTRACT

Robot is an integration of complex system that have capability to sense the

environment around and give the correct respond based on the implemented artificial

intelligence. The sensing capability of the robot need transducer/sensor to apply it, this

transducer/sensor is functioning as instrument that convert physical matter into

electrical signal. Sensor/transducer have many function depend on the kind. In this

firefighting robot which have AMR (autonomous mobile robot) system applied needs sensor/transducer which can sense any physical matter, like distance (proximity

sensing), infra-red. Every sensor/transducer work with amplifier circuit and signal

conditioning circuit wisely to the characteristics from every sensor to convert into

(16)

1

BAB 1

PENDAHULUAN

1.1Latar Belakang

Manusia membutuhkan bantuan dari sesuatu yang dapat bekerja cepat, teliti dan tidak

mengenal lelah, robot adalah jawaban dari keinginan tersebut. Robot diharapkan dapat

bekerja pada lingkungan yang berbahaya bagi kesehatan atau daerah yang harus

diamati dengan pengamatan lebih dari kemampuan panca indera manusia.

Robot yang dapat berpindah tempat tanpa campur tangan manusia disebut juga

Autonomous Mobile Robot (AMR) dan menjadi penelitian di berbagai universitas dan lembaga penelitian di seluruh dunia. Aplikasi AMR antara lain sebagi penyapu ranjau,

kurir, dan penelitian objek mineral batuan planet di luar angkasa.

Robot pada dasarnya memiliki CPU (Central Processing Unit). CPU pada robot dapat berupa mikroprosesor atau mikrokontroler. Mikrokontroler adalah sistem

komputer yang ringkas, dapat menggantikan fungsi komputer dalam pengendalian

kerja dan disain yang jauh lebih ringkas daripada komputer. Dengan ukurannya yang

(17)

2

Atmel sebagai suatu vendor yang mengembangkan dan memasarkan produk

mikrokontroler telah menjadi suatu teknologi standar bagi para desainer sistem

elektronika masa kini. Dengan perkembangan terakhir, yaitu generasi AVR (Alf and Vegard's Rise processor), para desainer sistem elektronika telah diberi suatu teknologi yang memiliki kapabilitas yang lebih maju, tetapi dengan nilai ekonomis yang cukup

minimal.

Mikrokontroler AVR memiliki arsitektur RISC 8 bit, dimana semua instruksi

dikemas dalam kode 16-bit (16-bits word) dan sebagian besar instruksi dieksekusi

dalam 1 (satu) siklus clock, berbeda dengan instruksi MCS51 yang membutuhkan 12

siklus clock. Tentu saja itu terjadi karena kedua jenis mikrokontroler tersebut memiliki

arsitektur yang berbeda. AVR berteknologi RISC (Reduced Instruction Set Computing),

sedangkan seri MCS51 berteknologi CISC (Complex Instruction Set Computing).

Secara umum, AVR dapat dikelompokkan menjadi 4 kelas, yaitu keluarga ATtiny,

keluarga AT90Sxx, keluarga ATMega, dan AT86RFxx. Pada dasarya yang

membedakan masing-masing kelas adalah memori, peripheral, dan fungsinya. Dari segi

arsitektur dan instruksi yang digunakan, mereka bisa dikatakan hampir sama.

Mikrokontroler ATMega8535 digunakan sebagai pengendali pergerakan robot,

dengan mengolah sinyal dari transducer seperti modul sensor. Kemudian sinyal keluaran dari modul sensor akan diolah oleh pengkondisi sinyal. Data jadi yang keluar

dari pengkondisi sinyal akan dikirimkan ke mikrokontroler untuk diolah, yang

kemudian akan mengendalikan arah pergerakan robot. Pada penelitian ini dibangun

sebuah robot sederhana yang dapat bergerak di dalam sebuah ruangan yang dapat

(18)

3

1.2Tujuan Penulisan

Penulisan laporan proyek ini bertujuan untuk:

1. Sebagai salah satu syarat untuk dapat menyelesaikan program Diploma Tiga

(D-III) Fisika Instrumentasi FMIPA Universitas Sumatera Utara.

2. Pengembangan kreatifitas mahasiswa dalam bidang ilmu instrumentasi

pengontrolan dan elektronika sebagai bidang yang diketahui.

3. Untuk mengaplikasikan ilmu pengetahuan yang diperoleh dari perkuliahan

terhadap realita.

4. Membuat dan mengetahui aplikasi pemrograman berbasis mikrokontroler

ATMega8535.

1.3Batasan Masalah

Pembahasan masalah dalam laporan proyek ini hanya mencakup masalah-masalah

sebagai:

1. Mikrokontroler yang digunakan sebagai pengolah data otomatis.

2. Bahasa pemrograman menggunakan pemrograman BASIC, software yang

digunakan BASCOM AVR.

3. Pembahasan mikrokontroler hanya sebatas software robot.

4. Robot hanya dirancang untuk menghindari halangan/dinding yang dideteksi

(19)

4

1.4 Sistematika Penulisan

Untuk mempermudah pembahasan dan pemahaman maka penulis membuat

sistematika pembahasan bagaimana sebenarnya prinsip kerja dari Robot Avoider

menggunakan SHARP GP2D12 berbasis mikrokontroler ATMEGA8535, maka

penulis menulis laporan ini dengan sistematika penulisan sebagai berikut :

BAB 1 PENDAHULUAN

Dalam bab ini berisikan mengenai latar belakang, tujuan penulisan,

batasan masalah, serta sistematika penulisan.

BAB 2 LANDASAN TEORI

Landasan teori, dalam bab ini dijelaskan tentang teori pendukung yang

digunakan untuk pembahasan dan cara kerja dari rangkaian. Teori

pendukung itu antara lain tentang mikrokontroler ATMega8535

(hardware dan software), bahasa program yang dipergunakan, serta cara kerja dari robot avoiderdan komponen pendukung.

BAB 3 RANCANGAN SISTEM ALAT DAN PROGRAM

Pada bagian ini akan dibahas perancangan dari alat, yaitu diagram blok

dari rangkaian, skematik dari masing-masing rangkaian dan diagram

alir dari program yang akan diisikan ke mikrokontroler ATMega8535.

BAB 4 ANALISA RANGKAIAN DAN SISTEM KERJA ALAT

Pada bab ini akan dibahas hasil analisa dari rangkaian dan sistem kerja

alat, penjelasan mengenai program-program yang digunakan untuk

mengaktifkan rangkaian, penjelasan mengenai program yang diisikan

(20)

5

BAB 5 KESIMPULAN DAN SARAN

Bab ini merupakan penutup yang meliputi kesimpulan dari pembahasan

yang dilakukan dari laporan proyek ini serta saran apakah rangkaian ini

dapat dibuat lebih efisien dan dikembangkan perakitannya pada suatu

(21)

6

BAB 2

LANDASAN TEORI

2.1Pendahuluan

Robot yang dapat berpindah tempat tanpa campur tangan manusia (Autonomous

Mobile Robot - AMR) membutuhkan 3 komponen utama dalam sistemnya.

Komponen tersebut adalah pengolah data, sensor dan penggerak. Ketiga komponen

tersebut saling berkaitan dan membentuk suatu sistem kendali yang diatur oleh pusat

kendali pada robot.

2.2Pengolah Data Mikrokontroler ATMega8535

Mikrokontroler AVR (Alf and Vegard’s Risc Processor) memiliki arsitektur RISC 8-bit, dimana semua instruksi dikemas dalam kode 16-bit (16-bits words) dan sebagian

besar instruksi dieksekusi dalam 1 (satu) siklus clock, berbeda dengan instruksi

MCS-51 yang membutuhkan 12 siklus clock. Ini terjadi karena AVR berteknologi

RISC (Reduced Instruction Set Computing) atau memiliki set instruksi yang lebih sederhana, sedangkan seri MCS-51 berteknologi CISC (Complex Instruction Set Computing) atau set instruksi yang kompleks.

(22)

7

lengkap jika dibandingkan dari keluarga MCS-51 dan memiliki kesamaan arsitektur

dengan mikrokontroler PICmicro dari produsen Microchip yang juga memiliki

arsitektur RISC 8-bit.

Pemrograman AVR tergolong mudah karena pemrograman AVR

menggunakan teknik ISP (In-System Programming), yaitu kode hasil kompilasi berupa file HEX dapat langsung didownload pada mikrokontroler di dalam

rangkaian aplikasi.

2.2.1 Arsitektur ATMega8535

(23)

8

Dari gambar tersebut dapat dilihat bahwa ATMega8535 memiliki bagian sebagai

berikut:

1. Saluran I/O sebanyak 32 saluran, yaitu Port A, Port B, Port C, dan PortD.

2. ADC 10 bit sebanyak 8 saluran.

3. Tiga buah Timer/Counter dengan kemampuan pembandingan.

4. CPU yang terdiri atas 32 buah register.

5. Watchdog Timer dengan osilator internal.

6. SRAM sebesar 512 byte.

7. Memori Flash sebesar 8 kb dengan kemampuan Read While Write.

8. Unit interupsi internal dan eksternal.

9. Port antarmuka SPI.

10. EEPROM sebesar 512 byte yang dapat diprogram saat operasi.

11. Antarmuka komparator analog.

12. Port USART (Universal Serial Asynchronous serial Receiver and Transmitter) untuk komunikasi serial.

Adapun kemampuan umum dari ATMega8535 adalah sebagai berikut:

1. Sistem mikroprosesor 8 bit berbasis RISC dengan kecepatan maksimal

16 MHz.

2. Kapabilitas memori flash 8 KB, SRAM sebesar 512 byte, dan EEPROM

(Electrically Erasable Programable Read Only Memory) sebesar 512 byte.

(24)

9

4. Portal komunikasi serial (USART) dengan kecepatan maksimal

2,5 Mbps.

5. Enam pilihan mode sleep menghemat penggunaan daya listrik.

Gambar 2.2 Pin ATMega8535

Konfigurasi pin ATMega8535 bisa dilihat pada Gambar 2.2. Dari gambar

tersebut dapat dijelaskan secara fungsional konfigurasi pin ATMega8535 sebagai

berikut:

1. VCC merupakan pin yang berfungsi sebagai pin masukan catu daya.

2. GND merupakan pin ground.

3. Port A (PA0..PA7) merupakan pin I/0 dua arah dan pin masukan ADC.

4. Port B (PB0..PB7) merupakan pin I/O dua arah dan pin fungsi khusus,

yaitu Timer/Counter, komparator analog, dan SPI.

5. Port C (PC0..PC7) merupakan pin I/O dua arah dan pin fungsi khusus,

(25)

10

6. Port D (PD0..PD7) merupakan pin I/O dua arch dan pin fungsi khusus,

yaitu komparator analog, interupsi eksternal, dan komunikasi serial.

7. RESET merupakan pin yang digunakan untuk me-reset mikrokontroler.

8. XTAL 1 dan XTAL2 merupakan pin masukan clock eksternal.

9. AVCC merupakan pin masukan tegangan untuk ADC.

10. AREF merupakan pin masukan tegangan referensi ADC.

Mikrokontroler AVR memiliki model arsitektur Harvard, di mana memori

dan bus untuk program dan data dipisahkan. Dalam arsitektur AVR, seluruh 32

register umum yang ada terhubung langsung ke ALU prosesor. Hal inilah yang

membuat AVR begitu cepat dalam mengeksekusi instruksi. Dalam satu siklus

clock, terdapat dua register independen yang dapat diakses oleh satu instruksi.

Teknik yang digunakan adalah fetch during execution atau memegang sambil mengerjakan. Hal ini berarti, dua operan dibaca dari dua register sekaligus, pertama

dilakukan eksekusi operasi, dan hasilnya disimpan kembali dalam salah satu

register, semuanya dilakukan hanya dalam satu siklus clock. Arsitektur AVR

(26)

11

Gambar 2.3 Arsitektur ATMega8535

2.2.2 Peta Memori ATMega8535

AVR ATMega8535 memiliki ruang pengalamatan memori data dan memori

program yang terpisah. Memori data terbagi menjadi 3 bagian, yaitu 32 buah register

umum, 64 buah register I/O, dan 512 byte SRAM Internal. Register keperluan umum

menempati space data pada alamat terbawah, yaitu $00 sampai $1F. Sementara itu,

register khusus untuk menangani I/O dan kontrol terhadap mikrokontroler

menempati 64 alamat berikutnya, yaitu mulai dari $20 hingga $5F. Register tersebut

merupakan register yang khusus digunakan untuk mengatur fungsi terhadap berbagai

peripheral mikrokontroler, seperti kontrol register, timer/counter, fungsi-fungsi I/O,

(27)

12

pada lokasi $60 sampai dengan $25F. Konfigurasi memori data ditunjukkan pada

Gambar 2.4.

Register Umum Alamat

R0 $0000

R1 $0001

…. ….

R30 $001E

R31 $001F

Register I/O

$00 $0020

$01 $0021

…. ….

$3E $005E

$3F $005F

SRAM Internal $0060 $0061 …. $025E $025F (RAMEND)

Gambar 2.4 Konfigurasi Memori Data AVR ATMega8535

Memori program yang terletak dalam Flash PEROM tersusun dalam word

atau 2 byte karena setiap instruksi memiliki lebar 16-bit atau 32-bit. AVR

ATMega8535 memiliki 4Kbytex16-bit Flash PEROM dengan alamat mulai dari $000 sampai $FFF sehingga mikrokontroler AVR tersebut memiliki 12-bit Program

Counter (PC) sehingga mampu mengalamati isi Flash. Selain itu, AVR

(28)

13

2.2.3 Status Register (SREG)

Status Register adalah register berisi status yang dihasilkan pada setup operasi yang

dilakukan ketika suatu instruksi dieksekusi. SREG merupakan bagian dari inti CPU

mikrokontroler ATMega8535.

BIT 7 6 5 4 3 2 1 0

I T H S V N Z C SREG

Re a d / Write R/ W R/ W R/ W R/ W R/ W R/ W R/ W R/ W

Initia l Va lue 0 0 0 0 0 0 0 0

Gambar 2.5 Status Register ATMega8535

a. Bit 7 - I: Global Interrupt Enable

Bit harus diset untuk meng-enable interupsi. Setelah itu, Anda dapat

mengaktifkan interupsi mana yang akan Anda gunakan dengan cara

meng-enable bit kontrol register yang bersangkutan secara individu. Bit akan

di-clear apabila terjadi suatu interupsi yang dipicu oleh hardware, dan bit

tidak akan mengizinkan terjadinya interupsi, serta akan diset kembali oleh

instruksi RETI.

b. Bit 6 - T: Bit Copy Storage

Instruksi BLD dan BST menggunakan bit-T sebagai sumber atau tujuan

dalam operasi bit. Suatu bit dalam satu register GPR dapat disalin ke bit T

menggunakan instruksi BST, dan sebaliknya bit-T dapat disalin kembali

(29)

14

c. Bit 5 - H: Half Carry Flag

d. Bit 4 - S: Sign Bit

Bit-S menimpakan hasil operasi EOR antara flag-N (negatif) dan flag V

(komplemen dua overflow).

e. Bit 3 - V: Two's Complement Overflow Flag

Bit berguna untuk mendukung operasi aritmatika.

f. Bit 2 - N: Negative Flag

Apabila suatu operasi menghasilkan bilangan negatif, maka flag-N akan

diset.

g. Bit 1- Z: Zero Flag

Bit akan diset bila hasil operasi yang diperoleh adalah nol.

h. Bit 0 - C: Carry Flag

Apabila suatu operasi menghasilkan carry, maka bit akan diset.

2.2.4 General Purpose Register (GPR)

Seluruh instruksi operasi register dalam AVR memiliki akses langsung ke semua

register. Kecuali untuk lima instruksi aritmatika-logika yang mengoperasikan

register dengan konstanta (SBCI, SUBI, CPI, ANDI, dan ORI) dan LDI yang

mengoperasikan pemuatan data konstan langsung (immediate). Instruksi-instruksi tersebut dioperasikan hanya pada separo lokasi register terakhir GPR (R16 sampai

(30)

15

lainnya yang mengoperasikan dua register atau satu register dapat melakukan akses

terhadap seluruh register.

Alamat

R0 $0000

R1 $0001

R15 $000F

R16 $001F

R26 $1A register x byte bawah

R27 $1B register x byte atas

R28 R29 R30

[image:30.595.201.422.174.406.2]

R31 $1F register Z byte atas

Gambar 2.6 General Purpose Register ATMega8535

2.2.5 Pengarah Assembler

Pengarah Assembler berguna untuk mengubah penunjuk kode assembly. Sebagai

contoh, kita dapat mengubah lokasi kode asm kits pada memori program, memberi

label pada SRAM, atau mendefinisikan suatu konstanta menggunakan sintaksis

pengarah assembler. Berikut beberapa sintaksis pengarah assembler yang terdapat

(31)

16

a. .cseg (code segment); pengarah ini berguna sebagai penunjuk bahwa kode

atau ekspresi di bawahnya diletakkan pada memori program. Pengarah ini

biasanya digunakan setelah pengarah.dseg

b. .db (data byte); pengarah ini memungkinkan kita dapat meletakkan

konstanta, seperti serial number dan look-up table di memori program

pada alamat tertentu.

c. .dw (data word); pengarah ini sama seperti data byte, tetapi dalam ukuran

word

d. org; digunakan untuk mengeset program counter pada alamat tertentu.

Digunakan pada awal program org 0x0000 atau pengarah pada vektor

interupsi, misalnya vektor interupsi untuk interupsi eksternal 1, maka

alamat vektor interupsinya org 0x0002.

e. .byte; digunakan untuk inisilisasi besar byte yang digunakan pada SRAM

untuk label tertentu.

f. .dseg (data segmen); pengarah ini berguna sebagai penunjuk bahwa kode

di bawahnya berfungsi untuk melakukan setting SRAM.

g. .def (define); pengarah ini memungkinkan suatu register dapat

didefinisikan. Contoh:.def temp = r16

h. .equ; berguna untuk memberi nama suatu konstanta yang tidak dapat

berubah. Contoh:.equ max = 19200

i. .set; sama seperti equ, tetapi konstantanya dapat diubah. Contoh: set baud

(32)

17

2.2.6 Port I/O ATMega8535

Port I/O pada mikrokontroler ATmega8535 dapat difungsikan sebagai input

ataupun output dengan keluaran high atau low. Untuk mengatur fungsi port I/O

[image:32.595.187.443.268.369.2]

sebagai input ataupun output, perlu dilakukan setting pada DDR dan Port. Berikut

tabel pengaturan port I/O:

Tabel 2.1 Konfigurasi setting untuk Port I/O

DDR bit = 1 DDR bit = 0

Port bit = 1 Output High Input Pull-Up

Port bit = 0 Output Low Input Floating

Dari tabel di atas, menyetting input/output adalah:

a. Sebagai Input; DDR bit 0 (Low) dan Port bit 1 (High)

b. Untuk Output High; DDR bit 1 (High) dan Port bit 1 (Low)

c. Untuk Output Low; DDR bit 1 (High) dan Port bit 0 (Low)

Contohnya dalam kode program untuk mengeset setiap Port I/O:

ldi R16, 0xff ;Isi register dengan nilai High semua

ldi R17, 0x00 ;Isi register dengan nilai Low semua

out DDRA, R17 ;input ;Input ADC

out PORTA, R17 ;floating ;Tanpa pull-up

out DDRB, R16 ;output ;Output sensor

out PORTB, R17 ;low ;Aktif High

out DDRC, R16 ;output ;Output ke Motor dan Pompa

out PORTC, R17 ;low ;Aktif High

out DDRD, R17 ;input ;Input sensor

[image:32.595.142.480.560.724.2]
(33)

18

Logika port I/O dapat diubah-ubah dalam program secara byte atau hanya bit

tertentu. Mengubah sebuah keluaran bit I/O dapat dilakukan menggunakan perintah

cbi (clear bit I/O) untuk menghasilkan output low atau perintah sbi (set bit I/O) untuk

menghasilkan output high. Perubahan secara byte dilakukan dengan perintah in atau

out yang menggunakan register bantu.

Port I/O sebagai output hanya memberikan arus sourcing sebesar 20mA sehingga untuk menggerakkan motor atau kendali alat elektronis yang lain, perlu

diberikan penguat tambahan atau dapat juga dengan konfigurasi port sebagai sinking current, seperti pada port yang digunakan untuk menyalakan LED, yang akan menyala saat port diberikan logika low dan mati saat port logika high.

2.2.7 Instruksi Transfer Data

Instruksi transfer data digunakan untuk memindahkan data antar register, antara port

dan register, juga antara GPR (General Purpose Register) dengan internal pheripheral register (register inti AVR). Beberapa contoh instruksi transfer data.

a. in; membaca data I/O Port atau internal peripheral register (Timers, UART, dsb) ke dalam register.

contoh: in r16, PinA

b. out; menulis data sebuah register ke I/O Port atau internal peripheral register

(34)

19

contohl: ldi r16, 0b11111111 ; bentuk biner out PortD, r 16 ; portd high semua

contoh2: ldi r17, 0xff ; bentuk heksadesimal (0xff = 255) out PortD, r17 ; portd juga high semua

contoh3: Idi r18, 255 ; bentuk desimal out PortD, r18 ; portd juga high semua

d. sbi (set bit in I/O) ; untuk membuat logika high satu bit I/O register

contoh: sbi PortB,7 ; set bit ke-7 dari PortB e. cbi (clear bit in I/O) ; untuk membuat logika low satu bit I/O register

contoh: cbi PortC,5 ; clear bit ke-5 dari PortC

f. sbic (skip if bit in 110 is cleared); untuk mengecek apakah bit I/O register clear. Jika ya, skip satu perintah di bawahnya.

contoh: sbic PortA,3 ; skip perintah jika bit ke3 PortA clear g. sbis (skip if bit in I/O is set); untuk mengecek apakah bit I/O register set.

Jika ya, skip satu perintah di bawahnya.

contoh: sbis PortA,0 ; skip perintah jika bit ke-0 PortA set

2.2.8 Instruksi Aritmatika dan Logika

Data yang dipakai dalam mikrokontroler ATmega8535 direpresentasikan dalam

sistem bilangan biner (basis 2), desimal (basis 10), dan bilangan heksadesimal (basis

16). Data yang terdapat di mikrokontroler dapat diolah dengan berbagai operasi

aritmatik (penjumlahan, pengurangan, dan perkalian) maupun operasi logika {AND,

(35)

20

a. add; menambahkan isi dua register

contoh: add r15,r14 ; r15 =r15+r14 b. sub; mengurangi isi dua register

contoh: sub r19,r14 ; r19 = r19-r14

c. mul; mengalikan dua register. Perkalian 8 bit dengan 8 bit akan menghasilkan bilangan 16 bit yang disimpan pada r0 untuk byte rendah

dan r1 untuk byte tinggi. Untuk memindahkan bilangan 16 bit

antar-register, gunakan perintah movw (Copy Register Word).

contoh: mul r2 1,1-20 ; r1:r0 = r21 *r20 d. and; untuk operasi logika And dua register

contoh: and r23,r27

e. andi; untuk operasi logika And register dengan konstanta immediate

contoh: andi r25,0b11110000 ; konstanta biner f. or; untuk operasi logika or dua register

contoh: or r18,r17

g. ori; untuk operasi logika or dengan konstanta immediate

contoh: ori r24,0xfe ; konstanta heksadesimal h. inc; menaikkan 1 isi register

contoh: inc r0 i. dec; menurunkan I isi register

contoh: dec rl

j. clr; clear register, isi register menjadi 0

contoh: clr r16

k. ser; set all bits in register, isi register menjadi 1

(36)

21

2.2.9 Instruksi Percabangan

Dengan memperhatikan kondisi tertentu, perlu digunakan instruksi percabangan

bersyarat untuk melakukan percabangan. Instruksi percabangan bersyarat akan

melakukan lompatan menuju suatu rangkaian program (berlabel) bila suatu kondisi

dipenuhi atau suatu kondisi tidak dipenuhi

a. sbic (skip if bit in I/O is cleared); untuk mengecek apakah bit I/O register clear. Jika ya, skip satu perintah di bawahnya.

contoh: sbic PortA,3 ; skip perintah jika bit ke-3 PortA clear b. sbis (skip if bit in I/0 is set); untuk mengecek apakah bit I/O register set.

Jika ya, skip satu perintah di bawahnya.

contoh: sbis PortA,0 ; skip perintah jika bit ke-0 PortA c. sbrc (skip if bit in register is cleared); untuk mengecek apakah bit

register clear. Jika ya, skip satu perintah di bawahnya. sbrs (skip if bit in

register is set); untuk mengecek apakah bit register set. Jika ya, skip satu

perintah di bawahnya.

d. cp (compare); untuk membandingkan dua register. e. mov; mengopi dua register.

f. cpi (compare with immediate); untuk membandingkan register dengan konstanta immediate.

(37)

22

2.3Sensor

Terdapat berbagai macam sensor yang digunakan dalam penelitian ini, untuk itu akan

dipaparkan landasan teori singkat untuk masing-masing sensor yang digunakan.

2.3.1 Sensor Jarak Optik

Untuk bergerak dengan baik dan dapat memetakan sirkuit, maka robot harus mampu

mengukur dengan akurat jarak halangan(dinding) yang terdapat di depan atau

[image:37.595.186.453.436.664.2]

disamping robot. Maka penulis mencoba menggunakan metode Optical Distance Sensing atau penginderaan jarak secara optik. Artinya sensor yang digunakan menggunakan prinsip pemantulan segitiga (triangulation).

Gambar 2.7 Optical Distance Sensing

80 cm

(38)

23

SHARP GP2D12 adalah sensor yang menggunakan metode pemantulan

segitiga ini, adapun jarak maksimum yang dapat dideteksi adalah ± 80 cm dan jarak

terdekat adalah 10 cm.

Sinar inframerah yang ditembakkan oleh pemancar sensor inframerah pada

sensor SHARP GP2D12 akan disejajarkan oleh lensa penyearah sehingga sinar

inframerah memancar ke satu arah saja. Kemudian sinar inframerah akan menumbuk

permukaan halangan (dinding) dan akan dipantulkan. Pantulan sinar inframerah ini

akan ditangkap oleh lensa pem-fokus yang diteruskan ke CCD-Array (Charged

Coupled Device) atau susunan piranti peka cahaya berupa susunan photodioda

(PSD/Position Sensitive Detector). Perkenaan pada setiap bagian dari array tergantung sudut tumbukan yang dihasilkan, semakin kecil sudut tumbukan berarti halangan

semakin jauh juga sebaliknya. Kemudian sebagian dari susunan yang terkena pantulan

akan memberikan output sinyal ke rangkaian processing-unit pada sensor, yang pada

akhirnya akan mengeluarkan output tegangan analog. Skema pantulan dapat dilihat

pada Gambar 2.7.

2.3.2 Sensor Inframerah

Inframerah adalah radiasi elektromagnetik dari panjang gelombang lebih panjang dari

cahaya tampak, tetapi lebih pendek dari radiasi gelombang radio. Namanya berarti

"bawah merah" (dari bahasa Latin infra, "bawah"), merah merupakan warna dari cahaya tampak dengan gelombang terpanjang. Radiasi inframerah memiliki jangkauan

(39)

24

Spektrofotometri Infra Red atau Infra Merah merupakan suatu metode yang

mengamati interaksi molekul dengan radiasi elektromagnetik yang berada pada daerah

panjang gelombang 0,75 ฀1.000 nm atau pada Bilangan Gelombang 13.000 ฀10 cm-1.

Radiasi elektromagnetik dikemukakan pertama kali oleh James Clark Maxwell, yang menyatakan bahwa cahaya secara fisis merupakan gelombang elektromagnetik,

artinya mempunyai vektor listrik dan vektor magnetik yang keduanya saling tegak

lurus dengan arah rambatan.

LED inframerah adalah suatu komponen yang tersusun dari sambungan PN

yang akan memancarkan cahaya bila dialiri arus dengan bias maju. Proses pancaran

cahaya berdasarkan perubahan tingkat energi ketika elektron dan lubang bergabung

atau berekombinasi di daerah N pada saat LED dibias maju. Selama perubahan energi

ini, proton akan dibangkitkan, sebagian akan diserap oleh bahan semikonduktor dan

sebagian lagi akan dipancarkan sebagai energi cahaya.

Sensor inframerah yang digunakan pada robot ini adalah berupa photodioda.

Photodioda digunakan untuk mendeteksi inframerah yang dipancarkan oleh objek

yang hendak diukur. Photodioda memiliki lensa yang berfungsi untuk memfokuskan

sinar jatuh pada pertemuan pn. Konduktivitas dioda ditentukan langsung oleh

cahaya yang jatuh padanya. Energi pancaran cahaya yang jatuh pada pertemuan pn

menyebabkan sebuah elektron berpindah ke tingkat energi yang lebih tinggi.

(40)

25

Rangkaian dasar photodioda ditunjukkan dengan gambar 2.8. Photodioda

dihubungkan seri dengan sebuah R dan dicatu dengan sumber tegangan DC. Arus

balik akan bertambah besar bila sebuah cahaya jatuh pada pertemuan pn

photodioda dan arus balik (Iλ) akan menjadi sangat kecil bila pada pertemuan pn

photodioda tidak terdapat cahaya yang jatuh padanya.

Arus yang mengalir pada kondisi gelap disebut "dark current" sedangkan resistansinya ditentukan dengan hukum Ohm sebagai berikut:

R R

V R

I

Gambar 2.9 menunjukkan kurva karakteristik photodioda. Arus reverse

ditentukan oleh tegangan balik. Arus balik ditunjukkan dengan sumbu Y dalam

satuan mA. Adapun kuat cahaya ditunjukkan pada sumbu X dengan satuan foot

[image:40.595.250.370.482.610.2]

candles.

(41)
[image:41.595.207.434.65.253.2]

26

Gambar 2.9 Grafik hubungan kuat arus reverse terhadap terang cahaya photodioda

2.4Robot Bergerak Beroda

Robot bergerak beroda (Wheeled Mobile Robot) didefinisikan sebagai “sebuah robot yang memiliki kemampuan untuk bergerak pada sebuah permukaan hanya melalui

pergerakan dari roda yang terpasang pada robot dan menyinggung permukaan

lantai”. Roda terpasang adalah sebuah alat yang memungkinkan pergerakan relatif

antara benda tempat roda terpasang dan permukaan yang menyinggung tepi roda

yang ditujukan untuk memiliki satu titik kontak gelinding.

Agar pada sebuah robot bergerak dapat diperlakukan perhitungan yang sesuai

diasumsikan:

a. Robot terbuat dari bahan yang rigid (tidak berubah bentuk).

b. Robot memiliki maksimum satu kemudi untuk setiap roda.

c. Sumbu kemudi tegak lurus terhadap lantai.

(42)

27

e. Tidak terjadi selip antara roda dengan lantai.

f. Gaya gesek putaran pada titik kontak cukup kecil untuk memutar roda.

2.5Sistem Kontrol Robot

Sistem pengendalian robot dapat digolongkan ke dalam closed-loop feedback control

(kendali terumpan putaran tertutup). Dalam feedback control, parameter yang dikendalikan diukur, dibandingkan dengan referensi, dan perbedaannya digunakan

untuk menentukan langkah selanjutnya yang diambil.

Contoh umumnya dapat dilihat pada pengendali motor. Pengendali digital

mengirimkan tegangan acuan ke penguat melalui DAC, yang digunakan untuk

menggerakkan motor.

Sinyal analog, seperti besar kecepatan dari tachometer, harus diubah lagi ke sinyal digital melalui ADC. Sinyal terukur kemudian dibandingkan dengan sinyal referensi

pada program/sinyal digital, sehingga didapat error/kesalahan

Error = acuan - umpan balik

Error ini diperkuat oleh fungsi kendali agar mendapatkan keluaran untuk menggerakkan penguat.

Input penguat = keluaran kontrol = fungsi (error)

(43)

28

pengendali. Control law menghitung besar energi yang harus diberikan untuk menghilangkan error.

2.5.1 Rutin Percepatan

Adalah subrutin perpindahan robot untuk bergerak dari kecepatan nol menuju

suatu kecepatan yang diinginkan. Kecepatan ini kemudian dibandingkan dengan

kecepatan referensi. Selisih yang diperoleh digunakan untuk mengatur duty cyle

[image:43.595.178.449.364.518.2]

tegangan PWM yang diberikan ke motor. Prinsip ini ditunjukkan pada Gambar 2.10.

Gambar 2.10 Diagram blok pengendalian kecepatan robot.

Dari Gambar 2.10 besarnya duty cyle (DC) yang diberikan ke masing-masing

motor adalah sesuai dengan persamaan :

Kdc ditentukan pada saat pengujian robot yaitu besarnya duty cyle PWM yang

(44)

29

ditentukan dengan mencari nilai sebesar mungkin namun sistem tetap stabil. Setelah

beberapa saat rutin percepatan dilaksanakan maka robot akan melaju dengan

kecepatan konstan sebesar Sd dan kemudian pergerakan robot diatur oleh sub rutin

(45)

30

BAB 3

RANCANGAN SISTEM

[image:45.595.179.498.273.730.2]

3.1Blok Diagram Sistem

Gambar 3.1 Blok diagram rancangan sistem

SENSOR (Reflective Optosensor) Kiri dan Kanan Robot

PENGKONDISI SINYAL

ADC Internal ATMega8535

PORT C Mikrokontroler

ATMega8535

H--Bridge Sensor SHARP

GP2D12

Sistem Minimum ATMega8535

Motor Data (Halangan, Infra Merah)

Geared Motor DC Kiri

(46)

31

Robot terdiri dari beberapa sensor, yaitu sensor SHARP GP2D12 dan sensor

optocoupler yang berjenis reflective optosensor. Sensor SHARP GP2D12 ini

diguanakan untuk sensor depan robot dan sensor optocoupler digunakan untuk sensor

halangan kanan dan kiri robot. Mikrokontroler menggunakan ATMega 8535 dengan

clock speed 8 MHz. H-Bridge menggunakan IC L298. Motor DC menggunakan jenis

geared motor DC dengan gear ratio 120 : 1.

3.2Rangkaian Sistem Minimum Mikrokontroler ATMega8535

Rangkaian skematik dan layout PCB sistem minimum mikrokontroler ATMega8535 dapat dilihat pada gambar 3.2. di bawah ini:

[image:46.595.79.553.424.652.2]

(47)

32

Pin 12 dan 13 dihubungkan ke XTAL 8 MHz dan dua buah kapasitor 30 pF.

XTAL ini akan mempengaruhi kecepatan mikrokontroler ATMega8535 dalam

mengeksekusi setiap perintah dalam program. Pin 9 merupakan masukan reset (aktif

rendah). Pulsa transisi dari tinggi ke rendah akan me-reset mikrokontroler ini.

Untuk men-download file heksadesimal ke mikrokontroler, Mosi, Miso, Sck, Reset, Vcc dan Gnd dari kaki mikrokontroler dihubungkan ke RJ45. RJ45 sebagai

konektor yang akan dihubungkan ke ISP Programmer. Dari ISP Programmer inilah dihubungkan ke komputer melalui port paralel. Kaki Mosi, Miso, Sck, Reset, Vcc dan

Gnd pada mikrokontroler terletak pada kaki 6, 7, 8, 9, 10 dan 11. Apabila terjadi

keterbalikan pemasangan jalur ke ISP Programmer, maka pemograman mikrokontroler tidak dapat dilakukan karena mikrokontroler tidak akan bisa

merespon.

3.3Rangkaian Power Supply

[image:47.595.125.515.540.712.2]

Rangkaian skematik power supply dapat dilihat pada gambar 3.3 di bawah ini:

(48)

33

Rangkaian power supply berfungsi untuk mensupplay arus dan tegangan ke

seluruh rangkaian yang ada. Rangkaian power supply ini terdiri dari dua keluaran,

yaitu 5 volt dan 12 volt, keluaran 5 volt digunakan untuk menghidupkan seluruh

rangkaian kecuali rangkaian ADC, sedangkan keluaran 12 volt digunakan untuk

mensupplay tegangan ke rangkaian ADC, karena rangkaian ADC memerlukan

tegangan input sebesar 12 volt agar tegangan referensinya stabil.

Trafo stepdown yang berfungsi untuk menurunkan tegangan dari 220 volt AC menjadi 12 volt AC. Kemudian 12 volt AC akan disearahkan dengan menggunakan

dua dioda, selanjutnya 12 volt DC akan diratakan oleh kapasitor 2200 µF. Regulator

tegangan 5 volt (LM7805CT) digunakan agar keluaran yang dihasilkan tetap 5 volt

walaupun terjadi perubahan pada tegangan masukannya. LED hanya sebagai indikator

apabila PSA dinyalakan. Transistor PNP TIP 32 disini berfungsi sebagai penguat arus

apabila terjadi kekurangan arus pada rangkaian, sehingga regulator tegangan

(LM7805CT) tidak akan panas ketika rangkaian butuh arus yang cukup besar.

Tegangan 12 volt DC langsung diambil dari keluaran jembatan dioda.

3.4Rangkaian Sensor Jarak

Modul sensor halangan/jarak berfungsi untuk menjaga jalan robot agar tidak

menabrak dinding dari arena sirkuit. Modul sensor ini menggunakan sensor SHARP

(49)

34

inframerah termodulasi yang dipancarkan ke objek yang hendak diukur jaraknya dan

array CCD yang berfungsi sebagai detektor inframerah yang akan menerima pantulan

cahaya inframerah dari objek yang diukur.

[image:49.595.176.462.214.434.2]

Gambar 3.4 Prinsip triangulasi pada sensor SHARP GP2D12

Beberapa karakteristik dari sensor jarak GP2D12 adalah :

1. Power supply 4,5 - 5,5 Volt.

2. Output berupa tegangan analog yang berkisar antara 0,4 - 2,5 Volt.

3. Pembacaan jarak tidak begitu dipengaruhi oleh warna objek yang diukur.

4. Dapat mendeteksi objek dengan jarak berkisar antara 8 cm - 80 cm

5. Tidak membutuhkan rangkaian kontrol eksternal.

(50)

35

[image:50.595.263.375.124.224.2]

Paket sensor GP2D12 ditunjukkan pada gambar 3.5

Gambar 3.5 Bentuk fisik dari SHARP GP2D12 dengan kabel penghubungnya

Sensor GP2D12 memiliki tiga pin yaitu untuk Vcc, Ground dan Vo (tegangan output).

Karakteristik tegangan output dari sensor ditunjukkan pada gambar 3.6

Gambar 3.6 Karakteristik tegangan output dari SHARP GP2D12

Karena tegangan output sensor untuk pembacaan jarak yang valid berkisar antara 0,4 -

2,5 Volt maka sensor ini tidak lagi membutuhkan rangkaian pengkondisi sinyal.

Masing -masing output dari sensor jarak dapat langsung dihubungkan ke ADC yang

[image:50.595.220.429.372.571.2]
(51)

36

3.5 Rangkaian Sensor Inframerah

Sensor inframerah terdiri dari photo dioda dan LED infra merah. Sensor dirangkai

[image:51.595.251.383.196.344.2]

dengan rangkaian seperti berikut :

Gambar 3.7 Rangkaian pengkondisi sinyal infra merah

Rangkain sensor inframerah untuk kiri dan kanan robot mengalami perubahan desain

dari rancangan awal. Hal ini disebabkan penggunaan komparator dalam rangkaian

robot membuat robot kurang fleksibel dalam logika pemrograman sehinga robot lebih

kaku dalam pergerakannya. Oleh sebab itu penulis menggunakan rangkaian seperti di

atas agar data dapat diolah di ADC yang terdapat pada mikrokontroler ATMega8535.

3.6Modul H-Bridge

Modul bridge menggunakan IC L298, yang di dalamnya sudah terdiri dari dua

H-Bridge. Susunan H-bridge tersebut sudah diberi pengaman dengan menggunakan

(52)

37

Keterangan :

+VS adalah sebagai suplly tegangan untuk motor

+VSS adalah sebagai suplly tegangan untuk IC L298

Out 1 dan out 2 dihubungkan ke motor 2

En A merupakan sinyal enable yang berfungsi untuk mengaktifkan H-Bridge.

Berikut adalah penjelasan untuk 1 blok H-Bridge

Pada saat In-1 dan In-2 bernilai x (don’t care) dan En A adalah 0, maka Out 1 dan

Out 2 adalah 0. Apabila En A=1 dan In-1 dan In-2 = 0 maka gerbang A (0,0), gerbang

B (1,1), gerbang C (0,0) dan gerdang D (1,1) sehingga Out1 dan Out2 akan menuju

Ground yang diaktifkan gerbang B dan D. Apabila En A=1, In-1 = 1 dan In 2 = 0

maka gerbang A dan gerbang D akan aktif , maka arus mengalir dari Out 1 ke Out 2.

Apabila En A = 1, In-1 = 0 dan In-2 =1 maka gerbang B dan C akan aktif sehingga

arus mengalir dari Out-2 ke Out-1. Apabila En A=1, In-1 = 1 dan In-2 = 1 maka

gerbang C dan A akan aktif sehingga antara Out 1 dan Out 2 tidak terjadi beda

[image:52.595.131.501.523.719.2]

potensial. Berikut tabel kebenarannya.

(53)
[image:53.595.152.482.119.213.2]

38

Tabel 3.1 Tabel Kebenaran Diagram Blok H-Bridge L298 Input 1 Input 2 Enable A Output 1 Output 2

X x 0 0 0

0 0 1 0 0

1 0 1 1 0

0 1 1 0 1

(54)

39

BAB 4

PENGUJIAN PROGRAM DAN ANALISA

[image:54.595.194.455.230.698.2]

4.1Flowchart Program

Gambar 4.1 Flowchart Program Penjelasan Flowchart Program :

S t a r t

S u d a h d e k a t

K ir i > K a n a n

K a n a n > K i r i D e t e k s i S e n s o r D e p a n

D e t e k s i k e d u a s e n s o r

D e t e k s i k e d u a s e n s o r

M a j u

B e lo k K a n a n

B e l o k K ir i T i d a k

Y a

T id a k

Y a

Y a

D e t e k s i k e d u a s e n s o r

K a n a n < > K ir i T id a k

M u n d u r Y a

D e t e k s i k e d u a s e n s o r

(55)

40

1.Robot pertama kali akan mendeteksi sensor SHARP GP2D12 yang mendeteksi

halangan di depan, apabila halangan masi jauh maka robot akan teru maju dan

apabila robot sudah dekat maka robot akan medeteksi sensor kiri dan kanan.

2.Setelah sensor kiri dan kanan dideteksi dan sensor kiri > kanan maka robot akan

belok ke kanan dan apabila tidak, robot akan mendeteksi lagi.

3.Apabila sensor kanan > kiri maka robot akan belok ke kiri dan apabila tidak

robot akan mendeteksi lagi.

4.Apabila sensor kiri = kanan, maka robot akan mundur.

5.Apabila robot mendeteksi sensor kiri <> kanan maka robot akan mundur.

6.Rutin dikerjakan berulang-ulang.

4.2Kode Program

Program untuk robot ini menggunakan bahasa BASIC dengan software BASCOM

AVR. Penulis menggunakan bahasa basic dikarenakan mudah dalam

pemrogramannya. Berikut adalah listing programnya.

$regfile = "m8535.dat" $crystal = 8000000 $hwstack = 32 $swstack = 10 $framesize = 40

Config Portc = Output Config Porta = Input

Dim Sdepan As Word , Skanan As Word , Skiri As Word , Hmc1 As Word , Hmc2 As Word

Dim Pos_awal1 As Word , Pos_awal2 As Word Dim I As Integer

(56)

41

Call Jalan Loop

Sub Jalan Start Adc

Sdepan = Getadc(0) Skanan = Getadc(1) Skiri = Getadc(2)

If Sdepan < 475 And Skanan < 495 Then Call Straight If Sdepan < 475 And Skiri < 495 Then Call Straight If Sdepan > 450 And Skiri = Skanan Then Call Backward If Sdepan > 450 And Skiri <> Skanan Then Call Backward If Sdepan > 450 And Skanan > Skiri Then Call Lefted If Sdepan > 450 And Skiri > Skanan Then Call Righted If Sdepan < 450 And Skanan > 495 Then Call Lefted If Sdepan < 450 And Skiri > 495 Then Call Righted End Sub

Sub Straight Portc = Maju End Sub Sub Lefted Portc = Kiri Waitms 25 End Sub Sub Righted Portc = Kanan Waitms 25 End Sub Sub Freeze Portc = Diam End Sub Sub Backward Portc = Mundur Waitms 50 End Sub

End

4.3Penjelasan Kode Program

Inisiasi Sistem :

(57)

42

Config Portc = Output Config Porta = Input

Pada baris inisiasi sistem ini kita dapat menentukan jenis mikrokontroler yang

digunakan, kristal yang digunakan, dan konfigurasi port sebagai input atau output.

Inisiasi Variabel dan Konstanta

Dim Sdepan As Word , Skanan As Word , Skiri As Word , Hmc1 As Word , Hmc2 As Word

Dim Pos_awal1 As Word , Pos_awal2 As Word Dim I As Integer

Const Maju = &B01010000 Const Kiri = &B01100000 Const Kanan = &B10010000 Const Mundur = &B10100000 Const Diam = &B00000000 Const Rsthmc = &B11111111 Const Sethmc = &B00000000

Penggalan program di atas ialah baris variabel dan konstanta yang akan digunakan

pada pemrograman selanjutnya.

Program pengendali robot :

Do

Call Jalan ‘Rutin Utama Loop

Sub Jalan Start Adc

Sdepan = Getadc(0) ‘Perintah memanggil ADC channel 0

Skanan = Getadc(1) ‘Perintah memanggil ADC channel 0

Skiri = Getadc(2) ‘Perintah memanggil ADC channel 0

If Sdepan < 475 And Skanan < 495 Then Call Straight If Sdepan < 475 And Skiri < 495 Then Call Straight If Sdepan > 450 And Skiri = Skanan Then Call Backward If Sdepan > 450 And Skiri <> Skanan Then Call Backward If Sdepan > 450 And Skanan > Skiri Then Call Lefted If Sdepan > 450 And Skiri > Skanan Then Call Righted If Sdepan < 450 And Skanan > 495 Then Call Lefted If Sdepan < 450 And Skiri > 495 Then Call Righted End Sub

(58)

43

Portc = Kiri Waitms 25 End Sub Sub Righted Portc = Kanan Waitms 25 End Sub Sub Freeze Portc = Diam End Sub Sub Backward Portc = Mundur Waitms 50 End Sub End

Penggunaan ADC pada mikrkontroler AVR ATMega sangat baik karena memiliki

resolusi 10 bit dengan tegangan referensi 5 Volt. Dengan resolusi tersebut maka

ketelitian kenaikan level tegangannya adalah :

10 bit = 210 = 1024, tegangan referensinya adalah 5V maka resolusi per-bitnya

adalah : 0048 . 0 1024 5  V

Volt / bit.

4.4BASCOM AVR

Bascom AVR memiliki jendela kerja yang mudah dimengerti dan sangat sederhana.

(59)
[image:59.595.149.483.80.329.2]

44

Gambar 4.2 Jendela BASCOM-AVR

4.5Pengujian Download Program ke Sistem Minimum

Karena pemrograman robot menggunakan mode ISP (In System Programming) mikrokontroler harus dapat diprogram langsung pada papan rangkaian dan rangkaian

mikrokontroler harus dapat dikenali oleh program downloader. Pada pengujian ini

berhasil dilakukan dengan dikenalinya jenis mikrokontroler oleh program downloader

(60)
[image:60.595.178.454.83.282.2]

45

Gambar 4.3 Informasi Signature Mikrokontroler

4.6Pengujian Program pada Robot

Setelah program di compile dan di download ke mikrokontroler ATMega8535,

kemudian robot diaktifkan, setelah itu robot mengidentifikasi halangan dengan

mengukur jarak halangan dengan robot melalui tegangan keluaran sensor dan

mengirimkannya ke ADC dan diterjemahkan ke digital dan dibandingkan dengan nilai

yang telah ditetapkan pada program, kemudian robot merespon setiap syarat yang

telah ditentukan. Robot dengan sukses mengidentifikasi halangan yang

menghalanginya baik di depan kiri maupun kanan. Dengan begitu program telah

(61)

46

BAB 5

KESIMPULAN DAN SARAN

5.1 Kesimpulan

Dari evaluasi hasil kerja alat dapat diambil beberapa kesimpulan dalam penelitian ini.

Kesimpulan yang diambil oleh penulis adalah :

1. Penggunaan Sensor SHARP GP2D12 sangat baik penggunaannya

dikarenakan sensor tidak terpengaruh dengan inframerah yang berasal dari

alam dan presisi pengukurannya sangat baik.

2. Penggunaan sensor inframerah yang menggunakan prinsip reflective

optosensor cukup baik dalam pengaplikasiannya tetapi memiliki

kelemahan yang cukup fatal apabila sensor terkena dengan radiasi

inframerah alam, seperti matahari, lampu pijar dll.

3. Mikrokontroler sebagai pusat kendali dapat diatur sedemikian rupa dengan

memprogram mikrokontroler tersebut sehingga hasil dari rancangan cukup

memuaskan.

4. Mikrokontroler ATMega8535 dengan fitur ADC internal yang telah

terintegrasi membuat rangkaian lebih sederhana dan efisien.

5. Semakin jauh jarak antara sensor inframerah dengan objek yang disensing,

(62)

47

6. Penambahan sensor SHARP GP2D12 pada robot avoider dapat membuat

robot bekerja lebih sempurna untuk menghindari daerah kosong pada

daerah yang dideteksi.

5.2 Saran

1. Dengan beberapa pengembangan dan penyempurnaan sistem dari robot

avoider ini maka akan lebih baik lagi hasilnya.

2. Dengan menambah sensor kita dapat mencakup daerah yang lebih luas dan

membuat robot lebih presisi.

3. Penggunaan Sensor SHARP GP2D12 memerlukan kalibrasi lagi agar kita

dapat memprogram robot berdasarkan data ril, hal ini disebabkan output

dari sensor SHARP GP2D12 tidak linear.

4. Penggunaan sensor inframerah hendaknya memerlukan gelombang

inframerah termodulasi sehingga dapat meminimalisir gangguan infra

(63)

48

DAFTAR PUSTAKA

Budiharto, Widodo. 2006. Belajar Sendiri Membuat Robot Cerdas. Jakarta: Elex Media Komputindo.

Malvino, Albert Paul. 2004. Prinsip - Prinsip Elektronika. Jilid 1 & 2 Edisi 4. Jakarta: Salemba Teknika.

Panduan Tatacara Penulisan Tugas Akhir. 2005. Dokumen Nomor: Akad/05/2005. Medan: FMIPA, Universitas Sumatera Utara.

Wardhana, Lingga. 2006. Belajar Sendiri Mikrokontroler AVR Seri ATMega8535. Yogyakarta: Penerbit ANDI.

http://www.atmel.com/dyn/resources/prod_documents/doc2502. Diakses mulai Juni 2007 sampai Januari 2008.

Gambar

Gambar 2.1 Blok Diagram Fungsional ATMega8535
Gambar 2.2 Pin ATMega8535
Gambar 2.3 Arsitektur ATMega8535
Gambar 2.4 Konfigurasi Memori Data AVR ATMega8535
+7

Referensi

Dokumen terkait

Berdasarkan hasil penelitian yang dilakukan oleh penulis teihadap 65 responden nasabah KUPEDES BRI Unit Simpang Baru Pekanbaru dapat disimpulkan bahwa pemberian Kredit Umum

[r]

Berdasarkan Berita Acara Hasil Pelelangan (BAHP) Nomor:BA-085/ULPD/WI.2/2016 Tanggal 26 April 2016 dan Penetapan Pemenang oleh Kelompok Kerja (Pokja) ULPD Kementerian Keuangan

[r]

Selain itu seiring dengan perkembangan fotografi di Kota Medan, banyak terdapat komunitas-komunitas fotografi di Medan, diantaranya adalah Medan Photography Club,

Bagian umum menyerahkan surat permintaan klaim asuransi ke wadir pelayanan untuk seterusnya didisposisikan ke Bidang Pelayanan Medis (5 menit). Kabid Yanmed mendisposisikan

Pengecoran balok dan plat menggunakan concrete pump, beton dipadatkan dengan vibrator5. Pengecoran plat lantai menggunakan trowel

Hal lain yang melemahkan legitimasi Habibie dalam memimpin pemerintahan ialah ia tidak dipilih secara luber dan jurdil sebagai presiden dan merupakan satu paket pemilihan