0% ont trouvé ce document utile (0 vote)
65 vues9 pages

L293D Arduino Shield

Transféré par

Youssef Oubelaid
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats DOCX, PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
65 vues9 pages

L293D Arduino Shield

Transféré par

Youssef Oubelaid
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats DOCX, PDF, TXT ou lisez en ligne sur Scribd
Vous êtes sur la page 1/ 9

Comment utiliser L293D Pilote

de moteur avec Arduino

Sommaire :
[Cacher]
1. Présentation du Pilote de Moteur L293D
1. Principales Caractéristiques du L293D :
2. Alimentation du L293D
3. Broches de L293D
4. Contrôle de Moteur à Courant Continu avec le L293D et Arduino
1. Câblage
2. Code Arduino
5. Contrôle de Moteurs Pas à Pas NEMA 17 avec le L293D et Arduino
1. Câblage
2. Code Arduino
6. Contrôle de Servomoteurs SG90S avec le pilote de moteur et Arduino
1. Câblage
2. Code Arduino
7. Conclusion
8. Lien outilles

L’utilisation du pilote de moteur L293D avec Arduino offre une solution


efficace pour le contrôle de moteurs à courant continu, de moteurs pas à pas
et de servomoteurs dans une variété de projets électroniques. Ce composant
électronique permet de gérer la vitesse, la direction et la précision des
moteurs, ce qui en fait un outil essentiel pour les amateurs d’électronique et
les ingénieurs. Dans cet article, nous explorerons en détail comment utiliser
le L293D avec Arduino pour piloter différents types de moteurs.
Présentation du Pilote de Moteur L293D
L293D pilote de moteur est une puce d’intégration qui agit comme un pont en
H (H-Bridge) pour contrôler la rotation des moteurs. Il est largement utilisé
dans les projets Arduino en raison de sa simplicité d’utilisation et de sa
fiabilité. Ce pilote de moteur peut être alimenté avec une tension de 5 à 36 V
pour les moteurs, tandis que la tension de la carte Arduino doit être de 5 V.

Principales Caractéristiques du L293D :


 Contrôle de la Direction : Il permet de contrôler la direction de
rotation des moteurs en inversant simplement les signaux de contrôle.
Cela signifie que vous pouvez faire tourner le moteur dans les deux
sens.
 Contrôle de la Vitesse : Il offre un contrôle précis de la vitesse des
moteurs à courant continu en ajustant la largeur de l’impulsion (PWM).
Cela permet de régler la vitesse selon les besoins du projet.
 Support pour Plusieurs Moteurs : Il possède deux H-Bridges, ce qui
signifie qu’il peut contrôler deux moteurs à courant continu ou
un moteur pas à pas à quatre fils. Il est également équipé d’une puce
74HC595 pour étendre les broches de commande.

Alimentation du L293D
Le L293D peut être alimenté de deux manières différentes en fonction de vos
besoins :

1. Alimentation Partagée : Vous pouvez utiliser un seul bloc


d’alimentation pour le pilote et la carte Arduino en connectant le fil
d’alimentation à la broche “EXT_PWR” sur le pilote. Assurez-vous de
placer la borne “PWR” sur le L293D dans la bonne position. Cette
configuration est pratique lorsque vous avez une source d’alimentation
unique.
2. Alimentation Séparée : Il est recommandé de fournir une
alimentation séparée à la carte Arduino et au L293D. Dans ce cas, la
carte Arduino est alimentée via USB, tandis que les moteurs sont
alimentés par une source de courant continu connectée à la broche
“EXT_PWR”. N’oubliez pas de retirer la borne “PWR” pour éviter tout
problème de tension.
Broches de L293D

Contrôle de Moteur à Courant Continu avec le L293D et Arduino


Les moteurs à courant continu (CC) sont omniprésents dans de nombreuses
applications électroniques, des robots aux systèmes d’automatisation
industrielle. Le L293D s’avère être un choix fiable pour les piloter avec
Arduino. Pour commencer, il est essentiel de configurer la connexion
matérielle. Vous aurez besoin d’un Arduino Uno, du L293D, d’une source
d’alimentation 12V et du moteur CC que vous souhaitez contrôler.
Câblage

L293D permet de contrôler deux moteurs à courant continu. Connectez les fils
du moteur aux bornes M1 et M2 pour le premier moteur, et M3 et M4 pour le
second. Alimentez le L293D en utilisant la borne “EXT_PWR” avec une source
12V.

Code Arduino
Installez la bibliothèque “AFMotor.h” dans votre environnement Arduino pour
faciliter la programmation. Voici le code :

#include <AFMotor.h> // Inclure la bibliothèque AFMotor

AF_DCMotor moteur(4); // Spécifier le port auquel le moteur


est connecté (1 - 4)

void setup()

moteur.setSpeed(200); // Vitesse de rotation initiale

moteur.run(RELEASE); // Arrêter le moteur

void loop()

uint8_t i; // Créer une variable "i"


moteur.run(FORWARD); // Faire tourner le moteur en avant

for (i = 0; i < 255; i++) // Accélérer le moteur de 0 à 255

moteur.setSpeed(i); // Envoyer la vitesse

delay(10); // Pause

for (i = 255; i != 0; i--) // Ralentir le moteur de 255 à 0

moteur.setSpeed(i); // Envoyer la vitesse

delay(10); // Pause

moteur.run(BACKWARD); // Faire tourner le moteur en arrière

for (i = 0; i < 255; i++) // Accélérer le moteur de 0 à 255

moteur.setSpeed(i); // Envoyer la vitesse

delay(10); // Pause

for (i = 255; i != 0; i--) // Ralentir le moteur de 255 à 0

moteur.setSpeed(i); // Envoyer la vitesse

delay(10); // Pause

}
moteur.run(RELEASE); // Arrêter le moteur

delay(1000); // Pause

Ce code d’exemple démontre comment contrôler la direction du moteur à


courant continu avec le L293D et Arduino. Vous pouvez ajuster la vitesse et
les délais selon vos besoins.

Contrôle de Moteurs Pas à Pas NEMA 17 avec le L293D et Arduino


Les moteurs pas à pas sont essentiels pour de nombreuses applications
nécessitant un contrôle précis de la rotation. Le NEMA 17 est un moteur pas à
pas couramment utilisé. Pour l’utiliser avec le L293D et Arduino, assurez-vous
de connecter correctement le moteur aux broches M3 et M4 du pilote.
Alimentez le L293D avec une source de 12V.

Câblage

Code Arduino
Le code ci-dessous permet de contrôler un moteur pas à pas NEMA 17 :

#include <AFMotor.h> // Inclure la


bibliothèque AFMotor

const int stepsPerRevolution = 200; // Spécifier le nombre


de pas par tour du moteur

AF_Stepper moteur(stepsPerRevolution, 2); // Spécifier que le


moteur est connecté aux ports 2 (M3 - M4)

void setup()

{
moteur.setSpeed(10); // Vitesse du moteur
en tours par minute

void loop() {

moteur.step(100, FORWARD, SINGLE);

moteur.step(100, BACKWARD, SINGLE);

moteur.step(100, FORWARD, DOUBLE);

moteur.step(100, BACKWARD, DOUBLE);

moteur.step(100, FORWARD, INTERLEAVE);

moteur.step(100, BACKWARD, INTERLEAVE);

moteur.step(100, FORWARD, MICROSTEP);

moteur.step(100, BACKWARD, MICROSTEP);

Ce code illustre comment contrôler un moteur pas à pas NEMA 17 en utilisant


le L293D et Arduino. Vous pouvez ajuster le nombre de pas, la direction et la
vitesse en fonction de votre projet.

Contrôle de Servomoteurs SG90S avec le pilote de moteur et Arduino


Les servomoteurs, tels que le SG90S, sont largement utilisés pour le
positionnement précis dans les projets de robotique et d’automatisation. Avec
le L293D et Arduino, vous pouvez facilement contrôler les servomoteurs.
Câblage

Pour commencer, connectez le fil de commande du servomoteur à la broche


10 de l’Arduino. Pas besoin d’une alimentation externe, car le L293D tire son
énergie de l’Arduino. Utilisez la bibliothèque “Servo.h” pour simplifier le
contrôle du servomoteur :

Code Arduino
#include <Servo.h> // Inclure la bibliothèque Servo

Servo myservo; // Créer un objet servo

int pos = 0; // Créer une variable

void setup()

myservo.attach(10); // Spécifier le port auquel le servo est


connecté

void loop()

for(pos = 0; pos <= 180; pos += 1) // Augmenter l'angle de 0 à


180

{
myservo.write(pos); // Envoyer les données

delay(15); // Pause

for(pos = 180; pos >= 0; pos -= 1) // Diminuer l'angle de 180 à


0

myservo.write(pos); // Envoyer les données

delay(15); // Pause

Ce code permet de faire pivoter le servomoteur SG90S de 0 à 180 degrés et


vice-versa, créant ainsi un mouvement de va-et-vient.

Vous aimerez peut-être aussi