Pengertian Servo dan Cara Kontrol Servo Menggunakan Arduino
Deskripsi Singkat Motor Servo
Apa itu Motor Servo?
Singkatnya motor servo adalah sebuah motor yang dapat diatur sudutnya menggunakan pulsa. Motor servo bisa dikendalikan karena di dalam motor servo terdapat pengontrol yang menerapkan prinsip close loop (sistem umpan balik).
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.
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.
Rekomendasi Artikel: Memperhalus Pembacaan Sensor pada Arduino
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 (tergantung torsi dan tipe motor servo).
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.
- 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.
- Penggerak alat lainnya.
Rekomendasi Artikel: Pengertian Mikrokontroler, Struktur dan Jenis-Jenisnya
Jadi Bagaimana 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:
- 1x Motor Servo (saya pakai Micro Servo MG90s).
- 1x Arduino Uno (tipe lain juga bisa).
Hubungan Antara Motor Servo dan Arduino
Berikut adalah cara menghubungkan kabel pada motor servo ke Arduino:
- Kabel hitam/cokelat terhubung ke ground.
- Kabel kuning/oranye terhubung ke port 7 Arduino.
- Kabel merah terhubung ke sumber tegangan (sebaiknya mengambil dari sumber tegangan eksternal).
Sumber tegangan eksternal:
Sumber tegangan dari 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.
- Pertama buatlah rangkaian yang menghubungkan antara Arduino dengan motor servo seperti gambar di atas.
- Jika sudah hubungkan Arduino dengan PC/laptop menggunakan kabel USB.
- Kemudian salin keseluruhan kode program di atas dan tempelkan pada software Arduino IDE.
- Pada software Arduino IDE pilih tab tools dan atur jenis Arduino yang Anda gunakan serta pilih PORT USB dimana papan Arduino kamu terhubung.
- Jika sudah benar, tekan tombol upload atau unggah kalau Anda menggunakan Bahasa Indonesia.
- Jika proses upload sudah selesai seharusnya servo sudah bergerak seperti gambar di bawah.
Hasil
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.