Skip to content

Utiliser un moteur pas à pas avec Arduino

Vidéo tuto



Bonjour et bienvenu dans ce tuto où on va voir comment utiliser un moteur pas à pas avec la carte Arduino UNO, je vais utiliser le moteur “28byj-48” avec un pilote (Driver) ULN2003, le choix du moteur et le pilote est due de leurs popularités dans la communauté d’Arduino, on va donc voir comment les câbler et voir aussi quelques fonctions basiques afin que vous pouvez les intégrer facilement dans vos projets.

Les moteurs pas-à-pas sont disponibles sous différents formats, ci-dessous sont les plus populaires, l’un qu’on peut reconnaitre dans les imprimantes 3D, l’autres dans les projets électroniques amateurs/hobbysites.

Moteur pas-à-pas bipolaire
Moteur pas-à-pas unipolaire

Les moteurs pas à pas sont utilisés dans les applications où on souhaite contrôler la vitesses de rotation ainsi que la position avec précision, notamment des applications d’indexation ou positionnement.

Il y a plusieurs classifications de moteurs pas-à-pas: unipolaire/bipolaire, à aimant permanent/réluctance variable, nombre de pas par tour, réduction…. Veuillez lire ce document pour plus d’info (anglais).

Le moteur “28byj-48” est un moteur unipolaire, qui a une tension nominale de 5V, avec un nombre de pas par tour de 32, mais avec le réducteur à l’intérieur de 1/64, on aura 32*64 = 2048 pas . Vous pouvez trouver d’autres information dans la fiche technique du moteur.

Dans notre tuto on va utiliser le moteur avec un pilote ULN2003, le pilote sert à contrôler les bobines du moteur afin de réaliser un mouvement angulaire d’une vitesse et position précises.




Il y  a plusieurs versions du pilote ULN2008, j’ai utilisé celle-là:

Pilote ULN2008

 

N.B:

  • Le moteur pas-à-pas peut faire une rotation dans les deux sens.
  • Peut faire une rotation continue, contrairement à quelque servo-moteurs populaires qui sont limités à un angle de 180° ou 360° non continue
  • Le moteur pas-à-pas est souvent utilisé en boucle ouverte, ça veut dire qu’on positionne le moteur sans mesurer le résultat, par contre le servomoteur envoi une valeur de la position au contrôleur.

Schémas de câblage

Schéma 1:

Moteur pas-à-pas avec pilote ULN2008 et Arduino

Le schéma de câblage est simple:

  • Pour brancher le moteur au pilote il y a un connecteur qui peut être branché d’un seule façon.
  • Le pilote a 4 broches de contrôle : In1 à In4 sont branchés avec les broches (6-9-10-11)
  • Dans le schéma ci-dessus j’ai alimenté le pilote par la carte Arduino elle-même, mais il est préférable d’utiliser une alimentation externe, juste assurez-vous de brancher la masse avec celle d’Arduino



Schéma 2: Ajout des boutons poussoirs

Les boutons sont branchés avec la masse, j’utilise les pull-up internes de l’Arduino.

Moteur pas-à-pas avec pilote ULN2008 et Arduino + deux boutons poussoirs

 

Schéma 3: Ajout du potentiomètre pour contrôler la vitesse

Le potentiomètre contrôle la vitesse et non le mouvement, ce dernier et toujours contrôlé par les boutons poussoirs.

Librairie

Une librairie est nécessaire pour le fonctionnement du pilote: “Stepper” qui est déjà installé, sinon vous pouvez l’installer depuis l’IDE de l’Arduino.

Codes

Vous pouvez copier les codes ci-dessous ou bien les télécharger ici.

Code 1: Test de rotation angulaire avec pas précis

 

Code 2: Utilisation des boutons poussoirs

 



Code 3: Contrôle de la vitesse par le potentiomètre

 



Yassine View All

Automation and Electrical Engineer, Electronics amateur trying to share my little projects.

Leave a Reply

Discover more from SURTR TECHNOLOGY

Subscribe now to keep reading and get access to the full archive.

Continue reading