Servo motorlar Arduino ile nasıl arayüzlenir

Sorunları Ortadan Kaldırmak Için Enstrümanımızı Deneyin





Bu yazıda servo motorun ne olduğunu, nasıl çalıştığını, mikrodenetleyici ile nasıl arayüz oluşturacağını ve bu motoru diğer motorlardan neyin özel kıldığını öğreneceğiz.

Bir elektronik meraklısı olarak, birçok türde motora rastlamıştık, burada servo motor adı verilen özel motor türüne bir göz atacağız.



Servo motor nedir?

Servo motor veya kısaca servo, konum, hızlanma ve hız üzerinde hassas kontrol için tasarlanmış özel bir motor türüdür. Diğer tüm motor tiplerinden farklı olarak, servo sadece iki yönlü 180 derece dönebilir. Servonun açısal dönüşünü sınırlayan mekanik dişliler ve durdurucuya sahiptir.

Tipik servo motor:

Servo motorlar robotik, CCTV kameralarda, RC arabalarda, teknelerde, oyuncak uçaklarda vb. Kullanılır. Servolar, sürekli dönme hareketine ihtiyaç duymadığımız, ancak belirli bir konumda kilitlendiğimiz veya bazı yükü hareketli açısal limit dahilinde kontrollü bir hızla hareket ettirdiğimiz durumlarda kullanılır.



Servo, diğer tipler gibi basit bir motor değildir, ancak normal bir DC / AC motor, bir grup dişli, kontrol elektroniği ve bir geri besleme sistemini birleştiren modüldür. Bahsedilen aşamaların her birine ayrıntılı olarak bakalım.

Bir servo modül üzerinde kullanılan DC / AC motor fırçasız veya fırçalı olabilir, hobi servolarının çoğunda DC motor kullanılır ve endüstriyel uygulamalarda AC motorlar kullanılır. Motor, servoya dönüş girdisi verir. Motor, servo içinde birkaç yüz RPM'de döner ve çıkış dönüşü, RPM'sinin yaklaşık 50 veya daha fazla katıdır.

Bir sonraki aşama, servonun açısal dönüşünü ve hızını kontrol eden dişli düzeneğidir. Dişli, yükün ne kadar hacimli olduğuna bağlı olarak plastik veya metalden yapılabilir. Genellikle DC motorlar yüksek RPM'de ve düşük torkta çalıştırılır, dişli tertibatı aşırı RPM'yi torka dönüştürecektir. Böylelikle küçük bir motor, büyük bir yükü kaldırabilir.

Bir sonraki aşama, motorun dönüşünü kontrol etmek için MOSFET'ler ve IC'lerden oluşan kontrol elektronikleridir. Aktüatörün mevcut konumunu izlemek için servo motorlarda her zaman bir geri bildirim sistemi mevcuttur.

Servolarda genellikle bir geri besleme bileşeni, doğrudan dönen aktüatöre bağlanan bir potansiyometredir. Potansiyometre, kontrol elektroniğine beslenen voltaj bölücü görevi görür. Bu geri bildirim, kontrol elektroniğinin motora verilen güç miktarını belirlemesine yardımcı olur.

Sabit bir pozisyondaki bir servo motor, herhangi bir harici kuvvet rahatsız etmeye çalışırsa mevcut konumundan isteksizce hareket edecektir. Geri bildirim sistemi mevcut konumu izler ve motora harici parazitlere karşı güç sağlar.

Yukarıdaki senaryo, servo aktüatörünü hareket ettirdiğinde aynıdır. Kontrol sistemi, dış kuvveti telafi edecek ve belirlenen hızda hareket edecektir.

Şimdiye kadar servo motor ve onun işleyiş mekanizması hakkında çok şey biliyorsunuz. Mikrodenetleyici kullanarak servo motorları nasıl kontrol edeceğimizi görelim.

Servo motorlar, diğer motorların aksine, ikisi besleme (5V nominal) ve biri kontrol sinyali için olmak üzere 2 terminali olan 3 terminale sahiptir. Kablolar, terminallerin kolay tanımlanması için renklendirilmiştir.

Servoların kontrol sinyalleri 50Hz frekansında PWM'dir. Sinyalin darbe genişliği, aktüatör kolunun konumunu belirler. Tipik bir hobi servo motoru 1 ila 2 milisaniye darbe genişliğinde çalışır.

1 ms darbe genişliği kontrol sinyali uygulamak, aktüatörü 0 derece konumunda tutacaktır. 2 ms darbe genişliği kontrol sinyali uygulamak, aktüatörü 180 derece konumunda tutacaktır. 1-2 ms arasında sinyal uygulamak, aktüatörü 0-180 derece açı içinde tutacaktır. Bu, aşağıdaki görüntüyle daha iyi anlaşılabilir.

Şimdiye kadar bir servonun darbe genişlik modülasyonu (PWM) tarafından nasıl kontrol edildiğini anlamış olacaksınız.

Şimdi bir servo motorun Arduino ile nasıl arayüzleneceğini öğrenelim.

Devre şeması:

Arduino ile bir servo motor arayüzü nasıl yapılır.

Kablolama kolay ve açıklayıcıdır. Hacimli bir servo motor kullanıyorsanız, harici güç kaynağına ihtiyacınız vardır. Arduino güç kaynağından güç sağlamaya çalışırsanız, bilgisayardaki USB bağlantı noktasını aşırı yükleyebilirsiniz.

Makalenin başında gösterilen bir servo benzerine sahipseniz, onu, yazarın prototipinde de gösterilen arduino 5V beslemesinden besleyebilirsiniz.

Yazarın prototipi:

Arduino'nun onu idare etmek için servo kitaplığına ihtiyacı var, bu bizim görevimizi kolaylaştırdı ve zaten Arduino IDE'de.

Program:

//--------Program developed by R.Girish--------//
#include
Servo motor
int pos = 0
int t=10
void setup()
{
motor.attach(7)
}
void loop()
{
A:
pos=pos+1
motor.write(pos)
delay(t)
if(pos==180) { goto B}
goto A
B:
pos=pos-1
motor.write(pos)
delay(t)
if(pos==0) { goto A}
goto B
}
//--------Program developed by R.Girish--------//

Yukarıdaki program, aktüatörü 0 ila 180 derece sağa ve 180 ila 0 derece sola kaydıracak ve döngü tekrarlarını gerçekleştirecektir. Bu, özelleştirilmiş uygulamalarınız için kendi kodunuzu yazmanız gerekebilecek servoyu test etmek için basit bir programdır.




Önceki: İki Borulu Su Pompası Vana Kontrol Devresi Sonraki: Motosiklet Voltaj Regülatörü Kablolamasını Anlama