Cara menggunakan driver motor L298N dengan Arduino

How to Use the L298N Motor Driver with Arduino

Driver motor L298N adalah modul populer untuk mengendalikan motor DC dan motor stepper. Ini memungkinkan Anda untuk mengontrol kecepatan dan arah motor menggunakan sinyal PWM dari Arduino, menjadikannya ideal untuk proyek robotika dan otomatisasi. Tutorial ini akan memandu Anda melalui menghubungkan dan menggunakan L298N dengan Arduino.


Apa yang Anda Butuhkan

  1. Modul Driver Motor L298N
  2. Dewan Arduino (mis., Uno, mega, nano)
  3. DC Motors atau Stepper Motors
  4. Sumber Daya Eksternal (mis., Baterai 9V atau 12V)
  5. Papan tempat memotong papan dan kabel jumper
  6. Komputer dengan IDE Arduino diinstal

Langkah 1: Memahami pengemudi motor L298N

Modul L298N adalah driver motor H-Bridge ganda, yang berarti dapat mengontrol kecepatan dan arah dua motor DC secara mandiri atau satu motor stepper.

L298N Pinout

Pin Fungsi
In1, in2 Motor Input Kontrol Arah
In3, in4 Input kontrol arah motor B
Ena Motor Kontrol Kecepatan (Input PWM)
Enb Kontrol Kecepatan M Motor B (Input PWM)
Out1, out2 Motor output
Out3, out4 Output motor B.
12V (VCC) Catu daya eksternal untuk motor
5V (opsional) Catu daya logika (jika jumper dihapus)
Gnd Tanah

Catatan:

  • Modul ini mencakup regulator 5V onboard yang memberi kekuatan pada sirkuit logika jika jumper ada dan VCC adalah 7-12V.
  • Menghapus jumper mengharuskan Anda untuk menyediakan pasokan logika 5V secara terpisah.

Langkah 2: Kabel L298N ke Arduino

Inilah cara menghubungkan L298N ke Arduino UNO dan dua motor DC:

Pin l298n Pin Arduino
Ena Pin 10 (PWM)
In1 Pin 8
In2 Pin 9
Enb Pin 11 (PWM)
In3 Pin 6
In4 Pin 7
Gnd Arduino GND
12V (VCC) Daya Eksternal (9V/12V)
Out1, out2 Motor terminal
Out3, out4 Terminal motor B.

Langkah 3: Unggah kode

Inilah contoh sketsa untuk mengontrol dua motor DC:

Kode contoh

// 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
}

Langkah 4: Uji pengaturan

  1. Hubungkan Arduino ke komputer Anda melalui USB.
  2. Buka IDE Arduino dan pilih yang benar Papan Dan Pelabuhan di bawah Peralatan menu.
  3. Unggah kode ke Arduino dengan mengklik Mengunggah.
  4. Amati motor yang berputar ke depan, berhenti, dan membalikkan berdasarkan urutan yang diprogram.

Opsional: Mengontrol kecepatan secara dinamis

Anda dapat menyesuaikan kecepatan motor secara dinamis dengan mengubah nilai PWM yang dikirim ke ENA Dan ENB Pin menggunakan analogwrite (). Misalnya:

analogWrite(ENA, 100); // Slow speed
analogWrite(ENA, 255); // Full speed

Aplikasi L298n

  1. Membangun robot bermotor
  2. Mengontrol sabuk konveyor
  3. Mengemudi Stepper Motors
  4. Sistem otomatisasi dengan motor DC

Pemecahan masalah

  • Motor tidak berputar: Pastikan catu daya eksternal terhubung dan menyediakan arus yang cukup.
  • Arah motor yang salah: Periksa kabel pin dalam dan koneksi balik jika diperlukan.
  • Perilaku motorik yang tidak stabil: Gunakan catu daya yang stabil dan hindari koneksi longgar.

Kesimpulan

Anda telah berhasil menghubungkan driver motor L298N dengan Arduino untuk mengontrol motor DC. Modul serbaguna ini memungkinkan Anda untuk mengelola kecepatan dan arah motor dengan mudah. Eksperimen lebih lanjut dengan mengintegrasikan sensor, kendali jarak jauh, atau modul lain ke dalam proyek bermotor Anda!

Tinggalkan komentar

Notice an Issue? Have a Suggestion?
If you encounter a problem or have an idea for a new feature, let us know! Report a problem or request a feature here.