Arduino ile Servo Motor

watch_later 1/17/2016
comment 1 Comment
Servo motorlar mikrodenetleyicilere hareket yeteneği kazandırmak için en kolay yoludur. Servo dişlileri ve hassas bir şekilde kontrol edilebilir bir şaft üzerine entegre edilmiştir. Standart bir servo motor mili genellikle 0 ile 180 derece arasında, çeşitli açılar yapmaya izin verir.



Servo motor üç bağlantı kablosu vardır . Kablo renkleri servo motorlar arasında değişse de bağlantı sırası şöyle olacaktır:

           Kırmızı kablo her 5 V
           Kahverengi kablo GND
           Turuncu kablo çıkış pini (dijital pinlere bağlanabilir)

Servo Motor Uygulamaları

Son derece karmaşık olan askeri ve endüstriyel uygulamalar için kullanılır. Robotik araçların tekerleklerini servo motorları kullanarak tasarlayabiliriz. Hem hızlandırmak hem de durdurmak için yeterli tork üretme işlemini servo motorlar kullanılarak çözümlenir. 
Robotik Araçta Servo Motor Kullanımı
Bugünün modern dijital kameralar çok ileri seviyededir. Gelişmiş özelliklerinden biri çekilecek nesne üzerinde otomatik odaklama yani zoomlama kabiliyeti sağlamasıdır. Nesnenin görüntüsü kameranın dijital sinyal işlemcisi içinde oluşturulduğunda, netlik kontrol edilir. (Kamera merceğinden ölçülen) odak uzaklığı uygun değilse, görüntü bulanık görünür. Net görüntü son derece hassas bir şekilde oluşturulur, hassas merceği yerleştirmek ve hareket ettirmek için servo motor kamera içerisinde kullanılır.
                       
İnsanlar, temiz ve yenilenebilir enerji rejiminde güneş enerjisi üretimi ve kullanımı önem kazanmaktadır. Klasik güneş panelleri sabit ve gün boyunca aynı pozisyonda kalıyordu. Bu da tam olarak güneşden maksimum enerji elde etmek için elverişli değildi. Servo motorlar eklenince hareket yeteneği kazanan paneller büyük ölçüde sistemi daha verimli hale getirdi. Böylece güneş geliş açısına bağlı olarak güneş panelinin hareket açısını kontrol edilir.

Servo Motor Kontrolü



Servo Motor Açı Simülasyonu
Servo motor hareket ettirerek belirli bir açıyı oluşturmak için bir Arduino kütüphanesi oluşturulmuştur.
Servo motorun konumu bir pals süresine göre ayarlanır.  Servo motor her 20 milisaniyede (50 Hz) bir tetiklenme bekler. Bu tetikleme 1 milisaniye ise açı 0, 1,5 milisaniye ise o zaman servo açısı 90 olur, merkez konumunda itibaren 2 milisaniye sonra tetiklenirse 180 derece olacaktır.


Servo Motor İç Yapısı


Servo Motor İç Mekanizma Simülasyonu
Servo motor şaftı bir potansiyometre bağlanır. Potansiyometre bağlı olduğu servo motorun konum bilgisini alır. Her yeni pozisyon bir hata saptama amplifikatör yardımıyla sürekli, istenen konumla karşılaştırılır. Bir uyuşmazlık durumunda bir hata sinyali hatası amplifikatör çıkışında üretilir.

LM35DZ ile okunan sıcaklık değerini servo motor üzerine 10(sol)-45(sağ) değerleri arasında gösteren uygulama: 

Arduino Sketch:                      
/*
 * gerekli kütüphaneler eklendi.
 */
#include 
/*
 * servo nesnesi
 */
Servo servo;
/*
 * değişkenler
 */
int servoPin = A5;
float sicaklik = 0.0;

void setup()
{
  servo.attach(servoPin);  // arduinonun 3. pinini
   çıkış yaptık.
}
void loop()
{
  sicaklik = analogRead(A0); // LM35DZ'den analog değer okunur.
  sicaklik = sicaklik * (5.0 * 1000.0 / 1023.0) / 10.0; 
  //okunan analog değer Celsius cinsinde
   sıcaklığa dönüşüm yapılır.

  servo.write(map(sicaklik, 0, 179, 10, 45)); 
  //sıcaklığı servo aktar.
  delay(1000); //1 saniye bekle
}
Servo Motor Fritzing Şeması




Bir sonraki yazımda görüşmek üzere…
avatar
Adsız

Çizimde hata var sanki?

delete 25 Aralık 2016 23:36



sentiment_satisfied Emoticon