Servo motor, içindeki kontrol devresi sayesinde milini istenen açıya (genellikle 0-180 derece) getirip orada tutan bir motordur. Üç kablosu vardır: kahverengi/siyah GND, kırmızı besleme (çoğunlukla 5V) ve turuncu/sarı sinyal. Açı, 50 Hz'lik bir sinyalde yaklaşık 1-2 ms süren darbelerle belirlenir; Arduino'da Servo kütüphanesiyle tek satırda kontrol edilir.
Robot kollar, RC uçak kanatçıkları, kamera yönlendiricileri ve otomatik kapı mandalları: hepsinde belirli bir açıya gidip orada duran bir servo motor vardır. Bu rehberde servo motorun nasıl çalıştığını, kablo renklerini, Arduino ile nasıl kontrol edildiğini ve doğru servonun nasıl seçildiğini anlatıyoruz.
Servo motor nedir?
Servo motor, bir DC motor, dişli kutusu, konum algılayıcı (genellikle potansiyometre) ve kontrol devresinden oluşan, milini istenen açıya getirip o açıda tutan bir motordur. Hobi servolarının çoğu 0 ile 180 derece arasında döner. Kontrol devresi, gelen sinyalin istediği açıyla milin gerçek açısını sürekli karşılaştırır ve fark varsa motoru o yöne çevirir.
Servo motor nasıl çalışır?
Servo motorun açısı, 50 Hz (20 ms aralıklı) bir sinyaldeki darbenin süresiyle belirlenir: yaklaşık 1 ms bir uç konumu, 1,5 ms orta konumu (90 derece), 2 ms diğer uç konumu verir. Bu süreler markaya göre biraz farklı olabilir; birçok servo 0,5-2,5 ms aralığında tam 180 dereceyi tarar. Sinyal kesilmeden geldiği sürece servo konumunu korur; dışarıdan çevirmeye çalıştığınızda karşı koyar.
Servo motor kablo renkleri
| Kablo rengi | Görevi | Arduino bağlantısı |
|---|---|---|
| Kahverengi ya da siyah | GND (eksi) | GND |
| Kırmızı | Besleme (+), çoğunlukla 4,8-6V | 5V ya da harici 5V kaynak |
| Turuncu, sarı ya da beyaz | Sinyal | Dijital pin (ör. 9) |
Servo motor Arduino'ya nasıl bağlanır?
- Kahverengi kabloyu GND'ye bağlayın.
- Kırmızı kabloyu 5V'a bağlayın. Tek küçük servo için Arduino'nun 5V pini çoğu zaman yeterlidir; birden fazla ya da büyük servo için harici 5V kaynak kullanın.
- Turuncu sinyal kablosunu bir dijital pine (ör. 9) bağlayın.
- Harici kaynak kullanıyorsanız kaynağın GND'sini Arduino'nun GND'siyle birleştirin.
Servoyu 90 dereceye getiren ve iki uç arasında süpüren basit kod:
#include <Servo.h>
Servo servo;
void setup() {
servo.attach(9);
servo.write(90);
}
void loop() {
for (int a = 0; a <= 180; a++) { servo.write(a); delay(15); }
for (int a = 180; a >= 0; a--) { servo.write(a); delay(15); }
}Servoyu potansiyometreyle kontrol etmek için potansiyometre değerini map(deger, 0, 1023, 0, 180) ile açıya çevirip servo.write()'a verin. Potansiyometre bağlantısı için potansiyometre rehberimize, Arduino'nun temelleri için Arduino nedir yazımıza bakın.
SG90 ile MG90S arasındaki fark nedir?
SG90 ve MG90S aynı boyutta mikro servolardır; SG90'ın dişlileri plastik, MG90S'in dişlileri metaldir. Metal dişliler daha dayanıklıdır, darbelere ve yüke karşı daha iyi direnir; MG90S biraz daha ağır ve pahalıdır.
| Özellik | SG90 | MG90S |
|---|---|---|
| Dişli | Plastik | Metal |
| Ağırlık (yaklaşık) | 9 g | 13-14 g |
| Tork (4,8V, yaklaşık) | 1,8 kg·cm | 1,8-2,2 kg·cm |
| Kullanım | Eğitim, hafif mekanizmalar | Robot kol, sık yük alan mekanizmalar |
Örnekler: Tower Pro MG90S metal dişli servo ve çok hafif uygulamalar için 4 g dijital mikro servo. Daha yüksek tork gereken robot kol ve araç direksiyonlarında 20 kg su geçirmez dijital servo gibi büyük servolar kullanılır.
Servo seçerken nelere bakılır?
- Tork (kg·cm): Servonun mil ekseninden 1 cm uzakta kaldırabileceği ağırlık. Kol uzadıkça gereken tork artar; hesaplanan değerin en az 1,5-2 katını seçin.
- Hız: 60 derece dönme süresi (ör. 0,1 s/60°).
- Dişli malzemesi: Plastik hafif ve ucuz, metal dayanıklıdır.
- Analog ya da dijital: Dijital servolar konumu daha hassas ve güçlü tutar, daha fazla akım çeker.
- Bağlantı parçaları: Mekanizmaya bağlamak için uygun servo kolu ve göbek gerekir; ör. 25T servo kolu ve servo bağlantı göbeği.
Sürekli dönen servo nedir?
Sürekli dönen (360 derece) servo, açıya gitmek yerine sinyale göre belirli bir hız ve yönde sürekli dönen bir servodur. 1,5 ms darbe durdurur, daha kısa darbe bir yöne, daha uzun darbe diğer yöne döndürür. Küçük robot tekerlekleri için pratiktir; ancak konum bilgisi yoktur. Hassas konum gereken işlerde standart servo ya da step motor, yalnızca dönüş gereken işlerde DC motor daha uygundur.
Servo besleme sorunları
- Servo hareket ederken Arduino yeniden başlıyorsa besleme yetersizdir; harici 5V kaynak kullanın.
- Birden fazla servo varsa her biri hareket anında yüzlerce mA çekebilir; kaynağın akımını toplam ihtiyaca göre seçin.
- Beslemeye yakın 470-1000 µF bir kondansatör ani akım düşüşlerini azaltır.
- Servo titriyorsa GND bağlantılarını ve beslemeyi kontrol edin.
Sık sorulan sorular
Servo motor kaç volt ile çalışır?
Hobi servolarının çoğu 4,8-6V ile çalışır; 5V en yaygın kullanılan değerdir. Bazı büyük ve yüksek gerilimli servolar 7,4-8,4V destekler. Servonun datasheet'indeki gerilim aralığının dışına çıkmayın.
Servo motor kaç derece döner?
Standart hobi servoları genellikle 0 ile 180 derece arasında döner; bazı modeller 270 derece döner. Sürekli dönen servolar ise sınırsız döner ama açı yerine hız ve yön kontrol edilir.
Servo motor neden titrer?
Titreme genellikle yetersiz besleme, ortak GND eksikliği, gürültülü sinyal ya da servonun taşıyamayacağı yük nedeniyle olur. Harici bir 5V kaynak kullanın, GND'leri birleştirin ve yükü azaltın.
Arduino ile kaç servo kontrol edilebilir?
Servo kütüphanesi Arduino Uno'da 12 servoya kadar destekler. Ancak servoların hepsi harici ve yeterli akımlı bir kaynakla beslenmelidir. Daha fazla servo için PCA9685 gibi 16 kanallı servo sürücü kartları kullanılır.
SG90 kaç kg kaldırır?
SG90'ın torku 4,8V'ta yaklaşık 1,8 kg·cm'dir. Bu, mil ekseninden 1 cm uzaklıkta yaklaşık 1,8 kg, 3 cm uzaklıkta yaklaşık 0,6 kg demektir. Güvenli kullanım için bu değerin yarısını aşmamak önerilir.
Özet
- Servo motor milini istenen açıya getirip orada tutan, kontrol devreli bir motordur.
- Kablolar: kahverengi GND, kırmızı +5V, turuncu sinyal.
- Açı 50 Hz sinyaldeki 1-2 ms darbeyle belirlenir; Arduino'da Servo kütüphanesi kullanılır.
- SG90 plastik, MG90S metal dişlidir; torku kol uzunluğuna göre seçin.
- Birden fazla servoyu harici 5V kaynakla besleyin, GND'leri birleştirin.