Web siteme hoşgeldiniz, 19 Ocak 2026
muratdonmez.com.tr
Anasayfa » IOT » Servo Motor: Hassas Açısal Konum Kontrol Rehberi

Servo Motor: Hassas Açısal Konum Kontrol Rehberi

Servo Motor: Hassas Açısal Konum Kontrol Rehberi

Servo Motor Nedir?

Servo Motor, basit bir DC motorun aksine, bir konumu korumak için tasarlanmış özel bir motor, dişli kutusu ve kontrol devresi birleşimidir. Temel özelliği, mikrodenetleyiciden (Arduino veya ESP32) aldığı sinyale göre tam olarak istenen açısal konuma (örneğin 45 dereceye) gidebilmesi ve o pozisyonda kalabilmesidir.

Servo motorlar, robot kollarında, RC uçakların dümen sistemlerinde ve kamera gimbal’larında (sabitleyiciler) kullanılır çünkü yüksek hassasiyet ve yüksek torku bir arada sunarlar.

Kapalı Döngü Kontrol

Servo motorlar, pozisyonlarını sürekli kontrol eden bir kapalı döngü (closed-loop) sistem kullanır. Bir servo motorun içinde dört ana bileşen vardır:

  1. DC Motor: Ana hareket gücünü sağlayan küçük elektrik motoru.
  2. Dişli Kutusu (Gearbox): DC motorun yüksek hızını düşürerek torkunu (dönme kuvvetini) artırır. Bu sayede küçük bir motor büyük yükleri döndürebilir.
  3. Pozisyon Sensörü (Potansiyometre): Motorun o an hangi açıda olduğunu ölçen bir sensördür (genellikle bir potansiyometre).
  4. Kontrol Devresi (Elektronik Kart): Bu devre, dışarıdan gelen sinyaldeki istenilen açıyı, potansiyometreden gelen mevcut açı ile karşılaştırır. İki değer uyuşana kadar motoru çalıştırır. Uyum sağlandığında motoru durdurur ve o pozisyonu korur.

Servo Motor

Kontrol Sinyali: Darbe Genişlik Modülasyonu (PWM)

Servo motorlar, açıyı belirlemek için Darbe Genişlik Modülasyonu (PWM) sinyali kullanır. Bu PWM, motorun hızını ayarlayan standart PWM’den farklıdır.

  • Periyot: Sinyal, genellikle her 20 milisaniyede (50 Hz) bir tekrarlanır.
  • Açı: Açı, darbenin genişliği (süresi) ile belirlenir:
    • 0 Derece: Yaklaşık 1.0 milisaniye (ms) darbe genişliği.
    • 90 Derece: Yaklaşık 1.5 milisaniye (ms) darbe genişliği.
    • 180 Derece: Yaklaşık 2.0 milisaniye (ms) darbe genişliği.

Arduino’daki Servo.write(90) komutu, arkada bu milisaniye ayarını otomatik olarak yapar.

Servo Motor Çeşitleri

  1. Standart Servo Motor (180°/270°): En yaygın tiptir (SG90, MG995). Genellikle 0° ile 180° arasında bir menzile sahiptir ve en çok pozisyonlama için kullanılır.
  2. Sürekli Dönüş Servo Motor (Continuous Rotation): Bu motorlar, 180°’lik bir açı sınırına sahip değildir. PWM sinyali artık konumu değil, motorun hızını ve yönünü (saat yönü/saat yönü tersi) kontrol eder. Robot tekerlekleri veya sürekli dönmesi gereken mekanizmalar için idealdir.
  3. Dijital Servo: Kontrol sinyalini daha hızlı işler ve daha hassas konumlandırma sunar, ancak analog servolara göre daha pahalıdır.

ESP32 ile Bağlantı ve Güç Uyarısı

Servo motorlar genellikle üç kabloya sahiptir:

Kablo RengiFonksiyonBağlantı Yeri
KırmızıVCC (Güç)5V (Yüksek akım çekebilir)
Kahverengi/SiyahGND (Toprak)ESP32 GND
Turuncu/SarıSinyal (PWM)GPIO 13

Güç Uyarısı: Birden fazla veya büyük boyutta (metal dişli) bir servo motor kullanıyorsanız, motorların anlık olarak çekeceği yüksek akımı karşılamak için ESP32’nin 5V (Vin) pinini kullanmak yerine harici bir 5V güç kaynağı kullanmanız önemlidir. Servo motorlar hareket ederken anlık olarak 1A’e kadar akım çekebilir.

Arduino’nun Servo.h kütüphanesi, servo motorların kontrolünü son derece basit hale getirir.

ESP32 Servo Motor Bağlantısı

ESP32 (Arduino IDE) Örnek Kodu

Gerekli Kütüphane: “ESP32Servo by Kevin Harrington”

//muratdonmez.com.tr
#include <ESP32Servo.h>

Servo myServo;
int servoPin = 13;

void setup() {
  Serial.begin(115200);
  Serial.println("ESP32 Servo Motor Testi");

  // Servo için PWM ayarları
  ESP32PWM::allocateTimer(0); // Bir zamanlayıcı (timer) ata
  myServo.setPeriodHertz(50); // Standart servolar 50Hz'de çalışır

  // Servoyu pine ata (Min/Max darbe süresi us)
  myServo.attach(servoPin, 500, 2500);
}

void loop() {
  Serial.println("Servo 0 derece");
  myServo.write(0); // Açı komutu (0-180)
  delay(1000);

  Serial.println("Servo 90 derece");
  myServo.write(90);
  delay(1000);

  Serial.println("Servo 180 derece");
  myServo.write(180);
  delay(1000);
}

Eğer akıllı ev, IOT projeleri ile ilgili sorularınız veya yapmak istediğiniz bir projeniz varsa, yedek alma ve yedekten dönme planınız veya felaket kurtarma planınız yoksa, işletmeniz için nasıl bir Sunucu, Bilgisayar veya Kesintisiz Güç Kaynağı seçmeniz gerektiğini bilmiyorsanız danışmanlık hizmetlerimden faydalanmak isterseniz bana WhatsApp üzerinden ulaşabilirsiniz.

İlgili Yazılar

Sık Sorulan Sorular

  • Servo motor ile normal DC motor arasındaki fark nedir?
    DC motorlar sürekli döner ve hızı voltajla kontrol edilir; konum geri bildirimi yoktur. Servo motorlar ise konum geri bildirimi (kapalı döngü) içerir, bu sayede belirli bir açıyı koruyabilir veya tam olarak istenen bir açıya hareket edebilirler.
  • Servo motorlar kaç derece dönebilir?
    Standart hobi servoları (SG90, MG996R) genellikle 180 derece veya 270 derece ile sınırlıdır. Sürekli dönüş servolar ise 360 derece dönebilir, ancak bu durumda açı yerine hız kontrol edilir.
  • Servo motor neden titrer veya vızıldar?
    Titreme, motorun istenilen açıya ulaştığı ancak küçük sapmaları düzeltmek için sürekli olarak güç uygulanıp kesildiği anlamına gelir (avlanma/hunting). Bu durum genellikle motorun pozisyonunu koruması için güç harcadığını gösterir ve normaldir. Aşırı titreşim ise zayıf güç kaynağı bağlantısından kaynaklanabilir.
  • Servo motorlar hangi sinyal ile kontrol edilir?
    Darbe Genişlik Modülasyonu (PWM) sinyali ile kontrol edilirler. Sinyalin darbe genişliği (süresi), motordan beklenen açıyı belirler. Örneğin, 1.5ms darbe genellikle 90 dereceye karşılık gelir.
  • SG90 ve MG996R arasındaki fark nedir?
    SG90, küçük, plastik dişli, düşük torklu ve hafif (mini) bir servodur. MG996R ise büyük, metal dişli, çok daha yüksek torklu ve daha hızlı bir servodur. Projenin taşıyacağı yüke göre seçim yapılmalıdır.

Etiketler:

BU KONUYU SOSYAL MEDYA HESAPLARINDA PAYLAŞ
Yorumlar

Henüz yorum yapılmamış.

Yorum Yaz