Format Laporan Line Follower 1

23
LAPORAN PROJECT MIKROCONTROLLER “ Robot Line Follower Sebagai Salah Satu Media Pembelajaran Mikrokontroller “ Dosen Pengampu : Amir Fatah Faturrahman, S.Pd DISUSUN OLEH : NAMA : Ibnu Hakim NIM : 12502244011 KELAS : A2 JURUSAN PENDIDIKAN TEKNIK ELEKTRONIKA FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA 2014

description

Format Laporan Line Follower 1

Transcript of Format Laporan Line Follower 1

Page 1: Format Laporan Line Follower 1

LAPORAN

PROJECT MIKROCONTROLLER

“ Robot Line Follower Sebagai Salah Satu Media Pembelajaran

Mikrokontroller “

Dosen Pengampu : Amir Fatah Faturrahman, S.Pd

DISUSUN OLEH :

NAMA           : Ibnu Hakim

NIM               : 12502244011

KELAS           : A2

JURUSAN PENDIDIKAN TEKNIK ELEKTRONIKA

FAKULTAS TEKNIK

UNIVERSITAS NEGERI YOGYAKARTA

2014

Page 2: Format Laporan Line Follower 1

A. JUDUL

Robot Line Follower Sebagai Salah Satu Media Pembelajaran Mikrokontroller

B. LATAR BELAKANG

Perkembangan teknologi begitu pesat dan penerapan mikrokontroler pada bidang

robotika terus mengalami perkembangan yang sangat pesat pula. Banyak negara maju

(Amerika, Jerman, Inggris, Jepang, Perancis) berlomba-lomba untuk menciptakan robot-

robot cerdas dengan keistimewaan-keistimewaan khusus. Temasuk indonesia sebagai

negara berkembang, hal ini terlihat dengan diselenggarakannya ajang Kontes Robot

Indonesia (KRI), Kontes Robot Cerdas Indonesia (KRCI) maupun kontes robot yang

lain oleh Departemen Pendidikan Nasional (Depdiknas) dan juga ajang Electronics and

Informatics Technology Competition (ELINFO) Kategori RoboRace Line Follower

Contest (RR). Pembuatan robot-robot dengan keistimewaan khusus sangat berkaitan erat

dengan adanya kebutuhan dalam dunia industri modern yang menuntut adanya suatu

instrumen dengan kemampuan yang tinggi yang dapat membantu menyelesaikan

pekerjaan manusia ataupun untuk menyelesaikan pekerjaan yang tidak

mampu diselesaikan oleh manusia.  

Salah satu jenis robot dengan kemampuan istimewa yang belakangan ini banyak

menarik minat para ahli untuk dikembangkan adalah mobile robot. Kemampuan dari

mobile robot sangat beragam sesuai dengan tingkat dan jenis keperluan. Salah satunya

adalah robot line follower (pengikut garis), yaitu suatu jenis robot beroda yang memiliki

sensor untuk mendeteksi suatu garis dengan pola tertentu kemudian bergerak mengikuti

garis tersebut. Robot ini biasa digunakan dalam bidang industri besar sebagai pengangkut

barang dari satu tempat ke tempat lain secara kontinyu atau terus-menerus.

Misalnya pada perusahaan mobil, robot ini digunakan sebagai pengangkut

kerangka mobil yang sudah jadi. 

Pada robot  line follower  sensor  proximity  sering digunakan untuk mendeteksi ada

atau tidaknya suatu garis untuk gerak robot. Dengan demikian sensor proximity

difungsikan sebagai sensor garis. Sensor ini dapat dibuat dari pasangan LED (Light

Emitting Diode) dan Photodioda yang dipasang secara sejajar dan berdampingan. Jika

Page 3: Format Laporan Line Follower 1

pancaran LED memantul pada garis dan diterima oleh

basis Photodioda maka Photodioda menjadi saturasi (off) sehingga tegangan keluaran

mendekati 0 volt, yang didefinisikan sebagai logika ‘0’ atau ‘low’. Sebaliknya jika

tidak terjadi pantulan, artinya pancaran dari LED diserap oleh

garis, maka Photodioda menjadi cut-off dimana tegangan keluaran sama dengan Vcc (5

volt). Kondisi ini didefinisikan sebagai logika ‘1’ atau ‘high’.  Robot jenis line follower

bergerak menggunakan aktuator berupa motor DC. Motor DC merupakan suatu motor

penggerak yang dikendalikan dengan arus searah. 

        

Jenis penggerak robot line follower, biasanya memiliki 2 buah motor DC yang

diapasang di sebelah  kiri dan kanan robot, kedua motor bergerak secara diferensial.

Untuk dapat menggerakan robot maka masing-masing motor DC harus diatur arah putar

dan kecepatannya lewat sebuah rangkaian driver motor. Prinsip kerja dari driver ini

hanya dengan melewatkan arus pada motor dan menghentikan arus yang melewati motor

serta mengatur arah arusnya.  Pengaturan kecepatan kedua motor DC tersebut

dapat diaplikasikan sebagai steering sekaligus penggerak robot mobil.

Pengaturan kecepatan masing-masing motor sangat menentukan tingkat kestabilan

robot dalam bergerak.  

Pada robot yang sangat berperan dalam pengaturan arah dan kecepatan kedua motor

DC adalah sistem navigasi dari robot itu sendiri. Sistem navigasi inilah yang merupakan

otak dari robot. Otak robot diprogram oleh manusia sesuai dengan keinginannya,

kemudian ditanamkan ke dalam sebuah chip mikrokontroler. Mikrokontroler pada robot

difungsikan sebagai unit pemroses data, sistem monitoring, dan sistem kontrol, dimana

piranti kontrol konvensional tidak dapat melakukannya.  

Sistem navigasi robot menggunakan sistem kontrol  konvensional, kontrol P, kontrol

I, kontrol D atau gabungan kontrol PID, tidak dapat melakukan adaptasi terhadap

perubahan dinamik sistem selama operasi, karena parameter P, I dan D secara teoritis

hanya mampu memberikan efek kontrol terbaik pada kondisi sistem yang sama ketika

parameter tersebut di-tune. Pada penerapan fuzzy logic controller pada line follower

robot diharapkan dapat memberikan perubahan pergerakan robot yang halus dari

kondisi berbelok ke kondisi bergerak lurus maupun sebaliknya tanpa

menimbulkan pergerakan yang kaku. Dengan didasari hal-hal tersebut  di atas, maka

Page 4: Format Laporan Line Follower 1

peneliti mencoba melakukan perancangan dan implementasi line follower robot

menggunakan mikrokontroler AVR ATMega 16 dengan sistem navigasi berbasis

fuzzy logic controller. 

C. TUJUAN

Tujuan utama dari penulisan laporan ini adalah :

1. Mahasiswa dapat menjelaskan tentang robot line follower

2. Mahasiswa dapat memahami blok rangkaian robot line follower.

3. Mahasiswa dapat memahami tentang mikrokontroler AVR

4. Mahasiswa dapat memahami cara kerja sensor garis dengan ADC

5. Mahasiswa dapat perancangan dan implementasi sebuah robot  line follower dari

mulai rancangan fisik, elektronis (sensor-sensor,  driver motor, dll)

serta pemrograman pada mikrokontrolernya.

6. Mahasiswa implementasi kecerdasan buatan (Artificial intellegence) yaitu

Fuzzy Logic Controller yang ditanamkan dalam sebuah mikrokontroler

AVR ATMega 16 sebagai sistem navigasi robot line follower. 

D. DESAIN RANCANGAN

1. Rancangan Hardware

a) Spesifikasi :

1. Batery 7 – 14 volt

2. 8 array line sensor

3. Chip Microcontroller Atmega 16

4. LCD 16X2

5. 5 button control

6. Driver motor MOSFET dual H-Bridge

7. Gearbox Motor DC Custom

Berikut pada gambar 1 ditunjukan model robot line follower :

Page 5: Format Laporan Line Follower 1

Gambar 1. Robot Line Follower

b) Skematik Rancangan Robot Line Follower

Berikut pada gambar dibawah ini ditunjukan rangkaian robot line follower :

Gambar 2. Skematik Robot Line Follower

c) Layout Robot Line Follower

Berikut pada gambar dibawah ini ditunjukan layout robot line follower :

Gambar 3. Skematik Robot Line Follower

d) Flowchart Kendali Robot Line Follower

Berikut pada gambar dibawah ini ditunjukan flowchart kendali LF :

Page 6: Format Laporan Line Follower 1

Gambar 4. Flowchart Robot Line Follower

Tabel komponen yang digunakan :

Tabel 1. Komponen yang digunakan

Page 7: Format Laporan Line Follower 1
Page 8: Format Laporan Line Follower 1
Page 9: Format Laporan Line Follower 1

2. Rancangan Software

Bahasa C

Program Robot Line Follower dengan Bahasa C Pada ATMega 16 :

#include <mega16.h>

// Alphanumeric LCD functions

#include <alcd.h>

// Declare your global variables here

#include <stdio.h>

#include <delay.h>

char buff[33];

unsigned char pwm, no, lpwm, rpwm;

#define t1 PINC.3

#define t2 PINC.2

#define t3 PINC.1

#define t4 PINC.0

#define mtrx0 PORTD.1

#define mtrx1 PORTD.0

#define kaju PORTD.5

#define kidur PORTD.3

#define kadur PORTD.6

#define kiju PORTD.4

void maju(unsigned char lpwm,unsigned char rpwm)

{

Page 10: Format Laporan Line Follower 1

OCR1A=255-rpwm;

OCR1B=255-lpwm;

kadur=0;

kidur=0;

}

void mundur(unsigned char lpwm,unsigned char rpwm)

{

OCR1A=rpwm;

OCR1B=lpwm;

kadur=1;

kidur=1;

}

void stop()

{

OCR1A=255;

OCR1B=255;

kadur=0;

kidur=0;

}

void sikan(unsigned char lpwm, unsigned char rpwm){

OCR1A=255-rpwm;

OCR1B=lpwm;

kadur=1;

kidur=0;

}

void sikir(unsigned char lpwm, unsigned char rpwm){

OCR1A=rpwm;

OCR1B=255-lpwm;

kadur=0;

Page 11: Format Laporan Line Follower 1

kidur=1;

}

void set_pwm()

{

if (!t4) {pwm++; delay_ms(10);}

if (!t1) {pwm--;delay_ms(10);}

if (pwm > 255) {pwm = 255;}

}

void main(void)

{

PORTA=0x00;

DDRA=0x00;

PORTB=0x00;

DDRB=0x00;

// Port C initialization

// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In

Func0=In

// State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T

PORTC=0xff;

DDRC=0x00;

// Port D initialization

// Func7=Out Func6=Out Func5=Out Func4=Out Func3=Out Func2=Out

Func1=Out

Func0=Out

// State7=0 State6=0 State5=0 State4=0 State3=0 State2=0 State1=0 State0=0

PORTD=0x00;

DDRD=0xFF;

Page 12: Format Laporan Line Follower 1

TCCR0=0x00;

TCNT0=0x00;

OCR0=0x00;

TCCR1A=0xF1;

TCCR1B=0x0C;

TCNT1H=0x00;

TCNT1L=0x00;

ICR1H=0x00;

ICR1L=0x00;

OCR1AH=0x00;

OCR1AL=0x00;

OCR1BH=0x00;

OCR1BL=0x00;

ASSR=0x00;

TCCR2=0x00;

TCNT2=0x00;

OCR2=0x00;

MCUCR=0x00;

MCUCSR=0x00;

TIMSK=0x00;

UCSRB=0x00;

ACSR=0x80;

SFIOR=0x00;

// ADC initialization

// ADC disabled

Page 13: Format Laporan Line Follower 1

ADCSRA=0x00;

// SPI initialization

// SPI disabled

SPCR=0x00;

// TWI initialization

// TWI disabled

TWCR=0x00;

// Alphanumeric LCD initialization

// Connections are specified in the

// Project|Configure|C Compiler|Libraries|Alphanumeric LCD menu:

// RS - PORTB Bit 0

// RD - PORTB Bit 1

// EN - PORTB Bit 2

// D4 - PORTB Bit 4

// D5 - PORTB Bit 5

// D6 - PORTB Bit 6

// D7 - PORTB Bit 7

// Characters/line: 16

lcd_init(16);

while (1)

{

stop();

lcd_clear();

lcd_gotoxy(3,0);

lcd_putsf("Tes Motor");

delay_ms(100);

lcd_clear();

lcd_gotoxy(1,0);

Page 14: Format Laporan Line Follower 1

lcd_putsf("Tekan Ok untuk");

lcd_gotoxy(2,1);

lcd_putsf("melanjutkan");

while (1){ if (!t3) {goto lanjut;}}

}

lanjut:

while (1)

{

lcd_clear();

//kode untuk memilih no

if (!t1) {no --;}

if (!t4) {no ++;}

if (no<1) {no = 1;}

if (no>5) {no = 5;}

switch(no)

{ case 1: lcd_putsf("Maju");

maju(lpwm,rpwm);

break;

case 2: lcd_putsf("Mundur");

mundur(lpwm,rpwm);

break;

case 3: lcd_putsf("Stop");

stop();

break;

case 4: lcd_putsf("Sikan");

sikan(lpwm,rpwm);

break;

case 5: lcd_putsf("Sikir");

sikir(lpwm,rpwm);

break;

Page 15: Format Laporan Line Follower 1

}

if (!t3)

{

while(1)

{

lcd_gotoxy (0,1);

lcd_putsf("PWM = ");

sprintf (buff,"%3d",pwm);

lcd_puts (buff);

set_pwm();

lpwm = pwm;

rpwm = pwm;

if (!t2) {break;}

}

}

lcd_gotoxy(0,1);

sprintf(buff,"%d",no);

lcd_puts (buff);

delay_ms(20);

}

}

E. LANGKAH PEMBUATAN

1. Desain Layout

2. Menyablon Layout Pada PCB

3. Pelarutan PCB

4. Pemasangan Komponen dan Penyolderan

5. Memrogram Mikrokontroller

6. Menyatukan Elektronik dan Mekanik

7. Finishing

8. Uji Coba Rangkaian

Page 16: Format Laporan Line Follower 1

F. PENGUJIAN

Setelah melakukan perancangan dan pembuatan alat, maka tahap yang harus

dilakukan selanjutnya adalah melakukan pengujian pada alat yang telah dibuat.

Pengujian dan pengamatan dilakukan pada perangkat keras dan keseluruhan sistem

yang terdapat dalam peralatan ini. Pengujian ini dilakukan dengan cara melakukan

pengukuran pada tiap blok sistem alat, sehingga didapat perbandingan antara hasil

pengujian yang didapat dengan perancangan sistem. Dan juga dapat dianalisa

apakah sistem pada Line Follower ini berfungsi dengan baik dan stabil. Tujuan dari

pengukuran sistem ini adalah :

1. Mengetahui apakah perangkat keras yang telah dibuat dapat bekerja dengan baik.

2. Dapat diketahui parameter perbandingan antara hasil pengujian dengan perancangan,

sehingga dapat diketahui apakah kinerja sistem stabil.

Berikut ini adalah pengujian data dengan video dibawah ini :

G. ANALISIS DATA

1. Line Follower Robot adalah sebuah alat yang dapat berjalan secara otomatis

mengikuti garis berdasarkan perubahan warna pada garis baik hitam dan putih. Hasil

dari perubahan warna tersebut menyebabkan nilai pada photo diode berubah sehingga

menyebabkan nilai yang masuk ke dalam port ADC pada mikrokontroller berubah,

dan nilai ADC tersebut yang akan kita oleh menjadi sebuah input

2. Perancangan dilakukan berdasarkan blok per blok dari setiap rangkaian, dimana

tiap-tiap blok mempunyai fungsi masing-masing dan blok rangkaian yang satu

dengan blok rangkaian yang lain merupakan satu kesatuan yang saling terkait

dan berhubungan serta membentuk satu kesatuan yang saling menunjang kerja dari

sistem. Blok rangkaian dari robot ini dapat dilihat selengkapnya pada gambar 5.

Gambar 5. Diagram Blok Rangkaian Keseluruhan

Diagram blok diatas dijelaskan bahwa input yang masuk pada mikrokontroler akan

menggerakkan motor yang merupakan output pada mikrokontroler. Disini dapat

dilihat pentingnya peranan mikrokontroler, yang mana mikrokontroler akan

mengolah input dan mengatur output. Jadi mikrokontroler merupakan pengendali

utama dari sistem kerja robot.

Page 17: Format Laporan Line Follower 1

3. Atmel AVR adalah jenis mikrokontroler yang paling sering dipakai dalam bidang

elektronika dan instrumentasi. Mikrokontroler AVR ini memiliki arsitektur RISC

(Reduce Instruction Set Computing) delapan bit, di mana semua instruksi dikemas

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

(satu ) siklus clock. Nama AVR sendiri berasal dari "Alf (Egil Bogen) and Vegard

(Wollan) 's Risc processor" dimana Alf Egil Bogen dan Vegard Wollan adalah dua

penemu berkebangsaan Norwegia yang menemukan mikrokontroller AVR yang

kemudian diproduksi oleh Atmel.

4. Rangkaian dasar sensor garis menggunakan ADC hampir sama dengan rangkaian

menggunakan metode On Off hanya saja dengan ADC tidak perlu rangkaian Op

Amp.

H. KESIMPULAN

Setelah melalui tahap perencanaan dan perancangan, maka sebuah line follower robot

dapat direalisasikan. Kemudian dilakukan pengujian dan analisa pada sistemnya yang

dapat diambil beberapa kesimpulan sebagai berikut :

1. Line follower robot merupakan suatu rangkaian otomatis terintegrasi yang terdiri

dari tiga komponen penting yaitu, konstruksi fisik, rangkaian elektronis, dan

software pengontrol.

2. Mikrokontroler adalah sebuah chip yang berfungsi sebagai pengontrol rangkaian

elektronik dan umunya dapat menyimpan program didalamnya. Mikrokontroler

umumnya terdiri dari CPU (Central Processing Unit), memori, I/O tertentu dan unit

pendukung seperti Analog-to-Digital Converter (ADC) yang sudah terintegrasi di

dalamnya.

3. Pengaturan jarak deteksi sensor dapat dilakukan dengan mengatur besarnya nilai

penguatan pada photodioda.

4. Kendali pada line follower robot ini diterapkan menggunakan software LabVIEW 7.1

dengan metode ON/OFF.

5. Penggunaan kendali ON/OFF pada LabVIEW 7.1 yang dihubungkan melalui port

pararel memang tidak praktis, tetapi dalam perancangannya dirasakan lebih mudah.

6. Fungsi pertama yang harus ada dalam program C dan sudah ditentukan namanya

adalah main().

Page 18: Format Laporan Line Follower 1

7. Fungsi terdiri atas satu atau beberapa pernyataan, yang secara keseluruhan

dimaksudkan untuk melaksanakan tugas khusus. Bagian pernyataan fungsi (sering

disebut tubuh fungsi) diawali dengan tanda kurung kurawal buka ({) dan diakhiri

dengan tanda kurung kurawal tutup (}). Di antara kurung kurawal itu dapat dituliskan

statemen-statemen program C.

8. Semua sistem yang dimiliki oleh line follower robot saling berhubungan.

Jadi, ketika salah satu sistem tidak berfungsi dengan baik, akan mempengaruhi

kinerja dari seluruh sistem robot.

I. SARAN

Dalam merencanakan dan merancang sebuah line follower robot, diperlukan

kecermatan dan ketelitian dalam pemilihan bahan penyusun konstruksi fisik, komponen

elektronik, dan terlebih pada software pengontrolnya agar sistem yang dirancang dapat

berfungsi dengan sempurna.

Line follower robot merupakan salah satu hasil karya teknologi, maka sistem ini

diharapkan dapat dimanfaatkan dan diaplikasikan dalam kehidupan sehari-hari dalam

bentuk dan metode yang sederhana serta ekonomis.