L298N motor sürücüsü, DC motorlarını ve step motorları kontrol etmek için popüler bir modüldür. Arduino'dan PWM sinyallerini kullanarak motor hızını ve yönünü kontrol etmenizi sağlar, bu da robotik ve otomasyon projeleri için idealdir. Bu öğretici, L298N'yi Arduino ile bağlayarak ve kullanarak size rehberlik edecektir.
Ne İhtiyacınız Olacak
- L298N Motor Sürücü Modülü
- Arduino Kurulu (örn. UNO, Mega, Nano)
- DC Motorlar veya Step Motorlar
- Harici güç kaynağı (örn. 9V veya 12V pil)
- Breadboard ve jumper telleri
- Arduino IDE kurulu bir bilgisayar
1. Adım: L298N motor sürücüsünü anlamak
L298N modülü, çift H-Bridge motor sürücüsüdür, yani iki DC motorunun hızını ve yönünü bağımsız olarak veya bir step motoru kontrol edebilir.
L298N Pinout
Pin | İşlev |
---|---|
İn1, in2 | Motor A yön kontrol girişleri |
In3, In4 | Motor B yön kontrol girişleri |
Ena | Motor A Hız Kontrolü (PWM girişi) |
Enb | Motor B Hız Kontrolü (PWM girişi) |
Out1, out2 | Motor A Çıkışları |
Out3, Out4 | Motor B çıkışları |
12V (VCC) | Motorlar için harici güç kaynağı |
5V (isteğe bağlı) | Mantık güç kaynağı (jumper kaldırılırsa) |
Gnd | Zemin |
Notlar:
- Modül, jumper yerinde ise ve VCC 7-12V ise mantık devresine güç veren bir yerleşik 5V regülatörü içerir.
- Jumper'ın kaldırılması, 5V mantık kaynağı ayrı ayrı sağlamanızı gerektirir.
Adım 2: L298N'yi Arduino'ya bağlama
L298N'yi bir Arduino Uno ve iki DC motoruna nasıl bağlayacağınız aşağıda açıklanmıştır:
L298N PIN | Arduino pimi |
---|---|
Ena | Pim 10 (PWM) |
IN1 | Pim 8 |
IN2 | Pin 9 |
Enb | Pim 11 (PWM) |
IN3 | Pim 6 |
IN4 | Pim 7 |
Gnd | Arduino GND |
12V (VCC) | Dış güç (9V/12V) |
Out1, out2 | Motor A terminalleri |
Out3, Out4 | Motor B terminalleri |
Adım 3: Kodu yükleyin
İşte iki DC motoru kontrol etmek için örnek bir taslak:
Örnek Kodu
// Motor A connections
#define ENA 10
#define IN1 8
#define IN2 9
// Motor B connections
#define ENB 11
#define IN3 6
#define IN4 7
void setup() {
// Set all pins as outputs
pinMode(ENA, OUTPUT);
pinMode(IN1, OUTPUT);
pinMode(IN2, OUTPUT);
pinMode(ENB, OUTPUT);
pinMode(IN3, OUTPUT);
pinMode(IN4, OUTPUT);
}
void loop() {
// Move Motor A forward
digitalWrite(IN1, HIGH);
digitalWrite(IN2, LOW);
analogWrite(ENA, 150); // Set speed (0-255)
// Move Motor B backward
digitalWrite(IN3, LOW);
digitalWrite(IN4, HIGH);
analogWrite(ENB, 150); // Set speed (0-255)
delay(2000); // Run for 2 seconds
// Stop both motors
digitalWrite(ENA, LOW);
digitalWrite(ENB, LOW);
delay(1000); // Pause for 1 second
// Move both motors in reverse
digitalWrite(IN1, LOW);
digitalWrite(IN2, HIGH);
digitalWrite(IN3, HIGH);
digitalWrite(IN4, LOW);
analogWrite(ENA, 200);
analogWrite(ENB, 200);
delay(2000); // Run for 2 seconds
// Stop both motors
digitalWrite(ENA, LOW);
digitalWrite(ENB, LOW);
delay(1000); // Pause for 1 second
}
4. Adım: Kurulumu test edin
- Arduino'yu USB üzerinden bilgisayarınıza bağlayın.
- Arduino IDE'yi açın ve doğru seçin Pano Ve Liman altında Aletler menü.
- Kodu tıklayarak Arduino'ya yükleyin Yüklemek.
- Motorların programlanmış diziye göre öne doğru dönmesini, durdurulmasını ve tersine çevrilmesini gözlemleyin.
İsteğe bağlı: hızı dinamik olarak kontrol etmek
Motor hızını, gönderilen PWM değerlerini değiştirerek dinamik olarak ayarlayabilirsiniz. ENA
Ve ENB
analogwrite () kullanarak pimler. Örneğin:
analogWrite(ENA, 100); // Slow speed
analogWrite(ENA, 255); // Full speed
L298N uygulamaları
- Motorlu robotlar inşa etmek
- Konveyör Bantlarını Kontrol Etme
- Step Motorları Sürüş
- DC Motors ile Sistemleri Otomatikleştirme
Sorun giderme
- Motorlar dönmüyor: Harici güç kaynağının bağlı olduğundan ve yeterli akım sağladığından emin olun.
- Yanlış Motor Yönü: Gerekirse pimlerin ve ters bağlantıların kablolarını kontrol edin.
- Kararsız Motor Davranışı: Kararlı bir güç kaynağı kullanın ve gevşek bağlantılardan kaçının.
Çözüm
DC motorlarını kontrol etmek için L298N motor sürücüsünü Arduino ile başarıyla arayüz ettiniz. Bu çok yönlü modül, motor hızını ve yönünü kolaylıkla yönetmenizi sağlar. Sensörleri, uzaktan kumandaları veya diğer modülleri motorlu projelerinize entegre ederek daha da deneyin!