Archives

Arduino et moteurs pas à pas : Découverte de la bibliothèque AccelStepper

.

Dans ce tutoriel, nous présentons comment contrôler un moteur pas à pas à l’aide des drivers TB6600, DM542 ou DM860, en association avec une carte Arduino, en mettant en avant quelques fonctions spécifiques de la librairie AccelStepper. Grâce à cette dernière, notre code permet à l’utilisateur d’ajuster la vitesse du moteur via un potentiomètre, de démarrer ou arrêter le moteur via des boutons, et d’obtenir des retours visuels grâce à deux LEDs, illustrant l’état de fonctionnement du moteur et sa phase d’accélération.

Découverte et utilité de la librairie AccelStepper :

La librairie AccelStepper dépasse la simple commande d’un moteur pas à pas. Elle propose une gamme étendue de fonctionnalités, mais ce tutoriel n’en aborde certaines que superficiellement. Par exemple, cette librairie autorise un contrôle précis de l’accélération, elle gère minutieusement les mouvements et elle est compatible avec de nombreux pilotes de moteurs. Nous démontrons dans ce tutoriel comment utiliser AccelStepper pour simplifier et enrichir le pilotage d’un moteur pas à pas, en modifiant sa vitesse selon la position d’un potentiomètre ou en lançant une série de mouvements avec une seule commande.

Pour aller plus loin dans la découverte de cette librairie et explorer ses nombreuses autres fonctionnalités, nous vous recommandons vivement de consulter notre chaîne YouTube. Vous y trouverez une multitude de tutoriels et d’applications diverses centrées sur la librairie AccelStepper, vous offrant une compréhension approfondie et des idées pour vos futurs projets.

Bonus : Sur cette page, vous avez également la possibilité de télécharger directement le code présenté dans ce tutoriel. N’hésitez pas à le récupérer pour vous familiariser avec sa structure et ses commandes.

Ces fonctions sont les principales méthodes de la bibliothèque AccelStepper utilisées dans notre code pour contrôler le moteur pas à pas.

  • AccelStepper::DRIVER: Il s’agit d’un mode de fonctionnement pour le pilote du moteur pas à pas. Cela indique à la bibliothèque qu’on utilise un pilote externe (comme le TB6600) pour contrôler le moteur, et qu’on ne fait que lui fournir des signaux de step et de direction.

  • stepper(AccelStepper::DRIVER, pinPULS, pinDIR) : Ceci est le constructeur de la classe AccelStepper qui initialise un nouvel objet pour contrôler un moteur pas à pas. Ici, on lui indique le mode de fonctionnement et les pins pour les signaux de step et de direction.

  • stepper.setMaxSpeed(speed) : Cette fonction définit la vitesse maximale à laquelle le moteur peut tourner.
  • stepper.setAcceleration(50) : Cette fonction définit la valeur d’accélération pour le moteur.
  • stepper.moveTo(stepper.currentPosition() + 1000000) : Cette fonction demande au moteur de se déplacer vers une position donnée. Ici, il est demandé au moteur de se déplacer d’un grand nombre de pas depuis sa position actuelle.
  • stepper.setCurrentPosition(0) : Cette fonction réinitialise la position actuelle du moteur à une valeur donnée, dans ce cas, zéro.
  • stepper.stop() : Cette fonction arrête immédiatement le moteur.
  • stepper.run() : Cette fonction doit être appelée régulièrement pour faire tourner le moteur. Elle prend en compte la vitesse, l’accélération, et la position cible pour déterminer les étapes à effectuer.

 

Facebook Twitter Youtube

Grabcad Thingiverse Cults