Anda di halaman 1dari 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

Pemrograman Robot Penjejak Garis Berbasis Mikrokontroler A. BLOK DIAGRAM Bagian-bagian yang digunakan dalam sebuah sistem Robot Penjejak Garis yang terprogram, ditunjukkan pada Gambar 1.

SENSOR CAHAYA

KOMPARATOR

MIKROKONTOLER

Motor 1

MOTOR DRIVER

Motor 2
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.

S1-Sistem Komputer STIKOM SURABAYA

Pemrograman Robot Penjejak Garis Berbasis Mikrokontroler

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

S1-Sistem Komputer STIKOM SURABAYA

Pemrograman Robot Penjejak Garis Berbasis Mikrokontroler 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


5V

R1 560

R2 10k

Grs1 D1 LED D2 PhDioda

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

S1-Sistem Komputer STIKOM SURABAYA

Pemrograman Robot Penjejak Garis Berbasis Mikrokontroler 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) Gambar 7. (a) Komparator Tidak Membalik (b) Komparator Membalik

(b)

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

S1-Sistem Komputer STIKOM SURABAYA

Pemrograman Robot Penjejak Garis Berbasis Mikrokontroler

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.

S1-Sistem Komputer STIKOM SURABAYA

Pemrograman Robot Penjejak Garis Berbasis Mikrokontroler Tabel 1. Mikrokontroler AVR Jenis AVR ATTiny Seri ATTiny13 ATTiny2313 ATTiny24 ATMEGA ATMEGA8L ATMEGA8515L ATMEGA8535L ATMEGA16L ATMEGA32 AT90S AT90S2313 AT90S8535 AT90S4433 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 . Fitur Memory Flash : 1 KB, EEPROM : 64 Byte, SRAM : 64 Byte Flash : 2 KB, EEPROM : 128 Byte, SRAM : 128 Byte Flash : 2 KB, EEPROM : 128 Byte, SRAM : 128 Byte Flash : 8 KB, EEPROM : 512 Byte, SRAM : 1 KB Flash : 8 KB, EEPROM : 512 Byte, SRAM : 512 Byte Flash : 8 KB, EEPROM : 512 Byte, SRAM : 512 Byte Flash : 16 KB, EEPROM : 512 Byte, SRAM : 1 KB Flash : 32 KB, EEPROM : 1 KB, SRAM : 2 KB Flash : 2 KB, EEPROM : 128 Byte, SRAM : 128 Byte Flash : 8 KB, EEPROM : 512 Byte, SRAM : 512 Byte Flash : 4 KB, EEPROM : 256 Byte, SRAM : 128 Byte (Sumber : http://www.atmel.com/products/AVR/#)

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.

S1-Sistem Komputer STIKOM SURABAYA

Pemrograman Robot Penjejak Garis Berbasis Mikrokontroler 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 menstart, 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.
VCC

R1 Q1 BC9012 MG1 Q2 BC9012

R2

470 Q5 BC9013

470 Q6 BC9013

MOTOR DC input2 Q3 BC9013 Q4 BC9013 input1

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).

S1-Sistem Komputer STIKOM SURABAYA

Pemrograman Robot Penjejak Garis Berbasis Mikrokontroler 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) Gambar 12. (a) L293D Motor driver (b) L298 Motor driver

(b)

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

S1-Sistem Komputer STIKOM SURABAYA

Pemrograman Robot Penjejak Garis Berbasis Mikrokontroler Rangkaian Robot Penjejak Garis berbasis Mikrokontroler AVR ATMEGA8 I. Minimum Sistem AVR ATMEGA8
5V C3 RST PD0 PD1 PD2 PD3 PD4 1 2 3 4 5 6 7 8 9 10 11 12 13 14 IC1 PC6 (RESET)(SCL/ADC5) PC5 PD0 (RxD) (SDA/ADC4) PC4 PD1 (TxD) (ADC3) PC3 PD2 (INT0) (ADC2) PC2 PD3 (INT1) (ADC1) PC1 PD4 (XCK/T0) (ADC0) PC0 VCC AGND GND AREF PB6 (XT1/TOSC1) AVCC PB7 (XT2/TOSC2) (SCK) PB5 PD5 (T1) (MISO) PB4 PD6 (AIN0) (OC2/MOSI) PB3 PD7 (AIN1) (SS/OC1B) PB2 PB0 (ICP) (OC1A) PB1 ATmega8-DIL28 28 27 26 25 24 23 22 21 20 19 18 17 16 15 PC5 PC4 PC3 PC2 PC1 PC0 5V C6 L1

100u C1 30 pF Y1 8 Mhz

10uH 0.1uF 2A1 SCK 1A2 MISO 1A1 MOSI PWM2 PWM

PD5 PD6 PD7 2A2

30 pF C2

J4 5V PC0 PC2 PC4 1 3 5 7 9 I/O 2 4 6 8 10 PC1 PC3 PC5

J3 5V PD0 PD2 PD4 PD6 1 3 5 7 9 Sensor 2 4 6 8 10 PD1 PD3 PD5 PD7

5V

R9 10k RST

5V J1 SCK MOSI RST MISO 1 2 3 4 5 6 Downloader

C4 10uF/16v

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 S1-Sistem Komputer STIKOM SURABAYA 10

Pemrograman Robot Penjejak Garis Berbasis Mikrokontroler disesuaikan. Untuk saluran pemrograman mikrokontroler dari komputer, akan melalui Jalur SPI (MISO, MOSI, SCK) pada bagian penghubung J1.

II. Regulator Tegangan


12 V 1 U7 LM7805
GND

5V VO 3

VI

C14 470uF/25v

C15 100uF/25v

12 V 1 2

J2

VSS 1 2

J7

POWER 12V
5V R7 680

POWER Motor

D4 LED

C5 10u/16v

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

S1-Sistem Komputer STIKOM SURABAYA

11

Pemrograman Robot Penjejak Garis Berbasis Mikrokontroler


U8 1A1 1A2 2A1 2A2 5 7 10 12 1 15 5V PWM PWM2 6 11 9 4 1A1 1A2 2A1 2A2 1E 2E 1EN 2EN VCC1 VCC2 L298 100nF
GND

1Y 1 1Y 2 2Y 1 2Y 2

2 3 13 14

Motor1Y 1 Motor1Y 2 Motor2Y 1 Motor2Y 2

VSS C7 C8 100nF

Motor1Y 1

D13

BRIDGE VSS 4 + 2 1 2

J5

Motor1

Motor1Y 2

Motor2Y 1 D14

BRIDGE VSS 4 + 2 1 2

J6

Motor2

Motor2Y 2

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.

S1-Sistem Komputer STIKOM SURABAYA

12

Pemrograman Robot Penjejak Garis Berbasis Mikrokontroler IV. Sensor Pendeteksi Warna
5V R4 R5 5V

220k R2 5k

2k2 R6 220

R3

5V D9 LED

D10 LED

R1 22k

22k
3

U1A 1

7 6

+ 12

S1

LM339

R7 560

D1 PHOTODIODE

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.

S1-Sistem Komputer STIKOM SURABAYA

13

Pemrograman Robot Penjejak Garis Berbasis Mikrokontroler 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

S1-Sistem Komputer STIKOM SURABAYA

14

Pemrograman Robot Penjejak Garis Berbasis Mikrokontroler

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

S1-Sistem Komputer STIKOM SURABAYA

15

Pemrograman Robot Penjejak Garis Berbasis Mikrokontroler 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

S1-Sistem Komputer STIKOM SURABAYA

16

Anda mungkin juga menyukai