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

  • Alev Dedektörü Devresi

    Alev sensörleri ortamda alev algıladığında uyarı sinyali verir. Alev sensörü 760 nm – 1100 nm arasındaki dalga boyuna sahip ışığı (kızılötesi ışınım) tespit etmek için kullanılır. Görselde alev sensörü pin yapısı, Görseldeki ise alev dedektörü devresi görülmektedir. A0: Analog veri çıkışı. GND: Toprak pini. +: 3,3 V-5 V besleme. D0: Dijital veri çıkışı. const byte buzzer…

  • Kesme Uygulaması

    Görseldeki programda ana döngüde blink uygulaması çalışırken butona basıldığında kesme aktifedilmekte ve haricî LED anında yanmaktadır. Haricî LED’in sönme komutu ise ana döngüde verildiğinden sönme işlemi ana programda icra edilen komut satırına bağlı olarak 0 ile 2 saniyearasında süre alır. const byte dahiliLED = 13; const byte hariciLED = 12; const byte kesmePini = 2;…

  • Seri Port Ekran Uygulaması

    Görseldeki çıktılarda seri port ekranına Serial.println() fonksiyonuyla “MerhabaDünya” yazdırılmaktadır.İkinci programda butonla dijital giriş uygulamasında butonun durumu seri port ekranına yazdırılmaktadır void setup() {  Serial.begin(9600); //Seri iletişim baudrate ayarı yapıldı. } void loop() {  Serial.println("Merhaba Dünya!"); } const byte buton = 2; void setup() {  Serial.begin(9600); //Seri iletişim baudrate ayarı yapıldı.  pinMode(buton, INPUT_PULLUP); } void loop()…

  • Nem Sensörü Uygulaması

    DHT sensörleri, kapasitif nem sensörü ve termistör (NTC) olmak üzere iki parçadan oluşur. İçindeanalog dijital dönüştürü vardır. Görsel 3.15a’da DHT11 ve DHT22’nin pin yapısı görülmektedir.DHT11 ve DHT22 aynı pin çıkışına sahiptir ancak bunların farklı özellikleri vardır. DHT11 0 ile 50 °Carasındaki sıcaklığı ±2 °C doğrulukla verirken DHT22 -40 ile 80 °C arasındaki sıcaklığı ±0,5 °Cdoğrulukla…

  • Trafik Lambası Uygulaması

    Görselde röle modülünün beslemesi Arduino kartının 5 V ve GND uçlarından verilir. ModülünGörselde 13, 12, 11 numaralı pinlere sırasıyla kırmızı, sarı ve yeşil LED bağlanarak programda çıkış olarak ayarlanmıştır. Her durum için yanan lambalara lojik 1 bilgisi gönderilirken sönmesi istenen lambalara lojik 0 bilgisi gönderilir.Değişkenler (kirmizi, sari, yesil) byte (0-255 arası sayılar için) tipinde tanımlanarak…

  • Akıllı Ev Isıtma Uygulaması NodeMCU 1.0 (ESP-12E)

    Görseldeki devre, bulunduğu ortamın nem ve sıcaklık bilgisini firebase veritabanına yazar. Görseldeki akıllı telefon uygulamasından bu değerler okunur. NodeMCU kartına bağlı ısıtıcı internet üzerinden kontrol edilir. #include <ESP8266WiFi.h> // NodeMCU kurulumuyla gelir. #include <FirebaseESP8266.h> // FirebaseESP8266 Client v3.8.3 ve Firabasejson v2.6.3 #include "DHT.h" // Adafruit DHT Sensor Library v1.2.3 #define DHTpin 4     // Sensörün bağlandığı…

Bir Yorum Yazın

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