Pada blog ini, penulis akan berbagi pengalaman tentang bagaimana cara membuat grid line follower menggunakan Arduino Uno dari nol secara gratis serta memberikan penjelasan detil sehingga Anda dapat memahami bagaimana line follower bekerja baik dari sisi perangkat keras ataupun perangkat lunak. Pada blog ini Anda tidak akan menemukan penjelasan singkat atau praktis tentang membuat grid line follower karena tujuan dibuatnya blog ini adalah untuk membuat Anda paham dan mengerti dalam melakukan perancangan line follower sehingga Anda dapat mengembangkan grid line follower sesuai dengan keinginan Anda.
Halaman ini menjelaskan secara umum tentang peralatan atau komponen serta cara kerja beberapa komponen yang digunakan pada grid line follower. Diharapkan sebelum memulai belajar bagaimana cara membangun grid line follower Anda membaca
doa terlebih dahulu sehingga apa yang dibaca pada blog ini dapat lebih
bermanfaat bagi Anda dan lebih mudah dipahami. Berikut beberapa
penjelasan umum mengenai komponen yang akan digunakan dalam membangun grid line follower.
Penjelasan Umum Perangkat atau Komponen yang Digunakan Grid Line Follower
Blog
ini memberikan informasi bagaimana membangun grid line follower sehingga
dapat bergerak seperti pada video di bawah, beserta lengkap dengan
program-nya.
Video grid line follower
Arduino Uno merupakan papan mikrokontroler yang menggunakan chip ATmega328P, memiliki 14 pin digital input/output (6 pin dapat digunkan sebagai PWM output, 6 pin digunakan sebagai analog input), 16 MHz crystal oscillator, sebuah USB port, power jack, reset button. Tegangan operasi Arduino Uno adalah 5 Volt. Jika Anda menggunakan power source yang dihubungkan ke power jack Anda dapat menggunakan tegangan 7-12 Volt. Jika menggunakan USB port maka Anda harus menggunakan tegangan 5 Volt.
Gambar 1. Papan Arduino Uno |
Sensor garis (line)
Sensor garis dibangun dari dua komponen utama yaitu IR LED (Infrared LED) dan photodiode. Photodiode dan IR LED dipasang pada line follower dengan posisi yang ditunjukan pada Gambar 2 dimana saat IR LED memancarkan cahaya infrared atau cahaya panas dan cahaya tersebut mengenai permukaan line atau
garis yang dapat memantulkan cahaya maka cahaya tersebut dipantulkan lalu diterima oleh photodiode. Dengan diterimanya cahaya infrared pada photodiode maka photodiode mengalirkan arus listrik jika pada kedua terminal photodiode terdapat tegangan. Peletakan IR LED dan photodiode sebagai line sensor
harus disesuaikan dengan kebutuhan sensitivitas. Penulis lebih suka
posisi seperti Gambar 2 karena cahaya lebih mudah dipantulkan objek
dibanding peletakan IR LED dan photodiode tegak lurus dengan line atau garis.
Gambar 2. Sensor garis putih (line sensor) |
Apa itu IR LED (Infrared LED) ?
Adalah LED dimana jika diberi tegangan maju LED akan mengeluarkan cahaya panas atau cahaya infrared. Cahaya ini tak tampak oleh mata. Cara menggunakan IR LED sama persis seperti LED lain atau diode.
Apa itu Photodiode ?
Photodiode merupakan komponen diode dimana jika terkena cahaya panas (infrared) maka photodioda dapat mengalirkan arus listirk. Dengan kata lain photodiode akan bekerja hanya jika permukaannya terkena oleh cahaya infrared. Perlu diingat photodiode tidak mengubah cahaya menjadi energi listrik seperti solar cell. Hal yang perlu diperhatikan dalam pemasangan photodiode adalah harus dipasang terbalik atau dalam kondisi reverse dengan sumber tegangan seperti pada Gambar 3 di bawah, jika tidak maka photodiode akan berfungsi sebagai diode biasa.
Photodiode merupakan komponen diode dimana jika terkena cahaya panas (infrared) maka photodioda dapat mengalirkan arus listirk. Dengan kata lain photodiode akan bekerja hanya jika permukaannya terkena oleh cahaya infrared. Perlu diingat photodiode tidak mengubah cahaya menjadi energi listrik seperti solar cell. Hal yang perlu diperhatikan dalam pemasangan photodiode adalah harus dipasang terbalik atau dalam kondisi reverse dengan sumber tegangan seperti pada Gambar 3 di bawah, jika tidak maka photodiode akan berfungsi sebagai diode biasa.
Gambar 3. Rangkaian penerima cahaya infrared |
Saat tidak terkena cahaya infrared,
photodiode akan memblok semua arus sehingga tidak akan ada arus yang
mengalir dari Katoda ke Anode, pada kondisi ini photodiode seperti
kondisi reverse pada diode atau LED lainnya. Saat terdapat cahaya infrared mengenai permukaan photodiode, arus akan mengalir dari Katoda ke Anoda meskipun kondisi photodiode dalam keadaan reverse atau terbalik terhadap tegangan. Besarnya arus yang mengalir pada terminal photodiode tergantung dari intensitas cahaya infrared yang mengenai photodiode.
Pada Gambar 3, jika photodiode terkena cahaya panas atau infrared, tegangan Vout akan menjadi kecil karena ada arus yang mengalir atau dibuang melalui photodiode.
Op-amp Sebagai Komparator
Op-amp sebagai komparator bekerja jika op-amp tidak memiliki rangkaian umpan balik dengan kondisi sebagai berikut :
- Vin+ lebih besar dari Vin- (Vin+ > Vin-) maka output op-amp akan high. High disini berarti tegangan output op-amp mendekati tegangan sumber.
- Jika tegangn Vin+ lebih kecil dibanding Vin- (Vin+ < Vin-) atau Vin+ sama dengan Vin- (Vin+ = Vin-) maka tegangan output (Vout) menjadi low (0 volt ).
Gambar 4. Op-amp
Op-amp sebagai komparator pada rangkaian grid line follower berfungsi untuk mengatur tingkat sensitivitas rangkaian sensor infrared
dengan membandingkan tegangan dc pada photodiode dengan tegangan dc
sumber yang dapat diubah tegangannya melaui potensiometer. Untuk
mendapatkan rangkaian sensor lengkap maka input rangkaian komparator
digabung dengan rangkaian photodiode.
Gambar 5. Rangkaian pengatur sensitivitas photodioda |
Pada Gambar 5, saat photodiode menerima cahaya infrared, output menjadi low (mendekati 0 Volt atau 0 Volt) dimana LED indikator menyala karena arus mengalir dari sumber ke terminal no 1 op-amp. Rangkaian ini ditujukan untuk Arduino yang diprogram aktif low dimana tegangan rendah (low) akan menjadi trigger atau pemicu Arduino untuk mengeksekusi perintah program. Potensiometer digunakan untuk mengatur sensitivitas penerimaan cahaya infrared pada photodiode.
PWM (Pulse Width Modulation)
Fungsi PWM pada grid line follower digunakan untuk mengatur kecepatan motor dc sehingga line follower berjalan dengan halus diatas line atau track dimana kecepatan motor dc bisa ditambah atau dikurangi secara bertahap hanya dengan mengatur duty cycle pulsa PWM. Gambaran
umum bagaimana PWM bekerja dapat dilihat pada cara kerja
komparator dimana gelombang segitiga atau gigi gergaji dibandingkan
tegangan dc. Dalam hal ini sinyal dc yang tegangannya diubah-ubah menyebabkan duty cycle atau perbandingan high dan low sinyal PWM berubah.
Gambar 6. Sinyal PWM |
Keterangan Gambar 6:
Sinyal warna kuning pada Gambar 6 di atas merupakan sinyal PWM yang dihasilkan dari perbandingan tegangan dc (hijau) dengan tegangan gelombang gigi gergaji (merah muda).
Sinyal warna kuning pada Gambar 6 di atas merupakan sinyal PWM yang dihasilkan dari perbandingan tegangan dc (hijau) dengan tegangan gelombang gigi gergaji (merah muda).
Cara kerja :
Gelombang gigi gergaji dimasukan pada terminal (+) op-amp, tegangan dc dimasukan pada terminal (-) melalui potensiometer agar tegangan dc bisa dirubah. Dengan berubahnya tegangan dc akibat dari berubahnya nilai potensiometer maka gelombang persegi (PWM) akan berubah duty cycle-nya atau berubah perbandingan high dan low-nya. Sehingga hanya dengan memutar posisi potensiometer maka akan merubah duty cycle gelombang PWM.
Gelombang gigi gergaji dimasukan pada terminal (+) op-amp, tegangan dc dimasukan pada terminal (-) melalui potensiometer agar tegangan dc bisa dirubah. Dengan berubahnya tegangan dc akibat dari berubahnya nilai potensiometer maka gelombang persegi (PWM) akan berubah duty cycle-nya atau berubah perbandingan high dan low-nya. Sehingga hanya dengan memutar posisi potensiometer maka akan merubah duty cycle gelombang PWM.
Gambar 7. Rangkaian pengatur duty cycle |
Mengapa PWM dapat mengubah kecepatan motor DC?
Untuk
mempermudah analogi mengapa PWM dapat mengatur kecepatan motor dc
adalah dengan logika saat menyalakan dan memadamkan lampu pijar (bohlam)
denga saklar manual. Jika saklar diatur pada posisi on dan off terus
menerus dengan cepat dengan perbandingan posisi on lebih lama
dibandingkan off, maka lampu pijar terlihat lebih terang
dibanding saat saklar pada posisi off lebih lama dari pada on.
Begitu pula bila posisi high gelombang lebih lama dibanding posisi low maka motor dc berputar lebih cepat dibandingkan dengan posisi low lebih panjang atau lebih lama dibanding posisi high. Motor dc berputar pada kecepatan maksimal saat posisi gelombang PWM selalu high atau posisi low-nya sangat pendek sekali.
Gambar 8. Ilustrasi cara kerja PWM pada mikrokontroler ATmega328P |
PWM internal pada mikrokontroler kerjanya mirip seperti PWM pada rangkaian analog yaitu dengan membandingkan nilai counter TCNTn dengan nilai register OCRnx, sinyal PWM yang dihasilkan dikeluarkan pada port atau terminal OCnx yang bisa dilihat pada spesifikasi Arduino Uno. Untuk penjelasan detil mengenai PWM dibahas pada bab PWM Arduino Uno.
Untuk
menggerakan motor dc diperlukan rangkaian tersendiri agar tidak
mengganggu kinerja dari Arduino karena setiap terminal atau pin Arduino hanya mampu
mengeluarkan arus sekitar 20 mA. Rangkaian ini sering disebut dengan driver motor dc yang umumnya menggunakan komponen transistor. Dalam perancangan grid line follower ini menggunakan motor dc yang kecil sehingga dapat menggunakan IC L239D dengan output maksimum sekitar 600mA setiap channel-nya, selain itu dengan driver motor dc L239D sangat mudah dalam perancangan dibanding Anda harus merangkai beberapa transistor.
Gambar 9. Rangkaian driver motor DC L293D |
Diskripsi gambar IC L293D di atas adalah sbb:
- Terminal no.1 digunakan untuk melakukan enable atau disable putaran motor M2. Pada saat terminal no 1 high maka motor M2 akan dapat digunakan untuk berputar.
- Terminal no.2 dan no.7 digunakan sebagai pengendali putaran motor M2 untuk berputar cw (clock wise) atau ccw (counter clock wise) atau mudahnya adalah untuk mengatur apakah motor M2 berputar ke kanan atau kekiri. Tegangan input untuk terminal ini didapatkan dari terminal atau pin pada Arduino Uno.
- Terminal no.3 dan no.6 dihubungkan langsung dengan motor dc M2 agar dapat digunakan.
- Terminal no 8 digunakan sebagai sumber dari IC L239D tegangan maksimum pada terminal ini adalah maksimum +5 Volt.
- Terminal no.9 digunakan untuk enable atau disable putaran motor M1. Pada saat terminal no.9 high maka motor M1 dapat digunakan untuk berputar.
- Terminal no 10 dan 15 dihubungkan langsung pada motor dc M1 agar dapat digunakan.
- Terminal no 16 Adalah terminal input tegangan yang digunakan untuk menjalankan motor dc. Rekomendasi maksimum adalah 12 Volt.
- Terminal no 3 dan 6 dihubungkan langsung dengan motor dc.
- Terminal 5, 6, 13, 12 dihubungkan dengan grounding atau tegangan 0 Volt.
Materi Proyek Grid Line Follower :