• Tidak ada hasil yang ditemukan

Lengan robot peniru gerakan tangan manusia.

N/A
N/A
Protected

Academic year: 2017

Membagikan "Lengan robot peniru gerakan tangan manusia."

Copied!
108
0
0

Teks penuh

(1)

viii

INTISARI

Perkembangan teknologi saat ini sangat pesat salah satunya teknologi robotika. Saat ini

robot memiliki peran yang sangat penting bagi kehidupan manusia, mulai dari bidang

kesehatan, kedokteran, pertanian, bahkan sampai bidang teknologi manufaktur. Robot-robot

yang diciptakan saat ini memiliki kegunaan untuk membantu kerja manusia hingga dapat

meringankan pekerjaan manusia. Berdasarkan permasalahan tersebut maka memunculkan

keinginan untuk menciptakan sebuah robot. Robot tersebut dibuat dengan konsep yang

menyerupai lengan manusia. Lengan robot tersebut dapat bergerak mengikuti gerakan tangan

manusia. Lengan robot tersebut dapat digerakkan menuju 3 sumbu yaitu, X, Y, dan Z.

Lengan robot tersebut menggunakan motor servo sebagai penggeraknya dan dibantu

dengan

servo controller

sebagai

driver

motor. Lengan robot tersebut dikendalikan

menggunakan mikrokontroler sebagai pengendali utama. Menggunakan

flex sensor

sebagai

pendeteksi gerakan lengan manusia.

Flex sensor

memiliki

output

berupa resistansi dan dengan

menggunakan rangkaian pembagi tegangan untuk menghasilkan tegangan antara 0 – 5 volt.

Flex sensor

dipasang pada lengan manusia melengkung sesuai dengan gerakan lengan

manusia maka

output

dari sensor dibaca oleh mikrokontroler 1 dan diolah sebagai data sensor.

Data sensor tersebut dikomunikasikan dengan mikrokontroler 2 dengan komunikasi serial.

Mikrokontroler 2 digunakan sebagai pengendali gerakan lengan robot dengan

driver servo

controller. Mikrokontroler 2 dengan

servo controller

berkomunikasi dengan I2C.

Servo

controller

tersebut mengeluarkan pulsa untuk menggerakkan motor servo.

Penelitian yang telah dilakukan dapat disimpulkan bahwa penelitian tersebut sudah

berhasil. Gerakan lengan robot sudah dapat mengikuti gerakan tangan manusia secara

real

time. Berdasarkan pengujian gerakan lengan robot tersebut memiliki rata-rata % error kurang

dari 10%.

▸ Baca selengkapnya: jelaskan cara melakukan aktivitas pembelajaran gerakan lengan

(2)

ix

ABSTRACT

Current technological developments very rapid one robotics technology. Currently the

robot has a very important role for human life, ranging from the fields of health, medicine,

agriculture, and even manufacturing technology. The robots were created today have their uses

to help the working man to be able to alleviate human tasks. Based on these problems then led

to the desire to create a robot. The robot is made with the concept that resembles a human arm.

The robot arm can move to follow the movement of the human hand. The robot arm can be

moved towards the 3 axes, namely, X, Y, and Z.

The robot arm using servo motors as their driving force and aided by servo controller

as a motor driver. The robot arm is controlled using a microcontroller as the main controller.

Using flex motion detection sensor as a human arm. Flex sensor has an output in the form of

resistance and by using a voltage divider circuit to produce a voltage between 0-5 volts. Flex

sensor mounted on a human arm curved in accordance with the movement of a human arm,

the output of the sensor is read by the microcontroller 1 and processed as sensor data. The

sensor data is communicated to the microcontroller 2 by serial communication.

Microcontroller 2 is used as the controller of the robot arm movement with servo controller

driver. Microcontroller 2 with servo controllers communicate with I2C. The controller servo

issued a pulse to drive the servo motors.

Research that has been done can be concluded that the research has been successful.

The movement of the robot arm has been able to follow the movement of the human hand in

real time. Based on the testing of the robot arm movements had an average % error of less

than 10%.

(3)

TUGAS AKHIR

LENGAN ROBOT PENIRU GERAKAN TANGAN

MANUSIA

Disusun oleh : ALFIAN ANTA KUSUMA

NIM : 125114037

PROGRAM STUDI TEKNIK ELEKTRO

JURUSAN TEKNIK ELEKTRO

FAKULTAS SAINS DAN TEKNOLOGI

UNIVERSITAS SANATA DHARMA

YOGYAKARTA

(4)

HUMAN HAND MOVEMENTS IMITATOR ARM

ROBOT

ALFIAN ANTA KUSUMA NIM : 125114037

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

“ LAKUKAN YANG TERBAIK SAMPAI PADA BATASNYA DAN

BERUSAHA DENGAN KERAS UNTUK MERAIHNYA ”

Dengan ini kupersembahkan karyaku ini untuk...

Tuhan Yesus Kristus Pembimbingku yang setia,

Keluargaku tercinta,

Teman-temanku seperjuangan,

Dan semua orang yang mengasihiku

(9)
(10)

viii

INTISARI

Perkembangan teknologi saat ini sangat pesat salah satunya teknologi robotika. Saat ini

robot memiliki peran yang sangat penting bagi kehidupan manusia, mulai dari bidang

kesehatan, kedokteran, pertanian, bahkan sampai bidang teknologi manufaktur. Robot-robot

yang diciptakan saat ini memiliki kegunaan untuk membantu kerja manusia hingga dapat

meringankan pekerjaan manusia. Berdasarkan permasalahan tersebut maka memunculkan

keinginan untuk menciptakan sebuah robot. Robot tersebut dibuat dengan konsep yang

menyerupai lengan manusia. Lengan robot tersebut dapat bergerak mengikuti gerakan tangan

manusia. Lengan robot tersebut dapat digerakkan menuju 3 sumbu yaitu, X, Y, dan Z.

Lengan robot tersebut menggunakan motor servo sebagai penggeraknya dan dibantu

dengan

servo controller

sebagai

driver

motor. Lengan robot tersebut dikendalikan

menggunakan mikrokontroler sebagai pengendali utama. Menggunakan

flex sensor

sebagai

pendeteksi gerakan lengan manusia.

Flex sensor

memiliki

output

berupa resistansi dan dengan

menggunakan rangkaian pembagi tegangan untuk menghasilkan tegangan antara 0 – 5 volt.

Flex sensor

dipasang pada lengan manusia melengkung sesuai dengan gerakan lengan

manusia maka

output

dari sensor dibaca oleh mikrokontroler 1 dan diolah sebagai data sensor.

Data sensor tersebut dikomunikasikan dengan mikrokontroler 2 dengan komunikasi serial.

Mikrokontroler 2 digunakan sebagai pengendali gerakan lengan robot dengan

driver servo

controller. Mikrokontroler 2 dengan

servo controller

berkomunikasi dengan I2C.

Servo

controller

tersebut mengeluarkan pulsa untuk menggerakkan motor servo.

Penelitian yang telah dilakukan dapat disimpulkan bahwa penelitian tersebut sudah

berhasil. Gerakan lengan robot sudah dapat mengikuti gerakan tangan manusia secara

real

time. Berdasarkan pengujian gerakan lengan robot tersebut memiliki rata-rata % error kurang

dari 10%.

(11)

ix

ABSTRACT

Current technological developments very rapid one robotics technology. Currently the

robot has a very important role for human life, ranging from the fields of health, medicine,

agriculture, and even manufacturing technology. The robots were created today have their uses

to help the working man to be able to alleviate human tasks. Based on these problems then led

to the desire to create a robot. The robot is made with the concept that resembles a human arm.

The robot arm can move to follow the movement of the human hand. The robot arm can be

moved towards the 3 axes, namely, X, Y, and Z.

The robot arm using servo motors as their driving force and aided by servo controller

as a motor driver. The robot arm is controlled using a microcontroller as the main controller.

Using flex motion detection sensor as a human arm. Flex sensor has an output in the form of

resistance and by using a voltage divider circuit to produce a voltage between 0-5 volts. Flex

sensor mounted on a human arm curved in accordance with the movement of a human arm,

the output of the sensor is read by the microcontroller 1 and processed as sensor data. The

sensor data is communicated to the microcontroller 2 by serial communication.

Microcontroller 2 is used as the controller of the robot arm movement with servo controller

driver. Microcontroller 2 with servo controllers communicate with I2C. The controller servo

issued a pulse to drive the servo motors.

Research that has been done can be concluded that the research has been successful.

The movement of the robot arm has been able to follow the movement of the human hand in

real time. Based on the testing of the robot arm movements had an average % error of less

than 10%.

(12)
(13)

xi

DAFTAR ISI

HALAMAN JUDUL ... i

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... xiv

DAFTAR TABEL ... xvi

DAFTAR PERSAMAAN... xvii

DAFTAR LAMPIRAN ... xviii

BAB I PENDAHULUAN

1.1. Latar Belekang... 1

1.2. Tujuan dan Manfaat Penelitian... 2

1.3. Pembatasan Masalah... 2

1.4. Metodogi Penelitian... 3

BAB II TINJAUAN PUSTAKA dan LANDASAN TEORI

2.1. Mikrokontroler ... 6

2.1.1. Arduino Mega 2560 R3 ... 7

2.1.2. Arduino Uno R3 ... 9

2.1.3. Perangkat Lunak Arduino ... 11

2.2. Motor DC Servo ... 12

2.2.1. RC Servo ... 13

(14)

xii

2.5. Adafruit 16Channel 12 Bit PWM / Servo Shield I2C Interface ... 17

2.6. Komunikasi Serial ... 18

2.7. Komunikasi I2C... 19

2.7.1. Mode Pengoperasian Transfer Data ... 21

BAB III PERANCANGAN SISTEM

3.1. Perancangan Perangkat Keras ( Hardware ) ... 23

3.1.1. Perancangan Mekanik ... 25

3.1.2. Perancangan Elektrik ... 31

3.1.2.1. Perancangan Rangkaian Pengendali Utama ... 31

3.1.2.2. Perancangan Rangkaian Flex Sensor ... 33

3.1.2.3. Perancangan Rangkaian Motor Servo ... 35

3.2. Perancangan Perangkat Lunak Secara Umum ... 36

3.2.1. Perangkat Lunak Program Flex Sensor ... 37

3.2.2. Perangkat Lunak Program Motor Servo ... 38

BAB IV HASIL DAN PEMBAHASAN

4.1. Hasil Perancangan Perangkat Keras ... 39

4.2. Hasil Pengujian dan Analisa... 44

4.2.1. Pengujian Flex Sensor ... 44

4.2.2. Pengujian ADC Flex Sensor ... 50

4.2.3. Pengujian Gerakan Lengan Robot ... 51

4.3. Analisa Perangkat Lunak... 56

4.3.1. Inisialisasi Mikrokontroler Lengan User ... 56

4.3.2. Pembacaan Sensor Mikrokontroler Lengan User ... 56

4.3.3. Pengiriman Data Sensor Mikrokontroler Lengan User ... 57

4.3.4. Inisialisasi Mikrokontroler Robot ... 58

4.3.5. Pembacaan Data Serial Mikrokontroler Robot ... 59

(15)

xiii

BAB V KESIMPULAN DAN SARAN

5.1. Kesimpulan ... 62

5.2. Saran ... 62

DAFTAR PUSTAKA

... 64

(16)

xiv

DAFTAR GAMBAR

Gambar 1.1. Blok diagram lengan robot peniru gerakan tangan manusia... 4

Gambar 2.1. Tampilan

Arduino Mega

2560 R3 ... 7

Gambar 2.2. Alokasi penempatan pin Arduino

Mega

2560 R3... 8

Gambar 2.3. Tampilan Arduino

Uno R3

... 9

Gambar 2.4. Alokasi penempatan pin Arduino

Uno R3

... 10

Gambar 2.5. Tampilan IDE Arduino ... 11

Gambar 2.6. Skema ekivalen motor DC servo dengan kontrol kecepatan ... 13

Gambar 2.7. Prinsip kerja RC servo ... 13

Gambar 2.8. Motor RC servo... 14

Gambar 2.9. Konstruksi motor servo ... 14

Gambar 2.10

Flex Sensor

... 16

Gambar 2.11. Gambar rangkaian pembagi tegangan... 16

Gambar 2.12. Gambar

Adafruit 16-Channel 12-Bit PWM / Servo Shield – I2C Interface

17

Gambar 2.13. Gambar

Data transfer from a master transmitter to a slave receiver

... 21

Gambar 2.14. Gambar

Data transfer from a slave transmitter to a master receiver

... 22

Gambar 3.1. Blok diagram sistem... 23

Gambar 3.2.

Design

3D keseluruhan lengan robot ... 25

Gambar 3.3. Gambar posisi gear gemutar

base

yang di

couple

cengan motor servo ... 26

Gambar 3.4. Gambar

design end effector

... 28

Gambar 3.5. Tampilan seluruhnya

design

gambar 3D lengan robot ... 30

Gambar 3.6. Gambar koneksi serial TX RX... 32

Gambar 3.7. Gambar koneksi komunikasi i

2

c ... 33

Gambar 3.8. Contoh pemasangan

flex sensor

... 33

Gambar 3.9. Gambar rangkaian

flex sensor

pada skematik... 34

Gambar 3.10. Gambar sambungan

output flex sensor

ke ADC Arduino... 35

Gambar 3.11. Gambar rangkaian motor servo untuk lengan ... 35

(17)

xv

Gambar 3.13.

Diagram alir perancangan perangkat lunak secara umum

... 37

Gambar 3.14.

Diagram alir perancangan perangkat lunak programflex sensor

... 37

Gambar 3.15. Diagram alir perangkat lunak program motor servo ... 38

Gambar 4.1. Mekanik lengan robot ... 39

Gambar 4.2. Motor servo penggerak bagian

shoulder, elbow, dan pitch

... 40

Gambar 4.3. Motor

base

yang dihubungkan dengan transmisi gear rasio 1:1... 40

Gambar 4.4. Konektor motor servo ... 41

Gambar 4.5. Arduino Mega 2560,

Servo Controller Shield

, dan

port

komunikasi serial

dihubungkan secara

stackable

... 41

Gambar 4.6.

Flex sensor

yang dipasangkan pada tangan manusia... 42

Gambar 4.7. Rangkaian pembagi tegangan dan

port

komunikasi serial yang

dihubungkan secara

stackable

dengan Arduino Uno ... 42

Gambar 4.8. Hasil perancangan elektrik pada bagian tangan manusia atau

user

... 43

Gambar 4.9. Bagian elektrik lengan robot dan elektrik lengan manusia yang

dihubungkan dengan komunikasi serial TX dan RX ... 44

Gambar 4.10. Grafik keluaran sensor bagian

pitch

( A0 ) ... 45

Gambar 4.11. Grafik keluaran sensor bagian

pitch

( A1 ) ... 46

Gambar 4.12. Grafik keluaran sensor bagian

elbow

( A2 ) ... 47

Gambar 4.13. Grafik keluaran sensor bagian

shoulder

( A4 ) ... 47

Gambar 4.14. Grafik keluaran sensor bagian

base

( A5 )... 48

Gambar 4.15. Grafik keluaran sensor bagian

base

( A6 )... 49

Gambar 4.16.

Flex sensor

pada bagian pergelangan tangan dan bawah bahu... 49

Gambar 4.17.

Flex sensor

pada bagian siku dan bahu... 50

Gambar 4.18. Bagian

pitch

dan pergelangan tangan manusia ... 52

Gambar 4.19. Bagian

elbow

dan siku tangan manusia ... 52

Gambar 4.20. Bagian

shoulder

dan bahu tangan manusia... 53

Gambar 4.21. Bagian

base

dan bagian bawah bahu tangan manusia ... 53

Gambar 4.22.

Listing

program inisialisasi bagian lengan

user

... 56

Gambar 4.23.

Listing

program pembacaan

flex sensor

bagian lengan

user

... 57

Gambar 4.24.

Listing

program pengiriman data sensor bagian lengan

user

... 58

(18)

xvi

(19)

xvi

DAFTAR TABEL

Tabel 2.1.

Keterangan Pin Arduino Mega 2560 R3...

8

Tabel 2.1.

(Lanjutan) Keterangan Pin Arduino Mega 2560 R3 ...

9

Tabel 2.2.

Keterangan Pin Arduino Uno R3 ...

10

Tabel 2.2.

(Lanjutan) Keterangan Pin Arduino Uno R3 ...

11

Tabel 2.3.

Keterangan Tombol Pada Tampilan IDE

Arduino

...

12

Tabel 3.1.

Tabel Perkiraan Berat Lengan dan Beban Yang Diangkat Lengan Pada

Perancangan Lengan Robot ...

27

Tabel 3.2.

Tabel Sudut Maksimal Yang Dapat Digunakan Motor Servo Sesuai

Sudut Lengan Manusia...

31

Tabel 4.1.

Tabel Output Tegangan Rangkaian Flex Sensor...

44

Tabel 4.2.

( Lanjutan ) Tabel

output

tegangan rangkaian

flex sensor

...

45

Tabel 4.3.

Tabel

output

ADC pada rangkaian

flex sensor

...

51

Tabel 4.4.

Tabel pengujian gerakan motor servo bagian

pitch

...

53

Tabel 4.5.

( Lanjutan ) Tabel pengujian gerakan motor servo bagian

pitch

...

54

Tabel 4.6.

Tabel pengujian gerakan motor servo bagian

elbow

...

54

Tabel 4.7.

Tabel pengujian gerakan motor servo bagian

shoulder

...

54

Tabel 4.8.

( Lanjutan ) Tabel pengujian gerakan motor servo bagian

shoulder

...

55

(20)

xvii

Persamaan 2.1. ... 15

Persamaan 2.2. ... 15

Persamaan 2.3. ... 15

Persamaan 2.4. ... 15

(21)

xviii

DAFTAR LAMPIRAN

L1.

Tabel Output Tegangan Rangkaian Flex Sensor... L1

L2.

Tabel Output ADC Pada Rangkaian Flex Sensor ... L2

L3.

Listing

Program Keseluruhan Bagian Lengan Manusia... L3

L4.

Listing

Program Keseluruhan Bagian Lengan Robot... L6

L5.

Rangkaian keseluruhan ... L8

L6.

Data

Sheet

Flex Sensor... L10

L7.

Data

Sheet

Adafruit 16-Channel Servo Driver with Arduino ... L12

L8.

Data

Sheet

Servo Hitec HS-645MG... L19

L9.

Data

Sheet

Hitec HS-805MG ... L20

(22)

1

BAB I

PENDAHULUAN

1.1.

Latar Belakang

Perkembangan teknologi saat ini sangat pesat salah satunya teknologi robotika. Saat

ini robot memiliki peran yang sangat penting bagi kehidupan manusia, mulai dari bidang

kesehatan, kedokteran, pertanian, bahkan sampai bidang teknologi manufaktur. Bahkan

saat ini robot sudah masuk di kehidupan rumah tangga, mulai dari mainan anak-anak

hingga alat bantu pekerjaan sehari-hari.

Jenis robot saat ini sudah banyak berkembang, mulai dari yang memakai roda

hingga berkaki. Bahkan dahulu robot hanya dapat bergerak secara terbatas tetapi saat ini

robot dapat bergerak ke segala arah. Perkembangan teknologi saat ini robot-robot yang

dibuat semakin menyerupai dengan manusia walaupun hanya bagian-bagian tertentu saja,

seperti tangan, kepala, ataupun kaki.

Robot-robot yang diciptakan saat ini memiliki kegunaan untuk membantu kerja

manusia hingga dapat meringankan pekerjaan manusia. Robot tersebut dapat digunakan

untuk pekerjaan yang ringan hingga yang berat dan berbahaya. Robot-robot tersebut juga

dilengkapi dengan sensor-sensor dan kecerdasan buatan sehingga robot tersebut dapat

menentukan apa yang akan dilakukan apabila mendapat rangsangan dari luar.

Berdasarkan permasalahan tersebut maka memunculkan keinginan untuk

menciptakan sebuah robot. Robot tersebut dibuat dengan konsep yang menyerupai lengan

manusia. Lengan robot tersebut dapat bergerak mengikuti gerakan tangan manusia. Lengan

robot tersebut dapat digerakkan menuju 3 sumbu yaitu, X, Y, dan Z.

Lengan robot tersebut menggunakan motor servo sebagai penggeraknya. Untuk

menggerakkan motor servo tersebut memerlukan servo controller yang digunakan untuk

mengatur pergerakan lengan robot tersebut sehingga dapat mengikuti gerakan lengan

manusia secara bersamaan. Lengan robot tersebut dikendalikan menggunakan sebuah

(23)

Berdasarkan paparan diatas penulis ingin membuat lengan robot yang dapat

mengikuti gerakan lengan manusia. Peneliti yang sudah pernah membuat adalah Raden

Muhammad Syafruddin dan Nyayu Fitri dalam penelitian yang berjudul “ Perancangan

Sistem Kendali Gerak Lengan Robot Pengikut Gerak Lengan Manusia Berbasis

Mikrokontroller “[ 1 ].

Penelitian yang dilakukan Raden Muhammad Syafruddin dan Nyayu Fitri,

mikrokontroller yang digunakan adalah AVR ATMega8535 dan ATTiny2313. Selain itu

menggunakan potensiometer sebagai sensor dan motor servo sebagai penggeraknya.

Lengan robot yang akan dibuat oleh penulis berbeda dengan lengan robot yang

pernah dibuat. Lengan robot yang akan dibuat menggunakan sensor yaitu flex sensor 4,5

inchi, serta menggunakan Arduino Mega2560-R3 dan Arduino Uno R3. Lengan robot yang

akan dibuat dapat bergerak mengikuti gerakan lengan manusia. Sensor yang diletakkan

pada lengan manusia mulai dari bahu hingga pergelangan. Sensor akan memberikan sinyal

yang akan masuk ke mikrokontroler. Dalam mikrokontroler, sinyal tersebut akan diproses

yang akan digunakan untuk menentukan posisi motor servo, sehingga gerakan servo dapat

sesuai dengan gerakan lengan manusia. Selain itu lengan robot yang akan dibuat ini

digunakan sebagai media untuk pembelajaran tentang robotika.

1.2.

Tujuan dan Manfaat Penelitian

Dalam penelitian yang dilakukan memiliki tujuan umum dapat menciptakan alat

yang membantu dan meringankan kerja manusia serta dapat menggantikan peran manusia

dalam manjalankan pekerjaan yang berat dan berbahaya. Memiliki tujuan khusus adalah

menciptakan lengan robot dengan 3 sumbu yaitu X, Y, dan Z dan mengetahui cara

kerjanya.

Manfaat dari penelitian ini adalah dapat membantu pekerjaan manusia yang sulit

dilakukan oleh manusia dari jarak jauh dan dapat digerakkan secara langsung atau

realtime.

1.3.

Pembatasan Masalah

Agar tugas akhir ini dapat sesuai dengan apa yang menjadi tujuannya dan

(24)

batasan-batasan masalah yang sesuai dengan judul tugas akhir ini. Adapun batasan-batasan masalahnya

adalah :

a. Menggunakan dua buah mikrokontroler arduino sebagai pengolah data sensor dan

sebagai penggerak aktuator robot. Mikrokontroler yang digunakan adalah Arduino

Mega 2560 R3 dan Arduino Uno R3.

b. Sensor yang digunakan adalahone directional flex sensor4,5”

c. Menggunakan motor RC-servo sebagai aktuator

d. Menggunakan servo shield sebagai driver motor servo

e. Robot dapat bergerak pada sumbu X, Y, dan Z

f. Kedua mikrokontroler tersebut menggunakan komunikasi serial.

1.4.

Metodologi Penelitian

Berdasarkan pada tujuan yang ingin dicapai maka metode yang diguanakan adalah :

a. Studi literatur dan referensi, yaitu mempelajari buku-buku dan makalah-makalah

dari pustaka yang berhubungan dengan mikrokontroler khususnya Arduino, servo

controller, motor servo dan juga mengenaiFlex Sensor.

b. Studi kasus terhadap alat yang telah dibuat sebelumnya. Tahap ini dilakukan guna

memahami prinsip kerja alat sebelumnya.

c. MengujiFlex Sensor.

Tahap ini dilakukan guna memahami prinsip kerja Flex Sensor dan bisa

mengetahui karakterFlex Sensor.

d. Menguji motor servo.

Tahap ini dilakukan guna memahami prinsip kerja motor servo dan bisa

mengetahui karakter motor servo.

e. Mengujiservo controller.

Tahap ini dilakukan guna memahami prinsip kerja servo controller baik secara

sekuensial maupun bersamaan dan mengetahui cara menggunakan antarmuka pada

servo controller.

f. Menguji rangkaian kendali dengan mikrokontroler Arduino.

Tahap ini guna lebih memahami bahasa yang digunakan mikrokontroler Arduino

dan lebih memahami cara kerja dengan mencoba membuat rangkaian kendali

(25)

g. Perancangan sistemhardwaredansoftware.

Tahap ini bertujuan untuk mencari dan menentukan komponen-komponen suatu

sistem yang akan dibuat dengan mempertimbangkan faktor-faktor permasalahan

dan kebutuhan yang telah ditentukan.

h. Pembuatan sistemhardwaredansoftware.

Berdasarkan gambar mikrokontroler sebagai kontrol utama. Mikrokontroler yang

digunakan adalah Arduino Mega 2560 dan Arduino Uno R3. Data dihasilkan oleh

Flex Sensor akan diproses oleh Arduino Uno R3, data tersebut digunakan sebagai

data posisi lengan pengguna atau user. Data yang telah diproses oleh Arduino Uno

R3 akan dikomunikasikan secara serial ke Arduino Mega 2560. Motor servo

sebagai penggerak atauaktuator akan digerakkan oleh Adafruit 16-Channel Servo

Driveryang dihubungkan Arduino Mega 2560 dengan komunikasi I2C.

Gambar 1.1. Blok diagram lengan robot peniru gerakan tangan manusia

i. Proses pengujian dan pengambilan data.

Teknik pengambilan data dilakukan dengan cara menguji keseluruhan sistem

dengan menggabungkan antara rangkaian kendali dengan rangkaian aktuator dan

sensor. Pengujian dilakukan dengan menghubungkan Flex Sensordengan Arduino

Uno. Pengambilan data yang dilakukan dengan mengambil data sudut yang dapat

dijangkau oleh sensor. Dari data tersebut makan akan digunakan untuk

menggerakkan motor servo yang dikontrol oleh servo driver yang dihubungkan

(26)

j. Analisa dan kesimpulan hasil perancangan.

Analisa data dilakukan dengan mengecek apakah alat sudah bekerja sesuai dengan

perancangan awal dan bisa sesuai dengan kondisi yang diinginkan, meliputi

kemampuan Arduino Uno yang dapat mengolah data yang dikeluarkan oleh Flex

Sensorketika sensor tersebut dibengkokkan. Motor servo dapat bergerak mengikuti

gerakan tangan pengguna atau user. Penyimpulan hasil perancangan dilakukan

(27)

6

BAB II

TINJAUAN PUSTAKA dan LANDASAN TEORI

2.1.

Mikrokontroler

Mikrokontroler adalah salah satu dari bagian dasar dari suatu sistem komputer.

Meskipun mempunyai bentuk yang jauh lebih kecil dari suatu komputer pribadi dan

komputer mainframe, mikrokontroler dibangun dari elemen-elemen dasar yang sama.

Secara sederhana, komputer akan menghasilkan output spesifik berdasarkan inputan yang

diterima dan program yang dikerjakan.

Seperti umumnya komputer, mikrokontroler adalah alat yang mengerjakan

instruksi-instruksi yang diberikan kepadanya. Artinya, bagian terpenting dan utama dari

suatu sistem terkomputerisasi adalah program itu sendiri yang dibuat oleh seorang

programmer. Program ini menginstruksikan komputer untuk melakukan jalinan yang

panjang dari aksi-aksi sederhana untuk melakukan tugas yang lebih kompleks yang

diinginkan oleh programmer [ 2 ].

Perkembangan mikrokontroler sangat pesat. Saat ini jenis-jenis mikrokontroler

memiliki berbagai macam jenis, bentuk, fungsi yang beragam. Mikrokontroler dapat

diprogram sesuai dengan keinginan pengguna atau user dengan program tertentu yang akan dimasukkan kedalam mikrokontroler tersebut. Bahasa pemrograman untuk

mikrokontroler tersebut bermacam-macam yang digunakan, sebagai contohnya bahasa C,

C++, basic, dan assembly. Bahasa tersebut digunakan sesuai dengan mikrokontroler yang

digunakan. Pada penelitian ini, penulis menggunakan mikrokontroler tertentu yaitu :

arduino.

Arduino adalah sebuah platform elektronik yang open source. Arduino yang digunakan adalah Arduino Mega 2560 R3 dan Arduino Uno R3. Bahasa pemrograman

yang digunakan oleh arduino adalah bahasa C. Arduino memiliki pemrograman sendiri

yang dikenal dengan Integrated Development Environment (IDE). Pemrograman tersebut digunakan untuk menulis program yang nanti akan diunggah kedalam Arduino. Program

tersebut dapat berfungsi pada beberapa sistem operasi seperti Windows, Macintosh, dan

(28)

tersebut dapat dilakukan dengan komunikasi serial. Komunikasi tersebut memanfaatkan

porttx dan rx pada Arduino.

2.1.1. Arduino Mega 2560 R3

Gambar 2.1. TampilanArduino Mega2560 R3 [3]

Arduino Mega 2560 adalah sebuah board mikrokontroler yang berbasis pada IC ATmega 2560. Arduino Mega 2560 memiliki 54 buah pin digital yang dapat digunakan sebagai input ataupun output. Dari 54 buah pin tersebut, 15 pin diantaranya dapat digunakan sebagai output Pulse Width Modulation (PWM), memiliki 16 buah pin analog input, 4 buah pin UART yang berfungsi sebagai port serial hardware, sebuah osilator kristal 16 MHz, sebuah jack femaleuntuk koneksi USB, jack femaleadaptor, dan sebuah tombolreset[3].

IC mikrokontroler yang digunakan pada penelitian ini adalah ATmega 2560.

Mikrokontroler ATmega 2560 berbentuk persegi dengan jumlah pin sebanyak 100 buah

pin [4]. ATmega 2560 memiliki kemampuan untuk mengeksekusi instruksi program dalam

satu siklusclocktunggal, sehingga ATmega 2560 mampu mengoptimalkan konsumsi daya dibandingkan kecepatan pemrosesan program. Gambar 2.2. dan Tabel 2.1. menjelaskan

(29)

Gambar 2.2. Alokasi penempatan pin ArduinoMega2560 R3 [3]

Tabel 2.1. Keterangan Pin Arduino Mega 2560 R3 [3]

No. Parameter Keterangan

1 ATmega 2560 IC mikrokontroler yang digunakan pada Arduino Mega 2560.

2 JackUSB Untuk komunikasi mikrokontroler dengan PC

3 JackAdaptor Masukan power eksternal bila Arduino bekerja mandiri (tanpa komunikasi dengan PC melalui kabel serial USB).

4 TombolReset Tombol reset internal yang digunakan untuk mereset modul Arduino.

5 PinAnalog Menerima input dari perangkat analog lainnya.

6 PinPower

 Vin = Masukan tegangan input bagi Arduino ketika

menggunakan dumber daya eksternal.

 5 V = Sumber tegangan yang dihasilkan regulator internal

board Arduino.

 3,3 V = Sumber tegangan yang dihasilkan regulator internal

boardArduino. Arus maksimal pada pin ini adalah 50 mA.  GND = Pingrounddari regulator teganganboardArduino.  IOREF = Tegangan Referensi.

 AREF = Tegangan Referensi untukinput analog. 1

3

6 5 12

(30)

Tabel 2.1. (Lanjutan) Keterangan Pin Arduino Mega 2560 R3 [3]

7 Light-Emitting Diode(LED)

Pin digital 13 merupakan pin yang terkoneksi dengan LED internal Arduino.

8 Pin PWM Arduino Mega menyediakan 8 bit output PWM. Gunakan fungsianalogWrite()untuk mengaktifkan pin PWM ini.

9 PinSerial

Digunakan untuk menerima dan mengirimkan data serial TTL

(Receiver(Rx),Transmitter(Tx)). Pin 0 dan 1 sudah terhubung kepada pin serial USBtoTTL sesuai dengan pin ATmega.

10 PinTwo Wire Interface(TWI)

Terdiri dariSerial Data Line(SDA) danSerial Interface Clock (SCL).

11 Pin Digital Pin yang digunakan untuk menerimainput digitaldan memberi outputberbentuk digital (0 dan 1 ataulowdanhigh)

12

PinSerial Peripheral Interface(SPI)

Terdiri dari 4 buah Pin :

1. Master In Slave Out(MISO)

Jalurslaveuntuk mengirimkan data keMaster. 2. Master Out Slave In(MOSI)

Jalurmasteruntuk mengirimkan data ke peralatan. 3. Serial Clock(SCK)

Clockyang berfungsi untuk memberikan denyut pulsa ketika sedang menyinkronkan transmisi data olehmaster

4. Slave Select(SS)

Pin untuk memilih jalurslavepada perangkat tertentu.

2.1.2. Arduino Uno R3

(31)

Arduino Uno R3 adalah mikrokontroler menggunakan ATmega328. Uno memiliki

14 pin input/output digital (dimana 6 pin dapat digunakan sebagai output PWM), 6 input

analog, 16 MHz osilator kristal, koneksi USB, jack power, ICSP header, dan tombol reset

[5] . Secara spesifikasi, Arduino Uno sama dengan Duemilanove, dan Uno diluncurkan di

tahun 2010 sedangkan Duemilanove diluncurkan di tahun 2009.

Gambar 2.4. Alokasi penempatan pin ArduinoUno R3[6]

Tabel 2.2. Keterangan Pin Arduino Uno R3 [6]

No. Parameter Keterangan

1 ATmega 328 IC mikrokontroler yang digunakan pada Arduino Uno R3.

2 JackUSB Untuk komunikasi mikrokontroler dengan PC

3 JackAdaptor Masukan power eksternal bila Arduino bekerja mandiri (tanpa komunikasi dengan PC melalui kabel serial USB).

4 TombolReset Tombol reset internal yang digunakan untuk mereset modul Arduino.

5 PinAnalog Menerima input dari perangkat analog lainnya.

8 7

6

2 4

1

5 6

(32)

Tabel 2.2. (Lanjutan) Keterangan Pin Arduino Uno R3 [6]

6 PinPower

 Vin = Masukan tegangan input bagi Arduino ketika

menggunakan dumber daya eksternal.

 5 V = Sumber tegangan yang dihasilkan regulator internal

board Arduino.

 3,3 V = Sumber tegangan yang dihasilkan regulator internal

boardArduino. Arus maksimal pada pin ini adalah 50 mA.  GND = Pingrounddari regulator teganganboardArduino.  IOREF = Tegangan Referensi.

 AREF = Tegangan Referensi untukinput analog.

7 PinDigital Pin yang digunakan untuk menerima input digital dan memberi outputberbentuk digital (0 dan 1 ataulowdanhigh)

8 PinSerial

Digunakan untuk menerima dan mengirimkan data serial TTL

(Receiver (Rx), Transmitter (Tx)). Pin 0 dan 1 sudah terhubung kepada pin serial USBtoTTL sesuai dengan pin ATmega.

2.1.3. Perangkat Lunak Arduino

Area pemrograman Arduino dikenal dengan Integrated Development Environment (IDE) [7]. Area pemrograman yang digunakan untuk menulis baris program dan

mengunggahnya ke dalam board Arduino, disamping itu juga dibuat lebih mudah dan dapat berjalan pada beberapa sistem operasi seperti Windows, Macintosh, dan Linux [8].

Gambar 2.11 dan Tabel 2.3 merupakan area pemrograman Arduino dan keterangan

beberapa tombol utama.

(33)

Tabel 2.3. Keterangan Tombol Pada Tampilan IDEArduino[8]

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 Membuatsketchyang baru

4 Open Membukasketchyang sudah ada

5 Save Menyimpansketch

6 Serial

Monitor

Menampilkan data yang dikirim dan diterima

melalui komunikasi serial.

IDE Arduino membutuhkan beberapa pengaturan yang digunakan untuk

mendeteksi board Arduino yang sudah dihubungkan ke komputer. Beberapa pengaturan tersebut adalah mengatur jenis boardyang digunakan sesuai denganboardyang terpasang dan mengatur jalur komunikasi data melalui perintah Serial Port. Kedua pengaturan tersebut dapat ditemukan padapull down menu Tools.

2.2.

Motor DC Servo

Motor DC Servo ( DC-SV ) pada dasarnya adalah motor DC-Magnet Permanen

dengan kualifikasi khusus yang sesuai dengan aplikasi “servoring” di dalam teknik control.

Dalam kamus Oxford istilah “servo” diartikan sebagai “a mechanism that controls a larger

mechanism”.

Beberapa tipe motor DC-SV yang dijual bersama dengan paket rangkaian drivernya

telah memiliki rangkaian control kecepatan yang menyatu didalamnya. Putaran motor tidak

(34)

yang berfungsi sebagai referensi kecepatan output [9]. Dalam skema dapat digambarkan

pada gambar 2.6.

Gambar 2.6. Skema ekivalen motor DC Servo dengan kontrol kecepatan [9]

2.2.1. RC Servo

Dalam dunia hobby radio control ( RC ) dikenal istilah motor RC Servo yang

memiliki makna yang sedikit berbeda dengan motor DC Servo yang dibicarakan

sebelumnya. Motor RC Servo sering disingkat servo saja beroperasi berdasarkan control

posisi pada poros Servo-nya.

Berdasarkan model servo yang tersedia dipasaran dengan spesifikasi yang

bermacam-macam. Pada umumnya servo memiliki memerlukan sinyal input dapam bentuk

PWM dengan jangkauan gerakan poros outputnya berkisar antara -120o-+120o[9]. Gambar 2.7. mengilustrasikan hubungan bentuk sinyal kontrol input dengan posisi poros output

servo.

(35)

Gambar 2.8. Motor RC Servo [10]

Gambar 2.9. Konstruksi motor servo [10]

Jenis-jenis Motor Servo:

1. Motor Servo Standar

Motor servo jenis ini hanya mampu bergerak dua arah (CW dan CCW) dengan

defleksi masing-masing sudut mencapai 90° sehingga total defleksi sudut dari

(36)

2. Motor Servo Continuous

Motor servo jenis ini mampu bergerak dua arah (CW dan CCW) tanpa batasan

defleksi sudut putar (dapat berputar secara kontinyu) dengan kata lain dapat

berputar 360o. [10]

2.3.

Torsi

Torsi merupakan bagian dari gaya yang diterima oleh motor. Perhitungan torsi

tergantung pada panjang dari setiap link lengan robot dan berat beban yang diterima oleh

lengan robot tersebut [11]. Perhitungan torsi dapat diperoleh dengan menggunakan

persamaan dibawah ini :

= ( 2.1 )

= ( 2.2 )

= ( 2.3 )

Dimana, =

= ( 2.4 )

Dalam pemilihan motor servo yang akan digunakan dapat dilihat dari kecepatan

dan torsi yang dimiliki oleh motor servo tersebut. Kecepatan dan torsi motor servo

berbeda-beda tergantung dari model atau tipe motor servo. Dengan memperhitungkan torsi

motor servo terlebih dahulu maka dapat dengan mudah untuk menentukan model atau tipe

dari motor servo yang akan digunakan.

2.4.

One-Directional Flex Sensor

Flex Sensor merupakan sensor yang berbentuk tipis seperti pita, dengan panjang 4,5

inchi. Flex sensor bekerja seperti variabel resistor dengan nilai resistensi yang dapat

(37)

Gambar 2.10.Flex Sensor[12]

Flex sensor dapat diterapkan dalam berbagai teknologi, beberapa teknologi yang

dapat menggunakan flex sensor adalah alat-alat medis, produk-produk olahraga, kontrol

industri, instrumen musik, alat ukur dan terapi fisik [13]. Pada kondisi lurus memiliki

resistansi 10Kohm dan pada saat dibengkokkan memiliki resistansi 60Kohm hingga

110Kohm. Resistensi Flex Sensor memiliki toleransi hingga 30%. Keluaran dari Flex

Sensor memiliki nilai yang linier pada pertambahannya. Flex Sensor memiliki panjang 4,5

inchi [14].

Flex sensor tersebut akan dihubungkan ke mikrokontroler, khususnya pada bagian

Vout dihubungkan padainput analog. Input analog pada Arduino memiliki ADC (Analog to Digital Converter ). ADC ( Analog to Digital Converter ) dapat membaca 10 bit data dengan resolusi cukup besar yaitu 1024.

(38)

= ∗ (2.5)

ADC ( Analog to Digital Converter ) digunakan untuk tegangan 0 hingga 5 volt. Agar dapat membaca nilai 0 hingga 5 volt maka dibuat rangkian pembagi tegangan dengan

resolusi 0 hingga 5 volt. Rumus yang digunakan untuk menghitung Vout pada rangkaian

pembagi tegangan yaitu sama seperti gambar 3.6 , dimana nilai R1 merupakan nilai dari

Flex Sensor yang dapat berubah nilai resistensinya . Nilai pada R2 merupakan nilai resistor

yang tetap nilai resistensinya.

2.5.

Adafruit 16-Channel 12-Bit PWM / Servo Shield – I2C Interface

Gambar 2.12. GambarAdafruit 16-Channel 12-Bit PWM / Servo Shield – I2C Interface[15]

Adafruit 16-Channel 12-Bit PWM / Servo Shield – I2C Interfacemerupakan modul pengendali motor servo yang dapat mengendalikan hingga 16 motor servo pada setiap

board shield. Servo shield ini memiliki 6 alamat yang berbeda untuk mengontrol gerakan motor servo sehingga dapat di cascade hingga 62 board dan dapat mengendalikan 992

motor servo secara bersamaan. Selain itu servo shield ini menggunakan antar muka komunikasi I2C untuk mengkontrol gerakan motor servo.

(39)

supply untuk driver dengan motor servo terpisah. Power supply untuk driver servo langsung terhubung dengan arduino, sedangkan power supply untuk motor servo dihubungkan dengan menyambungkan kabel dari luar dan memiliki tegangan 5 vdc 2A.

Terdapat pengaman pada konektor untuk power supply motor servo apabila terjadi

kesalahan pada saat menyambungkan sehingga polaritasnya terbalik [15]

.

2.6.

Komunikasi Serial

Komunikasi serial merupakan komunikasi data dengan pengiriman data secara satu per

satu pada waktu tertentu. Komunikasi data serial hanya menggunakan dua kabel yaitu kabel

data untuk pengiriman yang disebut transmit ( TX ) dan kabel data untuk penerimaan yang disebut receive ( RX ). Kelebihan dari komunikasi serial adalah jarak pengiriman dan penerimaan dapat dilakukan dalam jarak yang cukup jauh dibandingkan dengan komunikasi

parallel tetapi kekurangannya kecepatannya lebih lambat dibandingkan komunikasi parallel.

Dalam komunikasi serial dikenal ada duamodekomunikasi serial:

a.Mode Sinkron

Mode sinkron merupakan mode komunikasi yang pengiriman tiap bit data dilakukan dengan menggunakan sinkronisasi clock. Saat transmitter hendak mengirimkan data, harus disertaiclockuntuk sinkronisasi antaratransmitterdanreceiver.

b.Mode Asinkron

Komunikasi asinkron serial merupakan sebuah protocol transmisi asinkronous,

dimana komunikasi ini tidak menggunakan clock, tetapi telah memiliki baudrate yang telah disepakati oleh masing-masing sistem yang sedang berkomunikasi. Kerja dari

komunikasi ini adalah, signal start dikirimkan pada saat sebelum data dikirimkan dan signal stop dikirimkan setelah setiap data selesai dikirimkan. Signal startdigunakan untuk mempersiapkan mekanisme penerimaan untuk menerima dan memproses data yang akan

dikirimkan dan signal stop berguna untuk mempersiapkan mekanisme penerimaan data berikutnya.

Berikut ini adalah protocol pengiriman data secara serial asinkron :

1. Start bit selalu berlogic LOW

(40)

3. Parity bit

4. Stop bit selalu berlogic HIGH IDLE jika tidak ada pengiriman data

selanjutnya.[16]

2.7.

Komunikasi I

2

C

Bus adalah sistem pengantar yang dilengkapi dengan komponen pengendali untuk

melayani pertukaran data antara komponen hardware satu dengan komponen hardware lainnya. Sistem pada mikrokontroler terdapat bus Data, bus Alamat, dan beberapa

pengantar pengendali. Semakin tinggi frekuensiclockprosesor, maka semakin lebih cermat pengembang untuk memperhatikan timingdari seluruh komponen yang terlibat, agar tidak terjadi kesalahan dalam transaksi data.

Bus yang cukup sering digunakan adalah bus bersifat paralel. Transaksi data

dilakukan secara paralel sehingga transaksi data lebih cepat, akan tetapi disisi lain Mahal.

Jika sistem relatif tidak membutuhkan transaksi yang cepat, maka penggunaan Serial Bus

menjadi pilihan. Salah satu pilihan sistem data bus yang sering digunakan adalah I2C

(Inter Integrated Circuit). Sistem Bus I2C pertamakali diperkenalkan oleh Firma Philips

pada tahun 1979.

Karakter I2C :

1. Serial Bus Data dikirim serial secara per-bit.

2. Menggunakan dua Penghantar Koneksi dengan ground bersama I2C terdiri dari dua

penghantar:

 SCL (Serial Clock Line) untuk menghantarkan sinyalclock.  SDA (Serial Data) untuk mentransaksikan data

3. Jumlah Peserta Busmaximal127 peserta dialamatkan melalui 7-bit-alamat. Alamat ditetapkan kebanyakan secarahardwaredan hanya sebagian kecil dapat dirubah. 4. Pengirim dan Penerima setiap transaksi data terjadi antara pengirim (Transmitter)

dan penerima (Receiver). Pengirim dan penerima adalah peserta bus.

(41)

Aturan Komunikasi I2C :

1. I2C adalah protokol transfer data serial. Device atau komponen yang mengirim data

disebut transmitter, sedangkan device yang menerimanya disebut receiver.

2. Deviceyang mengendalikan operasi transfer data disebut master, sedangkandevice lainnya yang dikendalikan oleh master disebut slave.

3. Master device harus menghasilkan serial clock melalui pin SCL, mengendalikan akses ke BUS serial dan menghasilkan sinyal kendali START dan STOP.

Definisi-definisi Kondisi Bus :

1. Bus not busy:

Pada saat ini Bus tidak sibuk, SCL dan SDA dua-duanya dalam keadaan HIGH.

2. Start data transfer:

Ditandai dengan perubahan kondisi SDA dari HIGH ke LOW ketika SCL HIGH.

3. Stop data transfer:

Ditandai dengan perubahan kondisi SDA dari LOW ke HIGH ketika SCL HIGH.

4. Data valid:

Data yang dikirim bit demi bit dianggap valid jika setelah START, kondisi SDA

tidak berubah selama SCL HIGH, baik SDA HIGH maupun SDA LOW tergantung

dari bit yang ingin ditransfer. Setiap siklus HIGH SCL baru menandakan

pengiriman bit baru. Duty cycle untuk SCL tidak mesti 50%, tetapi frekuensi kemunculannya hanya ada 2 macam, yaitu mode standar 100kHz dan fast mode

atau mode cepat 400kHz. Setelah SCL mengirimkan sinyal HIGH yang kedelapan,

arah transfer SDA berubah, sinyal kesembilan pada SDA ini dianggap sebagai

acknowledgedarireceiverketransmitter. 5. Acknowledge:

(42)

penentu sinyal STOP. Pada bit-akhir penerimaan byte terakhir, master tidak

mengirimkan sinyal acknowledge, SDA dibiarkan HIGH oleh receiver dalam hal ini master, kemudian master mengubah SDA dari LOW menjadi HIGH yang berarti

sinyal STOP.

2.7.1. Mode Pengoperasian Transfer Data

Tergantung kondisi bit R/W, 2 jenis transfer dimungkinkan, yaitu :

1. Data transfer from a master transmitter to a slave receiver.

Byte pertama yang dikirimkan oleh master adalah alamat slave, setelah itu master

mengirimkan sejumlah byte data. Slave atau receiver mengirimkan sinyal

acknowledge setiap kali menerima 1-byte data. Pada tiap byte, bit pertama yang dikirim adalah MSB.

Gambar 2.13. GambarData transfer from a master transmitter to a slave receiver [17]

2. Data transfer from a slave transmitter to a master receiver.

Meskipun master berperan sebagai receiver, byte pertama dikirimkan oleh master berupa alamat slave. Setelah itu slave mengirimkan bit acknowledge, dilanjutkan dengan pengiriman sejumlah byte dari slave ke master. Master mengirimkan bit

acknowledge untuk setiap byte yang diterimanya, kecuali byte terakhir. Pada akhir

byte, master mengirimkan sinyal ‘not acknowledge’, setelah itu master

(43)
(44)

23

BAB III

PERANCANGAN SISTEM

Bab ini menjelaskan mengenai perancangan lengan robot mengikuti gerakan tangan manusia berbasis mikrokontroler. Perancangan sistem yang akan dibahas pada bab ini terdiri dari dua bagian, yaitu perangkat keras (hardware) dan perangkat lunak (software). Perancangan sistem yang dibahas dalam bab ini terbagi dalam dua bagian besar, yaitu:

a. Perancangan perangkat keras  Perancangan Mekanik.

 Perancangan Rangkaian Elektrik Sistem Pengendali b. Perancangan perangkat lunak

 Perangkat lunak programFlex Sensor.  Perangkat lunak program Motor Servo.

3.1.

Perancangan Perangkat Keras (

Hardware

)

Perancangan perangkat keras terbagi menjadi Perancangan Blok Diagram Sistem, Perancangan Mekanik, Rangkaian Flex Sensor dan Motor Servo serta Rangkaian Pengendali Utama. Perancangan perangkat keras, terlebih dahulu dilakukan perancangan blok diagram dari keseluruhan sistem serta rancangan gambar 3D yang akan dibuat.

Gambar 3.1. Blok diagram sistem

Gambar 3.1 merupakan blok diagram sistem. Blok diagram tersebut, perangkat keras yang akan dibuat terdiri dari lima bagian, yaitu Flex Sensor, Arduino Uno R3, Arduino Mega 2560, Adafruit16-Channel 12-Bit PWM / Servo Shield – I2C Interface, dan

Arduino Uno R3 Arduino Mega 2560 Kom. Serial Flex Sensor Motor Servo Adafruit 16-channel servo shield Kom.

I2C

(45)

Motor Servo. Terletak pada bagian lengan manusia atau user, yaitu Flex Sensor dan Arduino Uno R3 sedangkan bagian lengan robot terdapat yaitu Arduino Mega 2560, Adafruit 16-Channel 12-Bit PWM / Servo Shield – I2C Interface, dan Motor Servo. Sensor yang digunakan adalah Flex sensor. Flex sensor tersebut dipasangkan pada lengan manusia atau user. Lengan manusia atau user yang diberi Flex sensor terdapat pada bagian sendi, antara lain: pergelangan tangan, siku, bahu, dan dibagian dada dibawah tulang selangka ( berseberangan dengan tulang belikat).

Output Flex sensor berupa resistansi yang memiliki nilai hambatan mulai dari 10Kohm – 40Kohm, nilai hambatan tersebut berubah secara linear. Menggunakan rangkaian pembagi tegangan pada Flex sensor tersebut sehingga dapat merubah nilai tegangan yang akan dibaca oleh mikrokontroler Arduino Uno. Nilai tegangan yang diubah oleh Flex sensor memiliki rentang nilai 0 volt hingga 5 volt. Output dari rangkaian pembagi tegangan tersebut dihubungkan pada port analog inputArduino Uno. Bagianport analog inputArduino Uno sudah memiliki ADC (Analog to Digital Converter) sehingga mikrokontroler tersebut dapat membaca nilai tegangan yang keluar dari rangkaian sensor tersebut.

Data analog yang dibaca oleh mikrokontroler Arduino Uno diolah dan dihitung sehingga dapat menghasilkan nilai yang dapat digunakan untuk menggerakkan motor servo. Data dari Arduino Uno dimasukkan kedalam register sebelum dikirim ke Arduino Mega 2560. Komunikasi antara Arduino Uno dengan Ardunio Mega 2560 dihubungkan secara komunikasi serial, dengan menghubungkan port TX dan RX pada Arduino Uno dan Arduino Mega 2560.

Data yang diterima oleh Arduino Uno R3 diolah, sehingga dapat digunakan untuk menggerakkan motor servo yang dibantu oleh servo controller. Servo Controller yang digunakan adalah Adafruit 16-Channel 12-Bit PWM / Servo Shield – I2C Interface. Arduino Mega 2560 digunakan untuk mengirim pulsa-pulsa yang nantinya akan digunakan untuk menggerakkan motor servo. Arduino Mega 2560 dengan Adafruit 16-Channel 12-Bit PWM / Servo Shield – I2C Interface dihubungkan secara komunikasi I2C. Komunikasi I2C tersebut menggunakan port SDA ( Serial Data )dan SCL ( Serial Clock ) untuktransfer data.

(46)

digunakan berjumlah lima buah. Motor servo tersebut digunakan sebagai aktuator lengan robot tersebut. Motor servo tersebut menggerakkan bagian-bagian lengan robot antara lain bagian Base,Shoulder,Elbow, danPitch. Bagian Shoulderterdapat dua buah motor servo sebagai penggeraknya dan memiliki torsi yang paling besar daripada yang lainnya, dikarenakan bagian tersebut yang menerima beban yang paling besar. Lengan robot tersebut dapat bergerak sesuai ( meniru ) dengan gerakkan lengan manusia atauuser.

3.1.1. Perancangan Mekanik

Gambar 3.2. merupakan gambar keseluruhan design 3D lengan robot peniru gerakan tangan manusia. Lengan robot peniru greakan tangan manusia disusun dengan 5 bagian utama sebagai aktuator yang akan digerakkan dengan motor RC servo. Kelima bagian utama ini disebut sebagai penghubung atau link. Sedangkan bagian yang berperan sebagai penggerak (sendi) berdasarkan gerakkan motor RCservodisebut sebagaijoint.

Gambar 3.2. menampilkan keseluruhan design perancangan mekanik 3D lengan robot peniru gerakan tangan manusia beserta lima bagian utama pada robot yang berperan sebagai penghubung (link), yang meliputi :

1. Base(bagian dasar) 2. Shoulder(bagian bahu) 3. Elbow(bagian siku) 4. Pitch(bagian pergelangan) 5. End Effector(bagian ujung robot) 6. MotorBase

7. MotorShoulder A 8. Motorshoulder b 9. Motorelbow 10. Motorpitch

Gambar 3.2.Design3D keseluruhan lengan robot

(47)

Gambar 3.3. merupakan design 3D bagian dasar (base) berbentuk lingkaran yang berdiameter 25cm. Base terhubung dengan sebuah as yang memanjang ke bawah dan mempunyai roda gigi. Roda gigi pada as berhubungan dengan roda gigi pada sebuah motor RC servoyang digunakan sebagai penggerak base. Basebergerak secara rotasi dan dapat menyebabkan perubahan posisi pada lengan-lengan penghubung yang lain.

Gambar 3.3. Gambar posisigearpemutarbaseyang dicoupledengan motor servo

Bagian shouldermemiliki panjang lengan 18cm dan bergerak secara rotasi dengan 2 buah motor RCservo. Bagianelbowmemiliki panjang lengan 12cm dan bergerak secara rotasi dengan sebuah motor RC servo. Bagian pitch memiliki panjang lengan 5cm dan bergerak secara rotasi dengan sebuah motor RC servo. Bagian paling ujung adalah end effector digunakan untuk menunjukkanend point dari lengan robot tersebut. Panjang end effector sampai ujung 7cm. End effector tersebut menggunakan sebuah spidol sebagai ujungnya. Total keseluruhan panjang lengan robot peniru gerakan tangan manusia dari pangkal shoulder sampai pada ujungend effector adalah 42cm. Besarnya dimensi berupa panjang yang dimiliki oleh keseluruhan penghubung (link) menentukan kemampuan sebagai jangkauan lengan robot ketika melakukan gerakkan.

(48)

sudut-sudut yang terjadi pada setiap penghubung (link) dari titik acuan awal yaitu pada bagian pangkal dari bahu (shoulder).

Motor RCservoyang digunakan sebanyak 5 buah. Pemilihan motor RCservoyang digunakan pada setiap jointberdasarkan pada kemampuan yang harus dimiliki setiapjoint untuk mengangkat beban. Beban dapat berupa lengan (link) dan benda yang diangkat. Kemampuan motor untuk berputar dengan suatu beban merupakan gaya putar yang disebut torsi (torque). Berikut ini perkiraan berat lengan penghubung (link) pada perancangan lengan robot:

Tabel 3.1. Tabel perkiraan berat lengan dan beban yang diangkat lengan pada perancangan lengan robot

NO. Lengan Penghubung (link) Perkiraan Berat setiap lengan

Beban yang diangkat setiap lengan 1. End effector 100gr 100gr

2. Pitch 120gr 220gr

3. Elbow 200gr 420gr

4. Shoulder 500gr 920gr 5. Base 200gr 200gr

(49)

Gambar 3.4.Design end effector

Gambar 3.4. merupakan gambar design end effector yang akan digunakan pada ujung lengan robot peniru gerakan tangan manusia. Bagian ini dirancang memiliki berat maksimal adalah 100gram dan memiliki ujung berupa spidol yang bebannya cukup ringan.

Beban pada ujung robot cukup ringan sehingga gerakan robot tidak terbebani cukup besar oleh end effector. Ujung berupa spidol maka lengan robot tersebut dapat dengan mudah dibandingkan gerakannya, apakah gerakannya sama seperti gerakan lengan manusia atauuser.

Bagianpitchbeban yang harus diangkat adalah 220gram karena bagianpitchselain mengangkat lengannya sendiri juga harus mengangkat seluruh bagian gripper. Bagian pitchmemiliki panjang 5 cm dan bagiangrippersampai ujung jari memiliki panjang 7 cm, sehingga panjang lengan yang harus diangkat adalah 12 cm. Berikut adalah perhitungan untuk merancang torsi pada bagianpitchberdasarkan persamaan 2.1. dan 2.2. :

= 220 = 0,22

= 12

= = 0,22 ∗ 10 ⁄ = 2,2 = 2,2 ⁄

2,2 ∗ 0,1 = 0,22

Dimana,1 = 0,1

(50)

Bagian elbow beban yang harus diangkat adalah 420 gram, sedangkan panjang lengan yang harus diangkat motor RC servo adalah 24 cm yang dihitung dari panjang lengan elbow, panjang lengan pitch dan panjangend effector. Kebutuhan torsi motor RC servopada perancangan lengan robot berdasarkan persamaan 2.1. dan 2.2. :

= 420 = 0,42

= 24

= = 0,42 ∗ 10 ⁄ = 4,2 = 4,2 ⁄

4,2 ∗ 0,1 = 0,42

Dimana,1 = 0,1

= = 0,42 ∗ 24 = 10,08 .

Bagian shoulder beban yang harus diangkat adalah 920 gram, sedangkan panjang lengan yang harus diangkat motor RC servo adalah 42 cm yang dihitung dari panjang lengan shoulder, panjang lengan elbow, panjang lengan pitch dan panjang end effector. Kebutuhan torsi motor RC servo pada perancangan lengan robot berdasarkan persamaan 2.1. dan 2.2. :

= 920 = 0,92

= 42

= = 0,92 ∗ 10 ⁄ = 9,2 = 9,2 ⁄

9,2 ∗ 0,1 = 0,92

Dimana,1 = 0,1

(51)

Berdasarkan perhitungan kebutuhan torsi pada bagian shoulder memang menunjukkan torsi yang dibutuhkan sangat besar. Hal tersebut akan membuat kesulitan tersendiri dalam mencari motor RC servodengan torsi yang sangat besar. Oleh sebab itu, pada bagian shoulder perancangan menggunakan 2 buah motor RC servo dengan torsi masing-masing motornya lebih besar dari 19,32 Kg.cm (38,64 Kg.cm : 2 = 19,32 Kg.cm) yang akan dipasang padashoulder 1danshoulder 2.

Gambar 3.5. Tampilan seluruhnyadesigngambar 3D lengan robot

Gambar 3.5. merupakan seluruh tampilan design lengan robot. Lengan robot tersebut memiliki 3 buah sumbu koordinat, yaitu X, Y, dan Z. Koordinat tersebut berguna untuk mengetahui posisi dariend pointlengan robot tersebut.

Design lengan robot yang dikendalikan oleh motor servo memiliki gerakan yang terbatas. Motor servo yang digunakan memiliki batas putar. Batas putar motor servo yang digunakan adalah 1800. Tetapi sudut yang digunakan pada lengan robot tidak digunakan pada posisi maksimal. Sudut yang digunakan disesuaikan dengan sudut maksimal pada lengan manusia atau user. Sudut maksimal yang dapat di jangkau oleh lengan robot sebagai berikut :

X Y a

(52)

Tabel 3.2. Tabel sudut maksimal yang dapat digunakan motor servo sesuai sudut lengan manusia

NO. Lengan Penghubung (link) Panjang lengan Sudut maksimal yang dapat dijangkau 1 Pitch + End Effector 12cm 1800

2 Elbow 12cm 1800

3 Shoulder 18cm 1800

4 Base ( berputar pada poros ) 0cm 1800

3.1.2. Perancangan Elektrik

Perancangan elektrik terbagi menjadi tiga bagian yaitu ; Perancangan rangkaian pengendali utama, Perancangan rangkaian Flex sensor, dan Perancangan rangkaian motor servo. Rangkaian pengendali utama merupakan rangkaian yang menjadi otak dari lengan robot tersebut terdapat mikrokontroler sebagai pengendali. Mikrokontroler yang digunakan adalah Arduino Mega 2560 R3 dan Arduino Uno R3.

Selain itu juga terdapat Servo Controller sebagai driver untuk mengendalikan motor servo. Servo Controllertersebut digunakan agar gerakan dari motor servo tersebut dapat bergerak dengan baik dan tidak terjadinoiseatau gangguan saat motor bekerja.

Terdapat pula rangkaian flex sensor, yang digunakan untuk membaca output dari flex sensor. Output dari flex sensor akan diolah untuk menjadi pengontrol gerakan dari motor servo. Bagian yang ketiga adalah rangkaian motor servo. Penggerak atau aktuator dari lengan robot ini menggunakan motor RC servo. Motor servo tersebut akan digerakkan dengan menggunakan servo controller. Motor servo tersebut dapat bergerak secara bersamaan maupun secara sekuensial.

3.1.2.1. Perancangan Rangkaian pengendali utama

(53)

Arduino Mega 2560 R3 dan Arduino Uno R3 dihubungkan dengan cara komunikasi serial menggunakan UART TTL Arduino, yaitu menggunakan pin TX dan RX untuk melakukan kamunikasi serial. Pin TX Arduino Uno R3 dihubungkan pada pin RX Arduino Mega 2560 dan Pin RX Arduino Uno R3 dihubungkan pada pin TX Arduino Mega 2560 agar dapat berkomunikasi. Komunikasi serial yang digunakan tersebut menggunakan program yang berbeda sehingga dapat menggunakan pin 10 dan pin 11 untuk komunikasi serial, sebagai pengganti pin TX dan pin RX yang sudah ada.

Arduino Mega 2560 dikomunikasikan dengan Adafruit 16-Channel 12-Bit PWM / Servo Shield – I2C Interface. Komunikasi tersebut menggunakan komunikasi I2C, komunikasi tersebut memanfaatkan pin SDA dan SCL pada Arduino Mega 2560 dan pada Adafruit 16-Channel 12-Bit PWM / Servo Shield – I2C Interface.

Gambar 3.6. Gambar koneksi serial tx rx

(54)

Adafruit 16-Channel 12-Bit PWM / Servo Shield – I2C Interface tersebut dapat menggerakkan 16 servo secara bersamaan atau sekuensial. Servo controller tersebut menggunakan sumber tegangan yang terpisah dengan arduino.

Gambar 3.7. Gambar koneksi komunikasi i2c

3.1.2.2. Perancangan Rangkaian Flex sensor

Perancangan rangkaian Flex Sensor, menggunakan rangkaian pembagi tegangan. Alasan menggunakan rangkaian pembagi tegangan dikarenakan keluaran dari Flex Sensor berupa hambatan atau resistensi. Keluaran dari rangkaian pembagi tegangan tersebut akan dihubungkan ke ADC (Analog to Digital Converter) pada Arduino Mega 2560 R3.

(55)

Gambar 3.9. Gambar rangkaianflex sensorpada skematik

Perhitungan yang digunakan pada rangkaian flex sensor mengacu pada persamaan 2.5. persamaan pembagi tegangan sebagai berikut :

R1 = R Flex Sensor = 10Kohm – 40Kohm ; berdasarkan datasheet Spectra Symbol[13]

R2 = 10Kohm Vin = 5 Vdc

 Saat Flex Sensor Lurus ; berdasarkandatasheetSpectra Symbol[13] = 5 ∗ 10

( 10 + 10 )

= 2,5

 Saat Flex Sensor Bengkok ; berdasarkandatasheetSpectra Symbol[13] = 5 ∗ 10

( 40 + 10 )

(56)

Keluaran dari sensor tersebut dihubungkan ke ADC (Analog to Digital Converter) pada Arduino Uno R3 seperti pada gambar 3.10.

Gambar 3.10. Gambar sambunganoutput flex sensorke ADC Arduino.

3.1.2.3. Perancangan Rangkaian Motor servo

Perancangan aktuator yang digunakan adalah motor servo. Motor servo yang digunakan berjumlah 5 buah untuk menggerakkan lengan.

Motor servo tersebut akan dihubungkan secara langsung ke servo controller tanpa perlu menggunakan rangkaian tambahan sebagai pendukung rangkaian tersebut. Motor servo tersebut digerakkan dengan menggunakan Adafruit 16-Channel 12-Bit PWM / Servo Shield – I2C Interface yang dihubungkan dengan Arduino Mega 2560. Antara Adafruit 16-Channel 12-Bit PWM / Servo Shield – I2C Interface dengan Arduino Mega 2560 dihubungkan dengan komunikasi I2C. Komunikasi I2C tersebut menggunakan port SDA dan SCL.

(57)

Port tersebut digunakan untuk transferdata serial antara Servo Controller dengan Arduino. Saat Arduino Mega 2560 tersebut memberikan perintah tertentu pada servo controler, maka servo controller tersebut akan langsung melakukan perintah yang diberikan untuk menggerakkan motor servo tersebut.

Gambar 3.12 GambarPortAdafruit16-Channel 12-Bit PWM / Servo Shield – I2C Interfaceyang akan dihubungkan ke motor servo

3.2.

Perancangan Perangkat Lunak Secara Umum (

Software

)

(58)

mikrokontroler 2 secara I2C, sehingga komunikasi serial antara mikrokontroler 1 dan mikrokontroler 2 tidak terganggu.

Gambar 3.13. Diagram alir perancangan perangkat lunak secara umum

3.2.1. Perangkat Lunak Program Flex Sensor

Gambar 3.14. Diagram alir perancangan perangkat lunak programflex sensor

(59)

pada ADC ( Analog to Digital Converter ) mikrokontroler. Data yang akan dikirimkan berjumlah 4 dan setiap data tersebut dimasukkan dalam sebuah register. Register tersebut dikirimkan secara berurutan ke mikrokontroller 2 dengan komunikasi serial.

3.2.2. Perangkat Lunak Program Motor Servo

Gambar 3.15. Diagram alir perangkat lunak program motor servo

(60)

39

BAB IV

HASIL DAN PEMBAHASAN

Hasil implementasi alat beserta dengan pembahasan pada bab ini dibagi menjadi dua bagian yaitu hasil perancangan pada perangkat keras dan hasil perancangan pada perangkat lunak. Hasil implementasi lengan robot peniru gerakan tangan manusia ini secara keseluruhan sudah sesuai dengan perancangan pada BAB III.

4.1.

Hasil Perancangan Perangkat Keras

Hasil Perancangan perangkat keras pada lengan robot peniru gerakan tangan manusia ini terdiri atas beberapa bagian, diantaranya adalah mekanik lengan robot, elektrik pada bagian robot, elektrik pada bagian lengan manusia. Gambar 4.1. merupakan bagian mekanik lengan robot.

Gambar 4.1. Mekanik lengan robot

Gambar 4.2. merupakan motor servo yang digunakan untuk menggerakkan bagian shoulder, elbow, dan pitch yang disambung dengan end effector. Lengan pitch menggunakan servo Hitec HS-645MG Ultra Torque yang memiliki torsi 8 – 10 kg/cm pada tegangan 4,8 - 6 volt dan menggunakan metal gear. Lengan elbow menggunakan servo TowerPro MG946R yang memiliki torsi 10,5 – 13 kg/cm pada tegangan 4,8 - 6 volt dan menggunakan metal gear. Lenganshoulder menggunakan servo Hitec HS-805MG Mega

1

3

4 2

Keterangan :

(61)

Giant Scale yang memiliki torsi 19,8 – 24,7 kg/cm pada tegangan 4,8 - 6 volt dan menggunakan metal gear. Selain itu motor servo yang digunakan untuk menggerakkan bagian base, motor servo tersebut telah ditambahkan transmisi roda gigi dengan rasio perbandingan 1:1 sehingga putaran bagian base sama dengan putaran motor servo yang ditunjukkan pada Gambar 4.3. Bagianbasemenggunakan servo TowerPro MG946R yang memiliki torsi 10,5 – 13 kg/cm pada tegangan 4,8 - 6 volt dan menggunakanmetal gear.

Gambar 4.2. Motor servo penggerak bagianshoulder, elbow,danpitch

Gambar 4.3. Motorbaseyang dihubungkan dengan transmisigearrasio 1:1 1

Keterangan :

1. MotorPitch 2. MotorElbow 3. MotorShoulder1

dan 2 2

(62)

Hasil perancangan rangkaian elektrik pada bagian robot terdiri dari konektor motor servo, mikrokontroler Arduino Mega 2560, port komunikasi serial, dan servo controller shield. Konektor motor servo digunakan untuk menghubungkan antara motor servo dengan servo controller shield ditunjukkan pada Gambar 4.4. Mikrokontroler Arduino Mega 2560, servo controller shield dan port komunikasi serial dihubungkan secara stackable sehingga tidak memerlukan banyak tempat pada bagian lengan robot. Gambar 4.5. merupakan hasil perancangan rangkaian elektrik yang dihubungkan secarastackable.

Gambar 4.4. Konektor motor servo

Gambar 4.5. Arduino Mega 2560,Servo Controller Shield, danportkomunikasi serial dihubungkan secarastackable

Hasil perancangan elektrik bagian lengan manusia terbagi menjadi : bagian flex sensor, mikrokontroler Arduino Uno, rangkaian pembagi tegangan,portkomunikasi serial, indicator led, dan tombol. Bagian flex sensor terbagi menjadi bagian pitch atau hand,

1

2

3 <

Referensi

Dokumen terkait

1) Perusahaan bangkrut atau dilikuidasi.. Sesuai dengan peraturan pencatatan saham di Bursa Efek, jika sebuah perusahaan bangkrut atau dilikuidasi, maka otomatis saham

dilaksanakan dengan menggunakan alat ukur theodolit dengan mempedomani hasil rekayasa yang telah ditentukan oleh konsultan dan pihak proyek.Pemasangan bowplank

Tujuan dari penelitian ini adalah untuk mengetahui hubungan antara persepsi tentang sistem penggajian menurut lama kerja dengan kepuasan kerja, hubungan antara

Hasil pengumpulan bukti atau evidence yang dihasilkan dari wawancara dan observasi pada Direktorat Keuangan perlu dilakukan audit sistem informasi untuk

Seperti yang diketehaui, bahwa perintah shalat berpengaruh bagi sikap seseorang muslim dalam kesehariannya, tetapi jika dilihat dari segi manfaat, shalat memiliki banyak manfaat

Intisari: Penelitian ini bertujuan untuk mengetahui tingkat toksisitas logam tembaga (Cu) dan logam kadmium (Cd) dengan menentukan nilai LC50 - 48 jam terhadap juwana kuda

Data kuantitatif akseptabilitas paket penggalan II dari calon pengguna produk diperoleh rata-rata sebesar 86,45%, kemudian dapat diinterpretasikan menurut kriteria

Sehingga pada penelitian dilakukan untuk menguji dan mengevaluasi performa pertumbuhan ikan kerapu hibrid “TIKTANG” (hibridisasi antara ikan kerapu batik betina x ikan