Comment utiliser le conducteur de moteur L298N avec Arduino

How to Use the L298N Motor Driver with Arduino

Le conducteur du moteur L298N est un module populaire pour contrôler les moteurs CC et les moteurs pas à pas. Il vous permet de contrôler la vitesse et la direction du moteur à l'aide de signaux PWM d'Arduino, ce qui le rend idéal pour les projets de robotique et d'automatisation. Ce tutoriel vous guidera dans la connexion et l'utilisation du L298N avec Arduino.


Ce dont vous aurez besoin

  1. Module de pilote moteur L298N
  2. Board Arduino (par exemple, Uno, Mega, Nano)
  3. Motors CC ou moteurs pas à pas
  4. Source d'alimentation externe (par exemple, batterie 9V ou 12V)
  5. Fils de planche à pain et de cavalier
  6. Un ordinateur avec l'ide Arduino installé

Étape 1: Comprendre le conducteur moteur L298N

Le module L298N est un pilote de moteur à pont H double, ce qui signifie qu'il peut contrôler la vitesse et la direction de deux moteurs CC indépendamment ou un moteur pas à pas.

Pinout L298N

Épingle Fonction
In1, in2 Motor A Direction Control Entrées
In3, in4 MOTEUR B Entrées de commande de direction
Ena Motor un contrôle de vitesse (entrée PWM)
Enb Contrôle de vitesse du moteur B (entrée PWM)
Out1, out2 Moteur A
Out3, out4 Motor B Sorties
12V (VCC) Alimentation électrique externe pour les moteurs
5V (facultatif) Alimentation logique (si le cavalier est supprimé)
GND Sol

Notes:

  • Le module comprend un régulateur 5V embarqué qui alimente le circuit logique si le cavalier est en place et que VCC est 7-12V.
  • Le retrait du cavalier vous oblige à fournir une alimentation logique 5V séparément.

Étape 2: Câblage du L298N à Arduino

Voici comment connecter le L298N à un arduino uno et deux moteurs DC:

Pin L298N Épingle arduino
Ena PIN 10 (PWM)
En1 PIN 8
In2 PIN 9
Enb PIN 11 (PWM)
In3 PIN 6
IN4 PIN 7
GND Arduino GND
12V (VCC) Puissance externe (9v / 12v)
Out1, out2 Moteur un terminal
Out3, out4 Terminaux du moteur b

Étape 3: Téléchargez le code

Voici un exemple de croquis pour contrôler deux moteurs CC:

Exemple de code

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

Étape 4: Testez la configuration

  1. Connectez l'Arduino à votre ordinateur via USB.
  2. Ouvrez l'ide Arduino et sélectionnez le bon Conseil et Port sous Outils menu.
  3. Téléchargez le code sur l'Arduino en cliquant Télécharger.
  4. Observez les moteurs tournant vers l'avant, s'arrêtant et inversant en fonction de la séquence programmée.

Facultatif: contrôler la vitesse dynamiquement

Vous pouvez régler la vitesse du moteur dynamiquement en modifiant les valeurs PWM envoyées au ENA et ENB broches utilisant analogwrite (). Par exemple:

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

Applications du L298N

  1. Construire des robots motorisés
  2. Contrôle des ceintures de convoyeur
  3. Motors pas passibles en marche
  4. Systèmes automatisés avec des moteurs CC

Dépannage

  • Moteurs ne tournant pas: Assurez-vous que l'alimentation externe est connectée et fournit suffisamment de courant.
  • Direction du moteur incorrect: Vérifiez le câblage des broches en inverses et des connexions inversées si nécessaire.
  • Comportement moteur instable: Utilisez une alimentation stable et évitez les connexions lâches.

Conclusion

Vous avez réussi à interfacer le pilote moteur L298N avec Arduino pour contrôler les moteurs DC. Ce module polyvalent vous permet de gérer facilement la vitesse et la direction du moteur. Expérimentez plus loin en intégrant des capteurs, des télécommandes ou d'autres modules dans vos projets motorisés!

Laissez un commentaire

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.