Arduino, Moteur, Tutoriels

Comment utiliser le Driver L9110 pour contrôler les Moteurs avec Arduino

Comment Utiliser Le Driver L9110 Pour Contrôler Les Moteurs Avec Arduino Maroc

Driver L9110 est une carte compacte qui peut être utilisée pour commander de petit robot. Dans ce tutoriel, nous explorerons en détail son utilisation avec Arduino, en apprenant à ajuster la vitesse et la direction des moteurs pour une multitude d’applications pratiques.

Description du L9110

Driver L9110 Dual-Channel H-Bridge est une petite carte pour commander les moteurs à courant continu et pas à pas avec Arduino . Ce module est équipé de deux puces de commande de moteur, chacune capable de fournir jusqu’à 800 mA de courant continu. Il peut fonctionner avec une tension d’entrée comprise entre 2,5 et 12 volts, ce qui lui permet de s’adapter aussi bien aux microcontrôleurs de 3,3 V qu’à ceux de 5 V. Voici un aperçu de ses caractéristiques principales :

CaractéristiqueSpécification
Capacité de courant continu par canal800 mA
Plage de tension d’entrée2,5 V à 12 V
Contrôle de la vitesseSignal PWM (Modulation de Largeur d’Impulsion)
ConnecteursBroches Femelles d’Entête et Bornes à Vis
Compatibilité avec les moteurs pas à pasMoteur pas à pas biphasé à 4 fils

Ce driver permet le contrôle bidirectionnel des moteurs DC, offrant la possibilité de faire tourner les moteurs dans les deux sens. De plus, grâce au signal PWM, vous pouvez régler précisément la vitesse de rotation du moteur. le L9110 est compatible avec une variété de projets, du plus simple au plus complexe.

Les broches femelles d’entête facilitent la connexion du module à votre microcontrôleur Arduino, tandis que les bornes à vis simplifient la connexion des moteurs.

Pinout du Driver L9110

Les connexions sur le module L9110 sont clairement définies pour faciliter son intégration dans vos projets. Voici le détail des broches du L9110 :

Numéro de BrocheNom de la BrocheDescription
1B-IAEntrée B du Moteur A (IA)
2B-IBEntrée B du Moteur B (IB)
3GNDMise à la Terre (Ground)
4VCCAlimentation de 2,5V à 12V DC
5A-IAEntrée A du Moteur A (IA)
6A-IBEntrée B du Moteur B (IB)
Driver L9110 Pinout Broches

Connexion du Module L9110 avec Arduino

Étape 1 : Préparation des Matériaux

Assurez-vous de disposer des éléments suivants avant de commencer :

  • Un Arduino (nous utilisons l’Arduino UNO R3 ici).
  • Le module L9110 Dual-Channel Driver.
  • Deux petits moteurs à courant continu (DC) ou un moteur pas à pas biphasé à 4 fils (en fonction de votre projet).
  • Câbles de raccordement (jumpers) mâles-mâles pour les connexions.
  • Une source d’alimentation de 2,5V à 12V (cela dépendra des spécifications de votre moteur).

Étape 2 : Connectez les Moteurs au Module

Pour ce faire, suivez ces étapes :

  1. Connexion des Moteurs DC : Si vous utilisez des moteurs à courant continu, connectez-les aux bornes du module. Il n’y a pas de polarité spécifique, donc vous pouvez choisir la manière dont vous les connectez. Chaque moteur doit avoir deux fils, et ces fils vont aux bornes M-A et M-B pour le moteur A, et B-A et B-B pour le moteur B.
  2. Connexion du Moteur pas à pas : Si vous utilisez un moteur pas à pas biphasé à 4 fils, connectez les fils du moteur aux broches correspondantes du module. Consultez la documentation de votre moteur pour savoir quel fil correspond à quelle fonction. Les broches du module L9110S sont les suivantes : A-IA (Motor A Input A), A-IB (Motor A Input B), B-IA (Motor B Input A), et B-IB (Motor B Input B).

Étape 3 : Connectez l’Arduino au Module

Maintenant, connectez votre Arduino au module L9110S. Voici comment :

  1. Alimentation : Connectez le GND de votre Arduino à la borne GND du module L9110. Ensuite, reliez la broche VCC du module à l’alimentation 2,5V à 12V (assurez-vous de ne pas dépasser la tension maximale de votre moteur).
  2. Contrôle : Pour contrôler la vitesse et la direction des moteurs, connectez les broches A-IA, A-IB, B-IA et B-IB du module L9110S à n’importe quel port de sortie numérique de votre Arduino. Vous pouvez choisir les broches de sortie que vous préférez, mais assurez-vous de les configurer correctement dans votre code Arduino.

Branchement de L9110 Dual-Channel Driver Module avec Arduino et des moteurs DC

Branchement De L9110S Dual-Channel Driver Module Avec Arduino Et Des Moteurs Dc

Programmation Arduino pour contrôler les Moteurs DC avec Driver L9110

Code ArduinoL9110

// Broches de contrôle des moteurs
#define A1 5
#define A2 6
#define B1 10
#define B2 11

void setup() {
  // Définir les broches comme sorties
  pinMode(A1, OUTPUT);
  pinMode(A2, OUTPUT);
  pinMode(B1, OUTPUT);
  pinMode(B2, OUTPUT);
}

void loop() {
  // Faire avancer les deux moteurs
  forward();
  delay(2000);  // Attendre 2 secondes

  // Faire reculer les moteurs
  backward();
  delay(2000);  // Attendre 2 secondes

  // Arrêter les moteurs
  Stop();
  delay(2000);  // Attendre 2 secondes
}

void forward() {
  // Faire avancer les moteurs
  analogWrite(A1, 255);
  analogWrite(A2, 0);
  analogWrite(B1, 255);
  analogWrite(B2, 0);
}

void backward() {
  // Faire reculer les moteurs
  analogWrite(A1, 0);
  analogWrite(A2, 255);
  analogWrite(B1, 0);
  analogWrite(B2, 255);
}

void Stop() {
  // Arrêter les moteurs
  digitalWrite(A1, LOW);
  digitalWrite(A2, LOW);
  digitalWrite(B1, LOW);
  digitalWrite(B2, LOW);
}

Explication détaillée du code Arduino :

Ce code Arduino vous permet de contrôler deux moteurs à courant continu (DC) en utilisant le module L9110. Voici une explication détaillée du code :

  1. Définition des broches de contrôle : Dans cette section, nous définissons les broches de l’Arduino que nous utilisons pour contrôler les moteurs. Nous utilisons quatre broches en tout, deux pour chaque moteur. Les broches A1 et A2 contrôlent le moteur A, tandis que les broches B1 et B2 contrôlent le moteur B.
#define A1 5
#define A2 6
#define B1 10
#define B2 11
  1. Configuration des broches : Dans la fonction setup(), nous configurons ces broches comme des sorties en utilisant pinMode(). Cela signifie que nous allons envoyer des signaux de commande aux moteurs à travers ces broches.
void setup() {
  pinMode(A1, OUTPUT);
  pinMode(A2, OUTPUT);
  pinMode(B1, OUTPUT);
  pinMode(B2, OUTPUT);
}
  1. Boucle principale (loop()) : La boucle principale du programme commence ici. Elle contient trois étapes différentes : faire avancer les moteurs, les faire reculer et les arrêter. Chaque étape est suivie d’une période d’attente de 2 secondes.
void loop() {
  // Faire avancer les deux moteurs
  forward();
  delay(2000);  // Attendre 2 secondes

  // Faire reculer les moteurs
  backward();
  delay(2000);  // Attendre 2 secondes

  // Arrêter les moteurs
  Stop();
  delay(2000);  // Attendre 2 secondes
}
  1. Commandes de mouvement : Les fonctions forward(), backward() et Stop() sont utilisées pour contrôler les moteurs. Voici comment elles fonctionnent :
  • forward() : Cette fonction fait avancer les moteurs. Elle envoie un signal PWM (Modulation de Largeur d’Impulsion) aux broches A1 et B1, ce qui fait tourner les moteurs dans le sens avant. Les broches A2 et B2 sont maintenues à LOW pour désactiver la rotation inverse.
  • backward() : Cette fonction fait reculer les moteurs. Elle envoie un signal PWM aux broches A2 et B2, ce qui fait tourner les moteurs dans le sens inverse. Les broches A1 et B1 sont maintenues à LOW pour désactiver la rotation avant.
  • Stop() : Cette fonction arrête les moteurs en mettant toutes les broches de contrôle à LOW. Cela désactive la rotation des moteurs.
  1. Valeur 255 : Dans les fonctions forward() et backward(), la valeur 255 est utilisée avec analogWrite(). Cette valeur correspond à la pleine puissance pour le signal PWM, ce qui signifie que les moteurs tourneront à leur vitesse maximale. Vous pouvez ajuster cette valeur pour régler la vitesse des moteurs en utilisant n’importe quelle valeur entre 0 (arrêt complet) et 255 (vitesse maximale).

Vous pouvez personnaliser ce code en modifiant les délais (delay()) entre les mouvements, en ajustant les valeurs de PWM pour changer la vitesse des moteurs ou en ajoutant des conditions pour un contrôle plus avancé en fonction de vos besoins de projet. Assurez-vous de comprendre comment les signaux sont envoyés aux moteurs et comment ils réagissent pour obtenir le comportement souhaité.

Comment personnaliser le code pour vos propres projets :

Une des grandes forces de ce code Arduino est sa flexibilité. Vous pouvez facilement personnaliser ce code pour répondre aux besoins spécifiques de votre projet. Voici quelques façons de le personnaliser :

  1. Changer les délais (delay()) : Vous pouvez ajuster la durée pendant laquelle les moteurs avancent, reculent et s’arrêtent en modifiant les valeurs dans les fonctions delay(). Par exemple, si vous souhaitez que les moteurs fonctionnent plus longtemps ou plus brièvement, vous pouvez augmenter ou réduire ces valeurs, respectivement.
  2. Modifier la vitesse des moteurs : La valeur 255 utilisée avec analogWrite() correspond à la vitesse maximale des moteurs. Si vous souhaitez réduire la vitesse, vous pouvez utiliser une valeur plus faible, comme 200, 150, ou toute autre valeur comprise entre 0 (arrêt complet) et 255 (vitesse maximale).
  3. Ajouter des conditions : Pour un contrôle plus avancé, vous pouvez ajouter des conditions basées sur des capteurs ou des entrées utilisateur. Par exemple, vous pourriez utiliser un capteur de distance pour faire en sorte que les moteurs s’arrêtent lorsqu’un obstacle est détecté.
  4. Utiliser d’autres broches : Si les broches définies dans ce code ne conviennent pas à votre configuration matérielle, vous pouvez les changer pour utiliser d’autres broches de votre Arduino. Assurez-vous simplement que ces broches sont configurées comme des sorties dans la fonction setup().
  5. Intégrer d’autres périphériques : Vous pouvez intégrer ce code dans des projets plus vastes en ajoutant d’autres composants électroniques, comme des capteurs, des écrans, des boutons, etc., pour créer des systèmes plus complexes et interactifs.

Ressources Supplémentaires :

Laisser un commentaire