Le module L298N est un pilote de moteur souvent utilisé dans les projets de robotique et d’automatisation pour contrôler des moteurs à courant continu (DC) ou des moteurs pas à pas. Ce module est basé sur le circuit intégré L298, qui intègre deux ponts en H (H-Bridge) permettant de contrôler deux moteurs indépendamment. Le L298N est populaire dans les projets de la carte ESP32 et d'autres microcontrôleurs en raison de sa capacité à gérer des moteurs nécessitant une alimentation plus élevée que ce que les microcontrôleurs peuvent fournir directement.
Nombre de canaux : 2 (peut contrôler deux moteurs DC ou un moteur pas à pas bipolaire).
Tension d'alimentation des moteurs : Jusqu’à 35V.
Courant maximal : Jusqu'à 2A par canal, ce qui est suffisant pour des moteurs de petite à moyenne puissance.
Protection thermique : Protection intégrée contre la surchauffe.
Régulateur de tension 5V : Alimente le circuit logique si l’alimentation est supérieure à 7V, mais il peut être désactivé.
Voici les principales broches et connexions du module :
VCC : Alimentation pour les moteurs (jusqu'à 35V).
GND : Masse commune pour l’alimentation et le microcontrôleur.
5V : Sortie 5V pour alimenter le circuit logique (si le régulateur est actif).
IN1, IN2 : Entrées de contrôle pour le moteur 1 (pour gérer la direction).
IN3, IN4 : Entrées de contrôle pour le moteur 2 (pour gérer la direction).
ENA et ENB : Broches d'activation pour les moteurs 1 et 2 (permet de contrôler la vitesse en utilisant un signal PWM).
OUT1, OUT2 : Sorties pour le moteur 1.
OUT3, OUT4 : Sorties pour le moteur 2.
Le module L298N utilise deux ponts en H, qui permettent de contrôler la polarité du courant alimentant les moteurs. En inversant cette polarité, il est possible de faire tourner les moteurs dans les deux directions (avant et arrière).
En appliquant une entrée haute (HIGH) sur l’une des broches IN1 ou IN2 et une entrée basse (LOW) sur l'autre, le moteur tournera dans un sens.
En inversant les signaux sur ces entrées, le moteur tournera dans l'autre sens.
Les broches ENA et ENB contrôlent l’activation des moteurs, permettant aussi d’ajuster la vitesse via un signal PWM (modulation de largeur d’impulsion).
Le module L298N dispose de deux canaux de contrôle de moteur, permettant ainsi de contrôler deux moteurs DC. Chaque moteur est contrôlé via deux broches de direction (IN1 et IN2 pour le moteur 1) et une broche d’activation (ENA pour le moteur 1).
Direction du moteur : La polarité des signaux envoyés sur IN1 et IN2 détermine le sens de rotation.
Vitesse du moteur : La broche ENA (activation) reçoit un signal PWM (modulation de largeur d'impulsion) de l’ESP32, permettant de réguler la vitesse du moteur en ajustant le rapport cyclique du signal PWM.
En résumé, l’ESP32 envoie des signaux de contrôle de direction et de vitesse au module L298N, qui pilote le moteur DC 5V dans les deux sens avec une vitesse variable.
ESP32 :
Microcontrôleur qui envoie des signaux de commande pour la direction et la vitesse du moteur.
Module L298N :
Ce module pilote de moteur qui utilise des ponts en H pour contrôler la polarité et l'alimentation du moteur.
Moteur DC 5V :
Ce moteur est alimenté à partir du module L298N.
Source d'alimentation externe :
Une batterie 9V (car le L298N consomme de l'énergie pour ses circuits).
Alimentation du Module L298N :
Connectez VCC (12V) du module L298N à la source d'alimentation (batterie 9V).
Connectez GND du module L298N à la masse de l’alimentation (batterie 9V).
Contrôle de Direction et de Vitesse :
Connectez IN1 et IN2 du L298N aux broches numériques de l'ESP32 (par exemple, GPIO 21 et GPIO 21) pour contrôler la direction.
Connectez ENA à une broche PWM de l'ESP32 (par exemple, GPIO 23) pour le contrôle de la vitesse.
Connexion du Moteur DC :
Connectez le moteur DC entre OUT1 et OUT2 du module L298N.
Le code ci-dessous permet de contrôler la direction et la vitesse du moteur via l'ESP32.
On doit importer la bibliothèque DCMotor pour contrôler le moteur.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
from machine import UART from dcmotor import DCMotor from machine import Pin, PWM from time import sleep import time frequency = 15000 pin1 = Pin(5, Pin.OUT) pin2 = Pin(4, Pin.OUT) enable = PWM(Pin(18), frequency) dc_motor = DCMotor(pin1, pin2, enable) dc_motor = DCMotor(pin1, pin2, enable, 350, 1023) while True: dc_motor.forward(100) # le moteur tourne time.sleep(1) dc_motor.stop() # stop le moteur time.sleep(1) dc_motor.backwards(100) # le moteur tourne dans le sens inverse time.sleep(1) dc_motor.stop() # stop le moteur time.sleep(1) |
La robotique éducative joue un rôle important dans l'éducation des enfants et des jeunes en les aidant à acquérir des compétences en science et technologie.
Dans ce cadre notre site web représente une excellente ressource pour les parents, les enseignants et les enfants qui souhaitent découvrir la robotique.
Zaouiet Kontech-Jemmel-Monastir-Tunisie
+216 92 886 231
medaliprof@gmail.com
Site robotique réalisé par Mohamed Ali-Prof Info