Servo Motor Kontrolü Nasıl Yapılır?

Elektronik projelerimizin olmazsa olmazlarından bir tanesi servo motordur. Projede mekanik bir harekete ihtiyaç duyulduğunda genellikle bu motorlar kullanılır. Genel olarak servo motorların özelliklerinden bahsetmek gerekirse; servo motorlar diğer motor türlerinden farklı olarak 0 ile 180 derece arasında dönebilmektedir. Motor, verilen değişik frekanslar ile 0 ile 180 arasındaki her dereceye hassas bir şekilde dönebilir. Servo motor içerisinde bulunan entegreler ile gelen kare dalgaların periyotlarını hesaplayarak ne kadar dönmesi gerektiğini hesaplar.

Yaygın olarak kullanılma nedenlerinden biri de yüksek torka sahip olmalarıdır. Hobi olarak yapılan projelerde genellikle sg90 modeli kullanılmaktadır. Bu motorun fiyatı Türkiye”de yaklaşık 15 TL”dir. Fakat projenizde birden fazla servo motor kullanmanız gerekiyorsa bu motorları Çin”den 2,5 $ alabilirsiniz.

Servo motorun kontrolü diğer motorlara göre daha zordur. Motorun kontrolünü sağlamak biraz zaman alabilir. Servo motorun kontrolü için bir sürücü devresi gerekmektedir. Bu sürücü devresi için PIC veya başka bir mikro-kontrolcü kullanılabilir.

Aşağıdaki kodlar CCS C dili ile PIC16f877 için yazılmıştır:

#include <16F877A.h>

#FUSES NOWDT, HS, NOPUT, PROTECT, NOBROWNOUT, NOLVP, NOCPD, NOWRT, NODEBUG 

#use delay(clock=20000000)

#define yonservo pin_b0

void don (int16 aci)
{
int16 zaman;
int x = 0;
zaman = 500 (aci * 10);
FOR(x=0;x<=30;x )
{
output_high(PIN_c4);
delay_us(zaman); // servoya 2,5ms”lik sinyal gönderiliyor saga dönmesi icin
output_low(PIN_c4);
delay_us( 20000-zaman );
CONTINUE;
}
}

void main()
{

set_tris_b(0x00);
while(1)

{

don(100);

delay_ms(1000);

don(150);

delay_ms(1000);

}

}

servo-motor

Bir Cevap Yazın