Arduino İle L298N Motor Sürücü Kullanımı

L298N motor sürücü, çift yönlü bir motor sürücüsü ve çok popüler olan L298 Çift H-Köprü Motor Sürücü Entegre Devresine dayanmaktadır. Devre, her biri 2A’ya kadar olan iki motoru her iki yönde kolayca ve bağımsız olarak kontrol etmenizi sağlar. Robotik uygulamalar için idealdir ve motor başına sadece birkaç kontrol hattı gerektiren bir mikro denetleyiciye bağlantı için çok uygundur. Ayrıca basit manuel anahtarlar, TTL mantık kapıları, röleler vb. ile iletişim sağlanabilir. Bu kart, güç LED göstergeleri, yerleşik +5V regülatörü ve koruma diyotları içermektedir.

L298N Motor Sürücü

L298N Motor Sürücü Teknik Özellikleri

  • Birbirinden bağımsız olarak iki ayrı motoru kontrol edebilir.
  • Kanal başına 2A akım verebilmektedir.
  • Üzerinde dahili regülatörü vardır.
  • Yüksek sıcaklık ve kısa devre koruması vardır.
  • Motor dönüş yönüne göre yanan ledler vardır.
  • Kart üzerinde dahili soğutucu vardır.
  • Akım okuma (current sense) pinleri dışa verilmiş haldedir.
  • Kartın 4 yanında istenilen yüzeye sabitleyebileceğiniz 4 adet vida deliği bulunmaktadır.
  • Çalışma akımı aralığı: 0 ~ 36mA
  • Kontrol sinyali giriş voltajı aralığı:
    • Düşük: -0.3V ≤ Vin ≤ 1.5V
    • Yüksek: 2.3V ≤ Vin ≤ Vss.
  • Sinyal giriş voltajı aralığını etkinleştir:
    • Düşük: -0.3 ≤ Vin ≤ 1.5V (kontrol sinyali geçersiz)
    • Yüksek: 2,3V ≤ Vin ≤ Vss (kontrol sinyali aktif).
  • Maksimum güç tüketimi: 20W (sıcaklık T = 75 ℃ olduğunda).
  • Çalışma sıcaklığı: -25 ℃ ~ +130 ℃.
  • Boyut: 3.4cm x 4.3cm x 2.7cm
L298N Motor Sürücü Şeması
L298N Pin Bağlantı Şeması

L298N İle Dc Motor Kontrol Etme:

Aşağıda, Arduino kartından +5V güç kaynağı kullanan devre bağlantısı verilmiştir ve 5V Enable Jumper (Aktif 5V) olmadan yapılmalıdır. Bu bağlantı, iki 5V DC motoru aynı anda çalıştırabilir.

L298N İle Dc Motor Kontrolü
// H köprüsü için pin tanımları
int IN1 = 4; 
int IN2 = 5; 
int IN3 = 6; 
int IN4 = 7;
void setup() {
// Çıkış Pinlerini ayarlıyoruz
pinMode(IN1, OUTPUT); 
pinMode(IN2, OUTPUT); 
pinMode(IN3, OUTPUT); 
pinMode(IN4, OUTPUT); 
}

void loop()
{
// Motor A'yı saat yönünde döndürün
digitalWrite(IN1, HIGH);
digitalWrite(IN2, LOW);
delay(2000);
// Motor A
digitalWrite(IN1, HIGH);
digitalWrite(IN2, HIGH);
delay(500);
// Motor B'yi saat yönünde döndürün
digitalWrite(IN3, HIGH);
digitalWrite(IN4, LOW);
delay(2000);
// Motor B
digitalWrite(IN3, HIGH);
digitalWrite(IN4, HIGH);
delay(500);
// Motor A'yı saat yönünün tersine döndürür
digitalWrite(IN1, LOW);
digitalWrite(IN2, HIGH);
delay(2000);
// Motor A
digitalWrite(IN1, HIGH);
digitalWrite(IN2, HIGH);
delay(500);
// Motor B'yi saat yönünün tersine döndürür
digitalWrite(IN3, LOW);
digitalWrite(IN4, HIGH);
delay(2000);
// Motor B
digitalWrite(IN3, HIGH);
digitalWrite(IN4, HIGH);
delay(500);
}

L298N İle Step Motor Kontrolü

Bu örnekte, dört telli tipik bir NEMA-17 step motorumuz var:

Nema 17 Step Motor

Başarılı step motor kontrolünün anahtarı kabloları belirlemektir. Hangisinin “-” hangisi olduğu, hangisinin A+, A-, B+ ve B- kabloları olduğunu belirlemeniz gerekecektir. Örnek motorumuzla bunlar kırmızı, yeşil, sarı ve mavidir. Şimdi bağlantıyı yapalım.

L298N Pinleri

Step motordan gelen A+, A-, B+ ve B- kablolarını sırasıyla 1, 2, 13 ve 14 modül bağlantılarına bağlayın. L298N modülüyle birlikte verilen jumper’ları modül noktalarında 7 ve 12’deki çiftlerin üzerine yerleştirin. Ardından güç kaynağını gerektiği gibi 4 (pozitif) ve 5 (negatif/GND) noktalarına bağlayın.

Daha önce söylediğimiz gibi, step motorunuzun güç kaynağı 12V’den azsa, jumper’ı 3 numaralı pine takın. Bu Arduino’nuz için size düzenli bir 5V güç kaynağı sağlayacak.

Ardından, L298N modül pinlerini IN1, IN2, IN3 ve IN4’ü sırasıyla Arduino dijital pinleri D8, D9, D10 ve D11’e bağlayın. Son olarak, modülden 5V alıyorsanız Arduino GND’yi modül üzerindeki 5 noktasına ve Arduino 5V’yi nokta 6’ya bağlayın.

Step Motor Bağlantı Şeması

Arduino IDE’de standart olarak bulunan Stepper Arduino kütüphanesi sayesinde proje taslağınızla step motoru kontrol etmek çok basittir.

Motorunuzu kullanmak için, Stepper kütüphanesinde bulunan “stepper_oneRevolution” taslağını yüklemeniz yeterlidir.

Step Motor Örnek Kod Taslağı
#include <Stepper.h>

const int stepsPerRevolution = 200;  // bunu devir başına adım sayısına uyacak şekilde değiştirin
// Sizin motorunuza göre

// step motor kütüphanenizi 8'den 11'e kadar olan pinlerde başlatın:
Stepper myStepper(stepsPerRevolution, 8, 9, 10, 11);

void setup() {
  // hızı 60 rpm'ye ayarlayın:
  myStepper.setSpeed(60);
  // seri bağlantı noktasını başlatın:
  Serial.begin(9600);
}

void loop() {
  // tek yönde bir devrim adımı:
  Serial.println("clockwise");
  myStepper.step(stepsPerRevolution);
  delay(500);

  // diğer yönde bir devrim adımı:
  Serial.println("counterclockwise");
  myStepper.step(-stepsPerRevolution);
  delay(500);
}