mardi 4 mai 2021

Contrôle d'un moteur pas à pas avec un module A4988

Le A4988 est un circuit intégré spécialement conçu pour le contrôle d'un moteur à pas bipolaire. Deux broches suffisent pour contrôler le moteur: une entrée qui provoque la rotation d'un pas, et une autre qui détermine la direction de la rotation.


Le circuit intégré est étonnement petit pour un dispositif capable de tolérer une tension de 35 V et un courant de 2 A. Le module est accompagné d'un petit dissipateur thermique qu'il est conseillé de coller sur le circuit intégré.


Le module comporte 16 broches.

VDD et GND servent à l'alimentation du circuit intégré (3 V à 5,5 V)

Vmot et GND servent à l'alimentation du moteur (8 V à 35 V). Il faut placer un condensateur de 100 µF en parallèle avec l'alimentation pour atténuer les surtensions.

1A, 1B, 2A et 2B sont les sorties vers le bobinage 1 et le bobinage 2 du moteur pas à pas.

Chaque fois que l'entrée STEP passe du niveau logique bas au niveau logique haut, le moteur tourne d'un pas.

Le moteur tourne dans le sens horaire si l'entrée DIRECTION est au niveau logique haut, et dans l'autre sens si elle est au niveau logique bas.

On peut désactiver le module en plaçant l'entrée ENABLE au niveau logique bas. Si vous ne branchez rien à cette entrée, elle demeure par défaut au niveau logique haut.

On peut mettre le module en veille (pour qu'il consomme moins d'énergie) en plaçant son entrée SLEEP au niveau logique bas. Cette entrée est maintenue au niveau logique haut pendant l'utilisation du moteur.

La broche RESET peut être mise brièvement au niveau logique bas pour déclencher une réinitialisation du module (suite à un arrêt pour cause de surchauffe, par exemple). Cette entrée est maintenue au niveau logique haut pendant l'utilisation du moteur.

Les broches MS1, MS2 et MS3 permettent de sélectionner différents degrés de micropas (microstepping). Si vous ne les connectez pas, elles sont, par défaut, au niveau logique bas et le moteur fonctionnera en pas complets. Mais il est possible de régler ces broches de façon à obtenir des demi pas, des quarts de pas, des huitièmes de pas et des seizièmes de pas.

  • Pas complet:   MS1 Bas  - MS2 Bas - MS3 Bas
  • Demi pas: MS1 Haut - MS2 Bas - MS3 Bas
  • Quart de pas: MS1 Bas  - MS2 Haut - MS3 Bas
  • Huitième de pas:   MS1 Haut  - MS2 Haut - MS3 Bas
  • Seizième de pas:   MS1 Haut  - MS2 Haut - MS3 Haut

Connexions du module A4988 à l'Arduino

Voici comment j'ai branché le module A4988 à une carte Arduino Uno pour effectuer quelques tests.


Réglage du courant maximal

Un petit potentiomètre sert à limiter le courant pour éviter qu'un courant trop intense n'endommage le moteur ou le circuit intégré. Vous pouvez mesurer le courant en plaçant le multimètre en série avec un des bobinages du moteur, ou encore mesurer la tension entre le potentiomètre et la masse. Le courant en ampères est approximativement égal à la tension mesurée (en volts) multipliée par 2,5. Cette mesure dépend de la tension à laquelle est soumise l'entrée Vmot, il faut donc refaire ce réglage si vous modifiez l'alimentation du moteur.

Un exemple de sketch

Voici un sketch qui fait tourner le moteur rapidement dans une direction, et lentement dans l'autre. Le programme est très simple: il n'a pas à alterner la direction du courant dans chaque bobinage comme il aurait à le faire pour un L293D, puisque c'est le A4988 qui fait tout le travail.

Le moteur tourne d'un pas chaque fois que le signal de son entrée STEP passe du niveau logique bas au niveau logique haut. Plus ces impulsions sont rapides, plus le moteur tourne rapidement (la vitesse de rotation est contrôlée par des delay() dans le sketch: un délai court correspond à une vitesse rapide).

Le sens de rotation du moteur dépend de l'état logique de la broche DIRECTION.

-

-


Source:

Page du produit chez Pololu.


À lire également:

Bien d'autres façons de faire tourner un moteur pas à pas avec Arduino: en utilisant le L293D,  l'ULN2003, le L9110S, le L298N ou le L6205.   Pilote de moteur pas à pas autonome .


Yves Pelletier (TwitterFacebook)

3 commentaires:

  1. je sais pas comment ils font 1 euro sur ebay !!!
    https://www.ebay.fr/itm/173645775454?var=472322616969
    F1CHF

    RépondreSupprimer
    Réponses
    1. Oui, c'est à peu près ce prix que j'ai payé chez un revendeur canadien.

      Supprimer
  2. quel calcul que vous faites pour réglé le potentiomètre du A4988?

    RépondreSupprimer