Cara mengakses Motor Servo menggunakan Arduino

 


Hallo Semuanya pada hari ini saya akan membagikan tutorial tentang bagaimana cara mengakses Motor servo menggunakan arduino.

Sebelum itu kita harus tau apa itu 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.

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.

Servo Motor Pinout (Wires) | Basic electrical wiring, Electronics projects  diy, Motor

 

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


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)

Dan untuk Library nya bisa download di sini.

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

#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 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)

Selamat mencoba!.

 

ShneeTech

Tidak ada’kata sulit ’jika kita punya kemauan ’untuk belajar.

0 comments: