perancangan dan sistem pergerakanrobot …repository.amikom.ac.id/files/publikasi_07.11.1823.pdf ·...
TRANSCRIPT
PERANCANGAN DAN SISTEM PERGERAKANROBOT BERKAKI
AV-COM BERBASIS ARDUINO MEGA128
Naskah Publikasi
diajukan oleh
Purwo Setyo Aji
07.11.1823
kepada
SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN KOMPUTER
AMIKOM
YOGYAKARTA
2011
DESIGN AND MOVEMENT SYSTEM OF AV-COM LEGGED ROBOT
BASED ON ARDUINO MEGA128
PERANCANGAN DAN SISTEM PERGERAKAN ROBOT BERKAKI AV-COM
BERBASIS ARDUINO MEGA128
Purwo Setyo Aji
Jurusan Teknik Informatika
STMIK AMIKOM YOGYAKARTA
ABSTRACT
Modern era increasing robot to be developed by humans to facilitate and assist the
man works. Generally, robot is a combination of mechanical, electronic circuits and
programming, to be adapted of human's needs.
In the manufacturing of legged robots, AV-COM robot team was inspired by the
anatomy of insects, AV-COM-legged robot is a robot with motion mechanism using six-legs
anatomy feet like animals or insects. Feet from AV-COM-legged robot is combined of 18
mechanical servo motors as driving and consists of three servo motors in each leg of robot.
Legged robot can walk more freely than the robot using a wheel, because it can pass through
more rugged terrain.
The movement of robot is required combinating legs of robot in every corner or knee
of the servo motor, so it obtained mechanical motion that causes the robot can move.
Ultrasonic sensors and heat sensors are used in addition to doing simple automatic
navigation and how the movement direction of robot motion. AV-COM-legged robot built by
AMIKOM Robotic team to participated the fire extinguisher robot competition KRCI Legged
(Kontes Robot Cercas Indonesia).
Keyword : Robot, legged robot, KRCI, servo motor
1. PENDAHULUAN
Perkembangan teknologi saat ini berkembang dengan pesat, hingga setiap lapisan
masyarakat memerlukannya. Perkembangan komunikasi, komputerisasi, otomasi, dan
robotika merupakan tuntutan teknologi modern yang sedang berkembang saat ini dan perlu
digali. Dengan semakin majunya IPTEK, masyarakat luas dapat menikmati kemudahan
dalam mengerjakan pekerjaannya dan terasa lebih menguntungkan dalam segi kenyamanan
bekerja dan finansial secara khususnya. Sebagai mahasiswa, sudah selayaknya berupaya
melakukan riset, penemuan dan pengembangan yang lebih lanjut, sehingga dapat diperoleh
pengalaman serta mengetahuan baru, yang akan menghasilkan praktisi handal maupun ahli.
Sehingga dapat menerapkan teknologi lebih tepat guna dan efektif.
Sesuai dengan masalah yang ada, penulis merumuskan permasalahan sebagai
berikut: “Bagaimana merancang desain dan pergerakan Robot Berkaki AV-COM berbasis
ARDUINO MEGA128”, dalam penelitian ini dituliskan bagaimana mendesain bentuk robot
berkaki AV-COM dan bagaimana cara memadukan kinerja motor servo disetiap lengan robot.
2. LANDASAN TEORI
a. Servo Motor
Servo adalah motor yang digunakan untuk mengontrol gerakan robot, hard
disk drive, dll umumnya dirancang lebih mirip alternator daripada motor standar,
sirkuit servo paling membutuhkan kontrol khusus untuk membuat mereka
memutar secara elektrik. Servo motor umumnya terdiri dari servo continuous dan
servo standar. Servo motor continuous dapat berputar sebesar 360 derajat.
Sedangkan servo motor tipe standar hanya mampu berputar 180 derajat. Servo
motor yang umum digunakan ialah Continuous Parallax. Namun ada juga servo
motor yang berkekuatan besar dan cepat, sebagai contoh servo HS-311
(continuos) dan servo HS-322HD (standar). Sebagai contoh Untuk menggerakkan
motor servo ke kanan atau ke kiri, tergantung dari nilai delay yang kita berikan.
Untuk membuat servo pada posisi center, berikan pulsa 1.5ms. Untuk memutar
servo ke kanan, berikan pulsa <=1.3ms, dan pulsa >= 1.7ms untuk berputar ke kiri
dengan delay 20ms.
Gambar 2.1 Motor servo (Sumber: toysonic.com)
b. Arduino MEGA128
Arduino MEGA128 merupakan salah satu jenis mikrokontroler single-board
yang bersifat open-source, diturunkan dari Wiring platform, dirancang untuk
memudahkan penggunaan elektronik dalam berbagai bidang. Hardwarenya
memiliki prosesor Atmel AVR dan softwarenya memiliki bahasa pemrograman
sendiri. Hardware yang diprogram menggunakan bahasa berbasis Wiring (sintaks
+ perpustakaan), mirip dengan C++ dengan beberapa penyederhanaan dan
modifikasi, dan pengolahan berbasis IDE
Gambar 2.5: Board Arduino MEGA128 (Sumber: arduino.cc)
c. ATMEGA 128
AT MEGA128 merupakan salah satu mikrokontroller yang memiliki port yang lebih
banyak daripada seri ATMEL versi sebelumya, (seperti AT MEGA16, AT MEGA32,
AT MEGA 8535). Sehingga dalam penanganan kontrol yang memerlukan I/O yang
banyak, membuat komponen menjadi lebih hemat baik dari segi sisi biaya dan
desain hardware yang dibutuhkan.
Fitur yang dimiliki ATMEGA128
1. Memiliki internal EPROM, sehingga tidak perlu lagi memakai baterai untuk
mem-backup isi RAM.
2. Memiliki 8 channel ADC 10 bit.
3. Ram internal 4kb (bandingkan 8535 yang hanya 2Kbyte).
4. 4KB EEPROM untuk program.
5. Internal watch dog. Nah ini penting, sehingga bisa mencegah sistem hang.
6. Real Time Counter with Separate Oscillator.
7. Brown-out detector, juga mencegah hang.
8. In-system programming, tidak perlu programmer khusus.
9. 6 PWM Saluran dengan Programmable Resolusi 2-16 Bits.
10. 8-channel, 10-bit ADC :
a) 8 Single-ended Channels
b) 7 Differential Channels in TQFP Package Only
c) 2 Differential Channels with Programmable Gain at 1x, 10x, or 200x
11. Byte-oriented Two-wire Serial Interface
12. Programmable Serial USART
13. Master/Slave SPI Serial Interface
14. Programmable Watchdog Timer with Separate On-chip Oscillator
15. Internal kalibrasi RC Oscillator
d. Komponen Elektronika
1. Resistor
Resistor adalah komponen dasar elektronika yang digunakan untuk
membatasi jumlah arus yang mengalir dalam satu rangkaian. Sesuai dengan
namanya resistor bersifat resistif dan umumnya terbuat dari bahan karbon.
Dari hukum Ohms diketahui, resistansi berbanding terbalik dengan jumlah
arus yang mengalir melaluinya. Satuan resistansi dari suatu resistor disebut
Ohm atau dilambangkan dengan simbol W (Omega).
2. Capasitor
Kapasitor atau yang sering disebut kondensator adalah suatu alat
yang dapat menyimpan energi di dalam medan listrik, dengan cara
mengumpulkan ketidakseimbangan internal dari muatan listrik. Kapasitor
memiliki satuan yang disebut Farad dari nama Michael Faraday. Pertama
disebut oleh Alessandro Volta seorang ilmuwan Italia pada tahun 1782 (dari
bahasa Itali condensatore), berkenaan dengan kemampuan alat untuk
menyimpan suatu muatan listrik yang tinggi dibanding komponen lainnya.
3. Dioda
Dioda sebenarnya tidak menunjukkan kesearahan hidup-mati yang
sempurna (benar-benar menghantar saat panjar maju dan menyumbat pada
panjar mundur), tetapi mempunyai karakteristik listrik tegangan-arus taklinier
kompleks yang bergantung pada teknologi yang digunakan dan kondisi
penggunaan
4. Transistor
Transistor adalah alat semikonduktor yang dipakai sebagai penguat,
sebagai sirkuit pemutus dan penyambung (switching), stabilisasi tegangan,
modulasi sinyal atau sebagai fungsi lainnya. Transistor dapat berfungsi
semacam kran listrik. Transistor bipolar bekerja dengan dua macam carrier,
sedangkan unipolar satu macam saja, hole atau elektron.
e. Remote Infrared Modul
1. Receiver
Komponen yang dapat menerima infra merah ini merupakan
komponen peka cahaya yang dapat berupa dioda (photodioda) atau
transistor (phototransistor). Komponen ini akan merubah energi cahaya,
dalam hal ini energi cahaya infra merah sebanyak mungkin sehingga pulsa
sinyal listrik yang dihasilkan kualitasnya cukup baik. Pada prakteknya sinyal
infra merah yang diterima intensitasnya sangat kecil sehingga perlu
dikuatkan.
Dalam penerimaan infra merah, sinyal ini merupakan sinyal infra
merah yang termodulasi. Pemodulasian sinyal data dengan sinyal carrier
dengan frekuensi tertentu akan dapat memperjauh transmisi data sinyal infra
merah. Sebuah receiver infra merah dilengkapi dengan lensa cembung
yang mempunyai sifat mengumpulkan cahaya. Lensa tersebut juga
merupakan filter cahaya, lebih dikenal sebagai optical filter, yang hanya
melewatkan cahaya infra merah saja. Walaupun demikian cahaya yang
nampakpun masih bisa mengganggu kerja dari receiver infra merah karena
tidak semua cahaya nampak bisa difilter dengan baik. Oleh karena itu harus
difilter pada frekeunsi sinyal carrier yaitu pada 30 KHz sampai 40 KHz.
Selanjutnya baik photodioda maupun phototransistor disebut sebagai
photodetector.
2. Transmitter
Infra merah dapat digunakan baik untuk memancarkan data maupun
sinyal suara. Keduanya membutuhkan sinyal carrier untuk membawa sinyal
data maupun sinyal suara tersebut hingga sampai pada receiver. Untuk
transmisi sinyal suara biasanya digunakan rangkaian voltage to frequency
converter yang berfungsi untuk mengubah tegangan sinyal suara menjadi
frekuensi. Untuk transmisi data biasanya sinyal ditransmisikan dalam bentuk
pulsa-pulsa. Ketika sebuah tombol ditekan pada remote control, maka
transmiter infra merah akan mentransmitkan sebuah sinyal yang akan
dideteksi sebagai urutan data biner.
f. Visual basic
Bahasa Basic pada dasarnya adalah bahasa yang mudah dimengerti
sehingga pemrograman di dalam bahasa Basic dapat dengan mudah
dilakukan meskipun oleh orang yang baru belajar membuat program. Hal ini
lebih mudah lagi setelah hadirnya Microsoft Visual Basic, yang dibangun
dari ide untuk membuat bahasa yang sederhana dan mudah dalam
pembuatan scriptnya (simple scripting language) untuk graphic user interface
yang dikembangkan dalam sistem operasi Microsoft Windows. Visual Basic
merupakan bahasa pemrograman yang sangat mudah dipelajari, dengan
teknik pemrograman visual yang memungkinkan penggunanya untuk
berkreasi lebih baik dalam menghasilkan suatu program aplikasi. Ini
terlihat dari dasar pembuatan dalam visual basic adalah FORM, dimana
user dapat mengatur tampilan form kemudian dijalankan dalam script yang
mudah.
g. Arduino IDE
Arduino IDE adalah lingkungan pengembangan Arduino yang berisi
teks editor untuk menuliskan kode, pesan area, teks console, toolbar dengan
tombol fungsi umum, dan serangkaian menu. Terhubung ke perangkat keras
yang terhubung ke perangkat Arduino board dan berkomunikasi dengan
board tersebut. Software Arduino IDE open source, bisa dijalankan di sistem
operasi Linux, Mac, dan Windows.
Perangkat lunak yang dituliskan menggunakan Arduino disebut
sketsa, sketsa sketsa ini ditulis dalam editor teks. Teks editor memiliki fitur
copy/paste dan mencari/mengganti teks. Area pesan memberikan
memberikan umpan balik saat menyimpan dan mengekspor dan juga
menampilkan kesalahan yang terdapat dalam code program. Konsol
menampilkan output teks dengan lingkungan Arduino, termasuk pesan error
lengkap dan informasi lainnya. Tombol toolbar memungkinkan kita untuk
memilah, meng-upload program, membuat, membuka, dan menyimpan
sketsa, dan membuka monitor serial
3. PERANCANGAN SISTEM
a. Perancangan Sistem
Gambar 3.1: Perancangan sistem
Sensor digunakan untuk mengamati lingkungan luar berupa
halangan yang berupa dinding. Keluaran masing-masing sensor berbentuk
tegangan analog selanjutnya dikoversi oleh komparator kedalam bentuk
sinyal digital. Sinyal digital diteruskan dan diolah mikrokontroler
ATMEGA128 pada board Arduino MEGA128 berdasarkan basis
pengetahuan yang ditanamkan di mikrokontroler sehingga menghasilkan
perintah aksi yang harus dilakukan oleh Robot Berkaki AV-COM. Perintah ini
diproses kembali oleh sistem kendali dan akhirnya aksi dijalankan yang
berupa gerakan kaki yaitu gabungan motor servo, menghindari halangan,
atau mengikuti perintah yang sesuai.
b. Rancangan Pergerakan
Gambar 3.2: Flowchart pergerakan
flowchart navigasi manual robot menggunakan remote infrared. Navigasi ini
merupakan salah satu bentuk penerapan pengendalian pada robot sehingga dapat
berjalan sesuai dengan perintah yang diberikan. Perintah yang penulis berikan
adalah maju, mundur, belok kiri, belok kanan dan default atau posisi normal, navigasi
ditujugan agar dapat mengetahui kestabilan robot ketika bergerak sehingga ketika
ada kekurangsempurnaan, dapat diperbaiki lagi.
Gambar 3.3: Usecase diagram Aplikasi Desktop
Use Case Use Case Description
Set sudut servo Use case dimana user melakukan setting kombinasi sudut setiap motor servo, dengan cara menggeser scroll
bar pada aplikasi desktop.
Set default Use case dimana user dapat menentukan dan menyimpan
sementara nilai kombinasi posisi sudut default yang diinginkan.
Get default Use case dimana user dapat mengarahkan dan men-set value dari velue default ke dalam kolom sudut servo. Sehingga posisi servo dalam
keadaan default yang diinginkan
Set tengah Use case dimana user dapat mengarahkan agar setiap motor servo
berada pada posisi 90 derajat
Add data Use case dimana user dapat memasukkan kombinasi sudut yang
telah diperoleh kedalam textbox value
Clear data Use case dimana user dapat menghapus isi textbox value
Copy data Use case dimana user dapat menyalin data kedalam clipboard
Set servo initial Use case dimana user dapat menentukan inisial servo sesuai
keinginan
Set port Use case dimana user dapat mengatur port komunikasi data antara
Arduino MEGA128 dengan aplikasi desktop.
4. HASIL DAN PEMBAHASAN
1. Bagian Mekanis
a. Konstruksi mekanis Robot Berkaki AV-COM dibuat layaknya robot
berkaki enam atau hexapod. Bahan yang digunakan menggunakan
bahan yang ringan tetapi kuat, sehingga mampu menopang berat
robot ketika berjalan. Desain body dibuat menggunakan bahan akrilik
dengan ketebalan 3.5mm, 2 lapis. Bagian atas dan bawah untuk
mengunci lengan robot bagian atas.
Gambar 4.1 : Robot tampak atas
b. Desain lengan bawah menggunakan bahan alumunium seperti lengan
bagian tengah. Untuk menjaga kestabilan robot ketika berjalan.
Bagian ini diasumsikan seperti betis pada binatang serangga berkaki
enam.
c. Desain lengan tengah menggunakan bahan alumunium 3.5mm.
Pemilihan bahan alumunium dikarenakan bahan tersebut lebih kuat
daripada menggunakan akrilik. Desain melengkung dibuat agar kuat
dalam menyangga beban. Lengan tengah berfungsi sebagai
pengangkat lengan bagian bawah.
d. Desain lengan atas dibuat menggunakan bahan akrilik dengan
ketebalan 3.5mm sebanyak 2 lapis, yaitu untuk menopang 2 buah
motor servo menghadap ke atas (body) dan ke depan (lengan atas).
Serta untuk menggerakkan kaki ke depan dan ke belakang.
2. Aplikasi Desktop
Program desktop pengendali servo disini digunakan untuk mengetahui posisi
secara realtime ketika program dijalankan. Beberapa kasus dalam pemrograman
robot yang menggunakan motor servo yang banyak adalah ketika nilai sudut
disamakan, ternyata kondisi motor servo belum tentu sama antara satu sama lain.
Berikut tampilan aplikasi desktop pengendali motor servo dapat dilihat pada
Gambar.4.1
Gambar 4.1: Aplikasi Pengendali Servo
5. PENUTUP
1. Kesimpulan
Hasil ini diperoleh dengan memperbesar sudut langkah kanan dan
memperkecil sudut langkah kiri. Nilai tabel-tabel pergerakan diatas didapat dari hasil
kombinasi pada program Visual Basic. Kemudian hasil kombinasi pada Visual Basic
disalin dan ditambahkan kepemrograman Arduino IDE. Hasil keakurasian dari sudut
yang ada bekisar 98% (kerancuan 1-3derajat) untuk servo dengan merek Towardpro
dan kisaran 95% (kerancuan 3-8derajat ) untuk merek Hitech. Hal ini disebabkan
karena tidak semua servo yang diproduksi adalah sama dan identik antara satu
sama lain, sehingga terdapat kesalahan beberapa derajat sudut sehingga harus
disesuaikan pada aplikasi desktop.
Dalam Perancangan dan Pembuatan Robot Berkaki AV-COM penulis memberi
saran-saran pengembangan lebih lanjut untuk mencapai sistem pengendalian robot dan
komuniasi yang lebih sempurna:
a. Penggunaan komunikasi via wireless menggunakan Arduino WiFi Shield, dan
penambahan camera berbasis Internet Protokol menjadikan robot lebih dinamis
dan dapat dikendalikan tidak secara otomasi saja tetapi juga dikendalikan manual
secara jarak jauh.
b. Merapikan komponen elektronis dan mekanis sehingga robot tampak lebih rapi.
Serta pemasangan casing sehingga komponen elektronika lebih terlindungi dari
lingkungan luar.
c. Penambahan database didalam aplikasi Visual Basic, ditujukan agar kombinasi
gerakan servo dapat terekam, sehingga tidak hanya dapat terlihat langsung posisi
realtime saja, tetapi rekaman posisi juga dapat disimpan. Ditujukan agar
pergerakan robot dapat dijalankan dan dilihat secara realtime.
d. Penggunaan elektronis yang lebih sederhana dan kecil tapi maksimal, pemilihan
baterai yang berukuran kecil, ringan dan memiliki arus besar.
DAFTAR PUSTAKA
Anonim, 2011. Arduino Mega (http://www.arduino.cc/en/Main/ArduinoBoardMega,
diakses 14 Januari 2011)
Anonim, 2011. Ping Ultrasonic Range Finder Tutorial
(http://www.arduino.cc/en/Tutorial/Ping, diakses 14 Januari 2011)
Anonim, 2011. Servo Library and Tutorial
(http://www.arduino.cc/playground/ComponentLib/Servo, diakses 8 Januari
2011)
Budiarto. Widodo, S.Si, M.Kom, 2004 “interfacing Komputer dan Mikrokontoler” ,
Penerbit Elex Media Komputindo
Sismoro Heri, 2005 “Pengantar Logika Informatika, Algoritma, dan
Pemrograman Komputer”, Penerbit Andi, Yogyakarta
Suyadi Taufiq Dwi Septian, 2008 “Build Your Own Line Follower Robot”, Penerbit
Andi, Yogyakarta
Wasito, 2006 “Vademekum Elektronika Edisi Kedua”, Penerbit PT Gramedia
Pustaka Utama, Jakarta