Arduino motor shield L293D

Motor Control Shield L293D Arduino. Jetons un coup d’œil à une extension très utile pour la carte Arduino Uno ou Mega, et examinons le schéma de connexion des servomoteurs, des moteurs pas à pas et des moteurs cc à cette carte. Vous pouvez également jeter un coup d’œil aux commandes utilisées dans la bibliothèque AFMotor.h, et essayer différents croquis pour contrôler les moteurs pas à pas et les moteurs CC sur l’Arduino.


Pour cette activité, nous aurons besoin:

  • Arduino Uno / Arduino Mega
  • motor shield L293D
  • moteurs CC et servomoteurs
  • moteur pas à pas
  • fils de connexion
  • librairie AFMotor.h

Matériel supplémentaire sur ce sujet:

  1. Comment connecter servo moteur avec Arduino
  2. Piloter moteur pas à pas 28BYJ-48 avec Arduino
  3. Comment piloter le moteur DC avec Arduino Uno

Fonctionnement du shield L293D Arduino pinout, datasheet

Arduino motor shield l293d datasheet
Fonctionnement du Arduino motor shield L293D datasheet ,pinout

Lors de la connexion de servo et de moteurs à l’Arduino via le L239D, différents ports sont utilisés auxquels d’autres périphériques ne peuvent être connectés. Par exemple, les ports numériques 9 et 10 sont utilisés pour les servos, et les ports 3 à 8 et 12 sont utilisés pour les moteurs pas à pas et les moteurs. Si vous voulez connecter autre chose, utilisez les ports 2 et 13 et les entrées analogiques, peuvent être utilisés comme sorties numériques.

Caractéristiques du Motor Shield L293D Arduino

  • ncessite la bibliothèque AFMotor.h (télécharger la bibliothèque);
  • possibilité de connecter 2 servomoteurs sur 5 volts;
  • possibilité de connecter 2 moteurs pas à pas de 6 à 12 volts;
  • connexion de jusqu’à 4 moteurs avec sens de rotation réversible;
  • broches pour connecter l’alimentation externe des moteurs;
  • motor Shield pour Arduino compatible avec les cartes Uno et Mega.

Comment brancher motor shield L293D Arduino Uno

Le motor shield l239d se connecte à l’Arduino très facilement – il est monté sur la carte UNO directement sur le dessus. Notez que sans une alimentation externe connectée à la Motor Shield, la logique et les moteurs fonctionneront sur 5 volts, ce qui n’est pas toujours suffisant. Par conséquent, la vitesse des moteurs à courant continu sera sensiblement différente lorsque la carte Arduino est connectée à l’ordinateur et à l’alimentation électrique.

Connecter motor shield l239d Arduino
Comment connecter les moteurs à courant continu à l239d Arduino

Notez que même si vous avez réglé les moteurs pour qu’ils tournent à la même vitesse dans l’esquisse, ils peuvent en réalité tourner à des vitesses différentes – cela dépend de la vitesse du moteur lui-même, de la qualité de la boîte de vitesses et des roues. Après avoir connecté les moteurs à courant continu comme dans le schéma ci-dessus, chargez le programme suivant pour tester le fonctionnement du module avec un circuit intégré L293D.

Programme Arduino piloter moteurs cc avec L293D shield

#include "AFMotor.h"
AF_DCMotor motor1(1); // création de l'objet "motor1"
AF_DCMotor motor2(2); // création de l'objet "motor2"

void setup() {
  motor1.setSpeed(255);
  motor1.run(RELEASE);
  motor2.setSpeed(255);
  motor2.run(RELEASE);
}

void loop() {
  motor1.run(FORWARD);
  motor2.run(FORWARD);
  motor1.setSpeed(255);
  motor2.setSpeed(255);

  delay(2000); // attend 2000 ms

  motor1.run(RELEASE);
  motor2.run(RELEASE);

  motor1.run(BACKWARD);
  motor2.run(BACKWARD);
  motor1.setSpeed(255);
  motor2.setSpeed(255);

  delay(2000); // attend 2000 ms

  motor1.run(RELEASE);
  motor2.run(RELEASE);
}

Explication du code pour controleur moteurs avec L293D Arduino:

  1. chaque moteur cc doit avoir son propre nom unique AF_DCMotor motor1(1);
  2. la vitesse maximale des moteurs du programme est de 255.
Connecter les servomoteurs motor shield l239d
Comment connecter les servomoteurs à motor shield l239d Arduino

La bibliothèque standard Servo.h est utilisée pour contrôler le servo Arduino, les servos eux-mêmes sont connectés aux sorties numériques 9 et 10 via des broches sur le bord de la carte. Seuls deux servos et deux moteurs pas à pas peuvent être connectés à la l239d. Le premier moteur pas à pas est connecté aux bornes M1 et M2 et le second aux bornes M3 et M4. Le schéma de câblage des moteurs vers le Motor Shield L293D est présenté ci-dessous.

Programme Arduino piloter servomoteurs avec L293D shield

#include "Servo.h"

Servo servo; // création de l'objet "servo"

void setup() {
   servo.attach(9); // attache le servo au pin spécifié
}

void loop() {
   servo.write(0); // demande au servo de se déplacer à cette position
   delay(1000); // attend 1000 ms entre changement de position

   servo.write(90); // demande au servo de se déplacer à cette position
   delay(1000); // attend 1000 ms entre changement de position

   servo.write(180); // demande au servo de se déplacer à cette position
   delay(1000); // attend 1000 ms entre changement de position
}

Explication du code pour controleur servomoteurs L293D Arduino:

  1. la commande servo.attach(9); lie le servo à la sortie numérique 9 de l’Arduino;
  2. dans la fonction void loop() nous faisons tourner le servo-moteur de 0-90-180 degrés.
Connecter le moteur pas à pas l239d
Comment connecter le moteur pas à pas shield l239d Arduino

Compatible avec les carte Uno et Mega, le shield se place directement sur la carte Arduino. Les moteurs pas-à-pas sont branchés sur les borniers M1 à M4. Pour piloter les moteurs pas-à-pas nous allons utiliser la classe AF_Stepper dont les fonctions à connaitre sont: motor.setSpeed(vitesse) pour régler la vitesse et motor.step(nombre de pas, direction, algorithme) pour tourner d’un nombre de pas dans un sens ou dans l’autre.

Programme Arduino piloter moteur pas à pas L293D shield

#include "AFMotor.h"

AF_Stepper stepper(48, 1);

void setup() {
}

void loop() {
  
  for (byte i = 0; i <= 48; i++) {
    stepper.step(1, FORWARD, DOUBLE);
    delay(30);
  }
  
  for (byte i = 48; i >= 0; i--) {
    stepper.step(1, BACKWARD, DOUBLE);
    delay(30);
  }
  
}

Conclusion. Le microcontrôleur Arduino permet à tout programmeur novice de construire des dispositifs et des projets d’automatisation complexes. L’utilisation de la Motor Shield peut être un complément utile à de nombreux projets Arduino, car elle vous permet de connecter simultanément 2 servo, 2 moteurs pas à pas et jusqu’à 4 moteurs à courant continu.





One Reply to “Controleur de moteurs avec shield L293D Arduino”

  1. Bonjour, est il possible de piloter un moteur pas à pas 28BYJ-48 avec le shield L293D sachant que ce moteur a 5 fils
    cordialement.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. Découvrez comment les données de vos commentaires sont traitées.