Motor, Arduino, TUTORIAL

Mengenal Servo Motor: Penjelasan, Jenis, dan Cara Menggunakan untuk Proyek Elektronik

Apa Itu Servo Motor

Servo motor adalah motor listrik yang dapat dikontrol posisi sudutnya secara presisi.

Berbeda dengan motor DC biasa yang hanya berputar terus selama diberi tegangan, servo dirancang untuk:

  • Bergerak ke sudut tertentu (misalnya 0°, 90°, 180°)
  • Berhenti di posisi tersebut
  • Menahan posisinya meskipun ada beban ringan

Itu sebabnya servo sering dipakai pada sistem yang membutuhkan kontrol gerakan yang akurat.

Kenapa servo bisa presisi?

Karena di dalam servo sudah terdapat:

  1. Motor DC kecil
  2. Gearbox (untuk memperbesar torsi)
  3. Potensiometer (sensor posisi)
  4. Rangkaian kontrol internal

Potensiometer ini memberikan feedback posisi ke sistem kontrol di dalam servo. Jadi ketika kamu memberi perintah sudut tertentu, servo akan menyesuaikan diri sampai posisi yang diinginkan tercapai. Motor biasa tidak punya sistem feedback seperti ini. Dia cuma bisa muter.

Cara Kerja Servo

Servo motor bekerja dengan prinsip dasar kontrol posisi dan feedback posisi menggunakan sistem PWM (Pulse Width Modulation). Berikut adalah proses langkah demi langkah cara kerja servo motor:

  1. Penerimaan Sinyal PWM
    Servo menerima sinyal PWM (Pulse Width Modulation) dari mikrokontroler (seperti Arduino). Lebar pulsa menentukan posisi yang diinginkan:
    1 ms = 0°
    1.5 ms = 90°
    2 ms = 180°
  2. Posisi yang Diharapkan
    Servo akan bergerak ke posisi yang sesuai dengan sinyal PWM.
  3. Feedback Posisi
    Potensiometer di dalam servo memberikan informasi posisi ke sistem kontrol. Jika posisi tidak sesuai, motor bergerak lagi.
  4. Pencapaian dan Pemeliharaan Posisi
    Servo berhenti setelah mencapai posisi yang diinginkan dan mempertahankan posisi tersebut meskipun ada beban eksternal.

Macam-Macam Servo

  1. Servo Positional (180°)
    • Rotasi terbatas antara 0° hingga 180°.
    • Umumnya digunakan untuk aplikasi seperti robot arm atau steering.
  2. Servo Continuous (360°)
    • Rotasi penuh 360°, tanpa kontrol posisi.
    • Digunakan untuk aplikasi yang membutuhkan kecepatan dan arah rotasi, seperti robot car atau conveyor.
  3. High Torque Servo
    • Memiliki torque lebih besar dibandingkan servo biasa.
    • Digunakan untuk aplikasi yang membutuhkan kekuatan ekstra, seperti robot industri atau mekanisme berat.
  4. Micro Servo
    • Ukuran kecil, cocok untuk aplikasi dengan ruang terbatas.
    • Biasanya digunakan untuk proyek robot kecil atau hobi.

Spesifikasi Servo Motor

  1. Tegangan Operasi (Operating Voltage)
    Rentang tegangan yang dibutuhkan agar servo dapat bekerja, biasanya 4.8V–6V untuk servo standar seperti SG90.
  2. Torque (Torsi)
    Kemampuan servo untuk mengangkat beban. Biasanya diukur dalam kg·cm.
    Contoh: SG90 memiliki torque sekitar 1.8 kg·cm, artinya bisa mengangkat beban hingga 1.8 kg pada jarak 1 cm dari pusat poros.
  3. Kecepatan (Speed)
    Waktu yang dibutuhkan servo untuk bergerak dari 0° ke 180°. Misalnya, 0.1 s/60° berarti membutuhkan 0.1 detik untuk bergerak 60 derajat.
  4. Kontrol Sinyal
    Servo motor dikendalikan menggunakan sinyal PWM. Lebar pulsa (1–2 ms) menentukan posisi sudut servo.
  5. Berat (Weight)
    Berat servo, biasanya dihitung dalam gram. Misalnya, SG90 memiliki berat sekitar 9 gram.
  6. Ukuran
    Ukuran fisik servo bisa bervariasi, dengan micro servo berukuran kecil, dan high torque servo lebih besar dan lebih berat.
SpesifikasiMicro Servo (SG90)Standard Servo (MG996R)High Torque Servo (MG995)Continuous Rotation Servo (FS90R)Micro Servo (MG90S)
Tegangan Operasi4.8V–6V4.8V–6V4.8V–6V4.8V–6V4.8V–6V
Torque1.8 kg·cm9.4 kg·cm11 kg·cm2.2 kg·cm
Kecepatan0.1 s/60°0.15 s/60°0.15 s/60°Tergantung PWM0.12 s/60°
Kontrol SinyalPWM (1ms–2ms)PWM (1ms–2ms)PWM (1ms–2ms)PWM (kontrol arah & kecepatan)PWM (1ms–2ms)
Berat9 gram55 gram55 gram19 gram13 gram
UkuranKecilLebih besarLebih besarKecilKecil

Pinout Servo

Servo motor standar biasanya memiliki 3 kabel, yang masing-masing memiliki fungsi tertentu. Berikut adalah penjelasan mengenai pinout dan fungsi setiap kabelnya:

Warna KabelFungsiDeskripsi
MerahVCC (Power)Kabel ini dihubungkan ke sumber 5V untuk memberikan daya kepada servo. Beberapa servo juga bisa bekerja dengan 4.8V.
Coklat / HitamGND (Ground)Kabel ini dihubungkan ke ground atau negatif dari sumber daya. Pastikan ground servo dan mikrokontroler terhubung.
Orange / KuningSignal (PWM)Kabel ini menerima sinyal PWM dari mikrokontroler (misalnya, Arduino) untuk mengontrol posisi servo.

Wiring Servo ke Arduino

Komponen yang dibutuhkan :

  1. Arduino Uno
  2. Kabel USB
  3. Servo sg90
Kabel ServoPin ArduinoCatatan
Signal (Orange)Pin 9 (PWM)Mengirim sinyal PWM ke servo
VCC (Merah)5V (Arduino)Menyediakan daya untuk servo
GND (Coklat)GND (Arduino)Ground harus terhubung ke Arduino

Catatan Penting:

  • Jangan hubungkan VCC ke pin 5V Arduino jika menggunakan servo dengan torsi tinggi seperti MG996R, karena dapat membebani pin 5V pada Arduino. Gunakan sumber daya eksternal untuk servo besar.
  • Common Ground: Pastikan ground Arduino dan ground sumber daya eksternal (jika digunakan) terhubung.

Contoh Program Arduino

#include <Servo.h>  // Mengimpor library Servo

Servo myServo;  // Membuat objek servo

void setup() {
  myServo.attach(9);  // Menentukan pin untuk signal servo (Pin 9)
}

void loop() {
  myServo.write(0);    // Menggerakkan servo ke posisi 0°
  delay(1000);          // Menunggu selama 1 detik
  
  myServo.write(90);   // Menggerakkan servo ke posisi 90°
  delay(1000);          // Menunggu selama 1 detik
  
  myServo.write(180);  // Menggerakkan servo ke posisi 180°
  delay(1000);          // Menunggu selama 1 detik
}

Penjelasan Program:

  1. #include <Servo.h>: Mengimpor library Servo agar dapat mengontrol servo dengan mudah.
  2. Servo myServo: Membuat objek myServo untuk mengontrol servo.
  3. myServo.attach(9): Menentukan bahwa sinyal PWM servo akan diterima oleh pin 9 Arduino.
  4. myServo.write(): Fungsi ini mengatur posisi servo. Nilai 0 untuk posisi 0°, 90 untuk 90°, dan 180 untuk 180°.
  5. delay(1000): Memberikan jeda selama 1 detik antara setiap pergerakan servo.

Hasil Program

Servo akan bergerak secara berurutan dari posisi 0° ke 90° dan 180°, dengan jeda 1 detik di setiap posisi.

Dengan program ini, kamu dapat mengontrol servo motor untuk bergerak ke sudut yang diinginkan!

Ide Project Menggunakan Servo

Berikut beberapa ide proyek menggunakan servo motor yang bisa kamu coba, baik untuk pemula maupun proyek yang lebih kompleks:

  1. Robot Arm Mini
    > Deskripsi: Gunakan beberapa servo untuk membuat robot arm mini yang bisa menggerakkan lengan robot ke berbagai posisi. Proyek ini akan melibatkan pengontrolan beberapa servo untuk mengatur berbagai bagian lengan robot (siku, pergelangan tangan, dan jari).
    > Komponen: Arduino, 4–6 servo motor, struktur lengan robot, kabel, sumber daya eksternal.
  2. Steering Robot Car
    > Deskripsi: Gunakan servo untuk mengontrol roda depan mobil robot. Dengan servo, kamu dapat mengontrol arah putaran mobil, membuatnya bergerak mengikuti perintah atau rute tertentu.
    > Komponen: Arduino, 2 servo untuk roda depan, motor DC untuk penggerak, sensor (optional).
  3. Smart Door Lock
    > Deskripsi: Membuat sistem kunci pintu otomatis menggunakan servo untuk membuka dan menutup kunci. Sistem ini bisa dikendalikan melalui tombol atau aplikasi.
    > Komponen: Arduino, servo, sensor, sistem kunci pintu, modul Wi-Fi/Bluetooth (untuk kontrol jarak jauh).
  4. Smart Trash Can
    > Deskripsi: Gunakan servo untuk membuka dan menutup penutup tempat sampah secara otomatis saat mendeteksi kedekatan tangan atau objek lainnya. Ini bisa dilakukan menggunakan sensor jarak atau sensor inframerah.
    > Komponen: Arduino, sensor jarak (ultrasonic), servo, wadah sampah, sumber daya eksternal.
  5. Pan-Tilt Camera System
    > Deskripsi: Proyek kamera yang dapat diputar (pan) dan dimiringkan (tilt) menggunakan dua servo. Sistem ini cocok untuk aplikasi pemantauan atau robot pengintai.
    > Komponen: Arduino, 2 servo, kamera (atau modul kamera seperti ESP32-CAM), kabel, sumber daya.
  6. Automatic Plant Watering System
    > Deskripsi: Gunakan servo untuk menggerakkan pompa air atau valve untuk menyiram tanaman secara otomatis berdasarkan waktu atau pembacaan sensor kelembapan tanah.
    > Komponen: Arduino, servo, sensor kelembapan tanah, pompa air/valve, selang, wadah air.
  7. Face Tracking System
    > Deskripsi: Gunakan servo untuk memutar kamera (pan-tilt) agar dapat mengikuti gerakan wajah. Proyek ini bisa dikembangkan dengan menggunakan modul kamera dan algoritma pengenalan wajah.
    > Komponen: Arduino, 2 servo, kamera, modul pengenalan wajah, sensor.
  8. Automated Blinds System
    > Deskripsi: Gunakan servo untuk menggerakkan tirai atau blinds secara otomatis berdasarkan cahaya atau waktu tertentu. Bisa juga dihubungkan ke aplikasi untuk kontrol jarak jauh.
    > Komponen: Arduino, servo, sensor cahaya, tirai/blinds, modul Wi-Fi/Bluetooth (untuk kontrol jarak jauh).
  9. Robotic Finger (For Prosthetics)
    > Deskripsi: Proyek untuk membuat jari robot yang dapat digerakkan menggunakan servo motor untuk memberikan bantuan dalam prostetik atau eksperimen ilmiah.
    > Komponen: Arduino, servo, struktur tangan/jari robot, sensor (untuk kontrol gerakan).
  10. Clock With Moving Hands
    > Deskripsi: Gunakan servo untuk membuat jam dengan jarum bergerak yang bisa menampilkan waktu menggunakan sudut putaran servo, seperti jam analog.
    > Komponen: Arduino, beberapa servo, jarum jam, skema jam analog.

Masing-masing proyek di atas memungkinkan kamu untuk mengeksplorasi penggunaan servo dalam berbagai konteks, dari robotika, otomasi, hingga kontrol perangkat jarak jauh.

Tinggalkan Balasan