• Product
  • Suppliers
  • Manufacturers
  • Solutions
  • Free tools
  • Knowledges
  • Experts
  • Communities
Search


Servo Motor Kontrolü: Kapsamlı Bir Rehber

Encyclopedia
Alan: Ansiklopedi
0
China

Servo Motor Kontrolü: Tam Rehber

 

Önemli Öğrenimler:

 

Servo Motor Kontrolü Tanımı: Servo motor kontrolü, elektronik sinyaller aracılığıyla motora pozisyon, hız ve ivme üzerinde hassas bir şekilde müdahale etmeyi sağlar.

 

Geri Besleme Mekanizması: Genellikle potansiyometre veya kodlayıcı olarak kullanılan geri besleme sistemi, motordan gelen çıktının kontrol girişine tam olarak uymasını sağlar.

 

PWM Sinyali: Genişlik modülasyonlu darbe (PWM), servonun pozisyonunu ayarlamak için elektriksel darbelerin süresini değiştirerek kritik önem taşır.

 

Arduino ve Servo Motorlar: Arduino kartını kullanmak, servo motorları programlamak ve kontrol etmek için popüler ve etkili bir yoldur. Bu, minimum donanım kurulumu gerektirir.

 

Servo Motorların Uygulamaları: Servo motorlar, robotik ve otomatik sistemler gibi hassas pozisyon kontrolü gerektiren projelerde vazgeçilmezdir.

 

Bir servo motor, döndürmede yüksek hassasiyet ve doğruluk için tasarlanmış motordur. Tipik bir DC motordan farklı olarak, sürekli dönme yerine belirli bir pozisyonda kalma yeteneği vardır. Bu özellik, servo motorları robotik, otomasyon ve hobiler için ideal hale getirir.

 

Bu makale, servo motor kontrolünün nasıl işlediğini, farklı servo motor türlerini, çeşitli kontrol yöntemlerini ve cihazlarını açıklar. Ayrıca servo motor uygulamaları ve projeleri örnekleri sunar.

 

Servo Motor Nedir?

 

Bir servo motor, pozisyon (açı), hız ve ivmenin hassas kontrolünü sağlayan bir aktüatör olarak tanımlanır. Tipik bir servo motor, üç ana bileşenden oluşur: bir DC motor, bir kontrol devresi ve bir geri besleme cihazı.

 

DC motor, servo'yu güçlendirir ve çıkış şaftındaki hızı azaltıp torku artırarak dişlilere bağlanır.

resim2.gif

Çıkış şaftı, yükü hareket ettiren servo'nun dönen kısmıdır.

 

Kontrol devresi, dış bir kontrolcüden gelen giriş sinyallerini alıp işleme sorumludur. Bu sinyaller, servo'ya hangi pozisyona, hızda veya yönde gitmesi gerektiğini söyler. Kontrol devresi ayrıca DC motora güç göndererek onu sürer.

 

Geri besleme cihazı genellikle, çıkış şaftının mevcut pozisyonunu ölçen bir potansiyometre veya kodlayıcıdır.

resim3.png

Geri besleme cihazı, pozisyon verisini kontrol devresine geri ileterek, gerçek pozisyonun giriş sinyalinden gelen istenen pozisyonla uyumlu olacak şekilde DC motora güç ayarlar.

 

Kontrol devresi ve geri besleme ciharı arasındaki geri besleme döngüsü, servo'nun hareket aralığı içinde herhangi bir pozisyona doğru hareket edebilmesini ve bu pozisyonda kalmasını sağlar.

 

Bir Servo Motor Nasıl Kontrol Edilir?

 

Servo motorlar, servonun sinyal çizgisine genişlik modülasyonlu darbe (PWM) sinyali göndererek kontrol edilir. PWM, bir sinyali hızlıca açıp kapayarak değişken genişlikte darbeler oluşturmak için kullanılan bir tekniktir. Darbelerin genişliği, çıkış şaftının pozisyonunu belirler.

 

Örneğin, 1.5 milisaniye (ms) darbe genişliğine sahip bir PWM sinyali gönderdiğinizde, servo tarafsız pozisyona (90 derece) gider.

resim4.png


1 ms darbe genişliğine sahip bir PWM sinyali gönderdiğinizde, servo en düşük pozisyona (0 derece) gider. 2 ms darbe genişliğine sahip bir PWM sinyali gönderdiğinizde, servo en yüksek pozisyona (180 derece) gider.

 

PWM sinyalinin frekansı 50 Hz'dir, yani 20 ms'de bir tekrarlanır. Bu süre içinde darbe genişliği 1 ms ile 2 ms arasında değişebilir.

 

PWM sinyalleri üretip servo motorlara göndermek için birçok yolu vardır. En yaygın yöntemler şunlardır:

 

Bir Arduino kartı veya başka bir mikrodenetleyici kullanarak

 

Bir potansiyometre veya başka bir analog sensör kullanarak

 

Bir joystick veya başka bir dijital giriş cihazı kullanarak

 

Bir özel servo kontrolörü veya sürücü kullanarak

 

Aşağıdaki bölümlerde, bu yöntemlerin her birini daha ayrıntılı olarak inceleyeceğiz ve bunların nasıl çalıştığını göreceğiz.

 

Arduino ile Bir Servo Motoru Kontrol Etme

 

Arduino, servo motorları kontrol etmek için en popüler platformlardan biridir. Arduino kartları, servolara sinyal göndermek için kullanılabilen dahili PWM çıkışlarına sahiptir. Arduino ayrıca servo kontrolü için kolay bir kod yazmanıza olanak tanıyan bir Servo kütüphanesi sunar.

 

Bir servo motoru Arduino ile kontrol etmek için şunlara ihtiyacınız olacaktır:

 

Bir Arduino kartı (örneğin Arduino UNO)

 

Bir standart servo motor (örneğin SG90)

 

Jumper kabloları

 

Bir breadboard (isteğe bağlı)

 

Servodan gelen kırmızı kablo, Arduino kartındaki 5V'ye bağlanır. Servodan gelen siyah kablo, Arduino kartındaki GND'ye bağlanır. Servodan gelen beyaz kablo, Arduino kartındaki pin 9'a bağlanır.

 

Arduino kartınızı programlamak için, Arduino IDE'sini (online veya offline) kullanmanız gerekecektir. Servo kütüphanesinden bir örneği kullanabilir veya kendi kodunuzu yazabilirsiniz.

 

Aşağıdaki kod, bir for döngüsü kullanarak bir servo motoru 180 derece arasında düzgün bir şekilde hareket ettirmeyi gösterir:

 

 

#include <Servo.h> // Servo kütüphanesini ekle

 

Servo myservo; // Servo nesnesi oluştur

 

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

 

void setup() {

  myservo.attach(9); // Servo nesnesini pin 9'a bağla

}

 

void loop() {

  for (pos = 0; pos <= 180; pos += 1) { // 0'dan 180 dereceye kadar döngü

    myservo.write(pos); // Pozisyonu Servo nesnesine yaz

    delay(15); // 15 ms bekle

  }

 

  for (pos = 180; pos >= 0; pos -= 1) { // 180'den 0 dereceye kadar döngü

    myservo.write(pos); // Pozisyonu Servo nesnesine yaz

    delay(15); // 15 ms bekle

  }

}

 

 

Bu kod, pozisyon değişkenini 0'dan 180 dereceye ve tersine arttıran iki döngü kullanır. Ardından bu değeri myservo.write(pos) fonksiyonu kullanarak Servo nesnesine yazar. Her adım arasında 15 ms bekleme ekler, böylece hareket yavaşlatılır.

 

Bu kodu IDE'nin Upload butonunu kullanarak Arduino kartınıza yükleyin ve servonuzun düzgün bir şekilde geri ve ileri hareket etmesini izleyin.

 

Potansiyometre ile Bir Servo Motoru Kontrol Etme

 

Bir potansiyometre, direncini ne kadar çevirdiğinize bağlı olarak değiştirebilen bir analog sensördür. Potansiyometreyi, bir servo motorunu kontrol etmek için bir giriş cihazı olarak kullanabilirsiniz.

 

Bir potansiyometre ile bir servo motoru kontrol etmek için şunlara ihtiyacınız olacaktır:

 

Bir Arduino kartı (örneğin Arduino UNO)

 

Bir standart servo motor (örneğin SG90)

 

Bir potansiyometre (10k Ohm)

 

Jumper kabloları

 

Bir breadboard

 

Bir potansiyometre ve bir servo motoru Arduino kartına bağlama için bağlantı diyagramı aşağıda gösterilmiştir:

 

Potansiyometreden gelen kırmızı kablo, Arduino kartındaki 5V'ye bağlanır. Potansiyometreden gelen siyah kablo, Arduino kartındaki GND'ye bağlanır. Potansiyometreden gelen yeşil kablo, Arduino kartındaki pin A0'a bağlanır.

 

Servodan gelen kırmızı kablo, breadboard'daki başka bir satırdaki 5V'ye bağlanır. Servodan gelen siyah kablo, breadboard'daki başka bir satırdaki GND'ye bağlanır. Servodan gelen beyaz kablo, breadboard'daki başka bir satırdaki pin D9'a bağlanır.

 

Arduino kartınızı programlamak için, önceki örnekteki aynı kodu kullanmanız gerekecek ancak birkaç satırı değiştirmeniz gerekecektir:

 

 

#include <Servo.h> // Servo kütüphanesini ekle

 

Servo myservo; // Servo nesnesi oluştur

 

int potpin = A0; // Potansiyometreyle bağlantılı pin

int val = 0; // Potansiyometre değerini okuma için değişken

 

void setup() {

myservo.attach(9); // Servo nesnesini pin D9'a bağla

}

 

void loop() {

val = analogRead(potpin); // Potansiyometreden değer oku (0 - 1023)

val = map(val, 0, 1023, 0, 180); // Değer aralığını (0 - 180) harita

myservo.write(val); // Haritalanan değeri Servo nesnesine yaz

delay(15); // 15 ms bekle

}

 

 

Bu kod, analogRead(potpin) fonksiyonunu kullanarak A0 pinine bağlı potansiyometreden değer okur. Ardından map(val, 0, 1023, 0, 180) fonksiyonunu kullanarak değer aralığını 0 - 1023'ten 0 - 180 dereceye haritalar. Sonra bu değeri myservo.write(val) fonksiyonu kullanarak Servo nesnesine yazar. Aynı zamanda önceki örnekte olduğu gibi 15 ms bekleme ekler.

 

Bu kodu IDE'nin Upload butonunu kullanarak Arduino kartınıza yükleyebilirsiniz. Potansiyometrenin knob'unun konumuna göre servonuzun hareket etmesini görmelisiniz.

 

Joystick ile Bir Servo Motoru Kontrol Etme

 

Joystick, iki eksen boyunca hareket yönünü ve büyüklüğünü algılayabilen bir dijital giriş cihazıdır. Joystick'i, joystick'in x-eksenini servo'nun açısına eşleştirerek bir servo motoru kontrol etmek için kullanabilirsiniz.

 

Bir joystick ile bir servo motoru kontrol etmek için aşağıdaki malzemelere ihtiyacınız olacaktır:

 

Bir Arduino kartı (örneğin Arduino UNO)

 

Bir standart servo motor (örneğin SG90)

 

Bir joystick modülü (örneğin KY-023)

 

Jumper kabloları

 

Bir breadboard

 

Bir joystick modülü ve bir servo motoru Arduino kartına bağlama için bağlantı diyagramı aşağıda gösterilmiştir:

 

!https://www.makerguides.com/wp-content/uploads/2019/01/Servo-motor-control-with-Arduino-and-joystick-wiring-diagram.png

 

Joystick modülünden gelen kırmızı kablo, Arduino kartındaki 5V'ye bağlanır. Joystick modülünden gelen siyah kablo, Arduino kartındaki GND'ye bağlanır. Joystick modülünden gelen yeşil kablo, Arduino kartındaki pin A0'a bağlanır.

 

Servodan gelen kırmızı kablo, breadboard'daki başka bir satırdaki 5V'ye bağlanır. Servodan gelen siyah kablo, breadboard'daki başka bir satırdaki GND'ye bağlanır. Servodan gelen beyaz kablo, breadboard'daki başka bir satırdaki pin D9'a bağlanır.

 

Arduino kartınızı programlamak için, önceki örnekteki aynı kodu kullanmanız gerekecek ancak birkaç satırı değiştirmeniz gerekecektir:

 

 

#include <Servo.h> // Servo kütüphanesini ekle

 

Servo myservo; // Servo nesnesi oluştur

 

int joyX = A0; // Joystick x-ekseniyle bağlantılı pin

int val = 0; // Joystick değerini okuma için değişken

 

void setup() {

  myservo.attach(9); // Servo nesnesini pin 9'a bağla

}

 

void loop() {

  val = analogRead(joyX); // Joystick x-ekseninden değer oku (0 - 1023)

  val = map(val, 0, 1023, 0, 180); // Değer aralığını (0 - 180) harita

Yazarı Ödüllendir ve Cesaretlendir
Önerilen
Talep
İndir
IEE Business Uygulamasını Al
IEE-Business uygulamasını ekipman bulmak için kullanın çözümler elde edin uzmanlarla bağlantı kurun ve sektör işbirliğine katılın her yerde her zaman güç projelerinizin ve işlerinizin gelişimini tamamen destekleyerek