0% menganggap dokumen ini bermanfaat (0 suara)
107 tayangan17 halaman

Robot Lengan 3 DOF

Dokumen tersebut merupakan jobsheet tentang pembuatan robot lengan 3 DOF menggunakan joystick yang dirangkum dalam 3 kalimat. Pertama, dokumen tersebut membahas tentang pembuatan robot lengan 3 DOF menggunakan motor servo dan joystick sebagai inputnya. Kedua, diberikan penjelasan teori tentang komponen-komponen yang digunakan seperti motor servo dan joystick. Ketiga, dilengkapi dengan prosedur praktikum untuk membangun dan menguji robot lengan ter

Diunggah oleh

Rahmiana Rahmiana
Hak Cipta
© © All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PDF, TXT atau baca online di Scribd
0% menganggap dokumen ini bermanfaat (0 suara)
107 tayangan17 halaman

Robot Lengan 3 DOF

Dokumen tersebut merupakan jobsheet tentang pembuatan robot lengan 3 DOF menggunakan joystick yang dirangkum dalam 3 kalimat. Pertama, dokumen tersebut membahas tentang pembuatan robot lengan 3 DOF menggunakan motor servo dan joystick sebagai inputnya. Kedua, diberikan penjelasan teori tentang komponen-komponen yang digunakan seperti motor servo dan joystick. Ketiga, dilengkapi dengan prosedur praktikum untuk membangun dan menguji robot lengan ter

Diunggah oleh

Rahmiana Rahmiana
Hak Cipta
© © All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PDF, TXT atau baca online di Scribd
Anda di halaman 1/ 17

JOBSHEET

ROBOT LENGAN 3 DOF DENGAN JOYSTICK

Oleh

AIDI FINAWAN, SST, M. Eng

PROGRAM STUDI
TEKNOLOGI REKAYASA INSTRUMENTASI DAN KONTROL
JURUSAN TEKNIK ELEKTRO
POLITEKNIK NEGERI LHOKSEUMAWE
2020
JOBSHEET

ROBOT LENGAN 3 DOF DENGAN JOYSTICK

Oleh

AIDI FINAWAN, SST, M. Eng

PROGRAM STUDI
TEKNOLOGI REKAYASA INSTRUMENTASI DAN KONTROL
JURUSAN TEKNIK ELEKTRO
POLITEKNIK NEGERI LHOKSEUMAWE
2020

i
HALAMAN PENGESAHAN INSTITUSI

ROBOT LENGAN 3 DOF DENGAN JOYSTICK

Kegiatan Pengembangan Jobsheet ini Dibiayai dengan Sumber Dana DIPA


Politeknik Negeri Lhokseumawe Tahun Anggaran 2020

Mengetahui,
Ketua Jurusan Teknik Elektro Penyusun,

M. Basyir, SST, MT Aidi Finawan, SST, M. Eng


Nip. 19741006 200012 1 001 Nip. 19740619 200012 1 003

Mengetahui/mengesahkan
Wakil Direktur Bidang Akademik,
Kemahasiswaan dan Alumni
Politeknik Negeri Lhokseumawe

Zamzami, ST, M. Eng.


Nip. 19791112 200312 1 003 19

ii
5HALAMAN PENGESAHAN REVIEWER

Jobsheet Robot Lengan 3 DOF dengan Joystick yang disusun oleh:

Nama : Aidi Finawan, S. ST, M. Eng


Nip. : 197406192000121003
Jurusan : Teknik Elektro

Telah memenuhi syarat-syarat penulisan jobsheet yang dibiayai dengan sumber dana
DIPA Politeknik Negeri Lhokseumawe Tahun Anggaran 2020

Reviewer:

1. Ir. Azhar, M. Eng .......................................


Nip.196505011994121001

2. Rusli, SST, MT .......................................


Nip. 197403272000031001

Mengetahui, Menyetujui,
Kepala Pusat Pengembangan Ketua Departemen Pendidikan dan
Pembelajaran dan Penjaminan Mutu Pengembangan Pembelajaran

Ir. Herri Mahyar, MT Ir. Jufriadi, MT


Nip. 19621201 198902 1 001 Nip. 19641102 199303 1 002

iii
LABORATORIUM: ROBOTIKA
POLITEKNIK NEGERI LHOKSEUMAWE
PENGUJIAN: ROBOT LENGAN 3 DOF DENGAN JOYSTICK

I. Capaian Praktikum/Kompetensi
1. Dapat membangun robot lengan 3 DOF dengan joystick
2. Dapat melakukan pemrograman Arduino untuk interface joystick
3. Dapat melakukan pemrograman Arduino untuk gerakan robot lengan dengan
joystick

II. Keselamatan Kerja


1. Menggunakan pakaian praktikum dengan baik dan rapi
2. Sambungkan perangkat-perangkat yang digunakan sesuai dengan petunjuk
pembimbing praktikum
3. Jalankan sistem setelah mendapat izin dari pembimbing praktikum.

III. Teori

3.1 Motor Servo


Motor servo adalah komponen elektronika yang berupa motor yang memiliki
sistem feedback guna memberikan informasi posisi putaran motor aktual yang
diteruskan pada rangkaian kontrol mikrokontroler. Pada dasarnya motor servo banyak
digunakan sebagai aktuator yang membutuhkan posisi putaran motor yang presisi.
Apabila pada motor DC biasa hanya dapat dikendalikan kecepatannya serta arah putaran,
lain halnya pada motor servo yaitu penambahan besaran parameter yang dapat
dikendalikan berdasarkan sudut/derajat. Komponen utama penyusun motor servo antara
lain motor DC, gear rasio, potensiometer serta controller servo seperti gambar dibawah
ini.
Komponen potensiometer berfungsi sebagai feedback besaran sudut menjadi
data posisi aktual. Sedangkan controller servo berfungsi memberikan sinyal – sinyal
PWM (Pulse Width Modulator) untuk menggerakan motor melalui kabel motor.

1
Gambar 1. Konstruksi Motor Servo
source: http://www.kiesrd.com/servo-motor-tk-10/

Motor servo terdiri dari 2 tipe, yaitu:


a. Tipe standar berputarnya dibatasi sebesar 180° dan tipe ini sering banyak
dipakai pada sistem robotika seperti Arm Robot / Robot Lengan.
b. Tipe continuous mempunyai kriteria perputaran motornya sebesar 360°contoh
aplikasinya pada mobil robot.
Setiap motor servo terdapat informasi identitas tipe servo pada bodi motor
tersebut. Secara standar, motor servo terdiri atas 3 kabel yaitu kabel power / VCC, kabel
GND serta kabel signal.

Gambar 2. Bentuk motor servo

2
Motor servo dikendalikan dengan sinyal PWM dari encoder/potentiometer.
Lebar sinyal (pulsa) yang diberikan inilah yang akan menentukan posisi sudut putaran
dari poros motor servo. Sebagai contoh, lebar sinyal dengan waktu 1,5 ms (mili second)
akan memutar poros motor servo ke posisi sudut 90⁰ . Bila sinyal lebih pendek dari 1,5
ms maka akan berputar ke arah posisi 0⁰ atau ke kiri (berlawanan dengan arah jarum
jam), sedangkan bila sinyal yang diberikan lebih lama dari 1,5 ms maka poros motor
servo akan berputar ke arah posisi 180⁰ atau ke kanan (searah jarum jam). Lebih
jelasnya perhatikan gambar berikut ini:

Gambar 3. Bentuk sinyal PWM motor servo


(Source: https://www.jameco.com/)

Ketika sinyal PWM telah diberikan, maka poros motor servo akan bergerak ke
posisi yang telah ditargetkan dan berhenti pada posisi tersebut serta akan tetap bertahan
pada posisi tersebut. Jika ada kekuatan eksternal yang mencoba memutar atau
mengubah posisi tersebut, maka sistem closed loop dari motor servo tersebut akan
bekerja dengan mencoba menahan atau melawan kekuatan eksternal tersebut dengan
kekuatan internal dari motor servo itu sendiri. Namun motor servo tidak akan
mempertahankan posisinya untuk selamanya, sinyal PWM harus diulang setiap 20 ms
(mili second) agar posisi poros motor servo tetap bertahan pada posisinya.

3
3.2 Modul joystick 2-axis
Joystick ini adalah joystick self-centering yang berpusat dengan sendirinya,
artinya ketika dilepaskan joystick itu akan memusatkan dengan (Last Minute
Engineers). Gambar 4.a menunjukkan bentuk joystick.

a. Bentuk joystick b. Pinout joystick c. Nilai posisi joystick

Gambar 4. Joystick

Joystick ini berfungsi untuk mengkomunikasikan gerakan dalam 2D ​ ​ (2-axis)


ke mikrokontroler seperti Arduino. Pada joystick terdapat dua potensiometer 10K
independen pada masing-masing sumbu. Potensiometer ini digunakan sebagai pembagi
tegangan yang dapat disetel ganda, sehingga menyediakan input analog 2-Axis dalam
bentuk stick kontrol. Pada joystick ini juga terdapat sebuah tombol tekan yang aktif saat
menekan tutupnya.
Bila keluaran joystick seperti pada gambar 2.5.b dihubungkan pada masukan
ADC pada Arduino yang memiliki resolusi 10 bit, maka nilai pada setiap saluran analog
(sumbu) dapat bervariasi dari 0 hingga 1023. Jadi, jika tuas dipindahkan pada sumbu X
dari satu ujung ke ujung lainnya, nilai X akan berubah dari 0 hingga 1023 dan hal
serupa terjadi ketika dipindahkan di sepanjang sumbu Y. Ketika joystick berada di
posisi tengah, nilainya sekitar 512. Gambar 4.c. menunjukkan nilai desimal ADC untuk
setiap posisi joystick.
Nilai desimal sinyal keluaran Joystick pada posisi tengah dari sumbu X dan
sumbu Y bisa mengalami perbedaan nilai yang kecil. Hal ini dapat disebabkan oleh
adanya perbedaan kepekaan pada kedua potensiometer yang digunakan pada sumbu X
dan sumbu Y joystick (Finawan, dkk, 2019).

4
IV. Alat/Bahan
1. Komputer PC
2. Aplikasi Arduino.IDE,
3. Motor Servo
4. Joystick
5. Bread Boards
6. Foam board
7. Batteray (power supplay DC)
8. Kabel Penghubung
9. Perekat

V. Prosedur Praktikum
1. Siap Foam board, dan potong pada bagian seperti ditunjukkan pada Gambar
5.a
2. Pasang motor servo seperti pada Gambar 5.b dan tambahkan perekat untuk
menguatkan posisi motor servo
3. Rakit kedua bagian Foam board seperti pada Gambar 5.c
4. Rakit Motor servo pada bagian base dan End Effector seperti pada gambar
5.d
5. Hubungkan motor servo ke Arduino seperti ditunjukkan pada tabel 1.
6. Hubungkan Joystick ke Arduino seperti ditunjukkan pada tabel 2.
7. Buka aplikasi Arduino.IDE
8. Tuliskan baris program seperti pada program 1.
9. Lakukan Verifikasi dengan memilih , perbaiki bila terdapat kesalahan
10. Hubungkan kabel USB antara Mikrokontroler Arduino dengan PC
11. Lakukan pengaturan port komunikasi Arduino pada PC dengan memilih
menu Tool/Port, pilih port comyang sesuai

5
12. Download program hasil kompilasi .HEX ke dalam chip mikrokontroler

dengan memilih icon , hingga muncul pesan “Upload Done”, dan


lepaskan kabel USB pada modul robot
13. Hubungkan Batteray (power supplay DC) pada Arduino
14. Jalankan project dengan menekan tombol power pada modul robot,
perhatikan gerakan lengan robot dan catat seperti pada tabel 3.
15. Lanjutkan untuk menulis baris program seperti pada program 2 pada
Arduino IDE.
16. Ulangi langkah 9 sampai langkah 13
17. Jalankan project dengan menekan tombol power pada modul robot,
perhatikan gerakan lengan robot dan catat data seperti pada tabel 4.

a. b.

6
c. d.
Gambar 5. Pemasangan Motor Servo pada lengan robot
Tabel 1. Hubungan kabel motor servo dengan Arduino
Kabel Penghubung Motor Servo
Motor Servo
Red Black Yellow
Motor Servo 1 Arduino 5V Arduino GND Pin 3 Arduino
Motor Servo 2 Arduino 5V Arduino GND Pin 10 Arduino
Motor Servo 3 Arduino 5V Arduino GND Pin 11 Arduino

Tabel 2. Hubungan Joystick dengan Arduino


Terminal Terminal
Pin Arduino Pin Arduino
Joystick 1 Joystick 2
GND Arduino GND GND Arduino GND
VCC Arduino 5V VCC Arduino 5V
VRx Arduino pin A0 VRx Arduino pin A2
VRy Arduino pin A1

Program 1.

#include <Servo.h>
const int servo1 = 3; // first servo
const int servo2 = 10; // second servo
const int servo3 = 11; // third servo

const int joyX1 = A0;


const int joyY1 = A1;
const int joyX2 = A2;

int servoVal; // variable to read the value from the analog pin
Servo myservo1; // create servo object to control a servo

7
Servo myservo2; // create servo object to control a servo
Servo myservo3; // create servo object to control a servo

void setup() {
// Servo
myservo1.attach(servo1); // attaches the servo
myservo2.attach(servo2); // attaches the servo
myservo3.attach(servo3); // attaches the servo

// Inizialize Serial
Serial.begin(9600);
}

void loop(){
// Display Joystick values using the serial monitor
outputJoystick();

// Read the horizontal joystick value (value between 0 and 1023)


servoVal = analogRead(joyX1);
servoVal = map(servoVal, 0, 1023, 0, 160);
myservo2.write(servoVal);
delay(15);

// Read the horizontal joystick value (value between 0 and 1023)


servoVal = analogRead(joyY1);
servoVal = map(servoVal, 0, 1023, 0, 140);
myservo1.write(servoVal);
delay(15); // waits for the servo to get there

// Read the horizontal joystick value (value between 0 and 1023)


servoVal = analogRead(joyX2);
servoVal = map(servoVal, 0, 1023, 0, 180);
myservo3.write(servoVal);
delay(15); // waits for the servo to get there
}

/**
* Display joystick values
*/
void outputJoystick()
{
Serial.print(analogRead(joyX1));
Serial.print ("---");
Serial.print(analogRead(joyY1));
Serial.println ("----------------");
Serial.print(analogRead(joyX2));
Serial.println ("----------------");
}

Program 2.
#include <Servo.h>
const int servo1 = 3; // first servo
const int servo2 = 10; // second servo
const int servo3 = 11; // third servo

8
const int joyX1 = A0;
const int joyY1 = A1;
const int joyX2 = A2;

int servoVal1, servoVal2, servoVal3;


Servo myservo1; // create servo object to control a servo
Servo myservo2; // create servo object to control a servo
Servo myservo3; // create servo object to control a servo

int posServo1, posServo2, posServo3;

void setup() {
// Servo
myservo1.attach(servo1); // attaches the servo
myservo2.attach(servo2); // attaches the servo
myservo3.attach(servo3); // attaches the servo

posServo1=90;
posServo2=90;
posServo3=90;

myservo1.write(posServo1);
myservo2.write(posServo2);
myservo3.write(posServo3);

// Inizialize Serial
Serial.begin(9600);
}

void loop(){
// Display Joystick values using the serial monitor
outputJoystick();

// Read the horizontal joystick value (value between 0 and 1023)


servoVal1 = analogRead(joyX1);
servoVal1 = map(servoVal1, 0, 1023, 0, 100);
if (servoVal1>50)
{ if (posServo2>180)
posServo2= 180;
else
posServo2= posServo2+10;
}

if (servoVal1<50)
{ if (posServo2<0)
posServo2=0;
else
posServo2= posServo2-10;
}

myservo2.write(posServo2);
delay(15);

// Read the horizontal joystick value (value between 0 and 1023)


servoVal2 = analogRead(joyY1);
servoVal2 = map(servoVal2, 0, 1023, 0, 100);
if (servoVal2>50)

9
{ if (posServo1>180)
posServo1= 180;
else
posServo1= posServo1+10;
}

if (servoVal2<50)
{ if (posServo1<0)
posServo1=0;
else
posServo1= posServo1-10;
}

myservo1.write(posServo1);
delay(15); // waits for the servo to get there

// Read the horizontal joystick value (value between 0 and 1023)


servoVal3 = analogRead(joyX2);
servoVal3 = map(servoVal3, 0, 1023, 0, 100);
if (servoVal3>50)
{ if (posServo3>180)
posServo3= 180;
else
posServo3= posServo3+10;
}

if (servoVal3<50)
{ if (posServo3<=0)
posServo3= 0;
else
posServo3= posServo3-10;
}

myservo3.write(posServo3);
delay(15); // waits for the servo to get there
delay(1000);
}

void outputJoystick()
{
Serial.print (" X1= ");
Serial.print(servoVal1);
Serial.print (" S1= ");
Serial.print(posServo2);

Serial.print (" Y1= ");


Serial.print(servoVal2);
Serial.print (" S2= ");
Serial.print(posServo1);

Serial.print (" X2= ");


Serial.print(servoVal3);
Serial.print (" S3= ");
Serial.println(posServo3);
}

10
VI. Data Percobaan

Tabel 3. Data pengujian sudut motor servo program 1


Data desimal ADC Sudut Motor Servo
(serial monitor) (derajat)
RVx1 RVY1 RVX2 Motor 1 Motor 2 Motor 3
0
532
1023
0
1023
532
0
532
1023

Tabel 4. Data pengujian sudut motor servo program 2


Sudut Motor
Potensio Meter
Data tampilan Terminal Servo
(serial monitor)
(derajat)
X1 Y1 X2
X1 S1 Y1 S2 X2 S3 S1 S2 S3
(%) (%) (%)
50
51
50
49
50
51
50
49
50
51
50
49

VII. Analisa dan Kesimpulan


Lakukan analisis terhadap data yang diperoleh pada tabel 3 dan tabel 4
kemudian kaitkan dengan pengaturan nilai sudut motor servo pada program. Buatlah
kesimpulan dari hasil-hasil yang anda dapatkan pada praktikum ini.

VIII. Daftar Pustaka

11
Finawan, A., Muhaimin, Eliyani, & Hanafi. (2019). Rancang Bangun Prototipe
Pengendali Traktor Tangan Secara Jarak Jauh berbasis Mikrokontroler.
Prosiding Seminar Nasional Politeknik Negeri Lhokseumawe (p. 42).
Lhokseumawe: Politeknik Negeri Lhokseumawe.
Last Minute Engineers. (n.d.). How 2-Axis Joystick Works& Interface with Arduino
+Processing. Retrieved November 07, 2021, from Last Minute Engineers.com:
https://lastminuteengineers.com/joystick-interfacing-arduino-processing

Catatan:
pengujian sistem ini juga dapat dilakukan melalui simulasi menggunakan software
Proteus seperti rangkaian pada gambar dibawah.

Link 2

+88.8
End Effector

+88.8
ARD1
ON
Reset BTN

Link 1
www.TheEngineeringProjects.com

AREF
RXD
13
PB5/SCK
12 TXD
PB4/MISO
RESET 11
~ PB3/MOSI/OC2A
10 RTS
~ PB2/OC1B
9
~ PB1/OC1A
8 CTS
PB0/ICP1/CLKO +88.8
ATMEGA328P-PU
1121

7
ANALOG IN

PD7/AIN1
6
A0 ~ PD7/AIN1
5
PC0/ADC0
A1 ~ PD5/T1/OC0B
4
PC1/ADC1
A2 PD4/T0/XCK
3
PC2/ADC2
A3 ~ PD3/INT1/OC2B
2
PC3/ADC3 PD2/INT0
A4 1
PC4/ADC4/SDA PD1/TXD
A5
PC5/ADC5/SCL PD0/RXD 0 RVX1 RVX2
1k
50%

50%

ARDUINO UNO

1k

RVY1
1k
50%

sebelum melakukan pengujian, terlebih dahulu lakukan pengaturan terhadap ke 3 motor


servo dengan cara klik 2x pada motor servo sehingga muncul dialog serta sesuaikan
seperti gambar di bawah

12
13

Anda mungkin juga menyukai