Mengenal dan Cara Mengontrol Motor Servo Menggunakan Arduino

Dalam aplikasi board Arduino, seringkali dibutuhkan komponen penggerak untuk melakukan gerakan-gerakan sesuai sudut yang diperlukan atau gerakan putaran penuh. Untuk bisa melakukan gerakan-gerakan yang merupakan sistem feedback dari informasi putaran motor aktual, dengan perintah dari rangkaian kontrol mikrokontroler, ada satu komponen yaitu Motor Servo. Motor Servo adalah jenis motor dengan karakteristik dapat dikontrol dengan lebih presisi dibanding motor DC biasa.
 

Pada Motor Servo terdapat rangkaian gearbox yang memungkinkan gerakan-gerakan servo bisa dikontrol dengan presisi dan dapat mempertahankan posisi. Servo ini pengaplikasiannya sangat luas terutama di bidang robotika. Dibandingkan pada motor DC biasa yang hanya dapat dikendalikan kecepatannya serta arah putarannya, motor servo ini untuk penambahan parameternya dikendalikan berdasarkan sudut/derajat.

Servo sering kali digunakan untuk mengontrol posisi barang yang membutuhkan ketepatan setiap dieksekusi, contohnya seperti gerakan kemudi roda depan pada mobil Radio Control (RC), Aktuatuor (Penggerak) kaki-kaki robot dimana diperlukan torsi (kekuatan) yang baik dan gerakan sudut presisi untuk menggerakkan keseluruhan badan robot, kontrol gerakan sumbu z untuk CNC router mini, penggerak kunci mekanis dan banyak lagi.

Dalam Motor Servo sebenarnya terdiri dari 3 komponen penyusun antara lain Motor DC, Sistem Control dan Potensiometer/Encoder. yang kemudian terhubung dengan satu set roda gigi ke poros output. Potensiometer/Encoder berfungsi sebagai sensor yang memberikan sinyal umpan balik (feedback) ke sistem kontrol sehingga mencapai posisi targetnya secara benar seperti perintah yang diprogramkan. 


Motor akan menggerakkan roda gigi untuk memutar potensiometer dan poros output secara bersamaan. Potensiometer akan mengendalikan posisi sudut motor servo dengan pemberian sinyal ke dalam sistem kontrol. Jika posisi target sudah benar, maka potensiometer akan menghentikan motor servo. Sebaliknya, jika sistem kontrol mendeteksi pergerakan sudut belum tepat tercapai, maka potensiometer akan mengubah motor servo ke arah yang benar sampai posisi sudutnya benar.

Cara Kerja Servo

Motor servo dikendalikan dengan sinyal PWM (Pulse Width Modulation) dengan frekuensi (f) 50 Hz atau dengan periode (t) 20ms. Lebar sinyal (Pulsa) yang diberikan akan menentukan posisi sudut putaran dari poros motor servo. Misalkan frekuensi 50 Hz tersebut dapat diperoleh ketika kondisi Ton duty cycle berada diangka 1,5 ms (mili second). Dalam posisi tersebut, rotor dari motor akan berhenti tepat di tengah-tengah (0°) atau netral. Pada kondisi Ton duty cycle kurang dari 1,5 ms, maka rotor akan berputar berlawanan arah jarum jam. Sebaliknya pada saat kondisi Ton duty cycle lebih dari angka 1,5 ms, maka rotor akan berputar searah jarum jam.

Karakteristik Servo

Motor Servo mempunyai tiga kabel konektor. Kabel VCC, merupakan kabel sumber tegangan positif 4,8v - 6v DC (Merah), kabel Ground (Coklat) dan kabel sinyal kontrol (kuning).

Pada percobaan yang akan kita lakukan untuk mengontrol motor servo dan arduino, kita akan menggunakan motor servo kecil yang biasa disebut micro servo.
Spesifikasi micro servo (SG90), kurang lebih sebagai berikut:
  • Tegangan kerja : 4,8v - 6v DC
  • Torsi : 1,6kg/cm (untuk torsi besar, gear box biasanya terbuat dari bronze)
  • Arus : < 500mA
  • Dimensi : 22mm x 12,5mm x 29,5mm
  • Berat : 14,7gr
  • Kecepatan putar : 0,12 detik per 60 derajat
Ada 4 tipe servo yang biasa digunakan pada project-project Arduino, yaitu:
  • Tipe Standar yang putarannya dibatasi sebesar 180°. Tipe model ini sering digunakan pada project-project mainan robotik seperti Arm Robot, Kontrol pesawat terbang, Mobil Remote Control Arduino dll
  • Tipe Continous dengan putaran 360°. Tipe model ini tidak memiliki sudut defleksi putaran sehingga bisa berputar secara kontinyu dan penuh. Servo tipe ini sering digunakan untuk aplikasi robotik yang membutuhkan gerakan putaran penuh seperti misalnya mobil robot.
  • Tipe Linear Servo yang bergerak secara linear atau maju mundur sesuai namanya. Perbedaannya dengan motor servo lain adalah adanya roda gigi tambahan dengan mekanisme rack dan pinion untuk mengubah gerakan rotasi jadi gerakan linear.
  • Brushless DC servo motor yang merupakan tipe motor servo yang tidak menggunakan brush (sikat). Sebenarnya tipe servo ini sama seperti servo tipe continous, perbedaannya hanya pada proses komutasi yang sudah tidak menggunakan komutator mekanik dengan brush, tapi sudah diganti dengan sensor dan controller. Aplikasi sensor tipe ini, biasanya digunakan pada sepeda motor listrik, mobil listrik, DVD Player, Cooling fan dll.

Percobaan Akses Servo Dengan Coding Example

Untuk melakukan percobaan menggunakan servo dengan Arduino, komponen yang diperlukan :
  1. Arduino, bisa menggunakan Arduino UNO, Nano atau yang lainnya
  2. Micro servo SG90
  3. Potensiometer 10K
  4. Kabel Jumperl Male to Male dan Male to Female
  5. Komputer/Laptop/Smartphone yang ada software Arduino IDE (tentang Arduino IDE, baca artikel 'SekilasArduino' dan 'Coding Arduino dengan Smartphone')
  6. Library servo, buka Arduino IDE lalu klik Sketch > Include Library > Manage Libraries...> Servo. Atau download disini
Skema Rangkaian :
Knob Circuit

Pada project Knob Circuit ini kita mencoba mengontrol posisi motor servo mengikuti posisi potentiometer. Dengan membaca nilai analog potentiometer, kita dapat mengetahui posisi putarannya. Menggunakan fungsi map(), kita dapat melakukan skala range nilai awal menjadi range nilai yang kita inginkan. Pada contoh ini, motor servo yang digunakan adalah SG90 yang dapat berputar 180°.

Sweep Circuit

Coding Example

Coding yang bisa digunakan untuk mencoba akses servo, bisa dibuka di Arduino IDE. Klik File > Examples > Servo. Atau copy paste Coding berikut ini:

Coding Knob:


Coding Sweep:


Dengan coding example diatas nantinya bisa sampeyan tambahkan coding lain untuk aplikasi percobaan membuat robot atau dengan menambahkan sensor ultrasonic HC-SR04 untuk percobaan membuat tempat sampah otomatis. Nanti saya coba buatkan video percobaan untuk membuat aplikasi-aplikasi dengan menggunakan servo ini. Monggo Subscribe dulu Youtube Channel Tatas JP agar sampeyan tidak ketinggalan tutorial membuat percobaan-percobaan yang saya sudah dan akan kerjakan...

Selanjutnya tergantung kreativitas sampeyan ya...

Post Navi

Post a Comment

0 Comments

Close Menu