Top Banner
i Halaman Judul (Bahasa Indonesia) TUGAS AKHIR ROBOT PENGGAMBAR DENGAN MEKANISME PANTOGRAF MENGGUNAKAN MOTOR STEPPER BERBASIS ARDUINO Diajukan untuk memenuhi salah satu syarat memperoleh gelar Sarjana Teknik pada Program Studi Teknik Elektro Jurusan Teknik Elektro Fakultas Sains dan Teknologi Universitas Sanata Dharma Disusun Oleh : I KOMANG MAHARDIKA NIM : 155114024 PROGRAM STUDI TEKNIK ELEKTRO JURUSAN TEKNIK ELEKTRO FAKULTAS SAINS DAN TEKNOLOGI UNIVERSITAS SANATA DHARMA YOGYAKARTA 2020 PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
88

ROBOT PENGGAMBAR DENGAN MEKANISME PANTOGRAF …

Feb 12, 2022

Download

Documents

dariahiddleston
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: ROBOT PENGGAMBAR DENGAN MEKANISME PANTOGRAF …

i

Halaman Judul (Bahasa Indonesia)

TUGAS AKHIR

ROBOT PENGGAMBAR DENGAN MEKANISME

PANTOGRAF MENGGUNAKAN MOTOR STEPPER

BERBASIS ARDUINO

Diajukan untuk memenuhi salah satu syarat

memperoleh gelar Sarjana Teknik pada

Program Studi Teknik Elektro

Jurusan Teknik Elektro

Fakultas Sains dan Teknologi Universitas Sanata Dharma

Disusun Oleh :

I KOMANG MAHARDIKA

NIM : 155114024

PROGRAM STUDI TEKNIK ELEKTRO

JURUSAN TEKNIK ELEKTRO

FAKULTAS SAINS DAN TEKNOLOGI

UNIVERSITAS SANATA DHARMA

YOGYAKARTA

2020

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 2: ROBOT PENGGAMBAR DENGAN MEKANISME PANTOGRAF …

ii

Halaman Judul (Bahasa Inggris)

FINAL PROJECT

ROBOT PLOTTER WITH PANTOGRAPH

MECHANISM USING STEPPER MOTOR BASED ON

ARDUINO

In a partial fulfilment of requirements

For the degree of Sarjana Teknik

Department of Electrical Engineering

Faculty of Science and Technology, Sanata Dharma University

I KOMANG MAHARDIKA

NIM : 155114024

DEPARTMENT OF ELECTRICAL ENGINEERING

FACULTY OF SCIENCE AND TECHNOLOGY

SANATA DHARMA UNIVERSITY

YOGYAKARTA

2020

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 3: ROBOT PENGGAMBAR DENGAN MEKANISME PANTOGRAF …

vi

HALAMAN PERSEMBAHAN DAN MOTTO HIDUP

MOTTO:

Belajar dari kegagalan adalah hal yang bijak…

Skripsi ini kupersembahkan untuk….

Tuhan Yang Maha Esa

Orangtuaku tercinta Bapak I NYOMAN ARA S.E., dan

Ibu NI MADE ARWATI

Program Studi Teknik Elektro Universitas Sanata Dharma

Sahabat dan Teman-teman Seperjuangan

Yogyakarta

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 4: ROBOT PENGGAMBAR DENGAN MEKANISME PANTOGRAF …

viii

INTISARI

Proses pemesinan otomatis atau CNC (Computer Numerical Controll) adalah proses

pembuatan produk berdasarkan gambar yang sudah diterjemahkan dalam bentuk g-code.

Penerjemahan dari gambar menjadi g-code dilakukan secara manual dengan memasukkan

fungsi-fungsi yang tersedia pada perintah-perintah g-code atau dengan menggunakan

software open source. Penelitian ini menggunakan open source untuk mengubah gambar

vektor menjadi g-code. Program ini untuk mensimulasikan proses penerjemahan tersebut.

Robot menjadi pilihan untuk membantu pekerjaan manusia mengatasi masalah

kepresisian, keamanan, fleksibilitas, dan pekerjaan yang berulang-ulang. Lengan robot

menjadi salah satu jenis robot yang dapat membantu pekerjaan manusia. Penelitian lengan

robot ini dibuat untuk menggambar bidang 2 dimensi. Lengan robot ini menggunakan basis

mikrokontroler Arduino Mega2560.

Lengan robot dalam penelitian ini mekanik berupa pantograf yang terdiri dari 4 link (4

ruas). Aktuator lengan robot adalah motor stepper. Lengan robot mendapatkan input dari PC

(Personal Computer) dengan software dan open processing 3 untuk menggerakkan lengan

robot. Data yang dikirim berupa pulsa digital dan komunikasi serial. Input berupa referensi

bidang kotak, segitiga, dan lingkaran dengan parameter yang ditentukan.

Hasil dari penelitian yang telah dilakukan menggunakan plotter robot drawing

menghasilkan tingkat keberhasilan robot untuk menggambar 2 dimensi secara berulang

adalah 100% untuk referensi gambar kotak, segitiga, dan lingkaran. Maka dapat dikatakan

percobaan plotter robot drawing ini berhasil sesuai dengan perancangan.

Kata Kunci: Pantograf, Arduino Mega2560, Komunikasi Serial, Lengan Robot, Processing

3.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 5: ROBOT PENGGAMBAR DENGAN MEKANISME PANTOGRAF …

ix

ABSTRACT

The automatic machining process or CNC (Computer Numerical Controll) is the

process of making products based on images that have been translated in the form of g-code.

Translation of images into g-code is done manually by entering functions available in g-code

commands or by using open source software. This research uses open source to convert

vector images into g-code. This program is to simulate the translation process.

Robots are the choice to help human work overcome the problems of precision,

security, flexibility, and repetitive work. Robot arms become one type of robot that can help

human work. This robot arm research was made to draw 2-dimensional fields. This robot

arm uses a base Arduino Mega2560 microcontroller.

The robot arm in this study was a mechanical pantograph consisting of 4 links (4

segments). The robot arm actuator is a stepper motor. Robot arms get input from PC

(Personal Computer) with software and open processing 3 to move the robot arm. Data sent

in the form of digital pulses and serial communication. Inputs are in the form of boxes,

triangles and circles with the specified parameters.

The results of research that has been done using a robot drawing plotter produces a

success rate of robots for drawing 2 dimensions repeatedly is 100% for reference to drawings

of squares, triangles and circles. Then it can be said that this robot drawing plotter

experiment was successful in accordance with the design.

Keywords: Pantograph, Arduino Mega2560, Serial Communication, Robot Arm, Processing

3.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 6: ROBOT PENGGAMBAR DENGAN MEKANISME PANTOGRAF …

xii

DAFTAR ISI

Halaman Judul (Bahasa Indonesia) ........................................................................................ i

Halaman Judul (Bahasa Inggris)............................................................................................ ii

LEMBAR PERSETUJUAN ................................................................................................. iii

LEMBAR PENGESAHAN .................................................................................................. iv

PERNYATAAN KEASLIAN KARYA ................................................................................ v

HALAMAN PERSEMBAHAN DAN MOTTO HIDUP ..................................................... vi

LEMBAR PERNYATAAN PERSETUJUAN PUBLIKASI KARYA ............................... vii

INTISARI ........................................................................................................................... viii

ABSTRACT ......................................................................................................................... ix

KATA PENGANTAR ........................................................................................................... x

DAFTAR ISI ....................................................................................................................... xii

DAFTAR GAMBAR .......................................................................................................... xiv

DAFTAR TABEL .............................................................................................................. xvi

BAB I PENDAHULUAN .................................................................................................... 1

1.1 Latar Belakang ........................................................................................................ 1

1.2 Tujuan ..................................................................................................................... 2

1.3 Manfaat ................................................................................................................... 3

1.4 Batasan Masalah ..................................................................................................... 3

1.5 Metode Penelitian ................................................................................................... 3

BAB II DASAR TEORI ....................................................................................................... 5

2.1 Mikrokontroler ........................................................................................................ 5

2.2 Arduino Mega 2560 ................................................................................................ 5

2.3 Gambar Bitmap ....................................................................................................... 8

2.4 Gambar Vektor ....................................................................................................... 8

2.5 Program mesin CNC ............................................................................................... 9

2.6 Inkscape ................................................................................................................ 12

2.7 CAMotics .............................................................................................................. 13

2.8 Motor Stepper ....................................................................................................... 13

2.9 Driver Motor ......................................................................................................... 17

2.10 Motor Servo .......................................................................................................... 17

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 7: ROBOT PENGGAMBAR DENGAN MEKANISME PANTOGRAF …

xiii

2.11 Kinematika ............................................................................................................ 19

2.12 Invers Kinematika ................................................................................................. 19

2.12.1 Trigonometri .................................................................................................. 20

2.12.2 Pitagoras ........................................................................................................ 20

BAB III RANCANGAN PENELITIAN ............................................................................ 22

3.1 Blok Diagram ........................................................................................................ 22

3.2 Perancangan Perangkat Lunak (Software) ............................................................ 23

3.3 Pantograf ............................................................................................................... 24

3.4 Perancangan Perangkat Keras (Hardware) ........................................................... 25

3.4.1 Perancangan Mekanik Robot ......................................................................... 25

BAB IV HASIL DAN PEMBAHASAN ............................................................................ 29

4.1 Perancangan Perangkat Keras ............................................................................... 29

4.1.1 Bentuk Mekanik Sistem Lengan Robot ......................................................... 29

4.1.2 Komponen Elektrik Sistem Lengan Robot .................................................... 31

4.1.3 Pengujian Gerakan Mekanik Lengan Robot .................................................. 32

4.2 Analisa Dan Pembahasan Perangkat Lunak ......................................................... 34

4.2.1. Pembahasan Program Pada Software Arduino Mega2560 ................................ 34

4.2.2. Pembahasan Pada Software Processing 3 .......................................................... 36

4.3 Analisa Hasil Pengujian Gambar Bidang Dua Dimensi ....................................... 38

4.3.1 Analisa Hasil Gambar Kotak ......................................................................... 39

4.3.2 Analisa Hasil Gambar Segitiga ..................................................................... 40

4.3.3 Analisa Hasil Gambar Lingkaran .................................................................. 42

4.3.4 Hasil Pengujian Tingkat Keberhasilan .......................................................... 45

4.3.5 Hasil Pengujian Repeatability ....................................................................... 45

BAB V KESIMPULAN DAN SARAN ............................................................................. 46

5.1 Kesimpulan ........................................................................................................... 46

5.2 Saran ..................................................................................................................... 46

DAFTAR PUSTAKA .......................................................................................................... 47

LAMPIRAN ........................................................................................................................ 49

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 8: ROBOT PENGGAMBAR DENGAN MEKANISME PANTOGRAF …

xiv

DAFTAR GAMBAR

Gambar 1. 1. Blok diagram Robot Drawing Pantograf ......................................................... 4

Gambar 2. 1. Arduino Mega 2560 ........................................................................................ 5

Gambar 2. 2. Contoh Gambar Bitmap .................................................................................. 8

Gambar 2. 3. Contoh Gambat Vektor ................................................................................... 9

Gambar 2. 4. Pengukuran Absolute dan incremental .......................................................... 11

Gambar 2. 5. Intruksi G-code .............................................................................................. 11

Gambar 2. 6. Inkscape ......................................................................................................... 12

Gambar 2. 7. CAMotics ....................................................................................................... 13

Gambar 2. 8. Motor Stepper ................................................................................................ 14

Gambar 2. 9. Penampang melintang dari motor stepper tipe variable reluctance (VR) ...... 14

Gambar 2. 10. Ilustrasi sederhana dari motor stepper tipe permanent magnet (PM) .......... 15

Gambar 2. 11. Penampang melintang dari motor stepper tipe hybrid ................................. 15

Gambar 2. 12. Motor stepper dengan lilitan unipolar.......................................................... 16

Gambar 2. 13. Motor stepper dengan lilitan bipolar............................................................ 16

Gambar 2. 14. Motor driver stepper .................................................................................... 17

Gambar 2. 15. Prinsip kerja motor servo ............................................................................. 18

Gambar 2. 16. Motor Servo ................................................................................................. 19

Gambar 2. 17. Kinematika Pantograf .................................................................................. 20

Gambar 2. 18. Segitiga Siku-siku ........................................................................................ 20

Gambar 3. 1. Diagram Blok Keseluruhan Sistem ............................................................... 22

Gambar 3. 2. Diagram alir secara umum perangkat lunak (software) ................................. 23

Gambar 3. 3. Diagram alir pada mikrokontroler ................................................................. 24

Gambar 3. 4. Tampilan Keseluruhan Desain 3D Mekanik Pantograf ................................. 25

Gambar 3. 5. Desain 3D Mekanik Pantograf Tampak Atas ................................................ 26

Gambar 3. 6. Desain 3D Mekanik Pantograf Tampak Bawah ............................................ 26

Gambar 3. 7. Sudut β1 Gambar 3. 8. Sudut β5 ................................................................ 26

Gambar 3. 9. Tampilan koordinat sumbu axis (X,Y) dan Jarak Daerah Kerja Lengan Robot

Pantograf .............................................................................................................................. 28

Gambar 4. 1. Mekanik Plotter Robot Drawing .................................................................... 29

Gambar 4. 2. Posisi Motor Stepper ..................................................................................... 30

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 9: ROBOT PENGGAMBAR DENGAN MEKANISME PANTOGRAF …

xv

Gambar 4. 3. Posisi Motor Servo ........................................................................................ 31

Gambar 4. 4. Mekanik Plotter Robot Drawing .................................................................... 31

Gambar 4. 5. Cara Pengukuran Sudut Menggunakan Busur Derajat .................................. 33

Gambar 4. 6. Tampilan Software Arduino Mega2560 ........................................................ 34

Gambar 4. 7. Program Inisialisasi Motor Stepper Dan Motor Servo .................................. 35

Gambar 4. 8. Program Perintah G-code .............................................................................. 35

Gambar 4. 9. Program Skala Untuk Mengatur Ukuran Gambar ......................................... 36

Gambar 4. 10. Tampilan Pada Processing 3 ........................................................................ 37

Gambar 4. 11. Tampilan simulasi CAMotics ...................................................................... 37

Gambar 4. 12. Instruksi G-code........................................................................................... 38

Gambar 4. 13. Tampilan pada software paint ...................................................................... 38

Gambar 4. 14. Hasil Pengujian Gambar Kotak ................................................................... 39

Gambar 4. 15. Hasil Pengujian Gambar Kotak ................................................................... 40

Gambar 4. 16. Hasil Pengujian Gambar segitiga................................................................. 41

Gambar 4. 17. Hasil Pengujian Gambar Segitiga ................................................................ 41

Gambar 4. 18. Hasil Pengujian Gambar Lingkaran............................................................. 43

Gambar 4. 19. Hasil Pengujian Gambar Lingkaran............................................................. 43

Gambar 4. 20. Pengujian Garis Lurus Horizontal ............................................................... 46

Gambar 4. 21. Pengujian Garis Lurus Vertikal ................................................................... 47

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 10: ROBOT PENGGAMBAR DENGAN MEKANISME PANTOGRAF …

xvi

DAFTAR TABEL

Tabel 2. 1. Spesifikasi Arduino Mega2560 ........................................................................... 6

Tabel 2. 2.Macam-macam G-code ..................................................................................... 10

Tabel 2. 3.Tegangan pulsa full step ................................................................................... 107

Tabel 2. 4.Tegangan pulsa half step .................................................................................... 17

Tabel 4. 1. perhitungan inverse kinematik dengan metode geometri pada titik referensi ... 32

Tabel 4. 2. Hasil Sudut Pengujian Dan Perhitungan Pada Gambar Bidang 2 Dimensi....... 33

Tabel 4. 3. Pengujian Gambar Kotak .................................................................................. 40

Tabel 4. 4. Pengujian Gambar segitiga ................................................................................ 42

Tabel 4. 5. Pungijian Gambar Lingkaran Scale 100% ........................................................ 43

Tabel 4. 6. Pengujian Gambar Lingkaran Scale 50% .......................................................... 44

Tabel 4. 7. Pengujian Gambar Kotak, Segitiga, Dan Lingkaran ......................................... 45

Tabel 4. 8. Pengujian Garis Lurus Horizontal ..................................................................... 46

Tabel 4. 9. Pengujian Garis Lurus Vertikal ......................................................................... 46

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 11: ROBOT PENGGAMBAR DENGAN MEKANISME PANTOGRAF …

1

BAB I

PENDAHULUAN

1.1 Latar Belakang

Dengan semakin pesatnya perkembangan IPTEK dalam bidang manufaktur

(Pembuatan produk), proses pemesinan manual sudah mulai tergantikan oleh proses

pemesinan otomatis. Meskipun di Indonesia proses pemesinan manual lebih sering

digunakan dibanding otomatis, karena biaya yang tidak mencukupi. Pemesinan otomatis

lebih banyak digunakan oleh industri-industri besar yang menuntut kecepatan dalam

produksi dan kepresisian hasil produksi.

Robot drawing adalah robot yang nantinya dapat melakukan proses menulis ataupun

menggambar layaknya manusia. Permasalahan di negeri kita seperti pejabat tinggi yang

harus menandatangani sejumlah sertifikat ataupun surat-surat penting yang akan ditanda

tangani dengan manual. Maka diharapkan robot drawing akan mempermudah seseorang

dalam pekerjaannya.

Dalam dunia industri sudah banyak yang menggunakan robot untuk pembuatan

produk, tetapi sangat jarang digunakan untuk seorang pejabat-pejabat besar dalam

mempermudah pekerajaannya sehari-hari.

Di akhir-akhir ini banyak yang telah membuat sebuah lengan robot yang dapat

difungsikan untuk beraktivitas layaknya tangan manusia. Dalam pembuatan tangan robot ini

membutuhkan biaya yang besar dibanding dengan robot drawing dua dimensi yang bergerak

x, y, dan z.

Robot ini nantinya akan bergerak dengan sumbu x, y, dan z jarak kerja dari robot ini

seluas A4. Robot drawing ini bergerak dengan sebuah motor stepper untuk gerakan x, y, dan

z, robot ini dikendalikan dengan mikrokontroler berbasis Arduino.

Dalam perkembangan robot drawing di dunia, robot drawing mengalami banyak

perubahan dari yang berupa lengan robot yang bisa menggambar, robot drawing dengan

sumbu x, y, dan z.

Sistem robot lengan pada umumnya merupakan batang kaku yang terbuat dari logam,

plastik, maupun bahan lain yang sering disebut dengan link. Antara link satu dengan link

lainnya dihubungkan oleh persendian yang disebut joint. Umumnya prismatic joint dan flat

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 12: ROBOT PENGGAMBAR DENGAN MEKANISME PANTOGRAF …

2

joint dapat menghasilkan pergeseran. Sedangkan shperis join dan revolute joint dapat

menghasilkan degree of freedom (DOF) atau derajat kebebasan. Degree of freedom (DOF)

atau derajat kebebasan adalah jumlah arah yang independen dimana actuator dari sebuah

robot dapat bergerak dan menghasilkan gerakan berputar. DOF dapat dihitung tiap sendi dan

tidak termasuk end effector .Sedangkan end effector adalah piranti yang terpasang pada

lengan robot untuk melaksanakan fungsi-fungsi tertentu. End effector terbagi menjadi dua

yaitu gripper dan tool. End effector dan keseluruhan bagian robot lengan bekerja pada

workspace tertentu, tergantung kemampuan robot yang digunakan [1].

Pemrograman mesin cnc adalah masukan data ke komputer mesin cnc dengan bahasa

yang dapat dipahami dan dimengerti oleh mesin. Bahasa yang dipakai berupa bahasa

numerik yaitu bahasa gabungan huruf dan angka. Untuk melaksanakan perintah jalannya

gerakan robot drawing guna mencapai tujuan yang diinginkan, diperlukan bahasa

pemrograman berupa kode-kode dalam bentuk huruf dan angka serta metode pemrograman

[2].

Untuk mengendalikan mesin menggunakan perangkat elektronik dalam hal ini era

modern. Dengan otomatisasi dibidang mikrokontroler yang mudah digunakan dan

ekonomis, memberikan kontrol penuh pada peralatan dengan fleksibilitas untuk mengubah

program kapan dibutuhkan dan memahami umpan balik dari sensor untuk presisi dan akurasi

membantu menghemat waktu dan tenaga yang juga menghabiskan lebih sedikit daya,

membuat daya peralatan efisien. Tujuan dari pekerjaan ini adalah untuk membangun plotter

murah yang dapat digunakan untuk tujuan pendidikan. Para penulis juga menemukan bahwa

ada banyak ruang lingkup perbaikan dalam pekerjaan ini yang dapat digunakan untuk

mengajarkan konsep lanjutan kepada siswa. Plotter umumnya digunakan untuk membuat

plot 2D, dikontrol secara digital. Karya ini menambahkan dimensi ekstra dimana pena dapat

diangkat sepanjang Sumbu Z.

Robot murah melayani banyak tujuan dalam pendidikan. Desain, kerja, antarmuka

perangkat lunak dan perangkat keras dan biaya-biaya rendah plotter akan menjadi detail di

bagian selanjutnya.

1.2 Tujuan

Tujuan dari penelitian ini secara umum adalah untuk menghasilkan suatu prototype

plotter robot drawing dengan penggerak motor stepper sebagai penggerak mekanik

pantograf dan berbasis mikrokontroler yang dapat dikendalikan dengan tampilan program

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 13: ROBOT PENGGAMBAR DENGAN MEKANISME PANTOGRAF …

3

dari personal computer (PC). Secara khusus dari penelitian ini bertujuan untuk

menerjemahkan beberapa gambar vektor bidang 2 dimensi kedalam bentuk g-code. G-code

akan diimplementasikan pada software CNC.

Penelitian ini memiliki manfaat yang dapat membantu pekerjaan manusia dalam

design 2 dimensi sebagai masukan/input untuk melakukan kegiatan industri karena mesin

CNC dapat melakukan pekerjaan secara presisi, aman dan dapat melakukan perkerjaan

secara berulang dengan mengikuti pola tertentu seperti pemotongan sebuah gabus,

pengecatan dan kegiatan otomasi industri lainnya.

1.3 Manfaat

1. Bagi Pendidikan

Diharapkan robot drawing ini dapat membantu dalam pengetahuan kita bahwa

membantu pemahaman anak dalam belajar subjek sains, teknologi, teknik.

2. Bagi Masyarakat

Diharapkan robot drawing ini akan dapat membantu masyarakat dalam

perkerjaannya.

1.4 Batasan Masalah

Pembatasan masalah dimaksudkan untuk mempermudah pelaksanaan penelitian

maupun penulisan skripsi sehingga tidak terjadi kesalahan dalam menerjemahkan judul yang

dimaksud. Batasan masalah untuk penelitian ini adalah:

a. Daerah kerja ukuran A4.

b. Metode menggambar dua dimensi (gambar vektor) pada personal komputer.

c. Pada gambar 2 dimensi pada sumbu X Y Z.

d. Mikrokontroler arduino.

e. Inkscape mengubah gambar vektor menjadi file g-code.

f. CAMotics membaca dan mensimulasikan file g-code.

g. Processing 3 memproses program file g-code.

1.5 Metode Penelitian

1) Mempelajari buku-buku dan makalah dari pustaka yang berhubungan dengan

pembuatan Huruf atau gambar dua dimensi Inkscape dan pemrograman g-code.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 14: ROBOT PENGGAMBAR DENGAN MEKANISME PANTOGRAF …

4

2) Pembuatan file g-code pada software inkscape.

3) Proses pengujian penelitian data. Dengan cara menguji file g-code yang dibuat

dengan software inksape untuk menerjemahkan gambar vektor menjadi bentuk g-

code.

4) Munguji motor stepper dan servo.

5) Desain gambar robot drawing dengan menggunakan software Sketchup .

6) Pembacaan file g-code dengan menggunakan CAMotics untuk diimplementasikan

pada robot drawing.

7) Perancangan sistem hardware, 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 Robot Drawing Pantograf

Arduino 2560

(Bagian Pengendali)

Personal Computer

(PC)

Inkscape

CAMotics

Motor

(Motor Stepper &

Motor Servo)

Pantograf

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 15: ROBOT PENGGAMBAR DENGAN MEKANISME PANTOGRAF …

5

BAB II

DASAR 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.2 Arduino Mega 2560

Gambar 2. 1. Arduino Mega 2560 [3]

Arduino Mega2560 adalah papan mikrokontroler berbasiskan ATmega2560 (datasheet

ATmega2560). Arduino Mega2560 memiliki 54 pin digital input/output, dimana 15 pin

dapat digunakan sebagai output PWM, 16 pin sebagai input analog, dan 4 pin sebagai UART

(port serial hardware), 16 MHz kristal osilator, koneksi USB, jack power, header ICSP, dan

tombol reset. Ini semua yang diperlukan untuk mendukung mikrokontroler. Cukup dengan

menghubungkannya ke komputer melalui kabel USB atau power dihubungkan dengan

adaptor AC-DC atau baterai untuk mulai mengaktifkannya [3].

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 16: ROBOT PENGGAMBAR DENGAN MEKANISME PANTOGRAF …

6

Arduino Mega2560 kompatibel dengan sebagian besar shield yang dirancang untuk

Arduino Duemilanove atau Arduino Diecimila. Arduino Mega2560 adalah versi terbaru

yang menggantikan versi Arduino Mega.

Dibawah ini adalah spesifikasi sederhana dari Arduino Mega2560:

Tabel 2. 1. Spesifikasi Arduino Mega2560

Mikrokontroler ATmega2560

Tegangan Operasi 5V

Input Voltage (disarankan) 7-12V

Input Voltage (limit) 6-20V

Pin Digital I/O 54 (yang 15 pin digunakan sebagai output PWM)

Pins Input Analog 16

Arus DC per pin I/O 40 mA

Arus DC untuk pin 3.3V 50 mA

Flash Memory 256 KB (8 KB digunakan untuk bootloader)

SRAM 8 KB

EEPROM 4 KB

Clock Speed 16 MHz

Arduino Mega2560 memiliki fitur-fitur baru berikut:

a. 10 pinout. Ditambahkan pin SDA dan pin SCL yang dekat dengan pin AREF dan dua

pin baru lainnya ditempatkan dekat dengan pin RESET, IOREF memungkinkan shield

untuk beradaptasi dengan tegangan yang tersedia pada papan. Di masa depan, shield

akan kompatibel baik dengan papan yang menggunakan AVR yang beroperasi dengan

5 Volt dan dengan Arduino Due yang beroperasi dengan tegangan 3.3 Volt. Dan ada

dua pin yang tidak terhubung, yang disediakan untuk tujuan masa depan.

b. Sirkuit RESET.

c. Chip ATmega16U2 menggantikan chip ATmega8U2.

Papan Arduino ATmega2560 dapat beroperasi dengan pasokan daya eksternal 6 Volt

sampai 20 Volt. Jika diberi tegangan kurang dari 7 Volt, maka, pin 5 Volt mungkin akan

menghasilkan tegangan kurang dari 5 Volt dan ini akan membuat papan menjadi tidak stabil.

Jika sumber tegangan menggunakan lebih dari 12 Volt, regulator tegangan akan mengalami

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 17: ROBOT PENGGAMBAR DENGAN MEKANISME PANTOGRAF …

7

panas berlebihan dan bisa merusak papan. Rentang sumber tegangan yang dianjurkan adalah

7 Volt sampai 12 Volt. Selain itu, beberapa pin memiliki fungsi khusus :

a. Serial : 0 (RX) dan 1 (TX); Serial 1 : 19 (RX) dan 18 (TX); Serial 2 : 17 (RX) dan

16 (TX); Serial 3 : 15 (RX) dan 14 (TX). Digunakan untuk menerima (RX) dan

mengirimkan (TX) data serial TTL. Pin 0 dan 1 juga terhubung ke pin chip

ATmega16U2 Serial USB-to-TTL.

b. Eksternal Interupsi : Pin 2 (interrupt 0), pin 3 (interrupt 1), pin 18 (interrupt 5), pin

19 (interrupt 4), pin 20 (interrupt 3), dan pin 21 (interrupt 2). Pin ini dapat

dikonfigurasi untuk memicu sebuah interupsi pada nilai yang rendah, meningkat

atau menurun, atau perubah nilai.

c. SPI : Pin 50 (MISO), pin 51 (MOSI), pin 52 (SCK), pin 53 (SS). Pin ini mendukung

komunikasi SPI menggunakan perpustakaan SPI. Pin SPI juga terhubung dengan

header ICSP, yang secara fisik kompatibel dengan Arduino Uno, Arduino

Duemilanove dan Arduino Diecimila.

d. LED : Pin 13. Tersedia secara built-in pada papan Arduino ATmega2560. LED

terhubung ke pin digital 13. Ketika pin diset bernilai HIGH, maka LED menyala

(ON), dan ketika pin diset bernilai LOW, maka LED padam (OFF).

e. TWI : Pin 20 (SDA) dan pin 21 (SCL). Yang mendukung komunikasi TWI

menggunakan perpustakaan Wire. Perhatikan bahwa pin ini tidak di lokasi yang

sama dengan pin TWI pada Arduino Duemilanove atau Arduino Diecimila.

Arduino Mega2560 memiliki 16 pin sebagai analog input, yang masing-masing pin

menyediakan resolusi 10 bit (yaitu 1024 nilai yang berbeda). Secara default pin ini dapat

diukur/diatur dari Ground sampai dengan 5 Volt, juga memungkinkan untuk mengubah titik

jangkauan tertinggi atau terendah menggunakan pin AREF dan fungsi analogReference. Ada

beberapa pin lainnya yang tersedia, antara lain:

a. AREF : Referensi tegangan untuk input analog. Digunakan dengan fungsi analog

Reference.

b. RESET : Jalur LOW ini digunakan untuk me-reset (menghidupkan ulang)

mikrokontroler. Jalur ini biasanya digunakan untuk menambahkan tombol reset

pada shield yang menghalangi papan utama Arduino.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 18: ROBOT PENGGAMBAR DENGAN MEKANISME PANTOGRAF …

8

2.3 Gambar Bitmap

Gambar bitmap merupakan duplikat atau tiruan persis dari gambar asli dalam bentuk

gambar digital. Gambar jenis ini tersusun dari sejumlah titik pixel (picture

element)/dot/point/titik koordinat yang ditempatkan pada lokasi-lokasi tertentu dengan nilai

warna tersendiri sehingga membentuk pola tertentu di layar komputer. Pola yang terbentuk

itulah yang menghasilkan atau menimbulkan kesan gambar. Pixel merupakan elemen

terkecil citra digital yang dapat dilihat mata. Semakin banyak jumlah pixel, berarti semakin

tinggi tingkat kerapatannya dan semakin halus gambar yang terbentuk. Akibatnya, semakin

besar pula ukuran file gambar tersebut. Banyaknya titik dalam 1 inchi dikenal dengan dpi

(dot per inchi). Anda dapat mengenali gambar bitmap dari file komputer yang berekstensi

.bmp, .jpg, .tfi, .gif, .png, .pix, .pcx, dan sebagainya. Berikut adalah contoh gambar Bitmap

pada gambar 2.2 [4].

Gambar 2. 2. Contoh Gambar Bitmap [4]

2.4 Gambar Vektor

Gambar Vektor adalah gambar yang tersusun oleh sekumpulan garis, kurva, dan

bidang tertentu dengan menggunakan serangkaian instruksi yang masing-masing

didefinisikan secara matematis. Setiap garis, kurva, dan bidang tertentu tersebut mempunyai

vektor atau atribut masing-masing berupa fill, stroke, dan node. Gambar vektor tidak

dipengaruhi oleh resolusi gambar atau titik pixel (dpi) seperti pada gambar bitmap [4].

Keluaran file dari jenis gambar vektor biasanya menyesuaikan dari jenis program yang

digunakan:

1. Corel Draw output filenya .cdr

2. Freehand output filenya .fh11

3. Illustrator output filenya .ai

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 19: ROBOT PENGGAMBAR DENGAN MEKANISME PANTOGRAF …

9

Gambar 2. 3. Contoh Gambat Vektor [4]

2.5 Program mesin CNC

Pemrograman dengan mesin CNC, dapat dilakukan dengan 2 macam cara, yaitu:

a Pemrograman manual

Pemrograman dengan cara manual adalah pemrograman dengan cara memasukan data

ke-mesin dengan mengetik tombol-tombol masukan data melalui keyboard yang

terdapat pada pengendali mesin.

b Pemrograman otomatis

Pemrograman otomatis adalah pemrograman dengan memasukan data ke mesin

melalui perangkat lunak (disket, kaset, dan flashdisk, serta interface232) melalui

kontak layanan kaset yang tersedia pada panel pengendali mesin [2].

Secara umum, program NC memiliki konstruksi tertentu, yaitu kode atau perintah

pendahuluan dan perintah pembantu. Perintah pendahuluan umumnya menggunakan kode

G, sedangkan perintah pembantu menggunakan fungsi M. Program NC, selain kode G dan

M, di dalamnya terdiri dari sejumlah kode-kode perintah yang tersusun dalam bentuk

kombinasi huruf-huruf tertentu dan angka. Kode berupa huruf, misalnya N, T, S, F, H, I, J,

K, R, D, X, Y, Z, dan angka 0 sampai 9 disebut addres. Suatu kode huruf yang di

belakangnya diikuti angka (kombinasi huruf dan angka) disebut ”kata” (word). Gabungan

dari beberapa kata disebut ”blok”.

”Blok” merupakan gabungan dari beberapa kata yang membentuk satu tahapan

perintah, misalnya deretan melintang bergerak lurus sejauh 4 mm mendekati sumbu dengan

kecepatan 80 mm/menit. Di dalam sebuah program CNC, satu tahapan perintah ditulis dalam

satu baris, berarti ”blok” adalah gabungan beberapa kata yang ditulis dalam satu baris

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 20: ROBOT PENGGAMBAR DENGAN MEKANISME PANTOGRAF …

10

program. Komputer (unit kontrol) mesin membaca dan menjalankan program per satu blok

bukan per kata.

Kode G ( “G-code” ) terbagi dalam 2 tipe:

1. Tipe “One-Shot G-code”

G-code akan aktif hanya dalam 1 blok saja (aktif hanya sekali). Jika masih

digunakan untuk Blok berikutnya, maka harus dipanggil lagi

2. Tipe “Modal G-code”

G-code akan aktif digunakan terus pada Blok-blok berikutnya sampai ada G-code

lain yang sama dalam satu grup dipanggil.

Model G-code antara lain:

G00, G01, (G02), (G03), G17, G18, G19, G20, G21, G40, G41, G42, G80, G81, G82,

G83, G90, G91

Berikut merupakan tabel macam-macam G-code:

Tabel 2. 2.Macam-macam G-code [6]

G-code Kegunaan

G00 Gerakan Lurus Cepat (tanpa pemakanan)

G01 Gerak Interpolasi Lurus (dengan pemakanan)

G02 Gerak Interpolasi Melingkar searah jarum jam

G03 Gerak Interpolasi Melingkar berlawanan arah jarum jam

G90 Perintah Absolut

G91 Perintah Inkremental

Untuk mengetahui lebih jelas fungsi dari G-code dapat dilihat dibawah ini:

1) G00, Perintah gerakan lurus cepat

G00 berfungsi untuk menempatkan (memposisikan) pahat secara cepat dan tidak

menyayat benda kerja. Semua sumbu bisa bergerak secara simultan sehingga

menghasilkan jalur lurus.

2) G01, Perintah gerakan interpolasi lurus

G01 berfungsi untuk menggerakkan pahat dari titik awal menuju titik akhir dengan

gerakan lurus.

3) G02 dan G03, Perintah gerakan interpolasi melingkar searah jarum jam dan

berlawanan jarum jam.

G02 dan G03 berfungsi untuk menggerakkan pahat dari titik awal ke titik akhir

mengikuti gerakan melingkar.

4) G90 dan G91, Perintah gerakan absolut dan gerakan incremental

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 21: ROBOT PENGGAMBAR DENGAN MEKANISME PANTOGRAF …

11

Apabila di awal program CNC ditulis G90, maka pemosisian pahat yang diperintahkan

menggunakan kordinat absolut dari titik nol benda kerja. Titik nol benda kerja adalah

sebagai titik nol absolut atau (0,0,0). Berikut untuk memahami hal tersebut dapat

dilihat pada gambar dibawah:

Gambar 2. 4. Pengukuran Absolute dan incremental

G91 berarti sistem pengukuran yang digunakan menggunakan koordinat relative atau

incremental. Pergeseran pahat diprogram dari tempat pahat berada ke posisi

berikutnya. Titik nol (0,0,0) berada di ujung sumbu pahat. G91 biasanya digunakan di

awal rutin (sub program).

Contoh Intruksi G-code pada gambar 2.5:

G1 X0 Y0 Z0 (Posisi Awal)

G1 X-26,12 Y74,09

M30 (Pena Turun)

G4 P150 (Delay 150ms)

G1 X-26,12 Y91,17

G1 X1,68 Y91,17

G1 X29,48 Y91,17

G1 X29,48 Y74,09

G1 X29,48 Y57,02

G1 X1,68 Y57,02

G1 X-26,12 Y57,02 Gambar 2. 5. Intruksi G-code

G1 X-26,12 Y74,09

M300 S50 (Pen Up)

G4 P150

G1 X0 Y0 (Posisi Awal)

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 22: ROBOT PENGGAMBAR DENGAN MEKANISME PANTOGRAF …

12

2.6 Inkscape

Inkscape adalah sebuah perangkat lunak editor gambar vektor yang bersifat bebas

terbuka dibawah lisensi GNU GPL. Tujuan utama dari Inkscape adalah membuat perangkat

grafik mutakhir yang memenuhi standar XML, SVG, dan CSS.

Inkscape tersedia untuk sistem operasi Windows, Macintosh, dan Linux. Program dan

kode sumber (source kode) Inkscape tersedia untuk umum pada situs resmi Inkscape

sehingga siapapun dapat mempelajari dan mengembangkannya [6].

Inkscape dapat digunakan untuk membuat gambar vektor untuk berbagai kebutuhan,

misalnya untuk membuat gambar ilustrasi pada web, ikon untuk smartphone, gambar kartun

atau animasi, membuat garis sederhana, kaligrafi, logo, brosur, dan masih banyak lagi.

Format gambar yang dibuat menggunakan Inkscape sangat handal dan dapat

disebarkan melalui internet dengan mudah karena ukurannya lebih kecil dibandingkan

dengan format yang dibuat menggunakan aplikasi lain yang sejenis. Dukungan untuk

berbagai format telah ditambahkan termasuk untuk berbagai browser dan smartphone masa

kini.

Inkscape mendukung gambar dengan bentuk biasa (misal; persegi panjang dan

lingkaran), garis, dan teks. Setiap object dapat dimodifikasi dan diberi warna sendiri.

Hiperlink dapat ditambahkan sehingga gambar dapat digunakan dalam web browser karena

program Inkscape tujuannya untuk membuat gambar dengan format XML, SVG, dan

kampatible dengan script CSS. Saat ini Inkscape masih terus dikembangkan, hal ini dapat

dilihat dengan adanya penambahan fitur dan antarmuka baru secara rutin pada setiap rilis

versi baru.

Gambar 2. 6. Inkscape

Masukkan pada alat penelitian ini berupa gambar digital. Gambar yang dihasilkan

harus memiliki kemiripan dengan gambar digital. Software yang akan digunakan untuk

mendesain gambar adalah inkscape. Inkscape adalah sebuah perangkat lunak editor gambar

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 23: ROBOT PENGGAMBAR DENGAN MEKANISME PANTOGRAF …

13

vektor yang bersifat Open-Source. Gambar digital yang akan digunakan sebagai masukkan

harus terlebih dahulu di konversi menjadi g-code. G-code adalah kode posisi untuk alat agar

alat bergerak ke posisi yang seharusnya. Untuk mengkonversi gambar menjadi g-code

dibutuhkan sebuah software. Untuk mengubah gambar menjadi g-code, inkscape

membutuhkan plugin tambahan bernama gcodetools. Dengan plugin tersebut gambar yang

telah didesain menggunakan inkscape dapat dibuah menjadi g-code. CAMotics adalah

software yang diperlukan untuk mengirim g-code ke mikrokontroler.

2.7 CAMotics

CAMotics dapat digunakan untuk mensimulasikan program 3-axis G-code untuk CNC

dan memvisualisasikan hasilnya dalam 3D. CAMOTOS berjalan di Linux, OS-X atau

Windows. CAMotics bertujuan untuk menjadi platform simulasi CNC yang berguna untuk

komunitas DIY dan sumber terbuka. CAMOTIC memfasilitasi tugas simulasi spesifik

seperti ukiran dan pemotongan papan PCB serta teknik simulasi yang lebih canggih dan

antarmuka pemrograman. CAMOTIC digunakan untuk menulis kode CNC dan

memvisualisasikan gerakan yang dihasilkan dari alat dan/atau benda kerja [7].

Gambar 2. 7. CAMotics

2.8 Motor Stepper

Motor Stepper merupakan salah satu jenis motor yang banyak digunakan saat ini

sebagai aktuator, misalnya sebagai penggerak head baca/tulis pada disk drive yang akan

menetapkan posisi head baca/tulis di atas permukaan piringan disket, penggerak head pada

printer dan line feed control, dan yang lebih populer saat ini adalah aplikasi dalam bidang

robotik. Dengan bantuan mikroprosesor atau mikrokontroler perputaran motor dapat

dikontrol dengan tepat dan terprogram [8].

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 24: ROBOT PENGGAMBAR DENGAN MEKANISME PANTOGRAF …

14

Gambar 2. 8. Motor Stepper

Motor stepper memiliki 3 jenis yaitu tipe Variable reluctance (VR), tipe permanent

magnet (PM), dan tipe hybrid (HB).

1. Motor stepper tipe Variable reluctance (VR)

Motor stepper jenis ini telah lama ada dan merupakan jenis motor yang secara

struktural paling mudah untuk dipahami. Motor ini terdiri atas sebuah rotor besi lunak

dengan beberapa gerigi dan sebuah lilitan stator. Ketika lilitan stator diberi energi

dengan arus DC, kutub-kutubnya menjadi termagnetasi. Perputaran terjadi ketika gigi-

gigi rotor tertarik oleh kutub-kutub stator. Berikut ini adalah penampang melintang

dari motor stepper tipe variable reluctance (VR) yang ditunjukkan pada gambar 2.8:

Gambar 2. 9. Penampang Melintang Dari Motor Stepper Tipe Variable Reluctance (VR)

2. Motor stepper tipe Permanent Magnet (PM)

Motor stepper jenis ini memiliki rotor yang berbentuk seperti kaleng bundar (tin can)

yang terdiri atas lapisan magnet permanen yang diselang-seling dengan kutub yang

berlawanan (perhatikan gambar 2.9). Dengan adanya magnet permanen, maka

intensitas fluks magnet dalam motor ini akan meningkat sehingga dapat menghasilkan

torsi yang lebih besar. Motor jenis ini biasanya memiliki resolusi langkah (step) yang

rendah yaitu antara 7,50 hingga 150 per langkah atau 48 hingga 24 langkah setiap

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 25: ROBOT PENGGAMBAR DENGAN MEKANISME PANTOGRAF …

15

putarannya. Berikut ini adalah ilustrasi sederhana dari motor stepper tipe permanent

magnet:

Gambar 2. 10. Ilustrasi Sederhana Dari Motor Stepper Tipe Permanent Magnet (PM)

3. Motor stepper tipe Hybrid (HB)

Motor stepper tipe hibrid memiliki struktur yang merupakan kombinasi dari kedua tipe

motor stepper sebelumnya. Motor stepper tipe hibrid memiliki gigi-gigi seperti pada

motor tipe VR dan juga memiliki magnet permanen yang tersusun secara aksial pada

batang porosnya seperti motor tipe PM. Motor tipe ini paling banyak digunkan dalam

berbagai aplikasi karena kinerja lebih baik. Motor tipe hibrid dapat menghasilkan

resolusi langkah yang tinggi yaitu antara 3,60 hingga 0,90 per langkah atau 100-400

langkah setiap putarannya. Berikut ini adalah penampang melintang dari motor stepper

tipe hibrid:

Gambar 2. 11. Penampang Melintang Dari Motor Stepper Tipe Hybrid

Berdasarkan metode perancangan rangkain pengendalinya, motor stepper dapat dibagi

menjadi jenis unipolar dan bipolar. Rangkaian pengendali motor stepper unipolar lebih

mudah dirancang karena hanya memerlukan satu switch / transistor setiap lilitannya. Untuk

menjalankan dan menghentikan motor ini cukup dengan menerapkan pulsa digital yang

hanya terdiri atas tegangan positif dan nol (ground) pada salah satu terminal lilitan (wound)

motor sementara terminal lainnya dicatu dengan tegangan positif konstan (VM) pada bagian

tengah (center tap) dari lilitan (perhatikan gambar 2.11)

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 26: ROBOT PENGGAMBAR DENGAN MEKANISME PANTOGRAF …

16

.

Gambar 2. 12. Motor Stepper Dengan Lilitan Unipolar

Untuk motor stepper dengan lilitan bipolar, diperlukan sinyal pulsa yang berubah-

ubah dari positif ke negatif dan sebaliknya. Jadi pada setiap terminal lilitan (A & B)

harus dihubungkan dengan sinyal yang mengayun dari positif ke negatif dan

sebaliknya (perhatikan gambar 2.12). Karena itu dibutuhkan rangkaian pengendali

yang agak lebih kompleks daripada rangkaian pengendali untuk motor unipolar. Motor

stepper bipolar memiliki keunggulan dibandingkan dengan motor stepper unipolar

dalam hal torsi yang lebih besar untuk ukuran yang sama.

Gambar 2. 13. Motor Stepper Dengan Lilitan Bipolar

Motor stepper yang digunakan adalah tipe nema 17-2 phase hybrid stepper motor.

Motor stepper ini memiliki spesifikasi sebagai berikut. Memiliki step angel sebesar 1,8

derajat dengan voltase 2,8 V dan arus 1,7 A memiliki holding torque sebesar 40 N.cm dengan

berat 0,28 Kg. Pada dasarnya motor stepper bergerak karena adanya pulsa masukkan dari

driver motor stepper.

Motor stepper umumnya mempunyai mode pergerakan full step dan half step. Tabel

2.3 merupakan tabel tegangan pulsa masukan untuk mode full step dan tabel 2.4 merupakan

tabel tegangan pulsa masukan mode half step. Pada mode full step suatu titik pada sebuah

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 27: ROBOT PENGGAMBAR DENGAN MEKANISME PANTOGRAF …

17

kutub magnet rotor akan mendapat tarikan medan magnet stator pada lilitan yang sama

setelah step ke-4. Sedangkan mode half step suatu titik pada sebuah kutub magnet rotor akan

mendapat tarikan medan magnet stator pada lilitan yang sama setelah step ke-8.

Tabel 2. 3.Tegangan pulsa full step Tabel 2. 4.Tegangan pulsa half step

2.9 Driver Motor

Gambar 2. 14. Motor Driver Stepper

DRV8825 stepper motor driver seperti yang ditunujukan gambar 2.8. adalah modul

penggerak yang digunakan untuk mengendalikan motor stepper mulai dari full step sampai

1/32 step. Kapasitas output driver dari 8,2 Volt sampai 45 Volt dan arus mencapai 1,5 A.

2.10 Motor Servo

Motor servo adalah sebuah motor dengan sistem closed feedback di mana posisi dari

motor akan diinformasikan kembali ke rangkaian kontrol yang ada di dalam motor servo.

Motor ini terdiri dari sebuah motor, serangkaian gear, potensiometer dan rangkaian kontrol.

Potensiometer berfungsi untuk menentukan batas sudut dari putaran servo. Sedangkan sudut

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 28: ROBOT PENGGAMBAR DENGAN MEKANISME PANTOGRAF …

18

dari sumbu motor servo diatur berdasarkan lebar pulsa yang dikirim melalui kaki sinyal dari

kabel motor.

Motor servo biasa digunakan dalam aplikasi-aplikasi di industri, selain itu juga

digunakan dalam berbagai aplikasi lain seperti pada mobil mainan radio kontrol, robot,

pesawat, dan lain sebagainya.

Ada dua jenis motor servo, yaitu motor servo AC dan DC. Motor servo AC lebih dapat

menangani arus yang tinggi atau beban berat, sehingga sering diaplikasikan pada mesin-

mesin industri. Sedangkan motor servo DC biasanya lebih cocok untuk digunakan pada

aplikasi-aplikasi yang lebih kecil. Dan bila dibedakan menurut rotasinya, umumnya terdapat

dua jenis motor servo yang dan terdapat di pasaran, yaitu motor servo rotation 180⁰ dan

servo rotation continuous:

1) Motor servo standard (servo rotation 180⁰) adalah jenis yang paling umum dari

motor servo, dimana putaran poros outputnya terbatas hanya 90⁰ kearah kanan dan

90⁰ kearah kiri. Dengan kata lain total putarannya hanya setengah lingkaran atau

180⁰.

2) Motor servo rotation continuous merupakan jenis motor servo yang sebenarnya

sama dengan jenis servo standard, hanya saja perputaran porosnya tanpa batasan

atau dengan kata lain dapat berputar terus, baik ke arah kanan maupun kiri.

Gambar 2. 15. Prinsip kerja motor servo

Prinsip kerja motor servo, Motor servo dikendalikan dengan memberikan sinyal

modulasi lebar pulsa (Pulse Wide Modulation / PWM) melalui kabel kontrol. Lebar pulsa

sinyal kontrol yang diberikan akan menentukan posisi sudut putaran dari poros motor servo.

Sebagai contoh, lebar pulsa dengan waktu 1,5 ms (mili detik) akan memutar poros motor

servo ke posisi sudut 90⁰. Bila pulsa lebih pendek dari 1,5 ms maka akan berputar ke arah

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 29: ROBOT PENGGAMBAR DENGAN MEKANISME PANTOGRAF …

19

posisi 0⁰ atau ke kiri (berlawanan dengan arah jarum jam), sedangkan bila pulsa yang

diberikan lebih lama dari 1,5 ms maka poros motor servo akan berputar ke arah posisi 180⁰

atau ke kanan (searah jarum jam).

Gambar 2. 16. Motor Servo

2.11 Kinematika

Kinematika adalah ilmu tentang gerak tanpa memperhatikan penyebabnya salah

satunya adalah gaya yang mempengaruhinya, berhubungan dengan geometri dari gerakan.

Dalam mengkaji kinematik perlu dilakukan deskripsi analisis dari penempatan posisi secara

spasial dari lengan robot sebagai sebuah fungsi waktu. Secara garis besar, kinematika ini

membahas tentang hubungan antara derajat kebebasan maisng-masing joint, posisi serta

orientasi dari end-effector pada lengan robot [9].

2.12 Invers Kinematika

Invers kinematika adalah bagaimana end-effector mencapai posisi objek dengan baik

berdasarkan peletakan referensi koordinat frame yang sudah ditentukan [9].

L13 = √(𝑥32 + 𝑦32); (2-1)

L53 = √((𝑥3 + 𝐿5)2 + 𝑦32) (2-2)

α1 = (𝐶𝑜𝑠−1 (𝐿12+𝐿132−𝐿22)

(2∗𝐿1∗𝐿13)) (2-3)

β1 = 𝑡𝑎𝑛−1(𝑦3, −𝑥3); (2-4)

θ1 = ρ - α1 - β1; (2-5)

α5 = 𝑡𝑎𝑛−1(𝑦3, 𝑥3 + 𝐿5); (2-6)

β5 = 𝐶𝑜𝑠−1 ((𝐿532+𝐿42−𝐿32)

(2∗𝐿53∗𝐿4)) ; (2-7)

θ5 = α5 + β5; (2-8)

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 30: ROBOT PENGGAMBAR DENGAN MEKANISME PANTOGRAF …

20

Gambar 2. 17. Kinematika Pantograf

2.12.1 Trigonometri

Trigonometri matematika mempunyai tiga fungsi yang pertama ialah sinus yang

merupakan perbandingan sisi segitiga (segitiga siku – siku atau salah satu sudut segitiga itu

90°) yang ada di depan sudut dengan sisi miring, lalu fungsi trigonometri kedua ialah kosinus

atau cosinus yang merupakan perbandingan sisi segitiga yang terletak disudut dengan sisi

miring dan fungsi dasar trigonometri matematika yang ketiga ialah tangen yang merupakan

perbandingan sisi segitiga yang ada di depan sudut dengan sisi segitiga yang terletak disudut.

𝑠𝑖𝑛𝐴 =𝑎

𝑏

𝑐𝑜𝑠𝐴 =𝑐

𝑏

𝑡𝑎𝑛𝐴 =𝑠𝑖𝑛𝐴

𝑐𝑜𝑠𝐴=

𝑎

𝑐

𝑐𝑜𝑠𝛼 =𝑏2+𝑐2−𝑎2

2𝑏𝑐

2.12.2 Pitagoras

Gambar 2. 18. Segitiga Siku-siku

L1=L12

L2=L23 L3=L34

L4=L45

L5=L15

L13 L53

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 31: ROBOT PENGGAMBAR DENGAN MEKANISME PANTOGRAF …

21

Segitiga di atas merupakan segitiga siku-siku yang memiliki satu sisi tegak (BC), satu

sisi mendatar (AB), dan satu sisi miring (AC). Dalil pythagoras atau rumus pythagoras

berfungsi untuk mencari salah satu sisi dengan kedua sisi diketahui.

𝑎 = √𝑏2 − 𝑐2

𝑏 = √𝑎2 + 𝑐2

𝑐 = √𝑏2 − 𝑎2

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 32: ROBOT PENGGAMBAR DENGAN MEKANISME PANTOGRAF …

22

BAB III

RANCANGAN PENELITIAN

Bab ini akan menjelaskan perancangan pembuatan perangkat lunak (software) untuk

masukan (input) gerakan lengan robot. Masukan (input) untuk gerakan lengan robot yaitu

berupa gambar vektor bidang 2D yang diubah menjadi file g-code. Perangkat lunak

(software) yang digunakan untuk mengubah gambar vektor menjadi g-code adalah inkscape.

3.1 Blok Diagram

Sistem ini terbagi menjadi 3 bagian utama yang akan dikerjakan blok diagram

keseluruhan sistem dapat dilihat pada gambar 3.1 dibawah ini:

Gambar 3. 1. Diagram Blok Keseluruhan Sistem

Dalam blok diagram ini terdapat 3 bagian utama sistem yang memiliki peran masing-

masing. Pada bagian pertama yaitu input meliputi proses pembuatan desain (gambar vektor),

g-code generator, hingga menjadi g-code. Pada pengolahan gambar vektor menjadi g-code

menggunakan software inkscape. Kemudian gambar dari olahan inkscape dibaca nilai g-

code nya menggunakan software CAMotics. Bagian kedua yaitu controller meliputi proses

pengolahan data g-code dikirim ke driver motor untuk menggerakkan motor stepper. Motor

servo digunakan untuk mengangkat pena saat perpindahan titik. Dan yang terakhir output

meliputi desain rangka dan kinematika 2 lengan robot.

PC

Input

Arduino

Driver Motor

Servo

Stepper

Kontroler

Pantograf

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 33: ROBOT PENGGAMBAR DENGAN MEKANISME PANTOGRAF …

23

3.2 Perancangan Perangkat Lunak (Software)

Perangkat yang digunakan untuk mengubah gambar vektor menjadi file g-code adalah

inkscape (software). Secara umum diagram alir dari perangkat lunak (software) inkscape

dapat dilihat pada gambar 3.2 berikut ini.

Gambar 3. 2. Diagram alir secara umum perangkat lunak (software)

Untuk pengolahan file g-code harus menentukan gambar vektor terlebih dahulu yang

nantinya akan didesain. Gambar tersebut dimasukkan ke dalam software inkscape untuk

diolah menjadi file g-code. Pengolahan tersebut dilakukan dengan cara meng-scan gambar.

Tujuan dari inkscape adalah menjadi perangkat grafik yang memiliki standar XML, SVG,

dan CSS. Format grafis vektor utama inkscape adalah SVG (Scalable Vector Graphics).

Kemudian file g-code tersebut diolah lagi menggunakan software CAMotics untuk membaca

nilai g-code nya. Dengan CAMotics dapat melihat jalur pergerakan alat dengan mensimulasi

Selesai

Mulai

Ambil

Gambar

Vektor

Inkscape

CAMotics

Mikrokonroller

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 34: ROBOT PENGGAMBAR DENGAN MEKANISME PANTOGRAF …

24

program g-code 3-axis dan memvisualisasikan hasil kedalam 3D. hasil dari CAMotics di

transfer ke mikrokontroller untuk di program nilai g-code nya dikirim ke driver motor

sehingga dapat menggerakan motor stepper.

Gambar 3.4 merupakan diagram alir perancangan perangkat lunak pada

mikrokontroler.

Gambar 3. 3. Diagram alir pada mikrokontroler

Diagram alir menggambarkan cara kerja program plotter robot drawing yang dibuat.

Program diawali dengan inisialisasi. File g-code digunakan untuk mengatur motor stepper

supaya dapat menggerakkan lengan robot sesuai desain yang diinginkan. Motor stepper

diprogram terlebih dahulu untuk mengendalikan gerakan dengan memberikan pulsa

masukan tujuannya untuk kalibrasi posisi motor stepper.

3.3 Pantograf

Pantograf adalah instrumen geometri yang digunakan untuk mereproduksi gambar

geometrik yang diberikan atau bidang dari berbagai bentuk, pada skala yang diperbesar atau

diperkecil.

Pantograf dapat mengubah ukuran gambar sesuai dengan ukuran yang diinginkan.

Pada dasarnya, kerja pantograf berdasarkan jajaran genjang. Tiga dari empat sisi jajaran

Mulai

Inisialisasi

Baca G-code

Gerakan Stepper

Selesai

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 35: ROBOT PENGGAMBAR DENGAN MEKANISME PANTOGRAF …

25

genjang a, b dan c mempunyai skala faktor yang sama. Skala pada ketiga sisi tersebut dapat

diubah ubah sesuai kebutuhan, yaitu memperbesar atau memperkecil peta.

3.4 Perancangan Perangkat Keras (Hardware)

Secara garis besar perancangan perangkat keras (hardware) terdiri dari perancangan

mekanik robot. Yang pertama adalah merancang lengan robot secara matematis. Tujuannya

adalah agar pergerakan mekanik lengan robot dapat terukur dengan baik. yang kedua

perancangan lengan robot menggunakan perhitungan invers kinematika. Kemudian desain

mekanik lengan robot menggunakan motor stepper dan motor servo secara lengkap.

3.4.1 Perancangan Mekanik Robot

Secara garis besar perancangan perangkat keras (hardware) untuk menyusun sebuah

sistem pada perancangan mekanik pantograf digerakkan oleh dua buah motor stepper dan

satu buah servo untuk mengangkat pen. Desain mekanik lengan robot dapat dilihat pada

gambar 3.4. panjang lengan masing-masing adalah 30 cm. Gambar 3.5. dan 3.6. merupakan

gambar tampak atas dan tambak bawah.

Bagian-bagian mekanik pada robot drawing:

1. Motor stepper 1

2. Motor stepper 2

3. Lengan 1

4. Lengan 2

5. Lengan 3

6. Lengan 4

7. Pena

8. Motor servo

Gambar 3. 4. Tampilan Keseluruhan Desain 3D Mekanik Pantograf

7

1 2

3

4 5

6

8

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 36: ROBOT PENGGAMBAR DENGAN MEKANISME PANTOGRAF …

26

Gambar 3. 5. Desain 3D Mekanik Pantograf Tampak Atas

Gambar 3. 6. Desain 3D Mekanik Pantograf Tampak Bawah

Pada gambar 3.7. dan 3.8. merupakan penjelasan rumus yang akan digunakan untuk

mengetahui sudut, memperlihatkan sudut β1dan β5 yang merupakan perubahan sudut yang

terjadi untuk mencapai koordinat yang dituju:

Gambar 3. 7. Sudut β1 Gambar 3. 8. Sudut β5

Nilai β1 didapat dari 𝛽1 = 𝑡𝑎𝑛−1 (𝑦3

−𝑥3)

Nilai β5 dapat dicari dengan menggunakan hukum cosinus yaitu;

𝑐𝑜𝑠𝛼 =𝑏2+𝑐2−𝑎2

2𝑏𝑐 ; jadi 𝑐𝑜𝑠𝛽5 =

𝑃=𝐿352+𝐿452−𝐿342

2×𝐿35×𝐿45

P1

β1

L1

P2

P3

L2

L13

β5 L4

P5

L3

P3

P4

L35

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 37: ROBOT PENGGAMBAR DENGAN MEKANISME PANTOGRAF …

27

Sehingga β5 dapat dijabarkan sebagai berikut:

𝛽5 = cos−1 ((𝐿532+𝐿42−𝐿32)

(2∗𝐿53∗𝐿4))

Berikut merupakan contoh perhitungan desain gambar kotak untuk mengetahui sudut,

dengan menggunakan rumus invers kinematika. Nilai x dan y diperoleh dari file g-code :

𝐿13 = √𝑥2 + 𝑦2

= √1,682 + 57,022

𝐿13 = 57,04 𝑐𝑚

𝐿53 = √((𝑥3 + 𝐿5)2 + 𝑦32)

= √((1,68 + 10)2 + 57,022)

𝐿53 = 58,20 𝑐𝑚

𝛼1 = (cos−1 (𝐿12+𝐿132−𝐿22)

(2∗𝐿1∗𝐿13))

= (cos−1 (302+57,042−302)

(2∗30∗57,04))

𝛼1 = 18,07°

𝛽1 = tan−1 (𝑦3

−𝑥3)

= tan−1 (57,04

−1,68)

𝛽1 = −88,31°

𝜃1 = 𝜋 − 𝛼1 − 𝛽1

= 𝜋 − 18,07 − (−88,31)

𝜃1 = 79,3°

𝛼5 = tan−1 (𝑦3

𝑥3+𝐿5)

= tan−1 (57,02

1,68+10)

𝛼5 = 60,94°

𝛽5 = cos−1 ((𝐿532+𝐿42−𝐿32)

(2∗𝐿53∗𝐿4))

= cos−1 ((58,202+302−302)

(2∗11,56∗30))

𝛽5 = 14,07°

𝜃5 = 𝛼5 + 𝛽5

= 60,94 + 14,07

𝜃5 = 75,01°

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 38: ROBOT PENGGAMBAR DENGAN MEKANISME PANTOGRAF …

28

Gambar 3. 9. Tampilan koordinat sumbu axis (X,Y) dan Jarak Daerah Kerja Lengan Robot

Pantograf

Pada Gambar 3.9 menunjukkan tampilan sumbu koordinat prototype lengan robot

pantograf penggambar dua dimensi untuk melakukan gerakkan rotasi, yaitu rotasi terhadap

sumbu x, y. Gambar 3.9 juga menampilkan jarak antara pangkal lengan robot yang diukur

dari motor stepper hingga menuju pen holder yaitu sejauh 55 cm. jarak tersebut digunakan

untuk menentukan posisi titik referensi sebagai acuan lengan robot untuk menggambar

bidang dua dimensi di kertas A3.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 39: ROBOT PENGGAMBAR DENGAN MEKANISME PANTOGRAF …

29

BAB IV

HASIL DAN PEMBAHASAN

Bab ini menjelaskan tentang hasil keseluruhan sistem pada blok diagram seperti pada

bab 3 dan pengamatan dari software pengubah gambar vektor menjadi perintah gerakan

robot dalam bentuk g-code. Hasil pengamatan ini akan di bagi menjadi perancangan

perangkat keras, perangkat lunak dan hasil pengamatan.

4.1 Perancangan Perangkat Keras

Pada hasil perancangan perangkat keras akan menjelaskan tentang bentuk mekanik

sistem lengan robot, komponen elektrik sistem lengan robot dan pengujian gerakkan

mekanik lengan robot. Bentuk mekanik meliputi tampilan keseluruhan lengan robot plotter

robot drawing. Pada komponen elektrik menunjukkan komponen-komponen pengendali

motor.

4.1.1 Bentuk Mekanik Sistem Lengan Robot

Tampilan keseluruhan lengan robot plotter robot drawing ditunjukkan pada gambar

4.1.

Gambar 4. 1. Mekanik Plotter Robot Drawing

Mekanik plotter robot drawing yang terdiri dari base, pantograf, power supply dan

area kerja. Media gambar menggunakan kertas ukuran A4. Bagian ruas lengan terbuat dari

bahan akrilik bening dengan ketebalan 5 mm dan panjang masing-masing 30cm.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 40: ROBOT PENGGAMBAR DENGAN MEKANISME PANTOGRAF …

30

Bagian paling ujung adalah penholder yang digunakan untuk meletakkan bolpoin yang

merupakan end effector dari plotter robot drawing. Ukuran lubang pada penholder dapat di

atur sesuai dengan ukuran bolpoin yang digunakan.

Pada bagian pengolahan program terdapat driver motor yang berfungsi sebagai

pengendali motor stepper dengan masukan dari arduino dan output menggerakkan motor

stepper. Modul driver stepper menggunakan jenis DRV8825 dengan tegangan 8,2V-45V

dan arus mencapai 1,5A. Menggunakan power supply dikarenakan sumber tegangan pada

arduino tidak cukup untuk menggerakkan motor stepper. Power supply digunakan untuk

memberikan catu daya pada motor stepper dengan tegangan 0-12V dan arus 30A.

Gambar 4. 2. Posisi Motor Stepper

Posisi motor stepper secara mekanik ditampilkan pada gambar 4.2. Motor stepper diletakkan

dibawah base untuk menggerakkan link (pantograf) dan pully belt berfungsi untuk

meminimalisir pergerakan lengan. Pada penelitian ini menggunakan dua motor stepper

nema17 (17HS4401). Pemilihan motor stepper nema17 dikarenakan ukuran stepper yang

umum digunakan dalam 3D print, cnc dan x,y plotter, selain itu juga motor stepper mampu

bergerak sesuai posisi yang diinginkan. Motor stepper akan menggerakkan link (pantograf)

terhadap sumbu x,dan sumbu y.

Motor servo secara mekanik dapat dilihat pada gambar 4.3. Motor servo yang

diletakkan dibawah lengan bertujuan untuk mengangkat bolpoin. Hal ini bertujuan untuk

pergeseran titik atau bergerak terhadap sumbu z. motor servo yang digunakkan pada

penelitian ini motor servo Tower Pro MG90S dan sudah disesuaikan dengan ketersediaan di

pasaran dan tipe gear metal yang memiliki kemampuan mengangkat lengan robot dan

gearboxnya lebih awet sehingga aman digunakkan berulang-ulang.

Stepper

1

Stepper

2

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 41: ROBOT PENGGAMBAR DENGAN MEKANISME PANTOGRAF …

31

Gambar 4. 3. Posisi Motor Servo

4.1.2 Komponen Elektrik Sistem Lengan Robot

Rangkaian elektrik sistem pengendali lengann robot ditunjukkan pada gambar 4.2

Gambar 4. 4. Mekanik Plotter Robot Drawing

Rangkaian elektrik sistem pengendali plotter robot drawing terdiri dari:

1. Board arduino mega 2560 (Mikrokontroler)

2. Ramps 1.6 (cnc shields)

3. Driver DRV8825 (Stepper kontroler)

4. Kabel USB (Komunikasi serial mikrokontroler dengan pc)

5. Output port ke motor stepper

6. Output port ke motor servo

7. Terminal port dari power supply

Mikrokontroler arduino mega 2560 melakukan komunikasi serial dengan pc melalui

kabel usb. Selain untuk komunikasi serial, kabel usb juga digunakan untuk aktivitas upload

dan download program. Ramps 1.6 terhubung dengan board arduino mega 2560 dengan cara

5

1

7

3 2

6

4

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 42: ROBOT PENGGAMBAR DENGAN MEKANISME PANTOGRAF …

32

stackkabel/kaki-kaki ramps ditancapkan ke port arduino mega 2560, sebagai koneksi untuk

output port ke motor stepper dan motor servo. Ramps 1.6 mendapatkan power supply

eksternal dengan tegangan 12 volt dan arus 30 ampere untuk menggerakkan motor stepper.

Motor stepper memerlukan stepper kontroler atau driver untuk memberikan daya pada

tiap fase dalam waktu atau urutan yang tepat untuk membuat motor berputar. Motor stepper

tidak bisa bekerja sesuai fungsinya dengan cara memberikan power supply langsung.

Mikrokontroler arduino sebagai sumber pulsa listrik untuk driver, driver bekerja sebagai

perangkat yang mengatur short power fase/lilitan dimotor stepper sekaligus sumber listrik

dengan volt dan ampere yang cukup untuk motor. Driver yang digunakan adalah driver

DRV8825 yang dihubungkan ke pin stepper motor driver pada ramps 1.6. output port yang

digunakan pada rangkaian elektrik sistem pengendali lengan robot sebanyak dua port untuk

menggerakkan motor stepper dan satu port untuk menggerakkan motor servo.

4.1.3 Pengujian Gerakan Mekanik Lengan Robot

Pengujian gerakan mekanik lengan robot bertujuan untuk mengetahui besarnya sudut

pergerakan motor stepper untuk mencapai suatu titik pada koordinat tertentu. Metode yang

digunakan dalam pengujian ini adalah membandingkan hasil perhitungan sudut secara

matematis dengan hasil gerakan motor stepper. Pengujian gerakan mekanik lengan robot

secara matematis menggunakan metode perhitungan invers knimatika yang mengacu pada

persamaan (2-1) sampai persamaan (2-8). Pengujian ini dilakukan dengan beberapa titik

referensi untuk gambar kotak, segitiga, dan lingkaran. Tabel 4.1 menunjukkan hasil

perhitungan inverse kinematics menggunakan metode geometri pada titik referensi kotak,

segitiga, dan lingkaran. Nilai titik koordinat dapat dilihat pada lampiran L8,L9, dan L10.

Tabel 4. 1. perhitungan inverse kinematik dengan metode geometri pada titik referensi

Sudut aktual (pengujian) diperoleh dari hasil gerakkan motor stepper pada pantograf

dengan melakukan pengukuran besar sudut menggunakan busur derajat. Besar sudut

Titik referensi koordinat

Sudut pergerakan

lengan (o)

x y z Stepper 1 Stepper 2

Kotak 34,2 39,7 0,1 200 50

Segitiga 25,8 23 0,1 167 77

lingkaran 49,4 17 0,1 134 31

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 43: ROBOT PENGGAMBAR DENGAN MEKANISME PANTOGRAF …

33

pengujian yang dihasilkan menggunakan busur derajat seperti pada gambar 4.5 dan hasil

yang diperoleh ditunjukkan pada tabel 4.2 dan lampiran L1, L2, dan L3.

Gambar 4. 5. Cara Pengukuran Sudut Menggunakan Busur Derajat

Data yang diperoleh dari perhitungan matematis (inverse kinematics) dan hasil

pengamatan sudut menggunakan busur derajat dihitung nilai % Errornya untuk

mengetahui besarnya perbedaan yang terjadi. Secara perhitungan dan pengujian nilai %

Error diperoleh dengan cara sebagai berikut:

% 𝐸𝑟𝑟𝑜𝑟 = 𝑠𝑢𝑑𝑢𝑡 𝑝𝑒𝑟ℎ𝑖𝑡𝑢𝑛𝑔𝑎𝑛 − 𝑠𝑢𝑑𝑢𝑡 𝑝𝑒𝑛𝑔𝑢𝑗𝑖𝑎𝑛

𝑠𝑢𝑑𝑢𝑡 𝑝𝑒𝑟ℎ𝑖𝑡𝑢𝑛𝑔𝑎𝑛× 100%

Tabel 4. 2. Hasil Sudut Pengujian Dan Perhitungan Pada Gambar Bidang 2 Dimensi

Dari hasil pengamatan pada tabel 4.2 dapat dilihat % Error pada pengujian gambar

kotak, segitiga, dan lingkaran memiliki % Error yang bervariasi. Hal ini disebabkan karena

dalam proses pembuatan gambar yang belum sempurna dan mekanik pada lengan robot yang

masih belum presisi dan peletakan busur derajat untuk mengukur sudut aktual pada stepper

Gambar

Bidang 2D

Sudut Perhitungan Sudut Pengujian Delta

Stepper 1 Stepper 2 Stepper 1 Stepper 2 Stepper 1 Stepper 2

Kotak 200 50 170 66 30 16

Segitiga 167 77 168 61 1 16

Lingkaran 134 31 160 68 26 37

% Error kotak Segitiga Lingkaran

Stepper 1 15% 0.5% 19,4%

Stepper 2 32% 20,8% 54%

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 44: ROBOT PENGGAMBAR DENGAN MEKANISME PANTOGRAF …

34

1 dan stepper 2. Dalam perbedaan sudut pengujian dan perhitungan selain kurang kepresisian

mekanik disebabkan juga dalam pembulatan sudut pada perhitungan.

4.2 Analisa Dan Pembahasan Perangkat Lunak

Perancangan perangkat lunak terdiri dari pengolahan di dalam processing 3 dan

arduino IDE yang berkomunikasi secara serial menggunakan kabel usb. Perintah untuk

menggambar dilakukan di software arduino Mega2560 untuk pembacaan g-code yang

nantinya perintah-perintah tersebut untuk menggerakkan lengan robot dilakukan di software

processing 3. Data serial yang dikirim berupa pulsa-pulsa yang dapat menggerakkan motor

stepper.

4.2.1. Pembahasan Program Pada Software Arduino Mega2560

Pada penelitian dengan sistem lengan robot pantograf penggambar bidang 2 dimensi

software Arduino Mega2560 digunakan untuk menulis program, melakukan pembacaan data

serial. Dan melakukan pengiriman data berupa pulsa-pulsa digital ke modul ramps 1.6 untuk

menggerakkan stepper. Program yang ditulis di arduino Mega2560 selain pembacaan dan

pengiriman data.

Gambar 4. 6. Tampilan Software Arduino Mega2560

Sebelum melakukan penulisan program utama untuk menjalankan sistem, seluruh

fungsi dan variable yang digunakan dalam proses pengoperasian program harus

didefinisikan/ dideklarasikan terlebih dahulu. Pendeklarasian fungsi dan variable pada

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 45: ROBOT PENGGAMBAR DENGAN MEKANISME PANTOGRAF …

35

sistem lengan robot ini merupakan program inisialisasi. Inisialisasi pada sistem ini adalah

inisialisasi library driver motor stepper dan inisialisasi motor servo yang digunakan.

Gambar 4. 7. Program Inisialisasi Motor Stepper Dan Motor Servo

Pada gambar 4.7 merupakan program inisialisasi motor stepper dan motor servo untuk

menggerakkan lengan robot pantograf untuk menggambar bidang 2 dimensi. Motor stepper

berputar satu putaran penuh sebanyak 200 stepp dengan radius tiap step adalah 1,8° pada

titik pusatnya sehingga konfigurasi yang digunakan adalah fullstep.

Gambar 4. 8. Program Perintah G-code

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 46: ROBOT PENGGAMBAR DENGAN MEKANISME PANTOGRAF …

36

Pada gambar 4.8 merupakan program perintah g-code G00 untuk menempatkan

bolpoin secara cepat dan tidak menurunkan bolpoin ke papan gambar. Semua sumbu bisa

bergerak secara simultan sehingga menghasilkan jalur lurus. Selain perintah g-code G00

terdapat perintah lainya seperti G01, perintah gerakan interpolasi lurus dengan menempatkan

bolpoin ke permukaan papan gambar dan bergerak lurus dari titik awal menuju titik akhir,

dan perintah lainya yaitu G02 dan G03. Dengan mengikuti gerakkan melingkar clock wise

dan counter clock wise dari titik awal hingga titik akhir dengan posisi menempatkan bolpoin

pada papan gambar. Perintah-perintah diatas merupakan perintah yang biasa digunakan

untuk menggambar bidang 2 dimensi.

Gambar 4. 9. Program Skala Untuk Mengatur Ukuran Gambar

Pada gambar 4.9 merupakan program skala untuk mengatur ukuran gambar dalam

skala berapa persen. Dalam pengujian lengan robot menggunakan program ini untuk

mengatur skala 100% dan 50% untuk diuji angka keberhasilannya.

4.2.2. Pembahasan Pada Software Processing 3

Pada gambar 4.10 yang digunakan untuk memberikan perintah pada sistem lengan

robot pantograf penggambar bidang 2 dimensi. Perintah dituliskan dengan bahasa

pemrograman cnc (computer numerical control) untuk menggerakkan pantograf. Selain

perintah yang dapat dituliskan juga dapat memasukan file berupa g-code yang dapat di

eksekusi program untuk menggerakkan pantograf.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 47: ROBOT PENGGAMBAR DENGAN MEKANISME PANTOGRAF …

37

Gambar 4. 10. Tampilan Pada Processing 3

Proccessing 3 merupakan perangkat lunak yang fleksibel dan bahasa untuk

mempelajari cara membuat kode dalam konteks seni visual dan literasi visual dalam

teknologi [11].

CAMotics digunakan untuk menulis kode cnc dan memvisualisasikan gerakan yang

dihasilkan dari alat dan/atau benda kerja. Kode tersebut berisikan file g-code yang nantinya

digunakan sebagai data untuk pengolahan di mikrokontroler sehingga dapat menggerakkan

motor stepper.

Gambar 4. 11. Tampilan simulasi CAMotics

Gambar 4.11 merupakan hasil dari simulasi CAMotics yang berisikan instruksi g-code.

Nilai x,y sebagai data input untuk menentukan posisi titik koordinat.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 48: ROBOT PENGGAMBAR DENGAN MEKANISME PANTOGRAF …

38

Gambar 4. 12. Instruksi G-code

4.3 Analisa Hasil Pengujian Gambar Bidang Dua Dimensi

Pada pengujian gambar bidang dua dimensi akan menjelaskan tentang hasil dari

pengamatan berupa pengujian kesesuaian gambar antara gambar bidang 2D aktual (yang

digambar lengan pantograf pada papan gambar) dengan gambar 2D yang dibuat atau

diambil dari PC untuk kesesuaiannya. Pada pengujian gambar bidang 2D disini membuat

gambar dengan menggunakan software paint berikut gambar software paint yang

digunakan pada penelitian pada gambar 4.4.

Gambar 4. 13. Tampilan pada software paint

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 49: ROBOT PENGGAMBAR DENGAN MEKANISME PANTOGRAF …

39

Secara keseluruhan penelitian lengan robot pantograf penggambar bidang 2 dimensi

ini belum dapat membentuk garis yang benar-benar lurus . Hal tersebut terjadi karena kurang

kepresisian dalam pembuatan mekanik. dalam

4.3.1 Analisa Hasil Gambar Kotak

Hasil gambar kotak yang dilakukan sistem lengan robot ini sudah sesuai dengan

perancangannya namun belum dapat dikatakan sempurna. Cara menggambar dengan lengan

robot sudah seperti pada perancangan yaitu menggambar titik-titik yang mendekati bidang

kotak, namun tidak bisa membuat garis yang benar-benar lurus membentuk kotak dan bagian

ujung belum bisa saling berpotongan. Sehingga algoritma yang digunakan dalam membuat

garis lurus pada bidang datar pada lengan robot masih perlu disempurnakan.

Referensi gambar yang sudah digambar oleh lengan robot selanjutnya diukur

menggunakan penggaris sehingga didapatkan ukuran sisi-sisi kotak kemudian dibandingkan

dengan parameter ukuran yang ditentukan menggunakan inkscape seperti yang ditunjukkan

pada gambar 4.15.

Gambar 4.14 merupakan hasil pengujian gambar kotak dengan perbandingan

drawing scale 50% dan 100%. Pengubahan scale tidak berpengaruh pada keluaran gambar

(bentuk gambar sama).

Gambar 4. 14. Hasil Pengujian Gambar Kotak

Parameter ukuran dimensi pada bidang kotak adalah nilai dari sisi. Tabel 4.3

Merupakan sisi yang ditentukan pada sistem lengan robot pantograf untuk melakukan analisa

berdasarkan parameter dimensi pada gambar kotak. Bidang yang dapat digambar lengan

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 50: ROBOT PENGGAMBAR DENGAN MEKANISME PANTOGRAF …

40

robot ukurannya diukur menggunakan inkscape. Hasil gambar kotak aktual diperoleh

berdasarkan keempat sisi yang berhasil digambar lengan robot.

Gambar 4. 15. Hasil Pengujian Gambar Kotak

Tabel 4. 3. Pengujian Gambar Kotak

Scale

%

Input Aktual

Delta %error S1

(cm)

S2

(cm)

S3

(cm)

S4

(cm)

Rata-

rata

S1

(cm)

S2

(cm)

S3

(cm)

S4

(cm)

Rata-

rata

100 4,7 4,6 4,7 4,6 4,65 5,5 4,8 5,5 4,8 5,15 0,5 10,75%

50 2,35 2,3 2,35 2,3 2,325 2,8 2,1 2,8 2,4 2,525 0,2 8,6%

Berdasarkan tabel 4.3 dapat dilihat bahwa hasil dari gambar aktual dan input nilainya

bervariasi sehingga untuk mengetahui kepresisiannya perlu membuat nilai rata-rata dari sisi

aktual dan input gambar kotak kemudian dapat dihitung nilai error nya. Gambar kotak

dengan scale 100% memiliki nilai error yang besar dibandingkan dengan gambar kotak

dengan scale 50% yaitu 10,75%. Terjadinnya nilai error pada sistem lengan robot terjadi

karena kurangnya kepresisian dalam pembuatan mekanik pantograf. Berdasarkan hasil

pengamatan pada gambar kotak bahwa sistem lengan robot mampu menggambarkan gambar

2D dengan bervariasi ukuran dengan cara mengubah scale pada open processing 3, sehingga

tidak menyulitkan untuk menggambar lagi dengan ukuran yang berbeda.

4.3.2 Analisa Hasil Gambar Segitiga

Hasil gambar segitiga yang dilakukan sistem lengan robot ini sudah sesuai dengan

perancangannya namun belum dapat dikatakan sempurna. Cara menggambar dengan lengan

robot sudah seperti pada perancangan yaitu menggambar titik-titik yang mendekati bidang

segitiga, namun tidak bisa membuat garis yang benar-benar lurus dan miring membentuk

S2=4,6 cm

S3=4,7 cm

S4=4,6 cm

S1=4,7 cm

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 51: ROBOT PENGGAMBAR DENGAN MEKANISME PANTOGRAF …

41

segitiga dan bagian ujung belum bisa saling berpotongan. Sehingga algoritma yang

digunakan dalam membuat garis lurus pada bidang datar pada lengan robot masih perlu

disempurnakan.

Referensi gambar yang sudah digambar oleh lengan robot selanjutnya diukur

menggunakan penggaris sehingga didapatkan ukuran sisi-sisi segitiga kemudian

dibandingkan dengan parameter ukuran yang ditentukan menggunakan inkscape seperti

yang ditunjukkan pada gambar 4.17.

Gambar 4. 16. Hasil Pengujian Gambar segitiga

Gambar 4.16 merupakan hasil pengujian gambar kotak dengan perbandingan

drawing scale 50% dan 100%. Pengubahan scale tidak berpengaruh pada keluaran gambar

(bentuk gambar sama).

Gambar 4. 17. Hasil Pengujian Gambar Segitiga

Parameter ukuran dimensi pada bidang segitiga adalah nilai dari sisi-sisi segitiga.

Tabel 4.4. merupakan sisi yang ditentukan pada sistem lengan robot pantograf untuk

S1= 4,4cm

S3= 5,1cm

S2= 4,4cm

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 52: ROBOT PENGGAMBAR DENGAN MEKANISME PANTOGRAF …

42

melakukan analisa berdasarkan parameter dimensi pada gambar segitiga. Hasil gambar

segitiga aktual diperoleh berdasarkan ketiga sisi yang berhasil digambar lengan robot.

Tabel 4. 4. Pengujian Gambar segitiga

Scale

%

Input Aktual

Delta %Error S1

(cm)

S2

(cm)

S3

(cm)

Rata-

rata

S1

(cm)

S2

(cm)

S3

(cm)

Rata

-rata

100 4,4 4,4 5,1 4,63 5 5,6 4,6 5,06

7 0,437 9,44%

50 2,2 2,2 2,55 2,317 2,5 3 2,3 2,6 0,283 12%

Berdasarkan tabel 4.4 dapat dilihat bahwa hasil dari gambar aktual dan input nilainya

bervariasi sehingga untuk mengetahui kepresisiannya perlu membuat nilai rata-rata dari sisi

aktual dan input gambar segitiga kemudian dapat dihitung nilai error nya. Gambar segitiga

dengan scale 100% memiliki nilai error yang kecil dibandingkan dengan gambar segitiga

dengan scale 50% yaitu 9,44%. Terjadinnya nilai error pada sistem lengan robot terjadi

karena kurangnya kepresisian dalam pembuatan mekanik pantograf dan pembacaan g-code

kurang teliti. Berdasarkan hasil pengamatan pada gambar segitiga bahwa sistem lengan robot

mampu menggambarkan gambar 2D dengan bervariasi ukuran dengan cara mengubah scale

pada open processing 3, sehingga tidak menyulitkan untuk menggambar lagi dengan ukuran

yang berbeda.

4.3.3 Analisa Hasil Gambar Lingkaran

Hasil gambar lingkaran yang dilakukan sistem lengan robot ini sudah sesuai dengan

perancangannya namun belum dapat dikatakan sempurna. Dan bagian ujung masih saling

berpotongan. Cara menggambar dengan lengan robot sudah seperti pada perancangan yaitu

menggambar titik-titik yang mendekati bidang lingkaran, namun tidak bisa membuat garis

yang benar-benar lingkaran dan membentuk lingkaran yang lonjong/tidak bulat . Sehingga

algoritma yang digunakan dalam membuat garis lurus pada bidang datar pada lengan robot

masih perlu disempurnakan.

Referensi gambar yang sudah digambar oleh lengan robot selanjutnya diukur

menggunakan penggaris sehingga didapatkan ukuran jari-jari lingkaran kemudian

dibandingkan dengan parameter ukuran yang ditentukan menggunakan inkscape seperti

yang ditunjukkan pada gambar 4.19.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 53: ROBOT PENGGAMBAR DENGAN MEKANISME PANTOGRAF …

43

Gambar 4.18 merupakan hasil pengujian gambar kotak dengan perbandingan drawing

dengan scale 50% dan 100%. Pengubahan scale tidak berpengaruh pada keluaran gambar.

Gambar 4. 18. Hasil Pengujian Gambar Lingkaran

Gambar 4. 19. Hasil Pengujian Gambar Lingkaran

Tabel 4. 5. Pungijian Gambar Lingkaran Scale 100%

Ketterangan

(Scale

100%)

Input Jari-Jari

Aktual Delta

r1 (cm) 2,4 2,9 0,5

r2 (cm) 2,5 2,5 0

r3 (cm) 2,4 3,1 0,7

r4 (cm) 2,4 3,2 0,8

r5 (cm) 2,3 2,8 0,5

r6 (cm) 2,4 2,5 0,1

r7 (cm) 2,3 2,6 0,3

r8 (cm) 2,3 3,2 0,9

Rata-rata 2,375 2,85 0,475

%Error 20%

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 54: ROBOT PENGGAMBAR DENGAN MEKANISME PANTOGRAF …

44

Parameter ukuran dimensi pada bidang segitiga adalah nilai dari jari-jari lingkaran.

Menentukan jari-jari lingkaran yaitu dengan cara membagi lingkaran menjadi 8 titik, dimana

titik-titik tersebut merupakan hasil penarikan garis dari ujung hingga titik tengah dan

pergeseran 45°. Tabel 4.5 dan tabel 4.6 merupakan jari-jari yang ditentukan pada sistem

lengan robot pantograf untuk melakukan analisa berdasarkan parameter dimensi pada

gambar lingkaran. Hasil gambar lingkaran aktual diperoleh berdasarkan jari-jari yang

berhasil digambar lengan robot.

Tabel 4. 6. Pengujian Gambar Lingkaran Scale 50%

Berdasarkan tabel 4.5 dan tabel 4.6 dapat dilihat bahwa hasil dari gambar aktual dan

input nilainya bervariasi sehingga untuk mengetahui kepresisiannya perlu membuat nilai

rata-rata dari jari-jari aktual dan input gambar lingkaran kemudian dapat dihitung nilai error

nya. Gambar lingkaran dengan scale 100% memiliki nilai error yang lebih besar

dibandingkan dengan gambar lingkaran dengan scale 50% yaitu 20%. Terjadinnya nilai

error pada sistem lengan robot terjadi karena dalam menentukan titik-titiknya secara

manual, kurangnya kepresisian dalam pembuatan mekanik pantograf dan pembacaan g-code

kurang teliti. Berdasarkan hasil pengamatan pada gambar lingkaran bahwa sistem lengan

robot mampu menggambarkan gambar 2D dengan bervariasi ukuran dengan cara mengubah

scale pada open processing 3, sehingga tidak menyulitkan untuk menggambar lagi dengan

ukuran yang berbeda.

Ketterangan

(Scale

50%)

Input Jari-Jari

Aktual Delta

r1 (cm) 1,2 1,5 0,3

r2 (cm) 1,3 1,3 0

r3 (cm) 1,2 1,6 0,4

r4 (cm) 1,2 1,6 0,4

r5 (cm) 1,2 1,4 0,2

r6 (cm) 1,2 1,3 0,1

r7 (cm) 1,2 1,3 0,1

r8 (cm) 1,2 1,6 0,4

Rata-rata 1,363 1,45 0,238

%Error 6,4%

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 55: ROBOT PENGGAMBAR DENGAN MEKANISME PANTOGRAF …

45

4.3.4 Hasil Pengujian Tingkat Keberhasilan

Pengujian tingkat keberhasilan pada penelitian ini yaitu kemampuan lengan robot

untuk menggambar secara berulang-ulang. Pengujian tingkat keberhasilan digunakan

sebagai data indicator tingkat keberhasilan dari penelitian yang telah dilakukan

mengguankan plotter robot drawing.

Pengujian tingkat keberhasilan difokuskan pada kemampuan lengan robot ketika

diperintahkan menggambar sebuah gambar sesuai referensi bidang 2D. pengujian dilakukan

sebnayak 10x dengan 5x menggunakan scale 100% dan 5x menggunakan scale 50%.

Jika lengan robot berhasil membuat bentuk gambar sesuai referensi bidang 2 dimensi

maka tingkat keberhasilan 100%. Contoh gambar yang diuji seperti yang ditunjukkan pada

gambar 4.14, gambar 4.16, dan gambar 4.18. berdasarkan data hasil uji tingkar keberhasilan

pada tabel 4.7 ditunjukkan bahwa tingkat keberhasilan plotter robot drawing adalah 100%,

namun gambar masih belum sempurna. Keberhasilan bentuk gambar yang digambar oleh

plotter robot drawing dapat dilihat pada lampiran L1,L2, dan L3.

Tabel 4. 7. Pengujian Gambar Kotak, Segitiga, Dan Lingkaran

No Kotak Segitiga Lingkaran

Scale 100% Scale 50% Scale 100% Scale 50% Scale 100% Scale 50%

1 √ √ √ √ √ √

2 √ √ √ √ √ √

3 √ √ √ √ √ √

4 √ √ √ √ √ √

5 √ √ √ √ √ √

4.3.5 Hasil Pengujian Repeatability

Pengujian kepresisian garis lurus gerakkan lengan robot dilakukan secara berulang-

ulang sebanyak 5x pada papan gambar baik secara horizontal (Tabel 4.8) ataupun vertikal

(Tabel 4.9). Gerakkan dilakukan berdasarkan input nilai koordinat yang telah ditentukan.

Gerakkan horizontal dilakukan oleh lengan robot dengan masukkan nilai koordinat X

yaitu dari X50, X60, X70, X80, X90, X100, dengan nilai koordinat Y tetap yaitu Y50.

Gerakkan vertikal dilakukan oleh lengan robot dengan memberikan masukan nilai koordinat

Y yaitu dari Y50, Y60, Y70, Y80, Y90, Y100, dengan nilai koordinat X tetap yaitu 50.

Pada pengujian garis horizontal diperoleh selisih panjang garis atau error sebesar 0,1

cm. berdasarkan tabel 4.8 dapat dihitung repeatability untuk sumbu X yaitu 0,02 yang artinya

terjadi rerata error sebesar 0,02 cm untuk setiap perintah.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 56: ROBOT PENGGAMBAR DENGAN MEKANISME PANTOGRAF …

46

Tabel 4. 8. Pengujian Garis Lurus Horizontal

Pada pengujian garis vertikal diperoleh selisih panjang garis atau error sebesar 0,7 cm.

berdasarkan tabel 4.9 dapat dihitung repeatability untuk sumbu Y yaitu 0,14 yang artinya

terjadi rerata error sebesar 0,14 cm untuk setiap perintah.

Tabel 4. 9. Pengujian Garis Lurus Vertikal Vertikal

Pengujian Panjang

(cm)

Error

(cm) Rerata Error

1 5,8

0,7 0,14

2 5,1

3 5,1

4 5,1

5 5,1

Perbedaan panjang garis yang terjadi pada hasil pengujian ditampilkan dalam bentuk

error yang menandakan adanya kurang kepresisian yang terjadi pada bentuk mekanik lengan

robot.

Gambar 4. 20. Pengujian Garis Lurus Horizontal

Horizontal

Pengujian

Panjang

(cm)

Error

(cm) Rerata Error

1 4,4

0,1 0,02

2 4,3

3 4,3

4 4,3

5 4,3

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 57: ROBOT PENGGAMBAR DENGAN MEKANISME PANTOGRAF …

47

Pada gambar 4.20 menunjukkan panjang garis lurus horizontal yang di gambar

lengan robot pantograf dengan panjang 4,4 cm pada pengujian pertama, dan kemudain

disusul dengan pengujian kedua, ketiga, keempat, dan kelima dengan panjang 4,3 cm.

Gambar 4. 21. Pengujian Garis Lurus Vertikal

Pada gambar 4.21 menunjukkan panjang garis lurus vertikal yang di gambar lengan

robot pantograf dengan panjang 5,8 cm pada pengujian pertama, dan kemudain disusul

dengan pengujian kedua, ketiga, keempat, dan kelima dengan panjang 5,1 cm.

Pengukuran pada garis lurus horizontal maupun garis vertikal diukur menggunakan

penggaris, setiap pengujian dilakukan pengukuran sehingga dapat mengetahui perbedaan

panjang pada pengujian pertama, kedua, ketiga, keempat, dan kelima.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 58: ROBOT PENGGAMBAR DENGAN MEKANISME PANTOGRAF …

46

BAB V

KESIMPULAN DAN SARAN

5.1 Kesimpulan

Setelah melakukan perancangan, pembuatan, dan pengujian dari plotter robot drawing

penggambar 2 dimensi maka didapatkan kesimpulan sebagai berikut:

1. Software inkscape mampu mengkonversi ke dalam bentuk g-code, akan tetapi g-code

yang dihasilkan tidak begitu sempurna.

2. File g-code dapat diimplementasikan pada software open processing 3.

3. Mampu menggambar kotak, segitiga, lingkaran dengan skala 100% dan 50% dan

dapat di ulang-ulang.

5.2 Saran

Berdasarkan hasil implementasi yang diperoleh, untuk pengembangan penelitian lebih

lanjut ada beberapa saran agar alat ini dapat bekerja lebih baik, yaitu :

1. Perancangan ulang pada mekanik sistem lengan robot pantograf dengan berdasarkan

area kerja harus lebih tepat atau presisi sesuai dengan fungsi dan kegunaan.

2. Penentuan titik nol yang tepat dan tidak berubah-ubah agar dalam pengambilan data

tidak mengalami salah kepresisian.

3. Pemilihan software dalam menggerakkan suatu robot akan mempengaruhi proses

penggerakkan lengan robot.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 59: ROBOT PENGGAMBAR DENGAN MEKANISME PANTOGRAF …

47

DAFTAR PUSTAKA

[1] Dina. Caysar, "PENGATURAN PERGERAKAN ROBOT LENGAN SMART ARM

ROBOTIC AX-12A MELALUI PENDEKATAN GEOMETRY BASED

KINEMATIC MENGGUNAKAN ARDUINO," 2014.

[2] Hans. G. Frommer, practical CNC-Training for Planning and Shop (part2 : Example

and exercise), Germany: Hanser , 1985.

[3] RobotShop, "Arduino Mega 2560 Datasheet," [Online]. Available:

https://www.robotshop.com/media/files/PDF/ArduinoMega2560Datasheet.pdf.

[Accessed 5 februari 2019].

[4] Budi. Wiro, "Desain Manufaktur Kode dan Format Program CNC," 29 September

2015. [Online]. Available:

http://desainmanufaktur.bayuwiro.net/index.php/2015/09/29/kode-format-program-

cnc/. [Accessed 25 Oktober 2018].

[5] Leonardus. Dwi. Niandityo, "PENGUBAH GAMBAR VEKTOR MENJADI

PERINTAH GERAKAN ROBOT DALAM G-CODE," Skripsi, pp. 5-6, 2017.

[6] "INKSCAPE," [Online]. Available: https://inkscape.org/doc/basic/tutorial-

basic.id.html. [Accessed 09 November 2018].

[7] CAMotics. [Online]. Available: https://camotics.org/.html. [Accessed 10 September

2019].

[8] Syahrul. "BIDANG REKAYASA," Motor STEPPER: TEKNOLOGI, METODA DAN

RANGKAIAN KONTROL, vol. 6, p. 187.

[9] Agustinus. Welly. Adi. Nugroho, "LENGAN ROBOT PENGGAMBAR BIDANG

DUA DIMENSI BERBASIS MIKROKONTROLER DENGAN PC," Skripsi, pp. 21-

22, 2015.

[10] processing. "processing," [Online]. Available: https://processing.org/reference/.

[Accessed 4 oktober 2019].

[11] "Universitas Narotama sistem komputer," Mikrokontroler, Februari 2013. [Online].

Available: http://sistemkomputer.narotama.ac.id/2013/02/konsep-mikrokontroler/.

[Accessed 25 Oktober 2018].

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 60: ROBOT PENGGAMBAR DENGAN MEKANISME PANTOGRAF …

48

[12] "Design and Control of a Pantograph Robot," [Online]. [Accessed 5 Februari 2019].

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 61: ROBOT PENGGAMBAR DENGAN MEKANISME PANTOGRAF …

49

LAMPIRAN

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 62: ROBOT PENGGAMBAR DENGAN MEKANISME PANTOGRAF …

L-1

Hasil Pengujian Gambar Kotak, Segitiga, Lingkaran 10x gambar dengan

5x skala 100% dan 50%

L1. Hasil Pengujian Gambar Kotak

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 63: ROBOT PENGGAMBAR DENGAN MEKANISME PANTOGRAF …

L-2

L2. Hasil Pengujian Gambar Segitiga

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 64: ROBOT PENGGAMBAR DENGAN MEKANISME PANTOGRAF …

L-3

L3. Hasil Pengujian Gambar Lingkaran

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 65: ROBOT PENGGAMBAR DENGAN MEKANISME PANTOGRAF …

L-4

L4. Motor Servo Tower pro MG90S

Specifications :

1. Weigh : 13.4 g

2. Dimension : 22.5 x 12 x 35.5 mm

3. Stall torque : 1.8 kg/cm (4.8V)

4. Operating speed: 0.1s/60° (4.8V)

5. Operating Voltage: 4.8V to 6V

6. Max Stall Torque: 2.2 kg/cm (6V)

7. Gear Type: Metal

8. Rotation : 0°-180°

L5. Motor Stepper 17HS4401

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 66: ROBOT PENGGAMBAR DENGAN MEKANISME PANTOGRAF …

L-5

L6. Timing pulley 2GT-15T 15 teeth

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 67: ROBOT PENGGAMBAR DENGAN MEKANISME PANTOGRAF …

L-6

L7. Power Supply 12V 30 A

SPESIFIKASI

* Model : 12V-30A

* Input : 220 volt AC

* Output : 12 volt DC

* Kapasitas : 30 ampere

* Ukuran : 215mmx115mmx50mm

* Berat bersih : 750g

Cara Pemakaiannya :

- kabel listrik di hubungkan ke lambang L & N

- lambang COM di hubungkan 12 V - ( min )

- lambang +V dihubungkan 12 V + ( plus )

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 68: ROBOT PENGGAMBAR DENGAN MEKANISME PANTOGRAF …

L-7

L8. CNC Shield Ramps 1.6

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 69: ROBOT PENGGAMBAR DENGAN MEKANISME PANTOGRAF …

L-8

L9. Perintah G-Code Pada Pengujian Gambar Kotak

%

(Header)

(Generated by gcodetools from Inkscape.)

(Using default header. To add your own header create file "header" in the output dir.)

M3

(Header end.)

G21 (All units in mm)

(Start cutting path id: path16879)

(Change tool to Default tool)

G00 Z5.000000

G00 X34.201464 Y39.688380

G01 Z-0.125000 F100.0(Penetrate)

G01 X34.201464 Y62.701760 Z-0.125000 F400.000000

G01 X57.705574 Y62.701760 Z-0.125000

G01 X81.209702 Y62.701760 Z-0.125000

G01 X81.209702 Y39.688380 Z-0.125000

G01 X81.209702 Y16.674960 Z-0.125000

G01 X57.705574 Y16.674960 Z-0.125000

G01 X34.201464 Y16.674960 Z-0.125000

G01 X34.201464 Y39.688380 Z-0.125000

G00 Z5.000000

(End cutting path id: path16879)

(Start cutting path id: path16879)

(Change tool to Default tool)

G00 Z5.000000

(End cutting path id: path16879)

(Footer)

M5

G00 X0.0000 Y0.0000

M2

(Using default footer. To add your own footer create file "footer" in the output dir.)

(end)%

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 70: ROBOT PENGGAMBAR DENGAN MEKANISME PANTOGRAF …

L-9

L10. Perintah G-Code Pada Pengujian Gambar segitiga

%

(Header)

(Generated by gcodetools from Inkscape.)

(Using default header. To add your own header create file "header" in the output dir.)

M3

(Header end.)

G21 (All units in mm)

(Start cutting path id: path6489)

(Change tool to Default tool)

G00 Z5.000000

G00 X51.199114 Y59.622900

G01 Z-0.125000 F100.0(Penetrate)

G02 X51.158608 Y59.280813 Z-0.125000 I-0.345390 J-0.132544 F400.000000

G02 X38.576875 Y41.117899 Z-0.125000 I-2474.754731 J1700.861787

G02 X25.861959 Y23.048195 Z-0.125000 I-2462.522396 J1719.268641

G02 X25.551654 Y22.887840 Z-0.125000 I-0.310305 J0.220060

G02 X25.239434 Y23.049991 Z-0.125000 I0.000000 J0.381663

G02 X12.640020 Y41.113519 Z-0.125000 I2413.460056 J1696.828090

G02 X0.175762 Y59.270660 Z-0.125000 I2425.907148 J1678.659160

G02 X0.135381 Y59.618070 Z-0.125000 I0.311733 J0.212286

G02 X0.472195 Y59.851918 Z-0.125000 I0.340229 J-0.130553

G02 X25.667251 Y59.971180 Z-0.125000 I25.456662 J-2716.540072

G02 X50.862398 Y59.856771 Z-0.125000 I0.261608 J-2716.686517

G02 X51.199114 Y59.623070 Z-0.125000 I-0.003343 J-0.364237

G01 X51.199114 Y59.622900 Z-0.125000

G00 Z5.000000

(End cutting path id: path6489)

(Start cutting path id: path6489)

(Change tool to Default tool)

G00 Z5.000000

G00 X1.749841 Y58.753860

G00 Z5.000000

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 71: ROBOT PENGGAMBAR DENGAN MEKANISME PANTOGRAF …

L-10

(End cutting path id: path6489)

(Footer)

M5

G00 X0.0000 Y0.0000

M2

(Using default footer. To add your own footer create file "footer" in the output dir.)

(end)

%

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 72: ROBOT PENGGAMBAR DENGAN MEKANISME PANTOGRAF …

L-11

L11. Perintah G-Code Pada Pengujian Gambar lingakaran

%

(Header)

(Generated by gcodetools from Inkscape.)

(Using default header. To add your own header create file "header" in the output dir.)

M3

(Header end.)

G21 (All units in mm)

(Start cutting path id: path21986)

(Change tool to Default tool)

G00 Z5.000000

G00 X52.115384 Y16.227550

G01 Z-0.125000 F100.0(Penetrate)

G02 X49.378585 Y16.974042 Z-0.125000 I4.470887 J21.781334 F400.000000

G02 X45.930405 Y18.346840 Z-0.125000 I12.338735 J36.009244

G02 X42.725454 Y20.172052 Z-0.125000 I8.506959 J18.664105

G02 X39.135549 Y23.072860 Z-0.125000 I18.339984 J26.368460

G02 X34.775994 Y28.283062 Z-0.125000 I18.976061 J20.306918

G02 X31.901200 Y34.255290 Z-0.125000 I22.213159 J14.370554

G02 X30.725536 Y41.702047 Z-0.125000 I21.575368 J7.222416

G02 X32.048621 Y49.205430 Z-0.125000 I23.237315 J-0.229136

G02 X34.944609 Y55.010635 Z-0.125000 I24.827997 J-8.760758

G02 X39.307233 Y60.134710 Z-0.125000 I23.599822 J-15.673628

G02 X53.426550 Y66.919530 Z-0.125000 I18.085464 J-19.552465

G02 X69.473245 Y64.677430 Z-0.125000 I4.243090 J-28.176331

G02 X76.345911 Y60.168593 Z-0.125000 I-11.134724 J-24.464584

G02 X81.119575 Y54.168130 Z-0.125000 I-15.669596 J-17.365009

G02 X83.602822 Y47.984519 Z-0.125000 I-23.264635 J-12.933156

G02 X84.436919 Y41.513250 Z-0.125000 I-24.686327 J-6.471269

G02 X83.609122 Y35.067626 Z-0.125000 I-25.508255 J-0.000000

G02 X81.131923 Y28.858350 Z-0.125000 I-26.118180 J6.821104

G02 X76.621104 Y23.019750 Z-0.125000 I-21.055544 J11.605416

G02 X70.470830 Y18.746870 Z-0.125000 I-17.045161 J17.971653

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 73: ROBOT PENGGAMBAR DENGAN MEKANISME PANTOGRAF …

L-12

G02 X61.220460 Y15.926711 Z-0.125000 I-13.389659 J27.338168

G02 X52.115384 Y16.227550 Z-0.125000 I-3.673244 J26.762782

G01 X52.115384 Y16.227550 Z-0.125000

G00 Z5.000000

(End cutting path id: path21986)

(Start cutting path id: path21986)

(Change tool to Default tool)

G00 Z5.000000

(End cutting path id: path21986)

(Footer)

M5

G00 X0.0000 Y0.0000

M2

(Using default footer. To add your own footer create file "footer" in the output dir.)

(end)

%

L12. Listing Program Arduino Mega2560

#include <Arduino.h>

#include "BasicStepperDriver.h"

#include "MultiDriver.h"

#include "SyncDriver.h"

//----------------motor----------------------------------------------------------

// Motor steps per revolution. Most steppers are 200 steps or 1.8 degrees/step

#define MOTOR_STEPS 800 //200*4 (360* = 200 step. diguakan reduksi 1:4 15t:60t

jadi satu putaran = 200X4=800pulsa per putaran<360*>)

#define MICROSTEPS 32

#define STEPS_PER_DEG MOTOR_STEPS*MICROSTEPS

// Target RPM for X axis motor

#define MOTOR_X_RPM 0.5 // mengatur kecepatan x

// Target RPM for Y axis motor

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 74: ROBOT PENGGAMBAR DENGAN MEKANISME PANTOGRAF …

L-13

#define MOTOR_Y_RPM 0.5 // mengatur kecepatan y

// X motor pin

#define DIR_X 28

#define STEP_X 26

// Y motor pin

#define DIR_Y 34

#define STEP_Y 36

BasicStepperDriver stepperX(MOTOR_STEPS, DIR_X, STEP_X);

BasicStepperDriver stepperY(MOTOR_STEPS, DIR_Y, STEP_Y);

SyncDriver controller(stepperX, stepperY);

//#define CW 1 //motor directions

//#define CCW -1

//--------------------------------------------------------------------------------------

//--------------//servo//---------------------------------

#include <Servo.h>

Servo myservo;

int pos = 0;

//--------------------------------------------------------

// ----- constants----------------------------------------

#define PI 3.1415926535897932384626433832795

#define HALF_PI 1.5707963267948966192313216916398

#define TWO_PI 6.283185307179586476925286766559

#define DEG_TO_RAD 0.017453292519943295769236907684886

#define RAD_TO_DEG 57.295779513082320876798154814105

//---------------------------------------------------------

long

PULSE_WIDTH = 5, //easydriver step pulse-width (uS)

DELAY_MIN = 20000, //minimum inter-step delay (uS) between motor steps

(controls speed)

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 75: ROBOT PENGGAMBAR DENGAN MEKANISME PANTOGRAF …

L-14

DELAY1=0, //inter-step delay for motor1 (uS)

DELAY2=0, //inter-step delay for motor2 (uS)

STEPS1 = 0, //motor1 steps from 12 o'clock to reach an XY co-ordinate

STEPS2 = 0; //motor2 steps from 12 o'clock to reach an XY co-ordinate

double

angleX,

angleY;

// ----- plotter definitions

#define BAUD 9600

#define XOFF 0x13 //pause transmission (19 decimal)

#define XON 0x11 //resume transmission (17 decimal)

#define PEN 4

float

OFFSET1 = 155, //motor1 offset along x_axis

OFFSET2 = 255, //motor2 offset along x_axis

YAXIS = 570, //motor heights above (0,0)

LENGTH = 320, //length of each arm-segment

SCALE_FACTOR = 1, //drawing scale (1 = 100%)

ARC_MAX = 2; //maximum arc-length (controls smoothness)

int

/*

XY plotters only deal in integer steps.

*/

THIS_X = 0, //this X co-ordinate (rounded)

THIS_Y = 0, //this Y co-ordinate (rounded)

LAST_X = 0, //last X co-ordinate (rounded)

LAST_Y = 0; //last Y co-ordinate (rounded)

// ----- gcode definitions

#define STRING_SIZE 256 //string size

char

BUFFER[STRING_SIZE + 1],

INPUT_CHAR;

String

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 76: ROBOT PENGGAMBAR DENGAN MEKANISME PANTOGRAF …

L-15

INPUT_STRING,

SUB_STRING;

int

INDEX = 0, //buffer index

START, //used for sub_string extraction

FINISH;

//deltaX=0;

//deltaY=0;

float

X, //gcode float values held here

Y,

I,

J;

void setup() {

// put your setup code here, to run once:

// stepper.enable();

stepperX.begin(MOTOR_X_RPM, MICROSTEPS);

stepperY.begin(MOTOR_Y_RPM, MICROSTEPS);

pinMode(30, OUTPUT);

pinMode(24, OUTPUT);

digitalWrite(30, LOW); // pin enable motor x

digitalWrite(24, LOW); // pin enable motor y

// ----- initialise STEPS1, STEPS2 for co-ordinate (0,0)

calculate_steps(0, 0);

myservo.attach(PEN);

// ----- plotter setup

memset(BUFFER, '\0', sizeof(BUFFER)); //fill with string terminators

INPUT_STRING.reserve(STRING_SIZE);

INPUT_STRING = "";

// ----- establish serial link

Serial.begin(BAUD);

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 77: ROBOT PENGGAMBAR DENGAN MEKANISME PANTOGRAF …

L-16

// ----- flush the buffers

Serial.flush(); //clear TX buffer

while (Serial.available()) Serial.read(); //clear RX buffer

// ----- display commands

menu();

}

//--------------------------------------------------------------------------

// MAIN LOOP

//--------------------------------------------------------------------------

void loop() {

// put your main code here, to run repeatedly:

// -------------------------

// get the next instruction

// -------------------------

while (Serial.available()) {

INPUT_CHAR = (char)Serial.read(); //read character

Serial.write(INPUT_CHAR); //echo character to the screen

BUFFER[INDEX++] = INPUT_CHAR; //add char to buffer

if (INPUT_CHAR == '\n') { //check for line feed

Serial.flush(); //clear TX buffer

Serial.write(XOFF); //pause transmission

INPUT_STRING = BUFFER; //convert to string

process(); //interpret string and perform task

memset(BUFFER, '\0', sizeof(BUFFER)); //fill buffer with string terminators

INDEX = 0; //point to buffer start

INPUT_STRING = ""; //empty string

Serial.flush(); //clear TX buffer

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 78: ROBOT PENGGAMBAR DENGAN MEKANISME PANTOGRAF …

L-17

Serial.write(XON); //resume transmission

}

}

}

void menu() {

Serial.println(F(""));

Serial.println(F(" ------------------------------------------------------"));

Serial.println(F(" MENU"));

Serial.println(F(" ------------------------------------------------------"));

Serial.println(F(" MENU ............... menu"));

Serial.println(F(" G00 X## Y## ........ goto XY (pen-up)"));

Serial.println(F(" G01 X## Y## ........ goto XY (pen-down)"));

Serial.println(F(" T1 ................. move pen to 0,0"));

Serial.println(F(" T2 S##.## .......... set drawing Scale (1=100%)"));

Serial.println(F(" ------------------------------------------------------"));

}

void process() {

// ----- convert string to upper case

INPUT_STRING.toUpperCase();

// ----------------------------------

// G00 linear move with pen_up

// ----------------------------------

if (INPUT_STRING.startsWith("G00")) {

// ----- extract X

START = INPUT_STRING.indexOf('X');

if (!(START < 0)) {

FINISH = START + 8;

SUB_STRING = INPUT_STRING.substring(START + 1, FINISH + 1);

X = SUB_STRING.toFloat();

}

// ----- extract Y

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 79: ROBOT PENGGAMBAR DENGAN MEKANISME PANTOGRAF …

L-18

START = INPUT_STRING.indexOf('Y');

if (!(START < 0)) {

FINISH = START + 8;

SUB_STRING = INPUT_STRING.substring(START + 1, FINISH + 1);

Y = SUB_STRING.toFloat();

}

Serial.println(F(""));

Serial.print(X);

Serial.print("<-X Y->");

Serial.println(Y);

pen_up();

move_to(X, Y);

}

// ----------------------------------

// G01 linear move with pen_down

// ----------------------------------

if (INPUT_STRING.startsWith("G01")) {

// ----- extract X

START = INPUT_STRING.indexOf('X');

if (!(START < 0)) {

FINISH = START + 8;

SUB_STRING = INPUT_STRING.substring(START + 1, FINISH + 1);

X = SUB_STRING.toFloat();

}

// ----- extract Y

START = INPUT_STRING.indexOf('Y');

if (!(START < 0)) {

FINISH = START + 8;

SUB_STRING = INPUT_STRING.substring(START + 1, FINISH + 1);

Y = SUB_STRING.toFloat();

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 80: ROBOT PENGGAMBAR DENGAN MEKANISME PANTOGRAF …

L-19

}

Serial.println(F(""));

Serial.print(X);

Serial.print("<-X Y->");

Serial.println(Y);

pen_down();

move_to(X, Y);

}

// ----------------------------------

// G02 clockwise arc with pen_down

// ----------------------------------

if (INPUT_STRING.startsWith("G02")) {

// ----- extract X

START = INPUT_STRING.indexOf('X');

if (!(START < 0)) {

FINISH = INPUT_STRING.indexOf('.', INPUT_STRING.indexOf('X'));

SUB_STRING = INPUT_STRING.substring(START + 1, FINISH + 7);

X = SUB_STRING.toFloat();

}

// ----- extract Y

START = INPUT_STRING.indexOf('Y');

if (!(START < 0)) {

FINISH = INPUT_STRING.indexOf('.', INPUT_STRING.indexOf('Y'));

SUB_STRING = INPUT_STRING.substring(START + 1, FINISH + 7);

Y = SUB_STRING.toFloat();

}

// ----- extract I

START = INPUT_STRING.indexOf('I');

if (!(START < 0)) {

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 81: ROBOT PENGGAMBAR DENGAN MEKANISME PANTOGRAF …

L-20

FINISH = INPUT_STRING.indexOf('.', INPUT_STRING.indexOf('I'));

SUB_STRING = INPUT_STRING.substring(START + 1, FINISH + 7);

I = SUB_STRING.toFloat();

}

// ----- extract J

START = INPUT_STRING.indexOf('J');

if (!(START < 0)) {

FINISH = INPUT_STRING.indexOf('.', INPUT_STRING.indexOf('J'));

SUB_STRING = INPUT_STRING.substring(START + 1, FINISH + 7);

J = SUB_STRING.toFloat();

}

Serial.println(F(""));

Serial.print(X);

Serial.print("<-X Y->");

Serial.println(Y);

pen_down();

draw_arc_cw(X, Y, I, J);

}

// ------------------------------------------

// G03 counter-clockwise arc with pen_down

// ------------------------------------------

if (INPUT_STRING.startsWith("G03")) {

// ----- extract X

START = INPUT_STRING.indexOf('X');

if (!(START < 0)) {

FINISH = INPUT_STRING.indexOf('.', INPUT_STRING.indexOf('X'));

SUB_STRING = INPUT_STRING.substring(START + 1, FINISH + 7);

X = SUB_STRING.toFloat();

}

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 82: ROBOT PENGGAMBAR DENGAN MEKANISME PANTOGRAF …

L-21

// ----- extract Y

START = INPUT_STRING.indexOf('Y');

if (!(START < 0)) {

FINISH = INPUT_STRING.indexOf('.', INPUT_STRING.indexOf('Y'));

SUB_STRING = INPUT_STRING.substring(START + 1, FINISH + 7);

Y = SUB_STRING.toFloat();

}

// ----- extract I

START = INPUT_STRING.indexOf('I');

if (!(START < 0)) {

FINISH = INPUT_STRING.indexOf('.', INPUT_STRING.indexOf('I'));

SUB_STRING = INPUT_STRING.substring(START + 1, FINISH + 7);

I = SUB_STRING.toFloat();

}

// ----- extract J

START = INPUT_STRING.indexOf('J');

if (!(START < 0)) {

FINISH = INPUT_STRING.indexOf('.', INPUT_STRING.indexOf('J'));

SUB_STRING = INPUT_STRING.substring(START + 1, FINISH + 7);

J = SUB_STRING.toFloat();

}

Serial.println(F(""));

Serial.print(X);

Serial.print("<-X Y->");

Serial.println(Y);

pen_down();

draw_arc_ccw(X, Y, I, J);

}

// ----------------------------------

// MENU

// ----------------------------------

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 83: ROBOT PENGGAMBAR DENGAN MEKANISME PANTOGRAF …

L-22

if (INPUT_STRING.startsWith("MENU")) {

menu();

}

// ----------------------------------

// T1 position the pen over 0,0

// ----------------------------------

if (INPUT_STRING.startsWith("T1")) {

// ----- variables

int step; //loop counter

int steps = MOTOR_STEPS; //steps motor is to rotate

// ----- instructions

Serial.println(F(""));

Serial.println(F(" ----------------------------------------------"));

Serial.println(F(" Position the pen over the 0,0 co-ordinate:"));

Serial.println(F(" ----------------------------------------------"));

Serial.println(F(" X-axis: Y-axis:"));

Serial.println(F(" 'A' 'S' 'K' 'L'"));

Serial.println(F(" <- -> <- ->"));

Serial.println(F(" Exit = 'E'"));

// ----- flush the buffer

while (Serial.available() > 0) Serial.read();

// ----- control motors with 'A', 'S', 'K', and 'L' keys

char keystroke = ' ';

while (keystroke != 'E') { //press 'E' key to exit

// ----- check for keypress

if (Serial.available() > 0) {

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 84: ROBOT PENGGAMBAR DENGAN MEKANISME PANTOGRAF …

L-23

keystroke = (char) Serial.read();

}

// ----- select task

switch (keystroke) {

case 'a':

case 'A': {

// ----- rotate motor1 CW

Serial.println(F(" "));

Serial.println(F(" ----- rotate motor1 CW "));

// for (step = 0; step < steps; step++) {

// step1_cw();

// }

for (step = 0; step < 2; step++) {

step1_cw();

}

keystroke = ' '; //otherwise motor will continue to rotate

break;

}

case 's':

case 'S': {

// ------ rotate motor1 CCW

Serial.println(F(" "));

Serial.println(F(" ----- rotate motor1 CCW "));

// for (step = 0; step < steps; step++) {

// step1_ccw();

// }

for (step = 0; step < 2; step++) {

step1_ccw();

}

keystroke = ' ';

break;

}

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 85: ROBOT PENGGAMBAR DENGAN MEKANISME PANTOGRAF …

L-24

case 'k':

case 'K': {

// ----- rotate motor2 CW

Serial.println(F(" "));

Serial.println(F(" ----- rotate motor2 CW "));

// for (step = 0; step < steps; step++) {

// step2_cw();

// }

for (step = 0; step < 2; step++) {

step2_cw();

}

keystroke = ' ';

break;

}

case 'l':

case 'L': {

// ----- rotate motor2 CCW

Serial.println(F(" "));

Serial.println(F(" ----- rotate motor2 CCW "));

// for (step = 0; step < steps; step++) {

// step2_ccw();

// }

for (step = 0; step < 2; step++) {

step2_ccw();

}

keystroke = ' ';

break;

}

case 'e':

case 'E': {

// ----- exit

Serial.println(F(" "));

Serial.println(F(" Calibration complete ..."));

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 86: ROBOT PENGGAMBAR DENGAN MEKANISME PANTOGRAF …

L-25

keystroke = 'E';

break;

}

// ----- default for keystroke

default: {

break;

}

}

}

// ----- initialise counters for co-ordinate (0,0)

calculate_steps(0, 0); //initialise STEPS1, STEPS2

THIS_X = 0; //current X co-ordinate

THIS_Y = 0; //current Y co-ordinate

LAST_X = 0; //previous X co-ordinate

LAST_Y = 0; //previous Y-co-ordinate

}

// ----------------------------------

// T2 set scale factor

// ----------------------------------

if (INPUT_STRING.startsWith("T2")) {

Serial.println("T2");

START = INPUT_STRING.indexOf('S');

if (!(START < 0)) {

FINISH = START + 6;

SUB_STRING = INPUT_STRING.substring(START + 1, FINISH);

SCALE_FACTOR = SUB_STRING.toFloat();

Serial.print(F("Drawing now ")); Serial.print(SCALE_FACTOR * 100);

Serial.println(F("%"));

}

else {

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 87: ROBOT PENGGAMBAR DENGAN MEKANISME PANTOGRAF …

L-26

Serial.println(F("Invalid scale factor ... try again. (1 = 100%)"));

}

}

void calculate_steps(float x, float y) {

// ----- locals

float

distance1, //pen distance to motor1

distance2, //pen distance to motor2

angle1, //motor1 angle

angle2; //motor2 angle

// ----- calculate distances

distance1 = sqrt((OFFSET1 - x) * (OFFSET1 - x) + (YAXIS - y) * (YAXIS - y));

distance2 = sqrt((OFFSET2 - x) * (OFFSET2 - x) + (YAXIS - y) * (YAXIS - y));

// ----- calculate motor1 angle when pen at (x,y)

if (x > OFFSET1) {

angle1 = PI + acos(distance1 / (2 * LENGTH)) - atan((x - OFFSET1) / (YAXIS - y));

//radians

} else {

angle1 = PI + acos(distance1 / (2 * LENGTH)) + atan((OFFSET1 - x) / (YAXIS - y));

//radians

}

// ----- calculate motor2 angle when pen at start position (0,0)

if (x > OFFSET2) {

angle2 = PI - acos(distance2 / (2 * LENGTH)) - atan((x - OFFSET2) / (YAXIS - y));

//radians

} else {

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 88: ROBOT PENGGAMBAR DENGAN MEKANISME PANTOGRAF …

L-27

angle2 = PI - acos(distance2 / (2 * LENGTH)) + atan((OFFSET2 - x) / (YAXIS - y));

//radians

}

angleX = (angle1*RAD_TO_DEG);

angleY = (angle2*RAD_TO_DEG);

}

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI