TUGAS AKHIR
APLIKASI MODUL SENSOR KAMERA PADA ROBOT
PENJEJAK WARNA
Diajukan Untuk Memenuhi Salah Satu Syarat Memperoleh Gelar Sarjana Teknik
Program Studi Teknik Elektro
Oleh:
HARDY BOYFONDA DOKO NIM : 065114018
PROGRAM STUDI TEKNIK ELEKTRO
FAKULTAS SAINS DAN TEKNOLOGI
UNIVERSITAS SANATA DHARMA
YOGYAKARTA
FINAL PROJECT
CAMERA SENSOR MODULE APLICATION ON THE
COLOR TRACKING ROBOT
Presented as Partial Fulfillment of the Requirements To Obtain the Sarjana Teknik Degree In Electrical Engineering Study Program
HARDY BOYFONDA DOKO NIM : 065114018
ELECTRICAL ENGINEERING STUDY PROGRAM
SCIENCE AND TECHNOLOGY FACULTY
SANATA DHARMA UNIVERSITY
YOGYAKARTA
iii
HALAMAN PERSETUJUAN
TUGAS AKHIR
APLIKASI MODUL SENSOR KAMERA PADA ROBOT
PENJEJAK WARNA
(CAMERA SENSOR MODULE APLICATION ON THE
COLOR TRACKING ROBOT)
Oleh:
Hardy Boyfonda Doko 065114018
Telah disetujui oleh:
Pembimbing
iv
HALAMAN PENGESAHAN
TUGAS AKHIR
APLIKASI MODUL SENSOR KAMERA PADA ROBOT
PENJEJAK WARNA
(
CAMERA SENSOR MODULE APLICATION ON THE
COLOR TRACKING ROBOT
)Oleh:
HARDY BOYFONDA DOKO NIM: 065114018
Telah dipertahankan di depan panitia penguji pada tanggal 23 Agustus 2011
dan dinyatakan memenuhi syarat
Susunan Panitia Penguji:
Nama Lengkap Tanda Tangan
Ketua : B. Wuri Harini ST., MT. Sekertaris : Martanto, ST., MT. Anggota : Damar Wijaya, ST., MT.
Yogyakarta,
v
PERNYATAAN KEASLIAN KARYA
Saya menyatakan dengan sesungguhnya bahwa tugas akhir ini tidak memuat karya atau bagian orang lain, kecuali yang telah disebutkan dalam kutipan dan daftar pustaka sebagaimana layaknya karya ilmiah.
vi
HALAMAN PERSEMBAHAN
Karya tulis ini ku persembahkan untuk:
Tuhan Yesus Kristus atas berkatnya yang melimpah
Kedua orang tuaku atas doa
dan dukungan secara moral maupun materi
Almamaterku Teknik Elektro Universitas Sanata Dharma
vii
HALAMAN PERNYATAAN PERSETUJUAN PUBLIKASI
KARYA ILMIAH UNTUK KEPENTINGAN AKADEMIS
Yang bertandatangan dibawah ini, saya mahasiswa Universitas Sanata Dharma:
Nama : Hardy Boyfonda Doko
Nomor Induk Mahasiswa : 065114018
Demi pengembangan ilmu pengetahuan, saya memberikan kepada Perpustakaan Universitas
Sanata Dharma karya ilmiah saya yang berjudul:
APLIKASI MODUL SENSOR KAMERA PADA ROBOT PENJEJAK
WARNA
beserta perangkat yang diperlukan (bila ada). Dengan demikian saya memberikan kepada Perpustakaan Universitas Sanata Dharma hak untuk menyimpan, mengalihkan dalam bentuk media lain, mengelolanya dalam bentuk pangkalan data, mendistribusikan secara terbatas, dan mempublikasikannya di internet atau media lain untuk kepentingan akademis tanpa perlu meminta ijin dari saya maupun memberikan royalti kepada saya selama tetap mencantumkan nama saya sebagai penulis.
Demikian pernyataan ini yang saya buat dengan sebenarnya.
viii
INTISARI
Penglihatan merupakan hal terpenting, karena hampir seluruh informasi yang diolah oleh otak manusia diperoleh dari pengelihatan. Pada jaman modern seperti sekarang robot mengalami perkembangan yang cukup pesat dalam kemampuan pengenalan citra. Sensor yang jarang ditemui adalah sensor kamera. Sensor ini dapat digunakan sebagai sensor penglihatan sehingga robot dapat melakukan proses pengenalan citra.
Aplikasi modul sensor kamera pada robot penjejak warna terdiri dari sistem minimum ATmega32 yang berfungsi mengolah data yang dikirimkan oleh modul sensor kamera CMUCam3. Data yang diolah akan digunakan sebagai keputusan dalam pergerakan dari robot. Robot akan mencari dan mengambil bola dengan warna yang sesuai, lalu membuang bola sesuai warna gawang yang ditentukan.
Aplikasi modul sensor kamera pada robot penjejak warna sudah berhasil dibuat dan dapat bekerja dengan baik. Sensor dapat mencari dan menemukan obyek yang memiliki warna merah atau biru. Robot juga dapat mengambil dan membuang bola pada gawang dengan warna hijau atau kuning. Presentase keberhasilan dari system ini adalah 87,5 %.
ix
ABSTRACT
Vision is the most important thing, because almost of the information processed by human brain obtained from the vision. In the modern times like now, robot has developed quite rapidly in the image recognition ability. Sensors that are rarely found is the camera sensor. This sensors can be used as visual sensors so the robot can perform the image process.
Camera sensor module application on the color tracking robot consist of ATmega32 minimum system which process data transmitted from the CMUCam3 camera sensor module. The processed data will be used as a decision in the movement of the robot. Robot will search and retrieve the ball with the appropriate color, then throw the ball to the goal specified by color.
Camera sensor module application on the color tracking robot has been successfully made and can work well. Sensor can search and find the red or blue colored object. The robot can also retrieve and throw the ball to the goal with green or yellow color. Persentage success of this this system is 87,5 %.
x
KATA PENGANTAR
Puji dan syukur penulis haturkan pada Tuhan Yesus Kristus, karena atas berkat dan
karuniaNya penulis dapat menyelesaikan tugas akhir ini yang “APLIKASI MODUL
SENSOR KAMERA PADA ROBOT PENJEJAK WARNA”
Penulis menyadari mulai dari proses perancangan, pengujian alat dan proses
penyusunan skripsi ini tidak dapat lepas dari bantuan, dorongan dan bimbingan berbagai
pihak. Oleh karena itu dengan segala kerendahan hati, penulis mengucapkan terima kasih
kepada:
1. Kedua orang tua tercinta dan seluruh keluargaku, terimakasih atas dukungan, perhatian
dan kesabaran dalam mendidik penulis.
2. Bapak Yosef Agung Cahyanta S.T., M.T. selaku Dekan Fakultas Sains dan Teknologi
Universitas Sanata Dharma.
3. Bapak Martanto S.T., M.T., selaku dosen pembimbing yang menyumbangkan
pemikiran, ide, tenaga dan memberikan saran serta kritik yang membantu dalam
menyelesaikan tugas akhir ini dari awal hingga selesai.
4. Seluruh dosen dan laboran Teknik Elektro yang memberikan ilmu yang membantu
selama perkuliahan.
5. Maria Ratna Puspita, terimakasih atas dukungan dan motivasinya.
6. Teman-teman Teknik Elektro angkatan 2006 dan semua pihak yang membantu dalam
penulisan tugas akhir ini.
Penulis menyadari dalam penulisan tugas akhir ini masih banyak kekurangan,
kelemahan dan jauh dari sempurna. Oleh karena itu dengan segenap kerendahan hati, penulis
mengharapkan kritik dan saran yang membangun untuk penyempurnaan tugas akhir ini, terima
kasih.
xi
LEMBAR PERNYATAAN KEASLIAN KARYA
...v
HALAMAN PERSEMBAHAN DAN MOTTO HIDUP...vi
LEMBAR PERNYATAAN PERSETUJUAN PUBLIKASI KARYA ILMIAH UNTUK KEPENTINGAN AKADEMIS
... vii
1.2 Tujuan dan Manfaat Penelitian ...2
1.3 Batasan Masalah...2
1.4 Metodologi Penelitian ...3
BAB II
...5
DASAR TEORI ...5
2.1 CMUCam3 Embedded Vision Sensor ...5
2.1.1 Serial Command...6
2.1.2 Paket Data ...9
2.2 Robot ...11
xii
2.4 Mikrokontroler AVR ATmega32...12
2.4.1 Arsitektur AVR ATMega32 ...12
2.4.2 Deskripsi Mikrokontroler ATMega32 ...13
2.4.4 Timer/Counter...15
2.4.5 INTERUPSI ...15
2.4.6 Komunikasi Serial USART (Universal Shynchronous Ashynchronous...16
2.5 Liquid Crystal Display (LCD) ...17
2.6 Motor Servo ...19
2.7 L298 Driver ...21
2.8 Three-Terminal Regulator ...22
BAB III...24
RANCANGAN PENELITIAN ...24
3.1 Perancangan Keseluruhan Sistem ...24
3.2 Perancangan Mekanik ...25
3.3.2 Perancangan Sistem Minimum ATmega32 ...30
3.3.3 Rangkaian Konfigurasi Pin LCD 16x2 ...33
3.3.4 Driver Motor L298...35
3.3.5 Perancangan Regulator Tegangan...35
3.4 PerancanganSoftware...36
3.4.1 Program Pengecekan Koneksi CMUCam3-Mikrokontroler...37
3.4.2 Pengaturan CMUCam3 ...39
3.4.3 Program Pencarian obyek Warna...40
3.4.4 Proses Pengambilan Obyek Warna ...42
3.4.5 Proses Memasukan Obyek Warna Pada Gawang ...43
BAB IV ...47
xiii
4.1 Hasil Implementasi Alat... 47
4.1.1 Analisa Keberhasilan Alat ... 48
4.1.2 CMUCam3... 49
4.1.3 DriverL298 ... 51
4.2 Data Pengujian Dan Pembahasan... 53
4.2.1 Pengujian Jarak Jangkauan Sensor ... 53
4.2.2 Pengujian Besar Sudut Pandangan Sensor... 56
4.2.3 Pengujian Variasi Warna ... 57
4.3 Analisa dan Pembahasan Perangkat Lunak... 58
4.3.1 Menu Pemilihan Warna ... 58
4.3.2 Pengecekan Obyek warna ... 64
4.3.3 Sistem Pergerakan Robot ... 64
4.3.3.1 Gerakan Pencarian Bola ... 64
4.3.3.2 Gerakan Pencarian Warna Gawang... 66
BAB V...67
KESIMPULAN DAN SARAN ...67
5.1 Kesimpulan...67
5.2 Saran...67
DAFTAR PUSTAKA
...68
xiv
DAFTAR GAMBAR
Gambar 1. 1 Diagram Blok Sistem ...4
Gambar 2. 1 Bentuk dari CMUCam3Embedded Vision Sensor[6]...5
Gambar 2. 2 Format Paket Data Tipe F [4] ...9
Gambar 2. 3 Format Paket Tipe Data H [4]...9
Gambar 2. 4 Format paket Data Tipe T [4] ...10
Gambar 2. 5 Format Paket Data Tipe S [4] ...10
Gambar 2. 6 JenisGripperMekanik [9]...11
Gambar 2. 7 KonfigurasiPinMikrokontroller ATmega32[10]...13
Gambar 2. 8Timing DiagrammodeFast PWM[10] ...14
Gambar 2. 9Timing DiagrammodePhase and Frequency Correct[10] ...15
Gambar 2. 10 Kemasan Data Seri Asinkron [10] ...17
Gambar 2. 11 baris dan kolom karakter pada LCD 16x2 [12]...18
Gambar 2. 12 Konfigurasi kaki LCD 16x2 [12] ...18
Gambar 2. 13Pin-pindan Pengkabelan pada motor servo [13] ...19
Gambar 2. 14 Sinyal PWM dan Posisi Servo Tipe Standar [13] ...20
Gambar 2. 15 Blok Diagram ICDriverL298 [14] ...21
Gambar 2. 16 RangkaianDriver1 Motor DC [14]...22
Gambar 2. 17 Konfigurasi Kaki IC Regulator (78XX-Positif dan 79XX-Negatif) ...23
Gambar 3. 1 Diagram Blok Keseluruhan Sistem...24
Gambar 3. 2 Disain Mekanik Robot ...26
Gambar 3. 3 Disain Mekanik Robot (Tampak Depan) ...27
Gambar 3. 4 Disain Robot (Tampak Samping) ...27
Gambar 3. 5 Disain Robot (Tampak Belakang)...28
Gambar 3. 6 Denah Ruangan ...28
Gambar 3. 7 Pengkabelan Komunikasi Serial Cmucam3-Mikrokontroler ...29
Gambar 3. 8 Lensa CMUCam3 ...30
Gambar 3. 9 Rangkaian Osilator [10] ...31
Gambar 3. 10 RangkainReset...32
xv
Gambar 3. 12 Konfigurasi Kaki Pada Mikrokontroler ...34
Gambar 3. 13 Rangkaian LCD 16x2...34
Gambar 3. 14 RangkaianDriverL298 [14]...35
Gambar 3. 15 Rangkaian Regulator Tegangan 5V [17] ...35
Gambar 3. 16 Rangkaian Regulator Tegangan 6V [17] ...36
Gambar 3. 17FlowchartKeseluruhan Sistem ...37
Gambar 3. 18FlowchartPengecekan Koneksi...38
Gambar 3. 19 Flowchart Pengaturan Cmucam3 ...39
Gambar 3. 20FlowchartProses Pencarian Obyek Warna ...41
Gambar 3. 21FlowchartProses Pengambilan Obyek Warna ...42
Gambar 3. 22 Gerakan Mengangkat Bola...43
Gambar 3. 23 Contoh Arah Pergerakan Robot Putar Kiri ...45
Gambar 3. 24 Proses Memasukkan Bola ke dalam Gawang ...46
Gambar 4. 1 Bentuk Fisik Robot (Tampak Depan) ... 47
Gambar 4. 2 Bentuk Fisik Robot (Tampak Belakang) ... 47
Gambar 4. 3 Modul Sensor Kamera CMUCam3... 49
Gambar 4. 4 Sistem Minimum ATmega32... 50
Gambar 4. 5 Rangkaian LCD 16x2 danKeypad... 50
Gambar 4. 6 Dua Buah Motor Penggerak danGripper... 50
Gambar 4. 7 RangkaianDriverL298 ... 51
Gambar 4. 8 Rangkaian Regulator Tegangan ... 52
Gambar 4. 9 Pengujian Luas Pandangan Sensor ... 56
Gambar 4. 10 Data yang diterima dengan pengaturan warna yang dicari secara manual ("ST"). 59 Gambar 4. 11 Data yang diterima dengan pengaturan warna yang dicari secara otomatis ("TW") ... 59
Gambar 4. 12 Proses pengambilan Warna Yang Akan Dicari... 60
Gambar 4. 13 Data RGB Yang Akan dipakai... 61
Gambar 4. 14 Tampilan Menu Pada LCD 16x2 ... 61
xvi
DAFTAR TABEL
Tabel 2. 1 Register internal Sensor CMUCam3 [4]...6
Tabel 2. 2 Mode dan tipe padaLine Mode[4] ...7
Tabel 2. 3 Alamat Vektor Interupsi AtMega32 [10]...16
Tabel 2. 4 Pengaturan UBRR [10]...17
Tabel 2. 5 Konfigurasi kaki LCD 16x2 [12]...18
Tabel 2. 6 Regulator Tegangan Positif Seri 78XX [16] ...23
Tabel 3. 1 Konfigurasi PORT MIkrokontroler yang akan digunakan ...32
Tabel 3. 2 Pemberian Pulsa PWM dalam Pergerakan Robot...45
Tabel 4. 7 Pengujian Tingkat Keberhasilan ... 48
Tabel 4. 1 Pengujian RangkaianDriverL298 ... 51
Tabel 4. 2Outputtegangan Dari Rangkaian Regulator 5 volt dan 6 volt... 53
Tabel 4. 3 Pengujian Jarak jangkauan Sensor Untuk Bola Warna Biru ... 54
Tabel 4. 4 Pengujian Jarak Jangkauan Sensor Untuk Bola Warna Merah... 54
Tabel 4. 5 Data Pengujian Besar Sudut Pandang CMUCam3 ... 56
1
BAB I
PENDAHULUAN
1.1 Latar Belakang
Penglihatan merupakan hal yang terpenting dari salah satu dari lima panca indera yang
dimiliki manusia. Hampir seluruh informasi yang diolah oleh otak manusia diperoleh dari
penglihatan. Dengan penglihatan manusia dapat melakukan apa saja, antara lain melihat
benda-benda, mengidentifikasi banyak wajah, obyek, warna, angka, dan kata. Di saat manusia
sedang melakukan sebuah aktifitas, manusia sangat dimudahkan oleh pengelihatan.
Pada jaman modern seperti sekarang ini, istilah robot sudah tidak asing lagi terdengar.
Robot dalam perkembangannya sekarang sudah digunakan dalam membantu beberapa
pekerjaan manusia. Dua jenis robot yang digolongkan berdasarkan proses kendali yaitu robot
yang dikendalikan secara manual dan otomatis (teleoperated and autonomous) [1]. Robot
otomatis (autonomous robot) bergerak berdasarkan masukan dari sensor-sensor. Beberapa
macam sensor yang biasa digunakan dalam robot adalah sensor jarak, sensor keberadaan, dan
limit switch sensor. Salah satu sensor yang jarang digunakan yaitu sensor kamera. Sensor
kamera dapat digunakan sebagai indra penglihatan pada sebuah robot.
Saat ini robot yang menggunakan sensor kamera diaplikasikan hanya untuk mengikuti
arah pergerakan satu macam warna. Kegiatan robot hanya terbatas pada mengikuti warna saja
[2]. Pada perlombaan robot, khususnya yang selalu diadakan setiap tahun oleh Direktoral
Jendral Pendidikan Tinggi (DIKTI), perkembangan teknologi robot terus meningkat. Ini
dikarenakan tantangan yang diberikan oleh pihak penyelenggara terus berubah dan menuntut
mahasiswa untuk mengembangkan teknologi yang sudah ada. Pada tahun 2010, robot sudah
dituntut agar dapat memiliki kemampuan pengenalan citra (image) [3]. Hal ini dibutuhkan
karena pada Kontes Robot Cerdas Indonesia (KRCI) 2010 divisi Battle, robot dituntut untuk
mengambil bola dengan warna-warna tertentu.
Berdasarkan hal di atas, penulis ingin membuat sebuah aplikasi dari sensor kamera yang
digunakan pada sebuah robot otomatis yang selain dapat mengikuti warna, robot juga dapat
mengambil benda berdasarkan warna. Sistem ini menggunakan sebuah sensor warna berupa
berbagai macam variasi warna, dengan 3 kanal warna yang digunakan untuk mendeteksi
warna. Kanal merah (red channel), kanal hijau (green channel), dan kanal biru (blue channel),
yang masing-masing kanal hanya sensitif terhadap cahaya warna tersebut [4]. Dengan sensor
ini, robot dapat memperkirakan jarak benda dan keberadaan benda tanpa menggunakan sensor
keberadaan benda seperti PING atau Proximity sensor. Jarak pandang dalam mendeteksi
warna juga lebih jauh daripada sebuah sensor warna seperti TCS3200 [5]. Dari penelitian ini,
robot diharapkan dapat lebih tepat dalam membedakan benda dan juga mengambil benda
tersebut berdasarkan perbedaan warna.
1.2 Tujuan dan Manfaat Penelitian
Penelitian ini bertujuan untuk menghasilkan sebuah robot yang dapat mendeteksi,
membedakan, dan mengambil benda berupa bola dengan warna yang sudah ditentukan.
Manfaat dari penelitian ini adalah untuk perkembangan teknologi robotika di Universitas
Sanata Dharma Yogyakarta. Selain itu manfaat yang lain adalah dapat dikembangkan untuk
diaplikasikan ke bidang lain selain robotika di kemudian hari.
1.3 Batasan Masalah
Pada penelitian ini, sebuah mobile robot akan diimplementasikan agar dapat
membedakan 2 buah warna bola menggunakan sensor kamera. Robot dapat mengambil bola
sesuai dengan warna yang sudah ditentukan. Batasan masalah dalam penelitian ini adalah:
a. Sensor kamera yang digunakan adalah sensor CMUCam yang berkomunikasi serial
Universal Syncronous Asyncronous Receiver/Transmiter (USART) dengan
mikrokontrolerer keluarga AVR.
b. Data yang akan diolah mikrokontroler merupakan output dari modul sensor
CMUCam dengan komunikasi seperti disebutkan pada poin a.
c. Warna yang dipakai adalah biru dan merah untuk warna bola, jingga dan hijau untuk
warna gawang, dan hitam untuk warna lantai dan dinding.
d. Bola yang akan digunakan adalah bola ping-pong.
e. Menggunakan lengangripperuntuk mencengkeram bola dan memasukkan ke dalam
bak yang terdapat pada bagian belakang robot dengan mengangkat lengan ke atas
f. Setelah bola dimasukkan ke dalam bak dan robot tidak menemukan bola lagi,
mekanisme selanjutnya dilakukan secara manual.
g. Robot yang akan dirancang berupamobile robot.
h. Sistem pergerakan menggunakan 2 buah motor DC berupadifferential steering.
1.4 Metodologi Penelitian
Metode yang digunakan untuk menyelesaikan tugas akhir ini terdiri dari beberapa aspek
yang meliputi pendefinisian sistem, perencanaan, implementasi, pengujian, analisa, dan
pengambilan kesimpulan.
a. Pendefinisian Sistem
Pendefinisian sistem memuat konsep dan sistem dasar yang berhubungan
dengan masalah perancangan alat yang akan dibuat. Pendefinisian ini diperoleh
dengan studi literatur untuk mencari dan mengumpulkan referensi dari buku
penunjang,datasheet, dan buku manual untuk mendukung pembuatan tugas akhir.
Pada tahap ini penulis juga akan mempelajari karakteristik modul sensor
kamera, mikrokontroler keluarga AVR dari ATMEL, sistem otomatis mobile robot
dengan differential steering, komunikasi serial USART, dan sistem mekanik pada
lengan pencengkram (gripper).
b. Perencanaan
Perencanaan ini dimaksudkan untuk memperoleh perancangan aplikasi sensor kamera dengan menggunakan sensor CMUCam pada robot penjajak warna. Rancangan tersebut meliputihardwaredansoftware.
Rancangan hardware menentukan rangkaian elektronis apa saja yang akan digunakan dalam robot. Perencanaan hardware juga dilakukan untuk merancang sistem mekanik robot, baik dalam sistem pergerakan robot dan sistem lengan robot
yang menjadi salah satu bagian penting dari robot.
Untuk menjalankan sistem, diperlukan rancangan software untuk menentukan desain aplikasi yang akan digunakan. Gambar 1.1 menunjukkan diagram blok dari sistem yang akan dibuat.
mikrokontroler dengan komunikasi serial USART. Data yang diterima akan diolah mikrokontroler untuk mengendalikan arah pergerakan robot dengan mengatur arah putaran dan kecepatan motor kanan dan motor kiri. Jika data yang diterima mikrokontroler sudah sesuai, maka lengangripper akan bekerja untuk mengambil bola ping-pong yang ada di depan robot. Power supply yang digunakan merupakan 2 buah sumber terpisah yang akan digunakan sebagai sumber daya untuk membuat sistem dapat bekerja.
Gambar 1. 1 Diagram Blok Sistem
c. Implementasi
Implementasi adalah merealisasikan rancangan sistem yang telah dibuat dalam perencanaan awal. Kegiatan ini meliputi pembuatan mekanik robot, pembuatan rangkaian elektronik baik dalam layout PCB, maupun pembuatan dalam bentuk PCB yang sudah terpasang komponen dan pembuatan program untuk menjalankan robot.
d. Pengujian dan Pengukuran
Pengujian dilakukan dengan mengambil data dari variabel yang berpengaruh
terhadap kerja sistem. Variabel yang digunakan dalam pengujian robot ini berupa
jarak, intensitas cahaya, variasi warna, dan tingkat keberhasilan proses pengambilan
obyek warna.
e. Analisa dan Pengambilan Kesimpulan
Analisa dan pengambilan kesimpulan dilakukan dengan mengacu pada data
yang diperoleh dan dari tingkat keberhasilan robot dalam membedakan obyek warna
dan mengambil obyek warna.
Mikrokontroler
er
SENSOR KAMERA
USART
Gripper
Motor Kiri dan Kanan
5
BAB II
DASAR TEORI
Bab ini akan membahas tentang dasar teori dari penelitian yang akan dibuat meliputi
cara kerja CMUCam3 sebagai modul sensor kamera, robot, lengan robot (gripper), regulator
tegangan, Mikrokontroler ATmega32, komunikasi USART, LCD, Driver L298 dan Motor
Servo.
2.1
CMUCam3 Embedded Vision Sensor
CMUCam3 adalah sebuah programmable embedded computer vision sensor yang
berbasis ARM7TDMI [6]. Prosesor utama dari sensor ini adalah Philips LPC2106 yang
terhubung pada sebuah modul sensor kamera Omnivision CMOS. Gambar 2.1 merupakan
bentuk dari CMUCam3.
Gambar 2. 1 Bentuk dari CMUCam3Embedded Vision Sensor[6]
CMUCam3 memiliki beberapa fitur di antara seperti:
1. Resolusi sensor warna 352x288.
2. Open sourceuntuk dikembangankan pada Windows dan Linux
3. Supportterhadapdriver FAT16dan memilikiMMC Flash Slot
5. Memuat gambar ke dalam memori dengan 26frameper detik
6. CMUCam2 Emulaition digunakan agar CMUCam3 dapat digunakan seperti
CMUCam2.
2.1.1 Serial Command
Beberapa parameter yang digunakan dalam komunikasi serial pada sensor [4]:
1. Baudrate yang digunakan 1200 – 115200
2. Lebar data 8 bit
3. Memiliki1 stop bit
4. No parity
5. No Flow Control (Not Xon/Xoff or Hardware)
Semua perintah menggunakan karakter ASCII (123 merupakan 3 bytes “123”). Saat
pengiriman perintah berhasil, sistem akan memberikan tanda ACK bahwa perintah dikenali,
dan jika terjadierrormaka sistem akan memberikan tanda NCK bahwa perintah gagal.
Terdapat perintah-perintah yang dapat digunakan beberapa di antara adalah sebagai
berikut:
1. GV (Get Version)
Perintah ini digunakan untuk mengetahui versi dari firmware dan versi modul kamera
dari kamera.
2. RS (ReSet)
Perintah ini digunakan untuk membuat modul sensor dalam kondisireset.
3. CR (Camera internal Register)
Tabel 2.1 merupakan perintah yang digunakan untuk mengatur kamera.
Tabel 2. 1 Register internal Sensor CMUCam3 [4]
Register Nilai Efek
5 Contrast 0-255
6 Brightness 0-255
18 Color Mode
36 YCrCbauto white balance ON
34 YCrCbauto white balance OFF
44 RGBauto white balance ON
Tabel 2. 1 (Lanjutan) Register internal Sensor CMUCam3 [4]
19 Auto Exposure 32 Auto gain OFF
33 *Auto gain ON
*kondisidefault.
4. LM (Line Mode)
LM merupakan perintah untuk mengaktifkan Line Mode yang mengirim data detil
sebuah gambar. Beberapa tipe dan mode pada Line Mode yang diaplikasikan pada
fungsi pemrosesan gambar yang berbeda-beda diperlihatkan pada Tabel 2.2.
Tabel 2. 2 Mode dan tipe padaLine Mode[4] Tipe Mode Perintah
yang
berpengaruh
Deskripsi
0 0 TC TW Default,saatLine Modetidak diaktifkan
0 1 TC TW Mengirim binary image daripixel yang sedang diikuti.
0 2 TC TW Mengirim rata-rata, min, max, confidence, dan jumlah garis horizontal dari gambar yang diikuti.
1 0 GM Default,saatLine Modetidak diaktifkan
Tabel 2. 2 (Lanjutan) Mode dan tipe padaLine Mode[4]
2 0 FD Default,saatLine Modetidak diaktifkan
2 1 FD Mengembalikan bitmap dari pixel yang diikuti, sama seperti tipe 0 mode 0 pada TC
2 2 FD Mengirim perbedaan diantara pixel gambar yang sedang diikuti dengan gambar yang tersimpan.
2 3 LF FD Memperoleh nilai rata-rata aktual setiap elemen daridifferenced frame.
5. ST (Set Track command)
Perintah ini digunakan untuk mengatur parameter warna yang akan diikuti.
6. TC (Track Color)
Perintah ini digunakan untuk memulai mengikuti warna. Perintah TC menampilkan
nilai maksimum dan minimum Red-Green-Blue (RGB) dan keluarannya berupa paket
data tipe T.
7. TW (Track Window)
Perintah ini digunakan untuk mengikuti warna yang ditemukan pada area tengah dari
windowyang telah ditentukan.
8. GT (Get Tracking parameters)
Perintah ini digunakan untuk mendapatkan nilai parameter yang digunakan. Ini
digunakan untuk mengetahui warna apa yang sedang diikuti.
9. PM (Pool Mode)
Saat Pool Mode diatur menjadi 0, paket data yang dikeluarkan terus-menerus secara
kontinyu. JikaPool Modediatur menjadi 1, maka hanya 1 paket data yang dikeluarkan.
10. SV (SerVo position)
SV digunakan untuk memberikan perintah posisi kepada salah satu dari 4 motor servo.
bergerak dari sudut 0-90 derajat (rentang derajat tergantung tipe motor servo). Nilai
128 merupakan titik tengah dari pergerakan motor servo dan merupakan pulsa PWM
dengan pulsaHIGH1500us.
2.1.2 Paket Data
a. ACK
ACK merupakan string standar yang mengindikasikan bahwa perintah telah diterima
dan merupakan perintah yang dikenal.
b. NCK
NCK merupakanfailure stringyang dikirimkan pada saat terjadierror.
c. Format paket data Tipe F
Format paket data tipe F ditunjukkan pada Gambar 2.2.
1 2 r g b r g b … r g b r g b 2 r g b r g b … r g b r g b 3
Gambar 2. 2 Format Paket Data Tipe F [4]
Angka 1 adalah new frame,2 adalah new row, dan 3 adalahend of frame. Nilai
RED-GREEN-BLUE (RGB) memiliki rentang 16-240. RGB menunjukkan nilai 2 pixel warna.
Masing-masingpixelmemiliki merah dan biru.
d. Format paket data Tipe H
Format paket data tipe H ditunjukkan pada Gambar 2.3.
H bin0, bin1, bin2, bin3, …, bin26, bin27 /r
Gambar 2. 3 Format Paket Tipe Data H [4]
Paket data ini merupakan hasil dari pemanggilan perintah get histogram (GH). Setiap
bin memiliki nilai 8 bit yang mewakili urutanpixeldari 16-240.
Bin0 – number of pixel between 16-23
Bin1 – number of pixel between 24-31
.
Bin2 – number of pixel between 232-240
e. Format paket data Tipe T
T mx my x1 y1 x2 y2
pixel
s confidence \r
Gambar 2. 4 Format paket Data Tipe T [4]
Paket data ini merupakan hasil dari perintahcolor trackingdanframe differencing.
mx – the middle of mass x value
my – the middle of mass y value
x1 – the left most corner’s x value
y1 – the left most corner’s y value
x2 – the right most corner;s x value
y2 – the right most corner’s y value
pixels – number of pixels in the tracked region, scaled and capped at 255:(pixels+4)/8
confidence – the (number of pixels/area)*256 of the bounded rectangle and capped at
255.
f. Format paket data Tipe S
Format paket data tipe S ditunjukkan pada Gambar 2.5.
S Rmean Gmean Bmean Rdeviation Gdeviation Bdeviation \r
Gambar 2. 5 Format Paket Data Tipe S [4]
Paket data ini merupakan paket data statistik yang memberikan informasi mengenai
pandangan yang diperoleh kamera.
Rmean – the mean Red or Cy (approximates r-g) value in the current window
Gmean – the mean Green or Y (approximates intensity) value in the current window
Bmean – the mean Blue or Cb (approximates b-g) value in the current window
Rdeviation – the deviation of Red or Cy found in the current window
Gdeviation – the deviation of Green or Y found in the current window
Bdeviation – the deviation of Blue or Cb found in the current window
2.2
Robot
Kata robot berasal dari bahasa Czech, robota, yang berarti pekerja [7]. Kata robot
diperkenalkan dalam bahasa Inggris pada tahun 1921 oleh Wright Karel Capek. Robot adalah
mesin hasil rakitan manusia yang bisa berkerja tanpa mengenal lelah.
Ada beberapa cara sistem pergerakan robot (robot locomotion), di antaranya adalah
sistem robot berjalan (walker) yang menggunakan kaki seperti pada hexapod, ataupun pada
robot-robot humanoid yang berkaki dua (bipedal). Salah satu jenis yang paling sering
digunakan adalah mobile robot. Mobile robot adalah jenis robot yang pergerakannya
menggunakan roda seperti layaknya sebuah mobil, walaupun hanya menggunakan dua roda
saja [8].
2.3
Gripper
Gripper digunakan untuk menggenggam dan menahan objek [9]. Komponen yang akan
dipindahkan oleh robot dapat berupa kertas, botol, bahan mentah dan peralatan-peralatan lain.
Menurut jumlah peralatan penggenggam dan penahan, gripper dapat diklasifikasikan
menjadi dua, yaitu: grippertunggal dan gripper ganda, masing masing memiliki kelebihan dan
kekurangan sesuaidengan tujuan dari sistem robot.Grippertunggal diartikan bahwa hanya ada satu
peralatan untuk menggenggam dan menahan yang dipasang pada wrist.Gripperganda diartikan
bahwa ada dua peralatan yang berfungsi sebagai penggenggam dan penahan objek yang dipasang
padawrist.
Gambar 2. 6 JenisGripperMekanik [9]
Ada 3 jenis gripper yang dikenal seperti gripper mekanik, gripper vacuum dan gripper
untuk menggenggam dan menahan objek dengan memberikan kontak pada objek. Biasanya
menggunakan finger/jari mekanik yang disebut dengan jaws. Finger ini dapat dilepas dan
dipasang sehingga sangat fleksibel pemakaiannya. Sumber tenaga yang berikan padagripperini
bisa berupa pneumatik, hidrolik, dan elektrik.
2.4
Mikrokontroler AVR ATmega32
Alf and Vegard’s Risc Prosessor (AVR) merupakan seri mikrokontroler CMOS 8-bit
yang diproduksi oleh Atmel berbasis arsitektur RISC (Reduced Instruction Set Computer)[10].
Chip AVR yang digunakan untuk tugas akhir ini adalah Atmega32. Hampir semua instruksi
dieksekusi dalam satu siklus clockdan mempunyai 32 register general-purpose,timer/counter
fleksibel dengan mode compare, interupsi internal dan eksternal, serial USART,
programmable Watchdog Timer, dan mode power saving. Beberapa di antaranya mempunyai
ADC dan PWM internal. AVR juga mempunyaiIn-System Programmable (ISP) Flash on-chip
yang mengijinkan memori program untuk diprogram ulang dalam sistem yang menggunakan
hubungan serial SPI.
2.4.1 Arsitektur AVR ATMega32
Mikrokontroler Atmega32 memiliki arsitektur sebagai berikut:
a. Saluran IO sebanyak 32 buah, yaituPortA,PortB,PortC, danPortD.
b. ADC 10bitsebanyak 8Channel.
c. Tiga buahTimer/Counteryaitu Timer0, Timer1, dan Timer2.
d. Watchdog Timerdengan osilator internal.
e. SRAM sebanyak 512byte.
f. MemoriFlashsebesar 32 kb.
g. Sumber Interupsi internal dan eksternal.
h. PortSPI (Serial Peripheral Interface)
i. EEPROMon boardsebanyak 512byte
j. Analog Comparator
2.4.2 Deskripsi Mikrokontroler ATMega32
KonfigurasipinMikrokontroller ATmega32 dengan kemasan 40-pindapat dilihat pada
Gambar 2.7.
Gambar 2. 7 KonfigurasiPinMikrokontroller ATmega32[10]
Port A berfungsi sebagai input analog pada A/D Konverter. Port A juga berfungsi
sebagai suatu Port I/O 8-bit dua arah.Port B, Port C,Port D adalah suatuPortI/O 8-bitdua
arah dengan resistor pull-up internal. Pada rangkaian RESET terdapat waktu pengosongan
kapasitor yang dapat dihitung dengan persamaan 2.1.
= × (2.1)
dengan T adalah waktu, R adalah resistor, dan C adalah kapasitor.
2.4.3 Timer/Counter
Mikrokontroler menyediakan fasilitas pewaktuan sebanyak tiga buah yang diberi nama
Timer/Counter, yaituTimer/Counter 0 dan 2 yang terdiri dari 8 bit dan Timer/Counter1 yang
terdiri dari 16 bit. Register yang digunakan oleh Timer/Counter adalah TCNTn sebagai
register penyimpan nilai dari Timer/Counter. Output Compare Register (OCRn) merupakan
register pembanding. Nilai OCRn sama dengan TCNTn maka terjadi Compare Match.
PengaturanTimer/Counter0,Timer/Counter1 danTimer/Counter2 dilakukan melalui register
untuk mengendalikan kenaikan dari pencacah pada register TCNTn, menentukan sumber dari
nilai maksimal (top) dari pencacah dan tipetimeryang akan digunakan.
Beberapa mode yang dapat digunakan pada masing-masingTimer/Counter yaitu mode
Normal, mode Fast PWM, Phase and Frequency Correct PWM, dan Clear Timer Compare
(CTC).Setiap mode memiliki fungsi yang berbeda dan digunakan sesuai kebutuhan.
Mode Fast PWM merupakan salah satu mode yang dapat digunakan sebagai pengatur
kecepatan putaran motor karena dapat menghasilkan pulsa PWM. Kecepatan motor dapat
dirubah dengan mengatur lebar pulsa kerja atau duty cyclepada pulsa PWM yang dihasilkan.
Gambar 2.8 merupakan timing diagram dengan beberapa keadaan yang dapat dihasilkan oleh
Timer/Counter.
Gambar 2. 8Timing DiagrammodeFast PWM[10]
Selain modeFast PWM ada satu lagi yaitu modePhase and Frequency Correct PWM.
Mode Phase and Frequency Correct PWM memiliki cara operasi cacahan register TCNTx
menggunakan dual slope (dua arah cacahan/bolak-balik). TCNTx mencacah dari BOTTOM
0x0000 (16bit) counting uphingga mencapaiTOPkemudiancounting downhinggaBOTTOM
dan seterusnya. Dalam modenon-inverting saluran keluaran PWMpin OCnx clearpada saat
compare match (TCNTx=OCRx) ketika counting updan set pada saatcompare match ketika
Gambar 2. 9Timing DiagrammodePhase and Frequency Correct[10]
Waktu peng-update-tan register OCRnx disangga (buffer) sehingga berakibat pada
pulsa awal peng-update-tan menjadi simetrik. Pada mode phase correct PWMpulsa pada saat
updateterjadi tidak simetrik tetapi untuk selanjutnya pulsanya menjadi simetrik (normal).
Untuk timer/counter1 rumus yang berlaku untuk mendapatkan nilai frekuensi pulsa
PWM dapat diperoleh dengan persamaan 2.2.
= _ /
. .
(2.2)
dengan adalah frekuensi OCnx dengan mode Phase and Frequency Correct
PWM, _ / adalah frekuensi dari clock yang digunakan, adaah nilai ICRn, dan adalahprescaler(1, 8, 64, 256, 1024)
2.4.4 INTERUPSI
ATMega32 menyediakan 21 macam sumber interupsi yang masing-masing memiliki
alamat program vector interupsi seperti pada Tabel 2.3. Setiap interupsi yang aktif akan
dilayani segera setelah terjadi permintaan interupsi. Jika di dalam waktu bersamaan terjadi
lebih dari satu interupsi, maka prioritas yang akan diselesaikan lebih dulu adalah interupsi
Tabel 2. 3 Alamat Vektor Interupsi AtMega32 [10]
1. 0x000 RESET External Pin, Power-on, Reset, Brown-out Reset and Watchdog Reset
2. 0x001 INT0 External Interrupt Request 0 3. 0x002 INT1 External Interrupt Request 1 4. 0x003 TIMER2 COMP Timer/Counter2 Compare Match 5. 0x004 TIMER2 OVF Timer/Counter2 Overflow
6. 0x005 TIMER1 CAPT Timer/Counter1 Capture Event 7. 0x006 TIMER1 COMPA Timer/Counter1 Compare Match A 8. 0x007 TIMER1 COMPB Timer/Counter1 Compare Match B 9.. 0x008 TIMER1 OVF Timer/Counter1 Overflow
10. 0x009 TIMER0 OVF Timer/Counter0 Overflow 11. 0x00A SPI, STC Serial Transfer Complete 12. 0x00B USART, RXC USART, Rx Complete
13. 0x00C USART, UDRE USART Data Register Empty 14. 0x00D USART, TXC USART, Tx Complete
15. 0x00E ADC ADC Conversion Complete 16. 0x00F EE_RDY EEPROM Ready
17. 0x010 ANA_COMP Analog Comparator 18. 0x011 TWI Two-wire Serial Interface 19. 0x012 INT2 External Interrupt Request 2 20. 0x013 TIMER0 COMP Timer/Counter0 Compare Match 21. 0x014 SPM_RDY Store Program Memory Ready
2.4.5 Komunikasi Serial USART
USART adalah salah satu mode komunikasi yang dimiliki oleh ATMega32. USART
merupakan komunikasi yang memiliki fleksibilitas tinggi yang dapat digunakan untuk
melakukan transfer data baik antar mikrokontroler maupun PC.
USART memungkinkan transmisi data baik secara asynchronousmaupunsynchronous
pada ATMega32. Secara umum pengaturan kedua mode adalah sama, perbedaannya hanyalah
terletak pada sumber clock saja. Untuk mengatur mode dan prosedur komunikasi USART
dilakukan melalui register USART Control and Status Register A(UCSRA), USART Control
Baudrate Register High and Low (UBRRH-UBRRL), dan USART Data Register (UDR).
Kemasan data seri asinkron dapat dilihat pada Gambar 2.10.
Gambar 2. 10 Kemasan Data Seri Asinkron [10]
Penggunaan komunikasi USART perlu diperhatikan penggunaan UBRR karena dengan
akan berhubungan dengan error dalam pengiriman data. Tabel 2.4 berikut menunjukkan nilai
beberapa nilaierrordengan frekuensi osilator pada mikrokontroler sebesar 8MHz.
Tabel 2. 4 Pengaturan UBRR [10]
Baudrate
LCD karakter adalah LCD yang tampilannya terbatas pada tampilan karakter, khususnya
karakter ASCII (seperti karakter-karakter yang tercetak pada keyboardkomputer). Sedangkan
LCD Grafik adalah LCD yang tampilannya tidak terbatas, bahkan dapat menampilkan foto.
LCD Grafik inilah yang terus berkembang seperti layar LCD yang biasa dilihat di
Jenis LCD karakter yang beredar di pasaran biasa dituliskan dengan bilangan matriks
dari jumlah karakter yang dapat dituliskan pada LCD tersebut, yaitu jumlah kolom karakter
dikali jumlah baris karakter. Sebagai contoh, LCD16x2, artinya terdapat 16 kolom dalam 2
baris ruang karakter, yang berarti total karakter yang dapat dituliskan adalah 32 karakter
seperti terlihat pada Gambar 2.11.
Gambar 2. 11 baris dan kolom karakter pada LCD 16x2 [12]
Untuk dapat mengendalikan LCD karakter dengan baik, tentu perlu koneksi yang
benar. Koneksi yang benar dapat diwujudkan dengan cara mengetahui pin-pinantarmuka yang
dimiliki oleh LCD karakter tersebut. LCD karakter yang beredar di pasaran memiliki 16 pin
antarmuka seperti pada Gambar 2.12 dan keterangan untuk urutan kaki pada Tabel 2.5.
Gambar 2. 12 Konfigurasi kaki LCD 16x2 [12]
Tabel 2. 5 Konfigurasi kaki LCD 16x2 [12] NomorPIN PIN Keterangan
1 VSS GND
2 VDD 5V
3 Vo Kontras
4 RS
5 R/W Read / Write
6 EN Enable
7 DB0 Data 0
8 DB1 Data 1
9 DB2 Data 2
10 DB3 Data 3
12 DB5 Data 5
13 DB6 Data 6
Tabel 2. 5 (Lanjutan) Konfigurasi kaki LCD 16x2 [12] NomorPIN PIN Keterangan
14 DB7 Data 7
15 -
-16 -
-Ada dua jenis antarmuka yang dapat digunakan dalam mengendalikan LCD karakter
yaitu 4 bit dan 8 bit. Dalam 4 bit antarmuka hanya membutuhkan empat pin data komunikasi
data paralel, DB4 (pin11) – DB7 (pin14), yang dikoneksikan dengan mikrokontroler.
2.6
Motor Servo
Motor servo adalah motor yang mampu bekerja dua arah, clockwise(CW) dancounter
clockwise (CCW) [13]. Arah dan sudut pergerakan rotornya dapat dikendalikan hanya dengan
memberikan pengaturan duty cycle sinyal PWM pada bagian pin kontrolnya. Motor Servo
merupakan sebuah motor DC yang memiliki rangkaian kontrol elektronik dan internal gear
untuk mengendalikan pergerakan dan sudut putarannya.
Motor servo adalah motor yang berputar lambat, biasanya ditunjukkan oleh rate
putarannya yang lambat, namun motor servo memiliki torsi yang kuat.
Secara jelas sebuah motor servo memiliki :
a. Tiga jalur kabel :power, ground,dancontrol, seperti pada Gambar 2.13.
Gambar 2. 13Pin-pindan Pengkabelan pada motor servo [13]
b. Sinyal kontrol mengendalikan posisi
c. Operasional dari motor motor dikendalikan oleh sebuah pulsa selebar ± 20 ms. Lebar
d. Konstruksi di dalamnya meliputi internal gir, potensiometer, danfeedback control.
Bila diberikan pulsa dengan besar 1,5ms mencapai gerakan 90 derajat dan data kurang
dari 1,5 ms, maka posisi mendekati 0 derajat. Bila diberikan pulsa dengan besar 1,5ms
mencapai gerakan 90 derajat dan data lebih dari 1,5 ms maka posisi mendekati 180 derajat.
Gambar 2.14 menunjukkan sinyal PWM dan pergerakan motor servo.
Gambar 2. 14 Sinyal PWM dan Posisi Servo Tipe Standar [13]
Jenis-Jenis Motor Servo :
a. Motor Servo Standard 180°
Motor servo jenis ini hanya mampu bergerak dua arah (CW dan CCW) dengan
defleksi masing-masing sudut mencapai 90° sehingga total defleksi sudut dari kanan –
tengah – kiri adalah 180°.
b. Motor Servo Continuous
Motor servo jenis ini mampu bergerak dua arah (CW dan CCW) tanpa batasan
defleksi sudut putar (dapat berputar secara kontinyu). Untuk menggerakanya juga
menggunakan pulsa PWM seperti pada servo bertipe standar. Tetapi motor akan
bergerak CCW jika pulsa HIGH lebih dari 1,5ms dan bergerak CW jika pulsa HIGH
2.7
L298
Driver
Dalam mengatur arah putaran motor baik counter clockwise (CCW) atau
clockwise (CW)yang perlu dilakukan adalah memberikan tegangan pada motor dengan
mengatur polaritasnya saja. Jika untuk menggerakan motor arah CW dengan
memberikan VCC-GND, maka untuk dapat bergerak CCW hanya dengan membalik
polaritas menjadi GND-VCC. Hal tersebut dapat dilakukan dengan memberikan logika
1 sebagai VCC dan logika 0 sebagai GND padaportmikrokontroler.
Pada setiap port I/O mikrokontroler hanya dapat mengeluarkan tegangan 5v
dengan arus sebesar 1,5mA-2mA. Dengan arus tersebut mikrokontroler tidak akan
mampu menggerakan motor, sehingga diperlukan sebuah rangkaian tambahan yang
cukup untuk menggerakan motor. Rangkaian yang digunakan adalah rangkaian driver
motordengan ICdriverL298.
L298 merupakan IC yang dapat memenuhi kebutuhan beban yang
membutuhkan arus yang cukup tinggi. IC L298 merupakan IC yang didalamnya berisi
rangkaian H-Bridge [14]. Gambar 2.17 merupakan rangkaian driver l298 yang
digunakan sebagai driver motor. Mikrokontroler akan memberikan input logika 1 dan
logika 0 pada input 1-input 2 daninput 3- input 4 dalam mengendalikan arah putaran
motor 1 dan 2. Untuk mengendalikan kecepatan putaran motor mikrokontroler akan
memberikan pulsa PWM pada kakienable Adanenable Bpada IC L298. Gambar 2.15
merupakan konfigurasi kaki L298 dan Gambar 2.16 merupakan gambar rangkaian
yang digunakan untuk mengendalikan 1 buah motor.
Gambar 2. 16 RangkaianDriver1 Motor DC [14]
2.8
Three-Terminal Regulator
Perangkat ini hanya memiliki tiga buah terminal, input, output, dan ground [15].
Contoh dari three terminal regulator adalah 7805, 7912, dan 317. Regulator 7805 dan 7912
berasal dari keluarga 78XX dan 79XX voltage regulator. Regulator 78XX terdiri regulator
tegangan positif dan regulator 79XX terdiri dari regulator tegangan negatif. Dua angka
terakhir adalah tipe angka yang menunjukan tegangan output. Jadi 7805 merupakan regulator
5 Volt tegangan positif dan 7912 merupakan regulator 12 Volt tegangan negatif. Berikut
adalah beberapa karakteristik dari kedua seri tersebut:
1. Keluaran arus maksimal 1A
2. Pembatas arus pendek internal
Tabel 2.7 menunjukkan beberapa contoh IC regulator seri 78XX dengan keluaran dan
tegangan minimum yang diperlukan [16].
Tabel 2. 6 Regulator Tegangan Positif Seri 78XX [16]
IC part Tegangan keluaran (Volt) Tegangan masukan minimum (Volt)
7805 +5 7,3
7806 +6 8,3
7810 +10 12,5
7812 +12 14,6
7815 +15 17,7
7824 +24 27,1
Gambar 2.17 menunjukkan konfigurasi kaki IC regulator seri 78XX dan 79XX.
24
BAB III
RANCANGAN PENELITIAN
Dalam bab rancangan penelitian ini akan dibahas hal-hal mengenai perancangan
mekanik robot,hardwareelektronik,dansoftware.
3.1
Perancangan Keseluruhan Sistem
Sistem ini merupakan sebuah robot yang dapat membedakan dan memilih warna yang sudah ditentukan menggunakan sebuah sensor kamera. Diagram blok sistem ditunjukkan pada Gambar 3.1.
Gambar 3. 1 Diagram Blok Keseluruhan Sistem
MIKROKONTROLER ATMEGA32 DISPLAY LCD 16x2
Servo Continuous Tentukan
warna
INPUT Mikro OUTPUT Mikro
Servo Gripper
INPUT CMUCam3
POWER SUPPLY OUTPUT
CMUCam3
Roda kanan dan kiri
Robot menggunakan sebuah sensor kamera CMUCam3 yang berfungsi sebagai
pendeteksi obyek warna yang ditentukan sebelumnya. Obyek warna yang akan dideteksi
berupa sebuah bola pingpong yang telah diwarnai. Data hasil pendeteksian obyek warna ini
akan dikirim ke mikrokontroler ATmega32 secara serial menggunakan fasilitas USART yang
dimiliki oleh mikrokontroler ATmega32. Pada saat obyek warna ditemukan,mobilerobot akan mengambil obyek warna tersebut dengan menggunakan gripper yang digerakkan oleh motor servo. Gripper akan dikendalikan melalui sensor CMUCam3 sesuai dengan perintah yang dikirimkan mikrokontroler.
Selain mengolah data yang dikirimkan oleh CMUCam3, mikrokontroler juga berfungsi
untuk mengatur arah pergerakan dari robot. Untuk bermanuver robot bergerak dengan
menggunakan 2 buah motor pada masing-masing roda dan 1 buah roda bebas. Motor yang
digunakan adalah motor servo bertipe continuous. Motor servo tersebut akan dikendalikan arah putarannya oleh mikrokontroler dengan menggunakanPulse Width Modulation(PWM).
Keluaran lain yang dikendalikan oleh mikrokontroler adalah display LCD 16x2.
DisplayLCD 16x2 berfungsi untuk menampilkan informasi-informasi yang diperlukan, seperti apakah robot sudah menyala dan apakah robot sudah dapat digunakan untuk mencari obyek
warna.
3.2
Perancangan Mekanik
Perancangan mekanik meliputi perancangan bentuk robot, sistem pergerakan robot,
dan juga lengan robot. Untuk penempatan elektronis pada mekanik akan dilakukan
penyesuaian saat pembuatan mekanik.
3.2.1 Perancangan Robot
Robot dirancang bergerak menggunakan roda. Jumlah roda yang digunakan sebanyak 3
buah, dengan 2 buah roda kanan-kiri sebagai roda belakang dan 1 buah roda bebas sebagai
roda depan. Dua buah roda yang berada di kanan dan kiri masing-masing terhubung langsung
membalik putaran salah satu motor kanan maupun kiri. Robot didisain dengan dimensi
32 20 13 (kondisi lengangripperdirentangkan ke depan).
Lengan robot gripperdirancang dapat naik ke bagian atas robot dan diturunkan untuk mengambil bola. Gripper digerakkan oleh 1 buah servo bertipe standar. Lebar bukaan dari
gripper adalah8 dan panjang gripper adalah 7 dengan menyesuaikan lebar bola ping-pong4 .
Sensor kamera pada robot diletakkan setinggi 6 dari dasar dan target bola yang
akan diambil kira-kira berada 8 dari ujung lensa sensor kamera (posisi ditengah gripper). Dengan begitu sudut kemiringan sensor dapat diperkirakan sebesar 36° diperoleh dari
( ). Hal ini diperlukan karena akan berpengaruh terhadap fokus yang diperlukan
kamera. Gambar 3.2 merupakan disain mekanik dari robot.
Gambar 3.3 merupakan tampak depan dari disain mekanik robot.
Gambar 3. 3 Disain Mekanik Robot (Tampak Depan)
Gambar 3.4 merupakan tampak samping dari disain mekanik robot dengan panjang
robot dalam kondisi lengan robot yang terentang sepanjang 32 cm.
Gambar 3.5 merupakan tampak samping dari disain mekanik robot. Robot memiliki
sebuah bak yang digunakan untuk menampung bola (obyek warna) yang telah di ambil.
Gambar 3. 5 Disain Robot (Tampak Belakang)
Denah ruangan yang akan digunakan merupakan ruangan berukuran 100cm x 100cm x
10 cm dengan latar lantai dan dinding berwana hitam
3.3
Perancangan Elektronik
Bagian ini akan membahas tentang rangkaian-rangkaian elektronik yang akan
digunakan robot. Rangkaian-rangkaian yang akan dirancang adalah regulator tegangan, sistem
minimum.
3.3.1 CMUCam3
3.3.1.a.Komunikasi SerialKomunikasi serial antara CMUCam3 dan komputer menggunakan standar level shifted serial port. CMUCam3 sudah memilikiTTL serial portdalam melakukan komunikasi dengan mikrokontroler, sehingga tidak diperlukan lagi rangkaian tambahan seperti RS232. Pada TTL serial port terdapat 4 pin yang perlu dikoneksikan ke mikrokontroler seperti pada Gambar 3.7.
Gambar 3. 7 Pengkabelan Komunikasi Serial Cmucam3-Mikrokontroler
3.3.1.b. Baudrate
Baudrate yang digunakan pada CMUCam3 beragam dari 1200 hingga 115200, tetapi untuk mikrokontroler harus diperhatikan kemampuan dari mikrokontroler tersebut. Baudrate
yang akan digunakan adalah 38400 dengan frekuensi osilator yang dipakai adalah 8 MHz pada
mikrokontroler.
PortD.0 (RX) PORTD.1 (TX)
Penggunaan frekuensi osilator ditentukan 8MHz karena frekuensi ini akan
berhubungan dengan perancangan pulsa PWM yang akan digunakan untuk menggerakan
motor servo. Dengan frekuensi osilator 8MHz dapat ditentukan penggunaan baudrate yang memiliki nilai error pengiriman data mendekati 0,0% dan yang sesuai dengan kemampuan mikrokontroler yang digunakan. Sehingga dapat ditentukan baudrate 38400 dengan error
sebesar 0,2% sesuai dengan Tabel 2.6.
3.3.1.c.Fokus Kamera
Salah satu hal yang perlu diperhatikan pada CMUCam3 adalah fokus. Fokus
diperlukan agar diperoleh gambar yang tajam. Agar diperoleh gambar yang tajam fokus dapat
diubah-ubah, caranya adalah dengan memutar bagian depan dari lensa kamera hingga di
peroleh gambar yang paling baik. Gambar 3.8 menunjukkan cara mengatur fokus pada
CMUCam3 secara manual.
Gambar 3. 8 Lensa CMUCam3
3.3.2 Perancangan Sistem Minimum ATmega32
Rangkaian sistem minimum ini berfungsi untuk menjalankan mikrokontroler
ATmega32 yang akan diprogram untuk mengendalikan robot. Sistem minimum ini memiliki
tiga rangkaian termasuk input dan output dari pin mikrokontroler itu sendiri yaitu rangkaian osilator dan rangkaianreset.
Gambar 3. 9 Rangkaian Osilator [10]
Untuk rangkaian osilator digunakan crystal sebesar 8 MHz dan menggunakan kapasitor 22 pf pada pin XTAL1 dan XTAL2 di mikrokontroler. Mikrokontroler
membutuhkan clock yang dapat diperoleh dari rangkaian osilator ini sebagai sumber clock.
rangkaian osilator terdapat pada Gambar 3.9.
Selain rangkaian osilator terdapat rangkaian reset yang digunakan untuk memaksa mikrokontroler untuk mengembalikan proses kerja dari awal. Reset merupakan salah satu interupsi yang memiliki prioritas paling tinggi. Pin resetpada mikrokontroler merupakan pin denganenable lowsehingga perlu dirancang rangkaianresetyang memberikan logikalow.
Waktu minimum yang dibutuhkan mikrokontroler untuk resetsesuai dengandatasheet
yaitu sebesar 1,5 us. Resistor dan kapasitor digunakan untuk memperoleh jeda waktu
pengisian kapasitor. Nilai kapasitor yang digunakan adalah 10 nF. Nilai resistor minimum
dapat dihitung dengan persamaan 3.1 sebagai berikut :
= , = (3.1)
Sesuai dengan datasheet, level teganganinputuntuk kondisihighpada pinresetadalah minimal 0,9 V hingga 5,5 V(vcc+0,5V) sehingga jeda waktu yang diperlukan selama kondisi 0
V hingga tegangan kurang dari 0,9 V sebesar 1,5 us. Untuk itu waktu jeda yang perlu
yang digunakan pada perancangan ini sebesar 1000 Ω sehingga diperoleh waktu jeda sebesar
10 ms. Gambar 3.10 menunjukkan rangkaianresetyang akan digunakan.
Gambar 3. 10 RangkainReset
Sebelum membuat rangkaian sistem minimum yang lengkap perlu dirancang port-port
yang akan digunakan seperti input dan output. Dari blok diagram sistem pada Gambar 3.1,
port input dan port outputdapat ditentukan seperti pada Tabel 3.1, sehingga rangkaian sistem minimum dapat dirancang secara lengkap seperti pada Gambar 3.11.
Tabel 3. 1 Konfigurasi PORT MIkrokontroler yang akan digunakan
Fungsi PORTyang digunakan Keterangan
INPUT
CMUCam3 PORTD.0 (RX) PORTD.1 (TX)
OUTPUT
LCD 16x2 PORTB.0-PORTB.7 DisplayMotor DC
PORTC.0 - PORTC.1 Kendali arah putaran motor 1 PORTC.2 - PORTC.3 Kendali arah putaran motor 2
PORTC.4 OutputPWM motor 1
PORTC.5 OutputPWM motor 2
Gambar 3. 11 Rangkaian Sistem Minimum
3.3.3 Rangkaian Konfigurasi Pin LCD 16x2
Dengan menggunakan informasi pada Tabel 2.8 rangkaian pendukung LCD 16x2 dapat
di buat seperti pada Gambar 3.13. Penentuan konfigurasi kaki LCD menuju mikrokontroler
Gambar 3. 12 Konfigurasi Kaki Pada Mikrokontroler
3.3.4
Driver
Motor L298
Rangkaian driver motor menggunakan IC l298 dengan semua komponen adalah komponen-komponen yang disarankan pada datasheet. Gambar 3.14 merupakan rangkaian
drivermenggunakan IC L298.
Gambar 3. 14 RangkaianDriverL298 [14]
3.3.5 Perancangan Regulator Tegangan
Robot ini menggunakan 2 buah sumber tegangan yang berasal dari 2 buah sumber
baterai. Satu baterai 7.4 V (2 buah baterai 3,7 V yang dirangkai seri) yang digunakan untuk
mencatu rangkaian elektronis dan 1 baterai 9.6V yang digunakan untuk mencatu motor pada
robot.
Mikrokontroler ATmega32 membutuhkan catu sebesar 5V. Dua buah sumber baterai
3,7 V yang dirangkai seri menjadi 7.4V diubah menjadi 5V dengan menggunakan regulator
tegangan. Regulator tegangan yang digunakan adalah IC 7805 yang menghasilkan tegangan
keluaran sebesar 5V.. Nilai kapasitor C1 dan C2 disesuaikan dengan datasheet yaitu sebesar 0,33uF dan 0,1uF. Gambar 3.15 menunjukkan rangkaian regulator tegangan.
Motor servo yang digunakan memiliki spesifikasi tegangan makasimum sebesar 6 V.
Sama seperti mikrokontroler, perlu dirancang regulator tegangan yang menghasilkan tegangan
6V. Sesuai dengan datasheet, rangkaian regulator tegangan 6 V ditunjukkan pada Gambar 3.16.
Gambar 3. 16 Rangkaian Regulator Tegangan 6V [17]
3.4
Perancangan
Software
Gambar 3.17 merupakan flowchart proses keseluruhan sistem. Setelah start, program melakukan inisialisasi terhadap port-port mikrokontroler yang digunakan untuk proses pengendalian alat dan pengiriman data serial. Jika mikrokontroler dan CMUCam3 sudah
terkoneksi dengan baik, maka proses selanjutnya adalah pada reset, pengaturan CMUCam3
dan pengambilan data warna pada obyek. Jika mikrokontroler dan CMUCam3 belum
terkoneksi, maka proses dilakukan secara manual yaitu melekukan reset mikrokontroler atau mematikan sistem secara keseluruhan dan menyalakan kembali.
Setelah proses pengaturan dan pengambilan data dari obyek warna, proses selanjutnya
adalah pencarian obyek warna oleh robot. Proses akan terus berputar hingga robot menemukan
warna jika robot tidak menemukan obyek warna yang dicari, maka proses kembali ke proses
pencarian. Jika robot menemukan obyek warna, maka robot akan bergerak mendekati obyek
warna tersebut hingga pada jarak tertentu dan mengambilnya yang kemudian diangkat dan
Gambar 3. 17FlowchartKeseluruhan Sistem
3.4.1 Program Pengecekan Koneksi CMUCam3-Mikrokontroler
dengan mencoba memberi perintah kepada sensor CMUCam3 untuk menyalakan lampu LED
0 secara berkedip yang terdapat pada sensor sebanyak 5 kali. Jika LED berkedip sebanyak 5
kali, maka pada LCD akan ditampilkan pesan bahwa robot sudah siap digunakan. Jika tidak
ada reaksi apapun dari CMUCam3, maka pada LCD akan tertampil pesan yang mengharuskan
user melakukan reset atau mematikan sistem. Gambar 3.18 menunjukkan flowchart dari proses pengecekan koneksi antara sensor CMUCam3 dan mikrokontroler.
3.4.2 Pengaturan CMUCam3
Gambar 3.19 menunjukkan proses pengaturan CMUCam3.
Proses dimulai dengan mengatur kamera dengan perintah “CR 18 44 19 32”
merupakan pengaturan Camera internal Register yang diatur pada mode warna RGB auto white balance ON dan auto gain ON.Proses dilanjutkan dengan penyimpanan data warna (2 warna), user akan memilih untuk penyimpanan data warna 1, 2, 3, dan 4. Penyimpanan data
keempat warna sama, yaitu dengan memberikan perintah “TW” atau Track Window,bertujuan untuk mendapatkan informasi secara otomatis warna yang akan dicari. Kemudian “GT” yaitu
Get Tracking parameters, yang berfungsi mengetahui nilai warna RGB pada warna yang ada di depan lensa kamera. Setelah penyimpanan selesai, antara warna 1 atau 2 yang akan ditrack
oleh robot dapat dipilih. Pada saat warna yang akan dicari sudah dipilih, prosesnya adalah
pemberian perintah “ST” atau Set Tracking parameters dengan ST sama dengan variabel warna yang dipilih. Lalu dapat dilakukan pencarian warna dengan perintah “TC” yaitu
Tracking Color.
3.4.3 Program Pencarian obyek Warna
Gambar 3.20 merupakan flowchart dari proses pencarian obyek warna. Saat robot sudah siap mencari obyek warna maka robot akan memulai mencari dengan berputar ditempat
ke arah kiri. Robot akan berputar terus hingga menemukan obyek warna dengan mengecek
nilai mx (middle mass x value) dari warna yang dideteksi. Robot akan berhenti berputar apabila obyek warna yang dicari sudah berada di tengah dari pandangan kamera pada sumbu x
dengan nilai mx lebih dari 173 pixel dan kurang dari 179 pixel. Nilai tersebut diperoleh dari nilai resolusi sumbu x dari kamera yaitu 352. Setelah obyek warna berada di tengah
pandangan kamera robot akan bergerak maju hingga nilai pixel bernilai lebih besar dari 250
pixel. Nilai tersebut menandakan perkiraan jarak obyek warna yang dicari. Semakin besar nilai
3.4.4 Proses Pengambilan Obyek Warna
Gambar 3.21 menunjukkan flowchart proses pengambilan obyek warna. Proses ini merupakan lanjutan setelah obyek warna yang dicari sudah berada di depan robot, sehingga
robot dapat mengambil obyek warna tersebut dan memasukkan ke dalam bak yang terdapat
pada bagian robot.
Pertama-tama robot akan menurunkan lengannya hingga limit switch bagian bawah tertekan yang menandakan bahwa lengan gripper sudah sampai di bawah. Gripper akan mencengkeram obyek warna setelah mikrokontroler memberikan perintah “SV 1 255” pada
CMUCam3. Perintah “SV 1 255” berfungsi menggerakkan motor servo 1 pada posisi 255.
Lengan robot akan mulai terangkat kembali hingga limit switch bagian atas robot tertekan yang menandakan bahwagripperberada di atas bak dan siap untuk melepas obyek warna yang dicengkeram. Gripper melepaskan obyek warna dengan perintah “SV 1 0” yang diberikan mikrokontroler pada CMUCam3. Gambar 3.22 menunjukkan proses gerakan mengangkat
bola.
Motor servo membutuhkan pulsa PWM dengan lebar pulsa 20 ms dan pengaturan lebar
pulsaHIGHdari 1 ms-2 ms dalam mengatur sudut putar atau arah putar motor servo. Program ini bertujuan untuk membangkitkan pulsa PWM yang digunakan untuk mengendalikan motor
servo. Program ini menggunakan fasilitas Timer/Counter1 yang dimiliki oleh mikrokontroler ATmega32.
Untuk memperoleh pulsa dengan frekuensi 50 Hz atau dengan periode 20 ms maka
digunakan modePhase and Frequency Correct PWM modepada Timer/Counter1. Pengaturan register yang perlu dilakukan adalah:
1. TCCR1A=0b1010000
Bit 7:6 dan bit 5:4 merupakan pengaturan pola keluaran pin OC1A/OC1B modePhase and Frequency Correct.
2. TCCR1B=0b00010010
Bit 4:3 digunakan untuk memilih mode operasi Timer/Counter1 yaitu Phase and Frequency Correct PWM Mode. Bit 2:0 merupakan bit pengaturprescaller atau skala
clock Timer/Counter1 yang diatur pada skala clock sama dengan 8 (clock timer = 1/8 clock osilator) sehingga clockyang digunakan adalah 1000 kHz.
3. ICR1=0b0010011100010000=0x2710
Pengaturan ICR1 dengan nilai 2710h merupakan nilai puncak dari cacahan TCNT0
hingga 2710hatau 10000d.
Dengan pengaturan di atas jika dihitung menggunakan persamaan 2.2, maka
diperoleh:
dari pengaturan dan hasil perhitungan di atas pulsa PWM dengan frekuensi pulsa 50 Hz atau
OCR1A/OCR1B dengan memberikan nilai 500dhingga 1000d. Nilai tersebut merupakan pulsa
HIGHdengan lebar 1 ms hingga 2 ms.
Dari keterangan di atas pola gerakan robot dapat dibuat dengan memberikan nilai
OCR1A/OCR1B sebagai nilai pwm yang berpengaruh terhadap arah putaran masing-masing
roda. Pemberian pulsa HIGH pada PWM sebesar 1ms menyebabkan motor servo bergerak arah CCW dan sebaliknya pemberian pulsa dengan lebar pulsa HIGH sebesar 2ms menyebabkan motor bergerak CW. Tabel 3.2 merupakan pemberian nilai OCR1A/OCR1B
sebagai lebar pulsaHIGHyang diberikan untuk menentukan arah gerakan robot.
Tabel 3. 2 Pemberian Pulsa PWM dalam Pergerakan Robot
Pulsa PWM yang diberikan
Gerakan Servo kanan/OCR1A Servo kiri/OCR1B
1000d 500d Maju
500d 1000d Mundur
1000d 1000d Putar kiri
500d 500d Putar kanan
Gambar 3.23 merupakan salah satu contoh dari pergerakan robot dengan arah putar kiri.
3.4.5 Proses Memasukan Obyek Warna Pada Gawang
Proses ini memiliki kesamaan dengan proses pencarian, perbedaanya terletak dari hasil
akhir eksekusi setelah obyek warna yang dituju sudah didapat. Pada proses ini obyek warna
yang dicari bukan lagi sebuah bola tetapi gawang yang diberi warna yang berbeda dari warna
bola. Eksekusi akhir dari proses ini yaitu memasukkan obyek warna (bola) ke dalam gawang.
Gambar 3.24 menunjukkanflowchartdari proses memasukkan obyek warna ke dalam gawang.