Kamis, 14 Juni 2012

RANGKAIAN ROBOT LINE

 RANGKAIAN ROBOT LINE FOLLOWER VER 1.0

Robot line follower atau biasa disebut dengan robot line tracker merupakan robot yang bisa mengikuti garis hitam maupun garis putih tergantung bagaimana kita memprogramnya. Mengapa robot line follower? untuk orang yang baru mempelajari tentang robotika biasanya yang paling pertama dan gampang untuk dipelajari adalah robot line follower ini, disamping juga biaya pembuatannya lebih murah dibanding dengan robot wall follower dan legged robot.
 Robot line follower ini mengikuti garis dengan menggunakan sensor garis yang terdiri dari beberapa LED dan Photodioda, prinsip kerja sensor garis dapat kamu lihat , sedang untuk pengontrolan pergerakan robot bisa kamu pelajari .
selanjutnya untuk skema rangkaian lengkap robot line follower dapat kamu lihat seperti dibawah:

rangkaian skematik line follower
Rangkaian diatas merupakan gabungan dari lima blok system rangkaian yang terdiri dari rangkaian kontrol, sensor garis, driver motor, indikator/tampilan serta rangkaian mode. Untuk rangkaian kontrol menggunakan system minimum ATmega16, sedang untuk sensor garisnya yaitu terdiri dari 8 buah LED dan Photodiode yang terhubung dengan PORT A (ADC) pada mikrokontoler serta resistor pack (sisir) dihubung paralel yang berfungsi sebagai pembagi tegangan, selanjutnya rangkaian driver motor menggunakan IC L293D dan indikator/tampilan  menggunakan LCD 2 x 16 serta tiga buah push button untuk mode robot.
Berikut List komponen untuk rangkaian Robot line Follower pada gambar diatas:
  • Mikrokontroler ATmega16
  • Socket 2x20
  • L293D
  • Socket 2x8
  • LCD 2x16
  • LED Ultrabright @8x
  • Resistor 1K @8x
  • Photodiode @8x
  • Push button @4x
  • Crystal 11,0592 MHz
  • Kapasitor 22pf @2x
  • Kapasitor 100nf 
  • Resistor 4,7K
  • Resistor Pack 9 Pin      

PRINSIP KERJA SENSOR GARIS

Mungkin sudah tidak terdengar asing lagi mengenai sensor ataupun sensor garis bagi teman-teman yang mengambil jurusan elektronika, kendali atau robotika, jadi artikel ini saya tulis hanya sekedar untuk sharing atau berbagi dengan teman-teman lain yang mungkin belum mengetahui serta ingin belajar tentang sensor atau yang berhubungan dengannya.
Sebelum membahas lebih jauh mengenai sensor garis sebaiknya perlu kita ketahui apa sebenarnya yang dimaksud dengan sensor? Sensor merupakan suatu peranti yang mengubah besaran nilai (energi) menjadi satuan listrik sehingga dapat diukur dan ditentukan nilainya sesuai dengan data satuan yang diterima pada sensor.
Ini sapa halnya seperti sensor garis yang mendeteksi garis (hitam) maupun yang bukan garis (putih), terus bagaimana cara sensor garis ini membedakan mana yang merupakan garis dan mana yang bukan!. Sebenarnya prinsip kerjanya cukup sederhana, Dalam sebuah sensor garis terdapat LED (light emmiting diode) yang berfungsi memancarkan cahaya dan photodioda yang berfungsi sebagai penerima cahaya. Photodioda inilah yang tahanannya dapat berubah-ubah tergantung dari intensitas pantulan cahaya dari LED yang mengenainya. Seperti contoh gambar dibawah:

sensor garis
Pada gambar diatas terdapat LED (merah) yang memancarkan cahaya dan photodioda (abu-abu) sebagai penerima cahaya, dari sini dapat dilihat perbedaan secara jalas pantulan cahaya dari LED apabila sensor berada pada garis (hitam) atau berada diuar garis (putih). Jika sensor berada diluar garis maka pantulan cahaya dari LED akan lebih besar mengenai photodioda jadi otomatis tahanannya akan mengecil dan tegangan akan membesar, sebaliknya jika sensor berada pada garis maka pantulan cahaya LED yang mengenai photodioda lebih kecil sehingga tahanan membesar dan otomatis tegangan akan mengecil. Agar keluaran (output) sensor garis ini digital atau hanya mempunyai dua macam keadaan yaitu keadaan "0" (tidak ada tegangan) dan keadaan "1" (ada tegangan) biasanya digunakan komparator atau pembanding tegangan seperti Op-Amp.
Terus bagaimana penerapan dan penggunaanya dalam sebuah robot sehingga sebuah robot bisa mengikuti garis? Pada robot line tracker biasanya menggunakan beberapa sensor garis dan memakai algoritma FUZZY LOGIC dalam pengaturan kecepatan motor seperti gambar dibawah :
keadaan sensor garis pada robot
Pada gambar terdapat 6 buah sensor (1-6 hitung dari kiri) garis yang mempunya 8 keadaan terhadap garis. Pada keadaan pertama (keadaan stabil) yaitu sensor tengah (sensor 3 & 4 ) berada pada garis, disini dapat kita atur kecepatan motor kiri dan kanan adalah sama sehingga robot berjalan lurus, kedaan selanjutnya yaitu sensor agak sedikit ke kanan (sensor 3 dapat garis), pada keadaan ini kita atur kecepatan motor kanan lebih cepat dari motor kiri agar robot dapat menggeser sedikit kearah kiri, selanjutnya sensor agak bergeser ke kiri (sensor 4 dapat garis) kita dapat atur lagi kecepatan kedua motor agar robot bisa menggeser ke kanan, demikian untuk keadaan seterusnya kita atur kecepatan kedua motor agar robot bisa menstabilkan posisinya untuk tetap berada pada garis.


KONTROL MOTOR DENGAN PWM


Pengontrolan motor dalam dunia robotika merupakan hal yang wajib untuk diketahui bagi para designer robot. Pengontrolan motor ini terbagi atas dua jenis yaitu kontrol arah putaran motor dan kontrol kecepatan putaran motor. Pengontrol arah putaran motor tentunya menggunakan sebuah rangkaian driver motor yang biasanya terdiri dari transistor dan relay atau hanya menggunakan transistor yang biasa disebut dengan Rangkaian H-Bridge seperti yang telah saya posting sebelumnya.
Sedangkan untuk pengontrolan kecepatan motor biasanya menggunakan teknik yang dinamakan PWM (Pulse Width Modulation). Yaitu memodulasi lebar sinyal pulsa dari mikrokontroler yang dimana semakin lebar pulsa yang diberikan mikrokontroler ke rangkaian driver maka kecepatan motor akan bertambah begitu pula sebaliknya.
Rangkaian driver motor kali ini menggunakan IC khusus yang mampu mengontrol dua motor serta dilengkapi dengan dua PIN Enable untuk PWM. Sedangkan untuk Chip pengontrol menggunakan ATmega8 seperti yang terlihat pada gambar dibawah ini.
kontrol motor dengan pwm
Seperti yang terlihat pada gambar diatas dapat dengan jelas kita lihat jalur hubungan kaki-kaki antara ATmega8 dan L293D
Selanjutnyan Script Program untuk pengontrolan motor menggunakan PWM
/*****************************************************
Project : PWM Control 
Version : 1.0
Date    : 01/02/2012
Author  : Iccank Devilz
Website : http://www.zer07even.com
Chip type           : ATmega8
Program type        : Application
Clock frequency     : 11,059200 MHz
Memory model        : Small
External RAM size   : 0
Data Stack size     : 256
*****************************************************/
#include <mega8.h>
#define PWMkanan OCR1A
#define PWMkiri OCR1B
void motor (unsigned char GASkanan, unsigned char GASkiri);
void main(void)
{
PORTB=0x00;DDRB=0xFF;
PORTC=0x00;DDRC=0x00;
PORTD=0x00;DDRD=0x00;
TCCR1A=0xA1;
TCCR1B=0x02;
TCNT1H=0x00;
TCNT1L=0x00;
ICR1H=0x00;
ICR1L=0x00;
OCR1AH=0x00;
OCR1AL=0x00;
OCR1BH=0x00;
OCR1BL=0x00;
while (1)
      {
            motor (100,100);  // input nilai PWM motor dari 0-255
      };
}
void motor (unsigned char GASkanan, unsigned char GASkiri)
{
PORTB.0=1;PORTB.3=0;
PORTB.4=1;PORTB.5=0;
PWMkanan=GASkanan;
PWMkiri=GASkiri;

6 komentar:

  1. robot line rangkaiannya keren bgt , ribet pastinya ..butuh berapa hari untuk jd sempurna yaa hehe :)

    BalasHapus
  2. bagus bgt sis utk posting nya.... mksih yaa.... *jrg banget ad cwe yg nge.post kyk giniaan... :D

    BalasHapus
  3. layoutnya kaya gmn ini ya....?

    BalasHapus
  4. thank's ya broo ilmunya lain kali kalo bisa update yang terbaru yaa guru :)

    BalasHapus
  5. salut, jarang ya cewek ngepost gini, aku like banget

    BalasHapus