Cara mengakses Motor Servo menggunakan Arduino

Cara mengakses Motor Servo menggunakan Arduino

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.

Bagian bagian motor servo

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.

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.


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.

Pin Out Motor servo

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 Jumper

cara arduino mengakses motor servo

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 [ddownload id=”1520″]

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

/* www.nyebarilmu.com */

#include <Servo.h> // menyertakan library servo ke dalam program
Servo myservo;     // variable untuk menyimpan posisi data
int pos = 00;

void setup(){
 myservo.attach(3); //sinyal data kabel motor servo dikonekan di pin 3 Arduino
}

void loop(){
 for(pos = 00; pos < 180; pos += 1)  //fungsi perulangan yang akan dijadikan PWM dengan kenaikan 1
 {
  myservo.write(pos); //prosedur penulisan data PWM ke motor servo
  delay(15); //waktu tunda 15 ms
 }
 for(pos = 180; pos>=1; pos-=1)  //fungsi perulangan yang akan dijadikan PWM dengan penurunan 1
 {
  myservo.write(pos);
  delay(15);
 }
}

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 00, 450, 900 dan seterusnya sampai dengan 1800.

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 00 s.d 1800 sudah ditentukan oleh kontroller internal motor servo, dan cukup dengan memberikan perintah pada sudut mana motor akan berputar melalui perintah myservo.write (derajat)


Tutorial kedua mengendalikan gerakan motor servo dengan potensiometer

Bahan yang perlu dipersiapkan antara lain :

  • Arduino Uno
  • Komputer + Software IDE Arduino
  • Micro Servo
  • potensiometer 1KΩ
  • Kabel Jumper

Skema rangkaian

kendali motor servo dengan potensiometer

Koding pemrograman kedua

/* www.nyebarilmu.com */

#include <Servo.h>

Servo myservo;

int pot = A5;
int var;

void setup(){
myservo.attach(9);//penggunaan data pada pin 3 sebagai keluaran PWM
}

void loop(){
var = analogRead(pot); //pembacaan potensiometer dengan nilai 0-1023
var = map (var, 00, 1023, 00, 180); //mengubah nilai 0-1023 menjadi 0-180 derajat
myservo.write(var);
delay(10);
}

Note : pada program diatas dapat diamati langsung untuk pergerakan servo, yang akan mengikuti dari arah putaran potensiometer.

Hasil simulasi program diatas seperti dibawah ini :

simulati arduino dan motor servo, potensiometer

File diatas dibuat menggunakan Software Proteus, silahkan jika ingin memiliki file yang bisa anda improve sendiri

File proteus :  [sociallocker id=1344][ddownload id=”2247″] [/sociallocker]


Tutorial Ketiga mengakses Multiple Servo dengan Arduino Uno

Bahan yang perlu dipersiapkan antara lain :

  • Arduino Uno
  • Komputer + Software IDE Arduino
  • Micro Servo 3 pcs
  • Kabel Jumper

Skema rangkaian

servo multiple arduino

Koding pemrograman ketiga

[sociallocker id=1344]

//www.nyebarilmu.com

#include <Servo.h>

Servo servo1;
Servo servo2;
Servo servo3;

void setup() {
  servo1.attach(9);
  servo2.attach(10);
  servo3.attach(11);
}

void loop() {
 step1();
 delay(1000);
step2();
 delay(1000);
 step3();
 delay(1000);
step4();
 delay(1000);
}

void step1() {
  servo1.write(180);
  servo2.write(00);
  servo3.write(00);
}

void step2() {
  servo1.write(180);
  servo2.write(180);
  servo3.write(00);
}

void step3() {
  servo1.write(180);
  servo2.write(180);
  servo3.write(180);
}

void step4() {
  servo1.write(00);
  servo2.write(00);
  servo3.write(00);
}

[/sociallocker]

Hasil Koding program diatas

Selamat mencoba!

Terimakasih sudah berkunjung, dan semoga bermanfaat. Salam nyebarilmu.com!

2 Comments

  1. tria

    makasih ilmunya, tapi tolong mas dibuatkan pdf dan referensi sumbernya.. bukan untuk klaim tapi untuk bisa dijadikan rujukan yang valid

Leave a Reply

Your email address will not be published. Required fields are marked *