Jak używać sterownika silnika L298N z Arduino

How to Use the L298N Motor Driver with Arduino

Sterownik silnika L298N to popularny moduł do kontrolowania silników DC i silników krokowych. Pozwala kontrolować prędkość i kierunek silnika za pomocą sygnałów PWM z Arduino, dzięki czemu jest idealny do projektów robotyki i automatyzacji. Ten samouczek poprowadzi Cię przez połączenie i korzystanie z L298N z Arduino.


Czego będziesz potrzebować

  1. Moduł sterownika silnika L298N
  2. Arduino Board (np. UNO, Mega, Nano)
  3. Silniki DC lub silniki stepowe
  4. Zewnętrzne źródło zasilania (np. Bateria 9 V lub 12 V)
  5. Druty chleba i skoczków
  6. Komputer z zainstalowanym Arduino IDE

Krok 1: Zrozumienie sterownika silnika L298N

Moduł L298N jest podwójnym sterownikiem silnika mostka, co oznacza, że ​​może kontrolować prędkość i kierunek dwóch silników prądu stałego niezależnie lub jednego silnika krokowego.

L298N Pinout

Szpilka Funkcjonować
IN1, IN2 Mocować wejścia do sterowania kierunkiem
IN3, IN4 Wejścia sterowania kierunkiem silnika B
Ena Mocować kontrolę prędkości (wejście PWM)
Enb Kontrola prędkości silnika B (wejście PWM)
Out1, out2 Silnik wyjściowy
Out3, out4 Wyjścia silnika B.
12V (VCC) Zewnętrzny zasilacz dla silników
5v (opcjonalnie) Zasilacz logiczny (jeśli słoczek zostanie usunięty)
GND Grunt

Uwagi:

  • Moduł zawiera wbudowany regulator 5 V, który zasila obwód logiczny, jeśli skoczka jest na miejscu, a VCC ma 7-12 V.
  • Usunięcie zworki wymaga osobno dostarczenia logiki 5 V.

Krok 2: Okablowanie L298N do Arduino

Oto jak podłączyć L298N z Arduino Uno i dwoma silnikami DC:

L298N Pin 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) Moc zewnętrzna (9 V/12 V)
Out1, out2 Mocować terminale
Out3, out4 Terminale silnikowe B.

Krok 3: Prześlij kod

Oto przykład szkicu do kontrolowania dwóch silników DC:

Przykładowy kod

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

Krok 4: Przetestuj konfigurację

  1. Podłącz Arduino do komputera za pomocą USB.
  2. Otwórz Arduino IDE i wybierz poprawne Tablica I Port pod Narzędzia menu.
  3. Prześlij kod do Arduino, klikając Wgrywać.
  4. Observe the motors spinning forward, stopping, and reversing based on the programmed sequence.

Opcjonalnie: dynamiczne kontrolowanie prędkości

Możesz dynamicznie dostosować prędkość silnika, zmieniając wartości PWM wysłane do ENA I ENB piny za pomocą anogwrite (). Na przykład:

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

Zastosowania L298N

  1. Budowanie zmotoryzowanych robotów
  2. Kontrolowanie pasów przenośników
  3. Prowadzenie silników krokowych
  4. Systemy automatyzacji z silnikami DC

Rozwiązywanie problemów

  • Silniki nie wirują: Upewnij się, że zasilacz zewnętrzny jest podłączony i zapewnia wystarczającą ilość prądu.
  • Niepoprawny kierunek silnika: W razie potrzeby sprawdź okablowanie PINS i odwrotne połączenia.
  • Niestabilne zachowanie motoryczne: Użyj stabilnego zasilania i unikaj luźnych połączeń.

Wniosek

Z powodzeniem połączyłeś sterownik silnika L298N z Arduino do kontrolowania silników DC. Ten wszechstronny moduł umożliwia z łatwością zarządzanie prędkością silnika i kierunku. Eksperymentuj dalej, integrując czujniki, zdalne sterowanie lub inne moduły do ​​projektów zmotoryzowanych!

Zostaw komentarz

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.