Come utilizzare il driver del motore L298N con Arduino

How to Use the L298N Motor Driver with Arduino

Il driver del motore L298N è un modulo popolare per il controllo di motori DC e motori a passo passo. Ti consente di controllare la velocità e la direzione del motore utilizzando segnali PWM di Arduino, rendendolo ideale per i progetti di robotica e automazione. Questo tutorial ti guiderà attraverso la connessione e l'utilizzo di L298N con Arduino.


Cosa avrai bisogno

  1. Modulo del driver del motore L298N
  2. Arduino Board (ad es. Uno, Mega, Nano)
  3. Motori DC o motori a passo passo
  4. Fonte di alimentazione esterna (ad es. Batteria da 9 V o 12V)
  5. Breadboard e fili jumper
  6. Un computer con l'IDE Arduino installato

Passaggio 1: Comprensione del driver del motore L298N

Il modulo L298N è un driver a doppio motore H-ponte, il che significa che può controllare la velocità e la direzione di due motori CC in modo indipendente o un motore passo-passo.

L298n Pinout

Spillo Funzione
In1, in2 Motore un controllo di controllo della direzione
In3, in4 Ingni di controllo della direzione del motore B
Ena Motore A Speed ​​Control (Ingresso PWM)
Enb Controllo della velocità del motore B (ingresso PWM)
Out1, out2 Motore A Output
Out3, out4 Output del motore B.
12V (VCC) Alimentazione esterna per motori
5V (opzionale) Alimentazione logica (se il jumper viene rimosso)
GND Terra

Note:

  • Il modulo include un regolatore a bordo 5V che alimenta i circuiti logici se il jumper è in posizione e VCC è 7-12V.
  • La rimozione del jumper richiede di fornire un'alimentazione logica da 5 V separatamente.

Passaggio 2: cablaggio da L298n ad Arduino

Ecco come collegare la L298N a un Arduino Uno e due motori DC:

PIN L298N Arduino Pin
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) Potenza esterna (9V/12V)
Out1, out2 Motore A Terminali
Out3, out4 Terminali del motore B.

Passaggio 3: caricare il codice

Ecco uno schizzo di esempio per controllare due motori DC:

Codice di esempio

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

Passaggio 4: testare l'installazione

  1. Collega l'Arduino al tuo computer tramite USB.
  2. Apri l'IDE Arduino e seleziona il corretto Asse E Porta sotto il Utensili menu.
  3. Carica il codice su Arduino facendo clic Caricamento.
  4. Osservare i motori che girano in avanti, fermandosi e inverte in base alla sequenza programmata.

Opzionale: controllo della velocità dinamicamente

È possibile regolare la velocità del motore dinamicamente modificando i valori PWM inviati a ENA E ENB pin usando AnalogWrite (). Per esempio:

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

Applicazioni della L298N

  1. Building motorized robots
  2. Controlling conveyor belts
  3. Driving stepper motors
  4. Automatizzare i sistemi con motori DC

Risoluzione dei problemi

  • I motori non girano: Assicurarsi che l'alimentazione esterna sia collegata e fornisca una corrente sufficiente.
  • Direzione del motore errata: Controllare il cablaggio dei pin in e invertire le connessioni se necessario.
  • Comportamento motorio instabile: Utilizzare un alimentatore stabile ed evitare connessioni sciolte.

Conclusione

Hai interfacciato correttamente il driver del motore L298N con Arduino per controllare i motori DC. Questo modulo versatile consente di gestire facilmente la velocità e la direzione del motore. Sperimenta ulteriormente integrando sensori, telecomandi o altri moduli nei progetti motorizzati!

Lascia un commento

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.