Cara Kontrol Motor Servo Dengan Menggunakan Arduino

11:18 AM

Dalam tutorial ini, Anda akan mempelajari cara kerja motor servo dan cara mengontrolnya dengan Arduino. kami telah menyertakan diagram pengkabelan dan contoh program Motor servo sering digunakan dalam proyek robotika tetapi kalian juga dapat menemukannya di mobil RC, pesawat, dll. Motor servo sangat berguna ketika kalian membutuhkan kontrol posisi yang tepat dan torsi tinggi.

Pada bagian pertama artikel ini, kita akan melihat cara kerja bagian dalam servo dan jenis sinyal kontrol yang digunakannya. Saya juga menjelaskan apa perbedaan.

Pengertian Motor Servo

Motor Servo adalah sebuah perangkat atau aktuator putar (motor) yang dirancang dengan sistem kontrol umpan balik loop tertutup (servo), sehingga dapat di set-up atau di atur untuk menentukan dan memastikan posisi sudut dari poros output motor.

Motor servo dikendalikan dengan mengirimkan sinyal PWM (pulse-width modulation) ke jalur sinyal servo. Lebar pulsa menentukan posisi poros keluaran. Saat Anda mengirim sinyal ke servo dengan lebar pulsa 1,5 milidetik (ms), servo akan bergerak ke posisi netral (90 derajat). Posisi min (0 derajat) dan maks (180 derajat) biasanya sesuai dengan lebar pulsa masing-masing 1 ms dan 2 ms. Perhatikan ini dapat sedikit berbeda antara berbagai jenis dan merek motor servo (misalnya 0,5 dan 2,5 ms). Banyak servos hanya berputar sekitar 170 derajat (atau bahkan hanya 90) tetapi posisi tengah hampir selalu pada 1,5 ms.

Servo 360 derajat (kontinu) vs 180 derajat (standar)

Sebagian besar servo RC berasal dari variasi 180 derajat, yang berarti mereka hanya dapat berputar dalam kisaran 0 hingga 180 derajat. Namun, rotasi terus menerus, juga dikenal sebagai motor servo 360 derajat, juga tersedia.

Servo rotasi kontinu bereaksi berbeda terhadap sinyal kontrol dibandingkan servo standar 180 derajat. Dengan servo rotasi kontinu, Anda tidak dapat mengontrol posisi yang tepat dari poros keluaran, hanya kecepatan dan arahnya. Pulsa 1 ms akan mengatur kecepatan motor servo ke kecepatan penuh di satu arah dan pulsa 2 ms ke kecepatan penuh di arah lain. Nilai mendekati 1,5 ms memungkinkan motor berhenti.

 

Motor Servo

Motor servo biasanya memiliki 3 buah kabel berwarna hitam/cokelat, merah dan oranye/kuning. 

  • Kabel berwarna merah adalah kabel power (+), besarnya tegangan tergantung dari tipe motor servo yang dapat ditemukan pada datasheet motor servo, namun biasanya berkisar antara (5V-9V).
  • Kabel berwarna hitam/cokelat adalah kabel ground(-).
  • Kabel berwarna oranye/kuning adalah kabel pulsa/data. 

Jadi bagaimana cara mengontrol motor servo dengan menggunakan arduino ?

  • Siapkan Arduino beserta kabel datanya
  • Motor Servo Dc SG90/ dapat dilihat pada gambar diatas
  • Kabel jumper secukupnya
motor servo dengan arduino uno

Cara merakit rangkaian motor servo dengan arduio dapat dilihat pada gambar diatas

Menghubungkan motor servo sangat mudah karena kalian hanya perlu menghubungkan tiga kabel: daya, ground, dan sinyal. Kabel daya biasanya berwarna merah dan perlu disambungkan ke 5 V, untuk penjelasan lebih rincinya dapat disimak pada keterangan dibawah ini

  • Warna merah motor servo, dihubungkan ke pin 5V Arduino
  • Warna hitam/coklat motor servo, dihubungkan ke pin Gnd Arduino
  • Warna kuning motor servo, dihubungkan ke pin 2 Arduino (dapat digunakan pin lainnya) 

Servo mikro seperti SG90 mengkonsumsi sekitar 10 mA saat idle dan 100 – 250 mA saat berputar, sehingga kalian dapat menyalakannya secara langsung dengan output 5 V dari Arduino. Namun, kalian harus berhati-hati saat menggunakan lebih dari satu motor servo. Jika motor servo kalian mengkonsumsi daya lebih dari 300 mA, kalian harus menggunakan catu daya eksternal untuk menghindari kerusakan Arduino. Seperti menggunakan catu daya dari power supply atau yang lainnya.

Program Motor Servo

Untuk mengontrol motor servo kita akan menggunakan library Servo.h yang sudah diinstal sebelumnya dengan Arduino IDE. Dengan kode contoh di bawah ini, Anda dapat mengontrol posisi yang tepat dari motor servo dan juga termasuk kode untuk menggerakkan lengan servo maju mundur secara otomatis.

kalian dapat menyalin program arduino dibawah ini dan pastekan ke project Arduino IDE kalian.

[program motor servo]

#include  //library servo

Servo myservo; // membuat variabel servo untuk dikendalikan

int pos = 0; // deklarasi variabel untuk posisi sudut

void setup()

{

 myservo.attach(9); //deklarasi servo pada pin 9

}

void loop()

{

  for(pos = 0; pos < 180; pos+= 1) // perulangan untuk posisi 0 sampai 180 derajat

  { // step setiap 1 derajat

   myservo.write(pos); // memerintahkan servo ke posisi derajat sesuai nilai variabel pos

   delay(15); // menunggu 15 milidetik

  }

  for(pos = 180; pos>=1; pos-=1) // perulangan untuk posisi 180 sampai 0 derajat

  {

   myservo.write(pos); // memerintahkan servo ke posisi derajat sesuai nilai variabel pos

   delay(15); // menunggu 15 milidetik

  }

}

Motor servo banyak digunakan dalam berbagai pengaplikasian, misalnya pada pesawat aeromodeling servo digunakan untuk menggerakkan sayap pesawat untuk berbelok, kemudia pada bidang industri motor servo digunakan untuk lengan lengan robot tertentu karena servo ini memiliki prinsip sama dengan sendi pada manusia dan masih banyak lagi alat yang penerapnnya menggunakan motor servo. Sekian penjelasan dari artikel kali ini semoga bermanfaat dan selamat mencoba...


Next Article
« Prev Post
Previous Article
Next Post »
Disqus
Tambahkan komentar Anda

No comments