• Tidak ada hasil yang ditemukan

Lengan robot penggambar bdang dua dimensi berbasis mikrokontroler dengan pc.

N/A
N/A
Protected

Academic year: 2017

Membagikan "Lengan robot penggambar bdang dua dimensi berbasis mikrokontroler dengan pc."

Copied!
143
0
0

Teks penuh

(1)

ix

ABSTRACT

Robot become a choice to help people to do their job to overcome the problem of

accuracy, security, flexibility and repetitive. Arm Robot is a kind of robot that can help human

works. Research arm robot to draw 2D field. This project is made to demonstrate the

movement of the robot which is controlled remotely. This arm robot is using the human

machine interface (HMI) from the PC and microcontroller-based Arduino Uno R3 so it’s

interesting to learn.

The arm robot in this research consists of joint and link with 4 Degree of Fredom

(4DOF). The actuator of arm robot is RC servo motor. Input from the PC with Visual

Basic6.0. to draw a field of squares, circles and triangles with dimensional parameters. The PC

send data to Arduino Uno R3 in the digital pulses format with serial communication. The

microcontroller reads the serial data input and send data digital pulses. The digital pulses are

sent to the servo motor controller to drive RC servo motors in the process for drawing a 2D

field.

The final result from this research of arm robot using point to point movement is

average success indication from arm robot for repetitive drawing square is 90% and for

drawing triangle is 73%. Average success indication arm robot move to point position of

square is 85%, move to point position of triangle is 86% and move to point position of circle

(some angles) is 21%

(2)

TUGAS AKHIR

LENGAN ROBOT PENGGAMBAR BIDANG DUA

DIMENSI BERBASIS MIKROKONTROLER

DENGAN PC

Siajukan Untuk Memenuhi Salah Satu Syarat

Memperoleh Gelar Sarjana Teknik

Program Studi Teknik Elektro

Oleh:

AGUSTINUS WELLY ASI NUGROHO

NIM : 125114004

PROGRAM STUDI TEKNIK ELEKTRO

JURUSAN TEKNIK ELEKTRO

FAKULTAS SAINS DAN TEKNOLOGI

UNIVERSITAS SANATA DHARMA

YOGYAKARTA

(3)

FINAL PROJECT

ARM ROBOT DRAFTMAN OF TOO DIMENSIONAT

FIETD BASED MICROCONTROTTER OITD PC

Presented as Partial Fullfillment of Requirements

To Obtain the

Sarjana Teknik

Degree

In Study Program of Electrical Engineering

By:

AGUSTINUS WELLY ADI NUGROHO

NIM : 125114004

ETECTRICAT ENGINEERING STUDY PROGRAM

DEPARTMENT OF ETECTRICAT ENGINEERING

FACUTTY OF SCIENCE AND TECDNOTOGY

SANATA DDARMA UNIVERSITY

(4)
(5)
(6)
(7)

vi

HALAMAN PERSEMBAHAN DAN MOTTO HIDUP

MOTTO

The future depends on what we do in the

present. Do the best!

(Study, Pray and Work)

Dengan ini kupersembahkan karyaku ini untuk...

Tuhan Yesus Kristus Pembimbingku yang setia,

Keluargaku dan Saudara-saudaraku yang tercinta,

Teman-teman seperjuanganku,

Dan semua orang yang mengasihiku

(8)
(9)

viii

INTISARI

Robot menoabi pilihan untuk membantu pekeroaan manusia mengatasi masalah

kepresisian, keamanan, fleksibilitas ban pekeroaan yang berulang-ulang. Lengan robot menoabi

salah satu oenis robot yang bapat membantu pekeroaan manusia. Penelitian lengan robot ini

untuk menggambar bibang 2D. Alat ini bibuat untuk memperagakan gerakan robot yang

bikenbalikan oarak oauh. Lengan robot ini menggunakan

human machine interface

(HMI) bari

PC ban berbasis mikrokontroler

Arduino Uno R3

sehingga menarik untuk bipelaoari.

Lengan robot balam penelitian ini terbiri

bari

joint

ban

link

bengan 4

Degree of

Fredom

(4DOF).

Actuator

lengan robot abalah motor RC servo. Lengan robot menbapat

input

bari PC bengan

software Visual Basic 6.0.

untuk menggambar bibang kotak, lingkaran ban

segitiga bengan parameter bimensi. Data yang bikirim bari PC ke

Arduino Uno R3

berupa

pulsa-pulsa bigital bengan komunikasi

serial

. Mikrokontroler membaca

input

bata

serial

ban

mengirim bata berupa pulsa bigital ke

servo motor controller

untuk menggerakkan motor RC

servo melakukan proses menggambar bibang 2D.

Hasil akhir bari penelitian lengan robot yang bilakukan secara

point to point

menghasilkan tingkat keberhasilan rata-rata lengan robot untuk menggambar bibang 2D secara

berulang untuk menggambar kotak abalah 90% ban untuk menggambar segitiga abalah 73%.

Sebangkan tingkat keberhasilan rata-rata lengan robot menuou ke titik posisi gambar kotak

abalah 85%, titik posisi gambar segitiga 86% ban titik posisi gambar lingkaran (segi banyak)

abalah 21%.

(10)

ix

ABSTRACT

Robot become a choice to help people to do their job to overcome the problem of

accuracy, security, flexibility and repetitive. Arm Robot is a kind of robot that can help human

works. Research arm robot to draw 2D field. This project is made to demonstrate the

movement of the robot which is controlled remotely. This arm robot is using the human

machine interface (HMI) from the PC and microcontroller-based Arduino Uno R3 so it’s

interesting to learn.

The arm robot in this research consists of joint and link with 4 Degree of Fredom

(4DOF). The actuator of arm robot is RC servo motor. Input from the PC with Visual

Basic6.0. to draw a field of squares, circles and triangles with dimensional parameters. The PC

send data to Arduino Uno R3 in the digital pulses format with serial communication. The

microcontroller reads the serial data input and send data digital pulses. The digital pulses are

sent to the servo motor controller to drive RC servo motors in the process for drawing a 2D

field.

The final result from this research of arm robot using point to point movement is

average success indication from arm robot for repetitive drawing square is 90% and for

drawing triangle is 73%. Average success indication arm robot move to point position of

square is 85%, move to point position of triangle is 86% and move to point position of circle

(some angles) is 21%

(11)
(12)

xi

DAFTAR ISI

TALAMAN JUDUL ... i

TALAMAN PERSETUJUAN ... iii

TALAMAN PENGESATAN ... iv

PERNYATAAN KEASLIAN KARYA ... v

TALAMAN PERSEMBATAN DAN MOTTO TIDUP ... vi

LEMBAR PERNYATAAN PERSETUJAN KARYA ILMIAT

UNTUK KEPENTINGAN AKADEMIS ... vii

INTISARI ... viii

ABSTRACT ... ix

KATA PENGANTAR ... x

DAFTAR ISI ... xi

DAFTAR GAMBAR ... xiv

DAFTAR TABEL ... xvii

DAFTAR PERSAMAAN ... xviii

DAFTAR LAMPIRAN ... xix

BAB I PENDATULUAN

1.1.

Latar Belekang ... 1

1.2.

Tujuan Penelitian ... 3

1.3.

Batasan Masalah ... 3

1.4.

Metodogi Penelitian ... 4

BAB II DASAR TEORI

2.1.

Mikrokontroler ... 6

2.1.1. Arduino Uno R3 ... 7

2.2.

Software

Arduinio ... 11

2.3.

Visual Basic 6.0.

... 12

2.4.

Motor Servo (RC Servo) ... 14

(13)

xii

2.6.

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

... 18

2.7.

Komunikasi I

2

C ... 18

2.8.

Kinematika ... 21

BAB III PERANCANGAN

3.1.

Perancangan Perangkat Keras (

Hardware

) ... 27

3.1.1. Perancangan Mekanik Robot... 28

3.1.1.1. Pemodelan Mekanik ... 31

3.1.1.2. Pemodelan

Inverse Kinematik

... 37

3.1.2. Perancangan Rangkaian Elektrik Sistem Pengendali ... 47

3.2.

Perancangan Perangkat Lunak (

Software

) ... 48

3.2.1.

Perangkat Lunak Sebagai Masukan Perintah dari

Visual Basic 6.0

... 49

3.2.2.

Perangkat Lunak Pengendali Motor RC Servo dengan Arduino IDE ... 52

BAB IV TASIL DAN PEMBATASAN

4.1.

Hasil Perancangan Perangkat Keras ... 55

4.1.1

Bentuk Mekanik Sistem Lengan Robot ... 55

4.1.2

Komponen Elektrik Sistem Lengan Robot ... 58

4.1.3

Pengujian Gerakan Mekanik Lengan Robot ... 59

4.2.

Hasil Perancangan Perangkat Lunak (

Software

) ... 65

4.2.1 Pembahasan Program pada

Software Visual Basic 6.0.

... 66

4.2.2 Pembahasan Program pada

Software Arduino IDE

. ... 70

4.3.

Hasil Pengujian Gambar Bidang Dua Dimensi ... 74

4.3.1 Analisa Hasil Gambar Kotak ... 75

4.3.2 Analisa Hasil Gambar Segitiga ... 76

4.3.3 Analisa Hasil Gambar Lingkaran... 78

(14)

xiii

BAB V KESIMPULAN DAN SARAN

5.1.

Kesimpulan ... 83

5.2.

Saran ... 84

DAFTAR PUSTAKA ... 85

(15)

xiv

DAFTAR GAMBAR

Gambar 1.1. Blok diagram lengan robot penggambar bidang dua dimensi berbasis

mikrokontroler dengan PC. ... 4

Gambar 2.1. Tampilan Arduino Uno R3 ... 7

Gambar 2.2. Alokasi Penempatan Pin Arduino Uno R3 ... 9

Gambar 2.3. Tampilan Arduino Software (Arduino IDE) ... 11

Gambar 2.4.

Interface Visual Basic 6.0 ... 13

Gambar 2.5. Tampilan jendela Components ... 14

Gambar 2.6. Motor Servo (RC Servo) ... 15

Gambar 2.7. Konstruksi Motor Servo ... 15

Gambar 2.8. Pulsa Kendali Motor RC Servo... 16

Gambar 2.9.

Adafruit 16-Channel 12-Bit PWM / Servo Shield – I

2

C Interface ... 18

Gambar 2.10

Sudut

Joino

1

... 22

Gambar 2.11. Konfigurasi Lengan Robot Satu Sendi ... 23

Gambar 2.12. Konfigurasi Lengan Robot Dua Sendi ... 24

Gambar 2.13. Konfigurasi Lengan Robot Tiga Sendi ... 26

Gambar 3.1. Sistem Blok Diagram Perangkat Keras (hardware) ... 29

Gambar 3.2. Sistem Blok Diagram Perangkat Keras (Hardware) dengan Sendi

(Joint) Motor RC servo ... 31

Gambar 3.3. Tampilan Keseluruhan Design 3D Lengan Robot ... 32

Gambar 3.4. Tampilan Posisi Motor RC Servo pada Design Gambar 3D Lengan

Robot ... 33

Gambar 3.5. Tampilan End Effector Berupa Pointer dengan Spidol ... 34

Gambar 3.6. Tampilan 3 Sumbu Axis (X,Y,Z) dan Jarak Pangkal Lengan Robot

(Shoulder) Menuju Papan Gambar ... 36

Gambar 3.7. Papan Gambar ... 37

Gambar 3.8. Ilustrasi Batasan Pergerakkan Lengan Robot (link) dengan

Jangkauan Maksimal (Work space) yang Ditentukan ... 38

(16)

xv

Gambar 3.10.

Prototype Lengan Robot Penggambar Bidang 2 Dimensi Tampak

dari Atas ... 39

Gambar 3.11. Penyederhanaan Prototype Lengan Robot dengan Analisa Geometri

untuk Mencari θ

1

, Tampak dari Atas (Sumbu X dan Sumbu Y) ... 39

Gambar 3.12.

Prototype Lengan Robot Penggambar Bidang Dua Dimensi Tampak

dari Samping pada Sumbu (X

,

Z) ... 41

Gambar 3.13. Penyederhanaan Prototype Lengan Robot Penggambar Bidang Dua

Dimensi Tampak dari Samping pada Sumbu X, Y, Z untuk Analisa

Geometri ... 41

Gambar 3.14. Analisa Geometri Prototype Lengan Robot Penggambar Bidang Dua

Dimensi untuk Mencari θ

2

dan θ

3

... 42

Gambar 3.15. Analisa Geometri Prototype Lengan Robot Penggambar Bidang Dua

Dimensi untuk Mencari θ

4

. ... 44

Gambar 3.16. Posisi Titik Referensi Sebagai Titik Awal Posisi Lengan Robot

Sebelum Menggambar Kotak, Lingkaran dan Segitiga ... 45

Gambar 3.17. Rangkaian Elektrik Sistem Pengendali ... 47

Gambar 3.18. Diagram Alir Secara Umum Sistem Perangkat Lunak (Software) ... 48

Gambar 3.19. Diagram Alir Sistem Secara Umum pada Visual Basic 6.0. ... 49

Gambar 3.20. Tampilan Rencana Antarmuka Program Menggambar Bidang 2D

pada Software Visual Basic 6.0. di PC. ... 50

Gambar 3.21. Diagram Alir Program “Menggambar Bidang 2D atau Clear” pada

Visual Basic 6.0. ... 51

Gambar 3.22. Diagram Alir Sistem Secara Umum pada Arduino IDE. ... 52

Gambar 3.23. Diagram Alir Program “menggambar bidang 2D” pada Arduino

IDE. ... 54

Gambar 4.1.

Bentuk Mekanik Lengan Robot Penggambar Bidang Dua Dimensi ... 55

Gambar 4.2.

Bentuk Mekanik Lengan (Link) ... 56

Gambar 4.3.

Posisi Motor RC Servo sebagai Persendian Lengan Robot (Joint) ... 57

Gambar 4.4.

Posisi Sudut-Sudut Lengan Robot ... 58

Gambar 4.5.

Tampilan Rangkaian Elektrik Sistem Pengendali... 58

Gambar 4.6.

Cara Pengukuran Sudut Joint Menggunakan Busur Derajat ... 60

(17)

xvi

Gambar 4.8.

Tampilan Antarmuka Visual Basic 6.0. pada Pengisian Dimensi ... 66

Gambar 4.9.

Program Inisialisasi Variable dan Inisialisasi Kominukasi Serial

pada Software Visual Basic 6.0. ... 68

Gambar 4.10.

Program Pemilihan Gambar Bidang 2D pada Software Visual Basic

6.0... 69

Gambar 4.11.

Eksekusi Program Utama Menggambar Bidang 2D pada Software

Visual Basic 6.0. ... 69

Gambar 4.12.

Running Program Utama ketika Menggambar Bidang 2D pada

Software Visual Basic 6.0. ... 70

Gambar 4.13.

Tampilan Software Arduino IDE ... 70

Gambar 4.14.

Program Inisialisasi pada Software Arduino IDE ... 71

Gambar 4.15.

Proses Menentukan Titik Koordinat Gambar dengan Serial Monitor

pada Software Arduino IDE ... 72

Gambar 4.16.

Program Setting Posisi Awal pada Software Arduino IDE ... 72

Gambar 4.17.

Program Pembacaan Data Serial dari Visual Basic 6.0. di PC dan

Mikrokontroler Arduino Uno R3 (Komunikasi Serial) ... 73

Gambar 4.18.

Program Pengaturan Kecepatan Motor RC Servo secara Increment/

Decrement dan Pengiriman Pulsa Digital ... 74

Gambar 4.19.

Program Konfigurasi Register Data ... 74

Gambar 4.20.

Gambar Kotak dari Gerakan Lengan Robot ... 75

Gambar 4.21.

Gambar Segitiga dari Gerakan Lengan Robot ... 77

(18)

xvii

DAFTAR TABEL

Tabel 2.1.

Keterangan Alokasi Penempatan Pin

Arduino Uno R3

...

7

Tabel 2.2.

Keterangan Tombol pada Tampilan

Arduino IDE

... 12

Tabel 3.1.

Keterangan Lengan Penghubung (

link

) ... 33

Tabel 3.2.

Tabel Rencana Batasan Gerakkan Lengan Robot untuk Menentukan (

Work

space

) Berdasarkan Putaran Motor Servo ... 38

Tabel 3.3.

Tabel Hasil Perhitungan

Inverse Kinematics

pada Beberapa Posisi yang Sudah

Ditentukan Sebelumnya ... 46

Tabel 4.1. Spesifikasi Lengan Aktual pada Mekanik Lengan Robot (

link

) ... 56

Tabel 4.2. Perhitungan

Inverse Kinematics

dengan Metode Geometri pada Titik Referensi

Bidang 2 Dimensi ... 60

Tabel 4.3. Hasil Pengujian Sudut-Sudut

Joint

Titik Referensi Gambar Bidang 2 Dimensi

... 61

Tabel 4.4. Pengujian Kepresisian Gerakan Lengan Robot secara Horisontal ... 62

Tabel 4.5. Pengujian Kepresisian Gerakan Lengan Robot secara Vertikal ... 62

Tabel 4.6. Sudut-Sudut yang Ditentukan pada Titik Referensi Gambar Bidang 2 Dimensi

dengan

Forward Kinematics

... 63

Tabel 4.7. Hasil Pengujian Resolusi Gerakan Motor RC Servo di Setiap

Joint

dengan

Mapping

Pulsa ... 64

Tabel 4.8. Analisa Gambar Kotak ... 76

Tabel 4.9. Analisa Gambar Segitiga ... 77

Tabel 4.10. Analisa Gambar Segi Banyak ... 79

Tabel 4.11. Hasil Uji Tingkat Keberhasilan Lengan Robot Menggambar Bidang 2D secara

Berulang ... 81

Tabel 4.12. Hasil Analisa Tingkat Keberhasilan Gerakan Lengan Robot Menuju Posisi Titik

Gambar Bidang 2D ... 82

(19)

xviii

DAFTAR PERSAMAAN

Persamaan 2.1 ... 17

Persamaan 2.2 ... 17

Persamaan 2.3 ... 17

Persamaan 2.4 ... 17

Persamaan 2.5 ... 22

Persamaan 2.6 ... 22

Persamaan 2.7 ... 22

Persamaan 2.8 ... 23

Persamaan 2.9 ... 24

Persamaan 2.10 ... 24

Persamaan 2.11 ... 24

Persamaan 2.12 ... 24

Persamaan 2.13 ... 24

Persamaan 2.14 ... 24

Persamaan 2.15 ... 24

Persamaan 2.16 ... 25

Persamaan 2.17 ... 25

Persamaan 2.18 ... 25

Persamaan 2.19 ... 25

Persamaan 2.20 ... 25

Persamaan 2.21 ... 25

Persamaan 2.22 ... 26

Persamaan 2.23 ... 26

(20)

xix

DAFTAR LAMPIRAN

(21)

1

BABB1B

PENDAHULUANB

1.1

LatarBBelakangB

Seiring dengan perkembangan teknologi yang semakin pesat, saat ini dunia

robotika juga mengalami perkembangan yang sangat pesat dalam berbagai bidang baik itu

industri, seni, pendidikan, militer, medis dan lain sebagainya. Berbagai macam riset

tentang robotika terus-menerus dikembangkan untuk menyempurnakan fungsi robot dalam

membantu pekerjaan manusia.

Definisi Robot sendiri adalah sebuah alat mekanik yang

dapat melakukan tugas fisik, baik menggunakan pengawasan dan kontrol manusia, ataupun

menggunakan program yang telah didefinisikan terlebih dulu (kecerdasan buatan)

[1],

sehingga berdasarkan definisi robot tersebut maka robot merupakan sebuah hasil sinergi

antara beberapa disiplin ilmu yaitu mesin (

mechanic),

elektronika (

electric

)

dan

informatika (

informatic

)

.

Salah satu jenis robot yang sudah banyak digunakan oleh manusia adalah robot

manipulator. Manipulator merupakan bagian mekanik yang dapat difungsikan untuk

memindah, mengangkat dan memanipulasi benda kerja. Secara umum struktur robot

manipulator dapat dibedakan menurut sumbu koordinat yang digunakan yaitu

cartesian,

cylindrical, spherical, SCARA

,

articulated

[2]. Robot manipulator dibuat menyerupai

lengan manusia memiliki sifat fleksibel sehingga mudah digunakan untuk melakukan

pekerjaan yang cepat, berat dan presisi. Robot manipulator (lengan robot) memiliki jumlah

derajat kebebasan (

degree of freedom

/ DOF) tertentu untuk bergerak.

(22)

melakukan pekerjaan berulang-ulang. Lengan robot juga dapat dikendalikan dari sebuah

ruang pengendalian (

control room

) dengan memberikan perintah program. Lengan robot

dapat bekerja secara otomatis setelah menerima perintah program, sehingga lengan robot

dapat melakukan pekerjaan karyawan sehingga lengan robot dapat menjadi asisten

produksi bagi karyawan di industri dan dapat menambah keuntungan bagi perusahaan.

BB

Berdasarkan paparan di atas mengenai lengan robot di industri penulis tertarik

untuk membuat sebuah sistem otomasi yang dapat digunakan sebagai asisten karyawan

dalam melakukan pekerjaan yang presisi, fleksibel, aman serta dapat melakukan pekerjaan

yang berulang-ulang yaitu berupa sebuah

prototype

robot untuk menggambar bidang dua

dimensi. Peneliti yang sudah pernah membuat

prototype

robot ini adalah Welly Anggoro

dengan judul penelitian

“Robot Penggambar Dua Dimensi”

. Pada penelitian yang

dilakukan sebelumnya,

prototype

robot yang dibuat adalah robot kartesian. Lengan robot

ini memiliki 4 derajat kebebasan atau

degree of freedom

(4-DOF) yang terdiri dari 3

gerakan translasi dan 2 gerakan rotasi dan hanya dirancang untuk membuat sebuah gambar

lingkaran dengan variasi ukuran [3].

Kofigurasi kartesian memiliki pergerakan pada sumbu

X, Y dan Z. Robot kartesian memiliki bentuk perhitungan kinematik yang paling sederhana

karena hanya konfigurasi linear [4].

(23)

1.2

TujuanBPenelitianB

Tujuan dari penelitian ini secara umum adalah untuk menghasilkan suatu

prototype

berupa lengan robot dengan penggerak motor RC servo dan berbasis

mikrokontroler yang dapat dikendalikan dengan tampilan program dari

Personal Computer

(PC). Secara khusus penelitian ini bertujuan untuk memperagakan gerakan robot secara

fleksibel, presisi, aman dan dapat melakukan pekerjaan secara berulang karena sudah

diberi perintah melalui komputer dengan tampilan perangkat lunak yaitu

human machine

interface

(HMI) untuk membuat gambar bidang dua dimensi tertentu yaitu kotak, lingkaran

dan segitiga

dengan variasi ukuran tertentu.

Penelitian ini menghasilkan manfaat yang dapat membantu pekerjaan manusia pada

kegiatan produksi karena lengan robot dapat melakukan pekerjaan jarak jauh yang

fleksibel, presisi, aman, berulang-ulang serta memiliki pola tertentu seperti pada proses

pengelasan, pengecatan, pemindah barang dan kegiatan otomasi industri yang lain.

1.3

BatasanBMasalahB

Pembatasan masalah dimaksudkan untuk mempermudah pelaksanaan penelitian

maupun penulisan skripsi sehingga tidak terjadi kesalahan dalam menerjemahkan judul

yang dimaksud. Batasan untuk penelitian ini adalah:

a.

Gambar bidang 2 dimensi yaitu hanya kotak, lingkaran dan segitiga sama sisi

yang sudah ditentukan sebelumnya pada

personal computer

(PC) dengan

menggunakan program perangkat lunak

visual basic

(VB) sebagai tampilan

pemberi perintah.

b.

Manggunakan sebuah mikrokontroler yaitu Arduino Uno R3 sebagai kontroler

lengan robot yang dikendalikan melalui PC.

c.

Mengunakan motor servo sebagai aktuator pada setiap

joint

(sendi) dan

gripper

(penjepit) sebagai

end effector

.

d.

Lengan robot dapat bergerak pada sumbu X, Y, dan Z.

e.

Lengan robot memiliki gerakan rotasi dan 4 derajat kebebasan atau

Degree of

Freedom

(4-DOF).

(24)

1.4

MetodologiBPenelitianBB

Metodologi yang dignakan dalam penelitian ini adalah sebagai berikut:

a.

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

dari pustaka yang berhubungan dengan mikrokontroler khususnya Arduino Uno

R3, motor servo,

software visual basic

dan lengan robot.

b.

Studi kasus terhadap alat yang sudah pernah dibuat sebelumnya. Tahap ini

dilakukan guna memahami prinsip kerja dari lengan robot.

c.

Menguji motor servo. Tahap ini dilakukan guna memahami prinsip kerja motor

servo dan mengetahui karakter motor servo.

d.

Menguji rangkaian kendali dengan mikrokontroler Arduino Uno R3 dan

servo

motor controller

. Tahap ini guna lebih memahami bahasa yang digunakan

mikrokontroler Arduino Uno R3 dan

servo motor

controller

agar lebih memahami

cara kerja pengendalian lengan robot.

e.

Perancangan sistem

hardware

dan

software

. Tahap ini bertujuan untuk

menentukan model yang optimal dan menentukan komponen-komponen suatu

sistem yang akan dibuat dengan mempertimbangkan faktor-faktor permasalahan

dan kebutuhan yang telah ditentukan.

Gambar 1.1. Blok diagram lengan robot penggambar bidang dua dimensi berbasis

mikrokontroler dengan PC.

B

(25)

sehingga robot dapat bergerak sesuai dengan program yang telah diberikan.

Berdasarkan Gambar 1.1,

software

visual basic

(VB) pada

personal computer

(PC) berguna untuk membuat masukan berupa perintah-perintah tombol dan

dimensi yang dikehendaki kemudian dikirim dengan komunikasi serial pada

bagian pengendali berupa mikrokontroler Arduino Uno R3 dan

servo motor

controller

untuk diproses sesuai program yang telah diberikan. Selanjutnya bagian

pengendali akan memberi perintah berupa pulsa untuk menggerakkan setiap

motor RC servo yang dipasang pada lengan robot.

g.

Proses pengujian dan pengambilan data. Teknik pengujian dan pengambilan data

dilakukan dengan cara menguji keseluruhan sistem berupa gerakan lengan robot

yang telah diberi perintah melalui program yang dibuat pada

visual basic

(VB).

Teknik pengujian dilakukan dengan menjalankan lengan robot yaitu menekan

tombol berupa pilihan bentuk bidang dua dimensi yang akan digambar beserta

dimensi yang diinginkan melalui program

visual basic

di PC. Program dari PC

selanjutnya dikomunikasikan dengan bagian pengendali untuk diproses sesuai

kecerdasan buatan yang telah ditanamkan sebelumnya untuk menggerakan motor

servo pada lengan robot. Pengujian dilakukan untuk mengetahui kesesuaian antara

gerakan robot dengan pilihan gambar pada program di PC. Teknik pengambilan

data dilakukan untuk melihat bentuk bidang dua dimensi dan dimensi aktual yang

berhasil digambar oleh lengan robot. Besarnya perbedaan dimensi antara dimensi

yang dimasukkan pada PC dengan dimensi aktual hasil penggambaran oleh lengan

robot ditulis dalam persentase

error

.

h.

Analisa dan kesimpulan hasil perancangan.

Analisa data dilakukan berdasarkan

kepresisian dan keakuratan hasil pola gambar bidang 2 dimensi yang digambar

dengan gerakan lengan robot. Teknik analisis data dilakukan dengan

membandingkan antara hasil gambar bidang 2 dimensi di papan gambar dari

gerakan aktual lengan robot dengan perintah masukan bentuk bidang dua dimensi

beserta variasi dimensinya yang ditentukan di PC. Berdasarkan hasil analisa data

yang sudah diperoleh dapat dilakukan penarikan kesimpulan.

(26)

6

BABBIIB

DASARBTEORIB

2.1

MikrokontrolerB

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 masukan yang

diterima dan program yang dikerjakan.

Seperti umumnya komputer, mikrokontroler adalah alat yang mengerjakan

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

terkomputerisasi adalah program itu sendiri yang dibuat oleh seorang programer. Program

ini menginstruksikan komputer untuk melakukan jalinan yang panjang dari aksi-aksi

sederhana untuk melakukan tugas yang lebih kompleks yang diinginkan oleh

programer[5].

(27)

2.1.1.BArduinoBUnoBR3BB

B

Gambar 2.1. Tampilan

Arduino Uno R3 [1]

Arduino Uno R3 seperti Gambar 2.1. adalah

board

berbasis mikrokontroler pada

ATMega 328.

Board

Arduino Uno R3 seperti yang ditunjukkan Gambar 2.2. memiliki 14

digital

input / ouput

pin (dimana 6 pin dapat digunakan sebagai

ouput

PWM), 6

input

analog

, 16 MHz osilator kristal, koneksi USB,

jack

listrik dan tombol

reset

. Pin – pin ini

berisi semua yang diperlukan untuk mendukung mikrokontroler, hanya terhubung ke

komputer dengan kabel USB atau sumber tekanan bisa didapat dari

adaptor

AC – DC atau

baterai untuk menggunakannya (

Arduino, Inc., 2009

) [7]. Setiap

digital pin

pada

board

Arduino Uno R3 beroperasi pada tegangan 5

volt

. Pin-pin digital tersebut juga

memungkinkan dapat mengeluarkan atau menerima arus maksimal sebesar 40 mA dan

memiliki

internal pull-up resistor

(yang terputus secara

default

) antara 20 – 50 Kohm [8].

Spesifikasi Arduino Uno R3 ditunjukkan pada alokasi penempatan pin-pin Arduino Uno

R3 pada Tabel 2.1.

Tabel 2.1. Keterangan Alokasi Penempatan Pin

Arduino Uno R3

No.B

ParameterB

KeteranganB

1

ATmega 328

IC mikrokontroler yang digunakan pada

Arduino Uno R3

.

IC

ATmega 328

memiliki

flash memory

32 KB (dengan 0.5 KB

digunakan untuk

bootloader

).

ATmega 328

juga memiliki 2 KB

SRAM dan 1 KB EEPROM yang dapat ditulis dan dibaca

dengan EEPROM

library

[8].

2

Jack

USB

Untuk komunikasi mikrokontroler dengan PC

(28)

Arduino.

5

SDA

dan

SCL

Komunikasi

Circuit

(I2C) dengan menggunakan

Two Wire Interface

(TWI) atau

Wire library.

Inter Integrated

6

GND

dan

AREF

GND = Pin

AREF = Tegangan Referensi untuk

ground

dari regulator tegangan

input analog

board

.

Arduino.

7

Pin

Digital

Pin yang digunakan untuk menerima

output

berbentuk digital (0 dan 1 atau

input digital

low

dan

high

dan memberi

)

8

Pin

Serial

Digunakan untuk menerima dan mengirimkan data serial TTL

(

Receiver

(Rx),

Transmitter

(Tx)). Pin 0 dan 1 sudah terhubung

kepada pin serial USB

to

TTL sesuai dengan pin ATmega.

9

Pin

Power

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

board

Arduino. Arus maksimal pada pin ini adalah

50 mA.

GND = Pin

ground

dari regulator tegangan

board

Arduino.

IOREF = Tegangan Referensi.

10 Pin

Analog In

Menerima

input

dari perangkat

analog

lainnya.

Arduino Uno R3 berbeda dengan semua

board

sebelumnya karena Arduino Uno

R3 ini tidak menggunakan

chip driver

FTDI USB-

to-serial

. Melainkan menggunakan fitur

dari ATMega 16U2 yang diprogram sebagai konverter USB-

to-serial

[7].

Board

Arduino Uno memiliki fitur – fitur baru seperti pada Tabel 2.1., yaitu:

a.

Pin

out

: menambahkan SDA dan SCL pin yang deket ke pin AREF dan dua pin

baru lainnya ditempatkan dekat ke pin

RESET

, dengan I/O REF yang

memungkinkan sebagai

buffer

untuk beradaptasi dengan tegangan yang disediakan

dari

board

sistem. Pengembangannya, sistem akan lebih kompatibel dengan

prosesor yang menggunakan AVR, yang beroperasi dengan 5V dan dengan

Arduino karena beroperasi dengan 3,3V. Yang kedua adalah pin yang tidak

terhubung, yang disediakan untuk tujuan pengembangannya.

b.

Sirkuit

reset.

c.

ATMega 16U2 ganti 8U yang digunakan sebagai konverter USB-

to-serial

.

(29)

volt

dan

board

mungkin tidak stabil. Jika menggunakan lebih dari 12V, regulator bisa

panas dan merusak

board

. Rentang yang dianjurkan adalah 7V – 12V. Selain itu, beberapa

pin memiliki fungsi khusus :

a.

Serial

: 0 (RX) dan 1 (TX). Digunakan untuk menerima (RX) dan mengirim (TX)

data TTL serial. Pin ini terhubung ke pin yang sesuai dari

chip

ATMega8U2

USB-to-Serial

TTL.

b.

Eksternal

Interupsi : 2 dan 3. Pin ini dapat dapat dikonfigurasi untuk memicu

interupsi pada nilai yang rendah, tepi naik atau jatuh, atau perubahan nilai. Lihat

attchInterrupt()

fungsi untuk rincian.

c.

PWM : 3,5,6,9,10, dan 11. Menyediakan 8-bit

output

PWM dengan fungsi

analogWrite()

.

d.

SPI : 10 (SS), 11 (MOSI), 12 (MISO), 13 (SCK). Pin ini mendukung komunikasi

SPI menggunakan

library

SPI. SPI (

Serial Peripheral Interface

) adalah sebuah

sinkronisasi

serial data protocol

yang digunakan oleh mikrokontroler untuk

melakukan komunikasi dengan satu atau lebih peripheral device secara cepat

berjarak pendek. SPI dapat juga digunakan untuk melakukan komunikasi antara

dua mikrokontroler.

e.

LED : 13. Ada

built-in

LED terhubung ke pin digital 13. Ketika pin adalah nilai

TINGGI, LED menyala, ketika pin adalah RENDAH, LED

off

.

(30)

Arduino Uno R3 seperti ditunjukkan Gambar 2.2. memiliki 6

input

analog diberi

label A0 sampai A5, masing – masing menyediakan 10-bit resolusi (yaitu 1024 nilai yang

berbeda). Secara

default

sistem mengukur dari

ground

sampai 5

volt

, meskipun mungkin

untuk mengubah ujung atas rentang mengunakan pin AREF dan fungsi

analogReference()

.

Selain itu, beberapa pin memiliki fungsi khusus :

a.

TWI : A4 atau SDA pin dan A5 atau SCL pin. Mendukung komunikasi TWI

menggunakan

wire library.

b.

AREF : Referensi tegangan untuk

input

analog. Digunakan dengan

analogReference() .

c.

RESET : memberikan logika LOW untuk mereset mikrokontroler [8].

KomunikasiB

Arduino Uno R3 memiliki sejumlah fasilitas untuk berkomunikasi dengan

komputer, arduino lain, atau mikrokontroler lainnya. ATmega328 menyediakan UART

TTL (5V) komunikasi

serial

, yang tersedia di pin digital 0 (RX) dan 1 (TX). Sebuah

ATmega16U2 pada

board

ini komunikasi

serial

melalui USB dan muncul sebagai

com

port virtual

untuk perangkat lunak pada komputer.

Firmware

'16U2 menggunakan USB

driver

standar COM, dan tidak ada

driver eksternal

yang diperlukan. Namun, pada

Windows,

file. Inf

diperlukan. Perangkat lunak Arduino termasuk

monitor serial

yang

memungkinkan data sederhana yang akan dikirim ke

board

Arduino. RX dan TX di board

LED akan berkedip ketika data sedang dikirim melalui chip USB-

to-serial

dan koneksi

USB ke komputer (tetapi tidak untuk komunikasi serial pada pin 0 dan 1). Fungsi ini

digunakan untuk melakukan komunikasi

interface

pada sistem. ATmega328 juga

mendukung komunikasi I

2

C (TWI) dan SPI [7].

(31)

2.2

Software

BArduinoB

Menulis program di Arduino dilakukan dengan

Arduino IDE

, yaitu

software

yang

beroperasi di komputer. Menurut situs

http://www.arduino.cc

perangkat lunak disebut

sebagai

Arduino Software

[9].

Software

ini tersedia untuk

platform Windows, Mac OS X,

dan

Linux.

Software Arduino IDE

bermanfaat untuk menuliskan kode untuk mengontrol

Arduino Uno dan mengirimkan hasil kompilasi ke papan Arduino Uno [10].

Lingkungan Arduino yang

open source

memungkinkan untuk menulis (

write

) dan

mengunggah (

upload

) program pada Arduino. Arduino dapat diprogram pada sistem

operasi komputer berbasis

Windows, Mac OS X,

dan

Linux

. Bahasa pemrogramannya dapat

ditulis di

Java, avr-gcc

dan perangakat lunak yang berbasis

open source

lainnya [9].

[image:31.595.86.524.260.682.2]

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

[9]. Tampilan jendela

Arduino IDE

ditunjukkan pada Gambar 2.3. seperti berikut ini:

Gambar 2.3. Tampilan

Arduino Software

(

Arduino IDE

)

(32)
[image:32.595.86.527.81.556.2]

Tabel 2.2. Keterangan Tombol pada Tampilan

Arduino IDE

No.B TombolB

NamaB

FungsiB

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

Arduino

board

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.

Tugas dari

Arduino Software

adalah menghasilkan sebuah

file

berformat

hex

yang

akan di-

download

pada papan Arduino atau papan sistem mikrokontroler lainnya. Ini

mirip dengan

Microsoft Visual Studio, Eclipse IDE,

atau

Netbeans

. Lebih mirip lagi adalah

IDE semacam

Code::Blocks, CodeLite

atau

Anjuta

yang mempermudah untuk

menghasilkan

file

program. Bedanya kesemua IDE tersebut menghasilkan program dari

kode bahasa C (dengan GNU GCC) sedangkan

Arduino Software

(

Arduino IDE

)

menghasilkan file

hex

dari baris kode yang dinamakan

sketch

[9].

Sketch

adalah nama dari program yang ditulis pada

Arduino Software

, kemudian

sketch

merupakan kesatuan dari kode program yang akan di-

upload

dan dijalankan pada

papan Arduino. Pada umumnya

sketch

yang dibuat di

Arduino Software

di-

compile

dengan

perintah

verify / Compile

(Ctrl+R) lalu hasilnya di-

download

ke papan Arduino seperti

Arduino Uno R3. Program hasil kompilasi itu lalu dijalankan oleh

bootloader

. Semua

papan Arduino memiliki perangkat lunak yang dinamakan

bootloader

[9].

2.3

Visual Basic 6.0.

BB

(33)

keluaran

Microsoft

saja. VB6.0 mulai dikenal banyak orang karena bahasa pemrograman

dan GUI (

Graphical User Interface

) yang disediakan cukup memudahkan seorang pemula

dalam membuat sebuah program berbasis

Windows

.

Pembuatan program aplikasi menggunakan

Visual Basic 6.0.

dilakukan dengan

membuat tampilan aplikasi pada

form

, kemudian diberi

script

program di dalam

komponen-komponen yang diperlukan.

Form

disusun oleh komponen-komponen yang

berada di

Toolbox

, dan setiap komponen yang dipakai harus diatur propertinya lewat

jendela

Property

.

[image:33.595.85.514.280.644.2]

Menu pada dasarnya adalah operasional standar di dalam sistem operasi

Windows

,

seperti membuat

form

baru, membuat

project

baru, membuka

project

dan menyimpan

project

. Di samping itu terdapat fasilitas-fasilitas pemakaian

visual basic

pada menu.

Untuk lebih jelasnya

Visual Basic

menyediakan bantuan yang sangat lengkap dan detail

dalam MSDN.

Interface

(antar muka)

Visual Basic 6.0

, berisi

menu, toolbar, toolbox, form,

project explorer

dan

property

seperti terlihat pada Gambar 2.4. [11]:

Gambar 2.4.

Interface Visual Basic 6.0

[3]

KomunikasiBserialBpadaBVB6.0.B

B

(34)

kontrol elektronik seperti PLC. Untuk dapat berkomunikasi dengan dunia luar, VB6.0

sudah dilengkapi dengan fasilitas

MS Comm Control 6.0

.

MS Comm Control

ini berfungsi

untuk mengakomodir jalanya komunikasi dan

transfer

data dari komputer ke peralatan

elektronik berprosesor ataupun sebaliknya. Untuk mengaktifkan fungsi

Ms Comm Control

pada VB6.0 pertama kali harus membuat

project

nya dahulu dengan cara masuk ke

File >>

“New Project”

. Kemudian pergi ke

Menu “Project” >> “Components”.

Sesaat setelah itu

seharusnya ada menemui layar seperti ditunjukkan Gambar 2.5. dibawah ini [12].

[image:34.595.94.502.218.571.2]

B

Gambar 2.5. Tampilan jendela

Components

[4]

B

Microsoft Comm Control 6.0

ini berfungsi untuk :

1.

Mengadakan hubungan dengan

serial port

PC.

2.

Berhubungan dengan alat komunikasi lain (contoh : modem).

3.

Melakukan pertukaran data.

4.

Memonitor dan merespon

event

dan

error

yang terjadi pada hubungan serial.

Sambungan komunikasi serial antara 2 peralatan (PC-IED atau PC-PC), harus

dilakukan dengan langkah – langkah sebagai berikut:

1.

Membuka

serial port

.

2.

Mengatur

serial device.

(35)

2.4

MotorBServoB(RCBServo)B

[image:35.595.88.524.346.656.2]

Motor RC servo adalah sebuah motor DC yang dilengkapi rangkaian kendali

dengan sistem

closed feedback

yang terintegrasi dalam motor tersebut. Pada Gambar 2.6

menunjukkan bentuk dari motor RC servo. Pada motor RC servo posisi putaran sumbu

(

axis

) dari motor akan diinformasikan kembali ke rangkaian kontrol yang ada di dalam

motor RC servo [13].

B

Gambar 2.6. Motor Servo (RC Servo) [5]

Motor RC servo disusun dari sebuah motor DC,

gearbox

,

variabel resistor

(VR)

atau

potensiometer

dan rangkaian kontrol seperti ditunjukkan Gambar 2.7.

Potensiometer

berfungsi untuk menentukan batas maksimum putaran sumbu (

axis

) motor RC servo.

Sedangkan sudut dari sumbu motor RC servo diatur berdasarkan lebar pulsa yang pada pin

kontrol motor RC servo [13].

Gambar 2.7. Konstruksi Motor Servo [6]

(36)

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

kanan – tengah – kiri adalah 180°.

2.

Motor Servo

Continuous

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

defleksi sudut putar (dapat berputar secara kontinyu).

[image:36.595.85.523.275.614.2]

PulsaBKontrolBMotorBRC

ServoB

Gambar 2.8. menunjukkan operasional motor RC servo berdasarkan lebar pulsa.

Operasional motor RC servo dikendalikan oleh sebuah pulsa selebar ± 20 ms, dimana lebar

pulsa antara 0,5 ms dan 2 ms menyatakan akhir dari range sudut maksimum. Apabila

motor RC servo diberikan pulsa dengan besar 1,5 ms mencapai gerakan 90°, maka bila kita

berikan pulsa kurang dari 1,5 ms maka posisi mendekati 0° dan bila kita berikan pulsa

lebih dari 1,5 ms maka posisi mendekati 180° [13].

Gambar 2.8. Pulsa Kendali Motor RC Servo [7]

(37)

Pada saat Ton

duty cycle

dari sinyal yang diberikan kurang dari 1,5

ms

, maka rotor

akan berputar ke berlawanan arah jarum jam (

Counter Clock Wise

atau CCW) 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,5

ms

, maka rotor akan berputar searah jarum jam (

Clock Wise

atau CW)

dengan membentuk sudut yang linier pula terhadap besarnya Ton

duty cycle

, dan bertahan

diposisi tersebut [13].

2.5

TorsiBB

Perhitungan torsi tergantung pada panjang

link

dari lengan robot dan berat suatu

benda. Torsi didefinisikan sebagai mengubah atau memutar kekuatan dan dihitung

menggunakan hubungan berikut [14]:

Torsi (τ) = Gaya (F)

x

Panjang lengan (L)

=

(2 - 1)

Dimana

F

merupakan gaya berat (

W

),

=

(2 - 2)

=

(2 - 3)

Sehingga,

=

(2 - 4)

B

Kecepatan motor tergantung pada model motor servo. Semakin besar daya yang

akan digunakan mampu mengangkat beban dengan cepat. Model yang berbeda dari motor

servo memiliki torsi yang berbeda dan kemampuan untuk mengangkat beban berat

tergantung dari model motor servo tersebut. Hasil dari perhitungan torsi akan membantu

dalam pemilihan motor servo yang cocok digunakan untuk mengangkat beban yang

spesifik [14].

(38)

2.6

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

Gambar 2.9.

Adafruit 16-Channel 12-Bit PWM / Servo Shield – I

2

C Interface

[8]

Adafruit 16-Channel 12-Bit PWM / Servo Shield – I

2

C Interface

seperti ditunjukkan

pada Gambar 2.9, merupakan 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 I

2

C untuk mengkontrol gerakan motor servo.

Komunikasi I

2

C menggunakan 2 buah

port

komunikasi yaitu SDA (

Serial Data

)

dan SCL (

Serial Clock Line

). Untuk mengantur

clock

pengiriman data menggunakan

TLC5940 sehingga tidak perlu mengaktifkan

clock

secara terus menerus saat pengiriman

data.

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

Serta terdapat pengaman pada konektor untuk power supply motor servo apabila terjadi

kesalahan pada saat menyambungkan sehingga polaritasnya terbalik [15].

2.7

KomunikasiBI

2

CBB

(39)

pengembang untuk memperhatikan

timing

dari seluruh komponen yang terlibat, agar tidak

terjadi kesalahan dalam transaksi data [16].

Bus

yang cukup sering digunakan adalah

bus

bersifat paralel. Transaksi data yang

dilakukan secara paralel menjadi pilihan karena

transaksi data dapat lebih cepat. Jika

sistem relatif tidak membutuhkan transaksi yang cepat, maka penggunaan

serial bus

menjadi pilihan. Salah satu pilihan sistem data

serial bus

yang sering digunakan adalah

I

2

C (

Inter Integrated Circuit

). I

2

C merupakan serial bus dengan orientasi data 8

bit

(

byte

).

Sistem

bus

I

2

C pertama kali diperkenalkan oleh Firma Philips pada tahun 1979.

Karakter I

2

C :

1.

Serial bus

data dikirim

serial

secara per-

bit

.

2.

Menggunakan 2 penghantar koneksi dengan

ground

bersama I

2

C terdiri dari dua

penghantar :

SCL (

Serial Clock Line

) untuk menghantarkan sinyal

clock

.

SDA (

Serial Data

) untuk mentransaksikan data

3.

Jumlah peserta

bus

maximal 127 peserta dialamatkan melalui 7-

bit

-alamat. Alamat

ditetapkan kebanyakan secara

hardware

dan 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

.

5.

Master

dan

slave device

yang mengendalikan operasi transfer disebut

master

, sementara

device

yang di kendalikan oleh

master

di sebut

slave

.

Aturan Komunikasi I

2

C :

1.

I

2

C adalah

protokol transfer data serial. Device

atau komponen yang mengirim data

disebut

transmitter

, sedangkan

device

yang menerimanya disebut

receiver

.

(40)

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

acknowledge

dari

receiver

ke

transmitter

.

5.

Acknowledge

:

(41)

Mode pengoperasian transfer data (tergantung kondisi bit R/W, 2 jenis transfer

dimungkinkan), yaitu :

1.

Pengiriman data dari

master transmitter

ke

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.

2.

Pengiriman data dari

slave transmitter

ke

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

mengirimkan sinyal

STOP

[16].

B

2.8

KinematikaB

Fu, K. S., R. C. Gonzales,C. S. G. Lee (1987).

Robotics: Control, Sensing, Vision,

and Intelligence

,

1

st

edition

mengatakan bahwa, “Kinematika adalah ilmu tentang gerak

(42)

Salah satu metode pendekatan untuk menyelesaikan permasalahan

inverse

kinematics

yaitu pendekatan

geometri

. Penyelesaian dengan pendekatan

geometri

dicari

dengan menerapkan ilmu

geometri

dan hukum

trigonometri

. Contoh mencari sudut pada

joint

1 seperti pada Gambar 2.10:

Gambar 2.10. Sudut

Joint

1 [9]

Untuk mencari

θi

bisa menggunakan ilmu

geometri

, sehingga didapatkan :

sin θ =

P

P + P + P

(2 - 5)

cos θ =

P + P

P + P + P

(2 - 6)

θ = tan (

cos θ )

sin θ

(2 - 7)

(43)

Menurut referensi dari buku Endra Pitowarno, (2006

), Robotika Desain, Kontrol

dan Kecerdasan Buatan

juga mengatakan bahwa “analisis persamaan kinematik dapat

diselesaikan dengan cara yang paling dasar yaitu menggunakan persamaan

trigonometri

.

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

)” [2].

Pendekatan yang digunakan Endra Pitowarno dalam menganalisis permasalahan

inverse kinematics

pada persamaan kinematik lengan robot juga menggunakan metode

geometri

yang ditulis berdasarkan hukum

trigonometri

. Penyelesaian masalah

inverse

kinematics

berdasarkan pendekatan

geometri

dapat digunakan untuk analisis lengan robot

satu sendi hingga tiga sendi.

KinematikBRobotBTanganBSatuBSendi.

Gambar 2.11. Konfigurasi Lengan Robot Satu Sendi [10]

Persamaan

inverse kinematics

dari lengan robot satu sendi pada Gambar 2.11.

diselesaikan dengan menentukan kedudukan ujung lengan P(x, y) terlebih dahulu sehingga

besarnya sudut

θ

dapat dihitung dengan cara [2]:

=

(2 - 8)

(44)

KinematikBRobotBTanganBDuaBSendi.

Gambar 2.12. Konfigurasi Lengan Robot Dua Sendi [11]

Inverse kinematics

lengan robot dua sendi pada Gambar 2.12. dapat dijabarkan

menggunakan hukum identitas

trigonometri

secara

forward kinematcs

[2]:

= cos + cos ( + )

(2 - 9)

=

+ sin ( + )

(2 - 10)

Identitas

trigonometri

:

cos( + ) = cos( ) cos( ) − sin( ) sin ( )

(2 - 11)

sin( + ) = sin( ) cos( ) + sin( ) cos ( )

(2 - 12)

Persamaan (2 - 11) dan (2 - 12) dapat ditulis kembali,

= cos( ) + cos( ) cos( ) − sin( ) sin ( )

(2 - 13)

= sin( ) + sin( ) cos( ) + cos( ) sin ( )

(2 - 14)

Dari dua persamaan terakhir dapat dicari

θ2

dengan terlebih dahulu dengan

mengeluarkan cos

θ2

dari kedua persamaan. Dengan operasi pangkat dua pada keduanya

dan dikombinasikan sehingga didapat [2]:

(45)

Sehingga,

= cos

(2 - 16)

Sedangkan sudut

θ1

dapat dicari melalui,

tan =

dan

tan =

(2 - 17)

sedangakan

= −

(2 - 18)

Dengan menggunakan identitas

trigonometri

,

tan( − ) =

( )( ) ( )( )

(2 - 19)

didapatkan,

tan

=

(( ) . ) .

(2 - 20)

Sehingga

θ1

dapat dihitung,

= tan

(( ) . ) .

(2 - 21)

Dengan penjabaran trigonometri maka persamaan (2- 16) dan (2- 21) merupakan

persamaan dari

inverse kinematics

lengan robot dua sendi.

B

B

B

B

(46)

KinematikBRobotBTanganBTigaBSendi.

Gambar 2.13. Konfigurasi Lengan Robot Tiga Sendi [12]

Koordinat akhir ujung lengan ketiga pada Gambar 2.13. ditulis P(

X

T

,

Y

T

) dengan

sudut

ψ

yang merupakan sudut arah hadap lengan ketiga terhadap sumbu

X

. Besarnya

sudut

ψ

adalah:

= ( +

+ )

(2 - 22)

Inverse kinematics

lengan robot tiga sendi posisi P(

X

T

,

Y

T

) dan P(

x

,

y

) sudah

diketahui atau ditentukan sebelumnya maka

θ1

dan

θ2

dapat dicari dengan menggunakan

persamaan (2- 16) dan (2- 21). Dengan diketahui besarnya (

X

T

,

Y

T

) dan (

x

,

y

) maka

ψ

dapat

dicari untuk menentukan besarnya sudut

θ3

.

= − cos

(2 - 23)

(47)

27

BABBIIIB

PERANCANGANBSISTEMB

Bab ini menjelaskan mengenai perancangan

prototype

lengan robot penggambar

bidang dua dimensi dengan 4 DOF yang dikendalikan oleh mikrokontroler Arduino Uno

R3 berdasarkan masukkan dari program

visual basic

. Perancangan sistem yang akan

dibahas pada bab ini terdiri dari dua bagian, yaitu perangkat keras (

hariware

) dan

perangkat lunak (

software

). Perancangan sistem yang dibahas dalam bab ini terbagi dalam

dua bagian besar, yaitu:

1.

Perancangan Perangkat Keras (

Hariware

)

-

Perancangan Mekanik Robot.

-

Perancangan Rangkaian Elektrik Sistem Pengendali

2.

Perancangan Perangkat Lunak (

Software

)

-

Perangkat lunak sebagai masukkan perintah dari

visual basic 6.0

.

-

Perangkat lunak pengendali motor RC

servo

dengan

Ariuino IDE

.

3.1.B PerancanganBPerangkatBKerasB(

Hardware

)B

(48)

Pada bagian pertama tentang sistem blok diagram perangkat keras membahas fungsi

dan cara kerja dari setiap komponen yang membentuk sistem lengan robot. Sistem blok

diagram pada lengan robot penggambar bidang dua dimensi yang akan dibuat meliputi

beberapa komponen. Komponen-komponen penyusunnya yaitu bagian masukkan atau

input

dari

personal computer

(

PC

), komponen pengendali berupa mikrokontroler

Atmega

328

pada papan

Ariuino Uno R3

, pengendali motor RC

servo

(

Aiafruit servo controller

)

dan bagian keluaran (

output

) yaitu motor RC

servo

.

Pada bagian kedua tentang perancangan lengan robot membahas tentang desain

mekanik dan perhitungan kinematika gerakan lengan robot melalui perhitungan secara

inverse kinematics

. Desain mekanik lengan robot secara lebih lengkap membahas

komponen-komponen penyusun sistem lengan robot yaitu dimensi dari lengan robot dan

motor RC

servo

yang digunakan.

Pada bagian ketiga tentang perancangan sistem elektrik membahas tentang

perancangan desain rangkaian elektrik yang akan digunakan. Perancangan rangkaian

elektrik sebagai pengendali prototipe lengan robot terdiri dari kontroler berupa

mikrokontroler

Ariuino Uno R3

, pengendali motor RC

servo

(

Aiafruit servo controller

)

dan

output

yang berupa motor RC

servo

.

3.1.1.B PerancanganBMekanikBRobot.B

(49)
[image:49.595.94.515.69.388.2]

Gambar 3.1. Sistem Blok Diagram Perangkat Keras (

hariware

)

Gambar 3.1. merupakan sistem blok diagram dari perangkat keras (

hariware

).

Berdasarkan perancangan sistem pada Gambar 3.1,

personal computer

(PC) memiliki

peranan sebagai perangakat keras yang berfungsi sebagai pemberi masukan atau

input

pada

sistem. Bagian

input

memberi keluaran atau

output

dari PC ke perangkat pengendali

(

controller

).

Output

yang dikeluarkan PC berupa data

serial

yang dikirim menuju piranti

pengendali dengan sistem komunikasi

serial

melalui koneksi USB (

Universal Serial Bus

).

PC memberikan

output

data

serial

dari program perangkat lunak berupa

software visual

basic 6.0

.

Software visual basic 6.0

membuat perintah tampilan antarmuka (

interface

)

berupa tombol dan parameter sebagai acuan kerja

prototype

lengan robot penggambar

bidang dua dimensi untuk menggambar bidang dua dimensi pada papan tulis.

(50)

memungkinkan untuk melakukan komunikasi dengan papan kontroler yang lain dengan

sistem I

2

C (

Inter Integratei Circuit

) karena memiliki pin TWI (

Two Wire Interface

) yaitu

pin SDA dan SCL. Sedangkan servo kontroler yang digunakan

Aiafruit servo controller

(Aiafruit 16-Channel 12-Bit PWM / Servo Shieli – I

2

C Interface)

yang memiliki fasilitas

untuk melakukan komunikasi dengan sistem I

2

C yang juga terdapat pada pin SDA dan

SCL yang terkoneksi secara

stackable

dengan papan Arduino Uno R3. Kemampuan lain

dari

Aiafruit servo controller

yaitu terdapat fasilitas mapping dimana fungsi dari mapping

ini dapat dimanfaatkan untuk melakukan konversi sudut menjadi pulsa untuk

menggerakkan motor RC servo. Penggunaan

Aiafruit

servo kontroler juga menjaga arus

agar tidak

irop

ketika motor RC servo melakukan gerakan secara bersamaan. Arus yang

tidak

irop

dapat menjaga motor RC servo berputar menuju sudut yang diperintahkan

sesuai dengan pulsa-pulsa digital yang diterima.

Motor RC servo merupakan bagian keluaran atau

output

dari sistem lengan robot

penggambar bidang dua dimensi. Motor RC servo dapat bergerak setelah mendapatkan

power supply

5

volt

dan masukkan berupa pulsa-pulsa digital yang merupakan keluaran

papan

Aiafruit servo controller

. Sebagai salah satu penyusun pada sistem lengan robot,

motor RC servo berperan sebagai penggerak (

actuator

) dengan gerakan rotasi pada

sudut-sudut tertentu sesuai dengan besarnya pulsa digital yang diterima sehingga gerakan rotasi

ini memungkinkan lengan robot dapat bergerak pada 3 sumbu axis yaitu X, Y dan Z. Sifat

gerakan putaran sudut motor RC servo dimanfaatkan sebagai sendi-sendi (

joint

) yang

menghubungkan lengan satu dengan lengan yang lainnya.

Pada sistem

lengan robot berdasarkan Gambar 3.2. piranti pengendali motor RC

(51)

Gambar 3.2. Sistem Blok Diagram Perangkat Keras (

Hariware

) dengan

Sendi (

Joint

) Motor RC servo

3.1.1.1.B PemodelanBMekanikB

Gambar 3.3. merupakan gambar keseluruhan

iesign

3D lengan robot penggambar

bidang dua dimensi berbasis mikrokontroler. Lengan robot penggambar bidang dua

dimensi 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 gerakan motor

RC servo disebut sebagai

joint

.

Gambar 3.3. menampilkan keseluruhan desain perancangan mekanik 3D lengan

robot penggambar bidang dua dimensi beserta lima bagian utama pada robot yang berperan

sebagai penghubung (

link

), yang meliputi :

1.

Base

(bagian dasar)

2.

Shoulier

(bagian bahu)

3.

Elbow

(bagian siku)

4.

Pitch

(bagian pergelangan)

(52)

B

Gambar 3.3. Tampilan Keseluruhan

Design

3D Lengan Robot

Bagian dasar (

base

) berbentuk lingkaran yang berdiameter 25 cm.

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 servo yang digunakan sebagai

penggerak

base

.

Base

bergerak secara rotasi dan dapat menyebabkan perubahan posisi

pada lengan-lengan penghubung yang lain. Bagian

shoulier

memiliki panjang lengan 18

cm dan bergerak secara rotasi dengan 2 buah motor RC servo. Bagian

elbow

memiliki

panjang lengan 12 cm dan bergerak secara rotasi dengan sebuah motor RC servo. Bagian

pitch

memiliki panjang lengan 5 cm dan bergerak secara rotasi dengan sebuah motor RC

servo. Bagian paling ujung adalah

pointer

yang digunakan untuk meletakkan spidol yang

merupakan

eni effector

dari

prototype

lengan robot

.

Pointer

memiliki panjang 8 cm. Total

keseluruhan panjang lengan robot penggambar bidang dua dimensi dari pangkal

shoulier

sampai pada ujung spidol adalah 43 cm. Besarnya dimensi berupa panjang yang dimiliki

oleh keseluruhan penghubung (

link

) menentukan kemampuan sebagai jangkauan lengan

robot ketika melakukan gerakkan menggambar di papan gambar.

Bagian yang berperan sebagai penggerak adalah sendi (

joint

) terhubung langsung

dengan motor RC servo. Gerakan yang terjadi pada

joint

di setiap bagian pangkal dari

link

(53)

Gambar 3.4. Tampilan Posisi Motor RC Servo pada

Design

Gambar 3D

Lengan Robot

Pada Gambar 3.4 menampilkan posisi motor RC servo pada perancangan lengan

robot penggambar bidang dua dimensi, yaitu:

1.

Base

2.

Shoulier 1

3.

Shoulier 2

4.

Elbow

5.

Pitch

Pada perancangan lengan robot penggambar bidang dua dimensi, motor RC servo

yang akan digunakan sebanyak 5 buah. Pemilihan motor RC servo yang digunakan pada

setiap

joint

berdasarkan pada kemampuan yang harus dimiliki setiap

joint

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

). Perkiraan berat lengan penghubung (

link

) pada perancangan lengan robot

penggambar bidang dua dimensi dapat dilihat pada keterangan lengan penghubung (

link

)

seperti pada Tabel 3.1:

Tabel 3.1. Keterangan Lengan Penghubung (

link

).

No.

Penghubung

Lengan

(

link

)

Panjang Lengan

Perkiraan

Berat Lengan

Beban Diangkat

Setiap Lengan

1

Base

25

Gambar

Gambar 2.3.  Tampilan Arduino Software (Arduino IDE)
Tabel 2.2.  Keterangan Tombol pada Tampilan Arduino IDE
Gambar 2.4.   Interface Visual Basic 6.0    [3]
Gambar 2.5.  Tampilan jendela Components    [4]
+7

Referensi

Dokumen terkait

Mahasiswa mempunyai keterampilan berkomunikasi secara lisan dalam bahasa Jerman sesuai dengan tema-tema yang dibahas di Studio d-A2 (Einheit 9-12 ) dan Studio d-B1 (Einheit 1-6)...

Latihan untuk adegan Hutan Dandaka materi yang dilatih adalah gerak tari untuk Rama Wijaya, Sinta dan Lesmana, gerak tari Kijang Kencana, gerak tari Rahwana

Puji dan syukur penulis panjatkan kepada Tuhan Yesus Kristus atas segala berkat dan karunianya yang telah diberikan-Nya selama ini, sehingga penulis mampu untuk menyelesaikan

Penelitian ini bertujuan mengetahui konsentrasi teh daun tempuyung kering (Sonchus arvensis) dan berat kalsium oksalat (Ca C2Oa) optimum yang mempunyai daya larut

In the band 35.5 - 36.0 GHz, active spaceborne sensors in the earth exploration-satellite and space research services shall not cause harmful interference to, claim protection

Berdasarkan Evaluasi Dokumen Kualifikasi Pengadaan Jasa Konsultansi Pekerjaan Pilot Project Konversi BBM ke BBG untuk Nelayan-Sosialisasi, Verifikasi dan Pengawasanpada

Berdasarkan latar belakang diatas, maka permasalahan dari penelitian ini adalah untuk mengetahui faktor – faktor apa saja yang mempengaruhi ketertarikan Ibu terhadap

disimpulkan bahwa risiko likuiditas, risiko kredit, risiko pasar, dan risiko operasional secara bersama-sama mempunyai pengaruh signifikan terhadap ROA pada Bank