Le SN754410 est un circuit intégré H-Bridge, similaire au L298N, qui est utilisé pour contrôler les moteurs à courant continu (DC) et les moteurs pas à pas. Ce type de contrôleur est idéal pour les projets nécessitant un contrôle bidirectionnel et une gestion de la vitesse des moteurs à faible puissance, ce qui en fait un choix populaire dans les projets Arduino ou ESP32.
Double pont en H (H-Bridge) : Le SN754410 peut contrôler deux moteurs DC indépendamment, ou un moteur pas à pas.
Tension d'alimentation : Supporte une tension d’alimentation pour les moteurs entre 4.5V et 36V.
Courant : Peut fournir jusqu'à 1A de courant continu par canal (2A en crête), avec des dissipateurs de chaleur.
Isolation logique : Les circuits de puissance et les circuits logiques sont séparés, permettant une alimentation en 5V pour la logique, ce qui est compatible avec les microcontrôleurs.
Broches d'entrée (1A, 2A, 3A, 4A) : Reçoivent les signaux de commande des microcontrôleurs pour contrôler la direction et la vitesse des moteurs.
Broches de sortie (1Y, 2Y, 3Y, 4Y) : Connectent les bornes des moteurs. Les sorties fonctionnent en paires (1Y/2Y pour le moteur 1, 3Y/4Y pour le moteur 2).
Broches d'alimentation :
VCC1 : Alimentation de la logique du SN754410 (5V en général).
VCC2 : Alimentation pour les moteurs (entre 4.5V et 36V selon les moteurs).
GND : Masse commune pour la logique et la puissance.
Broches d’activation (Enable 1 et Enable 2) : Permettent d’activer ou désactiver les canaux pour chaque moteur. Ces broches peuvent recevoir un signal PWM pour contrôler la vitesse du moteur.
Contrôle de direction : Chaque moteur est contrôlé par deux entrées logiques. En réglant les entrées en HIGH ou LOW, on peut inverser la direction du courant et ainsi faire tourner le moteur dans un sens ou dans l'autre.
Contrôle de vitesse : En envoyant un signal PWM aux broches Enable, on peut contrôler la vitesse du moteur en ajustant la puissance moyenne transmise.
Arrêt du moteur : Pour arrêter le moteur, il suffit de désactiver les broches Enable ou de mettre les deux entrées de commande d'un canal au même niveau (HIGH/HIGH ou LOW/LOW).
Le SN754410 est un choix fiable pour les projets de commande de moteurs de faible à moyenne puissance, offrant un contrôle efficace et économique de la direction et de la vitesse.
L’Arduino UNO contrôle le SN754410 en envoyant des signaux numériques et des signaux PWM (Pulse Width Modulation) aux broches de commande du SN754410, qui est un contrôleur de moteur en pont en H (H-Bridge). Le SN754410 agit comme un pont en H double, permettant de contrôler deux moteurs DC indépendamment, ou un seul moteur pas à pas, en modulant la direction et la vitesse.
Voici comment fonctionne le contrôle de la carte Arduino UNO sur le SN754410 :
Le SN754410 dispose de quatre broches d’entrée (1A, 2A pour le moteur 1 et 3A, 4A pour le moteur 2) qui reçoivent les signaux logiques de l’Arduino.
Pour chaque moteur, la direction de rotation est déterminée par les valeurs HIGH (1) et LOW (0) appliquées aux deux broches d'entrée correspondantes.
Exemple pour le moteur 1 :
1A HIGH et 2A LOW : Le moteur tourne dans un sens.
1A LOW et 2A HIGH : Le moteur tourne dans le sens opposé.
1A LOW et 2A LOW : Le moteur est arrêté (pas de courant).
1A HIGH et 2A HIGH : Le moteur est également arrêté (freinage par court-circuit).
L’Arduino contrôle donc la direction du moteur en définissant l’état logique de ces broches. En changeant la combinaison, on change la direction du courant dans le moteur, ce qui fait tourner le moteur dans un sens ou dans l’autre.
Pour chaque moteur, le SN754410 possède deux broches Enable (Enable 1 pour le moteur 1, Enable 2 pour le moteur 2). Lorsque la broche Enable est HIGH, elle active les canaux correspondants du SN754410, permettant au moteur de tourner.
L’Arduino utilise la PWM pour contrôler la vitesse du moteur en modulant le signal sur la broche Enable. En variant la largeur d’impulsion du signal PWM, on contrôle la puissance moyenne appliquée au moteur :
Valeur PWM basse (proche de 0) : le moteur tourne lentement.
Valeur PWM haute (proche de 255) : le moteur tourne à pleine vitesse.
En utilisant analogWrite()
sur la broche Enable, l’Arduino peut ainsi régler la vitesse de rotation du moteur.
Arduino Uno :
Carte de microcontrôleur qui contrôle le SN754410.
Le contrôleur de moteur SN754410 :
Le SN754410 est un circuit intégré H-Bridge, similaire au L298N, qui est utilisé pour contrôler les moteurs à courant continu (DC) et les moteurs pas à pas.
Moteur DC 5V :
Un moteur à courant continu (DC) de 5V est un moteur électrique conçu pour fonctionner avec une alimentation de 5 volts.
4 piles de 1.5V :
Fils de connexion :
Pour relier l'Arduino, le contrôleur SN754410 et le moteur à courant continu.
Plaque d'essai (Breadboard) :
On utilise la plaque d'essai pour faciliter le câblage des différents composants.
Pour contrôler un moteur DC avec l’Arduino UNO et le SN754410 :
Broches Arduino :
Connectez une broche numérique pour chaque entrée du SN754410 (par exemple, pins 3 et 5 de l'Arduino vers 1A et 2A pour contrôler la direction du moteur 1).
Connectez une broche PWM de l’Arduino à la broche Enable correspondante (par exemple, pin 2 de l’Arduino vers Enable 1 pour contrôler la vitesse du moteur 1).
SN754410 et moteur :
Connectez les broches de sortie 1Y et 2Y aux bornes du moteur.
Alimentez le SN754410 via VCC1 (5V de l’Arduino) et VCC2 (tension du moteur, par ex. 9V ou 12V).
Reliez toutes les masses (GND de l’Arduino, du SN754410, et de l'alimentation du moteur) ensemble.
Voici un exemple de code Arduino pour contrôler la direction et la vitesse d’un moteur DC avec le SN754410.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 |
// Constants const int enableBridge1 = 2; const int MotorForward1 = 3; const int MotorReverse1 = 5; // Variables int Power = 80; //Motor velocity between 0 and 255 void setup(){ pinMode(MotorForward1,OUTPUT); pinMode(MotorReverse1,OUTPUT); pinMode(enableBridge1,OUTPUT); } void loop(){ digitalWrite(enableBridge1,HIGH); // Active pont en H // Tourne dans le sens direct pendant 3 secondes analogWrite(MotorForward1,Power); analogWrite(MotorReverse1,0); delay(3000); // Tourne dans le sens indirect pendant 3 secondes analogWrite(MotorForward1,0); analogWrite(MotorReverse1,Power); delay(3000); //Arrête le moteur pendant 1 seconde analogWrite(MotorForward1,0); analogWrite(MotorReverse1,0); digitalWrite(enableBridge1,LOW); delay(1000); } |
Fonctionnement du Code
Définir la direction : En réglant les broches d'entrée MotorForward1 et MotorForward2 sur HIGH ou LOW, on contrôle le sens de rotation du moteur.
Régler la vitesse : analogWrite()
envoie un signal PWM sur la broche Enable, modulant la vitesse du moteur en ajustant la puissance moyenne.
Cycle de fonctionnement : Le moteur avance, puis recule, et s’arrête, illustrant le contrôle de la direction et de la vitesse.
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