Hur man använder L298N Motor Driver med Arduino

How to Use the L298N Motor Driver with Arduino

L298N Motor Driver är en populär modul för att styra DC -motorer och stegmotorer. Det gör att du kan styra motorhastighet och riktning med PWM -signaler från Arduino, vilket gör den idealisk för robotik- och automatiseringsprojekt. Denna handledning kommer att vägleda dig genom att ansluta och använda L298N med Arduino.


Vad du behöver

  1. L298N Motor Driver Module
  2. Arduino Board (t.ex. Uno, Mega, Nano)
  3. DC -motorer eller stegmotorer
  4. Extern strömkälla (t.ex. 9V eller 12V batteri)
  5. Breadboard och jumpertrådar
  6. En dator med Arduino Ide installerad

Steg 1: Förstå L298N Motor Driver

L298N-modulen är en dubbel H-Bridge-motordrivare, vilket innebär att den kan styra hastigheten och riktningen för två DC-motorer oberoende eller en stegmotor.

L298n pinout

Stift Fungera
In1, in2 Motor en riktningskontroll ingångar
In3, in4 Motor B -riktningskontroll ingångar
Ena Motor en hastighetskontroll (PWM -ingång)
Enb Motor B -hastighetskontroll (PWM -ingång)
Out1, out2 Motor A -utgångar
Ut3, out4 Motor B -utgångar
12V (VCC) Extern strömförsörjning för motorer
5V (valfritt) Logik strömförsörjning (om jumper tas bort)
Gard Jord

Anmärkningar:

  • Modulen innehåller en ombord 5V-regulator som driver logikkretsarna om bygeln är på plats och VCC är 7-12V.
  • Att ta bort bygeln kräver att du tillhandahåller en 5V logikförsörjning separat.

Steg 2: Kopplar L298N till Arduino

Så här ansluter du L298N till en Arduino Uno och två DC -motorer:

L298n stift Arduinosnål
Ena Stift 10 (PWM)
In1 Stift 8
In2 Stift 9
Enb Stift 11 (PWM)
I3 Stift 6
In4 Stift 7
Gard Arduino
12V (VCC) Extern kraft (9V/12V)
Out1, out2 Motor A -terminaler
Ut3, out4 Motor B -terminaler

Steg 3: Ladda upp koden

Här är ett exempel skiss för att kontrollera två DC -motorer:

Exempelkod

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

Steg 4: Testa installationen

  1. Anslut Arduino till din dator via USB.
  2. Öppna Arduino IDE och välj rätt Styrelse och Hamn under Verktyg meny.
  3. Ladda upp koden till Arduino genom att klicka Ladda upp.
  4. Observera motorerna som snurrar framåt, stoppar och vänder baserat på den programmerade sekvensen.

Valfritt: Kontrollera hastighet dynamiskt

Du kan justera motorhastigheten dynamiskt genom att ändra PWM -värdena som skickas till ENA och ENB stift med AnalogWrite (). Till exempel:

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

Applikationer av L298N

  1. Bygga motoriserade robotar
  2. Styrande transportband
  3. Kör stegmotorer
  4. Automatiseringssystem med DC -motorer

Felsökning

  • Motorer snurrar inte: Se till att den externa strömförsörjningen är ansluten och ger tillräckligt med ström.
  • Felaktig motorriktning: Kontrollera ledningarna för i stiften och omvänd anslutningar om det behövs.
  • Instabilt motoriskt beteende: Använd en stabil strömförsörjning och undvik lösa anslutningar.

Slutsats

Du har framgångsrikt blandat L298N Motor Driver med Arduino för att kontrollera DC -motorer. Denna mångsidiga modul gör det möjligt för dig att hantera motorhastighet och riktning med lätthet. Experimentera ytterligare genom att integrera sensorer, fjärrkontroller eller andra moduler i dina motoriserade projekt!

Lämna en kommentar

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.