Senin, 13 Juni 2011

robot line follower

ROBOT LINE FOLLOWER
handoko_alex@yahoo.co.id
085710000435

1.    Pendahuluan
Robot line follower adalah robot yang dapat bergerak mengikuti garis secara OTOMATIS. Dengan menggunakan white board dan garis warna hitam, maka robot ini akan berjalan mengkuti garis. Namun ada beberapa hal yang harus diperhatikan disini. Yaitu terdapatnya garis bercabang, perempatan, pertigaan atau bahkan tikungan yang tajam. Maka untuk menjalankan robot tersebut sesuai dengan yang diinginkan tentunya ada beberapa progam yang harus dikerjakan dengan bantuan beberapa sensor infra red dan photo diode sebagai sensor garis. Mikrokontroler sebagai otak dari kerja robot ini. Pemprogaman mikrokontroler AVR ATMega8535 mengunakan bahasa C. 


2.    Sensor (Rangkaian Photo Dioda)
Sensor dapat dianalogikan sebagai ‘mata’ dari sebuah robot. Mata di sini digunakan untuk ‘membaca’ garis hitam dari track robot. Kapan dia akan berbelok ke kanan, kapan dia berbelok ke kiri. Pada robot line follower, sensor robot yang dapat digunakan ada 3 jenis, yaitu LDR (Light Dependent Resistor), Photo Dioda, dan Photo Transistor. Namun disini yang digunakan adalah LDR dan Photo diode. LDR berfungsi untuk memancarkan cahaya, sehingga diterima oleh Photo diode. 
[Image]Nah..gambar di samping kanan adalah 1 pasang sensor yang akan digunakan pada robot line follower. Bentuknya mirip seperti LED, yang berwarna ungu bernama receiver (photo dioda) dan yang berwarna bening bernama transmitter (infrared). Untuk membuat robot berjalan mengikuti garis, maka diperlukan beberapa pasang sensor. Semakin banyak sensor yang digunakan, maka semakin baik pula cara kerja robot. Berarti robot akan bisa diprogam dengan banyak logika. Namun yang harus diingat dibalik banyaknya pasang sensor yang kita gunakan, maka pembuatan progam juga semakin sulit. Namun dari hal ini maka robot akan bisa lebih banyak diposisikan atau di logikakan seperti yang kita mau.
Contoh dari rangkaian satu pasang sensor ada pada dibawah ini. Jika ingin menggunakan beberapa maka kita bikin rangkaian yang sama. Namun sebelum membuat kita harus perhitungkan dahulu berapa pasang sensor yang akan digunakan. Berapa jarak antar sensor yang harus digunakan. Dan berapa pula jarak antar sensor dengan ground (white board). Harus diperhitungkan tterlebih dahulu beserta berapa lebar garis yang digunakan robot line follower.
[Image]
Cara kerja dari pada rangkaian sensor adalah dengan memanfaatkan banyaknya perbedaan cahaya yang diterima oleh photo diode. Cahaya berasala dari infrared yang memancarkan cahaya ke gound (white board) kemudian pantulannya diterima oleh photo diode. Banyak sedikit cahaya yang diterima oleh photo diode tergantung dari perbedaan warna garis yang terdapat pada white board. Selanjutnya dari perbedaan cahaya tersebut akan menghasilkan tegangan yang berbeda-beda pula. Dengan menggunakan converter maka robot ini akan bisa difungsikan.

3.    Sensor (Cara Kerja)
                    [Image]
Ketika transmitter (infrared) memancarkan cahaya ke bidang berwarna putih, cahaya akan dipantulkan hampir semuanya oleh bidang berwarna putih tersebut. Sebaliknya, ketika transmitter memancarkan cahaya ke bidang berwarna gelap atau hitam, maka cahaya akan banyak diserap oleh bidang gelap tersebut, sehingga cahaya yang sampai ke receiver tinggal sedikit. perbedaan cahaya yang diterima oleh receiver akan menyebabkan hambatan yang berbeda-beda di dalam receiver (photo dioda) tersebut. Dari perbedaan hambatan tersebut maka akan menghasilkan tegangan output yang berbeda-beda pula. Tegangan inilah yang akan dimanfaatkan sebagai kerja robot sehingga bisa berjalan mengikuti garis. Output dari tegangan ini masuk ke converter dan selanjutnya masuk ke mikrokontroler dan diprogam. Banyaknya converter yang digunakan sesuai dengan berapa pasang sensor yang digunakan. (satu pasang converter = satu pasang sensor).
Ilustrasinya seperti gambar di bawah ini.Kalau cahaya yang dipancarkan ke bidang putih, sensor akan :[Image]Sebaliknya, kalau cahaya yang dipantulkan oleh bidang hitam, maka sensor akan :[Image]Setelah kita tahu ilustrasi sensor, tinjau kembali rangkaian sensornya, bisa kita analogikan seperti :[Image] Dengan hambatan receiver berubah-ubah, jadi otomatis rangkaian sensor yang bagian kanan bisa kita analogikan seperti gambar. Receiver bisa kita analogikan dengan resistor variabel, yaitu resistor yang nilai hambatannya bisa berubah. Otomatis, dengan pembagi tegangan, nilai tegangan di output rangkaian juga akan berubah-ubah bukan? Jadi, baca putih akan mengeluarkan output dengan tegangan rendah (sekitar 0 Volt) dan baca hitam akan mengeluarkan output dengan tegangan tinggi (mendekati Vcc = 5 Volt).
4.    Processor (IC LM339/139)
[Image]
IC LM339 biasa disebut sebagai komparator. (membandingkan). Dengan kata lain, sesuatu yang berbentuk analog harus dikonversi dulu ke dalam bentuk digital (deretan biner) pada dunia elektronika. Hal ini bertujuan untuk mempermudah processing. Bawah ini adalah datasheet LM339.[Image]
1 IC LM339 terdiri dari 4 buah komparator (yang berbentuk segitiga ). Satu buah komparator terdiri dari 2 input, yaitu Vin (input masukan dari sensor) dan Vref (tegangan referensi). Pada dasarnya, jika tegangan Vin lebih besar dari Vref, maka Vo akan mengeluarkan logika 1 yang berarti 5 Volt atau setara dengan Vcc. Sebaliknya, jika tegangan Vin lebih kecil dari Vref, maka output Vo akan mengeluarkan logika 0 yang berarti 0 Volt.Jangan lupa untuk menambahkan resistor pull-up di keluaran komparator (Vo). Hal ini disebabkan oleh perilaku IC LM339 yang hanya menghasilkan logika 0 dan Z (bukan logika 1), sehingga si logika Z ini harus kita tarik ke Vcc dengan resistor pull-up agar menghasilkan logika 1. 

Berikut adalah rangkaian satu buaat sensor beserta LM324/139[Image]

5.       MIKROPOSESOR (8535)Mikropesesor yang digunakan disini adalah jenis AVR ATMega8535. Semua kerja dari pada robot ada pada mikroprosesor ini. Tugas utama mikroposesor ini adalah mengatur kondisi robot terhadap prilaku yang mengenai dirinya. Kemana robot akan berjalan, maju, mundor, berhenti, ataupun berbelok. Terhadap semua perlakuan yang diterima oleh robot akan dijadikan input oleh mikroprosesor yang selanjutnya akan kita progam sesuai dengan yang kita mau. Setelah progam berjalan, maka akan terdapat output yang bisa dimanfaatkan untuk memfungsikan kerja dari robot ini. Disini output akan diteruskan kepada ke driver motor. Dan selanjutnya akan memfungsikan motor bergerak.Misal jika menemukan perempatan jalan apa yang akan dilakukan, jika pertigaan kemana robot akan berjalan, maju, belok kiri atau belok kanan dansebagainya. Namun dalam pemprogaman ada beberapa aturan dan yang akan kita gunakan. Jelaslah bahwa fungsi utama dari mikroprosesor ini adalah otak kerja robot. Jika mikroprosesor ini rusak, maka semua kerja akan rusak juga.
Hal yang perlu diingat adalah mikroprosesor adalah suatu chip yang bisa diprogam oleh beberapa kondisi. Input dan output dari mikroposesor ini adalah berupa bilangan biner (1/0). Maka dalam keadaan apapun input sebelum masuk kepada mikroprosesor terlebih dahulu harus dirubah kedalam biner. Begitu pula sebaliknya output dari hasil progam juga berupa bilangan biner. Maka untuk menggunakan output dari mikroprosesor ini harus dirubah dahulu sebelum digunakan terhadap progam yang akan kita lakukan.
[Image]                                            Konfigurasi pin ATMega 8535
                Mikroprosesor terdiri dari 40 buah kaki-kaki, namun yang bisa kita gunakan untuk membuat progam adalah 32 bit (kaki) saja. Yang terdiri dari 4 buat port yaitu port A, port B, port C, port D yang masing – masing port terdapat 8 buah kaki. Pada ATMega 8535 juga telah dilengkapi oleh ADC (analog to digital converter) yang berfungsi untuk merubah data yang berupa analog menjadi data digital (perhatikan Areff yang digunakan untuk membandingkan sehingga keluar data digital). Juga terdapat Tx(transmitter) dan Rx (receiver) yang bisa difungsikan untuk memancarkan dan menerima frekuensi jika ingin bermain-main pada frekuensi atau yang berhubungan dengan wireless. Namun pada robot line follower yang dibuat disini output yang dibuat untuk menggerakkan robot maka hanya  menggunakan dua buah driver motor yang akan menggerakkan motor. Masing-masing driver membutuhkan dua buah output dari mikroposesor. Maka untuk memprogam dua buah motor kiri dan kanan membutuhkan empat buah output.  
6.       Driver Motor (L239D)

Driver motor  terdiri dari LM293D yang  berfungsi untuk mengatur gerakan motor, pada LM329 terdapat dua buah Vcc. Yang pertama adalah Vcc untuk mengaktifkan LM293d, dan Vcc yang kedua digunakan untuk mengatur putaran motor. Jadi putaran motor bisa diatur antara 0 volt sampai 12 volt tergantung bagaimana kita akan menggunakan motor tersebut. Jika memang memerlukan putaran yang lebih cepat maka bisa dipasang hingga 12 volt. Namun jika ternyata motor memerlukan tegangan yang lebih besar dari 12 volt, maka LM293D tidak sanggup untuk mensuplay, maka output dari LM293D perlu ditambahkan komponen lain, missal transistor.
Pada satu IC LM293D terdapat 2 pasang motor yang bisa digunakan. Yang masing-masing bisa digunakan dalam dua arah putaran (searah jarum jam/ berlawanan jarum jam). Namun untuk menggunakan terdapat tabel kebenaran yang harus diperhatikan. Untuk bisa memfungsikan LM293D ini maka ENABLE harus dalam kondisi High ( kurang lebih 5 volt) dan tentunya input juga harus berlogika High juga. Sehingga output bisa berlogika High sehingga bisa digunakan atau disambungkan kepada motor. Jika ENABLE dikondisikan LOW, maka secara pasti output akan menjadi Z (zero). Berikut adalah konstruksi dari LM293D sekaligus dengan rangkaian motor yang akan digunakan. Dan juga terdapat tabet kebenaran antara INPUT, ENABLE dan OUTPUT.

[Image]                                                           Gambar rangkaian LM293D

INPUT ENABLE OUTPUT H H H L H L H L Z L L Z 

Berikut diberikan data percobaan untuk pengetesan motor ( sebelum dilakukan pengetesan semua rangkaian harus benar dan enable harus diberikan logika 1). Misal yang akan di coba adalah motor A (lihat gambar rangkaian motor).  Jika RA3 diberi input 1 dan RA2 diberi input 0, maka arus akan mengalir dan memtor akan berputar kekanan (searah jarum jam). Jika RA3 diberi input 0 dan RA2 diberi input 1, maka motor akan berputar ke kiri ( berlawanan dengan jarum jam). Namun jika kedua input sama-sama diberi logika 1, maka motor tidak akan bisa digerakkan (LOCK) terkunci. Sebaliknya jika keduanya diberikan logika 0, maka motor akan dalam keadaan break atau free (bisa digerakkan searah atau berlawanan dengan jarum jam.Berikut adalah tabel untuk percobaan putaran motor
RA2 RA3 Kondisi motor 1 1 lock 1 0 Putar kanan 0 1 Putar kiri 0 0 Break 


DIAGRAM BLOK RANGKAIAN


[Image] 





Cara kerja:ketika robot berada pada white board, cahaya infrared akan menyebar, ketika sensor tersebut mengenai warna putih pada white board, maka photo diode akan menerima cahaya pantulan dari infrared dengan jumlah yang banyak. Ketika sensor tersebut mengenai garis berwarna hitam, maka sebagian cahaya infrared akan diserap oleh warna hitam tersebut dan sebagai akibatnya jumlah cahaya yang diterima oleh photo diode akan lebih sedikir jika dbandingkan dengan jumlah cahaya pada saat mengenai warna putih white board. Photodiode adalah sangat sensitive terhadap perubahan cahaya. Karena perbedaan cahaya tersebut maka resistansi photodiode akan berubah, ketika photo diode menerima cahaya  maka resistansi akan dari photodiode akan berubah menjadi lebih kecil.  Pada saat sensor mengenai garis hitam, maka jumlah cahaya yang diterima lebih sedikit jika dibandingkan pada saat mengenai wrna putih. Akibatnya resistansi ketika mengenai warna hitam akan lebih besar sehingga menghasilkan tegangan yang lebih besar pula. Perbedaan tegangan dari kedua sifat inilah yang dipergunakan untuk memposisikan robot.Tegangan hasil perbedaan tersebut akan dikonferter pada LM339 melalui Vin, sedangkan pada Vreff tegangan harus berada antara tegangan sensor ketika mengenai garis hitam dan ketika mengenai garis putih. Misal ketika sensor mengenai garis hitam menghasilkan menghasilkan tegangan 4 volt dan ketika sensor mengenai garis putih menghasilkan tegangan 1 volt, maka pada LM339 Vreff harus berda para range 1 sampai 4 volt. Missal Vreff adalah 2 volt. Pada saat sensor di garis putih berarti Vreff > Vin, maka output akan berlogika 0, dan pada saat sensor berada pada garis hitam, maka Vreff<Vin akibatnya output berlogika 1.  Yang selanjutnya output ini akan masuk kepada mikrokontroler AVR ATMega 8535 yang berfungsi sebagai otak kerja daripada robot ini. Dengan pemprogaman memanfaatkan dari perbedaan tegangan tadi.Mikrokontroler sebagai otak utama dari system robot line follower mempunyai tugas yang sangat berat, yaitu memfungsikan komponen yang telah terhubung oleh suatu system sehingga mampu bekerja sesuai keinginan. Input dari mikrokontroler ini diambil dari beberapa sensor garis yang digunakan (sebaiknya menggunakan lebih dari 4 buah sensor untuk mendapatkan modulasi progam yang lebih banyak). Input berupa tegangan yang berlogika 0 atau 1. Kita bisa ambil pada port manapun sebagai input, dan juga port manapun sebagai output. dengan perbedaan logika pada kondisi tersebut kita progam sehingga menghasilkan dua buah output yang akan diteruskan ke driver motor. Dua buah output karena robot ini hanya menggunakan dua buat motor dan tidak menggunakan output apapun lagi. Namun jika kita menginginkan output lagi kita bisa menambahkan beberapa output dengan cara pemprogaman.Dari driver sensor maka output akan langsung diteruskan kepada kedua motor sehingga robot ini bisa berjalan sesuai yang dinginkan. Mengenai tantang progam, AVR ATMega 8535, system minimum dan juga beberapa rangkaian ada pada lampiran. Namun progam tersebut masih bisa ditambahkan sesuai dengan yang dinginkan.




HANDOKO
handoko_alex@yahoo.co.id   
(085710000435)