ESP8266 - Pilote de moteur pas à pas DRV8825
Dans ce guide, nous allons apprendre à connaître le pilote de moteur pas à pas DRV8825 et comment l'utiliser avec l'ESP8266 pour faire fonctionner le moteur pas à pas. Voici les détails que nous couvrirons :
- Qu'est-ce que le module de pilote de moteur pas à pas DRV8825
- Comment fonctionne le module de pilote de moteur pas à pas DRV8825
- Connecter le pilote de moteur pas à pas DRV8825 à ESP8266 et un moteur pas à pas
- Programmer l'ESP8266 pour gérer un moteur pas à pas avec le module DRV8825
Préparation du matériel
Or you can buy the following sensor kits:
1 | × | DIYables Sensor Kit (30 sensors/displays) | |
1 | × | DIYables Sensor Kit (18 sensors/displays) |
À propos du pilote de moteur pas à pas DRV8825
Le DRV8825 est un module populaire pour la gestion des moteurs pas à pas bipolaires, souvent utilisé dans les machines CNC, les imprimantes 3D et les robots. Il dispose d'un contrôle de courant réglable, d'une protection contre la surchauffe, et offre plusieurs options de micro-pas comme le pas complet, le demi-pas, et des fractions allant jusqu'à 1/32 de pas. Ce module peut gérer jusqu'à 2,2 A pour chaque bobine avec un refroidissement adéquat et fonctionne dans une large gamme de tensions de 8,2 V à 45 V, s'adaptant à différents moteurs pas à pas.
Pour comprendre les concepts de moteurs pas à pas tels que le pas complet, le micropas, le moteur pas à pas unipolaire et bipolaire, consultez le guide ESP8266 - Moteur pas à pas.
Il est incroyable que vous n'ayez besoin que de deux broches ESP8266 pour gérer la vitesse et la direction de déplacement d'un moteur pas à pas bipolaire, comme le NEMA 17.
Brochage du pilote de moteur pas à pas DRV8825
Le pilote de moteur pas à pas DRV8825 dispose de 16 broches. Voici une disposition courante des broches sur le module du pilote de moteur pas à pas DRV8825. Gardez à l'esprit que certaines versions du module peuvent nommer les broches légèrement différemment, mais leurs rôles restent inchangés.
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 ESP8266 |
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 cadran intégré que vous pouvez tourner pour ajuster le contrôle du courant, ce qui aide à empêcher le moteur pas à pas et le pilote de chauffer excessivement.
En bref, ces 16 broches sont regroupées en types selon leur utilisation :
- Fils connectés au moteur pas à pas : 1A, 1B, 2A, 2B.
- Fils connectés à l'ESP8266 pour contrôler le driver : ENABLE, M1, M2, M3, RESET, SLEEP.
- Fils connectés à l'ESP8266 pour contrôler la direction et la vitesse du moteur : DIR, STEP.
- Fil pour envoyer des retours à l'ESP8266 : FAULT.
- Fils connectés à la source d'alimentation du moteur : VMOT, GND (masse de puissance moteur).
- Fil connecté à la masse de l'ESP8266 : GND (masse logique).
L'unité DRV8825 n'a pas besoin d'une source d'alimentation distincte de l'ESP8266, car elle reçoit son alimentation directement de la source d'alimentation du moteur grâce à son régulateur de tension intégré de 3,3 V. Cependant, vous devez connecter la masse de l'ESP8266 à la broche GND (logiciel) du DRV8825 pour vous assurer qu'il fonctionne correctement et que le niveau de masse est le même pour les deux appareils.
Configuration Microstep
Le pilote DRV8825 permet le micro-pas en décomposant chaque pas en parties plus petites. Il fait cela en envoyant différentes quantités de courant aux bobines du moteur.
Par exemple, un moteur NEMA 17 avec un angle de pas de 1,8° (200 pas par tour) :
- Mode plein pas : 200 pas par révolution
- Mode demi-pas : 400 pas par révolution
- Mode quart de pas : 800 pas par révolution
- Mode huitième de pas : 1600 pas par révolution
- Mode seizième de pas : 3200 pas par révolution
- Mode trente-deuxième de pas : 6400 pas par révolution
Lorsque vous augmentez le niveau de micropas, le moteur fonctionne plus doucement et plus précisément, mais il nécessite plus de pas par révolution. Si vous maintenez le même taux d'impulsion de pas, alors chaque révolution durera plus longtemps, ce qui ralentira le moteur.
Si votre microcontrôleur peut envoyer des impulsions suffisamment rapides pour correspondre au nombre de pas supérieur, vous pouvez maintenir ou même augmenter la vitesse. La véritable limite dépend de la rapidité avec laquelle le pilote et votre microcontrôleur peuvent gérer ces impulsions sans manquer de pas.
Broches de sélection de micro-pas DRV8825
Le DRV8825 a trois entrées pour choisir la résolution des micropas appelées les broches M0, M1 et M2. Vous pouvez régler ces broches à certains niveaux logiques pour sélectionner parmi six résolutions de micropas différentes :
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 petites broches de réglage ont des résistances intégrées qui les maintiennent normalement à un état BAS. Si elles ne sont pas connectées, le moteur fonctionnera en mode pas entier.
Comment ça marche
Pour faire fonctionner un moteur pas à pas avec le module DRV8825, vous avez besoin d'au moins deux broches ESP8266 : une pour la broche DIR et une autre pour la broche STEP. Le DRV8825 traite ces signaux provenant de l'ESP8266 pour déplacer avec précision le moteur pas à pas.
- Broche STEP : Chaque signal sur la broche STEP déplace le moteur d'un petit pas ou d'un pas complet, selon vos réglages.
- Broche DIR : Détermine le sens de rotation du moteur.
Le pilote utilise ces signaux et ses réglages pour envoyer des signaux de commande 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 séparés pour que le conducteur utilise les réglages de base.
- Attachez-les directement à GND ou VCC pour définir un mode constant.
- Reliez-les aux broches ESP8266 pour gérer ces fonctions via votre code.
Schéma de câblage entre ESP8266, module DRV8825 et moteur pas à pas
Le schéma ci-dessous montre les connexions de base requises entre l'ESP8266, le module DRV8825 et le moteur pas à pas. Avec cet arrangement, le pilote DRV8825 fonctionne en mode standard (pas complet).
This image is created using Fritzing. Click to enlarge image
Voir plus dans Brochage ESP8266. et Comment alimenter l'ESP8266..
De manière détaillée :
- VMOT : Connecter à la source d'alimentation du moteur, comme 12V.
- GND (pour le moteur) : Brancher à la masse de l'alimentation du moteur.
- 1A, 1B, 2A, 2B : Connecter aux bobines du moteur pas à pas.
- STEP : Connecter à la broche numérique D4 sur l'ESP8266.
- DIR : Connecter à la broche numérique D3 sur l'ESP8266.
- GND (pour la logique) : Connecter à la broche GND sur l'ESP8266.
- Autres broches : Ne pas connecter.
Code ESP8266
Étapes rapides
Pour commencer avec ESP8266 sur Arduino IDE, suivez ces étapes :
- Consultez le Installation du logiciel ESP8266. si c'est votre première utilisation d'ESP8266.
- Connectez les composants comme indiqué dans le schéma.
- Connectez la carte ESP8266 à votre ordinateur à l'aide d'un câble USB.
- Ouvrez Arduino IDE sur votre ordinateur.
- Choisissez la bonne carte ESP8266, telle que (par exemple NodeMCU 1.0 (ESP-12E Module)), et son port COM respectif.
- Copiez le code ci-dessus et ouvrez-le dans le logiciel ESP8266.
- Cliquez sur l'icône Libraries sur le côté gauche de l'interface ESP8266.
- Tapez "AccelStepper" dans la boîte de recherche, et recherchez la bibliothèque AccelStepper de Mike McCauley.
- Appuyez sur le bouton Install pour ajouter la bibliothèque AccelStepper.
- Copiez le code ci-dessus et ouvrez-le dans Arduino IDE
- Cliquez sur le bouton Upload dans Arduino IDE pour envoyer le code à l'ESP8266
- Vous observerez le moteur se déplacer d'avant en arrière
Lorsque vous utilisez le moteur en mode pas à pas complet, son mouvement peut ne pas être très fluide, ce qui est normal. Pour rendre le mouvement plus fluide, activez le micro-pas en configurant les broches M1, M2 et M3.