Ana içeriğe atla

# 10 | Servo Motor Nasıl Çalışır? Joystick ile Servo Kontrolü


 Projemizde sg90 tipi kolayca bulabileceğiniz bir Servo Motor kullandım. Servolar , arduino üzerinde darbe genişlik modülasyonu (PWM) gönderilerek kontrol edilir. "Pulse Width Modulation" yani Türkçe olarak "Darbe Genişlik Modülasyonu" Aslında PWM kaynaktan alınan gerilimi belirli sürelerdeki darbeler haline getirme işlemidir. Motora gönderilen PWM , şaftın konumunu belirler. Servomuzun iç yapısında yine potansiyometre var gönderilen darbenin süresine bağlı olarak; motor istenilen konuma dönecektir. Her 20 milisaniyede (ms) bir darbe görmeyi bekler ve darbenin uzunluğu, motorun ne kadar döneceğini belirleyecektir. Örneğin 1,5 ms'den kısa olması, onu saat yönünün tersine 0 ° konumuna doğru hareket ettirir. 1,5 ms'lik bir darbe, motorun 90 ° konumuna dönmesini sağlayacaktır. 1,5 ms'den daha uzun olması servoyu saat yönünde 180 ° konumuna doğru döndürür.

Motora gönderilen PWM , şaftın konumunu belirler. Servomuzun iç yapısında yine potansiyometre var gönderilen darbenin süresine bağlı olarak; motor istenilen konuma dönecektir.




Her 20 milisaniyede (ms) bir darbe görmeyi bekler ve darbenin uzunluğu, motorun ne kadar döneceğini belirleyecektir. Örneğin 1,5 ms'den kısa olması, onu saat yönünün tersine 0 ° konumuna doğru hareket ettirir. 1,5 ms'lik bir darbe, motorun 90 ° konumuna dönmesini sağlayacaktır. 1,5 ms'den daha uzun olması servoyu saat yönünde 180 ° konumuna doğru döndürür.


Servo Motor





Servo motorların içerisinde motorun hareketini sağlayan bir DC motor bulunmaktadır. Bu motorun dışında bir dişli mekanizması, potansiyometre ve bir motor sürücü devresi bulunmaktadır. Potansiyometre, motor milinin dönüş miktarını ölçmektedir. Servo içerisindeki DC motor hareket ettikçe potansiyometre döner ve kontrol devresi motorun bulunduğu pozisyon ile istenilen pozisyonu karşılaştırarak motor sürme işlemi yapar. Yani, servolar diğer motorlar gibi harici bir motor sürücüye ihtiyaç duymadan çalışmaktadırlar. Genellikle çalışma açıları 180 derece ile sınırlıdır fakat 360 derece çalışma açısına sahip özel amaçlı servo motorlar da vardır. Servolar genellikle 4.8-6V gerilim ile çalışmaktadırlar. 7.4V ve daha yüksek gerilimle çalışan servolar da bulunmaktadır.

Joystick 





Joystick modülü, içerisinde iki eksende hareket edebilen iki potansiyometre bulunan tümleşik bir modüldür. Bu iki potansiyometrenin hareketi ile 2 eksende bir hareket elde edilir. Bu X ve Y ekseninde elde edilen hareket sonucunda potansiyometrelerden okunan değerler led yakma, motor kontrolü, uzaktan kumandalı araba kontrolü vb bir çok arduino projesinde kullanılabilir.

DEVRE



KODLAR

SERVO İÇİN:


JOYSTİCK İLE SERVO MOTOR KONTROLÜ İÇİN:



#include <Servo.h>

Servo servonesnesi;

void setup() {
servonesnesi.attach(6);
}
 
void loop() {
int joystick=analogRead(A0);
int derece=map(joystick,0,1023,0,180);
servonesnesi.write(derece);
}

Yorumlar

Bu blogdaki popüler yayınlar

#9 | Lazerli Güvenlik Sistemi Nasıl Yapılır?

  Odanız için basit bir lazerli güvenlik sistemi kurmak ister misiniz? Şimdiye kadar öğrendiğimiz kod yapıları ve sensörleri kullanarak çok rahat tasarlayabilirsin. Lazer ışığının algılanabilmesi için LDR kullandım. LDR lazer ışığını alamadığında yani lazerin önünde bir şey geçtiğinde Arduino buna tepki verecektir. Böylece kapıdan birinin girip girmediğini anlayabilirsiniz. Daha önceden de öğrendiğimiz gibi LDR ışığın şiddetiyle değişen bir dirençtir. LDR çıkışı Arduino'nun analog girişine bağlanmıştır. Arduino analog girişini sürekli kontrol etmelidir. Eğer analog girişin değeri belirli bir değerin altına düşer ise Arduino, lazer ışığı ile LDR arasından bir şey geçtiğini anlayacaktır. DEVRE KODLAR int led = 4 ; int buzzer = 5 ; int ldr = A4 ; void setup ( ) {   Serial . begin ( 9600 ) ;   pinMode ( led , OUTPUT ) ;   pinMode ( buzzer , OUTPUT ) ; } void loop ( ) {   int ldrdeger = analogRead ( ldr ) ;   Serial . println ( ldrdeger...

# 11 | Joystick ile 2 Servo Motor Kontrolü

Servo Motor Nedir? Nasıl Çalışır? Yapı olarak dc veya ac motor tiplerine benzeseler de bu sistemlere ek olarak iç yapısında bir potansiyometre ve motor milinin konumunu ölçen bir kontrol devresi bulunur. Ayrıca servo motor 3 bağlantı ucuna sahiptir. GND(toprak), 5V, Sinyal pinleri.  Bunlardan ikisi motoru çalıştırırken diğer ucu ise sistemin giriş birimine motor şaftının konumunu bildirir. DC Servo Motor DC Servo motorun içerisinde bir adet dc motor bulunmasından dolayı dc servo motor ismini almıştır. Fakat dc motora ek olarak bir kontrol devresi ve çıkışında mil görevi gören bir potansiyometre ile dc motorun milini kontrol eder. Potansiyometre Dönme momentine göre lineer bir direnç artışına sebep olur. Bu özelliğinden faydalanılarak potansiyometrenin o anki direnç değerine göre servo motorun anlık konumu belirlenir. Tüm bu işlemleri yapan kısım ise dc servo motorda kontrol devresi olarak anılır. Kontrol Devresi Potansiyometrenin direnç değerine göre servo motorun o an hangi a...

#19 | HC06 Bluetooth Modülüyle 3 LED Yakalım! (Detaylı Anlatım)

  Kod ve Devreyi indirmek için tıklayınız! HC05/06 Bluetooth Modülü Herkese merhaba bugün HC06 Bluetooth modülünü kullanarak 3 tane LED yakma projesini yapacağız. Artık neredeyse hepimizin elinde akıllı telefon mevcut. akıllı telefonumuz aracılığıyla Bluetooth üzerinden evimizdeki ışıkları, robotları veya yaptığımız devreleri kontrol edebiliriz. Bluetooth modüller Arduino kablosuz iletişiminde yaygın olarak kullanılan modüllerden biridir ve genellikle HC05 ve HC06 modülleri karşımıza çıkar. Bu modüller fiziksel tip olarak birbirlerine benzerdir. Fakat HC05 Bluetooth modülü 6 pinli HC06 modülüyse 4 pinlidir.  Özellik olarak aralarındaki tek fark ise HC05 modülünün kendisine gelen isteklere cevap verirken aynı anda başka bluetooth cihazlarına  bağlanabilmesidir.  HC06 ise sadece kendisine gelen istekleri kabul edebilir fakat başka bluetooth kartına bağlatı isteği gönderememektedir.  HC05 Bluetooth modülünün çalışma türüne Master-Slave ; HC06 modülünün türü ise s...