Top Banner
Robot Line Follower D I S U S U N Oleh Muhammad Hafidh 1104105010051 FAKULTAS TEKNIK
29

Robot Line Follower.docx

Nov 07, 2015

Download

Documents

Muhammad Hafidh
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript

Robot Line FollowerDISUSUN

Oleh

Muhammad Hafidh1104105010051

FAKULTAS TEKNIK UNIVERSITAS SYIAH KUALABANDA ACEH2015BAB IPENDAHULUAN

Dunia robotika pada zaman sekarang ini banyak digunakan pada mesin industri yang menciptakan barang dan kebutuhan manusia dalam jumlah yang sangat banyak. Sehingga dapat terlihat fungsi robot yang dapat membantu pekerjaan manusia. Tidak sedikit dana yang dikeluarkan oleh para ilmuan untuk menemukan sebuah terobosan baru didunia robotika, dan yang lebih utama adalah untuk mensejahterakan masyarakat. Dari semua perkembangan teknologi yang berkembang, dapat dilihat dan dirasakan oleh umat manusia sekarang ini. Begitu mudahnya dengan bantuan robot pekerjaan menjadi lebih cepat dan rapi. Pelajaran dasar di dunia robot yang dapat di implementasikan oleh para pelajar adalah robot line follower atau robot pengikut garis. Karena di Indonesia sejak tahun 2000 telah ada kontes robot, untuk para pelajar dan mahasiswa. Untuk pelajar kontes robot line follower sudah sangat banyak peminatnya, dan untuk kalangan mahasiswa kontes robot terbesar adalah Kontes Robot Indonesia (KRI) dan robot bergerak berdasarkan garis (line follower). Untuk itu, robot line follower perlu dikembangkan. Karena robot ini merupakan ilmu dasar dari robot. Dan pada kontes kontes robot yang berlangsung di dunia saat ini, hampir sebagian navigasi robot menggunakan sistem line follower.

BAB IITEORI

2.1 Robot Line Folower

Robot Line Follower adalah robot yang mengikuti garis pada sebuah track khusus secara otomatis.Ada 2 macam robot line follower yaitu Analog dan Mikrokontroller. Jika analog menggunakan fungsi2 logika pada IC TTL tapi pada robot mikrokontroller dengan menggunakan progam yang dibuat pada software komputer lalu diuploadkan ke dalam IC mikrokontrollerDalam pembuatan robot line folower ada beberapa tahap yang perlu diperhatikan yaitu: Pembuatan sensor Program untuk mengendalikan robot Pembuatan mekanik dan gear boax.

2.2 Sensor Pada Robot Line FollowerSensor, dapat dianalogikan sebagai mata sebuah robot yang berfungsi untuk membaca garis hitam dari track robot. Sehingga robot mampu mengetahui kapan dia akan berbelok ke kanan, kapan dia berbelok ke kiri dan kapan dia berhenti. Sensor yang digunakan adalah sensor cahaya yang dipasang di bagian depan bawah robot, sehingga mampu mengetahui garis terang dari latar belakang gelap atau sebaliknya. Sensor yang dipakai biasanya photo reflector,LDR (Light Dependent Resistor), Photo Dioda, dan Photo Transistor yang dipasang dua atau lebih dibagian depan bawah robot line follower. Ada juga yang menggunakan kamera sebagi sensor (atau image sensor) agar resolusi pembacaan garis lebih tinggi, sehingga menjadikan gerakan robot lebih akurat.

Prinsip kerja dari sensor tersebut sederhana, 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 masuk kereceiver tinggal sedikit. Agar mampu dibaca oleh mikrokontroler, maka tegangan sensor harus disesuaikan dengan level tegangan TTL yaitu 0 1 volt untuk logika 0 dan 3 5 volt untuk logika 1. Hal ini bisa dilakukan dengan memasang operational amplifier yang difungsikan sebagai komparator.2.3 Motor Penggerak Pada Robot Line FollowerUntuk menggerakkan Line Follower dapat digunakan 2 pilihan motor yaitu motor DC atau motor servo. Jika ingin menggunakan motor DC, maka harus dipakai motor DC yang sudah terpasang sistem gear ( Geared Motor DC ). Jenis seperti ini masih sulit dijumpai dipasaran, sehingga pilihan sering jatuh ke motor servo. Keuntungan lain dari motor servo adalah motor servo dapat dikontrol langsung dari mikrokontroler PIC16F84 tanpa tambahan IC-Driver lagi.

2.4 Roda Penggerak Pada Robot Line FollowerRoda yang digunakan dalam line follower ini bisa bermacam macam jenisnya, mulai dari merek, tipe, dimensi dan lain sebagainya. Umumnya Robot Line Follower dikategorikan berdasarkan jumlah roda yang dimilikinya. Mulai dari robot dengan dua roda, tiga roda atau empat roda. Namun yang umum digunakan adalah robot dengan tiga atau empat roda.

Sepasang roda yang ditempatkan dibelakang dihubungkan dengan dua motor yang masing masing memiliki kecepatan yang berdiri sendiri. Hal ini penting agar, robot mampu berbelok ke kiri dan kekanan serta mengatur rotasi putaran yang diinginkan. Sedangkan roda depan bisa menggunakan roda caster yang berfungsi sebagai penyangga. Banyak merek roda caster yang bisa digunakan, salah satunya yang paling terkenal adalah dari pabrikan Tamiya. Namun, tak ada rotan akarpun jadi jika kita menginginkan yang lebih murah bahkan gratis, bekas rodadeodorant pencegah bau badanpun bisa dimanfaatkan sebagai roda caster.2.5 Mikrokontroler Dalam Robot Line FollowerBanyak jenis mikrokontroller yang bisa digunakan pada robot line follower, beberapa contoh diantaranya adalah AT89C2051 (8051 Core), AT89C51 (8051 Core), ATMega8 (AVR Core), ATmega16 (AVR Core ) dan masih banyak lagi. Pada mikrokontroller, program akan dimasukkan sehingga robot mampu mengatur kecepatan rotasi masing-masing motor dan mampu melakukan gerakan seperti yang diinginkan. Karena kecepatan robot line follower cukup tinggi, maka beberapa algoritma kontrol perlu diterapkan agar robot mampu berjalan mulus. Kontrol itu bisa berupa continous control, PID, fuzzy logic, atau yang lainnya.Pengaturan kecepatan ini penting terutama jika menghadapi pergantian lintasan, dari lintasan lurus ke tikungan atau sebaliknya dari tikungan ke lintasan lurus. Seperti halnya ketika robot bergerak cepat kemudian menemui tikungan, maka tentu robot akan terpental. Untuk itu dibutuhkan rangkaian pengatur kecepatan motor yang dinamis tergantung dari jenis lintasan yang dilalui. Jika robot berjalan lurus, kecepatan robot diusahakan pada tingkat yang maksimal. Jika dalam kondisi tikungan, maka kecepatan dikurangi bergantung pada tingkat ketajaman tikungan. Pada intinya, kecepatan dari robot dibuat fleksibel menurut situasi yang ada dilapangan. Pada robot, pengurangan kecepatan dapat dilakukan dengan menggunakan PWM (Pulse Widht Modulation) controller, yaitu pengurangan kecepatan dengan cara mengurangi arus ke motor.

BAB IIIANALISA DATA DAN PEMBAHASAN

3.1 Robot Line Follower Cara kerja dari sistem robotline followersecara umum ialah dimulai dari pembacaan lintasan atau garis oleh sensorphotodiodeberserta LEDsuperbrightyang mana intensitas pantulan sinar LEDsuperbrightakan berbeda jika terkena bidang pantul yang gelap dengan bidang pantul yang lebih terang, dari perbedaan inilah dimanfaatkan sebagai pendeteksi lintasan atau garis dan selanjutnya diteruskan pada rangkaian untai pengkondisi sinyal (komparator). Rangkaian komparator (IC LM324) berfungsi untuk membandingkan nilai yang dibaca sensorphotodiodedengan nilai referensi komparator sehingga perbedaan terlihat sangat kontras saat sensorphotodiodemendeteksi objek pantul gelap maupun terang. Hasil keluaran komparator kemudian diteruskan dan diproses oleh rangkaian pengendali utama yakni IC mikrokontroler Atmega16. Pada bagian kendali utama inilah semua logika pembacaan sensor yang telah dikondisikan oleh komparator diproses.Bagian mikrokontroler ini terdiri dari dua masukan dan dua keluaran. Pada bagian masukan berupa sensor dengan untai komparator dankeypadkendali yang berfungsi untuk mengatur algoritma kendali yang akan digunakan pada robotline follower. Pada bagian keluaran berupadisplay(penampil) dengan menggunakanLCDdanPWMmikrokontroler Atmega16 yang diteruskan kedrivermotor (IC l293D) untuk mengendalikan motor kiri dan kanan dari robotline follower.

PEMBUATAN SENSOR

Gambar 3.1 ilustrasi dari sensor garis1. a. Cahaya pantulan sedikit2. b. Cahaya pantulan banyakSifat dari photodioda adalah jika semakin banyak cahaya yang diterima, maka nilai resistansi diodanya semakin kecil. Dengan melakukan sedikit modifikasi, maka besaran resistansi tersebut dapat diubah menjadi tegangan. Sehingga jika sensor berada diatas garis hitam, maka tegangan keluaran sensor akan kecil, demikian pula sebaliknya.Agar dapat dibaca oleh mikrokontroler, maka tegangan sensor harus disesuaikan dengan level tegangan TTL yaitu 0 1 volt untuk logika 0 dan 3 5 volt untuk logika 1.Cara kerja sensor :

Gambar 3.2Sensor tidak terkena cahayaJika photo dioda tidak terkena cahaya, maka nilai resistansinya akan besar atau dapat kita asumsikan tak hingga. Sehingga arus yang mengalir pada komparator sangat kecil atau dapat diasumsikan dengan logika 0.

Gambar 3.3Sensor terkena cahaya

Jika photo dioda terkena cahaya, maka photo dioda akan bersifat sebagai sumber tegangan dan nilai resistansinya akan menjadi kecil, sehingga akan ada arus yang mengalir ke komparator dan berlogika 1.

IC L293D IC L293D adlah IC yang didesain khusus sebagai driver motor DC dan dapat dikendalikan dengan rangkaian TTL maupun mikrokontroler. Motor DC yang dikontrol dengan driver IC L293D dapat dihubungkan ke ground maupun ke sumber tegangan positif karena di dalam driver L293D sistem driver yang digunakan adalah totem pool. Dalam 1 unit chip IC L293D terdiri dari 4 buah driver motor DC yang berdiri sendiri sendiri dengan kemampuan mengalirkan arus 1 Ampere tiap drivernya. Sehingga dapat digunakan untuk membuat driver H-bridge untuk 2 buah motor DC.

3.2 Pengontrolan MotorPengontrolan 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 denganH-bridge. 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 menggunakanIC 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.

Gambar 3.3 Driver Motor

Gamabr 3.4 Rangkain H-bridgeProgram pengentroloan driver motor menggunakan pwm/*****************************************************Project : PWM Control Version : 1.0Date : 01/02/2012Author : Iccank DevilzWebsite : http://www.zer07even.comChip type : Atmega16Program type : ApplicationClock frequency : 11,059200 MHzMemory model : SmallExternal RAM size : 0Data Stack size : 256*****************************************************/#include #define PWMkanan OCR1A#define PWMkiri OCR1Bvoid 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;

PORTB=0x00 artinya semua PORTB kondisi default tegangannya = 0, DDRB=0xFF artinya PORTB disetting jadi output TCCR1A=0xA1 adalah inisialisasi mode pwm non inverting, artinya semakin besar nilai PWM yang diberikan maka putaran motor akan semakin kencang TTCR1B=0x02 merupakan jumlah frekuensi clock pulsa pwm

Gambar 3.5 Block Keseluruhan rangkaian

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.

Gambar 3.6 Rangkaian minimum Atmega 16

Program pada mikrokontroler'Program Line Follower dengan 8 sensor'Oleh: Fahmizal'Mahasiswa Program Diploma Teknik Elektro'Universitas Gadjah Mada 2007

$regfile = "m8535.dat"

$crystal = 12000000

'-------------------------------------------------------------------------------Dim B As ByteDim Data1 As Byte

'-------------------------------------------------------------------------------'PENDEFINISIAN PIN MIKRO'-------------------------------------------------------------------------------Config Portb = Output

Dirleft1 Alias Portb.3Dirleft2 Alias Portb.2Dirright1 Alias Portb.1Dirright2 Alias Portb.0

Config Pina.0 = InputConfig Pina.1 = InputConfig Pina.2 = InputConfig Pina.3 = InputConfig Pina.4 = InputConfig Pina.5 = InputConfig Pina.6 = InputConfig Pina.7 = Input

'-------------------------------------------------------------------------------'KONFIGURASI PWM'-------------------------------------------------------------------------------Config Timer1 = Pwm , Pwm = 8 , Prescale = 64 , Compare A Pwm = Clear Up , Compare B Pwm = Clear UpConfig Int0 = RisingConfig Int1 = Rising

'-------------------------------------------------------------------------------'DEKLARASI RUTIN'-------------------------------------------------------------------------------Declare Sub Pwm(byval Kiri As Integer , Byval Kanan As Integer)

Declare Sub Maju()Declare Sub Terus()Declare Sub Kiri()Declare Sub Bantingkiri()Declare Sub Kanan()Declare Sub Bantingkanan()Declare Sub Mundur()Declare Sub Ok()

'-------------------------------------------------------------------------------'rutin utama'-------------------------------------------------------------------------------

Do Data1 = Pina Select Case Data1

Case &B00000000 : Call Terus()

Case &B11100111 : Call Maju()

Case &B11110011 : Call Kiri() Case &B11111001 : Call Kiri() Case &B11111100 : Call Bantingkiri() Case &B11111110 : Call Bantingkiri() Case &B11111000 : Call Bantingkiri() Case &B11110000 : Call Bantingkiri() Case &B11100000 : Call Bantingkiri()

Case &B11001111 : Call Kanan() Case &B10011111 : Call Kanan() Case &B00111111 : Call Bantingkanan() Case &B01111111 : Call Bantingkanan() Case &B00011111 : Call Bantingkanan() Case &B00001111 : Call Bantingkanan() Case &B00000111 : Call Bantingkanan()

Case &B11111111 : Call Mundur()

' logika jalan terus walaupun ada rintangan

Case &B10011111 : Call Ok() Case &B11001111 : Call Ok() Case &B11100111 : Call Ok() Case &B11110011 : Call Ok() Case &B11111001 : Call Ok()

Case &B10001111 : Call Ok() Case &B11000111 : Call Ok() Case &B11100011 : Call Ok() Case &B11110001 : Call Ok()

Case &B10000111 : Call Ok() Case &B11000011 : Call Ok() Case &B11100001 : Call Ok()

Case &B10000011 : Call Ok() Case &B11000001 : Call Ok()

End SelectLoopEnd

Sub Terus() For B = 0 To 8 Reset Dirleft1 Reset Dirright1 Set Dirleft2 Set Dirright2 Call Pwm(1 , 1) NextEnd Sub

Sub Maju() For B = 0 To 8 Reset Dirleft1 Reset Dirright1 Set Dirleft2 Set Dirright2 Call Pwm(1 , 1) NextEnd Sub

Sub Kiri() For B = 0 To 8 Reset Dirleft1 Reset Dirright1 Set Dirleft2 Set Dirright2 Call Pwm(3 , 5) NextEnd Sub

Sub Bantingkiri() For B = 0 To 8 Reset Dirleft1 Reset Dirright1 Set Dirleft2 Set Dirright2 Call Pwm(1 , 255) NextEnd Sub

Sub Kanan() For B = 0 To 8 Reset Dirleft1 Reset Dirright1 Set Dirleft2 Set Dirright2 Call Pwm(5 , 3) NextEnd Sub

Sub Bantingkanan() For B = 0 To 8 Reset Dirleft1 Reset Dirright1 Set Dirleft2 Set Dirright2 Call Pwm(255 , 1) NextEnd Sub

Sub Mundur() For B = 0 To 8 Set Dirleft1 Set Dirright1 Reset Dirleft2 Reset Dirright2 Call Pwm(1 , 1) NextEnd Sub

Sub Ok() For B = 0 To 8 Reset Dirleft1 Reset Dirright1 Set Dirleft2 Set Dirright2 Call Pwm(1 , 1) NextEnd Sub

'-------------------------------------------------------------------------------' Rutin pengendali sinyal PWM'-------------------------------------------------------------------------------Sub Pwm(byval Kiri As Integer , Byval Kanan As Integer) Pwm1a = Kiri 'portd.5 Pwm1b = Kanan 'portd.4End Sub

BAB IVPENUTUP

4.1 KESIMPULAN

1. Prinsip kerja dari robot line folower ialah robot bergerak b erdasarkan input yang diberikan oleh sensor.2. Sifat dari photodioda adalah jika semakin banyak cahaya yang diterima, maka nilai resistansi diodanya semakin kecil3. Semakin banyak sensor yang digunakan maka semakain bagus pula pergerakan robot pada lintasannya.4. Pada robot, pengurangan kecepatan dapat dilakukan dengan menggunakan PWM (Pulse Widht Modulation) controller5. Pengaturan jarak deteksi sensor dapat dilakukan dengan mengatur besarnya nilai penguatan pada photodioda.

DAFTAR PUSTAKA

1. http://colkin-coker-elektronik.blogspot.com/2013/06/cara-membuat-robot-line-follower-dengan.html

2. http://e-belajarelektronika.com/definisi-dan-bagian-robot-line-follower/

3. http://www.zer07even.com/blog/articles/robotic/82-driver-motor-h-bridge-sederhana

4. https://fahmizaleeits.wordpress.com/2010/05/01/membuat-robot-line-follower-mikro/