Servo motorlar yüksek torklara sahip olması ile bilinirler genellikle 180 derece bir dönüş yaparlar. Fakat içerisinde ki dişlilerde değişiklik yaparak 360 derece döndürmek de mümkündür.

Bu proje ile servo motora 180 derece dönüş vermeyi göreceğiz.

Malzemeler 

  • 1 adet Servo motor
  • 1 adet arduino bordu

Öncelikle servo motoru biraz tanımak gerek.

mg995servo1

Burada towerpro firmasının bir servo motorunu görüyorsunuz. Bu motor genellikle helikopterlerde uzaktan kumandalı araçlarda kullanılıyor. 3 adet girişi var bunlar

Siyah= Toprak

Kırmızı= Besleme

Beyaz-Sarı-Turuncu= Sinyal

Bunlar genel olarak kabloların dağılımı fakat kimi zaman bu değişebilir.

Kablo renkleri farklı olsada amaç aynı beslemeler bağlanır. Yalnız burada dikkat edilmesi gereken servonun toprağı ile kullanacağınız mikroişlemcinin toprağının aynı olması gerekir. Olmadığında çalışmıyor.

Servoların içerisinde bir adet potansiyometre bulunur. Bu potansiyometre üzerinde bulunan çarkın konumunu anlamasını sağlar yani servo motorun hangi açılık dönüş yaptığını sürekli takip eder. Bu bir anlamda geri beslemedir. Geri besleme gerilim ile anlık olarak durumu kabul eder.

Servo motorların belli bir sinyal aralığı bulunur. Bir örnek vermek gerekirse 900usn ile 5400usn bu kadar uzunlukta bir sinyal gönderildiğinde 180 derecelik bir dönüşü tamamlar.

arduino ve servo

Servo motor ile bağlantısı bu şekilde hangi porttan sinyal gönderecekseniz o port sarı diğerleri ise besleme ve toprağa bağlanır.

 

 

 

 

 

arduino servo motor şematik

 

 

 

Eğer board üzerinde kurmayacaksanız. Devre şeması bu şekilde

 

 

 

 

 

 

#include

Servo myservo; // Servo fonksiyonu tanımlandı.

int pos = 0; // pozisyonu için değişken

void setup()
{
myservo.attach(9); //pin 9 a baglanti
}

void loop()
{
for(pos = 0; pos < 180; pos += 1) // 0dan 180 dereceye gidiyor { // adımlar 1 derece myservo.write(pos); // pos değişkeni ile pozisyonu bildiriyor. delay(15); // yeni pozisyon için 15ms bekleme } for(pos = 180; pos>=1; pos−=1) // 180 dereceden sıfır dereceye gidiyor.
{
myservo.write(pos); // Pozisyonu yazdırıyoruz
delay(15); // 15ms gecikme
}
}

Kodumuz








1 Yorum

Haydi Servo Motoru Parçalayalım :) | Elektronik Hobi için bir cevap yazın İptal

Lütfen yorumunuzu giriniz!
Lütfen isminizi buraya giriniz