
Kısaca: L298N motor sürücü kartı, iki DC motoru aynı anda ya da bir step motoru sürebilen çift H-köprülü bir karttır. Arduino yalnızca yön (IN1–IN4) ve hız (ENA/ENB üzerinden PWM) komutunu verir; motorun ihtiyaç duyduğu yüksek akımı kart sağlar. Bu yazıda pin bağlantılarını ve iki motoru ileri-geri döndürüp hızını değiştiren örnek kodu bulabilirsiniz.
L298N Motor Sürücü Kartı Nedir?
Arduino ile L298N Motor Sürücü Kartı Kontrolü, fırçalı DC motorları ve mikrodenetleyiciler ve IC'ler ile step motorları çalıştırmak için kullanılabilen L298N çift H-köprü DC motor sürücü modülü hakkında bilgi edeceğiz. Modüler devre kartları, elektronik tasarımcılar için prototipleme hatalarını da azaltan en iyi zaman kurtarıcılarıdır.
Bu tip kartları kullanmak isteyen insanlar zaman tasarrufu ve lehimle gibi iş yükü gerektiren işlerle uğraşmayıp zaman konusunda tasarruf sağlamak isteyen kullanıcılardır.
Yada Arduino ve mikrodenetleyici işine yeni girmiş kişilerdir.

Bu insanların kullanmasında kolaylık olsun diye sadece Arduino için tonlarca tonlarca modüler devre üretilebiliyor, projenizi tasarlarken en az donanım buna bağlı olarak en az hata demektir bu kartlar.
DC Motor İçin Neden Sürücü Kartı Gerekir?
DC motorlar için sürücülerini kullanıyoruz çünkü Arduino veya mikrokontrolörler(arduino her çeşit PIC vb.), genel olarak 100 miliamperi kadar akım verebilirler buda Dc motora yetmez.
Mikrokontrolörler akıllı ama güçlü değillerdir;
Bu modül, yüksek güç DC motorlarını sürmek için Arduino ve diğer mikrodenetleyicilere kaslar gibi etki ekleyecektir. Mikrodenetleyici veya arduino komutu verir motor sürücü kartı kas gibi gelen emirleri motorlara uygulatır.
2 adet DC motoru aynı anda 2 amper veya bir adet step motora kadar kontrol edebilir. PWM ile de dönme yönü ve hızı kontrol edebiliriz.
Bu modül robotlar ve oyuncak arabalar gibi arazi taşınma projeleri yapmak için idealdir.
L298N Teknik Detayları

Pin açıklaması: · Sol tarafta, DC motorunu bağlamak için OUT1 ve OUT2 benzer şekilde, başka bir DC motor için OUT3 ve OUT4 portu bulunmaktadır. ENA ve ENB, ENA'yı yüksek veya + 5V'ye bağlayarak pimleri etkinleştirir; OUT1 ve OUT2 portlarını etkinleştirir. ENA pimini düşük veya toprağa bağlarsanız, OUT1 ve OUT2'yi devre dışı bırakır. Benzer şekilde, ENB ve OUT3 ve OUT4 için. · IN1 ile IN4 pinleri arasındaki pinler Arduino'ya bağlanacak olan giriş pinleridir. ·
IN3 yüksek girerseniz, OUT4 yüksek döner ve IN4 düşük OUT3 değerini girerseniz, artık başka bir motoru sürdürebiliriz. ·
Motorun dönme yönünü tersine çevirmek isterseniz, IN3 ve IN4 için benzer şekilde IN1 ve IN2 polaritesini ters çevirin. · ENA ve ENB'ye PWM sinyali uygulayarak, motorların hızını kontrol edebilirsiniz.
·12V ile 0V arasında bir güç vererek kartı besleyebilrisiniz. ·
+ 5V terminali, gerektiğinde Arduino'ya veya başka bir modüle güç sağlamak için kullanılabilen OUTPUT'tur.
Örnek Devre Nasıl Çalışır?
Kodu doğru şekilde değiştirirseniz ve bir joystick eklerseniz, yukarıdaki devre oyuncak arabalar için kullanılabilir. Sadece L289N modülünü çalıştırmanız gerekiyor ve modül Arduino'ya Vin terminali üzerinden güç sağlayacaktır.
Yukarıdaki devre her iki motoru da saat yönünde 3 saniyeliğine döndürecek ve 3 saniyeliğine duracaktır. Bundan sonra motor 3 saniyeliğine saat yönünün tersine döner ve 3 saniye durur.
Bu, H-köprüsünü eylem halinde gösterir. Bundan sonra her iki motor da yavaş yavaş saat yönünün tersine dönme hızında yavaş yavaş dönmeye başlar ve yavaş yavaş sıfıra düşürür. Bu, motorların PWM tarafından hız kontrolünü gösterir.
Arduino ile L298N Motor Sürücü Kartı Kontrolü Kod Blogu
const int Enable_A = 9;
const int Enable_B = 10;
const int inputA1 = 2;
const int inputA2 = 3;
const int inputB1 = 4;
const int inputB2 = 5;
void setup()
{
pinMode(Enable_A, OUTPUT);
pinMode(Enable_B, OUTPUT);
pinMode(inputA1, OUTPUT);
pinMode(inputA2, OUTPUT);
pinMode(inputB1, OUTPUT);
pinMode(inputB2, OUTPUT);
}
void loop()
{
//---- A ve B Cikis olarak etkinlestir------//
digitalWrite(Enable_A, HIGH);
digitalWrite(Enable_B, HIGH);
//----------Run motors-----------//
digitalWrite(inputA1, HIGH);
digitalWrite(inputA2, LOW);
digitalWrite(inputB1 , HIGH);
digitalWrite(inputB2, LOW);
delay(3000);
//-------motoru devre disi birak----------//
digitalWrite(Enable_A, LOW);
digitalWrite(Enable_B, LOW);
delay(3000);
//-------Ters Bağlama----------//
digitalWrite(Enable_A, HIGH);
digitalWrite(Enable_B, HIGH);
digitalWrite(inputA1, LOW);
digitalWrite(inputA2, HIGH);
digitalWrite(inputB1 , LOW);
digitalWrite(inputB2, HIGH);
delay(3000);
//-------Motor devre disi----------//
digitalWrite(Enable_A, LOW);
digitalWrite(Enable_B, LOW);
delay(3000);
//----------Hiz yukselt----------//
for(int i = 0; i < 256; i++)
{
analogWrite(Enable_A, i);
analogWrite(Enable_B, i);
delay(40);
}
//----------Hiz dusur----------//
for(int j = 256; j > 0; j--)
{
analogWrite(Enable_A, j);
analogWrite(Enable_B, j);
delay(40);
}
//-------motoru devre dışı bırak----------//
digitalWrite(Enable_A, LOW);
digitalWrite(Enable_B, LOW);
delay(3000);
}İlgili Ürünler
- L298N DC/Step Motor Sürücü Kartı
- Arduino UNO R3
- Redüktörlü DC Motorlar
- Arduino 2WD Araç Seti
- DC Motor Sürücüler
Sıkça Sorulan Sorular
L298N ile kaç motor kontrol edilebilir?
L298N iki kanallıdır: aynı anda iki DC motoru birbirinden bağımsız olarak ya da bir adet step motoru sürebilir. Her kanal 2 A'e kadar akım verebilir.
L298N ile motor hızı nasıl ayarlanır?
Hız, ENA ve ENB pinlerine Arduino'nun PWM çıkışlarından sinyal verilerek ayarlanır (örneğin analogWrite ile 0–255 arası bir değer). Dönüş yönü ise IN1–IN2 ve IN3–IN4 pinlerinin HIGH/LOW durumuyla belirlenir.
Motorlar neden doğrudan Arduino'ya bağlanmıyor?
Arduino pinleri yalnızca küçük akımlar verebilir, DC motorlar ise çok daha fazla akım çeker. Motor doğrudan bağlanırsa Arduino zarar görebilir. Motor sürücü kartı, Arduino'dan gelen düşük akımlı komutu motorun ihtiyaç duyduğu güce çevirir.
L298N kartı Arduino'ya güç verebilir mi?
Evet. Kart 12 V'a kadar beslendiğinde üzerindeki +5V terminalinden Arduino'ya veya başka bir modüle güç verilebilir. Arduino ile kart arasında ortak GND bağlantısı yapmayı unutmayın.