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 transmiter
infra merah akan mentransmitkan
remote control, maka
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.
ATMEGA128
Sinyal pada
digital
board
diteruskan
Arduino
dan
MEGA128
diolah
mikrokontroler
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. Use case dimana user dapat menentukan dan menyimpan sementara nilai kombinasi posisi sudut default yang diinginkan. 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 Use case dimana user dapat mengarahkan agar setiap motor servo berada pada posisi 90 derajat Use case dimana user dapat memasukkan kombinasi sudut yang telah diperoleh kedalam textbox value Use case dimana user dapat menghapus isi textbox value
Set default
Get default
Set tengah
Add data
Clear data Copy data
Use case dimana user dapat menyalin data kedalam clipboard
Set servo initial
Use case dimana user dapat menentukan inisial servo sesuai keinginan Use case dimana user dapat mengatur port komunikasi data antara Arduino MEGA128 dengan aplikasi desktop.
Set port
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