Motor Servo: Pengertian, Cara Kerja, Kelebihan, Kekurangan dan Aplikasinya

Motor servo, pengertian, cara kerja, kelebihan, kekurangan dan aplikasinya.
Pengertian dan Cara Kontrol Servo Menggunakan Arduino

Apa itu Motor Servo?

Dikutip dari Sparkfun, motor servo (servomechanism) adalah sebuah mekanisme dimana motor (jenis apa pun) yang dikendalikan menggunakan sistem kontrol umpan balik (close loop control).

Dikutip dari Wikipedia, motor servo bukan merupakan kelas motor tertentu, meskipun istilah servo motor sering digunakan untuk merujuk pada motor yang cocok untuk digunakan dalam sistem kontrol tertutup.

Oleh karenanya tipe motor tidak terlalu penting bagi servo motor dan berbagai jenis motor dapat digunakan. Pada motor servo yang sederhana biasa menggunakan motor DC, sedangkan motor servo kelas industri kecil umumnya menggunakan motor brushless.

Motor servo bekerja berdasarkan mekanisme close loop control, dimana terdapat umpan balik (informasi) berupa posisi poros dan kecepatan yang diberikan kembali ke kontrol internal motor servo, walaupun umumnya hanya ada umpan balik posisi.

Sensor yang digunakan pada motor servo biasanya adalah potensiometer pada servo sederhana dan rotary encoder pada servo yang lebih baru. Algoritma kendali pada motor servo umumnya menggunakan kontrol PID (Proportional Integral and Derivative).

Rekomendasi Artikel: Menggunakan Sensor HC-SR04 Tanpa Library Pada Arduino

Apa maksud sistem kendali umpan balik?

Maksudnya adalah di dalam servo terdapat sebuah sensor untuk mendeteksi sudut servo secara langsung. Kemudian informasi tersebut dikirim lagi ke pengendali. Sensor yang paling umum digunakan pada motor servo standar adalah berupa potensiometer.  jadi apabila sudut motor servo belum mencapai target maka motor akan terus berputar hingga mencapai target. 

Pengertian dan Cara Kontrol Servo Menggunakan Arduino

Motor servo sederhana 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. 

Rekomendasi Artikel: Memperhalus Pembacaan Sensor pada Arduino

Cara Kerja

Di kutip dari SparkfunJika kita membuka motor servo sederhana, kita akan selalu menemukan tiga komponen utama di dalamnya, yaitu:
  • Motor DC.
  • Rangkaian pengendali.
  • Potensiometer atau rotary encoder.
Bagian utama pada motor servo (sumber: Sparkfun)

Motor DC umumnya akan terhubung dengan gearbox sebelum ke poros utama, hal ini guna meningkatkan torsi motor. Rangkaian pengendali berfungsi untuk menerima sinyal masukan dari pengontrol eksternal (seperti mikrokontroler), kemudian menggerakkan motor DC sesuai dengan perintah tersebut. Sedangkan potensiometer berfungsi sebagai sensor pendeteksi posisi poros keluaran.

Kelebihan Menggunakan Motor Servo

Kelebihan menggunakan motor servo adalah:

  • Tidak bergetar dan tidak beresonansi saat beroperasi.
  • Daya yang dihasilkan sebanding dengan ukuran dan berat motor.
  • Penggunaan arus listik sebanding dengan beban yang diberikan.
  • Resolusi dan akurasi dapat diubah dengan hanya mengganti encoder yang dipakai.
  • Tidak berisik saat beroperasi dengan kecepatan tinggi.
  • Sangat presisi. 

Rekomendasi Artikel: Menggunakan Sensor Suhu LM35 dengan Arduino dan Tampilan LCD

Kekurangan Motor Servo

Kelemahan menggunakan motor servo adalah:

  • Harga motor servo tergolong mahal.
  • Berpotensi rusak jika terjadi overload.

Rekomendasi Artikel: Tutorial Lengkap Menggunakan Driver L298N dengan Arduino

Aplikasi Motor Servo

Penggunaan motor servo sangat luas terutama dalam bidang robotika. Berikut aplikasi motor servo:

  • Sebagai penggerak (aktuator) pada kaki robot. Motor servo banyak digunakan pada proyek robotika karena motor servo mudah dikendalikan serta memiliki torsi (kekuatan) yang baik, sehingga sangat cocok untuk menggerakkan keseluruhan badan robot. 
    Pengertian dan Cara Kontrol Servo Menggunakan Arduino
  • Lengan robot. Yang satu ini masih dalam bidang robotika, motor servo banyak digunakan pada lengan robot karena motor servo mudah dikendalikan serta akurasi dan presisi yang sangat baik.
    Pengertian dan Cara Kontrol Servo Menggunakan Arduino

  • Penggerak alat lainnya.

Rekomendasi Artikel: Pengertian Mikrokontroler, Struktur dan Jenis-Jenisnya

Cara Kontrol Motor Servo Menggunakan Arduino

Cara mengontrol motor servo menggunakan Arduino sangat mudah karena Arduino memiliki perpustakaan sendiri untuk menggunakan servo. Kali ini kita akan mencoba untuk mengontrol servo agar servo dapat berputar ke posisi yang kita ingin kan, misalnya mengatur motor servo berputar ke sudut 90°.

Rekomendasi Artikel: Mengenal Fungsi constrain() pada Arduino

Alat Dibutuhkan

Berikut alat yang dibutuhkan:

  1. 1x Motor Servo (saya pakai Micro Servo MG90s).
  2. 1x Arduino Uno (tipe lain juga bisa).

Hubungan Antara Motor Servo dan Arduino

Berikut adalah cara menghubungkan kabel pada motor servo ke Arduino:

  1. Kabel hitam/cokelat terhubung ke ground.
  2. Kabel kuning/oranye terhubung ke port 7 Arduino.
  3. Kabel merah terhubung ke sumber tegangan (sebaiknya mengambil dari sumber tegangan eksternal).

Sumber tegangan eksternal:

Pengertian dan Cara Kontrol Servo Menggunakan Arduino

Sumber tegangan dari Arduino:

Pengertian dan Cara Kontrol Servo Menggunakan Arduino

Kode Program

Di bawah ini adalah kode program yang akan kita gunakan untuk mengontrol motor servo dengan Arduino. Salin kode program di bawah ini kemudian tempel di software Arduino IDE. 

#include <Servo.h>
Servo myServo;

void setup() {
  myServo.attach(7);
  delay(100);
}

void loop() {
  myServo.write(0);
  delay(1000);
  myServo.write(90);
  delay(1000);
}

Penjelasan Kode Program

#include <Servo.h>

Baris program di atas berfungsi untuk menyertakan sebuah library yang bernama Servo.h. Library ini adalah library yang sejak awal sudah kita singgung sebagai library bawaan Arduino IDE agar kita dapat mengendalikan motor servo dengan mudah.

Servo myServo;

Baris program di atas berfungsi untuk mendeklarasikan atau menginisialisasi sebuah variabel servo yang bernama myServo. Jika kita ingin mengontrol 2 buah motor servo sekaligus, kita dapat langsung menambahkan variabel servo baru misalnya dengan nama myServo_2. Nama antara servo satu dengan yang lainnya tidak boleh sama.

myServo.attach(7);

Baris program di atas berfungsi untuk menginisialisasi pin Arduino yang terhubung pada pin data motor servo (kabel oranye/kuning). Di sini kita menggunakan pin 7 pada Arduino untuk mengontrol motor servo.

delay(100);

Baris program di atas berfungsi untuk memberi jeda waktu selama 1 detik (1000 ms).

myServo.write(0);

Baris program di atas berfungsi untuk mengontrol motor servo agar berputar ke sudut 0°.

delay(1000);

Baris program di atas berfungsi untuk memberi jeda waktu selama 1 detik (1000 ms).

myServo.write(90);

Baris program di atas berfungsi untuk mengontrol motor servo agar berputar ke sudut 90°.

delay(1000);

Baris program di atas berfungsi untuk memberi jeda waktu selama 1 detik (1000 ms).

Langkah-Langkah

Berikut adalah langkah-langkahnya.

  1. Pertama buatlah rangkaian yang menghubungkan antara Arduino dengan motor servo seperti gambar di atas.
  2. Jika sudah hubungkan Arduino dengan PC/laptop menggunakan kabel USB.
  3. Kemudian salin keseluruhan kode program di atas dan tempelkan pada software Arduino IDE.
  4. Pada software Arduino IDE pilih tab tools dan atur jenis Arduino yang Anda gunakan serta pilih PORT USB dimana papan Arduino kamu terhubung.
  5. Jika sudah benar, tekan tombol upload atau unggah kalau Anda menggunakan Bahasa Indonesia.
  6. Jika proses upload sudah selesai seharusnya servo sudah bergerak seperti gambar di bawah.

Hasil

Pengertian dan Cara Kontrol Motor Servo Menggunakan Arduino

Penutup

Itulah dia cara pengertian motor servo serta cara mengontrolnya. Semoga artikel ini membantu dan jangan lupa untuk membaca artikel kami lainnya tentang tutorial Arduino

Penghobi Elektronika