Bu yazımızda hoby olarak kullanılan Servo Motor Kontrolü uygulamasından bahsedeceğiz ve arduino ile bir uygulama gerçekleştireceğiz. Piyasada satılan robotların yapılışının ne kadar kolay olduğunu göreceksiniz. Hoby servo motorlar dışında endüstriyel servo motorlarda vardır. Bunların çalışma mantıkları arasında bir fark yoktur sadece daha yüksek voltaj, tork ve hassasiyetlere sahiptir.

Servo Motor

Servo Motor

Yukarıdaki resimde hoby servo motoru içinde asında çok ufak bir dc motor vardır. Dolayısıyla servo motor değil servo sistemli dc motor demek daha doğru olur ama halk dilinde kısaltmaları çok sevdiğimiz için servo motor olarak geçer. DC motor bir redüktöre bağlıdır bu redüktör dc motorun hızını düşürüp torkunu arttırır. Çıkış şaftında bulunan ufak bir trimpot(rotary resistor-açısal direnç) açı değiştinde içindeki elektronik devreye geri besleme yapmaktadır. Bu sayede absolute encoder görevi görererek hassas konumlama yapması için çok önamelidir.

Servo Motor PWM Sinyali

Servo Motor PWM Sinyali

Hoby servo motorların 3 pini bulunur. Besleme, Toprak ve Sinyal. Sinyal pinine gönderdiğimiz pwm sinyali ile konum kontrolü yapabilmekteyiz. Yukarıdaki diagramda görülen pwm sinyalinin duty cycle ve periyod sürelerine göre servonun hangi konumlarda olacağını görmekteyiz. Endüstriyel servolarda ise encoder kablosu vardır. Başka bir yazıda değiniriz.

Servo Motor İç Yapısı

Servo Motor İç Yapısı

Servo Motor Pin Bağlantıları

Genelde 3 pin olup çeşitli renklerde olabilir. Ama fonksiyon sıralaması hepsinde aynı olur. Ters bağlamanız durumunda hem cihazınız hem de servo motorunuz zarar görebilir. Aşağıdaki çeşitli firmaların çeşitli tiplerdeki soketlerine ait renk ve bağlantı şekillerini görmektesiniz.

Servo Motor Connectors

Servo Motor Connectors

Şimdi gelelim Arduino ile servo motorumuzu kontrol etmeye. Arduino Ide’ nin kurarken kendi örnekler sekmesinde 2 çeşit servo kontrol uygulaması vardır. Sweep ve Knob. Sweep tarama yapıyor, Knob ise potansiyometreden gelen veriler ile servoyu kontrol etmemize yarıyor. File>Examples(Örnekler)>Servo>Sweep uygulamasını açın.

Arduino Servo Motor Sweep Uygulaması

Arduino Servo Motor Sweep Uygulaması

Arduino Servo Motor Bağlantısı

Aşağıdaki gibi Servo motoru Arduino’ ya bağlayın. Burada dikkat etmeniz gereken servonun beslemesi. Eğer Arduino’yu usb den besliyorsanız usb beslemeniz hem arduino hem de servo motor için yeterli olmayabilir. Dolayısıyla dış kaynaktan besleme verip servo motorunuzu 5V ile beslemeniz gerekebilir.

Arduino Servo Motor Bağlantısı

Arduino Servo Motor Bağlantısı

Aşağıdaki kendi uygulmamda +12VDC ile breadboard üzerinde bulunan power modülünü besledim ve oradan çıkan +5VDC ile servo motor beslemesini yaptım. Motorunuz ufak ise Arduino kaldırabilir ama büyük motorlar için harici besleme yapmak zorunda kalabilirsiniz.

Arduino Servo Motor Uygulaması

Arduino Servo Motor Uygulaması

Arduino Servo Motor Kontrolü Programı

Aşağıdaki programı file>örnekler sekmesinden direk açabilir ve servonuzu hangi pine ve hangi boardu kullandıysanız ayarlarını yaparak yükleyebilir ve servonun çalıştığını anlamak için ucuna bir tel bağlayabilirsiniz.

// www.kaizen40.com

/* Sweep
 by BARRAGAN <http://barraganstudio.com>
 This example code is in the public domain.

 modified 8 Nov 2013
 by Scott Fitzgerald
 http://www.arduino.cc/en/Tutorial/Sweep
*/

#include <Servo.h>

Servo myservo;          // 12 adet servo motora kadar desteklenebilir

int pos = 0;            // servo motor pozisyonu

void setup()
{
  myservo.attach(9);    // servonun bağlı olduğu pin
}

void loop()
{
  // 0' dan 180 dereceye kadar servoyu döndür
  for (pos = 0; pos <= 180; pos += 1)
  {
    myservo.write(pos);              // servoya gideceği pozisyonu söyle
    delay(15);                       // 15 ms bekle
  }

  // 180' den 0 dereceye kadar servoyu döndür
  for (pos = 180; pos >= 0; pos -= 1)
  {
    myservo.write(pos);
    delay(15);
  }
}

Arduino Servo Motor Kontrolü Uygulama Videosu


0 yorum

Bir yanıt yazın

Avatar placeholder

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Bu site, istenmeyenleri azaltmak için Akismet kullanıyor. Yorum verilerinizin nasıl işlendiği hakkında daha fazla bilgi edinin.