Arduino ile RC Servo Motor Kontrolü

29.03.2013 tarihinde Arduino kategorisine eklenmiş, 429 Kişi Okumuş ve 1 Yorum Yapılmış.

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

 

 

 

 

 

 

 c |  copy code |? 
01
#include <Servo.h> 
02
 
03
Servo myservo;  // Servo fonksiyonu tanımlandı.
04
 
05
int pos = 0;    // pozisyonu için değişken
06
 
07
void setup() 
08
{ 
09
  myservo.attach(9);  //pin 9 a baglanti
10
} 
11
 
12
void loop() 
13
{ 
14
  for(pos = 0; pos < 180; pos += 1)  // 0dan 180 dereceye gidiyor 
15
  {                                  // adımlar 1 derece
16
    myservo.write(pos);              // pos değişkeni ile pozisyonu bildiriyor.
17
    delay(15);                       // yeni pozisyon için 15ms bekleme
18
  } 
19
  for(pos = 180; pos>=1; pos&minus;=1)     // 180 dereceden sıfır dereceye gidiyor.
20
  {                                
21
    myservo.write(pos);              // Pozisyonu yazdırıyoruz
22
    delay(15);                       // 15ms gecikme
23
  } 
24
}

Kodumuz








© 2013, elektronikhobi.net. ElektronikHobi.net – Bazı hakları saklıdır! İçeriklerimiz için GNU lisansı geçerlidir. Başka sitelerde yayınlamak için bu konuyu kaynak olarak göstermelisiniz.

Bir önceki yazımız olan Kendi PIC Programlayıcımızı Yapalım başlıklı makalemizde basit pic programlayıcı, kendin pic programalma yap ve kendin yap hakkında bilgiler verilmektedir.

FavoriteLoadingFavorilere ekle

Benzer yazılar

Yazar Hakkında
SelimErkan

Yazar : SelimErkan

Yazar Hakkında : Karadeniz Teknik Üniversitesi Elektrik Elektronik Mühendisliği

Yazarın Tüm Yazıları İçin Tıklayınız

Yorumlar
İsminiz
E-Posta Adresiniz
Yorumunuz

[...] Arduino ile servo motor kontrolü konusunda biraz servo motorlardan bahsetmiştim. [...]

  • Sponsorlar

    BilArt
    Devre arsivi
  • Uygulamalar

  • Bilgi Bankası

  • Eğitici Filmler

  • Arşiv

  • Son Yapılan Yorumlar

    RF İle Uzaktan Kumandalı Tank için Yusuf diyorki;

    Sefa bey durdurmak içinde hareket pinlerinin hepsine low verirseniz durur. Yani bu program sadece örnek. Siz kendiniz programı modüle ederek farklı öz

    Işığa bağlı olarak çalışan devreler için Yusuf diyorki;

    İlyas bey fikriniz güzel. Fakat pc power butonundaki mantık ile led mantığı iraz farklıdır. Power butonu bi anahtardır. Led ise üzrinden akım geçiren

    MQ 5 ile Gaz Sensörü için Yusuf diyorki;

    Şu yazıya göz atabilirsiniz. http://elektronikhobi.net/arduino-ile-alkol-testi/

    
    Yazılar(RSS) | Sitemap | İmage Sitemap | Ping