PERANCANGAN SISTEM GERAK MOTOR PADA ROBOT BERODA BERBASIS ARDUINO ATMEGA 128
Naskah Publikasi
diajukan oleh Muhammad Furqan Ramadhan 09.11.2976
kepada SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN KOMPUTER AMIKOM YOGYAKARTA 2012
Designing of Motion System Wheeled Robot Based on Arduino Atmega 128
Perancangan Sistem Gerak Motor pada Robot Beroda Berbasis Arduino ATmega 128 Muhammad Furqan Ramadhan Jurusan Teknik Informatika STMIK AMIKOM YOGYAKARTA ABSTRACT The development of technology is the reason a lot of popping one of a variety of innovations including the Robotics Technology. The development of robotics in the beginning instead of the discipline of electronics but from biologist and author of the novel any drama in the eighteenth century. In 1920 the robot began to develop from the disciplines of electronics, more specifically the branch of study disciplines, namely electronic automatic control engineering, but in those days it was the computer that is the main component of a robot that is used to refineries input data from sensors and control actuators yet has fast computing capabilities than physical size computer at that time was still quite large. The robot revolution is the result of technological developments and have been proven in the field of military, defense and security, production, and even in the field of rescue or salvation. Robots that we know have expertise in defusing bombs, fire fighting, and rescue victims of the earthquake. The ability of robots can not be separated from the motor on the robot motion concepts and algorithms that have been planted therein. Made robots have a variety of shapes one of which is a wheeled robot, the robot wheels generally use the motor as a driving force and ultrasonic sensors as tools to navigate and thus require a system board and logic algorithm to synchronize the movement of the motor in order to create a robot that has the intelligence to run duties. The use of technologies such as Arduino Board is very helpful especially for system synchronization and integarasi board so the motion and navigation system can be embedded in a single system. And in the end, the benefits of hardware and logic embedded in the robot as one that can not be separated in the design of the motor motion system on the robot's wheels.
Keywords : Motor, Robot, Technology
1.
Latar Belakang Masalah Perkembangan teknologi saat ini berkembang dengan pesat, hingga setiap
lapisan masyarakat memerlukannya. Perkembangan komunikasi, komputerisasi, otomatisasi, dan robotika merupakan tuntutan teknologi modern yang sedang berkembang saat ini dan perlu digali. Dengan semakin majunya ilmu pengetahuan dan teknologi, 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 pengetahuan baru, yang akan menghasilkan praktisi handal maupun ahli. Sehingga dapat menerapkan teknologi lebih tepat guna dan efektif. Dengan adanya persaingan teknologi dan ilmu pengetahuan yang ketat, berbagai praktisi dan peneliti mengembangkan dan memanfaatkan alat kerja bantu berupa robot. Secara umum robot merupakan perpaduan antara kinerja mekanis, elektronis, dan pemrograman yang sesuai dengan kebutuhan. Robot yang kita kenal memiliki keahlian dalam menjinakkan bom, pemadam api kebakaran, dan penyelamat korban bencana gempa. Kemampuan dari robot-robot tersebut tidak terlepas dari sebuah konsep gerak motor pada robot dan algoritma yang telah ditanam didalamnya. Diantara robot-robot yang ada, terdapat jenis robot tak berjalan dan robot berjalan atau disebut mobile robot. Keterbatasan bentuk mekanis robot juga mempengaruhi kemampuan bagaimana robot dapat berjalan dan area bagaimana robot tersebut bekerja.
2.
Landasan Teori
2.1
Bagian Hardware
Hardware merupakan perangkat fisik dari sebuah sistem sehingga dapat dilihat kasat mata dan dapat bekerja sebagaimana mestinya secara fisik. Hardware dalam sebuah robot masih dikelompokan menjadi dua bagian yaitu :
1. Bagian Mekanis 2. Bagian Elektronis 2.1.1
Bagian Mekanis Bagian Mekanis merupakan bagian – bagian robot yang bergerak secara
langsung, untuk melakukan gerakan – gerakan itu diperlukan yang sesuai dan tepat dalam penggunaannya. 2.1.1.1 Motor DC Motor DC digunakan dalam rangka yang memerlukan kepresisian yang tinggi untuk pengaturan kecepatan, pada torsi yang konstan. Semua motor DC beroperasi atas dasar arus yang melewati konduktor yang berbeda dalam magnet1. 2.1.2
Bagian Elektronis Bagian elektronis tersebut terdiri dari komponen – komponen elektronika
yang terangkai sedemikian rupa sehingga bisa mendukung kinerja robot2. Bagian elektronis pada robot ini terdiri dari empat bagian penting, yaitu :
1
Purwo,Setyo Aji,Perancangan Dan Sistem Pergerakan Robot Berkaki AV-COM Berbasis Arduino Mega 128,hal 10 2011 2
Wasito.2006.Vademekum Elektronika Edisi Kedua.Jakarta: PT Gramedia Pustaka Utama.
1. Mikrokontroler 2. Line Detector 3. Sensor Ultrasonik 4. Regulator tegangan
2.1.2.1 Mikrokontroler Mikrokontroler merupakan system computer yang seluruh atau sebagian besar elemennya dikemas dalam satu chip IC dan modul-modul lain sehingga dapat memproses masukan dan output3.
2.1.2.1.1 Arduino MEGA128 Arduino MEGA128 merupakan salah satu jenis mikrokontroler singleboard yang bersifat open-source, diturunkan dari Wiring platform, dirancang untuk memudahkan penggunaan elektronik dalam berbagai bidang. Hardware memiliki prosesor Atmel AVR dan software memiliki bahasa pemrograman sendiri. 2.1.2.1.2
ATMEGA128
AT MEGA128 merupakan salah satu mikrokontroller yang memiliki PORT yang lebih banyak dari pada seri ATMEL versi sebelumya, (seperti AT MEGA16, AT MEGA32, AT MEGA 8535). Sehingga dalam penanganan kontrol
3
Budiarto,Widodo.2004.Interfacing Komputer dan Mikrokontroler.Jakarta.Penerbit Elex Media Komputindo.Hal 28.
yang memerlukan I/O yang banyak, membuat komponen menjadi lebih hemat baik dari segi sisi biaya dan desain hardware yang dibutuhkan4.
Gambar 2.5: Board Arduino MEGA1285 2.2
Bagian Perangkat Lunak Secara umum, semua komponen mikrokontroler dijalankan oleh program
yang dimasukkan ke dalam mikrokontroler. Program yang dijalankan oleh mikrokontroler tersusun dari bahasa pemrograman tingkat rendah (low level language) atau disebut juga bahasa mesin.
2.2.1
Software 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.
4
Iswanto.2008.Desain dan Implementasi Desain Embeded Mikrokontroler ATMega8835 dengan Bahasa Basic.Penerbit Gava Media.Yogyakarta.Hal 51. 5
Anonim, 2011. Arduino Mega (http://www.arduino.cc/en/Main/ArduinoBoardMega, diakses 22 Maret 2012)
2.2.2
PID Control Proportional Integral Differential Control atau disebut PID Control adalah
salah satu algoritma yang menjadi pendukung dalam perancangan robot agar memiliki karakteristik dan kecerdasan. PID Control ini akan memberikan logika logika yang nantinya menjadi sebuah batasan - batasan bagi robot dalam bertindak dalam mendukung tujuannnya. Sehingga perancangan robot yang dilengkapi oleh PID control dapat memberikan kemudahan dalam membuat sebuah robot yang memiliki kemampuan cerdas dalam menjalankan tugasnya. Sebuah kontroler PID menghitung sebuah "kesalahan" nilai sebagai perbedaan antara variabel proses diukur dan setpoint yang diinginkan. Controller mencoba untuk meminimalkan kesalahan dengan menyesuaikan input proses kontrol6.
Gambar 2.21 : Diagram dari PID kontroler7
6
katsuhiko Ogata. 1997.Modern Control Engineering,hal 55-56. Pitowarno,Endra.2007.Robotika desain,kontrol, dan kecerdasan buatan.Penerbit Andi.Yogyakarta.Hal 43-45. 7
3.1
Perancangan Sistem Sistem Robot Beroda 4T-Vi Wheel dirancang mengacu pada robot
bergerak otomatis. Sistem yang dirancang terlihat pada gambar 3.1
Komparator
Sensor
Mikrokontroler
Gerak
Lingkungan Luar
Gambar 3.1: Rancangan Sistem Robot Beroda 4T-Vi Wheel 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 Beroda 4TVi Wheel.
3.2
Perancangan Elektronis Skema rangkaian Robot Beroda 4T-Vi Wheel menggunakan 3 buah board
yaitu board utama Arduino ATMEGA128, konverter pin untuk mempermudah pemasangan komponen sensor, servo, motor, dan board regulator tegangan. 3.2.1
Board Utama Board utama pada Robot Beroda 4T-Vi Wheel adalah Arduino MEGA128
dengan IC AVR ATMEGA128 didalamnya.
Gambar 3.2: Arduino Shield 3.2.2
Prinsip Kerja Gerakan Robot Beroda 4T-Vi Wheel digerakkan oleh motor DC, dimana
kombinasi motor DC dengan konsep 4WD untuk pergerakan robot yang lebih maksimal.
3.3
Perancangan Perangkat Lunak
Perangkat lunak ini dibuat dengan bahasa pemrograman C pada Arduino IDE untuk membuat program pada mikrokontroller Arduino MEGA128 dan Visual Basic untuk melakukan setting pengendalian motor sehingga diperoleh pergerakan yang baik pada system gerak motor yang diinginkan. Perancangan
perangkat lunak terdiri dua bagian yaitu perangkat lunak di sisi hardware dan software yaitu: 3.3.1
Flowchart Program Mikrokontroller
Diagram alir pada Robot Beroda 4T-Vi Wheel dibuat untuk mengetahui proses kerja robot ketika berjalan, Sistem pengendalian robot dan menanggapi lingkungan.
4. Pembahasan 4.1 Bagian Mekanis Konstruksi mekanis Robot Beroda 4T-Vi Wheel dibuat layaknya robot beroda empat atau wheeled robot. 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 mm, 2 lapis. Bagian atas dan bawah untuk mengunci board utama Arduino , menata baterai, sensor-sensor, regulator tegangan robot bagian atas.
Gambar 4.1: Bentuk bodi Desain roda dibuat menggunakan bahan plastik karbon dengan ketebalan 7 mm, yaitu untuk menopang 4 buah motor DC menghadap ke atas (body). Serta untuk menggerakkan roda ke depan dan ke belakang. Untuk menjaga kestabilan robot ketika berjalan.
4.2 Bagian Elektronis Bagian elektronis disini digunakan untuk menjembatani antara program dan mekanis. Bagian ini terbagi menjadi 3 yaitu bagian regulator tegangan, mikrokontroler dan sensor. 4.2.1
Regulator Tegangan Regulator tegangan digunakan untuk menurunkan dan menstabilkan antara
tegangan baterai dan tegangan yang dibutuhkan oleh Arduino dan motor DC yaitu sebesar 5volt.
4.2.2
Board Mikrokontroler Bagian mikrokontroler yaitu Arduino ATMEGA128. Dimana bagian ini
menyimpan kode pemrograman dan tempat program dijalankan.
Gambar 4.10: Bagian mikrokontroler
4.2.3
Sensor Ultrasonik Sensor ultrasonik digunakan untuk mengukur jarak robot terhadap dinding.
Mengubah data analog menjadi digital.
4.2.4
Sensor Line Detektor Sensor line detektor digunakan untuk menbedakan gerak robot di area
hitam atau putih.
4.3 Pemrograman 4.3.1
Pemrograman Pengendali Motor #include <Servo.h> void setup(){ //setup line follower; pinMode(lineKanan,INPUT); pinMode(lineKiri,INPUT); myservo.attach(37); Serial.begin(9600); }
Mengarahkan pin kontrol pada setiap motor dc, ke masing-masing port. Menentukan pengendalian line follower yaitu linekanan,dan linekiri. 4.3.2 Pemrograman Robot Hasil dari perpaduan antara pergerakan dengan memadukan sensor-sensor yang ada, sehingga diperoleh kombinasi perpaduan sudut, yang menyebabkan robot bisa bergerak maju, belok kanan, belok kiri,berhenti dan mundur. 4.4
Pengujian
4.4.1. Pengujian Mikrokontroler Adapun pengujian mikrokontroler bertujuan untuk mengetahui sejauh mana perancangan sistem yang dilakukan dapat berjalan dengan baik. Pengujian mikrokontroler akan dilakukan dengan melakukan komparasi yaitu antara sistem robot yang menggunakan 1 buah mikrokontroler.
Gambar 4.13: Diagram Blok Robot Menggunakan Satu Mikrokontroler Dari Gambar 4.13 Menggambarkan sistem dari robot yang menggunakan 1 buah mikrokontroler dimana proses input dari sensor dan output ke aktuator dilakukan oleh satu mikrokontroler. Perancangan sistem pada robot 4T-Vi Wheel yang dirancang oleh penulis menggunakan satu buah mikrokontroler. Permasalahan terletakan ketika sensor ultrasonik dan aktuator bekerja dalam waktu yang bersamaan dan diproses dalam satu mikrokontroler. Hal ini dapat menyebabkan terjadi tabrakan pada timer yang ada di arduino karena untuk mengontrol servo dibutuhkan servo library. Percobaan Pengecekan Jarak Tempuh Sensor Ultrasonik :
Gambar 4.14: Pengecekan Jarak Tempuh Sensor Ultrasonik
Hal ini disebabkan oleh kebutuhan timer pada mikrokontroler yang tidak dapat mengerjakan inputan dari sensor dan memperoses gerakan untuk aktuator pada waktu yang bersamaan. Sehingga proses gerakan robot akan menjadi lambat, dan cenderung tidak real time dalam menjalankan algoritma yang tertanam didalam mikrokontroler. 4.4.2. Pengujian Robot Pada Lapangan KRCI Robot akan ditempatkan didalam lapangan standar dari Kontes Robot Cerdas Indonesia seperti pada Gambar 4.14. Ukuran lapangan menjadi parameter dalam perancangan sistem navigasi pada robot hexapod ini. Adapun pengujian dilakukan pada beberapa kondisi untuk memastikan navigasi robot sudah dapat berjalan dengan baik. 5. Penutup
5.1 Kesimpulan
Dari beberapa tahap perancangan, pembuatan dan pengujian yang telah dilakukan dapat diambil kesimpulan antara lain :
Dengan cara pemilihan motor DC yang mempunyai torsi memadai, peletakan motor yang tepat serta memperhitungkan dimensi robot dari Robot Beroda 4T-Vi Wheel akan menunjang kerja maksimal.
5.2 Saran
Dalam Perancangan dan Pembuatan Robot Beroda 4T-Vi Wheel penulis memberi saran-saran pengembangan lebih lanjut untuk mencapai sistem pengendalian robot dan komuniasi yang lebih sempurna:
1. 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. 2. Merapikan komponen elektronis dan mekanis sehingga robot tampak lebih rapi. Serta pemasangan casing sehingga komponen elektronika lebih terlindungi dari lingkungan luar. 3. Penggunaan elektronis yang lebih sederhana dan kecil tapi maksimal, pemilihan baterai yang berukuran kecil, ringan dan memiliki arus besar. 4. Pembuatan database didalam aplikasi Visual Basic, ditujukan agar kombinasi gerakan motor pada roda 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.
DAFTAR PUSTAKA
Anonim, 2011. Arduino Mega (http://www.arduino.cc/en/Main/ArduinoBoardMega, diakses 22 Maret 2012) Anonim, 2011. Ping Ultrasonic Range Finder Tutorial(http://www.arduino.cc/en/Tutorial/Ping, diakses 22 Maret 2012) Anonim, 2011. Servo Library and Tutorial (http://www.arduino.cc/playground/ComponentLib/Servo, diakses 5 April 2011) Budiarto,Widodo.2004.Interfacing Komputer dan Mikrokontroler.Jakarta: Elex Media Komputindo. Iswanto.2008.Desain dan Implementasi Desain Embeded Mikrokontroler ATMega8835 dengan Bahasa Basic. Yogyakarta: Gava Media. Katsuhiko,Ogata.1997.Modern Control Enginneering.Upper Saddle River, NJ, USA: Prentice Hall. Pitowarno,Endra.2007.Robotika buatan.Yogyakarta: Andi.
desain,
Suyadi,Taufiq Dwi Septian.2008.Build Robot.Yogyakarta: Andi.
kontrol,
Your
Own
dan
Line
kecerdasan
Follower
Wasito.2006.Vademekum Elektronika Edisi Kedua.Jakarta: PT Gramedia Pustaka Utama.