Arduino Motor Kontrolü-Oyuncak Bir Arabanın Modifiye Aşamaları

Arduino ile motor kontrolünü daha önceki derslerimizde detaylarıyla anlatmıştık. Burada ise daha çok Arduino ile motor kontrolü için gerekli modüllerin ve muhtelif malzemelerin montajı ve testi üzerine paylaşımda bulunacağız.

Öncelikle klasik kumandalı bir araç buldum arızalı tabi ki.. Kumandasını ve kontrol devresini tamamen söktüm. Aracın üzerinde sadece DC 12V motor kaldı.

Amacımız ilk olarak motorun PWM ile hız kontrolünün gerçekleştirilmesi daha sonra ise direksiyon kontrolü (servo motor ile) son olarak da NRF24L01 ile uzaktan kumanda devresini ekleyerek aracımızı kumandalı ve hız kontrolünün yapıldığı bir araç haline getirmek. Aracın daha önceki halinde sadece On/Off kontrol yapılmakta idi.. Yani kendi orjinal kartını sökerken incelemiştim. motorlar yalnızca roleler ile kontrol ediliyordu herhangi bir hız kontrolü için yarı iletken sürücü kullanılmamıştı.

Kullandığımız Malzemeler

Arduino Uno

L298N Motor Sürücü

11.1V 1050mA 25 C Li-Po Pil

Servo Motor (servo motor direksiyon sistemi için kullanılmıştır ve daha sonraki yazımızda değineceğiz)

10K potansiyometre (hız kontrolü için)

Motor yüksek akım çektiği için L298N sürücümüz bir hayli ısındı bu sebeple motor sürücü üzerinde bildiğiniz üzere çift motor sürücü bulunmaktadır. Bu iki sürücüyü paralel olarak kullandım. Bu şekilde akım iki farklı koldan sürücü içerisinden geçmektedir.

Uygulama Aşamaları

Genelde kullanılmaz ama mutlaka anahtar kullanmanızı tavsiye ederim. Özellikle hareketli uygulamalarda devrenizin zarar görmemesi için pratiklik sağlayacaktır.

 

Motoru kontrol etmemiz için kullanacağımız kablolar bunlar. Doğrudan DC 12V’luk bir motora bağlıdır.

 

Arduino ve L298N Motor sürücü devrelerimiz görülmektedir.

 

Aşağıdaki resimde görünen ise direksiyon kutusu diyebileceğimiz ön tekerleri sağa sola yönlendirecek mekanizma bulunmaktadır. Burada daha önceden DC bir motor bulunmaktaydı ve sağ sol kontrolü tam sağ ya da tam sol şeklinde yapılabilmekteydi. Bende bunun yerine DC motor sökerek bir adet servo motor yerleştirdim. Bu şekilde daha hassas sağ sol kontrolü yapabileceğiz.

 

Devrenin Bağlantı Şeması

 

Uygulamanın Programı

byte hiz;

void setup() {
pinMode(4,OUTPUT);pinMode(5,OUTPUT);
Serial.begin(9600);
setPwmFrequency(3,4);
}

void loop() {
hiz = map(analogRead(0),0,1023,0,255);
Serial.println(hiz);
ileri(hiz);
delay(100);

}

void ileri(byte pwm_hiz){analogWrite(3,pwm_hiz);digitalWrite(4,HIGH);digitalWrite(5,LOW);}
void geri(byte pwm_hiz){analogWrite(3,pwm_hiz);digitalWrite(4,LOW);digitalWrite(5,HIGH);}

void dur(){digitalWrite(4,LOW);digitalWrite(5,LOW);}

 

Uygulama

byte hiz;

void setup() {
pinMode(4,OUTPUT);pinMode(5,OUTPUT);
Serial.begin(9600);
setPwmFrequency(3,4);
}

void loop() {
hiz = map(analogRead(0),0,1023,0,255);
Serial.println(hiz);
ileri(hiz);
delay(100);

}

void ileri(byte pwm_hiz){analogWrite(3,pwm_hiz);digitalWrite(4,HIGH);digitalWrite(5,LOW);}
void geri(byte pwm_hiz){analogWrite(3,pwm_hiz);digitalWrite(4,LOW);digitalWrite(5,HIGH);}

void dur(){digitalWrite(4,LOW);digitalWrite(5,LOW);}

 

Uygulama Videosu

 

Burada belirtmek istediğim bir konu var:

Uygulamalarınızı yaparken parça parça çalıştırmak her zaman en güvenilir yöntemdir. Bu hem sorun çıkan noktaların çözülmesinde büyük kolaylık sağlayacaktır hem de adım adım çalıştırarak daha kararlı çalışan sistemleri oluşturabilirsiniz.

Şimdilik çalışmamız sadece potansiyometre ile motor hız kontrol uygulamasını görmüş olduk. Yukarıda da belirtiğimiz gibi adım adım kumandalı bir araç yapmaya çalışacağız.

Bir Cevap Yazın

This site uses Akismet to reduce spam. Learn how your comment data is processed.

%d blogcu bunu beğendi: