Le test simple de la rotation d’un moteur pas à pas bipolaire est une procédure relativement simple qui permet de vérifier le bon fonctionnement d’un moteur pas à pas bipolaire. Il est important de procéder à ce test avant de l’utiliser pour une application spécifique, afin de s’assurer que le moteur fonctionne correctement et qu’il est prêt à être utilisé. Ce test peut être effectué à l’aide d’un multimètre et d’un câble de test, et peut être réalisé en quelques minutes. Dans cet article, nous allons examiner en détail la procédure de test simple de la rotation d’un moteur pas à pas bipolaire et expliquer comment elle peut être effectuée.
Test simple de la rotation d’un moteur pas à pas bipolaire
Présentation
Ce programme teste la rotation d’un moteur pas à pas bipolaire connecté sur 4 broches via une interface double driver (ici une carte Dual Driver 1A (basée sur TB6612FNG) – 6 euros environ).
Le programme réalise une rotation complète du moteur dans 1 sens, puis dans l’autre sens.
Voir également la librairie Stepper
Ce programme utilise les fonctionnalités suivantes :
- un moteurs pas à pas
Matériel Nécessaire
L’espace de développement Arduino
- … pour éditer, compiler le programme et programmer la carte Arduino.

Le matériel suivant pour réaliser le montage associé
- une plaque d’essai pour montage sans soudures,

- des straps,

- un moteur pas à pas bipolaire standard (ici 200 pas)

- une interface moteur de puissance double driver (basée sur un ci tb6612) ou équivalent

Disponible ici (6 Euros) : http://www.watterott.com/Motor-Driver-1A-Dual-TB6612FNG_1
Plus d’infos ici : Carte double driver de moteur 1A basé sur le CI tb6612fng
Instructions de montage
- Connecter sur la broche 2 (configurée en sortie) la broche de commande du pas 1 du moteur pas à pas
- Connecter sur la broche 3 (configurée en sortie) la broche de commande du pas 2 du moteur pas à pas
- Connecter sur la broche 4 (configurée en sortie) la broche de commande du pas 3 du moteur pas à pas
- Connecter sur la broche 5 (configurée en sortie) la broche de commande du pas 4 du moteur pas à pas
Le schéma théorique du montage

Le schéma théorique du montage
Le circuit du montage
- Les broches PWM sont inutilisées ici et connectées au +5V : les sorties sont ainsi transparentes aux entrées.
- La broche Standby est également inutilisée et est connectée au +5V.
- Les broches IN1 A et IN2 A commandent la phase A (pas 1 et 3)
- Les broches IN2 B et IN2 B commandent la phase B (pas 2 et 4)

Le schéma du montage à réaliser
Explication du programme
Structure globale du programme
Ce programme simple comprend :
- une entête déclarative
- une partie « configuration » qui ne sera exécutée qu’une fois (fonction setup( ) )
- une partie constituée d’une boucle sans fin que le programme répètera à l’infini ( fonction loop( ) ) : c’est le coeur du programme.
Déroulement du programme
Le programme se déroule de la façon suivante :
- Après avoir pris en compte les instructions de la partie déclarative,
- puis après avoir exécuté la partie configuration ( fonction setup( ) ),
- le programme bouclera sans fin ( fonction loop ( ) ), exécutant de façon répétée le code compris dans la boucle sans fin.

Le déroulement du programme
Au niveau de la partie déclarative :
Inclusion des librairies utilisées
- On inclut les librairies des fonctionnalités utilisées :
- Inclusion de la librairie pour les moteurs pas à pas :
#include <Stepper.h> // librairie pour servomoteur
Déclaration de constantes utiles
- On déclare les constantes utiles dans le programme :
- Déclaration des constantes utiles pour les servomoteurs :
const int NombrePas=200; // Nombre de pas du servomoteur
Déclaration des constantes de broches
- Déclaration des constantes pour les broches utilisées dans le programme :
const int Pas_1=2; //declaration constante de broche const int Pas_2=3; //declaration constante de broche const int Pas_3=4; //declaration constante de broche const int Pas_4=5; //declaration constante de broche
Déclarations des objets utiles pour les fonctionnalités utilisées
- Déclaration des objets utiles pour les fonctionnalités utilisées :
- Déclaration d’un objet moteur pas à pas
Stepper stepper(NombrePas, Pas_1, Pas_2, Pas_3, Pas_4); // crée un objet Stepper pour contrôler le moteur pas à pas
Au niveau de la fonction d’initialisation setup( ) :
Initialisation des fonctionnalités utilisées :
- On initialise les différentes fonctionnalités utilisées :
- Initialisation de la vitesse de rotation moteur pas à pas
// initialise la vitesse de rotation du moteur pas à pas en tour par minute stepper.setSpeed(30);
configuration des broches utilisées :
- Configuration des broches en sortie :
pinMode(Pas_1, OUTPUT); //met la broche en sortie pinMode(Pas_2, OUTPUT); //met la broche en sortie pinMode(Pas_3, OUTPUT); //met la broche en sortie pinMode(Pas_4, OUTPUT); //met la broche en sortie
Au niveau de la boucle principale, la fonction loop ( ) :
- On réalise 2 boucle successives de comptage des pas :
- dans la première boucle, on assure un mouvement d’un pas à chaque passage à l’aide de l’instruction step de la librairie Stepper.
- dans la seconde boucle, on assure un mouvement d’un pas à chaque passage mais en sens inverse
- Une pause de 1 seconde est réalisée entre chaque boucle.
for (int i=1; i<=NombrePas; i++){ // boucle de défilement du nombre de pas stepper.step(1); // un pas en sens positif } delay (1000); for (int i=1; i<=NombrePas; i++){ // boucle de défilement du nombre de pas stepper.step(-1); // un pas en sens négatif } delay (1000);
- Le programme recommence en boucle les instructions de la fonction loop( ).
Se reporter aux commentaires présents dans le programme pour plus de détails.
Mise en oeuvre du programme
Préparation du montage et programmation de la carte Arduino :
- Commencer par réaliser le montage indiqué sur plaque d’expérimentation
- Ensuite, programmer la carte Arduino avec ce programme (en bas de page) selon la procédure habituelle
Fonctionnement
- Le programme réalise une rotation complète du moteur dans 1 sens, puis dans l’autre sens.
Le programme complet en langage Arduino :
A copier/coller directement dans l’éditeur Arduino
// --- Programme Arduino --- // par X. HINAULT - Le 10/03/2010 // www.mon-club-elec.fr // --- Que fait ce programme ? --- /* teste moteur pas à pas bipolaire connecté via interface sur 4 broches*/ // --- Fonctionnalités utilisées --- // Utilise un ou plusieurs moteurs pas à pas // --- Circuit à réaliser --- // Connecter sur la broche 2 (configurée en sortie) la broche de commande du pas 1 du moteur pas à pas // Connecter sur la broche 3 (configurée en sortie) la broche de commande du pas 2 du moteur pas à pas // Connecter sur la broche 4 (configurée en sortie) la broche de commande du pas 3 du moteur pas à pas // Connecter sur la broche 5 (configurée en sortie) la broche de commande du pas 4 du moteur pas à pas //**************** Entête déclarative ******* // A ce niveau sont déclarées les librairies, les constantes, les variables... // --- Inclusion des librairies utilisées --- #include <Stepper.h> // librairie pour moteurs pas à pas // --- Déclaration des constantes --- const int NombrePas=200; // Nombre de pas du servomoteur // --- constantes des broches --- const int Pas_1=2; //declaration constante de broche const int Pas_2=3; //declaration constante de broche const int Pas_3=4; //declaration constante de broche const int Pas_4=5; //declaration constante de broche // --- Déclaration des variables globales --- // --- Déclaration des objets utiles pour les fonctionnalités utilisées --- Stepper stepper(NombrePas, Pas_1, Pas_3, Pas_2, Pas_4); // crée un objet Stepper pour contrôler le moteur pas à pas // Pas_1 et Pas_3 commandent la 1ère phase, Pas_2 et Pas_4 la 2ème phase //**************** FONCTION SETUP = Code d'initialisation ***** // La fonction setup() est exécutée en premier et 1 seule fois, au démarrage du programme void setup() { // debut de la fonction setup() // --- ici instructions à exécuter au démarrage --- // initialise la vitesse de rotation du moteur pas à pas en tour par minute stepper.setSpeed(200); // ------- Broches en sortie ------- pinMode(Pas_1, OUTPUT); //met la broche en sortie pinMode(Pas_2, OUTPUT); //met la broche en sortie pinMode(Pas_3, OUTPUT); //met la broche en sortie pinMode(Pas_4, OUTPUT); //met la broche en sortie // ------- Broches en entrée ------- // ------- Activation du rappel au + interne des broches en entrée si nécessaire ------- } // fin de la fonction setup() // ******************************************************************************** //*************** FONCTION LOOP = Boucle sans fin = coeur du programme ************* // la fonction loop() s'exécute sans fin en boucle aussi longtemps que l'Arduino est sous tension void loop(){ // debut de la fonction loop() // --- ici instructions à exécuter par le programme principal --- for (int i=1; i<=NombrePas; i++){ // boucle de défilement du nombre de pas stepper.step(1); // un pas en sens positif } delay (1000); for (int i=1; i<=NombrePas; i++){ // boucle de défilement du nombre de pas stepper.step(-1); // un pas en sens négatif } delay (1000); } // fin de la fonction loop() - le programme recommence au début de la fonction loop sans fin // ******************************************************************************** //*************** Autres Fonctions du programme ************* // --- Fin programme --- // ----- mémo moteur pas à pas --- // stepper.step(valeur); // fait tourner le moteur du nombre pas indiqués - sens + et - // Stepper stepper(Nombre_Pas, Pas1, Pas2, Pas3, Pas4); // crée un objet Stepper // stepper.setSpeed(30); // fixe la vitesse de rotation du moteur en nombre de tours par minute //
Articles similaires:
- Contrôle du sens de rotation d’un moteur CC (courant continu) à l’aide d’un bouton poussoir
- Contrôle du sens et de la vitesse de rotation d’un moteur CC (courant continu) à l’aide d’un bouton poussoir et d’une résistance variable
- Commande d’un moteur pas à pas bipolaire à l’aide d’un clavier et LCD.
- Test simple de la commande d’un moteur CC à l’aide du shield DFRduino Motor Driver 1A
- Test simple des moteurs CC du EeePC-Bot
Articles Liés
- Test simple de la rotation de 2 servomoteurs à rotation continue.
Les servomoteurs à rotation continue sont des moteurs qui peuvent être utilisés pour contrôler la…
- Commande d'un moteur pas à pas bipolaire à l'aide d'un clavier et LCD.
Les moteurs pas à pas bipolaires sont des moteurs électriques qui peuvent être utilisés pour…
- Contrôle du sens de rotation d'un moteur CC (courant continu) à l'aide d'un bouton poussoir
Le contrôle du sens de rotation d'un moteur CC (courant continu) est une tâche importante…