Servo Motor Uygulaması

Servo, kapalı çevrim (geri besleme) kontrol sistemi anlamına gelir. Kapalı çevrim kontrol sistemi,
istenen sonucu elde etmek yani motorun hızını ve yönünü ayarlamak için geri besleme sinyalini
kullanır. Görselde servo motor geri besleme blok şeması ve kontrol ünitesi görülmektedir.
DC motor, dişliler aracılığıyla çıkış miline bağlıdır ki bu mil potansiyometrenin milidir. Potansiyometre,
motorun mevcut konumunun hedef konumla karşılaştırıldığı servo kontrol ünitesine konum geri
bildirimi sağlar. Hataya göre kontrol ünitesi motorun gerçek konumunu, hedef konumla eşleşecek şekilde düzeltir. Görselde ise mikro servo pin yapısı görülmektedir.

VCC: 5 V besleme.
DATA: PWM girişi
GND: Topraklama pini.


Data hattına PWM sinyali gönderilerek servo motoru kontrol edilir. Görseldeki servo motor
darbe genişliği ile açı ilişkisinde görüldüğü gibi 20 milisaniyede bir (50 Hz) gönderilen darbenin
genişliğine göre açı pozisyonu belirlenir.

Darbe genişliği (lojik 1’de kalma süresi) 1 ms ile 2 ms arasındaki değişim servo motorda 0° ile
180° arasına değişimle eşleşir. Servo motor boşta 10 mA, hareket hâlindeyken 100 mA-250 mA
arası akım çeker.

Görselde uygulamada servo motor 0°den 180°ye birer derece açıyla gidip aynı şekilde geri
döner. 0° ile 180° arası mesafe, bu servo motorda 300 ms sürmektedir. 300 ms’den hızlı komutlarda servo motor doğru çalışmaz.

Menülerden ”Taslak  Library Ekle  Servo” seçilerek programın başına eklenir. Bu programların örneğine menülerden “Dosya  Örnekler  Servo  Sweep ve Knob” adımları izlenerek de ulaşılabilir.

#include <Servo.h>

Servo servo; // servo isimli nesne oluşturuldu.

byte derece = 0; // Servo derecesini tutan değişken.

void setup() {
  servo.attach(9); // Servo motor 9 numaralı PWM çıkışına bağlı.
}

void loop() {
  for (derece = 0; derece < 180; derece += 1) { // 0°'den 180°'ye birer derece git.
    servo.write(derece); // Servo motorun gideceği derece.
    delay(50); // 15 ms bekle.
  }
  for (derece = 180; derece > 0; derece -= 1) { // 180°'den 0°'ye birer derece git
    servo.write(derece);
    delay(50); // 15 x 180 = 2700 ms'de 0°'den 180°'ye tamamlar.
  }
}

#include <Servo.h>

Servo servo; // servo isimli nesne oluşturuldu.

void setup() {
  servo.attach(9); // Servo motor 9 numaralı PWM çıkışına bağlı.
}

void loop() {
  int pot = analogRead(A0); // Potansiyometrenin konumunu oku. (0 - 1023)
  byte derece = map(pot, 0, 1023, 0, 180);// Servo motorun kullanacağı 0 - 180 aralığına dönüştür.
  servo.write(derece); // Servo motorun gideceği derece.
  delay(15);
}

Benzer Temrinler & Yazılar

  • DC Motor Uygulaması

    Elektrik enerjisini hareket enerjine çevirmeye yarayan mekanik aygıtlara motor denir. Elektrikmotorları AC ve DC olarak iki gerilim türünde çalışacak şekilde üretilir. Diğer birçok motor modelibu iki motor türünden geliştirilmiştir. AC motorlar genel olarak asenkron motor olarak iki türdeüretilir. Bunlar bir fazlı ve üç fazlı motorlar olmak üzere iki türdedir. Bu motorların dönüş yönünüdeğiştirmek için farklı…

  • Keypad Uygulaması

    Görseldeki devrede tuş takımı uygulaması verilmiştir. Keypad kütüphanesini kurmak içinmenülerden ”Taslak  Library Ekle  Kütüphaneleri Yönet” seçeneğinden arama kutusuna“Keypad” yazılıp Keypad (Keypad by Mark Stanley and Alexander Brevig) kütüphanesi bulunarakkurulur. Daha sonra “Taslak  Library Ekle  Keypad” seçilerek programın başına eklenir. Buprogramın bir örneğine menülerden “Dosya  Örnekler  Keypad  CustomKeypad” adımlarıizlenerek…

  • ASCII

    //void setup() { Serial.begin(9600); Serial.println("ASCII Tablosu"); for (byte i = 33; i < 127; i++) { Serial.write(i); //Karakteri yaz. Serial.print(", dec: "); //Onluk karşılığını yaz. Serial.print(i); Serial.print(", hex: "); Serial.print(i, HEX); //Onaltılık karşılığını yaz. Serial.print(", oct: "); Serial.print(i, OCT); //Oktal karşılığını yaz. Serial.print(", bin: "); Serial.println(i, BIN); //İkilik karşılığını yaz. } } void loop() {…

  • Akıllı Ev Aydınlatma Uygulaması NodeMCU 1.0 (ESP-12E)

    Görseldeki devrede NodeMCU ortamdaki kablosuz ağa bağlanmaktadır (STA modu). Seri ekrandan NodeMCU kartının aldığı IP adresi görülür. Bilgisayar görselde veya akıllı telefondan Görseldeki tarayıcı adres çubuğuna NodeMCU’nun IP adresi girilerek odaların lamba kontrolleri gerçekleştirilir. #include <ESP8266WiFi.h> #include <ESP8266WebServer.h> /*Ağ adınızı ve Şifrenizi Giriniz*/ const char* kablosuzAgAdi = "ZyXEL"; // Ağ adınızı girin const char* sifre…

  • Hareket Sensörü Uygulaması

    Maddeler sahip oldukları ısıdan dolayı insanların görebileceği ışık aralığının altında kızılötesi ışıkyayar. Normal sıcaklığındaki insan vücudu (36,5 °C) 10 mikrometre dalga boyunda ışıma yapar.Hareket sensörü bulunduğu ortamdaki kızılötesi ışık dalgalarını içindeki özel kristal malzemeyle(piroelektrik sensör) elektriğe dönüştürür. Ortamdaki kızılötesi ışık miktarı sabitken bir canlı ortama girdiğinde kızılötesi ışık miktarında artış olur. Hareket sensörü bu artışı…

  • Wi-Fi Uygulaması NodeMCU 1.0 (ESP-12E) nem sensörü

    Bu uygulamada NodeMCU 1.0 (ESP-12E) kullanılarak Arduino IoT Cloud üzerinden başka birkonumdaki LED’i yakıp söndürme ve ortamın nem ve sıcaklık bilgisini bilgisayar veya akıllı telefon üzerinden görüntüleme yapılmaktadır. #include "thingProperties.h" #include "DHT.h" //Adafruit DHT Sensor Library v1.2.3 #define DHTpin 4 // Sensörün bağlandığı pin. NodeMCU 1.0 (ESP-12E) D2 pini. #define DHTtipi DHT11 // Sensör tipi:…

Bir Yorum Yazın

E-posta adresiniz yayınlanmayacaktır. Gerekli alanlar * ile işaretlenmiştir.