lenganrobotdenganpenggerakmotor stepper … · perpaduan antara mesin ( mechanic ), elektronika (...
TRANSCRIPT
i
TUGAS AKHIR
LENGAN ROBOT DENGAN PENGGERAKMOTOR
STEPPER DAN MOTOR SERVODiajukan 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 :
KHRISWARA DWITANTYA
NIM : 145114053
JURUSAN TEKNIK ELEKTRO
FAKULTAS SAINS DAN TEKNOLOGI
UNIVERSITAS SANATA DHARMA
YOGYAKARTA
2017
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
ii
FINAL PROJECT
ROBOT ARM WITH ACTIVATOR STEPPER MOTOR
AND SERVO MOTORIn a partial fulfilment of the requirements
For the degree of Sarjana Teknik
Department of Electrical Engineering
Faculty of Science and Technology, Sanata Dharma University
KHRISWARA DWITANTYA
NIM :145114053
DEPARTMENT OF ELECTRICAL ENGINEERING
FACULTY OF SCIENCE AND TECHNOLOGY
SANATA DHARMA UNIVERSITY
YOGYAKARTA
2017
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
iii
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
iv
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
v
HALAMAN PERSEMBAHAN DAN MOTTO HIDUP
MOTTO :
JALANILAH HIDUPMU DENGAN SEGALA USAHA MAKSIMAL
DENGAN DEMIKIAN HASIL TIDAK AKAN PERNAH
MENGECEWAKAN
Skripsi ini kupersembahkan untuk…..
Yesus Kristus yang telah memberikan nafas ini
Dosen pembimbing yang senantiasa memberi semangat
Teman - teman yang sudah berjalan dan berusaha hingga saat ini
Dan semua yang telah mengambil peran dalam terwujudnya skripsi ini
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
vi
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
vii
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
viii
INTISARI
Robot menjadi pilihan untuk membantu pekerjaan manusia mengatasi masalahkepresisian, keamanan, fleksibilitas dan pekerjaan yang berulang. Lengan robot menjadisalah satu jenis robot yang dapat membantu pekerjaan manusia. Penelitian lengan robot inidibuat untuk memperagakan gerakan robot yang dikendalikan dari jarak jauh. Lenganrobot ini menggunakan basis mikrokontroler arduino uno R3 sehingga menarik untukdipelajari
Lengan robot dalam penelitian ini terdiri dari joint dan link dengan 4 degree offreedom (4DOF). Actuator lengan robot adalah dengan motor stepper. Lengan robotmendapat input dari PC dengan software arduino IDE, untuk menggerakan lengan robot.Data yang dikirimkan dari PC ke arduino uno R# berupa program pulsa pulsa digitaldengan komunikasi serial. Mikrokontroler mendapatkan data masukan dari kontrolerjoystick yang telah dipasangkan pada arduino uno R3 dan akan mengeluarkan pulsa pulsadigital untuk menggerakan motor stepper
Hasil Penelitian yang telah dilakukan menggunakan lengan robot dengan uji cobauntuk menggerakan menggunakan masukan joystick dan menggunakan program sederhanayang sudah ditentukan sebelumnya menghasilkan data keberhasilan percobaan. Tingkatkeberhasilan lengan robot dengan penggerak motor stepper sudah sesuai dari perancanganmaka dapat dikatakan percobaan ini berhasil. Yaitu dengan menggerakan lengan robotmenggunakan modul joystick untuk menggambar bidang 2D
Kata kunci : Lengan Robot Dengan Penggerak Motor Stepper Dan Motor Servo
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
ix
ABSTRACT
Robot become choice for helping people work to overcome the problem ofaccuracy, security, flexibility and repetitive job. A robot arm is one of type robot that canassist the job. Robot arm is study designed to demonstrate the robot's movements arecontrolled remotely. This robot arm using a microcontroller arduino uno R3 so interestinglearn
A robot arm in this RESEARCH consists of joint and link with 4 degree offreedom (4DOF). The actuator arm robot with a stepper motor. Robot arm gets input froma PC with software arduino IDE, to move the robot arm. The data transmitted from the PCto arduino uno R3 in the digital pulses pulse program with serial communication.Microcontroller obtain input data from joystick controller that has been attached to thearduino uno R3 and will send a digital pulses to drive the stepper motor
The result of research thats has been done, using robot arm to move use joystickand use simple program, the success rate from robot arm with motor stepper is same withthe design. It can said the experiment is successful by moving the robot arm using ajoystick to draw 2D shape
Keyword : Robot Arm With Activator Stepper Motor And Servo Motor
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
x
KATA PENGANTAR
Puji dan syukur penulis panjatkan kepada Tuhan Yesus Kristus atas segala rahmat-
Nya. Berkat Kasih dan KaruniaNya selama menjalani proses pembuatan tugas akhir ini,
penulis dapat menyelesaikan tugas akhir dengan judul “Lengan Robot Dengan Penggerak
Motor Stepper dan Motor Servo”.
Tugas akhir ini disusun untuk memenuhi salah satu syarat memperoleh gelar
Sarjana Teknik (S.T) bagi mahasiswa program S-1 Jurusan Teknik Elektro Universitas
Sanata Dharma Yogyakarta. Selama proses penyusunan proposal ini, penulis banyak
mendapat bantuan dan dukungan dari berbagai pihak, untuk itu penulis mengucapkan
terimakasih kepada:
1. Bapak Petrus Setyo Prabowo, S.T., M.T., selaku Ketua Program Studi Teknik Elektro
Universitas Sanata Dharma Yogyakarta.
2. Bapak Djoko Untoro, S.Si., M.T., selaku Dosen Pembimbing tugas akhir yang telah
banyak meluangkan waktu untuk memberikan bimbingan.
3. Bapak Martanto, M.T., dan Bapak Djoko Untoro, S.Si., M.T., yang telah memberikan
saran dan kritik dalam menyelesaikan penulisan tugas akhir.
4. Seluruh dosen Teknik Elektro yang telah memberikan ilmu yang bermanfaat kepada
penulis selama kuliah.
5. Keluarga besar tercinta yang ada di rumah yang selalu mendoakan dan terus
memberikan semangat dalam mengerjakan.
6. Seluruh teman-teman prodi Teknik Elektro angkatan 2014 hingga 2012 atas kerjasama
dan kebersamaannya selama menjalani studi.
7. Kawan-kawan penggembira dan penyemangat yang memberikan dukungan.
8. Semua pihak yang tidak bisa penulis sebutkan satu per satu atas bantuan, bimbingan,
kritik dan saran.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
xi
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
xii
DAFTAR ISIHalaman Sampul(Bahasa Indonesia)......................................................................... i
Halaman Sampul(Bahasa Inggris).............................................................................. ii
Lembar Persetujuan.................................................................................................... iii
Lembar Pengesahan................................................................................................... iv
Halaman Persembahan............................................................................................... v
Lembar Pernyataan Keaslian Karya........................................................................... vi
Lembar Pernyataan Persetujuan Publikasi Karya Ilmiah........................................... vii
Intisari........................................................................................................................ viii
Abstract...................................................................................................................... ix
Kata Pengantar........................................................................................................... x
Daftar Isi..................................................................................................................... xii
Daftar Gambar............................................................................................................ xiv
Daftar Tabel............................................................................................................... xvi
Daftar Persamaan....................................................................................................... xvii
BAB I PENDAHULUAN
1.1 Latar Belakang......................................................................................... 1
1.2 Tujuan dan Manfaat ................................................................................. 3
1.3 Batasan Masalah ....................................................................................... 3
1.4 Metodologi Penelitian .............................................................................. 4
BAB II DASAR TEORI
2.1 Mikrokontorler........................................................................................ 6
2.1.1 Arduino Uno R3.............................................................................. 6
2.2 Software Arduino..................................................................................... 7
2.3 Motor Servo............................................................................................. 8
2.4 Motor stepper........................................................................................... 11
2.5 Torsi......................................................................................................... 16
2.6 Driver Motor Stepper............................................................................... 16
2.7 Kinematika............................................................................................... 17
BAB III RANCANGAN PENELITIAN
3.1 Perancangan Perangkat Keras.................................................................. 23
3.1.1 Perancangan Mekanik Robot............................................................ 25
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
xiii
3.1.1.1 permodelan mekanik...................................................................... 26
3.1.1.2 Permodelan inverse Kinematik.................................................... 34
3.1.2 Perancangan elektrik sistem pengendali......................................... 43
3.1.3 Perancangan homing sensor............................................................ 44
3.2 Perancangan perangkat lunak sederhana.................................................. 45
3.2.1 Perancangan pengendali motor servo dan stepper dengan arduino 46
BAB IV HASIL DAN PEMBAHASAN
4.1 hasil pengujian penggerak........................................................................ 48
4.1.1 pembahasan pada program arduino................................................. 49
4.2 hasil perancangan..................................................................................... 55
4.2.1 Bentuk mekanik sistem lengan robot.............................................. 60
4.2.2 Komponen elektrik sistem lengan robot......................................... 60
4.2.3 Pengujian Gerak mekanik lengan robot.......................................... 61
4.2.3 Pengujian Repeatability.................................................................. 63
4.3 hasil pengujian gambar bidang dua dimensi............................................. 64
4.3.1 Analisa Hasil Gambar Kotak.......................................................... 64
4.3.2 Analisa Hasil Gambar Segitiga....................................................... 65
4.3.3 Analisa Hasil Gambar Lingkaran.................................................... 67
4.3.4 Analisa Hasil Gambar Tanda Tambah............................................ 68
4.4 hasil pengujian nilai step pada motor stepper........................................... 69
4.5 hasil pengujian area kerja .......................................................................... 70
4.6 pengujian menggunakan program tanpa joystick...................................... 71
BAB V KESIMPULAN
5.1 Kesimpulan.............................................................................................. 73
5.2 Saran......................................................................................................... 73
DAFTAR PUSTAKA................................................................................... ............. 65
LAMPIRAN
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
xiv
DAFTAR GAMBAR
Gambar 1.1 Blok Diagram Lengan Robot............................................................... 4
Gambar 2.1 Tampilan Software Arduino Pada Komputer........................................ 8
Gambar 2.2 Gambar Motor Servo............................................................................. 9
Gambar 2.3 Konstruksi Motor Servo........................................................................ 9
Gambar 2.4 Pulsa Kendali Motor Servo................................................................... 10
Gambar 2.5 Penampang Melintang dari Motor Stepper Variable Reluctance.......... 12
Gambar 2.6 Motor stepper tipe permanent magnet................................................... 12
Gambar 2.7 Penampang Melintang Dari Motor Stepper Tipe Hybrid...................... 13
Gambar 2.8 Motor Stepper Dengan Lilitan Unipolar............................................... 14
Gambar 2.9 Motor Stepper Dengan Lilitan Bipolar ................................................. 14
Gambar 2.10 Gambar Motor Stepper Nema 17......................................................... 15
Gambar 2.11 Modul Driver Motor Stepper............................................................... 16
Gambar 2.12 Gambar Sudut Joint............................................................................. 18
Gambar 2.13 Konfigurasi Lengan Robot Satu Sendi................................................ 19
Gambar 2.14 Konfigurasi Lengan Robot Dua Sendi................................................ 20
Gambar 3.1 Gambar Diagram Blok Perancangan Perangkat Keras.......................... 24
Gambar 3.2 Blok Diagram Perangkat Keras ............................................................. 25
Gambar 3.3 Tampilan Desain 3D Lengan Robot...................................................... 27
Gambar 3.4 Tampilan Posisi Motor Stepper Pada Lengan Robot............................ 28
Gambar 3.5 Tampilan Posisi Motor Servo Pada Desain Lengan Robot................... 29
Gambar 3.6 Tampilan Posisi End Effector Berupa Pointer Dengan Spidol............. 30
Gambar 3.7 Tampilan Sumbu Axis X,Y,Z................................................................ 33
Gambar 3.8 Panjang Dan Lebar Meja Kerja............................................................. 33
Gambar 3.9 Ilustrasi Jangkauan Gerak Link Dan Batasan Maksimum..................... 34
Gambar 3.10 Rencana Yang DIgunakan Sebagai Test Dari Lengan Robot............. 35
Gambar 3.11 Lengan Robot Tampak Atas................................................................ 36
Gambar 3.12 Penyederhanaan Gambar Lengan Robot Dengan Analisa Geometri Untuk
Mencari 1 ........................................................................................... 36
Gambar 3.13 Lengan Robot Tampak Samping......................................................... 38
Gambar 3.14 Penyederhanaan Gambar Lengan Robot Tampak Samping................ 38
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
xv
Gambar 3.15 Analisa Geometri Lengan Robot Untuk Mencari 2 dan 3 .............. 39
Gambar 3.16 Analisa Geometri Lengan Robot untuk mencari 4 ............................ 41
Gambar 3.17 Titik Referensi Yang Digunakan Untuk Menguji Lengan Robot....... 42
Gambar 3.18 Gambar Rangkaian Elektrik Sistem Pengendali ................................. 43
Gambar 3.19 Gambar sensor homing pada shoulder................................................ 44
Gambar 3.20 Gambar Sensor Homing Pada Elbow.................................................. 45
Gambar 3.21 Diagram alir Sistem Perangkat Lunak Sederhana............................... 46
Gambar 3.22 Diagram Alir Sistem Pada Arduino IDE............................................. 46
Gambar 3.23 Gambar Konfigurasi Kontroler........................................................... 47
Gambar 4.1 Gambar Tampilan Perangkat Lunak Arduino IDE................................ 50
Gambar 4.2 Contoh Program Full Step..................................................................... 51
Gambar 4.3 Konfigurasi Untuk 1/32 step................................................................. 52
Gambar 4.4 konfigurasi kontroler pada arduino....................................................... 53
Gambar 4.5 konfigurasi dari MS1 MS2 dan MS3 pada pin arduino........................ 54
Gambar 4.6 konfigurasi pin direction, step dan sleep ketiga driver......................... 54
Gambar 4.7 program utama penggerak motor stepper.............................................. 55
Gambar 4.8 Bentuk Mekanik Lengan Robot............................................................ 56
Gambar 4.9 Bentuk Mekanik Lengan (link).............................................................. 57
Gambar 4.10 Posisi motor stepper sebagai penggerak lengan robot........................ 58
Gambar 4.11 posisi motor stepper penggerak Base.................................................. 59
Gambar 4.12 Gambar rangkaian elektrik.................................................................. 60
Gambar 4.13 Cara Pengukuran Sudut joint Menggunakan Busur Derajat............... 61
Gambar 4.14 Hasil Pengujian Repeatability............................................................. 63
Gambar 4.15 Gambar Kotak dari Gerakan Lengan Robot........................................ 65
Gambar 4.16 Hasil Gambar Segitiga ........................................................................ 66
Gambar 4.17 Hasil Gambar Lingkaran..................................................................... 67
Gambar 4.18 Hasil Gambar Tanda Tambah.............................................................. 69
Gambar 4.19 Gambar Area Kerja Pada Kertas A4................................................... 70
Gambar 4.20 Hasil Pengujian Menggunakan Program Pada Sumbu Y.................... 71
Gambar 4.21 Hasil Pengujian Menggunakan Program Pada Sumbu X .................... 72
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
xvi
DAFTAR TABEL
Tabel 3.1 Keterangan Lengan Penghubung (link).................................................... 29
Tabel 3.2 Tabel Batasan Gerakan Lengan Robot Berdasarkan Putaran
Motor Stepper Dan Desain Lengan......................................................... 35
Tabel 4.1 Konfigurasi Masukan sinyal MS1 MS2 dan MS3.................................... 53
Tabel 4.2 Spesifikasi link Lengan Robot.................................................................. 58
Tabel 4.3 Hasil Pengujian Area Kerja Dari Setiap Lengan ......................................... 62
Tabel 4.4 Hasil Pada Pengujian Repeatabilitas......................................................... 63
Tabel 4.5 Hasil Pengujian Nilai Step Sudut X.......................................................... 69
Tabel 4.6 Hasil Pengujian Nilai Step Sudut X.......................................................... 69
Tabel 4.7 Nilai X dan Y Pada Masing Masing Area Kerja....................................... 70
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
xvii
DAFTAR PERSAMAAN
Persamaan 2.1 ............................................................................................................ 16
Persamaan 2.2 ............................................................................................................ 16
Persamaan 2.3 ............................................................................................................ 16
Persamaan 2.4 ............................................................................................................ 16
Persamaan 2.5 ............................................................................................................ 18
Persamaan 2.6 ............................................................................................................ 18
Persamaan 2.7 ............................................................................................................ 18
Persamaan 2.8 ............................................................................................................ 19
Persamaan 2.9 ............................................................................................................ 20
Persamaan 2.10 .......................................................................................................... 20
Persamaan 2.11 .......................................................................................................... 20
Persamaan 2.12 .......................................................................................................... 20
Persamaan 2.13 .......................................................................................................... 20
Persamaan 2.14 .......................................................................................................... 20
Persamaan 2.15 .......................................................................................................... 21
Persamaan 2.16 .......................................................................................................... 21
Persamaan 2.17 .......................................................................................................... 21
Persamaan 2.18 .......................................................................................................... 21
Persamaan 2.19 .......................................................................................................... 21
Persamaan 2.20 .......................................................................................................... 21
Persamaan 2.21 .......................................................................................................... 22
Persamaan 2.22 .......................................................................................................... 22
Persamaan 2.23 .......................................................................................................... 22
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
1
BAB 1
PENDAHULUAN
1.1. Latar BelakangBersamaan dengan kemajuan jaman yang semakin pesat, maka teknologi yang ada
saat ini juga ikut berkembang semakin pesat, tidak terkecuali didalam dunia robotika, baik
itu didalam bidang industri, medis, militer dan lain sebagainya. Berbagai macam penelitian
tengah dilakukan, beberapa robot yang sudah adapun sekarang sudah semakin
dikembangkan dan disempurnakan, sehingga pekerjaan manusia semakin diringankan oleh
robot. Robot sendiri adalah sebuah alat mekanik yang dapat melakukan tugas fisik, baik
menggunakan pengawasan dan kontrol manusia ataupun menggunakan program yang
sudah dibuat sebelumnya, maka dari definisi robot tersebut maka robot adalah hasil
perpaduan antara mesin ( mechanic ), elektronika ( electric ) dan pemrograman
( informatic )
Salah satu robot yang kini banyak digunakan dalam industri ataupun dalam bidang
umum adalah robot manipulator, manipulator merupakan bagian mekanik yang dapat
difungsikan untuk memindah, menulis, mengangkat dan memanipulasi benda kerja. Secara
umum robot manipulator dibedakan menjadi beberapa jenis menurut sumbu koordinat yang
digunakan yaitu SCARA, cylindrical, articulated, spherical [1]. Robot manipulator dibuat
menyerupai lengan manusia, sehingga nantinya dapat membantu pekerjaan yang berat.
Pada kemajuan teknologi ini, banyak industri yang telah menggunakan teknilogi
lengan robot, sehubungan dengan keamanan, kecepatan, presisi dan konsistensi maka
dipilihlah lengan robot untuk menggantikan ataupun meringankan pekerjaan manusia.
Karena lengan robot bisa diprogram dari tempat yang berbeda atau dari jauh,
menempatkan lengan robot sebagai pengganti yang cocok, kini banyak yang telah
mengembangkan lengan robot yang bertujuan untuk industri maupun edukasi.
Lengan robot yang ada kini sudah sangat pesat perkembangannya, tetapi lengan robot
yang ada sekarang 80% ditujukan untuk industri besar yang pastinya sangat mahal, maka
saya tertarik membuat prototype lengan robot yang memiliki sistem yang sama dengan
sistem lengan robot pada industri tetapi lengan robot yang dibuat nantinya dapat bertujuan
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
2
sebagai bahan edukasi mengenai lengan robot, yaitu lengan robot untuk menggambar
bidang 2 dimensi yang sudah ditentukan sebelumnya. Lengan robot ini memiliki 4 DOF
( degree of freedom ) pada sumbu X,Y dan Z.
Pada sebuah jurnal yang berjudul “Robot Arm Controller Using FPGA” [2] controller
lengan robot yang dibuat adalah menggunakan Field Programmable Gate Array (FPGA)
yaitu sirkuit terpadu (IC) dalam teknologi digital. Dimana didalamnya terdapat rangkaian
logika yang dapat diprogram. Konfigurasi FPGA umumnya ditentukan dengan
menggunakan bahasa perangkat keras atau HDL. Kekurangan dari sistem ini adalah FPGA
menggunakan bahasa hardware. Sehingga jika kita ingin membuat sebuah program maka
kita harus menentukan setiap gerbang yang harus digunakan. Berbeda dengan jika
menggunakan mikrokontroler, karena mikrokontroler menggunakan bahasa pemrograman
C maka sangat mudah untuk membuat sebuah program pada mikrokontroler.
Peneliti yang sudah pernah membuat prototype dari lengan robot ini adalah Antonius
Welly Adi Nugroho dengan judul “Lengan Robot Penggambar Bidang Dua Dimensi
Berbasis Mikrokontroler Dengan PC” [3] pada penelitian sebelumnya lengan robot yang
digunakan digerakan dengan motor servo. Kelemahan motor servo adalah kurang
akuratnya sudut yang diciptakan oleh motor servo, saat diinginkan sudut dibawah 1° maka
motor servo akan kesusahan dalam menjangkaunya.
Kemudian keterbatasan sudut yang dimiliki pada motor servo juga menjadi sebuah
kelemahan. Sudut motor servo yang digunakan pada penelitian sebelumnya memiliki sudut
maksimum 180°. Lalu penempatan dari penggerak lengan robot pada penelitian
sebelumnya juga memiliki kelemahan yaitu penempatan yang langsung menempel pada
setiap joint pada lengan robot membuat beban yang akan diangkat oleh servo menjadi
meningkat, sehingga kinerja dari motor servo menjadi lebih berat dan tidak terlalu akurat
disamping itu jenis servo yang digunakan adalah jenis servo giant yang memiliki ukuran
yang besar dan pastinya dengan harga yang mahal.
Dari beberapa kelemahan itulah akhirnya saya memiliki ide untuk membuat lengan
robot yang memiliki desain yang lebih murah, lebih akurat, dan lebih ringan. Yaitu
menggunakan motor stepper yang lebih akurat daripada motor servo
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
3
1.2. Tujuan dan ManfaatTujuan umum dari penelitian ini adalah membuat dan menguji suatu prototype berupa
lengan robot, dengan penggerak motor stepper. Secara khusus penelitian ini bertujuan
untuk merancang sebuah lengan robot yang digerakkan oleh motor stepper, dan dapat
memperagakan gerakan lengan robot dengan lebih presisi dan Lengan robot yang dibuat
diberi perintah melalui kontroler untuk melakukan kegiatan menggambar bidang dua
dimensi berupa kotak, segitiga, lingkaran dan tanda tambah dengan ukuran tertentu yang
nantinya akan diuji tingkat ketepatan dan kemampuan menggambar dari lengan robot.
Penelitian ini menghasilkan manfaat untuk membantu manusia pada pekerjaan
produksi maupun pada pekerjaan lainya, seperti menulis, memindahkan barang,
pengecatan maupun pengelasan. Penelitian ini juga bermanfaat untuk membandingkan
kinerja lengan robot yang menggunakan penggerak motor servo dengan lengan robot yang
menggunakan penggerak motor stepper yang lebih presisi dibandingkan motor servo.
1.3. Batasan MasalahPembatasan masalah bertujuan untuk mempermudah dalam pelaksanaan penelitian
maupun penulisan skripsi, sehingga tidak terjadi kesalahan dalam penelitian yang
dimaksud. Batasan untuk penelitian ini adalah:
A. Gambar yang dibuat adalah gambar bidang 2 dimensi yang sudah ditentukan
sebelumnya, yaitu gambar kotak, lingkaran, segitiga dan tanda tambah yang sudah
diprogram melalui PC.
B. Menggunakan sebuah mikrokontroler arduino UNO R3 sebagai kontroler lengan
robot yang sudah diprogram melalui PC.
C. Menggunakan 3 buah motor stepper dan 1 buah motor servo sebagai penggerak
pada setiap joint dari lengan robot.
D. Lengan robot memiliki pergerakan pada sumbu X, Y, dan Z.
E. Lengan robot memiliki 4 derajat kebebasan atau degree of freedom (DOF).
F. Menguji tingkat akurasi dari lengan robot berpenggerak motor servo dan
lengan robot berpenggerak motor stepper dengan uji repeatabilitas
G. Memiliki ukuran yang tidak terlalu besar dengan dimensi sekitar 25x25x20 cm
H. Lengan robot menggunakan tipe RRRR (Rotasi)
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
4
1.4. Metodologi PenelitianBerdasarkan pada tujuan yang ingin dicapai metodogi yang digunakan dalam
penelitian ini adalah sebagai berikut:
A. Studi literatur dan referensi, yaitu mempelajari buku-buku dan jurnal-jurnal dari
pustaka yang berhubungan dengan mikrokontroler arduino UNO R3, motor stepper,
motor servo, mekanika dan lengan robot.
B. Studi kasus pada alat yang sebelumnya sudah dibuat, guna memahami prinsip kerja
dari lengan robot.
C. Menguji motor stepper dan motor servo guna mengetahui dan memahami prinsip
kerja motor servo dan motor stepper
D. Menguji rangkaian mikrokontroler motor servo dan motor stepper, guna
mengetahui bahasa pemrograman yang digunakan untuk mengendalikan motor
servo dan motor stepper dan lebih memahami cara kerja pengendalian lengan robot
E. Perancangan sistem hardware dan software sederhana yang bertujuan untuk
mencari komponen yang sesuai dan menyesuaikan program yang akan dipakai
Gambar 1.1 Blok diagram lengan robot.
F. Pembuatan sistem hardware dan software. Tahap ini adalah lanjutan dari tahap
perancangan sebelumnya, yang meliputi pembuatan fisik ( hardware ) dari lengan
robot dan pemasangan komponen komponen yang sudah ditentukan sebelumnya
baik komponen mekanik maupu elektrik. Pada tahap ini pembuatan perangkat
lunak ( software ) bertujuan memberikan perintah kepada lengan robot yang
nantinya akan berguna untuk mengendalikan lengan robot, sehingga robot akan
bergerak sesuai dengan apa yang sudah diprogramkan. Program dari visual basic
Akan dikirimkan ke bagian mikrokontroler arduino UNO R3, kemudian program
akan diteruskan ke motor stepper dan motor servo, sehingga lengan robot nantinya
akan bergerak sesuai dengan apa yang telah diperintahkan.
G. Pengujian dan pengambilan data dilakukan dengan pengujian gerak lengan robot
yang telah diberi perintah melalui mikrokontroler arduino UNO R3 teknik
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
5
pengujian dilakukan dengan menjalankan program yang selanjutnya
dikomunikasikan ke motor stepper dan motor servo. Pengujian dilakukan untuk
menguji kesamaan gerak lengan robot dan program yang telah diberikan
sebelumnya. Teknik pengambilan data dilakukan untuk melihat bentuk bidang 2
dimensi yang digambar oleh lengan robot, perbedaan ukuran yang telah diprogram
dan gambar yang sudah dibuat oleh lengan robot dan mengamati persentase
kesalahannya.
H. Analisa dan kesimpulan hasil perancangan berdasarkan kepresisian, keakuratan,
hasil gambar dan gerakan lengan robot. Teknik analisa yang digunakan adalah
menguji tingkat repeatabilitas saat lengan robot menggambar bidang dua dimensi.
Berdasarkan hasil data yang diperoleh dapat dilakukan penarikan kesimpulan
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
6
BAB II
DASAR TEORI
2.1. MikrokontrolerMikrokontroler dapat disamakan dengan processor, didalam mikrokontroler program
akan diolah dan nantinya akan dikirimkan ke perangkat output walaupun mikrokontroler
berbentuk kecil namun mikrokontoler memiliki elemen - elemen dasar yang sama dengan
komputer walaupun secara sederhana.
Mikrokontroler digunakan sebagai pengolah perintah yang berupa program dari
masukan sehingga menjadi keluaran yang diinginkan. Masukan dari mikrokontroler dapat
berupa tombol,sensor,kamera atau langsung dari komputer. Pada bagian keluaran
mikrokontroler dapat berupa motor,lampu,selenoid maupun alat suara, pada perkembangan
jaman keluaran dari mikrokontroler semakin banyak perkembangan. Kini keluaran
mikrokontroler dapat mengontrol sebuah sistem. Pada penelitian ini menggunakan
platform dengan jenis open source yaitu arduino, yang digunakan adalah arduino Uno R3
dengan bahasa pemrogramannya adalah bahasa C [4]
2.1.1. Arduino Uno R3
Arduino Uno R3 adalah sebuah board yang berbasis mikrokontroler, arduino Uno R3
menggunakan mikrokontroler ATMega328. Pada arduino Uno R3 memiliki pin masukan
digital dan pin keluaran digital dimana ada 6 pin yang bisa digunakan untuk keluaran
PWM dan 6 pin masukan analog, menggunakan koneksi USB untuk komunikasi ke
komputer, sumber tenaga dari Arduino Uno R3 adalah DC 5 sampai 12 volt yang dapat
disuplai lewat jack DC maupun dari pin masukan. Arduino Uno R3 juga memiliki tombol
reset internal yang dapat digunakan untuk mereset arduino jika diperlukan. [5]
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
7
Komunikasi
Arduino Uno R3 dapat berkomunikasi dengan komputer menggunakan port USB.
Firmware ‘16U2 menggunakan driver standar COM dan tidak memerlukan driver
eksternal lagi. Tetapi pada komputer masih memerlukan program tambahan untuk
membaca program pada arduino, karena program pada arduino Uno R3 memiliki file
ekstension berupa ino. Program arduino pada komputer juga berfungsi sebagai pengirim
dari komputer menuju Arduino Uno R3 melalui chip USB to serial dan koneksi USB
2.2. Software Arduino
Membuat atau menulis program pada arduino dilakukan dengan arduino IDE, yaitu
software yang beroprasi pada komputer. Arduino software tersedia untuk berbagai macam
platform, seperti Windows, Mac OS dan Linux. Arduino software [6] berfungsi untuk
menuliskan program dan mengirimnya ke perangkat Arduino Uno R3 menurut situs
http://www.arduino.cc
Arduino Uno R3 yang memiliki basis open source dan dapat diprogram pada sistem
operasi pada komputer berbasis Windows,Mac OS dan Linux sehingga memudahkan
berbagai kalangan untuk menggunakannya.
IDE Arduino memerlukan sedikit pengaturan untuk dapat mendeteksi board arduino
yang telah dihubungkan ke komputer. Pengaturan yang dilakukan adalah mendeteksi jenis
dan seri dari arduino yang digunakan, lalu mendeteksi sambungan port COM yang dipakai
arduino untuk melakukan komunikasi dari komputer ke arduino. Pada gambar 2.1 ini
adalah tampilan program arduino pada komputer.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
8
Gambar 2.1 Tampilan software arduno (Arduino IDE) pada komputer
Tugas dari software arduino adalah menghasilkan program yang dapat dijalankan pada
board arduino atau pada sistem mikrokontroler lainnya. Sketch adalah nama program yang
ditulis pada software arduino. Sketch nantinya akan di compile untuk melihat apakah ada
bahasa pemrograman yang error ataupun kurang, setelah selesai nantinya program akan di
kirim ke sistem mikrokontroler ataupun ke arduino untuk dijalankan. [7]
2.3. Motor Servo
Motor servo adalah sebuah motor DC yang didalamnya terdapat sebuah sistem kendali
close feedback. Pada Gambar 2.2 ditunjukan tampilan fisik dari motor servo
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
9
Gambar 2.2 Motor Servo
Motor servo terdiri dari motor DC,rangkaian gear dan potensiometer seperti pada
Gambar 2.3, potensiometer berfungsi sebagai menentukan batas maksimum putaran motor
servo . Sedangkan sudut dari sumbu motor servo diatur berdasar lebar pulsa pada pin
kontrol motor servo [8]
Gambar 2.3 Konstruksi Motor Servo
Motor servo mampu bergerak dua arah atau CW dan CCW, dimana arah dari putaran
servo dapat dikendalikan dengan memberikan variasi lebar pulsa pada sinyal PWM pada
pin kontrolnya.
Motor servo memiliki dua jenis yaitu servo standart dan continuous, pada motor servo
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
10
standart bergerak dua arah, CW dan CCW dengan tiap arahnya mencapai 90° sehingga
total sudutnya adalah 180° ( CW 90° dan CCW 90° ). Sedangkan pada motor servo
continuous dapat bergerak dengan dua arah CW dan CCW namun tanpa batasan sudut,
sehingga dapat berputar secara continuous ( kontinyu )
Pulsa Kontrol Motor Servo
Gambar 2.4. Adalah bagaimana operasional motor servo berdasar lebar pulsa. Motor
servo dikendalikan oleh sebuah pulsa selebar ±20 ms, pulsa antara 0,5 ms dan 2 ms
menyatakan akhir dari range sudut maksimum. Jika motor servo diberi sinyal sebesar 1,5
ms maka motor servo mencapai gerakan 90°, dan bila diberi pulsa kurang dari 1,5 ms maka
posisinya akan mendekati 0° dan jika diberi pulsa lebih dari 1,5 ms maka motor servo akan
mendekari sudut 180° [8]
Gambar 2.4 Pulsa Kendali Motor Servo
Motor servo akan bekerja dengan baik jika diberi sinyal PWM dengan frekuensi 50 Hz
pada pin kontrolnya. Bila sinyal dengan frekuensi 50 Hz dicapai pada kondisi Ton duty
cycle 1,5 ms, maka motor akan berhenti di tengah tengah atau pada sudut 0°. Pada saat Ton
duty cycle dari sinyal yang diberikan kurang dari 1,5 ms maka motor akan berputar
berlawanan arah jarum jam atau CCW dengan membentuk sudut yang besarnya linear
terhadap besarnya Ton duty cycle dan akan bertahan di posisi tersebut. Sebaliknya jika saat
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
11
Ton duty cycle dari sinyal yang diberikan lebih dari 1,5 ms maka motor akan berputar
searah jarum jam atau CW dengan membentuk sudut yang besarnya linear terhadap
besarnya Ton duty cycle dan akan bertahan di posisi tersebut.
2.4.Motor Stepper
Motor stepper adalah perangkat elektromekanis yang bekerja dengan mengubah pulsa
elektronis menjadi gerakan mekanis diskrit. Motor stepper bergerak berdasarkan urutan
pulsa yang diberikan kepada motor. Karena itu, untuk menggerakkan motor stepper
diperlukan pengendali motor stepper yang membangkitkan pulsa-pulsa periodik.
Penggunaan motor stepper memiliki beberapa keunggulan dari motor stepper adalah sudut
rotasi motor proporsional dengan pulsa masukan sehingga lebih mudah diatur. Kemudian
motor dapat langsung memberikan torsi penuh pada saat mulai bergerak. Posisi dan
pergerakan repetisinya dapat ditentukan secara presisi. Kemudian sangat realibel karena
tidak adanya sikat yang bersentuhan dengan rotor seperti pada motor DC. Frekuensi
perputaran dapat ditentukan secara bebas dan mudah pada range yang luas.
Motor stepper memiliki 3 jenis yaitu tipe Variable reluctance ( VR ) lalu tipe
permanent magnet ( PM ) dan tipe Hybird ( HB ). Pada tipe Variable reluctance motor
stepper 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.
Gambar 2.5. adalah penampang melintang dari motor stepper tipe variable reluctance (VR):
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
12
Gambar 2.5. Penampang Melintang Dari motor stepper tipe variable reluctance
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.6). 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
putarannya.
Gambar 2.6. Motor Stepper Tipe Permanent Magnet
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
13
Motor stepper tipe hybird memiliki struktur yang merupakan kombinasi dari kedua
tipe motor stepper sebelumnya. Motor stepper tipe hybird memiliki gigi-gigi seperti pada
motor tipe VR dan juga memiliki magnet permanen yang tersusun secara axial pada batang
porosnya seperti motor tipe PM. Motor tipe ini paling banyak digunkan dalam berbagai
aplikasi karena kinerja lebih baik. Motor tipe hybird dapat menghasilkan resolusi langkah
yang tinggi yaitu antara 3,60 hingga 0,90 per langkah atau 100-400 langkah setiap
putarannya. Pada gambar 2.7 ditunjukan gambar dari penampang motor stepper tipe hybird
Gambar 2.7. Penampang Melintang Dari Motor Stepper Tipe Hybird
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 ground pada salah satu terminal lilitan motor
sementara terminal lainnya dicatu dengan tegangan positif konstan (VM) pada bagian
tengah (center tap) dari lilitan gambar 2.8 adalah tipe unipolar.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
14
Gambar 2.8. 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 terlihat
pada gambar 2.9. 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. [9]
Gambar 2.9 Motor Stepper Dengan Lilitan Bipolar
Motor stepper yang digunakan adalah tipe hybrid yaitu 8-42mm nema 17-2 phase
hybird stepper motor motor stepper ini memiliki spesifikasi sebagai berikut. Memiliki step
angel sebesar 1,8° dengan voltase 2,8 V dan arus 1,68 A memiliki holding torque sebesar
4,4 Kg.cm dengan berat 0,34 Kg. Dari spesifikasi yang sudah ada maka beban yang dapat
diangkat oleh satu buah motor stepper adalah idealnya 4,4 Kg.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
15
Motor stepper juga memiliki beberapa kelemahan dibanding motor servo, yaitu
memiliki tingkat kebisingan yang sedikit lebih banyak daripada servo. Kemudian
kecepatan motor stepper juga lebih lambat dibandingkan motor servo, yaitu berkisar antara
1000 hingga 2000 rpm maksimal. Motor stepper juga menggunakan sistem open loop yaitu
tidak adanya feedback sehingga harus diberi sensor tambahan agar dapat kembali ke posisi
home.
Gambar 2.10. Gambar Motor Stepper 8-42mm Nema 17-2 Phase Hybird
Pada dasarnya motor stepper bergerak karena adanya pulsa masukan dari driver
stepper
Masukan pulsa dari driver sekuensial dalam bentuk 4 stage yaitu A ke B ke C ke D dan
kembali ke A lagi.
Setiap satu sekuensial pulsa maka akan membuat motor stepper bergerak. Setiap
pengulangan 100 ms dalam satu detik maka stepper bergerak lambat dan jika setiap
pengulangan 500ms dalam satu detik maka akan semakin lambat.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
16
2.5. Torsi
Perhitungan Torsi bergantung pada panjangnya Link dari lengan robot dan berat
bebannya.Torsi didefinisikan sebagai mengubah atau memutar kekuatan dan dihitung
menggunakan rumus :
(L)lengan Panjang)()( FGayaTorsi
LF (2-1)
Dimana F merupakan gaya berat ( W )
mxaF (2-2)
gmW (2-3)
Sehingga.
Lgm (2-4)
Kecepatan tergantung pada model dan spesifikasi dari motor servo dan stepper.
Semakin besar daya yang akan digunakan akan mampu mengangkat beban dengan cepat,
kekuatan dari motor servo dan stepper juga mempengaruhi berat beban yang bisa
diangkatnya. Semakin besar kekuatan servo dan stepper maka semakin besar juga berat
beban yang dapat diangkat. Sehingga hasil dari perhitungan torsi akan membantu dalam
pemilihan motor servo dan motor stepper yang nantinya akan digunakan [10]
2.6. Gy-4988 A4988 Stepper Motor Driver Module
Gambar 2.11. Modul Driver Motor Stepper
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
17
Gy-4988 A4988 Stepper Motor Driver Module seperti yang ditunjukan gambar 2.11.
adalah modul penggerak yang digunakan untuk menggendalikan motor stepper mulai dari
full step, half step, 1/4 step, 1/8 step, dan 1/16 step. Kapasitan output driver bisa sampai
35V dan 2A. Karena dapat melakukan hingga 1/16 step maka ketelitian setiap step makin
bertambah. Driver ini memiliki internal sircuit protection meliputi thermal shutdown,
undervoltage lockout (UVLO) dan crossover-current protection. Sehingga menambah
keamanan pada driver motor stepper ini [11]
2.7. Kinematika
Fu, K. S.,R. C. Gonzales,C. S. G. Lee (1987). Robotics: Control, Sensing, Vision, and
Intellegence, 1st edition mengatakan bahwa “kinematika adalah ilmu tentang gerak tanpa
memperhatikan penyebab 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 masing masing joint, posisi, serta orientasi dari end-effector pada lengan robot”.
Pada kinematika terdapat dua dasar yaitu direct atau forward kinematics. Dan yang kedua
adalah invers kinematik atau arm solution. Yang nantinya akan sering digunakan dalam
perancangan lengan robot [12]. Karena Fokus utama inverse kinematik adalah bagaimana
end-effector dapat mencapai posisi objek dengan dengan baik berdasarkan peletakan
referensi koordinat frame yang sudah ditentukan [13]. Dengan menggunakan ilmu
geometri dan hukum dari trigonometri maka permasalahan pada inverse kinematik dapat
diselesaikan seperti pada gambar 2.12.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
18
Gambar 2.12. Sudut Joint
Untuk mencari өi bisa menggunakan ilmu geometri seperti dibawah ini
222sin
PzPyPxPzi
(2-5)
222
22
cosPzPyPx
PyPxi
(2-6)
)cossin(tan 1
iii (2-7)
Dengan menggunakan pendekatan geometri dapat menyelesaikan permasalahan
inverse kinematic. Dengan metode geometri dan memasukan area kerja dari lengan robot
maka dapat dibuat permodelan joint dan link robot yang nantinya akan digunakan untuk
bangun geometri sederhana seperti lingkaran. Tetapi untuk untuk struktur joint yang lebih
kompleks maka tidak dapat menggunakan metode ini [13]. Dari buku Endra Pitowarno,
(2006), Robotika Desain, Kontrol dan Kecerdasan Buatan mengatakan bahwa “analisis
persamaan kinematik dapat diselesaikan dengan cara yang paling dasar yaitu menggunakan
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
19
persamaan trigonometri. Setiap komponen dalam koordinat (X,Y,Z) dinyatakan sebagai
transformasi dari tiap - tiap komponen ruang sendi (r,ө). Jari - jari r dalam persamaan
sering ditulis sebagai panjang lengan atau link [1].
Endra Pitowarno dalam menganalisis permasalahan inverse kinematic menggunakan
metode geometri. Karena pendekatan geometri dapat digunakan untuk analisis lengan
robot satu sendi hingga tiga sendi
Kinematik Lengan Robot Satu Sendi
Gambar 2.13. Konfigurasi Lengan Robot Satu Sendi
Persamaan inverse kinematic dari lengan robot satu sendi pada gambar diselesaikan
dengan menentukan kedudukan ujung lengan P(x,y) dahulu sehingga besaran sudut ө dapat
dihitung dengan cara [1]
)(tan 1
xy (2-8)
Kinematik Lengan Robot Dua Sendi.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
20
Gambar 2.14. Konfigurasi Lengan Robot Dua Sendi
Inverse kinematic lengan robot dua sendi pada gambar dapat dijabarkan menggunakan
hukum identitas trigonometri secara forward kinematic [1]
)cos(cos 21211 llx (2-9)
)sin(sin 21211 lly (2-10)
Identitas trigonometri
)sin()sin()cos()cos()cos( bababa (2-11)
)cos()sin()cos()sin()sin( abbaba (2-12)
Persamaan (1) dan persamaan (2) dapat ditulis kembali
)sin()sin()cos()cos()cos( 21221211 lllx (2-13)
)sin()cos()cos()sin()sin( 21221211 llly (2-14)
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
21
Dari persamaan diatas dapat dicari 2 dengan mengeluarkan 2cos dari kedua
persamaan dengan operasi pangkat dua pada keduanya sehingga didapat [1]
21
22
21
22
2 2cos
yx (2-15)
Sehingga
)2
(cos21
22
21
221
2
yx (2-16)
Lalu sudut 1 didapat dari,
222
22
cossintan
lll
dan
xy
tan (2-17)
Sedangkan
a 1 (2-18)
Dengan menggunakan identitas trigonometri
)tan()tan(1)tan()tan()tan(bababa
(2-19)
Didapatkan
)sin.)cos(sin.)cos((tan
22221
222211
lyllxlxlly
(2-20)
Sehingga 1 dapat dihitung
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
22
)sin.)cos(sin.)cos(tan(
22221
222211
lyllxlxlly
(2-21)
Dengan penjabaran trigonometri maka persamaan dan merupakan persamaan dari
inverse kinematics lengan robot dua sendi
)( 321 (2-22)
Perhitungan Gir Reduksi
Untuk memperringan dari kerja motor stepper kita bisa menggunakan berbagai macam
cara, salahsatunya adalah dengan cara mereduksi beban dengan gir atau roda gigi, dimana
dalam penggunaanya harus memiliki minimal dua buah roda gigi. Roda gigi yang pertama
nantiya akan diletakan pada beban dan roda gigi kedua akan diletakan pada penggerak.
Roda gigi yang menempel pada penggerak juga sering disebut driver gear atau gear pinion
dan roda gigi yang terdapat pada beban juga sering disebut driven gear atau spur gear.
perhitungan dari reduksi menggunakan dua buah roda gigi dapat dicari dengan cara
RatioGear GearSpur GearPinion
(2-23)
Artinya jika tanpa gir reduksi maka jika ingin memutar beban satu kali maka motor
juga harus berputar satu kali dan itu membebani kerja motor karena torsi yang dibutuhkan
juga besar. Akan tetapi jika menggunakan gir reduksi jika ingin memutar beban satu kali
maka motor akan berputar lebih dari satu kali, tergantung dari ratio gear yang digunakan
untuk mereduksi beban. Maka torsi yang dibutuhkan motor untuk memutar beban jauh
lebih ringan daripada tanpa menggunakan gir reduksi
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
23
BAB III
PERANCANGAN SISTEM
Bab ini menjelaskan mengenai perancangan prototype lengan robot dengan penggerak
motor stepper dengan 4 DOF yang dikendalikan oleh mikrokontroler Arduino Uno R3
berdasarkan masukan dari visual basic. Perancangan sistem ini ada dua bagian, yaitu
perangkat keras ( hardware ) dan perangkat lunak ( software ). Perancangan pada bab ini
dibagi menjadi dua bagian besar yaitu:
1. Perancangan Perangkat Keras
- Perancangan Mekanik Lengan Robot
- Perancangan Elektrik Sistem Pengendali
- Perancangan Homing sensor
2. Perancangan Perangkat Lunak Sederhana
- Perangkat lunak pengendali motor servo dan motor stepper dengan arduino IDE
3.1. Perancangan Perangkat KerasSecara garis besar perancangan sistem terdiri dari 2 bagian penting yaitu, perancangan
mekanik lengan robot dan perancangan rangkaian elektrik sistem pengendali. Pertama
adalah merancang blok diagram keseluruhan sistem, kemudian merancang lengan robot
secara matematis dengan menampilkan rancangan 3D dari lengan robot. Tujuannya adalah
agar pergerakan mekanik lengan robot dapat terukur dengan baik, dari jangkauan hingga
jarak berdasarkan dimensi. Yang ketiga adalah merancang rangkaian elektrik sebagai
sistem pengendali dari lengan robot, yang nantinya akan menggerakan motor servo dan
motor stepper sebagai keluarannya.
Pada bagian pertama diagram pada lengan robot akan dibuat meliputi beberapa
komponen yaitu, komponen penyusun masukan atau pengendali berupa mikrokontroler
ATMega 328 pada Arduino Uno R3. Kemudian pengendali dari motor servo dan motor
stepper, dan bagian keluaran yaitu motor servo dan motor stepper itu sendiri.
Pada bagian kedua adalah tentang perancangan dari lengan robot menggunakan
perhitungan kinematika berupa inverse kinematics. Kemudian desain mekanik lengan robot
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
24
yang menggunakan motor stepper dan motor servo secara lengkap.
Pada bagian ketiga adalah tentang perancangan sistem elektrik, yang digunakan untuk
mengendalikan lengan robot, yaitu berupa mikrontroler ATMega 328 yang terdapat pada
arduino Uno R3, pengendali motor servo dan motor stepper, dan output yang berupa motor
servo dan motor stepper
Gambar 3.1. Gambar Diagram Blok Perancangan Perangkat Keras
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
25
3.1.1. Perancangan Mekanik RobotSecara garis besar perancangan perangkat keras meliputi beberapa komponen utama
yaitu masukan dan keluaran. Dimana masukan disini menggunakan mikronontroler
ATMega 328 pada arduino Uno R3 dan nantinya diolah dan keluarannya adalah motor
servo dan motor stepper. Berdasarkan dari dua komponen utama tadi piranti pengendali
pada perangkat keras adalah mikrokontroler dan pengendali motor servo dan motor stepper.
Mikrokontroler sebagai pengendali pertama yang mengolah perintah yang telah
diprogram agar dapat terbaca oleh pengendali motor servo dan pengendali motor stepper.
Perintah akan diolah oleh mikrokontroler sehingga menjadi data - data berupa posisi
gerakan motor servo dan motor stepper. Setelah data diolah pada mikrokontroler maka data
tersebut akan dilanjutkan ke pengendali motor stepper atau driver motor stepper. Karena
untuk pengendalian motor servo tidak memerlukan driver tambahan maka motor servo
akan langsung terkoneksi pada mikrokontroler.
Untuk sumber tenaga pada servo akan dipisah dengan mikrokontroler sehingga tidak
membebani kerja dari mikrokontroler. Berbeda dengan servo. Motor stepper harus
menggunakan driver tambahan untuk membuatnya bekerja. Sehingga data dari
mikrokontoler tadi akan dikomunikasikan ke driver dari motor stepper, dan nantinya akan
diteruskan ke motor stepper sehingga motor stepper dapat bergerak.
Gambar 3.2. Blok Diagram Perangkat Keras
Gambar 3.2. Adalah gambaran diagram blok untuk perangkat keras. Berdasarkan dari
Gambar 3.2. Pengendali dari sistem perangkat keras adalah mikrokontroler arduino.
Mikrokontroler seagai pengendali bagian pertama, karena setelah dari mikrokontroler akan
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
26
di komunikasikan lagi ke pengendali dari motor stepper yaitu driver motor GY-4988.
Nantinya keluaran dari mikrokontroler adalah pulsa pulsa yang akan langsung dikirim
ke motor servo dari mikrokontroler secara langsung tanpa melalui driver, karena motor
servo disini sudah tidak membutuhkan driver lagi. Dan mikrokontroler juga akan
mengirimkan sejumlah data step yang nantinya akan diolah oleh driver motor stepper dan
akan dikirim ke motor stepper untuk dirubah menjadi sebuah gerakan yang sesuai dengan
jumlah step atau pulse yang dikirimkan oleh mikrokontroler.
Motor servo merupakan bagian keluaran atau output dari sistem lengan robot, motor
servo menggunakan masukan supply sebesar 5volt yang sudah diberikan secara tersendiri
dan tidak menggambil sumber dari mikrokontroler. Masukan motor servo yang berupa
pulsa pulsa akan diubah menjadi sebuah gerakan, motor servo berperan sebagai penggerak
pada lengan robot, lebih tepatnya untuk menggerakan bagian pergelangan atau pitch yang
tersambung pada bagian end effector yaitu bagian spidol atau alat tulis lainnya. Motor
servo hanya bergerak naik dan turun agar nantinya bagian end effector dapat bekerja
dengan baik
Pada lengan robot ini motor stepper berfungsi sebagai keluaran atau output yang
digunakan untuk menggerakan sendi atau joint pada bagian dasar atau base lalu pada
bagian bahu atau shoulder dan bagian siku atau elbow. Gerakan motor servo dan motor
stepper pada sistem lengan robot memungkinkan untuk lengan robot bergerak dengan 4
derajat kebebasan atau 4 DOF yaitu RRRR atau Rotation
3.1.1.1. Permodelan MekanikPada lengan robot ini memiliki 4 bagian utama sebagai aktuator yang akan
digerakan dengan motor servo dan motor stepper empat bagian penting itu berperan
sebagai penggerak dari penghubung atau link
Pada Gambar 3.3. Akan menampilkan keseluruhan desain perancangan mekanik
secara 3D lengan robot beserta empat bagian utama pada robot yang berperan sebagai
penghubung atau link yang meliputi :
1. Bagian dasar ( base )
2. Bagian bahu ( shoulder )
3. Bagian siku ( elbow)
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
27
4. Bagian pergelangan ( pitch )
5. Bagian end effector berupa spidol atau alat tulis lainnya ( pointer )
Gambar 3.3. Tampilan Desain 3D Lengan Robot
Pada bagian base atau dasar dibuat berbentuk lingkaran yang memiliki diameter 25 cm.
Base terhubung langsung dengan as dari motor stepper yang berada di bawah. Base, motor
stepper yang berada dibawah base berfungsi sebagai penggerak dari base tersebut.
Pergerakan base secara rotasi menyebabkan pergerakan pada lengan - lengan penghubung.
Bagian shoulder memiliki panjang 20 cm yang bergerak secara rotasi dan digerakan
menggunakan motor stepper. Kemudian panjang dari elbow adalah 15 cm dan bergerak
secara rotasi juga dan digerakan oleh motor stepper.
Pada bagian pitch memiliki panjang lengan 5 cm bergerak secara rotasi dan digerakan
menggunakan motor servo. Pada bagian ujung terdapat end effector berupa griper yang
disitu terdapat spidol atau alat tulis yang lain, panjang dari spidol tersebut secara
keseluruhan adalah 15 cm, namun yang yang dihitung adalah mulai dari ujung spidol
hingga batang spidol yang yang dicengkram oleh griper adalah 3 cm.
Keseluruhan dari lengan robot dari pangkal shoulder hingga pada ujung spidol adalah
43 cm. Besarnya dimensi berupa panjang link yang dimiliki lengan robot ini menentukan
kemampuan jangkau dari lengan robot ketika sedang melakukan gerakan.
Bagian yang berperan sebagai penggerak pada sendi atau joint yang terhubung dengan
motor stepper maupun motor servo ini bergerak secara rotasi yang menyebabkan terjadinya
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
28
perbedaan sudut pada setiap link dari titik acuan atau shoulder.
Gambar 3.4. Tampilan Posisi Motor Stepper Pada Desain Lengan Robot
Pada Gambar 3.4. Menampilkan penempatan posisi motor stepper pada rancangan
lengan robot
1. Bagian dasar atau base
2. Bagian lengan atau shoulder
3. Bagian siku atau elbow
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
29
Gambar 3.5. Tampilan Posisi Motor Servo Pada Desain 3D Lengan Robot
Gambar 3.5. Menujukan letak dari motor servo yang ditempatkan pada bagian siku
atau elbow motor servo disini bekerja sebagai penggerak dari bagian pitch atau bagian
pergelangan.
Bagian motor servo ditunjukan pada nomor satu..
pada perancangan lengan robot motor stepper dan motor servo yang digunakan pada
setiap joint, berdasarkan pada kemampuannya yang harus dimiliki setiap joint untuk
mengangkat beban. Beban dapat berupa lengan penghubung atau link dan benda yang
diangkat. Kemampuan motor dalam berputan dengan beban tersebut dinamakan torsi,
perkiraan beban pada perancangan lengan robot dapat dilihat pada keterangan penghubung
atau link seperti pada Tabel 3.1.
Tabel 3.1. Keterangan Lengan Penghubung (link)
No Link Panjang lengan Berat lengan Beban diangkat
1 Base 25 cm ( diameter ) 208 gr 208 gr
2 Shoulder 20 cm 135 gr 228 gr
3 Elbow 25 cm 75 gr 93 gr
4 Pitch 5 cm 8 gr 18 gr
5 Pointer 3 cm 10 gr 10 gr
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
30
Pada Tabel 3.1. Adalah perkiraan dari beban lengan yang merupakan total berat dari
material lengan tanpa terbeban dari motor stepper, karena motor stepper diletakan pada
base sehingga gerak lengan yang diangkat akan lebih ringan dan karena base ditumpu oleh
frame dasar dan diberi bearing pada setiap penyangga maka beban kerja dari motor stepper
penggerak base menjadi lebih ringan juga. Desain ini bertujuan agar kinerja motor stepper
tidak menjadi berat, sehingga saat pemilihan spesifikasi dari motor stepper tidak
diperlukan spesifikasi yang tinggi, sehingga biaya pembuatan juga bisa lebih menjadi
terjangkau.
Bahan utama dari setiap lengan pada lengan robot ini menggunakan bahan acrylic
yang ringan dam mudah dalam pembuatan bentuk dari setiap lengan.
Gambar 3.6. Tampilan End Effector Berupa Pointer Dengan Spidol
Pada Gambar 3.6. Menunjukan beban yang diangkat pada bagian pointer adalah spidol
atau alat tulis lainya yang ber ukuran sedang dan menurut Tabel 3.1. Beban pointer
memiliki berat sekitar 10 gram
Pada bagian pitch beban yang nantinya akan diangkat adalah sekitar 18 gram. Karena
selain mengangkat beban pada bagian pitch sekitar 8 gram juga mengangkat beban pointer
sekitar 10 gram, sehingga beban total dari bagian pitch adalah 18 gram . Serta panjang dari
pangkal pitch hingga pointer adalah 8 cm
Sehingga untuk perhitungan pemilihan kebutuhan torsi motor dari motor servo untuk
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
31
menggerakan bagian pitch berdasarkan persamaan (2-3) dan (2-4) :
Kg.cm 0,1472cm 8Kg 0,0184LWKg 0,0184N 18,0/ 10Kg 0,018
cm 8Kg 0,018gram 81m
2
smgmW
L
Pada bagian elbow beban yang harus diangkat adalah 93 gram, sedangkan panjang dari
pangkal elbow hingga ke ujung pointer adalah 33 cm maka kebutuhan torsi pada motor
stepper yang digunakan pada bagian elbow dapat dihitung menggunakan persamaan (2-3)
dan (2-4)
Kg.cm 3,128cm 33Kg 0,0948LWKg 0,0948N 93,0/ 10Kg 0,093
cm 33Kg 0,093gram 39m
2
smgmW
L
Karena pada bagian elbow menggunakan gir reduksi maka perhitungan ratio gear
dapat dihitung menggunakan rumus dari persamaan (2-23)
2:1 Gear Ratio21
11859
spurGear pinionGear Gear Ratio
118 spur Gear 59 pinion Gear
Karena ratio gear 1:2 , 1 adalah bagian elbow dan 2 adalah bagian motor stepper maka
perhitungan torsi menjadi :
cmkg.564,12128,3
Pada bagian shoulder beban yang harus diangkat motor stepper adalah 228 gram
sedangkan panjang dari pangkal shoulder hingga ujung pointer adalah 43 cm maka
kebutuhan dari torsi motor stepper dapat dihitung menggunakan rumus dari persamaan (2-
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
32
3) dan (2-4) sebagai berikut :
Kg.cm 804,9cm 34Kg 0,228LW0,228KgN 28,2/ 10Kg228,0
cm 43Kg 0,228gram 228m
2
smgmW
L
Karena pada bagian shoulder menggunakan gir reduksi maka perhitungan ratio gear
dapat dihitung menggunakan rumus dari persamaan (2-23)
3:1 Gear Ratio31
17759
spurGear pinionGear Gear Ratio
177 spur Gear 59 pinion Gear
Karena ratio gear 1:3 , 1 adalah bagian shoulder dan 3 adalah bagian motor stepper
maka perhitungan torsi menjadi :
cmkg.2,338,9
Beban maksimal yang bisa diangkat adalah
KgX
KgcmXKgX
KgKgKg
088,0
4,43
43).218,0(bebanBerat
218,0010,0228,0 beban tanpa
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
33
Gambar 3.7. Tampilan Sumbu Axis (X,Y,Z)
pada Gambar 3.7. Menunjukan tampilan sumbu koordinat dari lengan robot untuk
melakukan gerakan rotasi, yaitu rotasi terhadap sumbu X,Y dan Z. Pada base, rotasi yang
terjadi menimbulkan perubahan pada sumbu Y kemudian rotasi pada shoulder, pitch dan
elbow menimbulkan perubahan pada sumbu X dan Z. Keempat bagian itu tadi menunjukan
bahwa lengan robot ini memiliki 4 DOF atau 4 degree of freedom atau 4 derajat kebebasan.
Jarak antara base lengan robot hingga ke meja penggambar sekitar 5cm, jarak ini bisa
dipakai sebagai titik referensi untuk menggambar. Spesifikasi dari meja yang dipakai untuk
menggambar akan ditunjukan pada Gambar 3.8.
Gambar 3.8. Panjang Dan Lebar Dari Meja Gambar
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
34
3.1.1.2. Pemodelan Inverse Kinematics
Berdasarkan pemodelan mekanik dari lengan robot yang sebelumnya, maka
pemodelan kinematik dapat dibuat. Perbedaan dari masing masing lengan dan masing
masing sudut pada joint dapat dimanfaatkan pada sebuah model perhitungan pada inverse
kinematics untuk menentukan titik koordinat pada ujung end effector yaitu alat tulis spidol.
Pada lengan robot, pergerakan dari lengan dibatasi oleh maksimum sudut yang bisa dicapai
oleh motor stepper dan dari desain mekanik lengan robot. Pada Gambar 3.8. Memberikan
gambaran dari gerakan lengan robot untuk menentukan batas jangkauan lengan robot.
Batas gerakan joint lengan robot berdasarkan putaran motor servo ditetapkan pada Tabel
3.2
Gambar 3.9. Ilustrasi Batasan Pergerakan Link lengan robot dengan jangkauan
maksimal yang ditentukan
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
35
Tabel 3.2. Tabel Batasan Gerakan Lengan Robot Berdasarkan Putaran Motor Stepper Dan
Desain Lengan
No. Lengan Panjang (cm) Total Mak. Min.
1 Base - 180° 90° -90°
2 Shoulder 20 90° 90° -0°
3 Elbow 25 180° 90° -90°
4 Pitch 5 180° 90° -90°
5 Pointer 3 0° 0° 0°
Titik referensi dibutuhkan sebagai titik awal mulai membuat gambar pada area kerja.
Titik yang diperlukan pada gambar tergantung dari ukuran dimensi gambar. Rencana dari
gambar yang akan dibuat sebagai test pada lengan robot ini ada pada Gambar 3.10.
Gambar 3.10. Rencana Gambar Yang Digunakan Sebagai Test Dari Lengan Robot
Berdasar Gambar 3.10. Titik titik hitam adalah referensi saat membuat gambar dari
bidang yang diinginkan.
Contoh perhitungan dari inverse kinematics dengan metode geometri untuk mencari
sebuah titik. Pada perancangan lengan robot ini dilakukan perhitungan untuk mencari
sudut dan titikreferensi pada area kerja. Misalkan sudah diketahui di koordinat P (X,Y,Z)
adalah P (20,10,5) Gambar 3.11. Menunjukan posisi lengan robot ketikadari atas berdasar
sumbu X dan Y.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
36
Gambar 3.11. Lengan Robot Tampak Atas
Gambar 3.12. Penyederhanaan Gambar Lengan Robot Dengan Analisa Geometri Untuk
Mencari 1
Berdasarkan Gambar 3.12. Diketahui bahwa lengan robot memiliki spesifikasi yang
digunakan untuk analisa inverse kinematics dengan metode pendekatan geometris sebagai
berikut
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
37
alat tulis ujung sampai 3
2
1
pitchlBCelbowlABshoulderlOA
Pada pembahasan perancangan menurut Gambar 3.12. Panjang dari lengan 1l 2l dan 3l
tidak ditulis panjangnya karena mengukur inverse kinematics yang diperlukan adalah
posisi dari end effector lengan robot yang berada pada koordinat sumbu X dan Y dimana
C(Px,Py)
cmCDPycmODPx
1020
Dengan aturan segitiga siku - siku menggunakan trigonometri seperti pada persamaan
(2-8) sebagai berikut
565,26
)2010(tan
)(tan
1
11
11
PxPy
Dari hasil perhitungan, diperoleh sudut 1 pada koordinat sumbu X dan sumbu Y
sebesar 26,565° sehingga bagian base pada legnan robot akan berputar ke posisi sudut 1
sebesar 26,565°
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
38
Gambar 3.13. Lengan Robot Tampak Samping (X,Z)
Pada Gambar 3.13. Menunjukan Posisi lengan robot tampak samping yaitu pada
sumbu X dan Z sehingga panjang dari lengan yang digunakan berdasarkan dari Tabel 3.2.
Sebagai berikut
cmpitchcmelbow
cmShoulder
8pointer25
20
Gambar 3.14 Penyederhanaan Lengan Robot Tampak Samping Pada Sumbu X,Y,Z
Untuk Analisis Geometri
Berdasarkan Pada Gambar 3.13. Dan analisa geometri lengan robot seperti pada
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
39
Gambar 3.13. Diketahui bahwa
cmlspidolpitchBCcmlelbowABcmlshoulderOA
825
20
3
2
1
P(XY,Z) = posisi end effector pada sumbu (X,Y,Z) saat ujung spidol menempel pada
papan gambar
Gambar 3.15. Analisa Geometri Lengan Robot Untuk Mencari 2 dan 3
Perancangan lengan robot pada Gambar 3.15. Berdasarkan end effector di koordinat
),( ttt ZYXP yaitu P(20,5). Untuk mencari sudut ),,( 432 diperlukan analisis inverse
kinematics. Sebenarnya banyak solusi untuk menentukan titik akhir yang ditentukan
tergantung dari desain lengan robot. Sulosi pertama adalah menggunakan analisia pada
konfigurasi lengan robot 2 sendi dengan persamaan (2-16 dan (2-21) pertama dengan cara
menentukan posisi end effector pada lengan 2 )( 2l yaitu pada koordinat P(xy,z) penentuan
posisi lengan 2 diperlukan untuk mendapatkan sudut. Setelah didapat nilai dari sudut -
sudut joint maka selanjutnya dapat dilakukan solusi kedua yaitu dengan analisa sudut pada
konfigurasi langan robot 3 sendi menggunakan persamaan (2-22)
Solusi pertama:
cmBDcmOD
leffectorendPzxyP
515
pada koordinat )5,15(),( 2
Persamaan (2-16) digunakan mencari besaran sudut 3 , sedangkan persamaan (2-21)
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
40
digunakan untuk mencari besarnya sudut 2 . Jika persamaan (2-16) digunakan untuk
mencari besarya sudut 3 maka hasilnya :
80,140
)775,0(cos
)25.20.2
2520515(cos
)2
(cos
3
13
22221
3
21
22
21
221
3
ll
llzxy
Jadi besarnya sudut 3 yang terletak pada joint antara shoulder dan elbow adalah
sebesar 80,140 . Sehingga motor stepper akan berputar keposisi sudut 3 Berikutnya
mencari besarnya sudut 2 berdasarkan persamaan (2-21)
289.69
)645,2(tan
)80,140sin25.5)80,140cos2520(1580,140sin25.15)80,140cos2520(5(tan
)sin.)cos(sin.)cos((tan
2
12
12
32321
3232112
lzllxylxyllz
Jadi besarnya sudut 2 yang terletak pada joint antara base dan shoulder negatif
karena berada dibawah garis 0°, hasilnya sebesar -69,289°. Sehingga motor stepper pada
bagian shoulder akan berputar ke posisi sudut 2
Solusi Kedua:
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
41
Gambar 3.16. Analisa Geometri Lengan Robot untuk mencari 4
Berdasarkan Gambar 3.16. Analisa geometri inverse kinematics digunakan untuk
mencari besarnya sudut pada 4 dengan persamaan (2-22), sehingga yang diperlukan
terlebih dahulu adalah mencari sudut terbesar ditarik dari joint pada titik 0 menuju ke
setiap lengan ),,( 321 lll yang terdapat pada titik ABC. Sudut yang terbentuk yaitu sudut 2 ,
sudut a dan sudut . Pada Gambar 3.16. Sudut terbesar pada ujung lengan 2 )( 2l yang
terletak pada titik B
Pada analisis sebelumnya menurut Gambar 3.15. Posisi titik P sudah ditetapkan yang
berada di titik B yaitu pada koordinat (15,5) sehingga besar sudut dapat dicari dengan
persamaan (2-8)
434,18
)155(tan
)(tan
1
1
xyz
Setelah diperoleh besar sudut yaitu 18,434° maka penyelesaian dari inverse
kinematics dapat ditentukan menggunakan pencarian besar sudut 4 yang terdapat pada
joint antara bagian elbow dan pitch. Besarnya sudut sama dengan total sudut 432 ,,
sehingga diperoleh besarnya sudut berdasarkan pada Gambar 3.16. Dengan persamaan
(2-22) sebagai berikut
432
Sehingga dapat ditentukan besar sudut 4
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
42
077.53
)80,140289,69(434,18
)(
4
4
324
Jadi besarnya sudut 4 adalah sebesar -53,077°. Hasil yang didapat negatif karena
posisi sudut 4 berada dibawah garis 0° dan motor stepper pada bagian link di pitch akan
berputar ke posisi sudut 4
Gambar 3.17. Posisi Titik Referensi Yang Digunakan Untuk Menguji Lengan Robot
Pada Gambar 3.17. Menunjukan berbagai titik referensi yang digunakan dalam
menguji lengan robot ini. Pengujian menggunakan gambar kotak lingkaran segitiga dan
tanda tambah pada gambar kotak titik referensi berada pada ujung kiri atas dari gambar.
Titik ini digunakan sebagai awal pembuatan gambar, sedangkan pada gambar lingkaran
titik referensi berada pada jari - jari lingkaran yang dihitung dari pusat lingkaran. Pada
gambar segitiga sama sisi titik referensi berada pada ujung atas dari segitiga sama sisi.
Kemudian pada gambar tanda tambah memiliki dua titik referensi dikarenakan saat
penggambaran tanpa tambah, yang pertama dibuat adalah garis menurun kemudian ujung
alat tulis diangkat dan menuju titik referensi kedua untuk membuat garis mendatar. Jika
hanya memiliki satu garis referensi maka garis yang dilalui akan menjadi dua kali dan
menjadi tidak efisien.
Daerah kerja adalah didalam area kertas (30cm x 25cm). Untuk jangkauan lengan
sebenarnya bisa melebihi dari area kertas (30cm x 25cm) tetapi agar lebih aman maka
dibuat area kerja sebesar 25cm x 20cm pada area kertas (30cm x 25cm) yaitu memberi
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
43
jarak pada bagian kiri adalah 2,5cm pada bagian kanan 2,5cm kemudian pada bagian atas
dan bawah adalah 2,5cm
3.1.2. Perancangan Elektrik Sistem PengendaliPerancangan rangkaian elektrik sistem pengendali lengan robot berbasis motor stepper
dan motor servo terdiri dari beberapa bagian penyusun. Yaitu komponen masukan,
komponen pengendali dan komponen keluaran. Perangkat masukan berupa arduino UNO
dan kontroler berupa joystick, kemudian komponen pengendali adalah driver motor stepper
yaitu Gy-4988 A4988 Stepper Motor Driver Module, sedangkan untuk komponen keluaran
adalah motor stepper dan motor servo.
Joystick berfungsi sebagai masukan ke arduino yang nantinya akan dilanjutkan ke
kontroler driver stepper dan dilanjutkan ke motor stepper dan motor servo dalam bentuk
gerakan.
Gambar 3.18. Gambar Rangkaian Elektrik Sistem Pengendali
Keterangan Gambar 3.18.
1. Joystick
2. Arduino UNO R3
3. Gy-4988 A4988 Stepper Motor Driver Module
4. Motor stepper
5. Motor servo
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
44
3.1.3. Perancangan Homing Sensor
Homing sensor dibutuhkan karena motor stepper tidak memiliki control close loop
atau tidak adanya feedback dan memori posisi sehingga stepper tidak dapat kembali ke
posisi semula, maka dibutuhkan sensor untuk menuju posisi home
Gambar 3.19. Gambar sensor homing pada shoulder.
Keterangan dari gambar 3.19.
1. Trigger sensor 1
2. Trigger sensor 2
3. Sensor homing
4. Sensor warning
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
45
Gambar 3.20. Gambar Sensor Homing Pada Elbow
Keterangan dari gambar 3.20.
1. Trigger sensor 1
2. Trigger sensor 2
3. Sensor homing
4. Sensor warning
Pada bagian elbow hampir sama dengan shoulder. Trigger sensor diberikan pada roda
gigi
yang berputar lalu sensor akan diposisikan disamping dari roda gigi yang sudah diberi
trigger sensor. Sehingga saat posisi trigger sensor berada tepat didepan sensor, maka akan
mengaktifkan sensor homing dan sensor warning pada sistem
3.2. Perancangan Perangkat Lunak SederhanaDiagram Alir dari sistem perangkat lunak sederhana dapat dilihat pada Gambar 3.22.
Perangkat lunak yang digunakan adalah software arduino IDE sebagai mikrokontroler.
Dengan komunikasi serial menggunakan USB sebagai sarana pengirim program dari PC ke
arduino yang kemudian akan dilanjutkan ke driver motor stepper.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
46
Gambar 3.21. Diagram alir Sistem Perangkat Lunak Sederhana
3.2.1. Software pengendali motor servo dan stepper dengan arduino IDE
Gambar 3.22. Diagram Alir Sistem Pada Arduino IDE
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
47
Gambar 3.22. Merupakan perancangan program tester untuk melakukan test pada
lengan robot dengan cara menggambar bidang yang sudah ditentukan. Software Arduino
IDE digunakan untuk menuliskan program ke Arduino Uno R3 yang nantinya program
akan diolah dan dilanjutkan ke driver motor stepper untuk diubah menjadi gerakan.
Program yang nantinya akan dikirim ke Arduino sudah ada sebelumya, yaitu program yang
sudah diubah dari G-code menjadi Program arduino sehingga tinggal memanggil untuk
dijalankan.
Pemanggilan G-code yang sudah diubah menjadi program arduino dilakukan
menggunakan kontroler manual untuk pengujiannya, kontroler disini mempergunakan
sebuah joystick yang sudah diubah menjadi kontroler untuk disambungkan ke arduino,
yang nantinya akan digunakan untuk memanggil program yang sudah ada.
Gambar 3.23. Gambar Konfigurasi Kontroler
Pada gambar 3.23. Ditampilkan konfigurasi dari kontroler yang akan digunakan.
Joystick akan dihubungkan ke arduino sebagai masukan yang nantinya akan memanggil
program yang akan dijalankan. Kemudian driver akan menerima perintah dari arduino dan
akan diteruskan ke motor stepper dan diubah menjadi gerakan yang. Contoh program ada
pada lampiran.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
48
BAB IV
HASIL DAN PEMBAHASAN
Bab ini menjelaskan tentang pengamatan dan implementasi dari lengan robot dengan
penggerak motor stepper menggunakan mikrokontroler arduino Uno R3. Hasil
implementasi dan pembahasan akan dibagi menjadi dua topik, yaitu hasil pengujian
aktuator atau penggerak dan perangkat lunak ( source code arduino ), kemudian hasil
perancangan pada perangkat keras dan hasil dari pengamatan berupa pengujian dengan
menggunakan kontroler
4.1. HASIL PENGUJIAN PENGGERAKPada pengujian penggerak akan menjelaskan tentang penggunaan software arduino IDE
yang dikoneksikan menggunakan kabel USB ke PC. Pada PC aplikasi yang digunakan untuk
memprogram arduino adalah aplikasi arduino IDE, data akan dikirim ke mikrokontroler
arduino secara serial yaitu berupa data pulsa - pulsa digital yang dapat menggerakan motor
stepper dan juga motor servo. Secara keseluruhan hasil dari pengujian penggerak ini
memiliki beberapa tahap yaitu pencocokan antara driver motor stepper yang digunakan
untuk menggerakan motor stepper, penyesuaian source code arduino dengan gerakan yang
akan dipakai.
Kendala yang muncul adalah cara penyesuaian driver motor stepper yang digunakan
dengan motor stepper yang digunakan, penyesuaian yang dilakukan adalah dengan
membatasi atau mencari arus keluaran yang pas dengan spesifikasi motor stepper yang
digunakan agar nantinya motor stepper tidak kekurangan tenaga ataupun kelebihan tenaga,
yang nantinya akan membuat motor stepper tidak dapat bergerak atau malah rusak akibat
arus yang keluar dari driver motor stepper berlebih.
Pada bagian ini faktor utamanya adalah bagaimana menggerakan bagian penggerak
atau aktuator pada lengan robot dengan penggerak motor stepper dan motor servo
sehingga nantinya program yang sudah dibuat dan nantinya akan diisikan kedalam
mikrokontroler arduino bisa berjalan sesuai apa yang diinginkan.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
49
4.1.1. Pembahasan Pada Program Perangkat Lunak Arduino IDEPada penelitian dengan sistem lengan robot dengan penggerak motor stepper dan
motor servo, program perangkat lunak arduino IDE digunakan untuk menulis program,
pembacaan data serial dilakukan dari perangkat lunak arduino IDE yang akan dikirimkan ke
mikrokontroler arduino. Pengiriman berupa data pulsa - pulsa digital ke mikrokontroler
arduino dan nantinya akan diolah dan dikirimkan lagi ke driver motor stepper untuk
menggerakan motor stepper. Program yang ditulis pada perangkat lunak arduino IDE selain
pembacaan dan pengiriman data adalah program untuk mengatur kecepatan motor stepper,
kemudian step yang digunakan yang mempengaruhi berapa derajat yang dibuat dalam satu
step, karena motor stepper dapat menghasilkan step dari full step yang memiliki derajat
1,8° dalam setiap stepnya, kemudian ada half step yaitu setengah dari full step, 1/4 step
yaitu setengah dari half step, 1/8 step yaitu setengah dari 1/4 step, 1/16 step yaitu setengah
dari 1/8 step, dan terakhir 1/32 step yaitu setengah dari 1/16 step. Karena driver motor
stepper yang digunakan bisa mencapai 1/32 step maka nantinya yang akan digunakan
adalah 1/32 step sehingga pergerakan akan bisa lebih teliti. Gambar 4.1. Merupakan
tampilan umum dari perangkat lunak arduino IDE yang akan digunakan dalam menulis
program pada mikrokontroler arduino Uno R3
Gambar 4.1. Gambar Tampilan Perangkat Lunak Arduino IDE
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
50
Sebelum melakukan penulisan program utama untuk menjalankan sistem. Seluruh
dungsi dan variable yang digunakan dalam proses pengoperasian program harus
dideklarasikan terlebih dahulu. Pendefinisian fungsi dan variable pada sistem lengan robot
dengan penggerak motor stepper dan motor servo ini merupakan program inisiasi. Inisiasi
pada sistem adalah inisiasi untuk library motor servo dan driver motor stepper yang akan
digunakan. Inisiasi batasan mapping pulsa pulsa digital yang dapat dibaca motor servo dan
driver motor stepper.
Gambar 4.2. di bawah ini adalah contoh dari program untuk menggerakan motor stepper
dengan konfigurasi full step dan berputar searah jarum jam sebanyak 200 step.
Gambar 4.2. Contoh Program Full Step
Dari percobaan yang dilakukan berhasil membuat motor stepper berputar searah jarum jam
sebanyak 200 kali dengan radius setiap step adalah 1,8° pada titik pusatnya. Dari hasil
yang diamati maka untuk motor stepper dapat berputar satu putaran penuh adalah 200 step
jika menggunakan konfigurasi full step.
Pada Gambar 4.3 konfigurasi yang digunakan adalah 1/32 step
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
51
Gambar 4.3 Konfigurasi Untuk 1/32 step
Pada gambar 4.3 konfigurasi yang digunakan adalah 1/32 step yaitu masukan sinyal pada
pin MS1 dikondisikan HIGH, masukan sinyal pada MS2 dikondisikan HIGH dan masukan
sinyal pada MS3 juga dikondisikan HIGH sehingga jika setiap step pada konfigurasi full
step adalah 1,8° maka setiap step pada konfigurasi 1/32 step adalah 0,05625° sehingga
untuk membuat motor stepper dapat berputar satu putaran penuh, pada konfigurasi 1/32
step membutuhkan 6400 step. pada driver DRV8825 untuk mengubah konfigurasi dari step
yang digunakan adalah dengan mengubah masukan sinyal pada MS1 MS2 dan MS3
dengan masukan sinyal high atau low, maka terdapat sembilan konfigurasi masukan high
dan low pada pin MS1 MS2 dan MS3. Pada tabel 4.1 di tunjukan konfigurasi dari sinyal
masukan untuk MS1 MS2 dan MS3 dari full step hingga 1/32 step
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
52
Tabel 4.1 Konfigurasi Masukan sinyal MS1 MS2 dan MS3
M0/MS1 M1/MS2 M2/MS3 Mikrostep
Low Low Low Full step
High Low Low Half step
Low High Low 1/4 step
High High Low 1/8 step
Low Low High 1/16 step
High Low High 1/32 step
Low High High 1/32 step
High High High 1/32 step
Penempatan kontroler joystick pada arduino adalah pada pin analog 0 (A0) analog 1
(A1) dan analog 2 (A2) pada masing masing pin analog telah dihubungkan ke kontroler
sebagai berikut, untuk sudut X maka pin kontroler X dihubungkan ke pin analog 0 (A0)
pada arduino, kemudian untuk sudut Y maka pin kontroler Y dihubungkan ke pin analog 1
(A1) Pada arduino sedangkan untuk sudut Z maka pin kontroler Z dihubungkan ke pin
analog 2 (A2) pada arduino. Karena pada satu controler hanya terdapat 2 pin analog yaitu
Pin X dan Y maka kontroler yang digunakan ada 2 buah kontroler joystick pada kontroler
pertama akan digunakan sebagai sudut X dan sudut Y sedangkan pada kontroler kedua pin
X akan digunakan sebagai sudut Z. Pada gambar 4.4 adalah konfigurasi dari kontroler
joystick pada arduino
Gambar 4.4 konfigurasi kontroler pada arduino
Pada gambar 4.5 akan ditunjukan konfigurasi dari pin MS1 MS2 dan MS3 pada
arduino.
Karena ketiga driver motor stepper menggunakan konfigurasi yang sama yaitu konfigurasi
1/32 step maka untuk MS1 pada ketiga driver dijadikan satu yaitu pada pin 5 pada arduino,
kemudian untuk MS2 pada ketiga driver dijadikan satu yaitu pada pin 4 pada arduino,
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
53
sedangkan untuk MS3 pada ketiga driver juga dijadikan satu yaitu pada pin 6 pada arduino
sehingga lebih hemat dalam penggunaan pin pada arduino. Karena pin pada arduino hanya
terbatas pada pin digital sebanyak 13 pin dan analog sebanyak 8 pin
Gambar 4.5 konfigurasi dari MS1 MS2 dan MS3 pada pin arduino
Pada gambar 4.6 adalah konfigurasi untuk pin direction pin step dan pin sleep untuk
ketiga driver stepper, untuk driver pertama pin direction dihubungkan ke pin digital 2
sedangkan pin step pada driver pertama dihubungkan ke pin digital 3 dan pin sleep pada
driver pertama dihubungkan ke pin digital 7. Konfigurasi untuk driver kedua adalah pada
pin direction driver kedua dihubungkan ke pin digital 9 kemudian pin step pada driver
kedua dihubungkan ke pin digital 8 dan pin sleep pada driver kedua dihubungkan ke pin
digital 10. Kemudian untuk konfigurasi untuk driver ketiga adalah pada pin direction driver
ketiga dihubungkan ke pin digital 12 kemudian untuk pin step pada driver ketiga
dihubungkan ke pin digital 11 sedangkan untuk pin sleep pada driver ketiga dihubungkan
ke pin digital 13.
Gambar 4.6 konfigurasi pin direction, step dan sleep ketiga driver
Untuk program utama pada gambar 4.7 diperlihatkan inputan yang diberikan berupa
pembacaan nilai analog dari kontroler joystick yaitu antara 0 sampai 1023. Untuk
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
54
menggerakan motor stepper maka dibuat jika nilai analog kurang dari 300 maka motor
akan berputar CW dan jika joystick dilepas maka motor akan berhenti berputar. Dan jika
nilai analog diatas 400 maka motor stepper akan berputar CCW.
Gambar 4.7 program utama penggerak motor stepper
4.2. HASIL PERANCANGAN PERANGKAT KERASPada hasil perancangan perangkat keras akan menjelaskan tentang bentuk mekanik
sesungguhnya sistem lengan robot, komponen elektrik sistem lengan robot dan pengujian
gerakan mekanik lengan robot. Bentuk mekanik meliputi tampilan dari keseluruhan lengan
robot yaitu lengan - lengan (link), posisi motor stepper dan posisi joint sebagai sendinya,
kemudian posisi gerakan lengan robot berdasarkan sudut sudutnya. Sedangkan pada
komponen elektrik adalah menunjukan komponen komponen pengendali dari motor
stepper
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
55
4.2.1. Bentuk Mekanik sistem Lengan Robot
Gambar 4.8 Bentuk Mekanik Lengan Robot
Pada gambar 4.8 ditunjukan bahwa posisi servo yang tadinya digunakan sebagai
penggerak pointer ataru alat tulis sudah dihilangkan dan tidak digunakan kembali,
penghilangan dari motor servo ditujukan agar menghemat pin output dari arduino dan agar
lebih mudah dalam pembuatan lengan robot. Penghilangan motor servo juga dinilai lebih
menguntungkan dari segi pergerakan. Keberadaan motor servo telah digantikan dengan
sistem mekanik yang nantinya akan membuat pointer atau alat tulis dapat berada pada
sudut kemiringan 0° walaupun lengan bergerak naik maupun turun, sehingga nantinya
pointer atau alat tulis dapa bekerja secara maksimal.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
56
Gambar 4.9 Bentuk Mekanik Lengan (link)
Gambar 4.9 merupakan bentuk mekanik lengan (link) dari perancangan desain 3D
lengan robot. Lengan robot terdiri dari Base, Shoulder, Elbow dan Pitch atau pointer atau
alat tulis. Bagian Shoulder digerakan menggunakan motor stepper yang dihubungkan
menggunakan roda gigi. Agar beban yang ditanggung oleh motor stepper menjadi lebih
ringan, dibanding tidak menggunakan roda gigi atau secara langsung. Bagian Elbow juga
digerakan menggunakan motor stepper yang telah diberi roda gigi agar lebih meringankan
beban dari motor stepper. Bagian Pitch menggunakan pointer berupa spidol dengan
diameter spidol kurang lebih satu centimeter. Tabel 4.2 menunjukan spesifikasi lengan
aktual pada mekanik lengan robot (link) yang sudah sesuai dengan perancangan mekanik
pada Bab III
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
57
Tabel 4.2 Spesifikasi link Lengan Robot
No Lengan Penghubung (link) Panjang lengan
1 Base 25 cm ( diameter )
2 Shoulder 20 cm
3 Elbow 25 cm
4 Pitch 5 cm
Gambar 4.10 Posisi motor stepper sebagai penggerak lengan robot
Keterangan :
1. Motor Shoulder 4,4Kg.cm ( 2,8 volt )
2. Motor Elbow 4,4Kg.cm ( 2,8 volt )
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
58
Gambar 4.11 posisi motor stepper penggerak Base
Keterangan
3. Motor Base 4,4Kg.cm ( 2,8 volt )
Posisi motor stepper secara mekanik ditampilkan pada gambar 4.10 dan gambar 4.11
digunakan sebagai komponen penggerak dari lengan robot. Seluruh penggerak dari lengan
robot menggunakan motor stepper yang memiliki holding torsi 4,4 Kg.cm dan kemudian
ditambahkan roda gigi untuk mereduksi beban dari lengan robot. Pergerakan motor stepper
pada Base menimbulkan pergerakan pada sumbu X sedangkan untuk pergerakan motor
stepper pada bagian Shoulder dan elbow menimbulkan pergerakan pada sumbu Y dan Z.
Pemilihan dari motor stepper ini sesuai dengan perancangan yang terdapat pada Bab III
dikarenakan beban dari lengan robot tidak melebihi dari 4 KG per bagian, kecuali pada
bagian Shoulder yaitu lebih besar dari 4 Kg.cm sehingga digunakan roda gigi dengan
perhitungan yang sudah ditentukan pada bab III untuk memperkecil beban yang
ditanggung oleh motor stepper
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
59
4.2.2. Komponen Elektrik Sistem Lengan Robot
Gambar 4.12 Gambar rangkaian elektrik
Rangkaian elektrik sistem pengendali lengan robot ditunjukan pada gambar 4.12
Rangkaian elektrik sistem pengendali lengan robot terdiri dari
1. Board arduino uno ( mikrokontroler )
2. Kabel USB ( sebagai komunikasi antara arduino dengan PC)
3. driver motor servo DRV8825
4. Modul joystick
5. Motor stepper
Mikrokontroler arduino melakukan komunikasi ke PC melalui kabel USB. Kabel USB
juga digunakan unuk mengirim program dari PC ( arduino IDE) ke mikrokontroler arduino,
mikrokontroler arduino akan memberikan perintah kepada driver DRV8825 melalui pin
direction dan step agar motor stepper dapat bergerak. Pergerakan dari motor stepper akan
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
60
ditentukan oleh modul joystick yang di hubungkan ke arduino
4.2.3. Pengujian Gerak Mekanik Lengan RobotPengujian gerakan mekanik lengan robot bertujuan untuk menguji apakah data
masukan dari modul joystick pada arduino dapat menggerakan motor stepper, kemudian
pengujian ini juga bertujuan untuk membuktikan apakah gerakan dari lengan robot yang
telah dibuat sudah sesuai dengan apa yang diharapkan Data yang diperoleh dari
perancangan dan hasil pengamatan sudut sudut joint dengan busur derajat dihitung nilai
maksimum dan minimumnya untuk mengetahui besarnya perbedaan yang terjadi antara
nilai sudut perancangan dengan nilai sudut aktual
Gambar 4.13 Cara Pengukuran Sudut joint Menggunakan Busur Derajat
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
61
Tabel 4.3 Hasil Pengujian Area Kerja Dari Setiap Lengan
joint Sudut
perancanga
n
Minimum maksimum Area
Kerja
Keterangan
Base 70° 70° 115° 45° Kabel terlalu
pendek sehingga
mempengaruhi
area kerja
Shoulder 87° 25° 120° 95° Sudah sesuai
dengan
perancangan
Elbow 150° 140° 240° 100° Area kerja
dipengaruhi
adanya pambatas
pada lengan
Shoulder
Pitch 0° 0° 0° 0° Sudah sesuai
perancangan
Dari tabel 4.3 terlihat nilai area kerja yang muncul sedikit berbeda dengan
perancangan, dikarenakan keterbatasan alat, kabel yang menguhungkan motor stepper
dengan driver tidak panjang, sehingga saat Base diputar kabel yang terdapat pada motor
stepper menghalangi putaran Base, yang mengakibatkan putaran Base tidak sesuai
dengan perancangan, adanya akrilik yang digunakan sebagai penguat lengan robot juga
membatasi pergerakan, sehingga saat Elbow bergerak ke sudut minimum tertahan oleh
penguat yang terdapat pada Shoulder
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
62
4.2.4. Pengujian RepeatabilityPada percobaan ini lengan robot akan diuji tingkat Repeatability atau tingkat ketepatan
saat dilakukan pergerakan yang berulang - ulang, percobaan ini melibatkan pergerakan dari
sumbu X dan sumbu Y, percobaan yang dilakukan adalah membuat garis yang sama dan
diulang sebanyak 10 kali dan akan diamati tingkat ketepatannya apakan jika dilakukan
pergerakan berulang - ulang hasilnya tetap sama. Pada gambar 4.14 ditunjukan hasil dari
percobaan
Gambar 4.14 Hasil Pengujian Repeatability
Tingkat kesalahan yang terjadi pada percobaan repeatability bisa dibilang kecil, pada
tabel 4.4 terlihat berapa jarak antar garis yang terjadi dari sepuluh kali percobaan
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
63
Tabel 4.4 Hasil Pada Pengujian Repeatabilitas
No Sumbu Banyak garis yang dibuat Jarak antar garis
1 X 10 garis 1 mm
2 Y 10 garis 2mm
Dari tabel 4.4 dapat disimpulkan bahwa masih terdapat jarak pada setiap pembuatan
garis, namun jarak yang terdapat pada percobaan ini berkisar 1-2 mm, ini disebabkan
karena gear yang terdapat pada motor stepper dan lengan robot masih ada sedikit jarak
speleng dan belum presisi sehingga saat lengan robot membuat garis masih ada jarak
antara garis yang dibuat. Namun jarak yang terjadi hanya saat garis pertama dibuat. Saat
pengulangan kedua hingga kesepuluh jarak yang tadinya ada pada garis pertama dan
kedua sudah berkurang bahkan tidak ada
4.3. Hasil Pengujian Gambar Bidang Dua DimensiPada pengujian gambar bidang 2D akan menjelaskan hasil dari pengamatan berupa
bentuk dari bidang yang dibuat, bidang 2D yang akan dibuat berupa gambar kotak,
lingkaran, segitiga dan tanda tambah. Masukan yang digunakan adalah secara manual atau
menggunakan modul joystick, hasil dari pengujian gambar bidang dua dimensi ini masih
jauh dari kata sempurna, arena masih belum dapat membentuk garis miring dan garis
radius dengan baik
4.3.1. Analisa Hasil Gambar KotakHasil gambar kotak yang dilakukan dengan sistem lengan robot ini sudah sesuai
dengan perancangannya namun masih jauh dari kata sempurna cara menggambar lengan
robot ini masih manual dengan input yang diberikan dari modul joystick dengan
menghubungkan titik poin dari gambar dua dimensi. Gambar 4.15 menunjukan hasil
gambar dari lengan robot
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
64
Gambar 4.15 Gambar Kotak dari Gerakan Lengan Robot
Parameter ukuran dimensi pada bidang kotak ada pada gambar 4.15 merupakan
parameter sisi yang sudah ditentukan, sisi yang sudah ditentukan bervariasi yaitu 2cm, 5cm
dan 10 cm . Berdasarkan gambar 4.15 dapat dilihat bahwa hasil dari gambar aktual
nilainya bervariasi dan tidak sama antara keempat sisi gambar kotak. Karena
penggambaran masih manual sehingga hasil gambar juga tergantung dari masukan yang
kita berikan melalui modul joystick, Masukan juga terpengaruh dengan speleng putaran
motor stepper secara mekanik, kemudian ada beberapa joint yang masih kurang presisi
sehingga mempengaruhi dari pergerakan lengan robot. Berdasarkan hasil dari pengamatan
pada gambar kotak lengan robot sudah dapat menggambar bidang kotak, namun masih
belum sempurna
4.3.2. Analisa Hasil Gambar SegitigaHasil gambar sigitiga yang dilakukan dengan sistem lengan robot ini sudah sesuai
perancangan namun masih jauh dari kata sempurna. Pembuatan gambar bidang segitiga
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
65
dilakukan dengan menggabungkan titik - titik yang sudah ada menjadi gambar bidang
segitiga, titik - titik yang sudah ditentukan memiliki jarak bervariasi yaitu 2 cm, 5 cm dan
10 cm. Gambar 4.16 merupakan hasil gambar bidang segitiga dari gerakan lengan robot
pada kertas
Gambar 4.16 Hasil Gambar Segitiga
Parameter ukuran segitiga adalah nilai dari sisi - sisi segitiga yang dibuat oleh lengan
robot, gambar 4.16 merupakan sisi segitiga yang sudah ditentukan sebelumnya dan
digambar menggunakan lengan robot dengan masukan manual dari modul joystick dengan
ukuran yang sudah ditentukan yaitu 2 cm, 5 cm dan 10 cm untuk setiap sisinya.
Berdasarkan Gambar 4.16 dapat dilihat bahwa hasil dari gambar aktual nilainya bervariasi
dan tidak sama antara ketiga sisi gambar segitiga. Karena penggambaran masih manual
sehingga hasil gambar juga tergantung dari masukan yang kita berikan melalui modul
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
66
joystick, Masukan juga terpengaruh dengan speleng putaran motor stepper secara mekanik,
kemudian ada beberapa joint yang masih kurang presisi sehingga mempengaruhi dari
pergerakan lengan robot. Berdasarkan hasil pengamatan pada gambar bidang segitiga
ternyata masih belum dapat menggambar garis miring secara sempurna, garis miring pada
segitiga harus dicapai dengan tidak langsung atau dengan menghubungkan titik - titik
untuk menuju titik poin yang sudah ditentukan
4.3.3. Analisa Hasil Gambar LingkaranHasil gambar lingkaran yang dilakukan dengan sistem lengan robot ini masih belum
berhasil untuk membuat gambar lingkaran sempurna namun hasil gambar bidang lingkaran
masih berupa segi banyak. Hasil dari gambar bidang lingkaran ini masih belum bisa
membuat garis lengkung atau melingkar membentuk pola lingkaran. Titik yang sudah
digambar selanjutnya diukur jaraknya sehingga didapat ukuran jari - jari atau garis
penyusun segi banyak
Gambar 4.17 Hasil Gambar Lingkaran
Parameter ukuran dimensi pada bidang segi banyak yang terbentuk dari hasil gambar
lingkaran dengan nilai jari - jari yang bervariasi. Diameter lingkaran yang diharapkan
adalah 5 cm sehingga jari - jari yang seharusnya dibuat adalah 2,5 cm,
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
67
Berdasarkan pembacaan Gambar 4.17 dapat dilihat bahwa hasil gambar aktual
nilainya bervariasi karena beberapa hal yaitu adanya speleng pada roda gigi lengan robot
dan pada roda gigi pada motor stepper, kemudian kurang presisinya lengan robot dan
masih adanya joint yang kurang presisi sehingga mempengaruhi pergerakan dari lengan
robot. Masukan pada sistem lengan robot yang masih manual juga mempengaruhi dari
pergerakan lengan robot sehingga masih terjadinya error. Berdasarkan hasil pengamatan
pada gambar segi banyak ternyata pada penelitian ini lengan robot masih belum bisa
membuat garis melengkung atau melingkar pada bidang datar.
4.3.4. Analisa Hasil Gambar Tanda Tambah
Hasil gambar tanda tambah yang dilakukan dengan sistem lengan robot ini sudah
sesuai perancangan namun masih jauh dari kata sempurna. Pembuatan gambar tanda
tambah dilakukan dengan menggabungkan titik - titik yang sudah ada menjadi gambar
tanda tambah, titik - titik sudah ditentukan dan memiliki jarak 10 cm. Gambar 4.18
merupakan hasil gambar tanda tambah dari gerakan lengan robot pada kertas
Gambar 4.18 Hasil Gambar Tanda Tambah
Parameter ukuran dimensi pada gambar tanda tambah ada pada gambar 4.18
merupakan parameter yang sudah ditentukan, panjang yang sudah ditentukan 10 cm .
Berdasarkan gambar 4.18 dapat dilihat bahwa hasil dari gambar aktual nilainya bervariasi
dan tidak sama. Karena penggambaran masih manual sehingga hasil gambar juga
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
68
tergantung dari masukan yang kita berikan melalui modul joystick, Masukan juga
terpengaruh dengan speleng putaran motor stepper secara mekanik, kemudian ada
beberapa joint yang masih kurang presisi sehingga mempengaruhi dari pergerakan lengan
robot. Berdasarkan hasil dari pengamatan pada Gambar tanda tambah lengan robot sudah
dapat menggambar gambar tanda tambah, namun masih belum sempurna
4.4. Hasil Pengujian Nilai Step Pada Motor Stepper
Pada pengujian kali ini motor stepper akan di uji nilai masukan step ke driver,
parameter yang dipakai adalah titik - titik yang berjarak 1 cm dan dimulai dari 1 cm
sampai 10 cm. Pengujian ini akan melihat berapa nilai step untuk titik - titik dari jarak 1
cm hingga 10 cm. Sudut gerak yang ingin di uji adalah sudut X dan Y. Pada tabel 4.5 dan
tabel 4.6 akan ditunjukan hasil pengujian nilai pulsa
Tabel 4.5 Hasil Pengujian Nilai Step Sudut X
no Nilai Step Pada Sudut X
1 1cm 2cm 3cm 4cm 5cm 6cm 7cm 8cm 9cm 10cm
2 64 99 116 190 204 216 246 346 380 402
Tabel 4.6 Hasil Pengujian Nilai Step Sudut X
no Nilai Step Pada Sudut Y
1 1cm 2cm 3cm 4cm 5cm 6cm 7cm 8cm 9cm 10cm
2 44. 85 103 128 171 172 253 302 296 333
Pada tabel 4.5 dan tabel 4.6 ditunjukan hasil dari pengujian pulsa motor stepper.
Pengujian ini bertujuan untuk melihat berapa nilai step yang dibutuhkan lengan robot
untuk bergerak dari 1cm hingga 10 cm. Nilai dari step yang masuk bukan nilai yang pasti.
Dikarenakan masukan step tergantung dari modul joystick yang digunakan dan masih
manual. Nilai yang keluar adalah nilai rata - rata dari sepuluh kali percobaan. Dalam hal ini
konfigurasi step, gear penggerak dan modul joystick berpengaruh pada nilai step yang
timbul.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
69
4.5. Hasil Pengujian Area Kerja
Pada pengujian kali ini akan diuji nilai dari area kerja ( kertas A4 ) dalam bentuk nilai X
dan nilai Y. Pada keseluruhan area kerja pada kertas A4 akan dibagi menjadi 9 area kerja
berukuran 7cm X 9,9cm. Dimana titik pengujian area kerja akan dimulai pada titik 0,0
pada setiap area kerja sehingga didapatkan data berupa nilai x dan y yang ditunjukan oleh
tabel 4.7
Gambar 4.19. Gambar Area Kerja Pada Kertas A4
Tabel 4.7 Nilai X dan Y Pada Masing Masing Area Kerja
no Area Kerja Nilai X Nilai Y
1 1 518 172
2 2 423 279
3 3 378 342
4 4 404 172
5 5 633 276
6 6 538 298
7 7 521 196
8 8 755 365
9 9 394 346
10 Kertas A4 1523 855
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
70
Pada tabel 4.7 ditunjukan hasil dari pengujian area kerja pada kertas A4 yang sudah
dibagi menjadi 9 area kerja. Dapat dilihat hasil dari setiap area kerja tidak selalu sama
karena jarak lengan robot dengan titik yang akan dituju atau digambar tidak sama atau
jaraknya berbeda. Sehingga saat lengan berada pada titik 1 sudut antar joint akan
berbeda saat lengan berada pada titik 9. Hasil dari pengujian ini dapat menjadi acuan dari
masukan joystick saat akan menggambar pada area kerja yang diinginkan.
4.6. Pengujian Menggunakan Program Tanpa Joystick
Pada pengujian kali ini lengan robot akan diuji gerakannya pada sumbu X dan Y
menggunakan program yang sudah dibuat dan tanpa menggunakan joystick. Tujuan
pengujian ini agar nilai yang miss saat menggunakan joystick karena masukan yang tidak
konstan dapat diperkecil. Gerakan yang dibuat adalah membuat garis pada sumbu X dan Y
dengan inputan step yang sudah dimasukan dalam program pada arduino. Pengujian yang
pertama adalah pengujian pada sumbu Y dan dibuat pada area kerja 5 dan masukan step
pada Y adalah 200 step dimulai dari titik tengah pada garis bawah area 5 dan dilakukan
sebanyak 10 kali secara berulang - ulang. Hasilnya dapat dilihat pada gambar 4.20
Gambar 4.20 Hasil Pengujian Menggunakan Program Pada Sumbu y
Pada gambar 4.20 dapat dilihat bahwa pengujian menggunakan program yang sudah
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
71
dibuat menunjukan bahwa garis yang sudah dibuat sudah konsisten. Walau tidak
sempurna, pada titik awal dan akhir pointer agak sedikit bergerak keluar jalur, namun
jarak dari garis utama kurang dari 1mm. Jarak yang terjadi diakibatkan gear yang
menggerakan lengan robot kurang pas, sehinga saat pointer akan berbalik arah terjadi
sedikit gerakan yang membuat garis agak keluar dari jalur yang diharapkan.
Pengujian yang kedua adalah pengujian pada sumbu X dan dibuat pada area kerja 5
dan masukan step pada X adalah sama dengan step pada Y, yaitu 200 step dimulai dari
titik tengah pada garis kiri area 5 dan dilakukan sebanyak 10 kali secara berulang - ulang.
Hasilnya dapat dilihat pada gambar 4.21
Gambar 4.21. Hasil Pengujian Menggunakan Program Pada Sumbu X
Pada gambar 4.21 dapat dilihat bahwa pengujian menggunakan program yang sudah
dibuat menunjukan bahwa garis yang sudah dibuat sudah konsisten. Walau tidak
sempurna, pada titik awal dan akhir pointer agak sedikit bergerak keluar jalur, namun
jarak dari garis utama kurang dari 1mm. Jarak yang terjadi diakibatkan gear yang
menggerakan lengan robot kurang pas, sehinga saat pointer akan berbalik arah terjadi
sedikit gerakan yang membuat garis agak keluar dari jalur yang diharapkan.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
72
BAB V
KESIMPULAN DAN SARAN
5.1. KesimpulanSetelah melakukan perancangan, pembuatan dan pengujian dari lengan robot dengan
penggerakmotor stepper danmotor servomaka didapatkan kesimpulan sebagai berikut
1. Hasil Pada perancangan perangkat keras berhasil di implementasikan
2. Arduino dapat mengirimkan sinyal ke driver stepper sehingga stepper dapat
bergerak
3. Hasil pengujian area kerja pada lengan masih belum sempurna dikarenakan
keterbatasan gerak pada perangkat keras
4. Hasil dari pengujian repeatability menunjukan bahwa garis yang dibuat meleset
1mm
5. Lengan robot sudah dapat menggambar bidang kotak, segitiga, dan tanda tambah
namun masih belum bisa menggambar lingkaran
6. Percobaan menggambar menggunakan kontroler joystik telah berhasil
7. Pengujian pembuatan garis tanpa kontroler joystik yang dilakukan 10x
menunjukan gambar garis yang konsisten
5.2. SaranBerdasarkan hasil yang telah diperoleh. Untk pengembangan penelitian lebih lanjut
ada beberapa saran agar alat ini dapat bekerja lebih baik
1. Perancangan ulang pada konstruksi berdasarkan area kerja dan juga berdasarkan
fungsi dan kegunaan
2. Meminimalkan adanya gap pada rangka lengan robot agar tidak menimbulkan yang
besar untuk memastikan keluaran dari lengan robot lebih presisi
3. Pemilihan roda gigi yang tepat untuk menghindari selip dan menghindari gap pada
roda gigi
4. Menambahkan kemampuan robot menjadi lebih sempurna agar dapat melakukan
gerakan berdasarkan sistem koordinat XYZ secara berkelanjutan serta pergunakan
software yang lebih kompatible untuk robot seperti menyimpan posisi
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
73
DAFTAR PUSTAKA[1]. Pitowarno, Endra, 2006. Robotika Desain, Kontrol dan Kecerdasan Buatan, Andi
Offset, Yogyakarta.
[2]. Meshram, Bande, Dwaramwar, Harkare, 2009, Robot Arm Controller Using FPGA,
M. Tech Student, RKNEC, Nagpur
[3]. Anggoro, Welly, 2008, Robot Penggambar Dua Dimensi, Skripsi Fakultas Ilmu
Matematika dan Ilmu Pengetahuan Alam Departemen Fisika Universitas Indonesia,
Jakarta
[4]. ---,---, Konsep Mikrokontroler,
http://sistemkomputer.fasilkom.narotama.ac.id/?p=194,
diakses pada tanggal 13 April 2016
[5]. ---,---, Arduino Uno
http://arduino.cc/en/Main/ArduinoBoardUno,
diakses pada tanggal 13 April 2016
[6]. Kadir, Abdul, 2013, Panduan Praktis Mempelajari Aplikasi Mikrokontroler Dan
Pemrogramannya Menggunakan Arduino, Andi offset, Yogyakarta
[7]. ---,---, Software Arduino (Arduino IDE),
http://pikirsa.wordpress.com/2011/11/20/memanfaatkan-arduino-ide-tanpa- arduino-
board/,
diakses pada tanggal 13 April 2016
[8]. ---,---, Motor Servo
http://elektronika-dasar.web.id/teori-elektronika/motor-servo/,
diakses pada tanggal 20 Mei 2016
[9]. ---,---, Motor Stepper
http://elektronika-dasar.web.id/motor-stepper/motor-stepper/,
diakses pada tanggal 25 Juni 2016
[10]. Francis Giang Anak Japar, 2010, Design And Develop Robotic Arm For Automatic
Guided Conveyor, Bachelor Of Mechanical Engineering Universiti Malaysia
Pahang,Malaysia
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
74
[11]. ---,---,Gy-4988 A4988 Stepper Motor Driver Module
http://pololu.com/product/1182,
diakses pada tanggal 25 Juni 2016
[12]. Fu,K.S.,R.C. Gonzales, C.S.G.Lee, 1987, Robotics: Control, Sensing, Vision, and
Intelligence st1 edition, Penerbit McGraw-Hill, Singapore
[13]. Philips, Arthur, Eduardo Prabawa, 2005, Simulasi Kinematika dari Integrasi Robot
Mitsubishi RV-M1 dengan festo Modular Production System (MPS), Skripsi
Jurusan Sistem Komputer Universitas Bina Nusantara, Jakarta
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
75
LAMPIRAN
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
76
LISTING PROGRAM
L1. Listing Program Pada Kontroler Manual
#define step_pin 3 // Pin 3 dikoneksikan ke pin step pada driver
#define dir_pin 2 // Pin 2 dikoneksikan ke Direction pin
#define MS1 5 // Pin 5 dikoneksikan ke MS1 pin
#define MS2 4 // Pin 4 dikoneksikan ke MS2 pin
#define SLEEP 7 // Pin 7 dikoneksikan ke SLEEP pin
#define X_pin A0 // Pin A0 dikoneksikan ke joystick x axis
int direction; // Variable untuk mengatur arah putar (CW-CCW)
int steps = 1025; // diasumsikan pada posisi tengah
void setup() {
pinMode(MS1, OUTPUT);
pinMode(MS2, OUTPUT);
pinMode(dir_pin, OUTPUT);
pinMode(step_pin, OUTPUT);
pinMode(SLEEP, OUTPUT);
digitalWrite(SLEEP, HIGH); // Driver aktiv
delay(5); // Delay menunggu driver aktiv
/* Konfigurasi step pada driver:
// MS1 MS2
//
// LOW LOW = Full step //
// HIGH LOW = Half step //
// LOW HIGH = 1/4 step //
// HIGH HIGH = 1/8 step //
*/
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
77
digitalWrite(MS1, LOW); // konfigurasi ke Full Steps
digitalWrite(MS2, LOW); // konfigurasi ke Full Steps
}
void loop() {
while (analogRead(X_pin) >= 0 && analogRead(X_pin) <= 100) {
if (steps > 0) {
digitalWrite(dir_pin, HIGH); // (HIGH = CCW / LOW = CW)
digitalWrite(step_pin, HIGH);
delay(1);
digitalWrite(step_pin, LOW);
delay(1);
steps--;
}
}
while (analogRead(X_pin) > 100 && analogRead(X_pin) <= 400) {
if (steps < 512) {
digitalWrite(dir_pin, LOW); // (HIGH = CCW / LOW = CW)
digitalWrite(step_pin, HIGH);
delay(1);
digitalWrite(step_pin, LOW);
delay(1);
steps++;
}
if (steps > 512) {
digitalWrite(dir_pin, HIGH);
digitalWrite(step_pin, HIGH);
delay(1);
digitalWrite(step_pin, LOW);
delay(1);
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
78
steps--;
}
}
while (analogRead(X_pin) > 401 && analogRead(X_pin) <= 600) {
if (steps < 1025) {
digitalWrite(dir_pin, LOW);
digitalWrite(step_pin, HIGH);
delay(1);
digitalWrite(step_pin, LOW);
delay(1);
steps++;
}
if (steps > 1025) {
digitalWrite(dir_pin, HIGH);
digitalWrite(step_pin, HIGH);
delay(1);
digitalWrite(step_pin, LOW);
delay(1);
steps--;
}
}
while (analogRead(X_pin) > 601 && analogRead(X_pin) <= 900) {
if (steps < 1535) {
digitalWrite(dir_pin, LOW);
digitalWrite(step_pin, HIGH);
delay(1);
digitalWrite(step_pin, LOW);
delay(1);
steps++;
}
if (steps > 1535) {
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
79
digitalWrite(dir_pin, HIGH);
digitalWrite(step_pin, HIGH);
delay(1);
digitalWrite(step_pin, LOW);
delay(1);
steps--;
}
}
while (analogRead(X_pin) > 900 && analogRead(X_pin) <= 1024) {
if (steps < 2050) {
digitalWrite(dir_pin, LOW);
digitalWrite(step_pin, HIGH);
delay(1);
digitalWrite(step_pin, LOW);
delay(1);
steps++;
}
}
}
L.2 Listing Program dua kontroler
#define step_pin1 3 // Pin 3 dikoneksikan ke pin step pada driver 1
#define dir_pin1 2 // Pin 2 dikoneksikan ke Direction pin 1
#define SLEEP1 7 // Pin 7 dikoneksikan ke SLEEP pin 1
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
80
#define step_pin2 8 // Pin 8 dikoneksikan ke pin step pada driver 2
#define dir_pin2 9 // Pin 9 dikoneksikan ke Direction pin 2
#define SLEEP2 10 // Pin 10 dikoneksikan ke SLEEP pin 2
#define step_pin3 11 // Pin 11 dikoneksikan ke pin step pada driver 3
#define dir_pin3 12 // Pin 12 dikoneksikan ke Direction pin 3
#define SLEEP3 13 // Pin 13 dikoneksikan ke SLEEP pin 3
#define MS1 5 // Pin 5 dikoneksikan ke MS1 pin
#define MS2 4 // Pin 4 dikoneksikan ke MS2 pin
#define MS3 6 // Pin 6 dikoneksikan ke MS3 pin
#define X_pin A0 // Pin A0 dikoneksikan ke joystick x axis
#define Y_pin A1 // Pin A1 dikoneksikan ke joystick y axis
#define Z_pin A2 // Pin A2 dikoneksikan ke joystick z axis
#define DISTANCE_X 1000
#define DISTANCE_Y 1000
#define DISTANCE_Z 1000
int StepCounter_X = 0;
int StepCounter_Y = 0;
int StepCounter_Z = 0;
int Stepping_X = false;
int Stepping_Y = false;
int Stepping_Z = false;
void setup() {
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
81
pinMode(MS1, OUTPUT);
pinMode(MS2, OUTPUT);
pinMode(MS3, OUTPUT);
pinMode(dir_pin1, OUTPUT);
pinMode(step_pin1, OUTPUT);
pinMode(dir_pin2, OUTPUT);
pinMode(step_pin2, OUTPUT);
pinMode(dir_pin3, OUTPUT);
pinMode(step_pin3, OUTPUT);
delay(5); // Delay menunggu driver aktiv
/* Konfigurasi step pada driver:
// MS1 MS2 MS3
//
// LOW LOW LOW = Full step //
// HIGH LOW LOW = Half step //
// LOW HIGH LOW = 1/4 step //
// HIGH HIGH LOW = 1/8 step //
// LOW LOW HIGH = 1/16 step//
// HIGH HIGH HIGH = 1/32 step//
*/
digitalWrite(MS1, HIGH); // konfigurasi 1/32 step
digitalWrite(MS2, HIGH); // konfigurasi 1/32 step
digitalWrite(MS3, HIGH); // konfigurasi 1/32 step
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
82
}
void loop() {
//DRIVER X
if (analogRead(X_pin) < 300 && Stepping_X == false)
{
digitalWrite(dir_pin1, LOW);
digitalWrite(step_pin1, HIGH);
delay(1);
digitalWrite(step_pin1, LOW);
delay(1);
StepCounter_X = StepCounter_X +1;
}
if (analogRead(X_pin) > 400 && Stepping_X == false)
{
digitalWrite(dir_pin1, HIGH);
digitalWrite(step_pin1, HIGH);
delay(1);
digitalWrite(step_pin1, LOW);
delay(1);
StepCounter_X = StepCounter_X -1;
if (StepCounter_X == DISTANCE_X)
{
StepCounter_X = 0;
Stepping_X = false;
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
83
//DRIVER Y
if (analogRead(X_pin) < 400 && Stepping_X == false)
{
digitalWrite(dir_pin2, LOW);
digitalWrite(step_pin2, HIGH);
delay(1);
digitalWrite(step_pin2, LOW);
delay(1);
StepCounter_X = StepCounter_X +1;
}
if (analogRead(X_pin) > 600 && Stepping_X == false)
{
digitalWrite(dir_pin2, HIGH);
digitalWrite(step_pin2, HIGH);
delay(1);
digitalWrite(step_pin2, LOW);
delay(1);
StepCounter_X = StepCounter_X -1;
if (StepCounter_X == DISTANCE_X)
{
StepCounter_X = 0;
Stepping_X = false;
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
84
//DRIVER Z
if (analogRead(X_pin) < 400 && Stepping_X == false)
{
digitalWrite(dir_pin3, LOW);
digitalWrite(step_pin3, HIGH);
delay(1);
digitalWrite(step_pin3, LOW);
delay(1);
StepCounter_X = StepCounter_X +1;
}
if (analogRead(X_pin) > 600 && Stepping_X == false)
{
digitalWrite(dir_pin3, HIGH);
digitalWrite(step_pin3, HIGH);
delay(1);
digitalWrite(step_pin3, LOW);
delay(1);
StepCounter_X = StepCounter_X -1;
if (StepCounter_X == DISTANCE_X)
{
StepCounter_X = 0;
Stepping_X = false;
}}}}}}}
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
85
L.3.Listing Program Sederhana
#define step_pin1 3 // Pin 3 dikoneksikan ke pin step pada driver
#define dir_pin1 2 // Pin 2 dikoneksikan ke Direction pin
#define step_pin2 7 // Pin 3 dikoneksikan ke pin step pada driver
#define dir_pin2 8 // Pin 2 dikoneksikan ke Direction pin
#define step_pin3 10 // Pin 3 dikoneksikan ke pin step pada driver
#define dir_pin3 11 // Pin 2 dikoneksikan ke Direction pin
#define MS1 5 // Pin 5 dikoneksikan ke MS1 pin
#define MS2 4 // Pin 4 dikoneksikan ke MS2 pin
#define MS3 6 // Pin 6 dikoneksikan ke MS3 pin
//#define SLEEP 7 // Pin 7 dikoneksikan ke SLEEP pin
#define X_pin A0 // Pin A0 dikoneksikan ke joystick x axis
#define Y_pin A1 // Pin A0 dikoneksikan ke joystick axis
#define Z_pin A2 // Pin A0 dikoneksikan ke joystick axis
#define DISTANCEX 6000
#define DISTANCEY 6000
#define DISTANCEZ 6000
int StepCounterX = 0;
int SteppingX = false;
int StepCounterY = 0;
int SteppingY = false;
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
86
int StepCounterZ = 0;
int SteppingZ = false;
int vara = 0;
int varb = 0;
int varc = 0;
int vard = 0;
const int pin1 = 9;
const int pin2 = 12;
int buttonState1 = 0;
int buttonState2 = 0;
//int direction; // Variable untuk mengatur arah putar (CW-CCW)
//int valuex = 0; // diasumsikan pada posisi tengah
void setup() {
Serial.begin(9600);
pinMode(pin1, INPUT);
pinMode(pin2, INPUT);
pinMode(MS1, OUTPUT);
pinMode(MS2, OUTPUT);
pinMode(MS3, OUTPUT);
pinMode(dir_pin1, OUTPUT);
pinMode(step_pin1, OUTPUT);
pinMode(dir_pin2, OUTPUT);
pinMode(step_pin2, OUTPUT);
pinMode(dir_pin3, OUTPUT);
pinMode(step_pin3, OUTPUT);
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
87
//pinMode(SLEEP, OUTPUT);
//digitalWrite(SLEEP, HIGH); // Driver aktiv
delay(5); // Delay menunggu driver aktiv
/* Konfigurasi step pada driver:
// MS1 MS2 MS3
//
// LOW LOW LOW = Full step //
// HIGH LOW LOW = Half step //
// LOW HIGH LOW = 1/4 step //
// HIGH HIGH LOW = 1/8 step //
// LOW LOW HIGH = 1/16 step//
// HIGH HIGH HIGH = 1/32 step//
*/
digitalWrite(MS1, HIGH); // konfigurasi 1/32 step
digitalWrite(MS2, LOW); // konfigurasi 1/32 step
digitalWrite(MS3, LOW); // konfigurasi 1/32 step
}
void loop() {
buttonState1 = digitalRead(pin1);
if(buttonState1 == HIGH){
while(vara <100){
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
88
digitalWrite(dir_pin1, LOW);
digitalWrite(step_pin1, HIGH);
delay(1);
digitalWrite(step_pin1, LOW);
delay(1);
vara++;
}
while(varb <100){
{
digitalWrite(dir_pin1, HIGH);
digitalWrite(step_pin1, HIGH);
delay(1);
digitalWrite(step_pin1, LOW);
delay(1);
varb++;
}
vara=0;
varb=0;
{
buttonState2 = digitalRead(pin2);
if(buttonState2 == HIGH){
while(varc <100){
digitalWrite(dir_pin2, HIGH);
digitalWrite(step_pin2, HIGH);
delay(1);
digitalWrite(step_pin2, LOW);
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
89
delay(1);
varc++;
}
while(vard <100){
digitalWrite(dir_pin2, LOW);
digitalWrite(step_pin2, HIGH);
delay(1);
digitalWrite(step_pin2, LOW);
delay(1);
vard++;
}
varc=0;
vard=0;
}
}
}
}
}
L.4.Datasheet Motor Stepper Nema17
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
90
L.5.Datasheet DRV8825
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
91
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI