0% menganggap dokumen ini bermanfaat (0 suara)
186 tayangan

Motor Servo Dengan Arduino

Dokumen tersebut memberikan tutorial lengkap tentang cara membuat dan mengakses motor servo menggunakan Arduino, mulai dari penjelasan komponen motor servo, cara menghubungkannya ke Arduino, contoh kode program, hingga cara merakit lengan robot menggunakan beberapa motor servo dan diatur gerakannya melalui joystick."

Diunggah oleh

Maulana Nur Ikhsan
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 DOCX, PDF, TXT atau baca online di Scribd
0% menganggap dokumen ini bermanfaat (0 suara)
186 tayangan

Motor Servo Dengan Arduino

Dokumen tersebut memberikan tutorial lengkap tentang cara membuat dan mengakses motor servo menggunakan Arduino, mulai dari penjelasan komponen motor servo, cara menghubungkannya ke Arduino, contoh kode program, hingga cara merakit lengan robot menggunakan beberapa motor servo dan diatur gerakannya melalui joystick."

Diunggah oleh

Maulana Nur Ikhsan
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 DOCX, PDF, TXT atau baca online di Scribd
Anda di halaman 1/ 8

Nama : Aulia Rahman Yunus

NPM : 1857201006
Prodi : Sistem Informasi
Mata Kuliah : ROBOTIK

RESUME
Cara mengakses Motor Servo menggunakan Arduino

1. Pengertian

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.

Adanya komponen potensiometer difungsikan sebagai feedback nilai yang akan diolah menjadi
data posisi aktual.
Sedangkan fungsi dari controller servo yaitu memberikan sinyal – sinyal PWM (Pulse Width
Modulator) untuk menggerakan motor melalui kabel motor.
Macam tipe – tipe dari motor servo ini ada 2 yaitu tipe standard dan tipe Continous.
 Tipe standar berputarnya dibatasi sebesar 180° dan tipe ini sering banyak dipakai pada
sistem robotika seperti  Arm Robot / Robot Lengan.
 Tipe continuous mempunyai kriteria perputaran motornya sebesar 360°contoh aplikasinya
pada mobil robot.

Pada setiap body servo terdapat informasi akan identitas tipe servo tersebut. Secara standar,
motor servo terdiri atas 3 kabel yaitu kabel power / VCC, kabel GND serta kabel signal.

1. Tutorial mengakses motor servo dengan Arduino Uno

Pada tutorial kali ini akan dicontohkan eksperimen dengan motor servo jenis mikro yang
banyak dijual di pasaran dengan harga terjangkau.
Motor servo ini disebut micro servo dikarenakan ukurannya yang kecil dan memutuhkan
tegangan atau arus yang kecil pula.

Spesifikasinya kurang lebih sebagai berikut :

 tegangan kerja : 4,8 – 6 Vdc


 torsi : 1,6 kg/cm
 arus : < 500 mA
 dimensi : 22 x 12,5 x 29,5 cm
 berat : 9 gr
 kecepatan putaran: 0,12 detik/60 derajat
Bahan yang perlu dipersiapkan antara lain :

 Arduino Uno
 Komputer + Software IDE Arduino
 Micro Servo
 Kabel Jumpe

Keterangan :

 Warna merah servo, dihubungkan ke pin 5V Arduino


 Warna hitam/coklat servo, dihubungkan ke pin Gnd Arduino
 Warna orange servo (kabel data/perintah), dihubungkan ke pin 9 Arduino (dapat digunakan
pin lainnya)

Library yang dapat digunakan yaitu

Peletakan Library pada OS :


1. Mac : (home directory)/Documents/Arduino/libraries
2. PC (Windows) : My Documents -> Arduino -> libraries
3. Linux : (home directory)/sketchbook/libraries
Contoh kode pemrograman sederhana

Keterangan program :
Untuk progam di atas, sudut putaran yang dapat dituju maksimal yaitu 180°.
Sehingga menjadi batasan range posisi derajat yang dapat digunakan yaitu 0 – 180°.

Dengan menggunakan servo ini sudah tidak berbicara lagi mengenai putar searah (Clock Wise)
atau berlawanan arah jarum jam (Clock Counter Wise) tapi sudut 0, 45, 90 dan seterusnya
sampai dengan 180.

Apabila ingin mendapatkan posisi 90° dan bergerak berlawanan arah jarum jam maka
dituliskan perintah myservo.write (90); setelah itu dituliskan myservo.write (0);.
Akan tetapi jika ingin mendapatkan posisi 90° dan serarah jarum jam maka
dituliskan perintah myservo.write (90); setelah itu dituliskan perintah myservo.write (180);.
Jadi posisi 0 s.d 180 sudah ditentukan oleh kontroller internal motor servo, dan cukup dengan
memberikan perintah pada sudut mana motor akan berputar melalui perintah myservo.write
(derajat)
Cara merakit ROBOT ARM
Lengan Robot atau biasa disebut Robotic Arm adalah jenis lengan mekanik yang kemudian
di program dengan fungsi mirip dengan lengan manusia. Lengan merupakan jumlah total
mekanisme atau bagian dari robot yang lebih kompleks. Dalam project ini kami membuat robotic
arm yang berfungsi untuk memindahkan benda-benda yang berdiameter 3cm dari tempat satu
kesisi tempat lain, dengan dikendalikan oleh joystick. Untuk membuat robotic arm dibutuhkan
alat dan bahan sebagai berikut :

 3 Buah Servo
 1 Buah micro servo
 1 Buah bread board
 1 Buah Arduino
 Jumper Secukupnya
 Kabel USB
 Baterai 9 Volt
 Kawat Besi
 2 Joyatick module
Setelah menyiapkan semua alat dan bahan yang dibutuhkan maka langkah pertama yang
harus dilakukan adalah membuat sketsa dan modelling. Sketsa di buat menggunakan aplikasi
solidwork untuk gambaran bentuk sebuah kerangkan penyusun Robotic Arm. Di langkah tahap
satu ini adalah tahap yang cukup panjang karena perbagian kita bikin satu per satu agar setiap
bagian bisa merakit sebuah kerangka utuh berbentuk Arm. Setelah membuat kerangka yang akan
disusun kemudian tahap selanjutnya yaitu mebuat joystick yang digunkan untuk mengendalikan
Robotic Arm dengan menggunakan dua buah tombol untuk mengkontrol gerak Robotic Arm.
Agar sketsa yang kita buat menjadi bentuk yang nyata yaitu kita perlu mencetaknya dengan 3D
printing.
Bagian terbaik dari produksi alat ini adalah perakitan, karena di bagian ini selain merakit
kerangka kita juga memasang servo di setiap bagian yang telah ditentukan,
setelah pemasangan servo setiap bagian selesai hal yang membutuhkan sebuah ketelatenan
yaitu memasang kawat besi yang digunakan untuk menghubungkan servo ke bagian kerangka
atau bagan arm robot. Agar bagan arm robot bisa bergerak karena servo, hal yang harus
dilakukan adalah membuat program didalam servo tersebut menggunakan arduino. Kemudian
setelah perakitan selesai  yang dilakukan adalah membuat program dan PCB.Yang mana
pemrograman tersebut menggunakan aplikasi arduino dan sebelum mebuat PCB langkah yang
dilakukan adalah membuat skematik pada aplikasi eagle ,setelah skematik sudah dibuat langkah
berikut nya adalah mencetak skematik tersebut dan menyetrikanya di atas PCB agar jalur nya
menempel. Setelah menempelkan skematik pada PCB yaitu melakukan pengeboran yang
bertujuan untuk melubangi PCB agar komponen yang telah disiapkan bisa dipasasang sesuai
jalur skematik pada PCB, lakukanlah penyolderan saat semua komponen pada PCB sudah
terpasang agar komponen tersebut tidak mudah lepas.
Bukan hanya servo yang di program agar bisa menggerakan kerangka tetapi joystick juga di
program di arduino agar bisa mengkontrol gerak dari srvo tersebut, dalam hal ini program uang
di buat oleh kelompok kami adalah sebagai berikut:
 
#include <Servo.h>
Servo servo1;//servo1 kanan-kiri
Servo servo2;//servo2 atas-bawah lengan
Servo servo3;//servo3 naik-turun tangan
Servo servo4;//servo4 buka-tutup capit
int joyXkanan = 0;
int valjoyXkanan;
int posisisatu = 0;
int joyYkanan = 1;
int valjoyYkanan;
int posisidua = 0;
int joyXkiri = 2;
int valjoyXkiri;
int posisitiga = 0;
int joyYkiri = 3;
int valjoyYkiri;
int posisiempat = 0;
int DELAY = 100;
int RANGE = 2  ;
void setup() {
Serial.begin(9600);
servo1.attach(3);
servo2.attach(5);
servo3.attach(6);
servo4.attach(9);
}
void loop() {
valjoyXkanan = analogRead(joyXkanan);
valjoyXkanan = map(valjoyXkanan, 0, 1023, 0, 180);
if (valjoyXkanan >= 100)
posisisatu = posisisatu + RANGE;
if (posisisatu >= 177)posisisatu = 177;
//maka nilai yang lebih besar akan = 177,
servo1.write(posisisatu); delay(DELAY);
Serial.println(posisisatu);
Serial.print(“\t”);
//pembacaan pada serial monitor
if (valjoyXkanan <= 80)
posisisatu = posisisatu – RANGE;
if (posisisatu <= 0)posisisatu = 0;
servo1.write(posisisatu); delay(DELAY);
Serial.println(posisisatu);
Serial.print(“\t \t”);
valjoyYkanan = analogRead(joyYkanan);
valjoyYkanan = map(valjoyYkanan, 0, 1023, 0, 180);
if (valjoyYkanan >= 100)
posisidua = posisidua + RANGE;
if (posisidua >= 143)posisidua = 143;
servo2.write(posisidua); delay(DELAY);
Serial.println(posisidua);
if (valjoyYkanan <= 80)
posisidua = posisidua – RANGE;
if (posisidua <= 0)posisidua = 0;
servo2.write(posisidua); delay(DELAY);
Serial.println(posisidua);
Serial.print(“\t \t \t”);
valjoyXkiri = analogRead(joyXkiri);
valjoyXkiri = map(valjoyXkiri, 0, 1023, 0, 180);
if (valjoyXkiri >= 100)
posisitiga = posisitiga + RANGE;
if (posisitiga >= 180)posisitiga = 180;
servo3.write(posisitiga); delay(DELAY);
Serial.println(posisitiga);
Serial.print(“\t \t \t \t”);
if (valjoyXkiri <= 80)
posisitiga = posisitiga – RANGE;
if (posisitiga <= 75)posisitiga = 75;
servo3.write(posisitiga); delay(DELAY);
Serial.println(posisitiga);
Serial.print(“\t \t \t \t \t”);
valjoyYkiri = analogRead(joyYkiri);
valjoyYkiri = map(valjoyYkiri, 0, 1023, 0, 180);
if (valjoyYkiri >= 100)
posisiempat = posisiempat + RANGE;
if (posisiempat >= 180)posisiempat = 180;
servo4.write(posisiempat); delay(DELAY);
Serial.println(posisiempat);
Serial.print(“\t \t \t \t \t \t”);
if (valjoyYkiri <= 80)
posisiempat = posisiempat – RANGE;
if (posisiempat <= 36)posisiempat = 36;
servo4.write(posisiempat); delay(DELAY);
Serial.println(posisiempat);Serial.print(“\t \t \t \t \t \t \t”);
}

Anda mungkin juga menyukai