L298N Çift Motor Sürücü Kartı ile DC Motor Kontrolü

L298N Çift Motor Sürücü Kartı ile DC Motor Kontrolü

15 Eylül 2020

Bu yazımızda robotik projelerde sıkça kullanılan L298N çift motor sürücü kartı kullanımını ve dc motor kontrolünü işleyeceğiz. L298N Çift motor sürücü kartı ile 2A'ya kadar olan dc motorları kontrol edebilirsiniz. Ayrıca Arduino ile bilirkte  step motor kontrolü de gerçekleştirebilirsiniz. 

L298N Çift Motor Sürücü Kartı, çizgi izleyen robot, labirent robotu, süpürge robot yapımı, mini sumo robot yapımı gibi bir çok arduino robot projesinde kullanılabilir. Üzerinde barındırdığı L298 entegresinin daha rahat kullanabilmek için geliştirilmiştir. Böylelikle komponent karmaşıklığı ortadan giderilmiştir. L298N Çift motor sürücü kartına projemizin detaylarına geçmeden önce sahip olmak için buraya tıklayabilir ve sitemizden satın alabilirsiniz.

L298N Çift Motor Sürücü Kartını Yakından Tanıyalım

Kartın sağ ve sol taraflarında klemens girişleri olan OUT1,OUT2 ve OUT3,OUT4 girişleri bulunmaktadır. Bu girişlere DC motorlarını bağlayabilirsiniz. (out1,out2 birinci motor girişi, out3,out4 ikinci motor  girişi) 

ENA out1 ve out2 girişlerini yani 1.motorun etkinleştirildiği pindir. ENB pinide out3 ve out4 pininin etkinleştirildiği pindir.

Geriye kalan IN1, IN2, IN3 ve IN4 pinleri giriş pinleri olup arduino kartına bağlanacaktır. Motorlarının yönlerini bu pinlerin yönleriyle belirleyebilirsiniz. 

Arduino kartını l298n kartı üzerinden besleyeceğiz. L298N kartına ise 9v ile 12v arasında bir enerji verebilirsiniz.

L298N Çift Motor Sürücü Kartı ile Motor Kontrolü için Gerekli Malzemeler Nelerdir?

  • Arduino Uno R3 Kartı
  • L298N Çift Motor Sürücü Kartı
  • 12V DC Motor x2
  • Bağlantılar için yeterli sayıda Jumper Kablo

Devrenizi yukarıdaki gibi oluşturabilirsiniz. Ardından arduino uno kartınızı bilgisayara usb kablo ile takıp kodlamaya geçebilirsiniz.

Arduino ile Çift Motor Kontrolü 

Kurmuş olduğumuz devrede her iki motoru  2000 milisaniye saat yönünde döndürüp sonrasında 1000 milisaniye saniyeliğine durduracağız. Ardından motorları saat yönünün tersinde 2000 milisaniye tekrar döndüreceğiz.

const int Enable_A = 10;
const int Enable_B = 11;
const int inputA1 = 3;
const int inputA2 = 5;
const int inputB1 = 6;
const int inputB2 = 9;
void setup()
{
pinMode(Enable_A, OUTPUT);
pinMode(Enable_B, OUTPUT);
pinMode(inputA1, OUTPUT);
pinMode(inputA2, OUTPUT);
pinMode(inputB1, OUTPUT);
pinMode(inputB2, OUTPUT);
}
void loop()
{
digitalWrite(Enable_A, HIGH);
digitalWrite(Enable_B, HIGH);
digitalWrite(inputA1, HIGH);
digitalWrite(inputA2, LOW);
digitalWrite(inputB1 , HIGH); digitalWrite(inputB2, LOW); delay(2000); digitalWrite(Enable_A, LOW); digitalWrite(Enable_B, LOW); delay(1000); digitalWrite(Enable_A, HIGH); digitalWrite(Enable_B, HIGH);
digitalWrite(inputA1, LOW); digitalWrite(inputA2, HIGH);
digitalWrite(inputB1 , LOW); digitalWrite(inputB2, HIGH); delay(2000); digitalWrite(Enable_A, LOW); digitalWrite(Enable_B, LOW); delay(1000);
}

L298N ile PWM Kontrolü

Bağlantımızı bozmadan arduinonuza aşağıdaki kodu yükleyebilirsiniz. Daha önceki yazılarımızda for döngüsünün kullanımını anlatmıştık. PWM kontrolünde de motorların hızlarını arttırıp düşürmek için for döngüsü kullanacağız. Devremiz çalıştığında motorlar önce 100ms'de bir artarak hızlanacak, sonrasında yavaşlayacak ve duracaktır.

const int Enable_A = 10;
const int Enable_B = 11;
const int inputA1 = 3;
const int inputA2 = 5;
const int inputB1 = 6;
const int inputB2 = 9;
void setup()
{
pinMode(Enable_A, OUTPUT);
pinMode(Enable_B, OUTPUT);
pinMode(inputA1, OUTPUT);
pinMode(inputA2, OUTPUT);
pinMode(inputB1, OUTPUT);
pinMode(inputB2, OUTPUT);
}
void loop()
{
for(int i = 0; i=250; i++)
{
analogWrite(Enable_A, i);
analogWrite(Enable_B, i);
delay(100);
}
for(int j = 250; j=0; j--)
{
analogWrite(Enable_A, j);
analogWrite(Enable_B, j);
delay(100);
}
digitalWrite(Enable_A, LOW);
digitalWrite(Enable_B, LOW);
delay(1000);
 
}
Paylaş :
T-Soft E-Ticaret Sistemleriyle Hazırlanmıştır.