Selasa, 26 Agustus 2014

MENGGONTROL SERVO

     Motor Servo
Motor servo adalah sebuah motor DC yang dilengkapi rangkaian kendali dengan sistem closed feedback yang terintegrasi dalam motor tersebut. Pada motor servo posisi putaran sumbu (axis) dari motor akan diinformasikan kembali ke rangkaian kontrol yang ada di dalam motor servo.
 Motor servo disusun dari sebuah motor DC, gearbox, variabel resistor (VR) atau potensiometer dan rangkaian kontrol. Potensiometer berfungsi untuk menentukan batas maksimum putaran sumbu (axis) motor servo. Sedangkan sudut dari sumbu motor servo diatur berdasarkan lebar pulsa yang pada pin kontrol motor servo.
Operasional motor servo dikendalikan oleh sebuah pulsa selebar ± 20 ms, dimana lebar pulsa antara 0.5 ms dan 2 ms menyatakan akhir dari range sudut maksimum. Apabila motor servo diberikan pulsa dengan besar 1.5 ms mencapai gerakan 90°, maka bila kita berikan pulsa kurang dari 1.5 ms maka posisi mendekati 0° dan bila kita berikan pulsa lebih dari 1.5 ms maka posisi mendekati 180°. Berikut gambaran untuk pulsa yang diberikan pada motor servo, menyebabkan servo bergerak pada sudut tertentu.

Banyak aplikasi dari penggunaan motor servo seperti misalnya : tutup dan buka jendela, pendorong pada alat/mesin penjual rokok, robot lengan, robot laba-laba, dll.
Berikut contoh sederhana untuk mengendalikan satu buah motor servo menggunakan mikrokontroler ATMega16.


Menggunakan port A.0, tidak ada pin khusus pada mikrokontroler untuk pemasangan motor servo, semua pin bisa digunakan, hanya butuh melakukan konfigurasi. Berikut listing program menggunakan BASCOM –AVR.
Listing Program:
$regfile "m16def.dat"
$crystal = 11059200
Config Servos = 1 , Servo1 = Porta.0 , Reload = 10
Config Porta.0 = Output
Enable Interrupts

Do
   Servo(1) = 45
   Wait 3
   Servo(1) = 90
   Wait 3
Loop
End