MOTOR SERVO
1. PENDAHULUAN
Motor servo adalah sebuah motor dengan sistem closed feedback di mana posisi
dari motor akan diinformasikan kembali ke rangkaian kontrol yang ada di dalam motor
servo. Motor ini terdiri dari sebuah motor, serangkaian gear, potensiometer dan
rangkaian kontrol. Potensiometer berfungsi untuk menentukan batas sudut dari putaran
servo. Sedangkan sudut dari sumbu motor servo diatur berdasarkan lebar pulsa yang
dikirim melalui kaki sinyal dari kabel motor. Tampak pada gambar dengan pulsa 1.5 mS
pada periode selebar 2 mS maka sudut dari sumbu motor akan berada pada posisi
tengah. Semakin lebar pulsa OFF maka akan semakin besar gerakan sumbu ke arah
jarum jam dan semakin kecil pulsa OFF maka akan semakin besar gerakan sumbu ke
Motor servo biasanya hanya bergerak mencapai sudut tertentu saja dan tidak
kontinyu seperti motor DC maupun motor stepper. Walau demikian, untuk beberapa
keperluan tertentu, motor servo dapat dimodifikasi agar bergerak kontinyu. Pada robot,
motor ini sering digunakan untuk bagian kaki, lengan atau bagianbagian lain yang
Motor servo adalah motor yang mampu bekerja dua arah (CW dan CCW)
dimana arah dan sudut pergerakan rotornya dapat dikendalikan hanya dengan
memberikan pengaturan duty cycle sinyal PWM pada bagian pin kontrolnya. Motor
elektronik dan internal gear untuk mengendalikan pergerakan dan sudut angularnya.
Motor servo adalah motor yang berputar lambat, dimana biasanya ditunjukkan
oleh rate putarannya yang lambat, namun demikian memiliki torsi yang kuat karena
internal gearnya.
Operasional dari servo motor dikendalikan oleh sebuah pulsa selebar ± 20 ms,
dimana lebar pulsa antara 0.5 ms dan 2 ms menyatakan akhir dari range sudut
maksimum.
control.
Motor servo jenis ini hanya mampu bergerak dua arah (CW dan CCW)
Motor servo jenis ini mampu bergerak dua arah (CW dan CCW) tanpa
1 • Manipulators.
2 • Moving camera’s.
3 • Robot arms.
300
Contoh dimana bila diberikan pulsa dengan besar 1.5ms mencapai gerakan 90 derajat,
maka bila kita berikan data kurang dari 1.5 ms maka posisi mendekati 0 derajat dan bila
kita berikan data lebih dari 1.5 ms maka posisi mendekati 180 derajat. Contoh Posisi
Motor Servo akan bekerja secara baik jika pada bagian pin kontrolnya
Dimana pada saat sinyal dengan frekuensi 50Hz tersebut dicapai pada
kondisi Ton duty cycle 1.5ms, maka rotor dari motor akan berhenti tepat
Pada saat Ton duty cycle dari sinyal yang diberikan kurang dari 1.5ms,
maka rotor akan berputar ke arah kiri dengan membentuk sudut yang
besarnya linier terhadap besarnya Ton duty cycle, dan akan bertahan
diposisi tersebut.
Dan sebaliknya, jika Ton duty cycle dari sinyal yang diberikan lebih dari
1.5ms, maka rotor akan berputar ke arah kanan dengan membentuk sudut
yang linier pula terhadap besarnya Ton duty cycle, dan bertahan diposisi
tersebut.
Bentuk motor servo dapat dilihat pada gambar 5. Terdapat tiga utas kabel dengan
warnamerah, hitam, dan kuning. Kabel merah dan hitam harus dihubungkan dengan
sumber tegangan4-6 volt dc agar motor servo dapat bekerja normal. Sedangkan kabel
berwarna kuning adalahkabel data yang dipakai untuk mengatur arah gerak dan posisi
servo. Pergerakan motor servo terhadap perubahan lebar pulsa tampak pada gambar 8.
303
H EAD ER 3
U 8 VC C
3 9 2 1 P 2 .0 1
3 8 P 0 .0 /A D 0 P 2 .0 /A 8 2 2 2
3 7 P 0 .1 /A D 1 P 2 .1 /A 9 2 3 3
3 6 P 0 .2 /A D 2 P2 .2 /A 1 0 2 4
3 5 P 0 .3 /A D 3 P2 .3 /A 1 1 2 5
3 4 P 0 .4 /A D 4 P2 .4 /A 1 2 2 6
P 0 .5 /A D 5 P2 .5 /A 1 3 JP1
3 3 2 7
3 2 P 0 .6 /A D 6 P2 .6 /A 1 4 2 8
H EAD ER 5 P 0 .7 /A D 7 P2 .7 /A 1 5
P 1 _ 0 1 1 0
R ST P 1 _ 1 2 P 1 .0 P 3 .0 /R X D 1 1
1 P 1 _ 2 3 P 1 .1 P 3 .1 /T X D 1 2
2 P 1 _ 3 4 P 1 .2 P 3 .2 /IN T 0 1 3
3 P 1 _ 4 5 P 1 .3 P 3 .3 /IN T 1 1 4
4 G N D P 1 _ 5 6 P 1 .4 P 3 .4 /T 0 1 5
5 P 1 _ 6 7 P 1 .5 P 3 .5 /T 1 1 6
P 1 _ 7 8 P 1 .6 P 3 .6 /W R 1 7
JP4 P 1 .7 P 3 .7 /R D
19 30
18 XTA L1 A L E /P R O G 29
XTA L2 PSEN
X1
VC C 31
9 E A /V P P
R ST
12M H z
C 3 AT89S51
10u
30p 30p R ESET
C 6 C 7 R ST
C
R 2 D 3
4K7
1N 4002
A
Setelah membuat rangkaian driver motor servo, maka sekarang saatnya Anda
#include <at89x51.h>
void main()
{
TMOD=0x11;
while(1)
{
P1 = 0x0ff;
tunda (2);
P1 = 0x000;
tunda (18);
tunda (1000);
P1 = 0x0ff;
tunda (1.75);
P1 = 0x000;
tunda (18.25);
tunda (1000);
}
} /* End main */