Différences entre versions de « DRV8825 »

De MCHobby - Wiki
Sauter à la navigation Sauter à la recherche
Ligne 90 : Ligne 90 :
  
  
[[Fichier:STEPSTK-DRV8825-nSleep.jpg]]<br /><small>Schematic of nSLEEP and nFAULT pins on DRV8824/DRV8825/DRV8834 carriers.</small>
+
[[Fichier:STEPSTK-DRV8825-nSleep.jpg]]<br /><small>Schema des broches nSLEEP et nFAULT sur les pilotes DRV8824/DRV8825/DRV8834.</small>
  
 
Le DRV8825 dispose également d'une option "FAULT", broche qui passe à l'état bas lorsque les FET du pont-H sont désactivés suite à l'activation de la protection sur-courant ou sur-chauffe. La carte du DRV8825 connecte cette broche sur la broche SLEEP par l'intermédiaire d'une résistance de 10k. La résistance de 10K agit comme une résistance pull-up pour Fault (lorsque la brochhe SLEEP est maintenue au niveau Haut de façon externe; par conséquent, pas besoin de résistance pull-up sur la broche FAULT).  
 
Le DRV8825 dispose également d'une option "FAULT", broche qui passe à l'état bas lorsque les FET du pont-H sont désactivés suite à l'activation de la protection sur-courant ou sur-chauffe. La carte du DRV8825 connecte cette broche sur la broche SLEEP par l'intermédiaire d'une résistance de 10k. La résistance de 10K agit comme une résistance pull-up pour Fault (lorsque la brochhe SLEEP est maintenue au niveau Haut de façon externe; par conséquent, pas besoin de résistance pull-up sur la broche FAULT).  
  
Note that the carrier includes a 1.5k protection resistor in series with the FAULT pin that makes it is safe to connect this pin directly to a logic voltage supply, as might happen if you use this board in a system designed for the pin-compatible A4988 carrier. In such a system, the 10k resistor between SLEEP and FAULT would then act as a pull-up for SLEEP, making the DRV8825 carrier more of a direct replacement for the A4988 in such systems (the A4988 has an internal pull-up on its SLEEP pin). To keep faults from pulling down the SLEEP pin, any external pull-up resistor you add to the SLEEP pin input should not exceed 4.7k.
+
Note: la carte inclus également une résistance de protection de 1.5k en série sur la broche FAULT pin that makes it is safe to connect this pin directly to a logic voltage supply, as might happen if you use this board in a system designed for the pin-compatible A4988 carrier. In such a system, the 10k resistor between SLEEP and FAULT would then act as a pull-up for SLEEP, making the DRV8825 carrier more of a direct replacement for the A4988 in such systems (the A4988 has an internal pull-up on its SLEEP pin). To keep faults from pulling down the SLEEP pin, any external pull-up resistor you add to the SLEEP pin input should not exceed 4.7k.
  
 
== Limitation de courant ==
 
== Limitation de courant ==

Version du 30 juin 2014 à 10:26


MCHobby investit du temps et de l'argent dans la réalisation de traduction et/ou documentation. C'est un travail long et fastidieux réalisé dans l'esprit Open-Source... donc gratuit et librement accessible.
SI vous aimez nos traductions et documentations ALORS aidez nous à en produire plus en achetant vos produits chez MCHobby.

Présentation

DRV8825.jpg

Ce breakout de contrôle moteur pas-à-pas DRV8825 est basé sur le DRV8825 de Texas Instrument pouvant piloter un moteur pas-à-pas en micro-stepping (micro pas). Le module dispose d'un brochage et interface presque identique à notre contrôleur de moteur pas-à-pas A4988. Il peut donc être directement utiliser en replacement sur les différentes cartes d'interface avec ce modèle haute performance.

Le DRV8825 intègre un limiteur de courant actif et réglable. Vous disposez également d'une protection contre les surcourant, la surchauffe avec 6 résolutions de micro-stepping (jusqu'au 1/32 de pas). Il fonctionne entre 8.2 et 45 V et sais délivrer apprimativement 1.5 A par phase sans refroidissement (par refroidisseur ou air forcé - conçu pour 2.2A par bobine en utilisant un système de refroidissement efficace/adéquat).

Nous recommandons de lire attentivement la fiche technique du DRV8825 (1Mb pdf) et notre tutoriel avant d'utiliser le produit. Ce pilote est capable de contrôler un moteur pas-à-pas bipolaire avec un courant allant jusqu'a 2.2 Amp par bobine (voyez la section dévolue à la Dissipation de Chaleur pour plus d'information).

Détails techniques

Voici quelque-unes des caractéristiques clés:

  • Interface de contrôle super-simple pour les pas et de la direction.
  • 6 résolutions de pas: Pas complet (full-step), demi-pas, 1/4 de pas, 1/8 de pas, 1/16 de pas et 1/32 de pas
  • Contrôle du courant ajustable vous permettant de fixer le courant maximum pouvant passer dans les bobine. Le réglage se fait à l'aide d'un potentiomètre. Vous pouvez donc utiliser votre moteur pas-à-pas avec une tension plus élevée... vous permettant ainsi d'atteindre des vitesses plus élevées.
  • Electronique de contrôle de "coupure" intelligent sélectionnant automatiquement le mode de décroissance du courant (décroissance rapide ou lente)
  • Intelligent chopping control that automatically selects the correct current decay mode
  • Tension d'alimentation max: 45 V
  • Régulateur de tension intégré (donc pas besoin d'une tension externe pour alimenter la logique de contrôle).
  • Peut s'interfacer directement avec des systèmes 3.3 V et 5 V
  • Coupure automatique en cas de surchauffe. Coupure en cas de surcourant.
  • Blocage en sous-tension (pour éviter les fonctionnements erratiques/imprévisibles de l'électronique de commande)
  • Protection de retour à la masse (short-to-ground) et de court-circuit de la charge (shorted-load).
  • Carte 4 couches utilisant plus de cuivre pour améliorer la dissipation de chaleur.
  • Pastille de masse soudable exposé sous le circuit intégré (sur la surface inférieure de la carte)
  • La taille du module, le brochage et l'interface correspond au StepStick A4988 sous de nombreux aspects (voyez le tutoriel pour plus d'information)
  • Fiche technique du DRV8825

Brochage

DRV8825-PINOUT.jpg

  • Enable: Logique Inversée, permet d'activer ou désactivé le moteur. Etat Haut=High=Moteur actif... et axe bloqué entre les pas. Etat bas=Low=Axe totalement libre
  • M0, M1, M2: permet de sélectionner la configuration Step/MicroStep. Ces broches disposent de résistances Pull-Down ramenant le potentiel à 0v lorsque rien n'est connecté sur ces broches. Voir la section ci-dessous pour plus d'information.
  • Reset: Logique inversée. Permet de faire une réinitialisation du module. Généralement connecté sur la broche "sleep", voir le schéma ci-dessous.
  • Sleep: Logique inversée. Généralement connecté sur la broche "Reset" du module.
  • Step: Envoyer un signal d'horloge (Niveau Haut puis Niveau bas, High puis Low) pour avancer le moteur d'un pas.
  • DIR: Permet d'indiquer la direction de rotation du moteur. Etat Haut=High pour tourner dans un sens, Etat bas=Low pour tourner dans l'autre sens.
  • VMot: Tension d'alimentation pour les moteurs pas à pas. Tension entre 8.2 et 45v.
  • GND: Sous "VMOT", masse pour l'alimentation moteur.
  • A1 A2: Première bobine du moteur pas à pas bipolaire (voir exemple ci-dessous)
  • B1 B2: Deuxième bobine du moteur pas à pas bipolaire (voir exemple ci-dessous)

Alimentation de la logique de contrôle::

STEPSTK-DRV8825-WIRE 00.png
Câblage minimal pour connecter un microcontroleur. Version alternative, compatibilité avec le pilote A4988

  • Fault: Logique inversée. Branchez une tension entre 2.5 et 5.25v, celle qui alimente votre microcontrôleur.
  • GND: sous FAULT. Masse commune avec votre microcontrôleur.

Brancher le DRV8825

Voici le diagramme de raccordement minimal (cfr Pololu) pour connecter le contrôleur de moteur pas-à-pas DRV8825/DRV8824 sur un microcontrôleur (en mode full-step/pas complet)

STEPSTK-DRV8825-WIRE 01.png

Connecter l'Alimentation

Le pilote nécessite une tension d'alimentation moteur entre 8.2 et 45 V devant être connecté entre VMOT et GND. Cette alimentation devrait idéalement disposer de capacités de découplahe appropriés près de la carte et doit être capable de délivrer le courant nécessaire au fonctionnement du moteur pas-à-pas.

Connecter le moteur

Vous pouvez piloter des moteurs pas-à-pas à 4, 6 et 8 fils avec le DRV8825 si vous les branchez correctement; La Foire Aux Questions (FAQ) de Pololu explique comment réaliser ce montage en détail.

Step et micro-Stepping

Les moteurs pas-à-pas documentent la taille du pas dans leur spécification (ex: 1.8° ou 200 pas par révolution), ce qui représente un pas complet. Il vous faudra donc 200 pas complet pour effectuer une rotation de l'axe.


Un pilote micro-Stepping (Micro Pas) tel que le DRV8825 permet d'atteindre une résolution plus élevée en autorisant le positionnement de l'axe sur plusieurs positions intermédiaires entre deux pas complet. Cela est rendu possible en contrôlant la puissance dans les bobinage du moteur avec plusieurs niveau de courant différent. A titre d'exemple, si vous pilotez un moteur 200 pas par révolution en 1/4 de pas, vous obtiendrez au final un moteur disposant de 800 micro-pas par révolution (le DRV8825 utilisera 4 niveaux de courant intermédiaire pour contrôler la position des micro-pas).


Les broches de sélection de la résolution (de la taille des pas) sont les entrées M0, M1 et M2 (MODE0, MODE1 et MODE2). Ces broches permettent de choisir une résolution de micro-stepping parmi les 6 disponibles (voir la table ci-dessous). Les 3 entrées disposent d'une résistance pull-down interne de 100kΩ par conséquent, si vous ne brancher pas ces 3 broches, elles sont toutes les 3 au niveau bas et le DRV8825 fonctionnera en mode full-step (pas complet).

Pour que le micro-stepping puisse fonctionner correctement, vous devez suffisamment limiter le courant (suffisamment bas) de façon à ce que le contrôle de limitation de courant puisse fonctionner correctement... sinon les niveaux de courants intermédiaires ne pourrons pas être maintenu et le moteur sautera des micro-step.

STEPSTK-DRV8825-StepResolution.jpg
High est un signal haut (entre 2.5 et 5.25v) et Low un signal bas (0v)

Contrôle des entrées

Chaque impulsion sur l'entrée STEP correspond à un micro-pas du moteur dans la direction sélectionnée avec l'entrée DIR. Ces deux entrées disposent d'une résistance Pull-down interne de 100kΩ (sauf signal appliqué sur la broche, une résistance pull-down ramène toujours le potentiel au niveau bas). Si vous avez uniquement besoin de tourner dans un seul sans, vous pouvez laisser la broche DIR déconnectée.


Cette puce dispose de 3 entrées différentes pour contrôler ses états de puissance: RESET, SLEEP et ENBL (enable). Voyez la fiche technique pour plus de détails à propos de ces états de puissance (cherchez "power states"). Notez que le pilote tire le potentiel de la broche SLEEP au niveau bas à l'aide d'une résistance pull-down de 1MΩ et qu'il tire aussi le potentiel des broches RESET et ENBL au niveau bas via une résistance interne de 100kΩ (pull-down). Cet état par défaut des broches RESET et SLEEP empêche le pilote de fonctionner (pratique lors de la mise sous tension ;-) ); Ces deux broches doivent être au niveau haut (high) pour activer le pilote (elle peuvent être connectée directement au niveau logique haut via une tension située entre 2.2 et 5.25 V. Elles peuvent également être contrôler dynamiquement en utilisant des sorties digitales de votre microcontrôleur.

L'état par défaut de la broche ENBL active le pilote. Cette broche peut donc rester déconnectée. Vous pouvez également la brancher sur une sortie de votre microcontrôleur pour activer/désactiver dynamiquement le moteur. Placez la broche au niveau logique HAUT pour désactiver le contrôle moteur.


STEPSTK-DRV8825-nSleep.jpg
Schema des broches nSLEEP et nFAULT sur les pilotes DRV8824/DRV8825/DRV8834.

Le DRV8825 dispose également d'une option "FAULT", broche qui passe à l'état bas lorsque les FET du pont-H sont désactivés suite à l'activation de la protection sur-courant ou sur-chauffe. La carte du DRV8825 connecte cette broche sur la broche SLEEP par l'intermédiaire d'une résistance de 10k. La résistance de 10K agit comme une résistance pull-up pour Fault (lorsque la brochhe SLEEP est maintenue au niveau Haut de façon externe; par conséquent, pas besoin de résistance pull-up sur la broche FAULT).

Note: la carte inclus également une résistance de protection de 1.5k en série sur la broche FAULT pin that makes it is safe to connect this pin directly to a logic voltage supply, as might happen if you use this board in a system designed for the pin-compatible A4988 carrier. In such a system, the 10k resistor between SLEEP and FAULT would then act as a pull-up for SLEEP, making the DRV8825 carrier more of a direct replacement for the A4988 in such systems (the A4988 has an internal pull-up on its SLEEP pin). To keep faults from pulling down the SLEEP pin, any external pull-up resistor you add to the SLEEP pin input should not exceed 4.7k.

Limitation de courant

Le contrôle actif du courant - Un avantage clé

Ce pilote de moteur pas-à-pas dispose d'un circuit actif de limitation de courant. C'est une caractéristique assez incroyable car elle permet de piloter des moteurs pas-à-pas avec une tension plus élevée sans griller le moteur. Admettons que vous avez un moteur prévu pour 2.8V à 1.7 ampère. S'il alimenté directement avec une tension de 5.6 Volts (le double à titre d'exemple) alors la bobine laisserait alors passer un courant de 3.4 Amp. Cependant, à 3.4 Amp, la bobine chauffe tellement que le moteur grille rapidement (l'échauffement augmente au carré du courant!).

Mais si vous disposez d'un circuit limitant activement le courant, vous pourriez régler celui-ci sur 1.7A max (ou 1.5A, le maximum du DRV8825). Par conséquent, même si vous alimentez le moteur en 5.6v, le courant ne pourra pas dépasser 1.7 Amp (1.5A pour le DRV8825) et le moteur ne grille pas.

Quel sont les avantages à utiliser une tension plus élevée?

  1. Le moteur est plus beaucoup plus réactif.
  2. Le passage d'un pas à l'autre plus rapide avec un tension plus élevée car le champ magnétique est plus puissant.
  3. Si le moteur est plus réactif alors vous pouvez également atteindre des vitesses plus élevées.
  4. Avec une tension plus élevée, vous pouvez utiliser un piloter nécessitant une tension minimale de fonctionnement plus importante (comme le DRV8825) même avec un moteur en assez basse tension. Du moment que le courant est limité activement, il n'y aura pas de dégât sur les bobines.

Concernant le moteur 2.8V 1.7Amp mentionné, vous pourriez le piloter avec une alimentation 9V (confirmé par Pololu) avec un DRV8825 en limitant activement le courant à 1.5Amp (le maximum toléré par le DRV8825 sans refroissement).

Réglage - comment faire

To achieve high step rates, the motor supply is typically much higher than would be permissible without active current limiting. For instance, a typical stepper motor might have a maximum current rating of 1 A with a 5Ω coil resistance, which would indicate a maximum motor supply of 5 V. Using such a motor with 12 V would allow higher step rates, but the current must actively be limited to under 1 A to prevent damage to the motor.

The DRV8825 supports such active current limiting, and the trimmer potentiometer on the board can be used to set the current limit. You will typically want to set the driver’s current limit to be at or below the current rating of your stepper motor. One way to set the current limit is to put the driver into full-step mode and to measure the current running through a single motor coil without clocking the STEP input. The measured current will be 0.7 times the current limit (since both coils are always on and limited to approximately 70% of the current limit setting in full-step mode).

Another way to set the current limit is to measure the voltage on the “ref” pin and to calculate the resulting current limit (the current sense resistors are 0.100Ω). The ref pin voltage is accessible on a via that is circled on the bottom silkscreen of the circuit board. The current limit relates to the reference voltage as follows:

Current Limit = VREF × 2

So, for example, if you have a stepper motor rated for 1 A, you can set the current limit to 1 A by setting the reference voltage to 0.5 V.

Dissipation de chaleur - considérations

The DRV8825 driver IC has a maximum current rating of 2.5 A per coil, but the current sense resistors further limit the maximum current to 2.2 A, and the actual current you can deliver depends on how well you can keep the IC cool. The carrier’s printed circuit board is designed to draw heat out of the IC, but to supply more than approximately 1.5 A per coil, a heat sink or other cooling method is required.

Please note that measuring the current draw at the power supply will generally not provide an accurate measure of the coil current. Since the input voltage to the driver can be significantly higher than the coil voltage, the measured current on the power supply can be quite a bit lower than the coil current (the driver and coil basically act like a switching step-down power supply). Also, if the supply voltage is very high compared to what the motor needs to achieve the set current, the duty cycle will be very low, which also leads to significant differences between average and RMS currents. Additionally, please note that the coil current is a function of the set current limit, but it does not necessarily equal the current limit setting. The actual current through each coil changes with each microstep. See the DRV8825 datasheet for more information.

Exemple Arduino

Vous trouverez ci-dessous deux montages types de moteurs pas-à-pas bipolaires à 4 fils. Ces exemples sont issus de notre tutoriel sur le pilote de moteur pas-à-pas A4988 (moins puissant) qui dispose d'un brochage compatible avec le DRV8825 :-)

Ces exemples du DRV8825 utilisent le second schéma de branchement proposé par Pololu. Ce qui permet d'utiliser soit un StepStick DRV8825, soit un Steptick A4988.

Codification rouge, bleu, vert, noir

DRV8825-Montage Rouge-Bleu-Vert-Noir.jpg
Cliquez pour agrandir

Codification rouge, jaune, vert, gris

Cette codification est utilisé pour les moteurs pas-à-pas que nous proposons ici chez MC Hobby.

DRV8825-Montage Rouge-Jaune-Vert-Gris.jpg
Cliquez pour agrandir

Le code

Le seul point a relever dans ce code est le comportement de la broche ENABLE branché sur la sortie 13 d'Arduino.

Enable fonctionne en logique inverse!

Cela signifie que:

  • Le module est activé lorsque la sortie 13 est LOW (niveau bas) - L'axe du moteur est donc maintenu bloqué en attente du prochain pas.
  • Le module est désactivé lorsque la sortie 13 est HIGH (niveau haut) - L'axe du moteur est donc totalement libre de tout mouvement puisque le moteur est désactivé.
// --- Commande d'un StepStick/Driver A4988 ----------------------
// DRV8825_Test.ino
//
// Commande d'un moteur pas-à-pas à l'aide d'un pilote DRV8825 avec
//     Arduino.
//
// Un projet www.mchobby.be (vente de kit et composant)
// Meurisse D. - Licence CC-SA-BY
//
// Un tutoriel http://wiki.mchobby.be/index.php?title=DRV8825
// Ou Acheter un StepStick DRV8825
//    http://shop.mchobby.be/product.php?id_product=454
//

#define pinEnable 13 // Activation du driver/pilote
#define pinStep    9 // Signal de PAS (avancement)
#define pinDir     8 // Direction 


void setup(){
  Serial.begin(9600);
  Serial.println("Test DRV8825");
  
  pinMode( pinEnable, OUTPUT );
  pinMode( pinDir   , OUTPUT );
  pinMode( pinStep  , OUTPUT );
}

void loop(){
  int i = 0;
  
  digitalWrite( pinDir   , HIGH); // Direction avant
  digitalWrite( pinStep  , LOW);  // Initialisation de la broche step
  
  // Avance de 200 pas
  for( i=0; i<200; i++){
    Serial.println( i );
    digitalWrite( pinStep, HIGH );
    delay( 10 );
    digitalWrite( pinStep, LOW );
    delay( 10 );
  } 
  
  // Changer de direction
  digitalWrite( pinDir   , LOW); // Direction avant
  
  // Refaire 200 pas dans l'autre sens
  for( i=0; i<200; i++){
    Serial.println( i );
    digitalWrite( pinStep, HIGH );
    delay( 1 );
    digitalWrite( pinStep, LOW );
    delay( 1 );
  } 
  
  // Pas de step et pas d'ordre... 
  //   l'axe du moteur est donc bloqué 
  Serial.println("Axe bloqué + attendre 5 sec");
  delay( 5000 );
  
  // déblocage de l'axe moteur
  Serial.println("Deblocage axe");
  digitalWrite( pinEnable, HIGH ); // logique inversée
  
  // Fin et blocage du programme
  // Presser reset pour recommander
  Serial.println("Fin de programme");
  while( true );
}

Diagramme

DRV8825-schema.png

The current sense resistors (R2 and R3) on the DRV8825 carrier are 0.100 Ω. This schematic is also available as a downloadable pdf (196k pdf).

DRV8825 et A4988 - les différences clés

The DRV8825 carrier was designed to be as similar to our A4988 stepper motor driver carriers as possible, and it can be used as a drop in replacement for the A4988 carrier in many applications because it shares the same size, pinout, and general control interface. There are a few differences between the two modules that should be noted, however:

  • The pin used to supply logic voltage to the A4988 is used as the DRV8825’s FAULT output, since the DRV8825 does not require a logic supply (and the A4988 does not have a fault output). Note that it is safe to connect the FAULT pin directly to a logic supply (there is a 1.5k resistor between the IC output and the pin to protect it), so the DRV8825 module can be used in systems designed for the A4988 that route logic power to this pin.
  • The SLEEP pin on the DRV8825 is not pulled up by default like it is on the A4988, but the carrier board does connect it to the FAULT pin through a 10k resistor. Therefore, systems intended for the A4988 that route logic power to the FAULT pin will effectively have a 10k pull-up on the SLEEP pin. (This 10k resistor is not present on the initial (md20a) version of the DRV8825 carrier.)
  • The current limit potentiometer is in a different location.
  • The relationship between the current limit setting and the reference pin voltage is different.
  • The DRV8825 offers 1/32-step microstepping; the A4988 only goes down to 1/16-step.
  • The mode selection pin inputs corresponding to 1/16-step on the A4988 result in 1/32-step microstepping on the DRV8825. For all other microstepping resolutions, the step selection table is the same for both the DRV8825 and the A4988.
  • The timing requirements for minimum pulse durations on the STEP pin are different for the two drivers. With the DRV8825, the high and low STEP pulses must each be at least 1.9 us; they can be as short as 1 us when using the A4988.
  • The DRV8825 has a higher maximum supply voltage than the A4988 (45 V vs 35 V), which means the DRV8825 can be used more safely at higher voltages and is less susceptible to damage from LC voltage spikes.
  • The DRV8825 can deliver more current than the A4988 without any additional cooling (based on our full-step tests: 1.5 A per coil for the DRV8825 vs 1.2 A per coil for the A4988 Black Edition and 1 A per coil for the original A4988 carrier).
  • The DRV8825 uses a different naming convention for the stepper motor outputs, but they are functionally the same as the corresponding pins on the A4988 carrier, so the same connections to both drivers result in the same stepper motor behavior. On both boards, the first part of the label identifies the coil (so you have coils “A” and “B” on the DRV8825 and coils “1” and “2” on the A4988).
  • For those with color-sensitive applications, note that the DRV8825 carrier is purple.

STEPSTK-DRV8825-WIRE 00.png
Câblage minimal pour connecter un microcontroleur. Version alternative, compatibilité avec le pilote A4988

Où Acheter

Vous trouverez également les produits suivants:

A voir aussi


Documentation réalisée par Meurisse. D pour MCHobby.be. En partie basé sur les informations disponible sur le site de Pololu

Traduit avec l'autorisation de Pololu - Translated with the permission from Pololu - www.pololu.com

Toute référence, mention ou extrait de cette traduction doit être explicitement accompagné du texte suivant : «  Traduction par MCHobby (www.MCHobby.be) - Vente de kit et composants » avec un lien vers la source (donc cette page) et ce quelque soit le média utilisé.

L'utilisation commercial de la traduction (texte) et/ou réalisation, même partielle, pourrait être soumis à redevance. Dans tous les cas de figures, vous devez également obtenir l'accord du(des) détenteur initial des droits. Celui de MC Hobby s'arrêtant au travail de traduction proprement dit.

Traduit avec l'autorisation d'AdaFruit Industries - Translated with the permission from Adafruit Industries - www.adafruit.com