## SISTEM KONTROL PADA ROBOT PEMINDAH BARANG TIPE CARTESIAN CORDINAT MENGGUNAKAN ARDUINO UNO R3
Dwiki Darmawan 1 , Setya Permana Sutisna 1 , Edi Sutoyo 1
1 Program Studi Teknik Mesin,Fakultas Teknik, Universitas Ibn Khladun Bogor Email : dwikidarmawan212@gmail.com

## ABSTRACT
Robots are an option to help human jobs address issues of precision, security and flexibility. The robot arm becomes one of the robot types that can help human work. The robot arm controller research is to  control  the  stepper  motor's  motion  according  to  the  command.  Desai  this  cartesian  coordinate robot is 2 axis that is X and Y axis. Control of this robot arm using Visual Basic 6.0 programming for controlled robot from PC to arduino Uno R3. Motor driver used is IC A4988, stepper motor movement got input from PC with software visual basic 6.0. to move the stepper motor. Data sent from PC to Arduino Uno R3 is a command from Visial Basic 6.0 with serial communication. The microcomputer reads the serial data input and sends a step value data to the stepper motor driver to move the robot arm. The end result of the robot arm controller research that has been achieved is the robot arm can be  controlled  with  the  command  to  enter  the  distance  that  will  be  run  by  stepper  motor  as  the method of pemograman which is controlled through serial communication with Visual Basic 6.0. The test results show an average error 22.26531 for the left and 52.61111 for the right direction on X axis while for Y axis -5,36957 for the downward direction and 0.117647 for the upper direction
K eywords : motor stepper, IC A4988, Arduino Uno R3 ,Visual Basic 6.0

## 1. PENDAHULUAN
Semakin  pesatnya  perkembangn  zaman khususnya  dibidang  teknologi  industri  membuat semua  serba  otomatis,  yang  membutuhkan kecepatan, ketelitian, dan tingkat kesulitan tinggi yang mausia tidak bisa lakukan. Penerapan sistem robot  saat  ini  menjadi  yang  utama  untuk  dapat meminimalisasi human error (kesalahan manusia) pada  proses  pengindustrian  serta  dapat meningkatkan produktivitas produksi lebih efisien dan memberikan keuntungan lebih.
Sudah banyak saat ini perusahaan hingga mahasiswa yang membuat robot walaupun hanya berukuran  kecil  yang  membutuhkan  waktu  dan biaya  yang  mahal,  tetapi  itu  menjadi  bukan menjadi halangan untuk membuat inovasi dalam pengaplikasian sistem otomatis dimasa yang akan datang.  Yang  menjadi  sorotan  penelitian  saat  ini adalah  sistem  robot  lengan  yang  dapat diaplikasikan  dalam  dunia  industri  seperti wellding,  milling,  drilling,  grinding  dan  masih banyak pengaplikasikan dalam pengndustrian. [2]
Microkontroler  AVR  merupakan  pengontrol utama  standar  industri  dan  riset  saat  ini.  Hal  ini dikarenakan  berbagai  kelebihan  yang  dimilikinya dibandingkan  mikroprosesor,  antara  lain  murah, didukung  software  dan  dokumentasi  yang memadai, dan memerlukan komponen pendukung  yang  sedikit.  Salah  satu  tipe
mikrokontroler  AVR  untuk  aplikasi  standar  yang memiliki  fitur  memuaskan  ialah  arduino  uno  R3. Oleh  karena  itu  penelitian  robot  pemindah barang  ini  menggunakan  chip    mikrokontroler tipe arduino uno R3. [1]
Artikel  ini  bermaksud  membuat  robot pemindah  barang  tipe cartesian  coordinate menggunakan pengendali mikrokontroler arduino uno R3 sebagai pembantu kerja manusia tanpa  ada  rasa  lelah,  dan  menganalisis persentase  keberhasilan  robot  yang  dibutuhkan untuk memindahkan barang dari tempat satu ke tempat yang lainnya yg sudah di tentukan.

## 1.1 Rumusan Masalah
Rumusan masalah pada penelitian ini adalaha membangun  program  untuk  memutar  stepper menggunakan Arduino Uno R3 dan motor driver A4988  dengan  software  Visual  Basic  6.0  agar robot  dapat  bergerak  ke  kiri,  kanan,  atas  dan kebawah.
1.2  Tujuan Penelitian Tujuan dari pembuatan alat ini adalah:
1. Mendisain  pengendali  robot  pemindah barang tipe cartesian coordinate .
2. Mengetahui  nilali  eror  pada  robot  tipe cartesian coordinate

## 2.  METODE PENELITIAN
Metode penelitian ini dilakukan dengan cara perancangan  sistem  kontrol  untuk  memasukan program  ke  dalam  mikrokontroler  arduino  Uno R3.  Gerak    lengan  robot  pemindah  barang  yang dikendalikan  oleh  mikrokontroler  berdasarkan masukan dari PC.

## 2.1  Bahan Penelitian
Bahan dan alat yang digunakan pada “Sistem Kontrol  Pada  Pemindah  Barang  Tipe Cartesian Coordinate menggunakan arduino Uno”. dijelaskan pada tabel 2.1 berikut ini: Tabel 2.1 Bahan Penelitian No Nama Bahan Jumlah  Satuan 1 Akrilik Tebal 10 mm 1 M 3 Power Supply 1 Buah 4 Arduino Uno R3 1 Unit 5 Motor Stepper 3 Buah 6 Kabel Jumper Arduino 1 Set 7 Motor Driver A4988 3 Pcs 8 Breadboard 1 Buah 9 Ulir Daya 3 Buah 10 Gripper 1 Buah 2.2  Diagram Alir Penelitian Gambar 2.1 Diagram Alir Penelitian
2.3  Perancangan Kontroler Robot Secara  garis  besar  perancangan  kontroler robot  untuk  mrnyusun  sebuah  sistem  lengan robot  pemindah  barang  berbasis  mikrokontroler meliputi  beberapa  komponen  utama  yaitu komponen input komponen  piranti  pengendali ( controller )  dan  komponen output .  Komponen utama  pada  perangkat  keras  lengan  robot pemindah barang berbasis mikrokontroler.

## Gambar 2.2 Diagram Sistem Pengendali
Gambar  2.2  merupakan  sistem  blok pengendalian  loop  terbuka  karna  tidak  ada umpan  balik.  Berdasarkan  perancangan  sistem pada  gambar  2.2 personal  computer (PC) memiliki peranan sebagai pemberi masukan atau input pada  sistem.  Bagian input memberi keluaran  atau output dari  PC  ke  perangkat pengendali  ( controller ).  Output  yang  dikeluarkan PC berupa data serial yang dikirim menuju piranti pengendali  dengan  sistem  komunikasi serial melalui  koneksi  USB  ( universal  Serial  Bus ).  PC memberikan output data  serial  dari  program visual  basic  6.0  yang  membuat  perintah  sebagai acuan kerja lengan robot pemindah barang.
Berdasarkan gambar 2.2 piranti perancangan sistem  pengendali  adalah  mikrokontroler  dan motor driver . Mikrrokontroler digunakan sebagai piranti  pengendali  pertama  yang  mengolah perintah dan data dari Visual Basic 6.0 agar dapat dibaca  oleh  pengendali  yaitu  motor driver . Perintah  dan  data  akan  diolah  mikrokontroler menjadi data-data berupa posisis gerakan motor yang  kemudian  dikirim  menuju  stepper  driver untuk  diolah  menjadi  pulsa-pulsa  digital  yang digunakan  untuk  mengendalikan  putaran  motor stepper.  Mikrokontroler  yang  digunakan  pada sistem robot pemindah barang ini adalah Arduino Uno R3.
Motor stepper dan  motor  servo  merupakan keluaran  atau output dari  sistem  lengan  robot pemindah  barang.  Motor stepper dan  motor servo  dapat  bergerak  setelah  mendapatkan  arus listrik  dari power  supply dan  masukan  berupa
pulsa-pulsa  digital  yang  merupakan  keluaran papan A4988 stepper motor driver. Sebagai salah satu  penyusun,  motor  stepper  berperan  sebagai penggerak  ( acuatuator )  dengan  gerakan  sesuai dengan  besaran  pulsa  digital  yang  diterima sehingga  gerakan  rotasi  memungkinka  lengan robot dapat bergerak 2 axis X dan Y. Sifat gerakan putaran  motor  stepper  dimanfaatkan  untuk memutar leadscrew sumbu X dan sumbu Y.
2.4  Perancangan  Rangkaian  Elektrik  Sistem
Pengendali
Perancangan  rangkaian  elektrik  sistem pengendali  lengan  robot  pemindah  barang seperti  pada  gambar  2.2  terdiri  dari  beberpa bagian  yang  menyususn  suatu  sistem  berupa perangkat perangkat komponen masukan ( input ), komponen pengendali ( controller ) dan komponen pengeluaran ( output ). Perangkat masukan ( input ) dalam rangkaian elektrik ini berasal dari personal computer (PC). Komponen pengendali ( controler ) yang  digunakan  berupa  mikrokontroler  arduino Uno  R3  dan  motor  driver  A4988.  Sedangkan komponene  keluaran  ( output )  berupa  2  buah stepper  motor  untuk  X  dan  Y  dan  motor  servo untuk gripper .
Personal  computer (PC)  digunakan  untuk membuat,  menampilkan  dan  mengolah  program berupa  masukan  dari  perangkat  lunak software . Mikrokontroler  digunakan  sebagai  komponen pengendali  utama  dari prototype lengan  robot. Pemilihan mikrokontroler Arduino Uno R3 karena sistem  yang  dibuat  tidaak  perlu  memerlukan banyak  I/O,  memnggunakan  komunikasi serial yang  memiliki  keunggulan open  surce untuk memudahkan dalam pengaplikasian pada sistem
Gambar 2.3 Rangkaian Elektrik Sistem Pengendali
[3]
2.5  Perancangan Perangkat Lunak ( software )
Secara keseluruhan diagram alir perangkat  lunakk  ( software )  dapat  dilihat  pada gambar 2.4 prangkat lunak yang digunakan dalam sistem  ini  adalah visual  basic  6.0 untuk mentransfer file ke arduino dan software arduino IDE.
Gambar 2.4 Diagram Alir Sistem Perangkat Lunak ( software )

## 2.6  Perancangan Pulsa Motor
Motor  stepper  bergerak  erdasarkan  urutan pulasa  yang  diberikan  kepada  motor.  Dan mengubah pulsa-pulsa  menjadi gerakan mekanis diskrit. Oleh karena itu untuk menggrakan motor stepper  diperlukan  pengendali  motor  stepper yang  membangkitkan  pulsa-pulsa  periodik  untuk mengendalikan motor stepper.
Gambar 2.5 Gelombang Pulsa Motor Stepper [3]

## 3.  HASIL DAN BAHASAN
Hasil perancangan pada perangkat lunak dan pengujian  berupa  pergerakan  motor  stepper dengan  menggunakan visual  basic  6.0 dan mengirim
perintah ke mikrokontroler
menggunakan  PC  dalam  alat  lengan  robot pemindah  barang  menggunakan  mikrokontroler Arduino Uno R3.

## 3.1Robot Tipe Cartesian Coordinate
Struktur lengan robot ini terdiri dari dua sumbu pergerakan. Masing-masing sumbu dapat bergerak  ke  area  sumbu  X  dan  Y.  Metode penelitian  ini  dilakukan  perancangan  sistem kontrol  untuk  menggerakan  motor  stepper  yang memutar leadscrew.
Gambar 3.1 Robot tipe cartesian coordinate
3.2  Hasil Perancangan Perangkat Lunak Pada hasil perancangan perangkat lunak akan menjelaskan tentang penggunaan software Visual Basic 6.0 yang akan berkomunikasi mengirimkan file  G-code  ke  software  arduino  IDE  yang digunakan  untuk  menggerakn  motor  Stepper. Perintah  untuk  untuk  menggerakan  motor stepper itu menggunakan arduino IDE sedangkan untuk mengatur jarak pergerakann sumbu X dan sumbu Y itu dilakukan oleh software Visual Basic. Data  yang  dikirim  dari  PC  ke  mikrokontroler Arduino  Uno  R3  berupa  file  G-code  yang  akan digunakan untuk menggerakan motor stepper
3.3    Pembahasan Program Pada Software Visual Basic 6.0

## Gambar 3.2 Tampilan Software Visual Basic
Gambar  3.2  merupakan  tampilan  dari software Visual  Basic  6.0  yang  digunakan  untuk
memberi  perintah  untuk  mengirim  file  G-code pada software arduino  IDE  untuk  menggerakan sumbu X dan Sumbu Y .

## 3.4  Hasil Perancangan Komponen Elektrik Sistem
Kontroler

## Gambar 3.3 Hasil Perancangan Komponen
Rangkaian elektrik sistem pengendali motor stepper ditunjukan pada gambar 3.8. Rangkaian elektrik sistem pengendali motor steper terdiri dari:
1. Motor stepper (sebagai penggerak sumbu X)
2. Motor stepper (sebagai penggerak sumbu Y)
3. Output ke motor
4. Motor driver A4988
5. Kabel Power supply
6. Kabel USB (komunikasi serial mikrokontroler dengan PC)
7. Board arduino Uno R3 mikrokontroler
8. Projeck board
Pada  gambar  3.3  mikrokontroler  arduino Uno  R3  melakukan  komunikasi serial dengan  PC melalui kabel USB. Selain untuk komunikasi serial , kabel  USB  juga  digunakan  untuk  aktifitas  upload dan  download  program.  Motor  driver  A4988 terhubung dengan board arduino Uno R3 dengan jalur-jalur  pada  projeck  board  yang  kemudian dihubungkan  dengan  kabel  pada  pin  ke  arduino Uno R3. Motor driver A4988 mendapatkan power supply dengan  tegangan  12  volt  dengan  arus  3 ampere.  Motor  stepper  sebagai  penggerak diaaktifkan  dengan  masukan  step  dari  output motro driver A4988. Output port yang digunakan pada rangkaian elektrik kontroler lengan robot ini sebanyak  8  port  yang  digunakan  untuk menggerakan  motor  stepper  bagian  motor stepper X dan motor steper Y.
3.4  Hasil Pengujian dan Analisa Motor Stepper X dan Y
Pada  penelitian  ini  pengujian  dilakukan  dengan memberi  masukan  berupa  step,  yang  dapat menggerakan 2 motor stepper secara bergantian. Tabel  3.1  menunjukan  pengujian  motor  stepper dengan  jumlah  step  X  dan  Y  dengan  masukan step pada setiap motor stepper
Tabel 3.1 Pengujian Putaran Motor Stepper Y Axis
Y (step) Putaran (derajat) Keterangan 10 18 Berhasil 20 36 Berhasil 30 54 Berhasil 40 72 Berhasil 50 90 Berhasil 60 108 Berhasil 70 126 Berhasil 80 144 Berhasil 90 162 Berhasil 100 180 Berhasil 110 198 Berhasil 120 216 Berhasil 130 234 Berhasil 140 252 Berhasil 150 270 Berhasil 160 288 Berhasil 170 306 Berhasil 180 324 Berhasil 190 342 Berhasil 200 360 Berhasil
Tabel  3.1  menunjukan  pengujian  motor  stepper dengan jumlah step Y dengan masukan step pada setiap  motor  steper  mulai  dari  10  step  hingga 200  step.  Dari  data  pada  tabel  3.1  diketahui bahwa  masukan  pada  step  motor  Y  yang mendapatkan  masukan  nilai  step  mulai  dari  10 step  hingga  200  step  dapat  diimpelemntasikan pada  putaran  motor  yang  sesuai  dengan masukan input step.
Gambar 3.4 Cara Pengujian Gerakan Motor Stepper
Tabel 3.2 Pengujian Putaran Motor Stepper X Axis
X (step) Putaran (derajat) Keterangan 20 18 Berhasil 40 36 Berhasil 60 54 Berhasil 80 72 Berhasil 100 90 Berhasil 120 108 Berhasil 140 126 Berhasil 160 144 Berhasil 180 162 Berhasil 200 180 Berhasil 220 198 Berhasil 240 216 Berhasil 260 234 Berhasil 280 252 Berhasil 300 270 Berhasil 320 288 Berhasil 340 306 Berhasil 360 324 Berhasil 380 342 Berhasil 400 360 Berhasil
Tabel  3.1  menunjukan  pengujian  motor  stepper dengan jumlah step Y dengan masukan step pada setiap  motor  steper  mulai  dari  20  step  hingga 400  step.  Dari  data  pada  tabel  3.2  diketahui bahwa  masukan  pada  step  motor  X  yang mendapatkan  masukan  nilai  step  mulai  dari  10 step  hingga  200  step  dapat  diimpelemntasikan pada  putaran  motor  yang  sesuai  dengan masukan input step

## 3.5  Hasil  Kalibrasi  Putaran  Motor  Untuk Memutar Liedscrew X Axis dan Y Axis
Tabel 3.3 Kalibrasi Motor Stepper X axis Arah Kiri Arah Kanan Keterangan Counter Jarak Counter Jarak
10 10 10 10 1 counter 90° 20 19 20 17 30 29 30 27 40 38 40 26 50 49 50 46 60
59 60 56 70 68 70 66 80 79 80 76 90 89 90 86 100 99 100 96 110 109 110 106 120 118 120 116 130 129 130 126 140 138 140 136 150 148 150 146 160 159 160 156 170 168 170 166
180 179 180 176
290 188 290 186
200 198 200 196
210 207 210 206 220 216 220 216 230 225 230 226 240 232 240 236
Tabel 3.4 Kalibrasi Motor Stepper Y Axis Arah bawah Arah Atas Keterangan Counter Jarak Counter Jarak 10 20 10 20 1 counter 180 ° 20 40 20 41 30 60 30 60 40 80 40 80 50 100 50 100 60 120 60 120 70
140 70 140 80 160 80 160 90 180 90 180 100 200 100 200 110 220 110 220 120 240 120 240 130 260 130 260 140 280 140 280 150 300 150 300 160
310 160 318
Tabel  3.3  dan  3.4  menunjukan  hasil kalibrasi  untuk  motor  stepper  Y  axis  dan  Y  axis dengan  masukan  counter  dari  mulai  10  sampai 240 untuk X axis dan 160 untuk Y axis, 1 counter berputar 90 derajat atau 100 step masukan untuk X axis dan 1 counter 160 derajat untuk masukan Y axis atau 100 step untuk 1 counter.
Dari  data  pada  tabel  3.3  diketahui dengan  masukan  counter  pada  X  axis  jarak  yang dihasilkan  10  mm  setiap  masukan  10  counter, namun  pada  kalibrasi  ini  terjadi  penghambatan pada  liedscrew  jadi  setiap  masukan  10  counter tidak seluruhnya bergerak 10 mm.
Hasil  kalibrasi  Motor  X  dan  Y  ini digunakan  sebagai  masukan  dalam  instalasi software  Visual  Basic  6.0.  Dalam  instalasi software Visual Basic 6.0 motor stepper berputar sesuai counter yang dimasukan untuk mengendalikan  motor  X  dan  Y.    Untuk  tampilan pada  Visual  Basic  6.0  dapat  dilihat  pada  gambar 3.10
Gambar 3.5 Tampilan software Visual Basic 6.0 Untuk Kalibrasi Motor

## 3.6 Hasil Validasi Y Axis Dan X Axis
Pada tahap validasi ini mendapatkan nilai error bervariasi untuk nilai error X axis arah kiri 5 mm  sampai  37  mm,  untuk  arah  kanan  104  mm, gambar 3.6 dan 3.7 menunjukan grafik nilai error pada tahap validasi ini.
Gambar 3.6 Grafik Eror Kiri
Gambar 3.7 Grafik Eror Kanan
Pada tahap validasi Y axis mendapat nilai error  untuk  arah  bawah  dari  2  sampai  -10, sedangkan  arah  atas  nilai  erronya  2  hingga  -2. Gambar  3.8  dan  3.10  menunjukan  grafik  nilai error pada Y axis.
Gambar 3.8 Grafik Eror Bawah
Gambar 3.9 Grafik Eror Atas
Gambar 3.7 Pengambilan Data Validasi

## 4.  KESIMPULAN
Setelah  melakukan  perancangan,  pembuatan pada aplikasi kontroler lengan robot menggunakan  Arduinon  Uno  R3  dapat  diambil kesimpulan sebagai berikut
1. Aplikasi  ini  dapat  menggerakan  motor stepper  sesuai  jarak  yang  dimasukan melalui software Visual Basic 6.0
2. Pergerakan  motor  stepper  X  dan  motor stepper  Y  sesuai  tombol  yg  kita  tekan yaitu kanan,kiri,atas dan bawah.
3. Eror  yang  didapatkan  pada  setiap  axis yaitu  22,26531  arah  kiri  dan  52,61111 untuk arah kanan pada X axis sedangkan untuk Y axis adalah -5,36957 untuk arah bawah dan 0,117647 untuk arah atas.
5.  DAFTAR PUSTAKA
[1] Artanto,  Dian,  2012,  Interaksi  Arduino dan  LabView,  1st,  PT  Elek  Media Komputindo, Jakarta [2] munjuno.  “ Pembuatan  Model  Robot Untuk  Material  Handling  Otomatis” Program Studi Diploma Iii Mesin Produksi Fakultas  Teknik  Unniversitas  Sebelas Maret Surakarka 200.
[3] Alexander  Deni  Pratama  “  Kontroler Lengan  Robot  Menggunakan  Servo  Dan Motor  Stepper  Dengan  Masukan  3  Axis” Jurusan Teknik Elektro Fakultas Sains Dan Teknologi  Universitas  Sanata  Dharma Yogyakarta. [4] Setya Permana Sutisna And I Dewa Made Subrata.”Modification  Of  Cylindrical Manipulator  Type  For  Greenhouse  Fruit Harvesting  Robot”.  Department  of Mechanical  and  Biosystem  Engineering, Faculty of Agricultural Technology, Bogor Agricultural  University,  IPB  Darmaga Campus,  PO  Box  220,  West  Java, Indonesia.
[5] P  Nageswara  Rao  CAD/CAM  “Principles
And Aplications”
[6] http.munhnabil,  Definisi  robot  dan  jenis bahan  “Gantry-System-Working-outside- and-Evelope [7] Arthur  G.Erdman  /  George  N.Sandor Mechanism  Design  “Analysis  and Synthesis” volume 1. [8] Heri Andrianto, Aan Darmawan, ARDUINO BELAJAR CEPAT DAN PEMOGRAMAN, Informatika, Buku palasari, Bandung [9] Kadir,  Abdul,  2013  panduan  praktis mempelajari  aplikasi  mikrokontroler  dan programnya menggunakan arduino, Andi Offset, Yogyakarta
[10]   http://roboticbasics.blogspot.co.id /2015/01/cara-mudah-mengontrol- servo-     dengan-arduino.html