Pemrograman Robot Penjejak Garis Berbasis...

16
PEMROGRAMAN ROBOT PENJEJAK GARIS BERBASIS MIKROKONTROLER Oleh : Ihyauddin, S.Kom Disampaikan pada : Pelatihan Pemrograman Robot Penjejak Garis bagi Siswa SMA Negeri 9 Surabaya Tanggal 13 Nopember 2010 S1 SISTEM KOMPUTER SEKOLAH TINGGI MANAJEMEN INFORMATIKA & TEKNIK KOMPUTER SURABAYA

Transcript of Pemrograman Robot Penjejak Garis Berbasis...

PEMROGRAMAN ROBOT PENJEJAK GARIS

BERBASIS MIKROKONTROLER

Oleh :

Ihyauddin, S.Kom

Disampaikan pada :

Pelatihan Pemrograman Robot Penjejak Garis

bagi Siswa SMA Negeri 9 Surabaya

Tanggal 13 Nopember 2010

S1 – SISTEM KOMPUTER

SEKOLAH TINGGI

MANAJEMEN INFORMATIKA & TEKNIK KOMPUTER

SURABAYA

Pemrograman Robot Penjejak Garis Berbasis Mikrokontroler

S1-Sistem Komputer STIKOM SURABAYA 2

A. BLOK DIAGRAM

Bagian-bagian yang digunakan dalam sebuah sistem Robot Penjejak Garis yang

terprogram, ditunjukkan pada Gambar 1.

Gambar 1. Blok Diagram Sistem Robot Penjejak Garis Terprogram

B. SENSOR CAHAYA

Sensor cahaya adalah alat yang digunakan untuk merubah besaran cahaya menjadi

besaran listrik. Prinsip kerja dari sensor cahaya adalah mengubah energi dari foton menjadi

elektron.

Sebagai pemancar (transmitter) menggunakan LED (Light-Emitting Diode) ultrabright,

sedangkan sebagai penerima (receiver) cahaya dapat menggunakan LDR, fototransistor atau

fotodioda.

1. LED Ultrabright

LED ultrabright memiliki pancaran cahaya yang lebih cerah daripada LED biasa atau

LED infra-red. Sehingga penggunaan LED jenis ini sesuai untuk pembuatan sensor yang

berfungsi sebagai pendeteksi warna.

SE

NS

OR

CA

HA

YA

KOMPARATOR

MOTOR DRIVER

Motor 1

Motor 2

MIKROKONTOLER

Pemrograman Robot Penjejak Garis Berbasis Mikrokontroler

S1-Sistem Komputer STIKOM SURABAYA 3

Gambar 2. Penampang kaki LED

2. Fotodioda

Fotodioda paling sering digunakan dalam rangkaian pendeteksi cahaya, karena

komponen tersebut dapat mengukur intensitas cahaya yang tertuju padanya. Secara bentuk

fisik komponen ini mirip dengan LED, tetapi komponen ini tidak memancarkan cahaya dan

berbeda pada simbol komponen elektronikanya.

Gambar 3. Simbol elektronika fotodioda

3. Fototransistor

Bila dibandingkan dengan fotodioda, fototransistor lebih responsif terhadap cahaya

dan harga komponen ini lebih mahal.

Gambar 4. Simbol Elektronika Fototransistor

Pemrograman Robot Penjejak Garis Berbasis Mikrokontroler

S1-Sistem Komputer STIKOM SURABAYA 4

4. LDR (Light-Dependent Resistor)

LDR atau fotoresistor merupakan komponen elektronika yang miliki nilai tahanan

yang dapat berubah-ubah sesuai intensitas cahaya yang diterima. Nilai tahanan LDR akan

berkurang jika intensitas cahaya yang diterima bertambah.

Gambar 5. Simbol elektronika LDR

Rangkaian Elektronika Sensor Cahaya

Gambar 6. Rangkaian Sensor Cahaya

Untuk membatasi arus yang mengalir sebesar ≅10 mA menuju LED (D1) dengan

tegangan +VCC sebesar 5 Volt, digunakan resistansi (R1) sebesar 560 Ω. Tegangan keluaran

hasil penerimaan pantulan cahaya oleh fotodioda (D2), berada pada titik Grs1. Pemasangan

resistansi (R2) sebesar 10 kΩ untuk membuat rangkaian pembagi tegangan.

C. KOMPARATOR

Konfigurasi open-loop pada Op Amp dapat difungsikan sebagai komparator. Jika

kedua input pada Op Amp pada kondisi open-loop, maka Op Amp akan membandingkan

kedua saluran input tersebut. Hasil komparasi dua tegangan pada saluran masukan akan

menghasilkan tegangan saturasi positif (+Vsat) atau saturasi negatif (-Vsat).

Sebuah rangkaian komparator akan membandingkan isyarat tegangan yang masuk

pada satu saluran input dengan tegangan pada saluran input lain, yang disebut tegangan

5V

D1

LED

Grs1

D2

PhDioda

R1560

R210k

Pemrograman Robot Penjejak Garis Berbasis Mikrokontroler

S1-Sistem Komputer STIKOM SURABAYA 5

referensi. Tegangan output berupa isyarat tegangan high atau low sesuai dengan besar isyarat

tegangan masukan yang lebih tinggi.

Besar isyarat tegangan keluaran dari komparator tidak bersifat linier secara

proporsional terhadap besar tegangan input. Gambar rangkaian Komparator ditunjukkan pada

Gamabr 7.

(a) (b)

Gambar 7. (a) Komparator Tidak Membalik

(b) Komparator Membalik

Komparator akan menghasilkan tegangan keluaran digital sebesar ±Vsat sesuai

dengan rangkaian Komparator yang dibentuk. Gambar 8. dan Gambar 9. menunjukkan grafik

gelombang isyarat masukan dan keluaran Komparator.

Gambar 8. Grafik isyarat Vin dan Vout Komparator Tak-Membalik

Pemrograman Robot Penjejak Garis Berbasis Mikrokontroler

S1-Sistem Komputer STIKOM SURABAYA 6

Gambar 9. Gelombang Input dan Output pada Komparator Membalik

D. MIKROKONTROLER

Mikrokontroler adalah suatu single chip yang di dalamnya terdapat mikroprosesor,

RAM, ROM, Timer dan I/O Port dalam satu kesatuan. Program pengendali yang telah

dibangun dari komputer akan dimasukkan ke dalam ROM. Mikrokontroler jenis AVR memiliki

fitur I2C (Inter-Integrated Circuit) sehingga memungkinkan bagi mikrokontroler untuk

ditambahkan RAM atau ROM secara komunikasi serial.

Mikrokontroler AVR adalah mikrokontroler yang dikembangkan oleh ATMEL sejak

tahun 1997. Berbeda dengan mikrokontroler MCS-51, AVR menggunakan arsitektur RISC

(Reduce Instruction Set Computer) yang mempunyai lebar data bus 8 bit. MCS-51 memiliki

frekuensi kerja 1/12 kali frekuensi osilator sedangkan frekuensi kerja AVR sama dengan

frekuensi osilator. Jadi dengan frekuensi osilator yang sama, kecepatan AVR adalah 12 kali

lebih cepat dibandingkan dengan kecepatan MCS-51. Hal ini disebabkan karena

mikrokontroler AVR menggunakan arsitektur RISC. (Wikipedia, 2010). Beberapa contoh

mikrokontroler AVR ditunjukkan pada Tabel 1.

Pemrograman Robot Penjejak Garis Berbasis Mikrokontroler

S1-Sistem Komputer STIKOM SURABAYA 7

Tabel 1. Mikrokontroler AVR

Jenis AVR Seri Fitur Memory

ATTiny ATTiny13 Flash : 1 KB, EEPROM : 64 Byte, SRAM : 64 Byte

ATTiny2313 Flash : 2 KB, EEPROM : 128 Byte, SRAM : 128 Byte

ATTiny24 Flash : 2 KB, EEPROM : 128 Byte, SRAM : 128 Byte

ATMEGA ATMEGA8L Flash : 8 KB, EEPROM : 512 Byte, SRAM : 1 KB

ATMEGA8515L Flash : 8 KB, EEPROM : 512 Byte, SRAM : 512 Byte

ATMEGA8535L Flash : 8 KB, EEPROM : 512 Byte, SRAM : 512 Byte

ATMEGA16L Flash : 16 KB, EEPROM : 512 Byte, SRAM : 1 KB

ATMEGA32 Flash : 32 KB, EEPROM : 1 KB, SRAM : 2 KB

AT90S AT90S2313 Flash : 2 KB, EEPROM : 128 Byte, SRAM : 128 Byte

AT90S8535 Flash : 8 KB, EEPROM : 512 Byte, SRAM : 512 Byte

AT90S4433 Flash : 4 KB, EEPROM : 256 Byte, SRAM : 128 Byte

(Sumber : http://www.atmel.com/products/AVR/#)

Mikrokontroler ATMEGA8

Mikrokontroler ini memiliki karakteristik sebagai berikut :

a. ISP (In-System Programmable) Flash Memory sebesar 8 kByte. Dengan menggunakan flash

chip ini, mengijinkan program memori dapat diprogram ulang dalam sistem. Sehingga

mikrokontroler ini tidak membutuhkan mikrokontroler lain sebagai master untuk proses

download program.

b. Memiliki RAM (Random Access Memory) sebesar 1 kByte.

c. 23 jalur atau bit input dan output .

d. Memiliki komparator analog.

e. Memiliki 3 buah timer dan counter yang dapat difungsikan sebagai PWM (Pulse Width

Modulation)

f. Memiliki Full Duplex Serial Port sehingga memungkinkan pengiriman dan penerimaan data

secara serial dapat berlangsung bersamaan.

Pemrograman Robot Penjejak Garis Berbasis Mikrokontroler

S1-Sistem Komputer STIKOM SURABAYA 8

Gambar 10. Penampang Mikrokontroler ATMEGA8

E. MOTOR DRIVER

Pengendali motor (motor driver) adalah rangkaian komponen yang dapat mengatur

kinerja putaran motor. Dengan menggunakan motor driver, pengendalian motor meliputi men-

start, men-stop dan memilih arah perputaran. Selain itu dapat juga mengatur kecepatan putar

motor dan mencegah terjadinya kelebihan beban arus (overload) pada motor. Penggunaan

motor driver disesuaikan dengan jenis dan besar arus dari motor yang akan dikendalikan.

H-Bridge Motor Driver

H-Bridge adalah salah satu contoh rangkaian motor driver. Susunan dasar dari

rangkaian tersebut adalah beberapa transistor yang terangkai menyerupai huruf “H”. Oleh

karena itu, rangkaian tersebut dinamakan H-Bridge. Rangkaian dasar rangkaian H-Bridge

ditunjukkan pada Gambar 11.

Gambar 11. Rangkaian dasar H-Bridge motor driver

Sesuai dengan Gambar 11, motor DC akan berputar jika salah satu transistor NPN (Q3

atau Q4) dan salah satu transistor PNP (Q1 atau Q2) aktif bersamaan. Untuk membuat hal

tersebut, maka perlu diaktifkannya salah satu transistor Q5 atau Q6, yaitu dengan memberikan

tegangan masukan pada kaki basis (input1 atau input2).

A -+

MG1

MOTOR DC

1 2 Q6

BC9013

Q4

BC9013

R2

470

Q3BC9013

Q2

BC9012

R1

470

Q1

BC9012

Q5BC9013

VCC

input1input2

Pemrograman Robot Penjejak Garis Berbasis Mikrokontroler

S1-Sistem Komputer STIKOM SURABAYA 9

Saat ini rangkaian H-Bridge motor driver telah dikemas dalam bentuk IC, seperti IC

LM293D dan IC LM298. Masing-masing IC tersebut memiliki kemampuan menghantarkan

sejumlah arus yang berbeda. IC LM293D dan IC LM298 ditunjukkan pada Gambar 12.

(a) (b)

Gambar 12. (a) L293D Motor driver

(b) L298 Motor driver

Konfigurasi rangkaian motor driver menggunakan L298 untuk menggerakkan motor

secara CW (Clock Wise) atau CCW (Counter Clock Wise) ditunjukkan pada Gambar 13.

Gambar 13. Rangkaian L298

Pemrograman Robot Penjejak Garis Berbasis Mikrokontroler

S1-Sistem Komputer STIKOM SURABAYA 10

Rangkaian Robot Penjejak Garis berbasis Mikrokontroler AVR ATMEGA8

I. Minimum Sistem AVR ATMEGA8

Gambar 14. Rangkaian Minimum Sistem AVR ATMEGA8

Pada Gambar 14. menunjukkan rangkaian Minimum Sistem Mikrokontroler AVR

ATMEGA8. Mikrokontroler akan mengeksekusi program yang tersimpan dalam flash-ROM

dengan frekeuensi 8 MHz yang digunakan pada osilator Y1. Proses reset program akan

otomatis dilakukan pada sistem, ketika pertama kali catu daya terpasang. Proses ini dilakukan

oleh pemasangan RC pada komponen R9 dan C4. Jalur 8-bit proximity sensor pada J3 yang

digunakan untuk pemindaian garis, dapat melalui saluran PORT D. Sedangkan penghubung J3

pada PORT C terdapat 6-bit jalur yang digunakan untuk saluran input-output yang dapat

PD2 C6

0.1uF

L1

10uH

PC5

2A1

PC0PD3

5 VPC4

PWM

Y18 Mhz

PWM2

SCK

PD6

PD4

RST

PD7

PD0

2A2

MOSI

PD5

C130 pF

1A1

PC2

IC1

ATmega8-DIL28

123456789

1011121314 15

16171819202122232425262728

PC6 (RESET)PD0 (RxD)PD1 (TxD)PD2 (INT0)PD3 (INT1)PD4 (XCK/T0)VCCGNDPB6 (XT1/TOSC1)PB7 (XT2/TOSC2)PD5 (T1)PD6 (AIN0)PD7 (AIN1)PB0 (ICP) (OC1A) PB1

(SS/OC1B) PB2(OC2/MOSI) PB3

(MISO) PB4(SCK) PB5

AVCCAREFAGND

(ADC0) PC0(ADC1) PC1(ADC2) PC2(ADC3) PC3

(SDA/ADC4) PC4(SCL/ADC5) PC5

PC1

C3

100u

PD1

5 V

MISO

PC3

1A2

C230 pF

PC1PC0

PC4 PC5

J4

I/O

1 23 45 67 89 10

5 V PC3PC2

PD0

PD4PD7

PD3PD5

5 V PD2

J3

Sensor

1 23 45 67 89 10

PD6

PD1

R910k

RST

C4

10uF/16v

5 V

MISO

J1

Downloader

123456

5 V

MOSISCK

RST

Pemrograman Robot Penjejak Garis Berbasis Mikrokontroler

S1-Sistem Komputer STIKOM SURABAYA 11

disesuaikan. Untuk saluran pemrograman mikrokontroler dari komputer, akan melalui Jalur SPI

(MISO, MOSI, SCK) pada bagian penghubung J1.

II. Regulator Tegangan

Gambar 15. Rangkaian Regulator Tegangan

Pada Gambar 15. menunjukkan regulator tegangan U7 menggunakan komponen

LM7805. Pada komponen tersebut dapat disalurkan tegangan input 7 Volt hingga 20 Volt,

sedangkan tegangan keluaran yang dihasilkan adalah 4,8 Volt hingga 5,2 Volt dan arus yang

dihasilkan mencapai 1 Ampere. Untuk catu daya motor penggerak robot dapat dihubungkan

pada penyambung J7. Indikator adanya tegangan yang diberikan pada sistem, akan

ditunjukkan dengan menyalanya LED komponen D4.

III. Motor Driver

C15100uF/25v

C14470uF/25v

5 V12 V U7LM7805

1

2

3VI

GN

D

VO

12 V VSS J7

POWER Motor

12

J2

POWER 12V

12

C510u/16v

R7680

D4

LED

5 V

Pemrograman Robot Penjejak Garis Berbasis Mikrokontroler

S1-Sistem Komputer STIKOM SURABAYA 12

Gambar 16. Rangkaian Motor Driver L298

Pada Gambar 16. menunjukkan rangkaian motor driver menggunakan L298 untuk

mengendalikan dua motor penggerak yang terhubung pada J5 dan J6.

2A2 Motor2Y2

5 V

Motor1Y2

U8

L298

57

1012

23

1314

8

611

115

94

1A11A2

2A12A2

1Y11Y2

2Y12Y2

GN

D

1EN2EN

1E2E

VCC1VCC2C7

100nF

PWMPWM2

VSS

Motor1Y1

2A1 Motor2Y1

1A1

C8

100nF

1A2

-+

D13

BRIDGE

1

4

3

2

Motor1Y1

J5

Motor1

12

Motor1Y2

VSS

-+

D14

BRIDGE

1

4

3

2

J6

Motor2

12

Motor2Y1

Motor2Y2

VSS

Pemrograman Robot Penjejak Garis Berbasis Mikrokontroler

S1-Sistem Komputer STIKOM SURABAYA 13

IV. Sensor Pendeteksi Warna

Gambar 17. Rangkaian 1-bit Sensor Pendeteksi Warna

Gambar 17. menunjukkan rangkaian 1-bit sensor pendeteksi warna garis. Jika ingin

menggunakan 8-bit sensor pendeteksi warna garis, dapat menggandakan rangkaian pada

Gambar 17. sebanyak delapan buah. Hasil tegangan keluaran digital pembacaan sensor

melalui jalur S1.

D10

LED

R6

220

R5

2k2

5 V

R1

22k

R3

22k

5 V

R7

560

5 V

D1

PHOTODIODE

R4

220k

R2

5k

S1

D9

LED

-

+

U1A

LM339

7

61

31

2

Pemrograman Robot Penjejak Garis Berbasis Mikrokontroler

S1-Sistem Komputer STIKOM SURABAYA 14

Pemrograman Mikrokontroler AVR ATMEGA8 menggunakan CodeVisionAVR

Langkah-langkah pemrograman :

1. Jalankan aplikasi CodeVisionAVR

2. Klik File – New, kemudian pilih Project, klik tombol OK

Klik Yes, untuk menggunakan CodeWizardAVR

3. Pilih Mikrokontroler ATMEGA8 dan Osilator sebesar 8 Mhz

Pemrograman Robot Penjejak Garis Berbasis Mikrokontroler

S1-Sistem Komputer STIKOM SURABAYA 15

4. Pilih Ports untuk mengubah PORTD sebagai input, PORTB sebagai output, PORTC, sebagai

input

Pemrograman Robot Penjejak Garis Berbasis Mikrokontroler

S1-Sistem Komputer STIKOM SURABAYA 16

5. Pilih Timers – Timer1 untuk mengaktifkan fungsi PWM

6. Klik File – Generate, Save and Exit

Beri nama file yang diminta kemudian simpan di direktori yang dipilih

7. Siap memrogram