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
- Module de pilote moteur L298N
- Board Arduino (par exemple, Uno, Mega, Nano)
- Motors CC ou moteurs pas à pas
- Source d'alimentation externe (par exemple, batterie 9V ou 12V)
- Fils de planche à pain et de cavalier
- 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
- Connectez l'Arduino à votre ordinateur via USB.
- Ouvrez l'ide Arduino et sélectionnez le bon Conseil et Port sous Outils menu.
- Téléchargez le code sur l'Arduino en cliquant Télécharger.
- 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
- Construire des robots motorisés
- Contrôle des ceintures de convoyeur
- Motors pas passibles en marche
- 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!