Arduino - Pilote de moteur pas à pas DRV8825

Dans ce tutoriel, nous allons apprendre à connaître le pilote de moteur pas à pas DRV8825 et comment l'utiliser avec un Arduino pour contrôler le moteur pas à pas. En détail, nous allons apprendre :

Module Arduino DRV8825

Préparation du matériel

1×Arduino Uno
1×USB 2.0 cable type A/B (for USB-A PC)
1×USB 2.0 cable type C/B (for USB-C PC)
1×Stepper Motor Nema 17
1×DRV8825 Stepper Motor Driver
1×Expansion Board for DRV8825 Motor Driver
1×12V Power Adapter
1×DC Power Jack
1×Jumper Wires
1×(Recommended) Screw Terminal Block Shield for Arduino Uno
1×(Recommended) Breadboard Shield For Arduino Uno
1×(Recommended) Enclosure For Arduino Uno

Or you can buy the following sensor kits:

1×DIYables Sensor Kit (30 sensors/displays)
1×DIYables Sensor Kit (18 sensors/displays)
Divulgation : Certains des liens fournis dans cette section sont des liens affiliés Amazon. Nous pouvons recevoir une commission pour tout achat effectué via ces liens, sans coût supplémentaire pour vous. Nous vous remercions de votre soutien.

À propos du pilote de moteur pas à pas DRV8825

Le DRV8825 est un module de pilote de moteur pas à pas largement utilisé pour contrôler les moteurs pas à pas bipolaires dans des applications telles que les machines CNC, les imprimantes 3D et la robotique. Il dispose d'une limite de courant réglable, d'une protection contre la surchauffe et de six options de micro-pas, y compris le pas complet, 1/2, 1/4, 1/8, 1/16 et 1/32. Le module peut gérer jusqu'à 2,2A par bobine avec un refroidissement approprié et fonctionne à une large gamme de tensions de 8,2V à 45V, ce qui le rend adapté à une variété de moteurs pas à pas.

Pour en savoir plus sur le concept du moteur pas à pas comme : pas complet, micropas, moteur pas à pas unipolaire et moteur pas à pas bipolaire, consultez le tutoriel Arduino - Contrôle d'un moteur pas à pas avec le pilote L298N..

Il est impressionnant que le contrôle de la vitesse et de la direction d'un moteur pas à pas bipolaire, tel que le NEMA 17, ne nécessite que deux broches d'Arduino.

Schéma de broches du pilote de moteur pas à pas DRV8825

Brochage du module DRV8825

Le pilote de moteur pas à pas DRV8825 a 16 broches. Ci-dessous se trouve un brochage typique pour le module de pilote de moteur pas à pas DRV8825. Notez que certaines variations du module peuvent étiqueter les broches légèrement différemment, mais la fonctionnalité reste la même.

Pin Name Description
VMOT Motor power supply (8.2 V to 45 V). This powers the stepper motor.
GND (for Motor) Ground reference for the motor power supply. Connect this pin to the GND of the motor power supply
2B, 2A Outputs to Coil B of the stepper motor.
1A, 1B Outputs to Coil A of the stepper motor.
FAULT Fault Detection Pin. This is an output pin that drives LOW whenever the H-bridge FETs are disabled as the result of over-current protection or thermal shutdown.
GND (for Logic) Ground reference for the logic signals. Connect this pin to the GND of Arduino
ENABLE Active-Low pin to enable/disable the motor outputs. LOW = Enabled, HIGH = Disabled.
M1, M2, M3 Microstepping resolution selector pins (see table below).
RESET Active-Low reset pin - pulling this pin LOW resets the driver.
SLEEP Active-Low sleep pin - pulling this pin LOW puts the driver into low-power sleep mode.
STEP Step input - a rising edge on this pin advances the motor by one step (or one microstep, depending on microstepping setting).
DIR Direction input - sets the rotation direction of the stepper motor.

De plus, il y a un petit potentiomètre intégré que vous pouvez ajuster pour régler la limitation de courant, ce qui aide à éviter la surchauffe du moteur pas à pas et du pilote.

En résumé, ces 16 broches sont organisées dans les catégories suivantes en fonction de leur fonctionnalité :

  • Broches connectées au moteur pas à pas : 1A, 1B, 2A, 2B.
  • Broches connectées à Arduino pour le contrôle du pilote : ENABLE, M1, M2, M3, RESET, SLEEP.
  • Broches connectées à Arduino pour le contrôle de la direction et de la vitesse du moteur : DIR, STEP.
  • Broche pour rétroaction à Arduino : FAULT.
  • Broches connectées à l'alimentation électrique du moteur : VMOT, GND (masse de l'alimentation du moteur).
  • Broche connectée à la masse Arduino : GND (masse logique).

Le module DRV8825 ne nécessite pas d'alimentation logique de la carte Arduino, car il tire son alimentation de l'alimentation du moteur en utilisant son régulateur de tension interne de 3,3V. Cependant, il est essentiel de connecter la masse de l'Arduino à la broche GND (logique) du module DRV8825 pour assurer un bon fonctionnement et une référence de masse commune.

Configuration Microstep

Le pilote DRV8825 permet le micro-pas en divisant chaque pas en incréments plus petits. Cela est réalisé en appliquant des niveaux de courant intermédiaires aux bobines du moteur.

Par exemple, moteur NEMA 17 avec un angle de pas de 1,8° (200 pas par révolution) :

  • Mode pas complet (1/1) : 200 pas par révolution
  • Mode 1/2 pas : 400 pas par révolution
  • Mode 1/4 pas : 800 pas par révolution
  • Mode 1/8 pas : 1600 pas par révolution
  • Mode 1/16 pas : 3200 pas par révolution
  • Mode 1/32 pas : 6400 pas par révolution

En augmentant le niveau de micro-pas, le moteur se déplace plus doucement et précisément, mais au prix de pas supplémentaires nécessaires par révolution. Si vous continuez à utiliser le même taux d'impulsions de pas (impulsions par seconde), chaque révolution prendra plus de temps, ralentissant effectivement le moteur.

Cependant, si votre microcontrôleur peut émettre des impulsions assez rapidement pour correspondre au nombre de pas plus élevé, vous pouvez maintenir ou même augmenter la vitesse. La limite pratique dépend de la rapidité avec laquelle le pilote et votre microcontrôleur peuvent traiter ces impulsions sans perdre de pas.

Broches de sélection des micro-pas DRV8825

Le DRV8825 dispose de trois entrées de sélection de résolution de micro-pas : les broches M0, M1 et M2. En configurant ces broches avec des niveaux logiques spécifiques, vous pouvez choisir parmi six résolutions de micro-pas :

M0 Pin M1 Pi M2 Pi Microstep Resolution
Low Low Low Full step
High Low Low Half step
Low High Low 1/4 step
High High Low 1/8 step
Low Low High 1/16 step
High Low High 1/32 step
Low High High 1/32 step
High High High 1/32 step

Ces broches de sélection de micropas sont équipées de résistances de pull-down intégrées qui les maintiennent dans un état BAS par défaut. Si elles ne sont pas connectées, le moteur fonctionnera en mode pas entier.

Comment ça marche

Pour contrôler un moteur pas à pas à l'aide du module DRV8825, vous avez besoin d'au moins deux broches Arduino : une pour la broche DIR et une pour la broche STEP. Le DRV8825 interprète ces signaux provenant de l'Arduino pour déplacer le moteur pas à pas avec précision.

  • Broche STEP : Chaque impulsion sur la broche STEP fait avancer le moteur d'un micro-pas (ou d'un pas complet, selon votre configuration de micro-pas).
  • Broche DIR : Détermine le sens de rotation du moteur.

Le conducteur utilise ensuite ces signaux, ainsi que ses propres réglages, pour envoyer des sorties de contrôle au moteur via les broches 1A, 1B, 2A, et 2B.

Vous pouvez également configurer des broches supplémentaires sur le module DRV8825 (ENABLE, M1, M2, M3, RESET, SLEEP) de l'une des trois manières suivantes :

  • Laissez-les déconnectés pour permettre au pilote de fonctionner avec les paramètres par défaut.
  • Connectez-les directement à GND ou VCC pour un mode de fonctionnement fixe.
  • Connectez-les aux broches Arduino afin de pouvoir contrôler ces fonctionnalités dynamiquement dans votre code.

Schéma de câblage entre Arduino, module DRV8825 et moteur pas à pas.

Le schéma de câblage suivant montre les connexions minimales nécessaires entre l'Arduino, le module DRV8825 et le moteur pas à pas. Avec cette configuration, le pilote DRV8825 fonctionne en mode par défaut (pas complet).

Diagramme de câblage du pilote de moteur pas à pas Arduino DRV8825

This image is created using Fritzing. Click to enlarge image

En détail :

  • VMOT : Connectez à l'alimentation du moteur (par exemple, 12V).
  • GND (pour le moteur) : Connectez à la masse de l'alimentation du moteur.
  • 1A, 1B, 2A, 2B : Connectez aux bobines du moteur pas à pas.
  • STEP : Connectez à la broche numérique D4 de l'Arduino.
  • DIR : Connectez à la broche numérique D3 de l'Arduino.
  • GND (pour la logique) : Connectez à la broche GND de l'Arduino.
  • Autres broches : laissées non connectées.

Code Arduino

/* * Ce code Arduino a été développé par newbiely.fr * Ce code Arduino est mis à disposition du public sans aucune restriction. * Pour des instructions complètes et des schémas de câblage, veuillez visiter: * https://newbiely.fr/tutorials/arduino/arduino-drv8825-stepper-motor-driver */ // Include the AccelStepper Library #include <AccelStepper.h> // Define pin connections #define DIR_PIN 3 #define STEP_PIN 4 // Creates an instance AccelStepper stepper(AccelStepper::DRIVER, STEP_PIN, DIR_PIN); void setup() { // set the maximum speed, acceleration factor, // initial speed and the target position stepper.setMaxSpeed(1000); stepper.setAcceleration(200); stepper.setSpeed(200); stepper.moveTo(200); } void loop() { // Change direction once the motor reaches target position if (stepper.distanceToGo() == 0) stepper.moveTo(-stepper.currentPosition()); stepper.run(); // Move the motor one step }

Étapes rapides

  • Copiez le code ci-dessus et ouvrez-le avec l'IDE Arduino.
  • Naviguez jusqu'à l'icône Libraries sur la barre de gauche de l'IDE Arduino.
  • Recherchez “AccelStepper”, puis trouvez la bibliothèque AccelStepper par Mike McCauley.
  • Cliquez sur le bouton Install pour installer la bibliothèque AccelStepper.
Bibliothèque Arduino AccelStepper
  • Copiez le code ci-dessus et ouvrez-le avec l'IDE Arduino
  • Cliquez sur le bouton Upload dans l'IDE Arduino pour téléverser le code sur Arduino
  • Vous verrez le moteur tourner en avant et en arrière

Remarque : Lorsque le moteur fonctionne en mode pas complet, son mouvement peut ne pas être très fluide, ce qui est normal. Pour un mouvement plus fluide, activez le micro-pas en configurant les broches M1, M2 et M3.

Vidéo

※ OUR MESSAGES

  • Please feel free to share the link of this tutorial. However, Please do not use our content on any other websites. We invested a lot of effort and time to create the content, please respect our work!