Kontroler lengan robot dengan kendali mouse.

(1)

viii

INTISARI

Lengan robot yang dipakai pada industri menarik untuk dipelajari. Lengan robot di industri mempunyai ukuran yang besar dan mahal. Program studi teknik elektro Universitas Sanata Dharma mengembangkan miniatur lengan robot yang dapat ditaruh di atas meja. Diperlukan kontroler yang mudah dioperasikan oleh orang awam,semisal menggunakan mouse sebagai user control untuk menggerakan lengan robot.

Pada penelitian ini bertujuan membuat pengendali lengan robot 3 DOF dengan USB mouse. Kontroler yang digunakan adalah Atmega328 yang menggunakan IDE (Integrated Development Environment) dari Arduino. Komunikasi antara mikrokontroler dan USB mouse menggunakan USB host shield for Arduino. Lengan robot dapat bergerak menggunakan motor servo sebagai aktuator dan dapat bergerak bebas berdasarkan tiga bagian yakni base, shoulder, elbow, dan sebagai end effector-nya adalah gripper.

Base dikendalikan melalui gerakan x pada mouse, gerakan y untuk mengendalikan shoulder, elbow dikendalikan melalui kombinasi gerakan y dan tombol tengah (tombol pada scroll). Tombol kanan untuk membuka, tombol kiri untuk menutup gripper. Hasil dari penelitian ini adalah lengan robot yang dapat bergerak presisi 1° pada base, shoulder dan elbow, sedangkan pada gripper memiliki pergerakkan sudut hingga 5°.


(2)

ix

ABSTRACT

Robotic arm used in the industry attractive to study. Robotic arm in the industry has a size large and expensive. Study program electrical engineering Sanata Dharma University developed a miniature robotic arm that can be put on the table. Needed easy controller operated by people, such as using the mouse as a user control to drive the robot arm.

This research aims at making the 3 DOF robotic arm control with USB mouse. The controller that is used is the Atmega328 using IDE (Integrated Development Environment) from the Arduino. Communication between the microcontroller and USB mouse using a USB host shield for Arduino. Robotic arm can move using a servo motor as actuator and can move freely on the basis of three parts, namely base, shoulder, elbow, and as an end effector is the gripper.

Base is controlled through the movement of x on y, the movement of the mouse to control the shoulder, the elbow is controlled through a combination of motion by and the Center button (the button on the scroll). The right button to open, the left button to close the gripper. The results of this research are a robotic arm that can move precision 1 ° at the base, shoulder and elbow, while on the gripper has a practical angle of up to 5 °.


(3)

i

TUGAS AKHIR

KONTROLER LENGAN ROBOT DENGAN KENDALI

MOUSE

Diajukan Untuk Memenuhi Salah Satu Syarat Memperoleh Gelar Sarjana Teknik

Program Studi Teknik Elektro

Oleh:

DEWANGGA ADI WARDANA NIM : 135114056

JURUSAN TEKNIK ELEKTRO FAKULTAS SAINS DAN TEKNOLOGI

UNIVERSITAS SANATA DHARMA YOGYAKARTA


(4)

ii

FINAL PROJECT

ROBOTIC ARM CONTROLLER WITH MOUSE

In partial fulfilment of requirements for the degree of Sarjana Teknik In Electrical Engineering Study Program

DEWANGGA ADI WARDANA NIM : 135114056

ELECTRICAL ENGINEERING STUDY PROGRAM ELECTRICAL ENGINEERING DEPARTMENT

FACULTY OF SCIENCE AND TECHNOLOGY SANATA DHARMA UNIVERSITY


(5)

(6)

(7)

(8)

vi

HALAMAN PERSEMBAHAN DAN MOTTO HIDUP

MOTTO :

"Formula dari sebuah kesuksesan adalah

kerja keras, pantang menyerah, dan berdoa"

Dengan ini kupersembahkan karyaku ini untuk ... Tuhan Yesus Kristus Pembimbingku yang setia, Negaraku Indonesia yang tercinta, Keluargaku tercinta, Maria Sekar Palupi, Teman-teman seperjuangan, Dan semua orang yang mengasihiku

Terima Kasih untuk semuanya...


(9)

(10)

viii

INTISARI

Lengan robot yang dipakai pada industri menarik untuk dipelajari. Lengan robot di industri mempunyai ukuran yang besar dan mahal. Program studi teknik elektro Universitas Sanata Dharma mengembangkan miniatur lengan robot yang dapat ditaruh di atas meja. Diperlukan kontroler yang mudah dioperasikan oleh orang awam,semisal menggunakan mouse sebagai user control untuk menggerakan lengan robot.

Pada penelitian ini bertujuan membuat pengendali lengan robot 3 DOF dengan USB mouse. Kontroler yang digunakan adalah Atmega328 yang menggunakan IDE (Integrated Development Environment) dari Arduino. Komunikasi antara mikrokontroler dan USB mouse menggunakan USB host shield for Arduino. Lengan robot dapat bergerak menggunakan motor servo sebagai aktuator dan dapat bergerak bebas berdasarkan tiga bagian yakni base, shoulder, elbow, dan sebagai end effector-nya adalah gripper.

Base dikendalikan melalui gerakan x pada mouse, gerakan y untuk mengendalikan shoulder, elbow dikendalikan melalui kombinasi gerakan y dan tombol tengah (tombol pada scroll). Tombol kanan untuk membuka, tombol kiri untuk menutup gripper. Hasil dari penelitian ini adalah lengan robot yang dapat bergerak presisi 1° pada base, shoulder dan elbow, sedangkan pada gripper memiliki pergerakkan sudut hingga 5°.


(11)

ix

ABSTRACT

Robotic arm used in the industry attractive to study. Robotic arm in the industry has a size large and expensive. Study program electrical engineering Sanata Dharma University developed a miniature robotic arm that can be put on the table. Needed easy controller operated by people, such as using the mouse as a user control to drive the robot arm.

This research aims at making the 3 DOF robotic arm control with USB mouse. The controller that is used is the Atmega328 using IDE (Integrated Development Environment) from the Arduino. Communication between the microcontroller and USB mouse using a USB host shield for Arduino. Robotic arm can move using a servo motor as actuator and can move freely on the basis of three parts, namely base, shoulder, elbow, and as an end effector is the gripper.

Base is controlled through the movement of x on y, the movement of the mouse to control the shoulder, the elbow is controlled through a combination of motion by and the Center button (the button on the scroll). The right button to open, the left button to close the gripper. The results of this research are a robotic arm that can move precision 1 ° at the base, shoulder and elbow, while on the gripper has a practical angle of up to 5 °. Keywords: Robotic Arm, mouse, USB Host Shield, Arduino, 3 DOF


(12)

(13)

xi

DAFTAR ISI

HALAMAN JUDUL (Bahasa Indonesia) ... i

HALAMAN JUDUL (Bahasa Inggris)... ii

HALAMAN PERSETUJUAN ... iii

HALAMAN PENGESAHAN ... iv

PERNYATAAN KEASLIAN KARYA ... v

HALAMAN PERSEMBAHAN DAN MOTTO HIDUP ... vi

LEMBAR PERNYATAAN PERSETUJUAN PUBLIKASI KARYA ILMIAH UNTUK KEPENTINGAN AKADEMIS ... vii

INTISARI ... viii

ABSTRACT ... ix

KATA PENGANTAR ... x

DAFTAR ISI ... xi

DAFTAR GAMBAR ... xiii

DAFTAR TABEL ... xvi

DAFTAR PERSAMAAN ... xviii

DAFTAR LAMPIRAN ... xviii

BAB I PENDAHULUAN 1.1. Latar Belakang ... 1

1.2. Tujuan ... 2

1.2 Manfaat ... 2

1.3. Batasan Masalah ... 2

1.4. Metodologi Penelitian ... 3

BAB II DASAR TEORI 2.1. Arduino ... 4

2.1.1. Konfigurasi Pin Atmega328P-PU ... 7

2.2. Motor Servo ... 10


(14)

xii

2.2.2. Micro Servo ... 11

2.2.3. Motor Servo Standar ... 12

2.3. USB Optical Mouse ... 13

2.4. USB Host Shield ... 14

2.4.1. Serial Peripheral Interface(SPI) ... 15

2.5. Komunikasi USB ... 18

2.6. Sistem Kontrol Lengan Robot ... 21

2.6.1. Jangkauan Lengan Robot ... 21

2.7. Link Penggerak Prinsip Tuas ... 22

2.8. Sudut Bangun Segi 4 ... 23

2.9. FTDI FT232RL ... 24

BAB III PERANCANGAN PENELITIAN 3.1. Proses Kerja Sistem ... 27

3.2. Perancangan Perangkat Keras ... 28

3.2.1. Minimum Sistem ATmega328 ... 28

3.2.2. Fungsi Tombol Mouse ... 30

3.2.3. Desain Lengan Robot ... 31

3.2.4. Jangkauan Lengan Robot ... 33

3.3. Perancangan Perangkat Lunak ... 37

3.3.1. Flowchart Utama ... 37

BAB IV HASIL DAN PEMBAHASAN 4.1. Hasil Perancangan Hardware ... 39

4.2. Hasil Pengujian Hardware ... 44

4.2.1. Pengujian Ketepatan Sudut Lengan Robot ... 44

4.2.2. Pengujian Kinematika Lengan Robot ... 48

4.2.3. Analisa Pergerakan Link ... 51

4.2.4. Pengujian Repeatability Gerakan Lengan Robot... 52

4.3. Analisa Software ... 55

4.3.1. Inisialisasi ... 55

4.3.2. Pembacaan Input dan Perintah ke Output... 57

BAB V KESIMPULAN DAN SARAN 5.1. Kesimpulan ... 58

5.2. Saran ... 58

DAFTAR PUSTAKA ... 58


(15)

xiii

DAFTAR GAMBAR

Halaman

Gambar 1.1 Diagram Blok Perancangan ... 3

Gambar 2.1 Konfigurasi Pin Atmega328[3] ... 4

Gambar 2.2 Tampilan IDE Arduino ... 5

Gambar 2.3 Konfigurasi Pin ATmega328P-PU[5] ... 8

Gambar 2.4 Prinsip Kerja Motor Servo [7] ... 11

Gambar 2.5 Micro Servo [8] ... 11

Gambar 2.6 Konfigurasi Tombol Mouse ... 13

Gambar 2.7 Konfigurasi board USB host shield[10] ... 15

Gambar 2.8 Transfer data SPI[13] ... 16

Gambar 2.9 Kondisi awal transfer data[13]... 17

Gambar 2.10 Perpindahan isi register clock pertama dan kedua[13 [15] ... 17

Gambar 2.11 Data berpindah penuh[13] ... 18

Gambar 2.12 Konfigurasi kabel USB[14] ... 18

Gambar 2.13 Detached State [15] ... 19

Gambar 2.14 Attached State [15] ... 19

Gambar 2.15 Idle State [16] ... 19

Gambar 2.16 Contoh Pengiriman Data USB [17] ... 20

Gambar 2.17 Sistem open loop pada lengan robot ... 21

Gambar 2.18 Konfigurasi perhitungan jangkauan lengan robot... 22


(16)

xiv

Gambar 2.20 Sudut-sudut yang dimiliki oleh bangun datar segi 4 ... 24

Gambar 2.21FTDI Basic Breakout[20] ... 24

Gambar 2.22 Motor Servo Standar ... 12

Gambar 3.1 Blok Diagram Proses Sistem ... 27

Gambar 3.2 Bagian-bagian Lengan Robot ... 28

Gambar 3.3 Rangkaian Minimum Sistem ... 29

Gambar 3.4 Koneksi Antara USB Host Shield Dan Mikrokontroler ... 30

Gambar 3.5 Gerakan Mouse ... 31

Gambar 3.6 Desain Awal Lengan Robot[24] ... 32

Gambar 3.7 Tampilan 3D Lengan Robot ... 32

Gambar 3.8 Desain Gripper[25] ... 33

Gambar 3.9 Perhitungan Jangkauan Lengan Robot ... 34

Gambar 3.10 Jangkauan Maksimal Horisontal... 34

Gambar 3.11 Pergerakan Sudut Elbow ... 35

Gambar 3.12 Pergerakan Sudut Gripper ... 36

Gambar 3.13 Pergerakan Sudut Base ... 36

Gambar 3.14 Flowchart Utama ... 37

Gambar 3.15 Flowchart Subsistem ... 38

Gambar 4.1 Keseluruhan Sistem Kontroler Lengan Robot Kendali Mouse ... 39

Gambar 4.2 Bagian Keseluruhan Lengan Robot ... 40

Gambar 4.3 Letak Motor pada Lengan Robot ... 41


(17)

xv

Gambar 4.5 Rangkaian Minimum Sistem ATmega328 ... 42

Gambar 4.6 Pemasangan USB Host Shield dengan Minimum sistem ATmega328 ... 43

Gambar 4.7 Grafik Perbandingan Sudut Base ... 45

Gambar 4.8 Grafik Sudut Shoulder ... 46

Gambar 4.9 Grafik Perbandiang Sudut Input dan Sudut Aktual Pada Sendi Elbow ... 47

Gambar 4.10 Sumbu X Dan Y pada Lengan Robot ... 49

Gambar 4.11 Ruang Kerja Lengan Robot dalam X dan Y ... 51

Gambar 4.12 Nama Sudut Link Segi 4 pada Lengan Robot ... 51

Gambar 4.13 Inisialisasi Library ... 55

Gambar 4.14 Inisalisasi Variabel dan Input/Output ... 55

Gambar 4.15 Inisialisasi bagian mouse ... 56

Gambar 4.16 Batasan nilai gerak mouse. ... 56

Gambar 4.17 Input dan Output pada Program ... 57


(18)

xvi

DAFTAR TABEL

Halaman

Tabel 2.1 Keterangan Tombol Pada Tampilan IDE Arduino ... 5

Tabel 2.2 Fungsi Khusus port B[5] ... 8

Tabel 2.2 (Lanjutan) Fungsi Khusus port B[5]... 9

Tabel 2.3 Fungsi Khusus port C[5] ... 9

Tabel 2.4 Tabel konfigurasi pin servo ... 12

Tabel 2.5 Paket Data Mouse [9] ... 13

Tabel 2.6 Data Biner Mouse ... 14

Tabel 2.7 State pada Koneksi USB [15] ... 20

Tabel 2.8 USB Interface Group[22] ... 25

Tabel 2.9 Power dan Ground Group[22] ... 25

Tabel 2.10 Miscellanous Signal Group[22] ... 26

Tabel 3.1 Port-port pada mikrokontroler ... 29

Tabel 3.2 Fungsi Mouse ... 30

Tabel 3.2 (Lanjutan) Fungsi mouse ... 31

Tabel 4.1 Keterangan Bagian Lengan Robot ... 40

Tabel 4.1 (Lanjutan) Keterangan Bagian Lengan Robot ... 41

Tabel 4.2 Tabel Pengujian Sudut Base ... 44

Tabel 4.3 Tabel Pengujian Sudut Shoulder ... 45

Tabel 4.4 Tabel Pengujian Sudut Elbow ... 46


(19)

xvii

Tabel 4.5 Tabel Pengujian Sudut Gripper ... 48

Tabel 4.6 Data Forward kinematik lengan robot ... 49

Tabel 4.6 (Lanjutan) Data Forward kinematik lengan robot ... 50

Tabel 4.7 Sudut link segi 4 lengan robot ... 52

Tabel 4.8 Repeatability Gerak Sendi Base ... 52

Tabel 4.8 (Lanjutan) Repeatability Gerak Sendi Base ... 53

Tabel 4.9 Repeatability Gerak Sendi Shoulder ... 53

Tabel 4.10 Repeatability Gerak Sendi Elbow ... 53

Tabel 4.10 Repeatability Gerak Sendi Elbow ... 54

Tabel 4.11 Repeatability Gerak Gripper ... 54

Tabel 4.12 Perubahan Hasil Perancangan Fungsi Mouse... 40


(20)

xviii

DAFTAR PERSAMAAN

Halaman

Persamaan 2.1 ... 22

Persamaan 2.2 ... 22

Persamaan 2.3 ... 22

Persamaan 2.4 ... 22

Persamaan 2.5 ... 22

Persamaan 2.6 ... 23

DAFTAR LAMPIRAN

Halaman L1. Grafik Kestabilan Gerak Base ... L.1 L2. Grafik Kestabilan Gerak Shoulder ... L.1 L3. Grafik Kestabilan Gerak Elbow ... L.2 L4. Grafik Kestabilan Gerak Gripper... L.2 L5. Listing Program Kontroler Lengan Robot dengan Kendali mouse ... L.3 L6. Data Sheet Servo FeeTech FS5109M ... L.8 L7. Data Sheet Servo TowerPro SG90 ... L.9 L8. USB Host Shield... L.10


(21)

1

BAB I

PENDAHULUAN

1.1.

Latar Belakang

Teknologi di masa kini berkembang begitu pesat, teknologi yang canggih telah menggantikan peralatan-peralatan manual yang membutuhkan banyak sumber daya manusia, salah satunya adalah robot. Penggunaan robot tersebut adalah berupa lengan robot. Lengan robot merupakan bagian dari robot yang dapat meringankan beban kerja manusia secara langsung, tetapi masih terdapat kendala bagaimana cara mengontrol lengan robot dengan mudah dikendalikan. Pada penelitian sebelumnya masih menggunakan komputer sebagai alat bantu untuk interface yang dibuat oleh Berio Molina “Controlling a servo motor with processing”[1]. Pada penelitian yang akan dibuat penulis, komputer akan sebagai alat pendukung upload atau download program ke mikrokontroler dan mouse sebagai interface.

Berdasarkan hal diatas, penulis ingin membuat tugas akhir berjudul “Kontroler

Lengan Robot dengan Kendali Mouse.Dengan begitu memudahkan pengguna mengendalikan lengan robot, karena dengan menggunakan mouse pengguna dapat lebih leluasa mengendalikan lengan robot tersebut. Sistem alat ini berbasis mikrokontroler ATmega 328P-PU Arduino sebagai kontroler penggerak motor servo yang digunakan untuk sendi-sendi lengan robot sehingga menyerupai gerakan lengan manusia.

Dengan sistem kendali menggunakan USB mouse sebagai interfacenya, komunikasi antara mouse dengan kontroler menggunakan komunikasi serial. Komunikasi serial disini adalah USB 2.0 dimana didalamnya terdapat empat pin output antara lain pin 1 berupa sumber tegangan, pin 2 berupa data (-), pin 3 berupa data (+) dan pin 4 berupa ground. Alasan menggunakan mouse karena semua orang pastilah mengenal mouse komputer dan mudah cara mengoperasikannya dan dari segi biaya lebih murah, kemudian gerakan mouse lebih leluasa lalu dari bentuknya sesuai dengan ukuran tangan manusia sehingga nyaman digunakan.


(22)

1.2. Tujuan dan Manfaat Penelitian

Tujuan penelitian ini adalah dapat membuat lengan robot yang dengan mudah dikendalikan lewat mouse tanpa harus merubah program untuk melakukan gerakan-gerakan yang diinginkan.

Manfaat dari penelitian alat ini bisa sebagai modul pembelajaran di dunia pendidikan, mengenalkan salah satu bentuk bagian dari robot dan bisa juga sebagai sarana hiburan bagi anak-anak maupun orang dewasa dengan begitu bisa menjadi alat untuk media belajar dan bermain.

1.3. Batasan Masalah

Batasan masalah dalam penelitian ini yaitu : a. Menggunakan empat buah motor servo. b. Menggunakan USB optical mouse.

c. Menggunakan mikrokontroler ATmega328P-PU.

d. Menggunakan gambar desain mekanik yang didapat secara open source.

1.4. Metodologi Penelitian

Berdasarkan tujuan yang ingin dicapai maka metode-metode yang digunakan dalam penyusunan tugas akhir ini adalah :

a. Pengumpulan bahan referensi

Mengumpulkan dan mempelajari berbagai informasi yang menunjang penyusunan penulisan tugas akhir ini, melalui buku maupun artikel yang ada di internet. b. Perancangan sistem hardware dan software

Rancangan hardware berupa gambar desain mekanik yang sudah ada dan dilakukan modifikasi sesuai yang diinginkan. Pada software dibuat dengan sedemikian rupa dengan tujuan memudahkan pengguna, hardware dan software memerlukan penyesuaian sehingga dapat berkomunikasi dengan baik. Gambar 1.1 memperlihatkan diagram blok model yang akan dirancang.


(23)

Gambar 1.1. Diagram Blok Perancangan

c. Pembuatan hardware dan koneksi dengan software

Berdasarkan gambar 1.1 sistem akan bekerja saat pengguna menggerakkan mouse sebagai inputan ke lengan robot, mouse akan mengirimkan data analog ke software yang ada dalam komputer untuk diubah menjadi data digital yang akan diterima oleh Arduino kemudian Arduino mengirimkan data ke lengan robot sehingga lengan robot dapat digerakkan sesuai dengan kontroler mouse tersebut.

d. Proses pengambilan data

Pengambilan data dilakukan saat mouse menggerakkan per motor servo sebagai sendi pada lengan robot diukur ketepatan sudut dalam setiap pergeseran motor servo, jarak jangkauan lengan robot.

e. Analisis dan penyimpulan hasil percobaan

Analisis data dilakukan dengan mengecek data keluaran dari mouse dapat dibaca oleh Arduino sehingga komunikasi antara mouse dan lengan robot dapat berjalan dengan semestinya.

USB Mouse

MIKROKONTROLER


(24)

4

BAB II

DASAR TEORI

2.1. Arduino

Arduino adalah pengendali mikro single-board yang bersifat open source yang dirancang untuk memudahkan penggunaan barang elektronik dalam berbagai bidang. Hardwarenya mempunyai prosesor ATmega328P-PU pabrikan Atmel dan softwarenya memiliki bahasa pemrograman sendiri [2]. Arduino mempunyai sebuah konektor USB (Universal Serial Bus), konektor power dan tombol reset. Arduino memuat semua yang dibutuhkan untuk menunjang mikrokontroler, mudah menghubungkannya ke sebuah computer dengan sebuah kabel USB atau mensuplainya dengan sebuah adaptor. Kegunaan Arduino disini sebagai kontroler pembacaan input dari mouse dan menjadikan output ke motor servo yang ada di lengan robot.


(25)

Gambar 2.2 Tampilan IDE Arduino

Tabel 2.1 Keterangan Tombol Pada Tampilan IDE Arduino

No. Tombol Nama Fungsi

1 Verify

Menguji apakah ada kesalahan pada program atau sketch. Apabila sketch sudah benar, maka sketch tersebut akan dikompilasi. Kompilasi adalah proses mengubah kode program ke dalam kode mesin.

2 Upload Mengirimkan kode mesin hasil kompilasi ke board Arduino

3 New Membuat sketch yang baru

4 Open Membuka sketch yang sudah ada 5 Save Menyimpan sketch

6 Serial Monitor

Menampilkan data yang dikirim dan diterima melalui komunikasi serial.


(26)

IDE Arduino membutuhkan beberapa pengaturan yang digunakan untuk mendeteksi board Arduino yang sudah dihubungkan ke komputer. Beberapa pengaturan tersebut adalah mengatur jenis board yang digunakan sesuai dengan board yang terpasang dan mengatur jalur komunikasi data melalui perintah Serial Port. Kedua pengaturan tersebut dapat ditemukan pada pull down menu Tools.

Arduino memiliki beberapa kelebihan dibandingkan dengan platform elektronik lainnya [4]. Beberapa kelebihan arduino sebagai berikut :

a. Open Source

Hardware maupun software Arduino adalah open source. Artinya kita bisa membuat tiruan atau clone atau board yang kompatibel dengan board Arduino tanpa harus membeli board asli buatan Italy. Kalaupun kita membuat board yang persis dengan desain asli, kita tidak akan dianggap membajak (asalkan tidak menggunakan trade mark‘Arduino’).

b. Tidak memerlukan chip programmer

Chip pada Arduino sudah dilengkapi dengan bootloader yang akan menangani proses upload dari komputer. Dengan adanya bootloader ini kita tidak memerlukan chip programmer lagi, kecuali untuk menanamkan bootloader pada chip yang masih blank.

c. Koneksi USB

Sambungan dari komputer ke board Arduino menggunakan USB, bukan serial atau parallel port. Sehingga akan mudah menghubungkan Arduino ke PC atau laptop yang tidak memiliki serial/parallel port.

d. Fasilitas chip yang cukup lengkap

Arduino menggunakan chip AVR ATmega 168/328 yang memiliki fasilitas PWM, komunikasi serial, ADC, timer, interupt, SPI dan I2C. Sehingga Arduino bisa digabungkan bersama modul atau alat lain dengan protokol yang berbeda-beda.

e. Ukuran kecil dan mudah dibawa

Ukuran board Arduino cukup kecil, mudah di bawah kemana-mana bersama laptop atau dimasukan ke dalam saku.


(27)

f. Bahasa pemrograman relatif mudah

Walaupun bahasa pemrograman Arduino adalah bahasa C/C++, tetapi dengan penambahan library dan fungsi-fungsi standar membuat pemrograman Arduino lebih mudah dipelajari dan lebih manusiawi. Contoh, untuk mengirimkan nilai HIGH pada pin 10 pada Arduino, cukup menggunakan fungsi digitalWrite(10, HIGH); Sedangkan kalau menggunakan bahasa C aslinya adalah PORTB |=(1<<2);

g. Tersedia library gratis

Tersedia library yang sangat banyak untuk menghubungkan Arduino dengan macam-macam sensor, aktuator maupun modul komunikasi. Misalnya library untuk mouse, keyboard, servo, GPS, dsb. Berhubung Arduino adalah open source, maka library-library ini juga open source dan dapat di download gratis di website Arduino.

h. Komunitas open source yang saling mendukung

Software Linux, PHP, MySQL atau WordPress perkembangannya begitu pesat karena merupakan software open source dimana ada komunitas yang saling mendukung pengembangan proyek. Demikian juga dengan Arduino, pengembangan hardware dan software Arduino didukung oleh pencinta elektronika dan pemrograman di seluruh dunia. Contoh, interface USB pada Arduino Uno mengambil dari LUFA project. Library dan contoh-contoh program adalah sumbangan dari beberapa programmer mikrokontroler, seperti Tom Igoe, dsb.

2.1.1. Konfigurasi Pin ATmega328P-PU

Dalam penelitian ini menggunakan mikrokotroler tipe ATmega328P-PU, mikrokontroler ini sudah terintegrasi dengan board Arduino sehingga mudah untuk digunakan dan memiliki fitur-fitur yang sudah lengkap. ATmega328P-PU adalah sebuah mikrokontroller yang biasa dipakai pada modul mikrokontroller arduino. Ukuran flash memorinya yang cukup besar yaitu 32kb dapat memungkinkan kamu membuat project mikrokontroller dari yang termudah hingga cukup rumit tanpa harus khawatir kehabisan memori flash maupun ram[5]. Gambar konfigurasi pin ATmega328P-PU dapat dilihat pada gambar 2.3 :


(28)

Gambar 2.3 Konfigurasi Pin ATmega328P-PU[5]

ATmega328P-PU memiliki 3 buah Port utama yaitu port B, port C, dan port D dengan total pin input / output sebanyak 23 pin. port tersebut dapat difungsikan sebagai input/output digital atau difungsikan sebagai kelengkapan alat lainnya. Dari gambar diatas dapat dijelaskan kegunaan masing-masing pin pada ATmega328P-PU sebagai berikut :

1. VCC merupakan pin yang berfungsi sebagai input catu daya. 2. GND merupakan pin ground

3. Port B (portB0...portB5) merupakan jalur data 8 bit yang dapat difungsikan sebagai input/output. Selain itu port B memiliki fungsi khusus dapat dilihat pada tabel 2.2.

Tabel 2.2 Fungsi Khusus port B[5]

Pin Keterangan

PB0 ICP1 berfungsi sebagai timer counter 1 input capture pin

PB1 OC1A dapat difungsikan sebagai keluaran PWM (Pulse With Modulation) PB2 OC1B dapat difungsikan sebagai keluaran PWM (Pulse With Modulation), SS merupakan


(29)

Tabel 2.2 (Lanjutan) Fungsi Khusus port B

PB3

OC2A dapat difungsikan sebagai keluaran PWM (Pulse With Modulation), MOSI merupakan jalur komunikasi SPI SPI dan juga berfungsi sebagai jalur pemrograman

serial (ISP)

PB4 MISO merupakan jalur komunikasi SPI dan juga berfungsi sebagai jalur pemrograman serial (ISP)

PB5 SCK merupakan jalur komunikasi SPI dan juga berfungsi sebagai jalur pemrograman serial (ISP),

PB6 Pin reset

PB7 TOSC2 berfungsi sebagai sumber clock external untuk timer, XTAL2 merupakan sumber clock utama mikrokontroler

4. Port C (portC0...portC5) merupakan jalur data 7 bit yang dapat difungsikan sebagai input/ouput digital. Tabel 2.3 menunjukan fungsi khusus dari port C.

Tabel 2.3 Fungsi Khusus port C[5]

Pin Keterangan

PC0 ADC0 channel dengan resolusi 10 bit. ADC digunakan untuk mengubah input yang berupa tegangan analog menjadi data digital

PC1 ADC1 channel dengan resolusi 10 bit. ADC digunakan untuk mengubah input yang berupa tegangan analog menjadi data digital

PC2 ADC2 channel dengan resolusi 10 bit. ADC digunakan untuk mengubah input yang berupa tegangan analog menjadi data digital

Port C

12C merupakan salah satu fitur yang terdapat pada PORTC. I2C digunakan untuk komunikasi dengan sensor atau device lain yang memiliki komunikasi data tipe I2C

5. Port D (portD0...PortD7) merupakan jalur data 8 bit yang masing-masing pin juga dapat difungsikan sebagai input/output. Port C juga memiliki fungsi khusus sebagai berikut :

a. USART (TXD dan RXD) merupakan jalur data komunikasi serial dengan level sinyal TTL. Pin TXD berfungsi untuk mengirimkan data serial, sedangkan


(30)

RXD kebalikannya yaitu sebagai pin yang berfungsi untuk menerima data serial.

b. Interrupt (INT0 dan INT1) merupakan pin dengan fungsi khusus sebagai interupsi hardware. Interupsi biasanya digunakan sebagai selaan dari program, misalkan pada saat program berjalan kemudian terjadi interupsi hardware/software maka program utama akan berhenti dan akan menjalankan program interupsi.

c. XCK dapat difungsikan sebagai sumber clock external untuk USART, namun kita juga dapat memanfaatkan clock dari CPU, sehingga tidak perlu membutuhkan external clock.

d. T0 dan T1 berfungsi sebagai masukan counter external untuk timer 1 dan timer 0.

e. AIN0 dan AIN1 keduanya merupakan input untuk analog comparator.

2.2. Motor Servo

Motor servo adalah motor yang mampu bekerja dua arah searah jarum jam dan berlawanan arah jarum jam (CW dan CCW), dimana arah dan sudut pergerakan rotornya dapat dikendalikan hanya dengan memberikan pengaturan duty cycle sinyal PWM (Pulse Width Modulation) pada bagian pin kontrolnya [6]. Motor servo banyak digunakan pada peranti R/C (remote control) seperti mobil, pesawat, helikopter, dan kapal, serta sebagai aktuator robot maupun penggerak pada kamera.

2.2.1. Prinsip Kerja Motor Servo

Motor Servo akan bekerja secara baik jika pada bagian pin kontrolnya diberikan sinyal PWM (Pulse Width Modulation) dengan frekuensi 50Hz. Dimana pada saat sinyal dengan frekuensi 50Hz tersebut dicapai pada kondisi Ton duty cycle 1.5ms, maka rotor dari motor akan berhenti tepat di tengah-tengah (sudut 0° / netral) [6]. Pada saat Ton duty cycle dari sinyal yang diberikan kurang dari 1.5ms, maka rotor akan berputar ke arah kiri dengan membentuk sudut yang besarnya linier terhadap besarnya Ton duty cycle, dan akan bertahan diposisi tersebut. Dan sebaliknya, jika Ton duty cycle dari sinyal yang diberikan lebih dari 1.5ms, maka rotor akan berputar ke arah kanan dengan membentuk sudut yang linier pula terhadap besarnya Ton duty cycle, dan bertahan diposisi tersebut.


(31)

Gambar 2.4 Prinsip Kerja Motor Servo [7]

2.2.2. Micro Servo

Perancangan menggunakan micro servo sebagai penggerak bagian Gripper. Berikut adalah spesifikasi dari micro servo yang digunakan.[8]

 Ukuran : 21x12x22 mm / 0.74x0.42x0.78 in

 Tegangan : 3v ~ 6v

 Berat : 9g / 0.32oz

 Kecepatan : 0.12 sec/60(4.8V)

 Torsi : 1.6 kg-cm

 Temperatur kerja : -30C~60C

 Modulasi : Analog

 Tipe motor : 3-pole

 Tipe gir : Plastik

 Jangkauan rotasi : 180˚


(32)

Tabel 2.4 Tabel konfigurasi pin servo

Pin Keterangan

Oranye PWM

Merah VCC

Cokelat GROUND

2.2.3. Motor Servo Standar

Motor servo standar digunakkan pada bagian lengan robot selain pada griper seperti pada bagian base, shoulder, elbow. . Berikut adalah spesifikasi dari motor servo yang digunakan.[8]

 Torsi : 4.8V : 9.02 kg-cm

6.0V :10.22 kg-cm

 Kecepatan : 4.8V : 0.18 sec/60° 6.0V : 0.16 sec/60°

 Berat : 56.0 g

 Jarak Rotasi : 180°


(33)

2.3. USB Optical Mouse

Interface yang digunakan pada kontroler lengan robot menggunakan USB optical mouse. Mouse disini dipilih karena penggunaannya yang mudah dan yang terpenting plug and play pada semua perangkat komputer jaman sekarang. Mouse sendiri terdapat beberapa bagian yang mempunyai fungsi-fungsi tersendiri seperti tombol klik kanan, tombol klik kiri, tombol klik tengah, scroll dan optik sendiri sebagai sensor penggerak pointer. Tombol-tombol tersebut dapat dibaca oleh mikrokontroler.

Gambar 2.6 Konfigurasi Tombol Mouse

Paket data yang dikirimkan oleh mouse ke mikrokontroler seperti pada tabel 2.5 dan pada gambar 2.7 menunjukan data yang dikirimkan tiap fungsi pada mouse. Bagian mouse dapat dilihat pada gambar 3.2.


(34)

Tabel 2.6 Data Biner Mouse

Bagian Mouse Data Hexa Data Biner

Klik Kanan 02000000

0000 0010 0000 0000 0000 0000 0000 0000

Klik Kiri 01000000 0000 0001 0000 0000

0000 0000 0000 0000

Middle Button 04000000 0000 0100 0000 0000

0000 0000 0000 0000

Scroll Up 00000001 0000 0000 0000 0000

0000 0000 0000 0001

Scroll Down 000000FF

0000 0000 0000 0000 0000 0000 1111 1111

Geser X - 00FF0F00 0000 0000 1111 1111

0000 1111 0000 0000

Geser X + 00010000 0000 0000 0000 0001

0000 0000 0000 0000

Geser Y - 00001000

0000 0000 0000 0000 0001 0000 0000 0000

Geser Y + 0000F0FF 0000 0000 0000 0000

1111 0000 1111 1111

2.4. USB Host Shield

USB host shield berfungsi untuk berkomunikasi melalui USB ke perangkat arduino. Contoh dari penggunaan USB host shield seperti : kita dapat menerima masukan dari USB mouse/keyboard (Human Input Device / HID). USB host shield menggunakan IC kontroler MAX3421E, MAX3421E dapat digunakan untuk mengakses perangkat USB mass storage. Arduino melakukan komunikasi dengan MAX3421E menggunakan SPI bus (melalui header ICSP) melalui pin 10,11,12, dan 13 pada ATmega328P [10].


(35)

Gambar 2.7 Konfigurasi board USB host shield[10]

2.4.1. Serial Peripheral Interface (SPI)

Serial Peripheral Interface (SPI) adalah protokol data serial sinkron digunakan oleh mikrokontroler untuk berkomunikasi dengan satu atau lebih perangkat peripheral cepat jarak pendek. Hal ini juga dapat digunakan untuk komunikasi antara dua mikrokontroler. Dengan koneksi SPI selalu ada perangkat satu master (biasanya mikrokontroler) yang mengontrol perangkat peripheral.

Serial Peripheral Interface ( SPI ) merupakan salah satu mode komunikasi serial synchrounous kecepatan tinggi yang dimiliki oleh ATmega328. Komunikasi SPI membutuhkan 3 jalur yaitu MOSI, MISO, dan SCK. Melalui komunikasi ini data dapat saling dikirimkan baik antara mikrokontroller maupun antara mikrokontroller dengan peripheral lain di luar mikrokontroller.

SPI bus dapat dioperasikan dengan sebuah perangkat single master dan dengan satu atau lebih perangkat slave. [11] Untuk memulai komunikasi, bus master mengkonfigurasi


(36)

clock, menggunakan frekuensi yang didukung oleh perangkat slave, biasanya hingga beberapa MHz. Master kemudian memilih perangkat slave dengan logika level 0 pada select line. Jika masa tunggu diperlukan, seperti untuk konversi analog ke digital, master harus menunggu setidaknya periode waktu sebelum mengeluarkan clock cycle.

Selama setiap siklus clock SPI, sebuah transmisi data full duplex (dua arah) terjadi. Master mengirimkan satu bit pada garis MOSI dan slave membacanya, sementara slave mengirimkan satu bit pada garis MISO dan master membacanya. Urutan ini dipertahankan bahkan ketika hanya transfer data satu arah. Dalam komunikasi SPI hanya 1 bagian yang mengirimkan clock yang mana akan disebut master dan bagian lainya disebut slave.

Dalam SPI, hanya satu sisi menghasilkan sinyal clock (biasanya disebut CLK atau SCK untuk Serial Clock). Sisi yang menghasilkan clock disebut "master", dan sisi lain disebut "slave". Selalu ada hanya satu master (yang hampir selalu mikrokontroler), tetapi bisa ada beberapa slave. [12]

Ketika data dikirim dari master ke slave, data tersebut dikirim pada garis data yang disebut MOSI (Master Out/ Slave In). Jika slave harus mengirim respon kembali ke master, master akan terus menghasilkan sejumlah siklus clock yang diatur sebelumnya, dan slave akan menempatkan data ke baris data yang ketiga yang disebut miso (Master In/Slave Out).[12]


(37)

Pin atau kaki SS (slave select) merupakan pin yang berfungsi untuk mengaktifkan slave sehingga pengiriman data hanya dapat dilakukan jika slave dalam keadaan aktif (active low). Dari gambar diagram SPi diatas anda sudah bisa membayangkan bagaimana cara SPI mentransfer data antara Master dan slave. Intinya ada di register geser 8 bit. Tiap clock dari SCK akan mempertukarkan 1 bit data , jadi untuk mempertukarkan register di master dan slave perlu 8 kali clock. contoh konkritnya begini: data di register geser master adalah 1111 1111 data di register gaser slave adalah 0000 0000[13].

Gambar 2.9 Kondisi awal transfer data[13]

kemudian pada clock pertama dan kedua isi register berpindah sebagai berikut :


(38)

Setelah 8 kali clock data berpindah:

Gambar 2.11 Data berpindah penuh[13]

2.5. Komunikasi USB

USB yang merupakan singkatan dari Universal Serial Bus, gunanya untuk mentransmsikan data dari portable luar ke perangkat lain kemudian di proses lebih lanjut. Kabel USB memiliki 4 jalur kabel yang memiliki fungsi tidak sama.

Jalur pertama berwarna merah sebagai pembawa suplai tegangan +5V (VCC), jalur kedua berwarna putih sebagai pembawa sinyal data (+), jalur ketiga berwarna hijau sebagai pembawa sinyal data (-), kemudian jalur keempat berwarna hitam sebagai ground.

Gambar 2.12. Konfigurasi kabel USB [14]

Ada beberapa kondisi sinyal dari USB, yang terbentuk dari kabel D+ dan D-. Perbedaan dari kondisi tersebut adalah:


(39)

a) Detached

Ketika tidak ada perangkat USB yang tersambung maka D+ dan D- akan low seperti pada Gambar 2.13.

Gambar 2.13 Detached State [15] b) Attached

Ketika perangkat tersambung ke host, maka host akan melihat D+ dan D- pada level ‘1’, dan mengetahui bahwa perangkat telah terhubung. Sinyal level ‘1’ pada D- untuk perangkat low speed dan pada D+ untuk perangkat high speed. Pada Gambar 2.14 merupakan kondisi attached.

Gambar 2.14 Attached State [15] c) Idle

Keadaan ketika garis pulled up dalam keadaan high, dan garis lain low, terlihat pada Gambar 2.15. Keadaan ini terjadi sebelum dan sesudah paket data terkirim.

Gambar 2.15 Idle State [16]

d) Kondisi-kondisi lain dapat dilihat pada Tabel 2.7 dan contoh pengiriman data USB pada Gambar 2.16.


(40)

Gambar 2.16. Contoh Pengiriman Data USB [17] Tabel 2.7 State pada Koneksi USB [15]


(41)

2.6. Sistem Kontroler Lengan Robot

Sistem kontrol loop terbuka yang digunakan pada sistem kontrol lengan robot yang penulis gunakan. Sistem kontrol loop terbuka adalah suatu sistem yang keluarannya tidak mempunyai pengaruh terhadap aksi kontrol. Artinya, sistem kontrol terbuka keluarannya tidak dapat digunakan sebagai umpan balik (feedback) dalam masukkan. Dalam suatu sistem kontrol terbuka, keluaran tidak dapat dibandingkan dengan masukan acuan. Jadi, untuk setiap masukan acuan berhubungan dengan operasi tertentu, sebagai akibat ketetapan dari sistem tergantung kalibrasi. Sistem kontrol terbuka dapat digunakan hanya jika hubungan antara masukan dan keluaran diketahui dan tidak terdapat gangguan internal maupun eksternal [18].

Sistem kontrol lengan robot ini mempunyai 3 bagian proses utama, yaitu membaca masukan (mouse), memproses data masukan, mengirim data keluar sebagai sinyal ke aktuator (micro servo).

Kontroler

Mouse Lengan Robot

Gambar 2.17 Sistem open loop pada lengan robot

2.6.1.

Jangkauan Lengan Robot

Untuk menghitung jangkauan kerja dari lengan robot maka digunakan persamaan trigonometri untuk menyelesaikannya. Setiap komponen dalam koordinat (x,y,z) dinyatakan sebagai transformasi dari tiap-tiap komponen ruang sendi (r,θ). Jari-jari r dalam persamaan sering ditulis sebagai panjang lengan atau link l. Untuk koordinat 2D komponen z dapat tidak dituliskan.[19] Pada Gambar 2.18 ditunjukkan konfigurasi lengan robot untuk perhitungan trigonometri.


(42)

Gambar 2.18. Konfigurasi perhitungan jangkauan lengan robot Ujung dari lengan dinyatakan sebagai P(x,y),[19]

P(x,y)=f( , ) ...(2.1) Jika P diasumsikan sebagai verktor penjumlahan yang terdiri dari vektor lengan-1 dan lengan-2,[19]

=[ cos , sin ] ...(2.2) =[ cos ( + ), sin ( + )] ...(2.3) maka

x= cos + cos ( + ) ...(2.4) y= sin + sin ( + ) ...(2.5) Persamaan (2.4) dan (2.5) adalah persamaan kinematik maju dari lengan robot.[19]

2.7

. Link Pengerak Prinsip Tuas

Tuas (lever,dalam Bahasa Inggris) atau pengungkit adalah salah satu pesawat sederhana yang digunakan untuk mengubah efek atau hasil dari suatu gaya. Hal ini dimungkinkan terjadi dengan adanya sebuah batang ungkit dengan titik tumpu (fulcrum), titik gaya (force), dan titik beban (load) yang divariasikan letaknya.[26] tuas dapat dibedakan atas 3 kelas yaitu:

1. Kelas pertama yaitu titik tumpu (T) berada di tengah, diantara lengan kuasa (Lk) dan lengan beban (Lb).

2. Kelas kedua yaitu lengan beban berada di antara titik tupu dan lengan kuasa.

3. Kelas ketiga yaitu lengan kuasa berada di antara lengan beban dan titik tumpu.


(43)

Gambar 2.19 Prinsip kerja tuas

Prinsip kerja tuas kelas pertama ditunjukkan pada gambar 2.19 dari gambar tersebut dapat diperjelas dengan rumus berikut:

W . Lb = F . Lk ...(2.6) Keterangan :

W = berat beban

Lb = panjang lengan beban F = gaya yang diberikan L = panjang lengan kuasa

Prinsip kerja tuas akan ditemukan pada link penggerak yang mana digunakan untuk meringankan beban motor dalam mengangkat beban.

2.8.

Sudut Bangun Segi 4

Perhitungan sudut segi 4 dibutuhkan untuk analisa gerak lengan robot yang mana dalam bergerak menggunakan link-link pembantu. Link-link ini berguna untuk

meringankan beban motor yang digunakan sekaligus agar gripper tetap berada pada posisi horisontal. Persamaan sudut segi-n dapat ditunjukkan pada persamaan di bawah ini:


(44)

Gambar 2.20 Sudut-sudut yang dimiliki oleh bangun datar segi 4

Dari gambar 2.20 kita dapat menemukan berapa besar sudut dan cara menghitung sudut pada segi 4.

Segi 4 = (4-2) x 180˚ = 360˚

Jadi dapat dikatakan bahwa jumlah dari sudut a,b,c,d pada masing-masing bangun datar segi 4 yang ditunjukkan pada gambar 2. adalah 360˚.

2.8. FTDI FT232RL

FTDI FT232RL adalah modul konversi sinyal USB ke sinyal TTL/UART (USB to TTL Converter) yang andal dan praktis untuk digunakan pada rangkaian elektronika berbasis mikrokontroler, dengan demikian perangkat mikrokontroler bisa berkomunikasi lewat standar USB.


(45)

Pada gambar 2.21 terlihat modul FTDI Basic Breakout FT232RL. Modul ini difungsikan sebagai USB-to-Serial Adapter yang mana digunakan sebagai USB-to-Serial Adapter yang mana digunakan sebagai alat pemograman ke mikrokontroler dari komputer. Konektor USB yang terpasang adalah konektor tipe mini-B female. Secara default, modul ini bekerja pada tegangan 5V tetapi dapat juga bekerja pada tegangan 3,3V dengan penyesuaian rangkaian power supply-nya.

IC FT-232 digunakan sebagai IC konverter dari 232 ke 485. IC ini terdiri dari 28 pin, oleh pabrikannya pin-pin IC nya dibagi empat grup besar yaitu USB interface group (Tabel 2.8), Power dan Ground (Tabel 2.9), Miscellaneous signal group (Tabel 2.10), UART interface dan CBUS group yang dikelompokkan pada bebarapa tabel dibawah ini[21].

Tabel 2.8 USB Interface Group[22] Nomor Pin Nama Tipe Keterangan

14 USBDP I/O USB data signal plus

15 USBDM I/O USB data signal minus

Tabel 2.9 Power dan Ground Group[22]

Nomor Pin Nama Tipe Keterangan

1 VCCIO PWR

Supply untuk UART interface dan CBUS dengan range +1.8V sampai +5.25V

4, 17, 20 GND PWR Ground

16 3V3 OUT OUT

Keluaran tegangan sebesar +3.3V. Dikopling dengan kapasitor 100nF ke ground

19 VCC PWR +3.3V sampai 5.25V untuk supply core


(46)

Tabel 2.10 Miscellanous Signal Group[22]

Nomor Pin Nama Tipe Keterangan

5, 12, 13, 23, 25, 29 NC NC Tidak tersambung

18 Reset Input Active low reset. Jika tidak digunakan disambung ke VCC.

26 Test Input Disambung ke GND untuk test mode

27 OSC1 Input Input 12MHz oscillator cell


(47)

27

Bab III

PERANCANGAN PENELITIAN

3.1. Proses Kerja Sistem

Perancangan sistem ini meliputi beberapa bagian yang dapat ditunjukan pada gambar 3.1. Bagian-bagian perancangan meliputi minimum sistem mikrokontroller, USB host shield, desain lengan robot, micro servo dan interface dengan mouse. Minimum sistem mikrokontroler ATmega328 pada perancangan ini sudah menggunakan sistem minimun jadi pengaturan gerakan lengan robot dapat di program sesuai dengan kebutuhan. Proses pertama kali pada pergerakan lengan robot diawali dengan bergeraknya micro servo pada posisi nol dan saklar on. Sistem bekerja pada saat pengguna mengoperasikan fungsi-fungsi mouse untuk menggerakan lengan robot dengan leluasa.

Mikrokontroler akan mengendalikan micro servo yang diaplikasikan pada lengan robot setelah menerima data masukan dari mouse sebgai interface. Mouse mengirimkan data masukan ke mikrokontroler dengan bantuan USB host shield yang berfungsi menampilkan data digital untuk kemudian diolah oleh mikrokontroler. Tombol-tombol pada mouse mempunyai fungsi masing-masing untuk menggerakkan setiap micro servo terdapat pada lengan robot. Bagian-bagian robot seperti pada gambar 3.2.

Gambar 3.1 Blok Diagram Proses Sistem

USB host Shield

MinSis ATmega328


(48)

Gambar 3.2 Bagian-bagian Lengan Robot

3.2. Perancangan Perangkat Keras

Bagian-bagian utama dalam perancangan perangkat keras, yaitu : a. Minimum sistem ATmega328

b. Fungsi Tombol Mouse

c. Desain kerangka lengan robot

3.2.1. Minimum Sistem ATmega328

Rangkaian minimum sistem merupakan rangkaian dasar yang harus dimiliki oleh mikrokontroler supaya dapat diprogram. Rangkaian minimum sistem sederhana dengan tambahan IC USB To Serial converter yang terhubung ke port serial mikrokontroler [23]. IC ini digunakan sebagai jalur komunikasi antara komputer atau perangkat lain seperti mouse dengan mikrokontroler. Mikrokontroler membutuhkan sistem minimum yang terdiri dari rangkaian eksternal yaitu rangkaian osilator dan rangkaian reset.

Buka/Tutup

GRIPPER ELBOW

SHOULDER


(49)

Gambar 3.3. Rangkaian Minimum Sistem

Port-port yang digunakan pada minimum sistem hanya yang diperlukan sesuai kebutuhan dapat diprogram. Port yang digunakan berfungsi membaca data masukan dari USB host shield yang dimana terhubung dengan mouse sebagai interface, sebagai downloader program kontrol lengan robot, keluaran ke micro servo. Tabel penggunaan port di tampilkan pada tabel 3.1

Tabel 3.1 Port-port pada mikrokontroler

No Nama Port Keterangan

1 Port_icsp01 SCK

2 Port_icsp02 MISO

3 Port_icsp03 MOSI


(50)

5 Port_D03 Output servo_02

6 Port_D04 Output servo_03

7 Port_D05 Output servo_04

8 Port_D01 TX

9 Port_D0 RX

USB Host Shield pertama-tama membutuhkan power supply dari mikrokontroler agar dapat bekerja. Dalam mengirim data dari shield ke mikrokontroler digunakan komunikasi SPI (pada ICSP header). Pada Gambar 3.4 terlihat bahwa shield mengirim data ke mikrokontroler.

Gambar 3.4 Koneksi Antara USB Host Shield Dan Mikrokontroler

3.2.2. Fungsi Tombol Mouse

Pada perancangan ini mouse yang digunakan mempunyai fungsi tiap bagian.Bagian yang digunakan dapat dijelaskan pada tabel 3.2 dan fungsi-fungsi bisa dilihat pada gambar 3.5 untuk lebih memperjelas bagian-bagian lengan robot pada ganbar 3.2.

Tabel 3.2 Fungsi Mouse

Fungsi Mouse Keterangan

Klik Kiri Menggerakkan griper menutup

Klik Kanan Menggerakkan griper terbuka

Middle button + Geser Y(-) Menggerakkan elbow turun Middle button + Geser Y(+) Menggerakkan elbow naik

mikrokontroler MOSI MISO SCK Reset GND +5V


(51)

Tabel 3.2 (Lanjutan) Fungsi Mouse

Fungsi Mouse Keterangan

Geser X - Menggerakkan base ke kiri

Geser X + Menggerakkan base ke kanan

Geser Y- Menggerakkan shoulder naik

Geser Y + Menggerakkan shoulder turun

Gerak X -Gerak X +

Gerak Y -Gerak Y +

Gambar 3.5. Gerakan Mouse

3.2.3. Desain Lengan Robot

Rancangan lengan robot menggunakan rancangan dari Lite Arm Robot i2 yang merupakan desain yang bersifat open source dan legal [24]. Desain tersebut sangat cocok dalam pembuatan tugas akhir ini karena membantu sekali dalam mengaplikasikan kontroler yang akan dibuat. Kelebihan desain ini lengan robot ketika sudah dibuat berukuran kecil sehinggga bisa untuk dipergunakan dalam ruangan yang tidak terlalu besar dan juga bisa untuk modul pembelajaran tentang robotika. Desain awal dapat ditunjukan pada gambar 3.6 dan gambar 3.7


(52)

Gambar 3.6. Desain Awal Lengan Robot[24]


(53)

1. Desain Griper

Desain griper seperti pada Gambar 3.8 adalah desain griper yang dapat membuka dan menutup untuk menjepit benda. Griper ini digerakkan oleh satu motor mikro servo yang terhubung menggunakan link ke salah satu penjepit. Untuk membuat kedua penjepit bergerak bersamaan dengan satu motor servo saja maka pada bagian pangkal penjepit didesain seperti roda gigi sehingga saling terhubung satu sama lain.

Gambar 3.8 Desain Griper[25] 2. Sudut Pergerakan

Setiap motor micro servo yang digunakan memiliki kemampuan dapat berputar

sebesar 180˚, sehingga seharusnya setiap sendi dari lengan robot termasuk griper dapat bergerak bebas secara rotasi sebesar 180˚.

3.2.4. Jangkauan Lengan Robot

Untuk melakukan perhitungan jangkauan lengan robot menggunakan persamaan (2.4) dan (2.5). Perhitungan ini diperlukan posisi sudut yang berbeda. Letak l1 dan l2 pada lengan robot ditunjukkan pada Gambar 3.7.

Panjang lengan l1: 14,3 cm Panjang lengan l2: 15,5 cm


(54)

Gambar 3.9. Perhitungan Jangkauan Lengan Robot

Gambar 3.10 Jangkauan Maksimal Horisontal = 0 ; = -40

x= cos + cos ( + ) x=14,3 cos 5 + 15,5 cos (5-40) x= 26,9 cm

y= sin + sin ( + ) y= 14,2 sin 5 + 15,3 sin (5-40) y= -7,6 cm


(55)

Terlihat telah didapat jangkauan terjauh secara vertikal dan horisontal. Pada jarak terjauh horisontal nilai Y negatif, nilai ini dikarenakan titik 0 berada pada titik motor servo shoulder.

Selain posisi X dan Y dari lengan robot, ada juga posisi sudut pergerakan lengan robot yang lain yang dapat dijelaskan dengan gambar tiap bagian lengan robot. Hasil pergerakan sudut ini berdasarkan simulasi desain menggunakan softwareSolidworks. Hasil simulasi ini memperoleh batasan-batasan kondisi pergerakan dari lengan robot.

1. Shoulder

Gerakan sudut dari shoulder tidak memiliki perbedaan antara sudut yang dibuat motor dengan sudut yang terbentuk oleh lengannya. Hal ini karena poros lengan langsung terhubung dengan motor servo. Bagian lengan ini dapat bergerak 180˚. 2. Elbow

Pada elbow terjadi konversi perubahan sudut antara motor servo dan lengan.

Dari hasil simulasi lengan membuat sudut 53˚ ternyata motor membutuhkan gerakan 118˚. Jadi diperoleh perbandingan putaran sudut antara motor servo dan

sudut lengan adalah 1: 0,45 derajat

.

Gambar 3.11 Pergerakan Sudut Elbow

Lengan elbow ini memiliki batasan-batasan pergerakan yang berkaitan dengan lengan shoulder. Dari gambar 3.11 lengan elbow dapat melakukan pergerakan sudut paling besar yakni 60˚. Ketika shoulderpada posisi dibawah 90˚, pergerakan elbow dibatasi oleh link 1 sehingga hanya bisa membuat sudut <60˚. Begitu juga


(56)

ketika shoulder pada posisi di atas 90˚, pergerakan elbow dibatasi oleh link 1 dan juga lantai dasar.

3. Griper

Gambar 3.12 Pergerakan Sudut Gripper[25]

Untuk melakukan gerakan membuka dan menutup (pada Gambar 3.10) hanya

diperlukan gerakan 90˚ oleh roda gigi, namun perputaran roda gigi tidak linier dengan perputaran sudut motor servo, dari 90˚ putaran roda gigi didapat 38˚

putaran sudut pada motor servo. Jadi diperoleh perbandingan putaran sudut antara motor servo dan roda gigi adalah 1: 2,37 derajat.

4. Base

Gambar 3.13 Pergerakan Sudut Base

Pada bagian ini motor servo dapat bergerak bebas 180˚ seperti terlihat pada Gambar 3.13.


(57)

3.3. Perancangan Perangkat Lunak

3.3.1. Flowchart Utama

Flowchart utama menunjukan program utama yang ada dalam proses kerja secara keseluruhan, dapat dilihat pada gambar 3.14. Program utama dimulai dengan menghidupkan sumber tegangan (power supply) atau tombol power ON yang kemudian melakukan inisialisasi register sebagai tempat penyimpanan data lalu inisialisasi input/output. Dan selanjutnya mikrokontroler mengatur micro servo ke posisi awal untuk dapat melanjutkan proses selanjutnya pembacaan input dari mouse yang kemudian menggerakan micro servo sebagai outputnya. Proses kerja sistem akan bekerja terus menerus dari pembacaan input dan eksekusi ke output hingga tombol power OFF dan sistem selesai.

Mulai Inisialisasi Register dan I/O

Selesai Lengan Robot ke Posisi Awal Input dari Mouse Pengolahan data mouse Output ke motor servo Gambar 3.14 Flowchart Utama

Pada gambar 3.15 menunjukan proses yang lebih detil dalam proses utama dalam bentuk flowchart. Menjelaskan setiap alur proses dari fungsi tiap – tiap tombol mouse yang digunakan.


(58)

MULAI GERAK X -GERAK X + GERAK Y -GERAK Y + KLIK KIRI KLIK KANAN SCROLL UP SCROLL DOWN

SERVO 1 CCW Sudut =0º

SERVO 4 CW Sudut =180º SERVO 4 CCW

Sudut =0º SERVO 3 CW

Sudut =180º SERVO 3 CCW

Sudut =0º SERVO 2 CW

Sudut =180º SERVO 2 CCW

Sudut =0º SERVO 1 CW

Sudut =180º

SELESAI

YA YA YA YA YA YA YA YA

YA TIDAK TIDAK TIDAK TIDAK TIDAK TIDAK TIDAK


(59)

39

BAB IV

HASIL DAN PEMBAHASAN

Pada bab ini hasil implementasi alat beserta dengan pembahasan dibagi menjadi dua bagian yaitu hasil perancangan pada perangkat keras (Hardware) dan hasil perancangan pada perangkat lunak. Hasil implementasi kontroler lengan robot dengan kendali mouse berbasis mikrokontroler ATmega328 ini secara keseluruhan sudah sesuai dengan perancangan pada BAB III.

4.1.

Hasil Perancangan Hardware

Perangkat keras pada kontroler lengan robot dengan kendali mouse terdiri atas dua bagian yaitu : rancangan lengan robot danrangkaian elektrik (kontroler). Perancangan lengan robot sesuai dengan model rancangan dari lite arm i2 dengan sedikit modifikasi pada bagian gripper, terdiri dari 4 bagian lengan robot seperti Base, Shoulder, Elbow dan Gripper. Kemudian pada kontroler terdapat USB Host Shield dan minimum sistem ATmega328 sebagai penghubung USB mouse, dimana mouse tersebut berfungsi sebagai interface nya. Hasil perancangan perangkat keras dapat dilihat pada gambar 4.1.


(60)

Pada gambar 4.2 menunjukan bagian-bagian lengan robot yang terdiri dari Base, Shoulder, Elbow dan Griper, selain itu terdapat juga link pembantu pada mekanik lengan robot yaitu : link gripper dan link elbow dimana link griper mempunyai jumlah dua, lebih jelasnya dapat dilihat keterangan pada tabel 4.1.

Gambar 4.2 Bagian Keseluruhan Lengan Robot Tabel 4.1 Keterangan Bagian Lengan Robot

No. Nama Bagian

1 Base

2 Shoulder

3 Elbow

4 Griper

5 Link Griper 1

6 Link Griper 2

7 Tempat Rangkaian Elektrik

8 Link Elbow

Desain lengan robot ini menempatkan 3 buah motor servo standar pada bagian bawah yang berfungsi agar tidak membebani kerja motor servo yang lain dikarenakan motor servo standar mempunyai beban 56gr, pada bagaian atas atau pada griper terpasang 1 micro servo dengan beban 9gr. Penempatan tiap motor servo ditunjukan pada gambar 4.3.


(61)

Ganbar 4.3 Letak Motor Servo

Pada kontroler terdapat bebrapa rangkaian elektrik yang berfungsi mengatur putaran motor servo pada lengan robot seperti pada gambar 4.4.


(62)

Pada gambar 4.5 menampilkan hasil rangkaian elektronik Minimum sistem ATmega328, dimana ATmega328 berfungsi sebagai otak dari pengendalian lengan robot dengan kendali mouse. Bentuk fisik minimum sistem menggunakan banyak port I/O namun tidak semua dari port tersebut digunakan koneksinya melainkan hanya digunakan sebagai penopang USB Host Shield. Port yang digunakan hanyalah ICSP dan Power, Gnd, dan 4 digital output.

Gambar 4.5 Rangkaian Minimum Sistem ATmega328

Minimum sistem ATmega328 dan USB host shield dipasang secara bertumpuk sehingga mudah untuk dipasang pada tempat yang tersedia pada lengan robot karena tidak banyak memakan tempat. USB host shield kompetibel untuk Arduino uno dan Arduino mega, oleh karena itu port-port minimum sistem Atmega 328 dibuat persis dengan arduino uno sehingga dapat dipasang seperti pada gambar 4.6. Minimum sistem, USB host shield, dan juga motor servo menggunakan tegangan 5 V yang berasal dari adaptor. Gambar 4.7 menunjukkan penempatan dan koneksi elektrik antara motor servo, minimum sistem, USB host shield, dan power dari adaptor.


(63)

Gambar 4.6 Pemasangan USB Host Shield dengan Minimum sistem ATmega328

4.2. Hasil Pengujian Hardware

4.2.1. Pengujian Ketepatan Sudut Lengan Robot

Pada bab III motor servo dikatakan mampu berputar hingga 180° namun pada pengujian didapat hasil yang berbeda dari spesifikasi yang sebenarnya, hasil pengujian ketepatan sudut dapat dilihat pada tabel. Semua pengambilan data yang diambil dengan sudut kelipatan 5˚ untuk decrement maupun increment sudut melalui program. Kelipatan 5˚ ini dianggap sudah cukup detil untuk sudut 0-180˚, jika dari minimal sampai maksimal sudut terhitung ada 36 pergerakan.

1. Base

Pada motor base seharusnya mampu berputar hingga 180° namun karena terdapat batasan pada hardware sehingga motor servo tidak dapat berputar secara maksimal. Berikut pengujian yang dilakukan terhadap sendi base dengan mengukur secara aktual sudut yang terjadi dan dibandingkan dengan perintah yang kirim melalui program yang mana dapat dilihat secara detail melaui serial monitor pada software arduino. Data yang


(64)

diambil berjumlah 5 yang mana menggunakan kelipatan 45˚ dalam pengambilan data. Hasil pengambilan data dapat dilihat pada tabel 4.2.

Tabel 4.2 Tabel Pengujian Sudut Sendi Base

Nama Sendi Sudut pada Servo(serial monitor) Sudut aktual Selisih sudut

Base 0° 0° 0°

45° 42° 3°

90° 85° 5°

135° 131° 4°

180° 173° 7°

Dari tabel 4.2 yang disajikan terlihat ternyata spesifikasi dan juga program yang diperintahkan berbeda dengan output yang terjadi, dari output dapat dilihat bahwa sudut maksimal dari motor servo hanya 173˚.


(65)

Sudut aktual dari pengukuran dan sudut dari serial monitor dibandingkan oleh grafik pada gambar 4.7. Grafik memperlihatkan bahwa sebenarnya hanya sedikit perbedaan yang terjadi. Dapat disimpulkan bahwa 1˚ pada serial monitor setara dengan 0,967˚ sudut aktual. 2. Shoulder

Pada sendi shoulder data yang diambil dilakukan pengambilan data sebanyak 5 kali seperti pada sudut base dengan kelipatan tiap sudut 45°. Hasil pengambilan data yang ditampilkan pada tabel 4.3.

Tabel 4.3 Tabel Pengujian Sudut Shoulder

Nama Sendi Sudut pada Servo(serial monitor) Sudut aktual Selisih sudut

Shoulder 0° 0° 0°

45° 41° 4°

90° 84° 6°

135° 130° 3°

170° 166° 4°

Pada motor servo Shoulder hanya mampu mencapai sudut maksimal sebesar 170° dikarenakan keterbatasan rangka lengan robot sudah bertabrakan. Dari sudut maksimal yang dapat diinput ternyata hanya dapat terbentuk pada sudut 166˚ yang aktual. Jika dihitung berarti setiap 1˚ input maka akan terbentuk 0,98˚ pada aktualnya. Pada sudut ini sudah merupakan sudut yang cukup akurat karena hanya terjadi pergeseran sekitar 0,02˚. Gambar 4.8 amenampilkan grafik antara sudut yang diinput dengan sudut yang terbentuk pada sendi shoulder.


(66)

Gambar 4.8 Grafik sudut shoulder 3. Elbow

Pada bagian sendi elbow menggunakan metode penggerak tuas untuk menggerakkan sendinya, jadi motor tidak langsung menggerakkan sendinya seperti pada bagian lengan robot yang lain. Bagian sendi elbow menggunakan link pembantu sehingga desain motor bisa berada di bawah berdampingan dengan motor shoulder. Dalam hal ini link pembantu juga menggunakan prinsip sudut segi 4 sehingga sudut yang dibentuk oleh motor servo sama dengan sudut yang terjadi pada sendi elbow. Berikut tabel 4.4 yang berisi hasil pengambilan data.

Tabel 4.4 Tabel Pengujian Sudut Elbow

Nama Sendi Sudut pada Servo(serial monitor) Sudut aktual Selisih Sudut

Elbow (Shoulder 55°) 35° 35° 0°

65° 63° 2°

95° 91° 4°

125° 120° 5°

155° 145° 10°


(67)

Data yang diambil sebanyak 6 data dengan kelipatan untuk setiap sudut 30°, sehingga pada sendi elbow data yang dapat diambil dari sudut minimal ke sudut maksimal. Sudut input minimal hanya bisa mencapai 35˚ karena penggerak elbow sudah mencapai batas maksimal hardware dengan motor servo penggerak base. Sedangkan untuk sudut maksimalnya hanya terbatas pada sudut input 165˚. Hal ini juga karena keterbatasan rancangan hardware antara link penggerak elbow dan lengan shoulder.

Gambar 4.9 Grafik Data perbandingan sudut input dan sudut aktual sendi Elbow Sendi elbow mengalami pergeseran pada sendi input dan aktual yang lebih besar dari yang lainnya khususnya pada sudut maksimal. Pada input sudut 1˚ membentuk sudut 0,88° pada sudut aktualnya. Hal ini terjadi karena baut penghubung pada link-link penggerak yang kurang sempurna menyebabkan terjadinya pergeseran sudut. Gambar 4.9 menunjukkan grafik pergeseran dan perbedaan antara sudut input dan sudut aktual yang diukur terlihat pergeseran cukup besar pada sudut maksimal.

4. Gripper

Pada bab III telah dijelaskan bahwa gripper difungsikan untuk membuka dan menutup saja dengan gerakan roda gigi 90°. Namun putaran roda gigi gripper tidak linier dengan putaran motor servo, yang menurut bab III berdasarkan simulasi diperoleh

perbandingan 1: 2,37˚. Pada hasil pengambilan data gripper membuka dan menutup hanya dengan gerakan motor servo 45˚ saja. Dan roda gigi gripper telah membentuk 95˚. Data


(68)

yang diambil dapat dilihat pada tabel 4.5. Jadi dapat dibuat perbandingan dari pengambilan data ini yakni sudut motor servo dan sudut aktual adalah 1: 2,11˚.

Tabel 4.5 Tabel Pengujian Sudut Gripper

Nama Sendi Sudut pada Servo

(serialmonitor) Sudut aktual

Gripper

0 ˚ 0 ˚

10 ˚ 40 ˚

20 ˚ 65 ˚

30 ˚ 83 ˚

35 ˚ 105 ˚

4.2.2. Pengujian Kinematika Lengan Robot

Pengujian kinematika lengan robot didasarkan pada perancangan pada bab 3 yakni menggunakan sumbu x dan y untuk menentukan posisi. Pengambilan data dimulai dengan sudut shoulder paling minimal kemudian mengubah sudut elbow ke minimal sampai maksimal kemudian akan diambil titik x dan y. Kemudian dilanjutkan dengan sudut shoulder yang lebih besar hingga ke maksimal. Data yang akan diambil akan dibatasi oleh rancangan hardware paling bawah sebagai batas bawah. Hasil dari x dan y tersebut kemudian dibandingkan dengan hasil perhitungan menggunakan rumus forward kinematika. Pengambilan data pada lengan robot dapat dilihat pada gambar 4.10.


(69)

Tabel 4.6 Data Forward kinematik lengan robot Shoulder Elbow X Aktual Y Aktual X Perhitungan Y Perhitungan Sudut Servo Sudut Aktual Θ1 Sudut Min Max Servo Sudut Min Max Aktual Θ2

15 ˚ 5 ˚

40 ˚ 15 ˚ 29 -1 29,51 -1,45

50 ˚ 21 ˚ 28,8 -2,4 29,15 -3,03

60 ˚ 29 ˚ 28,1 -4,5 28,41 -5,06

70 ˚ 35 ˚ 27,1 -6,5 27,67 -6,50

30 ˚ 21 ˚

35 ˚ 25 ˚ 28,3 4,3 28,81 4,04

40 ˚ 26 ˚ 28,4 3,1 28,79 3,77

50 ˚ 36 ˚ 28 0,5 28,32 1,11

60 ˚ 44 ˚ 26,8 -1,7 27,62 -0,93

70 ˚ 52 ˚ 25,8 -3,9 26,64 -2,86

80 ˚ 59 ˚ 24,6 -5,8 25,56 -4,42

85 ˚ 65 ˚ 23,7 -6,7 24,50 -5,64

60 ˚ 45 ˚

35 ˚ 51 ˚ 24 10,7 25,53 8,49

40 ˚ 53 ˚ 23,9 9,5 25,46 7,95

50 ˚ 65 ˚ 23,7 6,8 24,68 4,81

60 ˚ 73 ˚ 22,9 4,4 23,80 2,83

70 ˚ 81 ˚ 21,8 2,3 22,65 1,00

80 ˚ 88 ˚ 20,3 0,2 21,45 -0,46

90 ˚ 92 ˚ 18,8 -1,6 20,68 -1,22


(70)

Tabel 4.6 (Lanjutan) Data Forward Kinematik Lengan Robot Shoulder Elbow X Aktual Y Aktual X Perhitungan Y Perhitungan Sudut Servo Sudut Aktual Θ1 Sudut Min Max Servo Sudut Min Max Aktual Θ2

60 ˚ 45 ˚

110 ˚ 111 ˚ 14,8 -4 16,42 -4,05

120 ˚ 126 ˚ 12,5 -4,8 12,54 -5,20

130 ˚ 135 ˚ 10,5 -5,2 10,11 -5,39

140 ˚ 145 ˚ 8,2 -5,3 7,42 -5,15

150 ˚ 150 ˚ 6,1 -5 6,10 -4,86

160 ˚ 157 ˚ 4,5 -4,4 4,31 -4,26

90 ˚ 88 ˚

35 ˚ 84 ˚ 16,7 14,6 15,96 15,37

40 ˚ 85 ˚ 17,1 14,2 15,98 15,10

50 ˚ 93 ˚ 16,8 9,7 15,94 12,94

60 ˚ 101 ˚ 16 7,3 15,60 10,80

70 ˚ 108 ˚ 15 5,2 15,06 8,99

80 ˚ 118 ˚ 13,5 3,2 13,92 6,54

90 ˚ 126 ˚ 11,5 1,4 12,71 4,75

100 ˚ 136 ˚ 9,4 -0,1 10,87 2,77

110 ˚ 144 ˚ 7,2 -1,2 9,17 1,44

120 ˚ 152 ˚ 4,9 -1,9 7,29 0,36

125 ˚ 156 ˚ 4,5 -2 6,31 -0,08

120 ˚ 112 ˚

35 ˚ 115 ˚ 9,6 12,9 10,12 12,45

40 ˚ 116 ˚ 9,5 11,6 10,11 12,18

50 ˚ 124 ˚ 9,1 8,6 9,80 10,04

60 ˚ 130 ˚ 8,4 6,3 9,38 8,47

70 ˚ 138 ˚ 7,2 4 8,57 6,46

80 ˚ 147 ˚ 5,5 1,7 7,34 4,37

90 ˚ 158 ˚ 3,9 0 5,41 2,11

150 ˚ 135 ˚

35 ˚ 137 ˚ 3,6 7,9 5,38 9,57

40 ˚ 140 ˚ 3,5 6,5 5,33 8,76

50 ˚ 150 ˚ 3,2 3,5 4,86 6,10

55 ˚ 155 ˚ 2,8 2,1 4,45 4,81

170 ˚ 157 ˚ 35 ˚ 158 ˚ 1,7 3 2,33 5,32

Dari data yang telah ditampilkan pada tabel 4.6 dapat dilihat nilai x y aktual dan nilai x y perhitungan. Tidak ada yang sama persis nilainya namun perbedaannya juga tidak besar. Jika dibuat rata-rata dari selisih antara perhitungan dan aktual maka nilai x memiliki selisih 0,96 cm dan nilai y memiliki selisih yang lebih besar yakni 1,48 cm.


(71)

Gambar 4.11 Ruang kerja lengan robot secara x dan y

Dari tabel 4.6 menampilkan hasil nilai x dan y aktual sehingga dapat dibuat ruang kerja dari lengan robot. Ruang kerja adalah batasan-batasan gerakan dari lengan robot yang dalam gambar 4.11 ditampilkan dalam ruang 2D pada sumbu x dan y. Jadi lengan robot tidak dapat menjangkau titik di luar wilayah ruang kerjanya.

4.2.3 Analisa Pergerakan Link

Pergerakan link-link yang dimaksud adalah link-link yang menggunakan prinsip kerja sudut segi 4. Dimana jumlah dari dua sisi yang berbeda adalah 180˚ sehingga jika setiap sudut memiliki sudut yang kembar maka jumlah sudut segi 4 adalah 360˚. Dari prinsip segi 4 maka diambillah data sudut pada link-link lengan robot yang ada pada gambar 4.12.


(72)

Dalam pengambilan data ini dilakukan penentuan posisi secara acak karena tujuan dari data yang diambil hanyalah besar sudut dari segi 4 yang bervariasi. Oleh karena itu diambil 5 kali percobaan dengan posisi yang berbeda-beda pula.

Tabel 4.7 Sudut link segi 4 lengan robot

No Sudut A Sudut B Sudut C Sudut D Sudut E Sudut F

1 40 140 127 61 85 95

2 90 90 88 92 70 107

3 70 110 130 55 50 130

4 18 165 145 35 86 90

5 150 30 110 68 30 147

Setiap dua sudut yang diambil merupakan bagian dari 1 segi 4. Jadi sudut A dan B merupakan sudut segi 4 dari link pembantu elbow, kemudian sudut C dan D merupakan sudut dari segi 4 link pembantu shoulder, dan yang terakhir adalah sudut E dan F merupakan sudut segi 4 dari link pembantu gripper.

4.2.4

Pengujian Repeatability Gerakan Lengan Robot

Untuk dapat melihat tingkat kestabilan pergerakan lengan robot dalam setiap pergerakannnya dapat dilakukan pengujian ini. Pergerakan yang akan diuji berdasarkan sudut yang diberikan dari mikrokontroler dengan inputmouse. Pengujian dilakukan dengan cara memberi input tertentu pada masing-masing axis lengan robot yang mana akan diberikan secara berulang sebanyak 10 kali. Dari input tersebut akan diukur sudut aktual yang terjadi pada lengan robot.

1. Base

Tabel 4.8 Repeatability Gerak Sendi Base Percobaan Sudut acuan Sudut aktual Selisih

1 80 ˚ 73 ˚ 7 ˚

2 80 ˚ 73 ˚ 7 ˚

3 80 ˚ 73 ˚ 7 ˚

4 80 ˚ 73 ˚ 7 ˚

5 80 ˚ 73 ˚ 7 ˚


(73)

Tabel 4.8 (lanjutan) Repeatability Gerak sendi Base Percobaan Sudut acuan Sudut aktual Selisih

7 80 ˚ 73 ˚ 7 ˚

8 80 ˚ 73 ˚ 7 ˚

9 80 ˚ 73 ˚ 7 ˚

10 80 ˚ 73 ˚ 7 ˚

Rata-rata 73 ˚ 7 ˚

Berdasarkan pengambilan data yang telah dilakukan pada Tabel 4.8 sendi Base melakukan pergerakan sudut yang sangat stabil hingga tidak terjadi perubahan dalam kestabilannya.

2. Shoulder

Tabel 4.9 Repeatability Gerak Sendi Shoulder Percobaan Sudut acuan Sudut aktual Selisih sudut

1 60 ˚ 54 ˚ 6 ˚

2 60 ˚ 54 ˚ 6 ˚

3 60 ˚ 53 ˚ 7 ˚

4 60 ˚ 54 ˚ 6 ˚

5 60 ˚ 53 ˚ 7 ˚

6 60 ˚ 53 ˚ 7 ˚

7 60 ˚ 54 ˚ 6 ˚

8 60 ˚ 54 ˚ 6 ˚

9 60 ˚ 54 ˚ 6 ˚

10 60 ˚ 54 ˚ 6 ˚

Rata-rata 53,7 ˚ 6,3 ˚

Dari percobaan yang ditampilkan pada Tabel 4.9 gerakan sendi Shoulder lumayan stabil hanya terjadi 3 perbedaan dari 10 kali percobaan yang dilakukan. Perbedaaan yang terjadi pun tidak terlalu mencolok yakni hanya 1˚ yang paling besar.

3. Elbow

Tabel 4.10 Repeatability Gerak Sendi Elbow Percobaan Sudut acuan Sudut aktual Selisih

1 50 ˚ 49 ˚ 1 ˚


(74)

3 50 ˚ 48 ˚ 2 ˚

4 50 ˚ 47,5 ˚ 2,5 ˚

5 50 ˚ 48 ˚ 2 ˚

6 50 ˚ 47,5 ˚ 2,5 ˚

7 50 ˚ 47,5 ˚ 2,5 ˚

8 50 ˚ 47,5 ˚ 2,5 ˚

9 50 ˚ 47,5 ˚ 2,5 ˚

10 50 ˚ 48 ˚ 2 ˚

Rata-rata 47,95 ˚ 2,05 ˚

Tabel 4.10 memperlihatkan kestabilan gerak sendi Elbow. Dari 10 kali percobaan yang dilakukan ada 3 variasi sudut yang terjadi yakni 49˚, 48˚, dan 47,5˚. Selisih dari 3 posisi tersebut yang paling besar adalah 2,5˚.

4. Gripper

Tabel 4.11 Repeatability Gerak Gripper Percobaan Sudut acuan Sudut aktual

1 15 ˚ 45 ˚

2 15 ˚ 55 ˚

3 15 ˚ 45 ˚

4 15 ˚ 55 ˚

5 15 ˚ 45 ˚

6 15 ˚ 55 ˚

7 15 ˚ 45 ˚

8 15 ˚ 55 ˚

9 15 ˚ 45 ˚

10 15 ˚ 55 ˚

Bebeda dari semua sendi yang ada, hasil dari percobaan Gripper ada pengecualian. Desain yang Gripper membuat sudut acuan tidak akan sama dengan sudut aktual. Pada Tabel 4.11 ditunjukkan hasil percobaan kestabilan dari Gripper, ternyata gerakan sudut yang dilakukan tidak dapat stabil. Ada 2 variasi sudut yang terjadi pada pengambilan data. Perbedaan tersebut terjadi ketika motor berputar CCW dan CW. Selisih sudutnya pun cukup besar yakni mencapai 10˚. Ketidakstabilan ini terjadi karena roda gigi yang menghubungkan penjepit Gripper memiliki kelonggaran yang cukup besar yang mana ketika digerakkan membuat gerakan tidak presisi.


(75)

4.3

Analisa SoftWare

4.3.1 Inisialisasi

Inisialisasi pada program kontroler lengan robot dengan kendali mouse ini berisi tentang pendefenisian dari fungsi library dan variabel yang digunakan dalam proses pengoperasian data. Seperti pada bab perancangan pada flowchart utama program, bagian dari inisialisasi meliputi input/output yang digunakan, setup untuk komunikasi serial, serta setup untuk USB host shield. Listing program inisialisasi dari kontroler lengan robot dengan kendali mouse dapat dilihat pada gambar 4.13 dan gambar 4.14.

Gambar 4.13 Inisialisasi library


(76)

Gambar 4.15 Inisialisasi bagian mouse

Gambar 4.13 memperlihatkan program ini menggunakan beberapa library yaitu diantaranya library Servo.h dan library hidboot.h. library hidboot.h mengatur komunikasi perangkat mouse yang terhubung ke USB host shield dengan mikrokontroler melalui ICSP bus. Sedangkan Servo.h berfungsi mengubah output digital dari mikrokontroler dapat digunakan untuk mengatur motor servo yang mana membutuhkan output analog. Dengan library ini motor servo diatur sudutnya dari 0-180˚

Pada Gambar 4.14 dan Gambar 4.15 yang ditunjuk no 1 merupakan variabel yang berisi posisi sudut motor servo (0-180˚) sekaligus menentukan posisi awal ketika program running. Pada no 2 adalah variabel untuk motor servo yang akan digunakan dan antara pin output. Pada no 3 merupakan variabel untuk membatasi sudut maksimal atau minimal yang dapat dicapai oleh motor servo.. Sedangkan no 4 adalah alamat pin output untuk motor servo yang berjumlah 4 pin. Inisialisasi bagian mouse ditunjukan pada no 5 yang mana nantinya berfungsi sebagai perintah output.

43.2.

Pembacaan Input dan Perintah ke Output


(77)

Listing program pembacaan input dan perintah ke output dalam mikrokontroler arduino dapat dilihat pada Gambar 4.16. Pembacaan input dari USB mouse menggunakan komunikasi ISCP memanfaatkan port MISO, MOSI, SCK, dan RESET mikrokontroler. Menggunakan library USB host shield sehingga semua input dari mouse dapat terbaca (RightButton, LeftButton, MiddleButton, X&Y move). Sedangkan listing program output untuk menggerakkan motor servo ditunjukkan pada Gambar 4.16 juga. Menggerakkan motor servo menggunakan pulsa-pulsa yang dikeluarkan oleh mikrokontroler melalui port digital 4, 6, 7, dan 8. Motor servo digerakkan berdasarkan posisi sudut yang telah disimpan pada variabel pos1/2/3/4 yang berisi sudut dari 0-180˚.


(78)

58

BAB V

KESIMPULAN DAN SARAN

5.1.

Kesimpulan

Dari hasil percobaan dan pengujian yang dilakukan pada pengendali lengan robot dengan kendali mouse, dapat disimpulkan bahwa:

1. Lengan robot dapat bergerak pada Base, Shoulder, Elbow, dan Gripper sebagai end effector.

2. Berdasarkan percobaan dan pengujian yang telah dilakukan dapat disimpulkan bahwa penelitian tersebut sudah berhasil. Gerakan lengan robot dapat mengikuti perintah dari gerakkan mouse dengan baik. Dari tingkat repeatability pada base tidak mengalami pergeseran sudut, shoulder mengalami 1˚ pergeseran, elbow mengalami pergeseran 1˚. 3. Pengendali lengan robot dengan kendali mouse telah berhasil menggerakkan robot

dengan tingkat selisih sudut 1°-5°.

5.2.

Saran

Saran untuk pengembangan kontroler lengan robot dengan kendali mouse lebih lanjut ada beberapa saran agar alat ini dapat bekerja lebik baik, yaitu:

1. Perancangan ulang pada konstruksi lengan robot agar lebih kuat dan stabil. Khususnya untuk roda gigi pada Gripper yang belum sempurna.

2. Penggunaan motor mikro servo yang lebih berkualitas pada bagian gripper yang sering kali mudah rusak.

3. Komunikasi antara lengan robot dengan gamepad menggunakan kabel USB. Untuk kedepannya dapat digantikan dengan komunikasi wireless misalnya menggunakan bluetooth dongle, RF, ZigBee, dan Wifi.


(79)

59

Daftar Pustaka

[1] http://beriomolina.com/Controlling-a-servo-motor-with diakses pada tanggal 11 Juni 2015

[2] http://arduino.cc/en/guide/introduction diakses pada tanggal 18 November 2014 [3] http://avrprogrammers.com/atmega/atmegaxx8 diakses pada tanggal 25 November 2015 [4] http://hardi-santosa.blog.ugm.ac.id/2012/06/24/kelebihan-arduino-yang-memikat/

diakses pada tanggal 18 Desember 2014

[5] Winoto, Ardi, 2008, Mikrokontroler AVR Atmega8/32/16/8535 dan pemrograman dengan bahasa C pada WinAVR, Bandung : Informatika.

[6] http://www.mdp.ac.id/materi/2011-2012-1/.../TK322-041035-859-21.pdf diakses pada tanggal 11 November 2014

[7] http://bansky.net/blog_stuff/images/servo_pulse_width.png diakses pada tanggal 21 November 2014.

[8] http://datasheet.sparkgo.com.br/SG90Servo.pdf diakses pada tanggal 22 November 2014.

[9] http://www.computer-engineering.org/usbmouse/ diakses pada tanggal 25 November 2014.

[10] http://www.mouser.com/new/arduino/arduino-usb-host-shield/ diakses pada tanggal 18 Desember 2014.

[11] http://en.wikipedia.org/wiki/Serial_Peripheral_Interface_Bus diakses pada tanggal 7 Mei 2015.

[12] https://learn.sparkfun.com/tutorials/serial-peripheral-interface-spi diakses pada tanggal 8 Mei 2015.

[13] https://pccontrol.wordpress.com/2011/09/16/pengetahuan-dasar-pemrograman-spi-serial-pheriperal-interface-pada-avr-dengan-avr-studio/ diakses pada tanggal 8 Juni 2015.

[14] http://www.se7ensins.com/forums/threads/tutorial-making-a-usb-to-molex-for-a-ck3-or-other-things.785623/ diakses pada tanggal 28 Januari 2015.

[15] http://www.usbmadesimple.co.uk/index.html diakses pada tanggal 10 November 2014.


(80)

60

[17] https://www.networktechinc.com/usb-prots.html diakses pada tanggal 10 Mei 2015. [18] http://www.dfe.com/resources/faq_openloopvsclosedloop.html diakses pada

tanggal 10 Februari 2015.

[19] Pitowarno, Endra,2006, Robotika – Desain, Kontrol, dan Kecerdasan Buatan. Yogyakarta: Andi.

[20] http://www.buildcircuit.com/ftdi-basic-breakout-board/ diakses pada tanggal 24 Februari 2015.

[21] Simanjuntak, Hotlan Y. 2013. Timbangan Saku Digital Miligram Berbasis Mikrokontroler Atmega328. Skripsi Sarjana pada Universitas Sanata Dharma Yogyakarta: tidak diterbitkan.

[22] http://share.pdfonline.com/2e212161834342f9ac9b77b7a56791cf/BAB%20II.html diakses pada tanggal 23 januari 2015.

[23] http://zaada.co.id/ngooprek/?p=18 diakses pada tanggal 9 Maret 2015.

[24] http://www.thingiverse.com/thing:298820 diakses pada tanggal 20 Maret 2015. [25] https://grabcad.com/library/me-arm-v3-0-1 diakses pada tanggal 20 Maret 2015 [26] http://www.rumus-fisika.com/2013/10/pesawat-sederhana.html diakses pada


(81)

61


(82)

Hasil Pengujian Alat

Grafik L1. Kestabilan Gerak Base

Grafik L2. Kestabilan Gerak Shoulder

0% 10% 20% 30% 40% 50% 60% 70% 80% 90% 100%

1 2 3 4 5 6 7 8 9 10

SUDUT PERCOBAAN

BASE

SUDUT AKTUAL SUDUT ACUAN 0 20 40 60 80 100 120

1 2 3 4 5 6 7 8 9 10

SUDUT

PERCOBAAN

SHOULDER

SUDUT AKTUAL SUDUT ACUAN


(83)

Grafik L3. Kestabilan Gerak Elbow

Grafik L4. Kestabilan Gerak Gripper

0 20 40 60 80 100 120

1 2 3 4 5 6 7 8 9 10

SUDUT PERCOBAAN

ELBOW

SUDUT AKTUAL SUDUT ACUAN 0 10 20 30 40 50 60 70 80

1 2 3 4 5 6 7 8 9 10

SUDUT

PERCOBAAN

GRIPPER

SUDUT AKTUAL SUDUT ACUAN


(1)

Serial.println("R Butt Up"); };

void MouseRptParser::OnRightButtonDown (MOUSEINFO *mi) {

if(pos3 < maxDeg3) pos3 += 5; myservo3.write(pos3); Serial.println("R Butt Dn"); delay(30);

};

void MouseRptParser::OnMiddleButtonUp (MOUSEINFO *mi) {

Serial.println("M Butt Up"); };

void MouseRptParser::OnMiddleButtonDown (MOUSEINFO *mi) {

Serial.println("M Butt Dn");

if(Serial.println("M Butt Dn") && mi->dY >= 0 && pos4 < maxDeg4) pos4 += 1; myservo4.write(pos4);

delay(30);

if(Serial.println("M Butt Dn") && mi->dY <= -0 && pos4 > minDeg4) pos4 -= 1; myservo4.write(pos4);

delay(30); };

USB Usb;

USBHub Hub(&Usb);

HIDBoot<HID_PROTOCOL_MOUSE> Mouse(&Usb); uint32_t next_time;


(2)

{

myservo1.attach(servo1); // attaches the servo on pin 6 to the servo object myservo2.attach(servo2); // attaches the servo on pin 7 to the servo object myservo3.attach(servo3); // attaches the servo on pin 8 to the servo object myservo4.attach(servo4); // attaches the servo on pin 5 to the servo object Serial.begin( 115200 );

Serial.println("Start");

if (Usb.Init() == -1)

Serial.println("OSC did not start."); delay( 200 );

next_time = millis() + 5000;

Mouse.SetReportParser(0,(HIDReportParser*)&Prs); } void loop() { Usb.Task(); delay(15);

}


(3)

DATA SHEET KOMPONEN


(4)

(5)

L8. USB Host Shield

The following device classes are currently supported by the shield:

HID devices, such as keyboards, mice, joysticks, etc.

game controllers - Sony PS3, Nintendo Wii, Xbox360

USB to serial converters - FTDI, PL-2303, ACM, as well as certain cell phones and

GPS receivers

ADK-capable Android phones and tables

Digital cameras - Canon EOS, Powershot, Nikon DSLRs and P&S, as well as generic

PTP

Mass storage devices, such as USB sticks, memory card readers, external hard drives

Bluetooth dongles


(6)