Servo Motor Nedir? Nasıl Çalışır?
Yapı olarak dc veya ac motor tiplerine
benzeseler de bu sistemlere ek olarak iç yapısında bir potansiyometre ve motor
milinin konumunu ölçen bir kontrol devresi bulunur. Ayrıca servo motor 3
bağlantı ucuna sahiptir. GND(toprak), 5V, Sinyal pinleri. Bunlardan ikisi motoru çalıştırırken diğer
ucu ise sistemin giriş birimine motor şaftının konumunu bildirir.
DC Servo Motor
DC Servo motorun içerisinde bir adet dc motor bulunmasından dolayı dc servo motor ismini almıştır. Fakat dc motora ek olarak bir kontrol devresi ve çıkışında mil görevi gören bir potansiyometre ile dc motorun milini kontrol eder.
Potansiyometre
Dönme momentine göre lineer bir direnç artışına sebep olur. Bu özelliğinden faydalanılarak potansiyometrenin o anki direnç değerine göre servo motorun anlık konumu belirlenir. Tüm bu işlemleri yapan kısım ise dc servo motorda kontrol devresi olarak anılır.
Kontrol Devresi
Potansiyometrenin direnç değerine göre servo motorun o an
hangi açıda bulunduğunu tespit eder. Bu görevinin dışında servo motorun sinyal
ucundan gelen bilgiye göre gitmesi gerektiği konumu belirler.
Eğer servo mili sinyal ucundan gönderilen açıda ise motor
çalışmaz. Çalışıyorsa da içerisindeki dc motorun çalışmasını durdurur. Fakat
kontrol devresi motorun istenilen açıda olmadığını tespit ederse doğru
açıyı yakalayana kadar motor hareket etmeye başlar. Fakat bu çalışma o kadar
hassas işler ki istenilen açı yakalandığı anda çok küçük hata payı ile motoru
durdurur. Bu işlemi ise açıya yaklaşıldıkça dc motorun hızını düşürerek
yapar. Yani eğer mil büyük bir uzaklık kat edecekse, motor bütün
gücüyle çalışacaktır Eğer küçük bir açı için hareket edecekse motor
daha yavaş dönecektir. Buna orantısal kontrol denir ve bu kontrol
potansiyometre ile sağlanmaktadır.
PWM Sinyali
Motora yazılımsal olarak dönme miktarı ise PWM modülü ile belirlenir. PWM sinyali kare dalgalardan oluşur. Kare dalga 1 konumunda iken motora güç gider. 0 konumuna geldiğinde ise motora güç gitmez. Servo motorlarda açısal hareketin gerçekleşmesi için bir kare dalga 20 mili saniyeden oluşan palse şeklinde gönderilmesi gerekir aksi taktirde çalışmaz. Servo motorların açısal adım sayıları ise iki şekilde belirlenir.1-2 ms arasında gönderilen palse yada 1,25-1,75 arasında gönderilen palse miktarı ile belirlenir. Yani açı palse değerleri standarttır. Bu değerlere uygun 20 ms’lik palseler üreterek dc servo motorların kontrolü sağlanır.
Joystick Nedir? Nasıl Çalışır?
Joystick
basitçe mekanik bir düzlemsel hareketi elektriksel bir değere
dönüştürülmesi için kullanılır. Bunun için de 2 adet “ayarlı direnç” –
potansiyometre kullanılır. Birisi mekanik olarak “x” diğeri de “y”
yönünde hareketi algılar. Bunlar mekanik olarak birbirine bağlı olduğu için x
ve y yönünde hareket ettirildiğinde hareket ettirilen mesafeye orantılı olarak
direnç değeri değişir.
Şimdi
aşağıdaki şekilde görüldüğü gibi bu dirençlerin bir ucunu +5V diğer ucunu da 0V
(GND) ye bağlarsak dirençlerin orta bacakları bize pozisyonla orantılı olarak
bir voltaj değeri verecektir. Örneğin her iki direnç te orta pozisyonda ise
dirençlerin orta bacaklarından yaklaşık 2,5V alacağız. Jostick’i bir yöne doğru
itince yönüne bağlı olarak ya 5 volta doğru yükselecek ya da 0 Volta doğru
gidecek.
Biz
de bunu Arduinonun AD çeviricisine bağlarsak buradan bir dijital pozisyon
verisi elde edebiliriz.
Tabii
burada Joystick’in mekanik yapısına bağlı olarak sıradan bir potansiyometre
ile yapılmış ise +5Volt ve 0 volt skalasında kullanılmasına aşağıda
soldaki şekilde görüldüğü gibi imkân yoktur.
DEVREMİZ
KODLAR
#include <Servo.h> Servo motor1; Servo motor2; void setup() { motor1.attach(5); motor2.attach(6); } void loop() { int x=analogRead(A0); int y=analogRead(A1); int xmap=map(x,0,1023,0,180); int ymap=map(y,0,1023,0,180); motor1.write(xmap); motor2.write(ymap); }
Yorumlar
Yorum Gönder