Modifications

Sauter à la navigation Sauter à la recherche
2 402 octets ajoutés ,  3 novembre 2013 à 20:53
aucun résumé de modification
Ligne 36 : Ligne 36 :  
* [http://mchobby.be/data-files/datasheet/A4988.pdf Fiche technique du A4988] (pdf)
 
* [http://mchobby.be/data-files/datasheet/A4988.pdf Fiche technique du A4988] (pdf)
   −
== Brochage ==
+
=== Brochage ===
    
[[Fichier:A4988-PinOut.jpg]]
 
[[Fichier:A4988-PinOut.jpg]]
Ligne 53 : Ligne 53 :  
* '''GND''': Sous "VDD", masse de la logique de commande. Souvent mise en commun avec la masse d'alimentation du moteur.
 
* '''GND''': Sous "VDD", masse de la logique de commande. Souvent mise en commun avec la masse d'alimentation du moteur.
   −
=== Entrées de contrôle ===
+
==== Entrées de contrôle ====
 
Chaque impulsion sur l'entrée STEP correspond à un microstep du moteur pas-à-pas dans la direction sélectionnée sur la broche DIR.  
 
Chaque impulsion sur l'entrée STEP correspond à un microstep du moteur pas-à-pas dans la direction sélectionnée sur la broche DIR.  
   Ligne 62 : Ligne 62 :  
'''Notez que la broche RST (''reset'') est flottante'''; Si vous ne comptez pas utiliser cette broche, vous pouvez la connecter sur la broche SLP (''sleep'') adjacente pour placer RST au niveau logique haut (''high'') et activer la carte.
 
'''Notez que la broche RST (''reset'') est flottante'''; Si vous ne comptez pas utiliser cette broche, vous pouvez la connecter sur la broche SLP (''sleep'') adjacente pour placer RST au niveau logique haut (''high'') et activer la carte.
   −
=== Configuration Step/MicroStepping ===
+
==== Configuration Step/MicroStepping ====
 
La configuration se fait à l'aide des broches MS1, MS2 et MS3.
 
La configuration se fait à l'aide des broches MS1, MS2 et MS3.
   Ligne 90 : Ligne 90 :  
|}
 
|}
   −
== Les sources d'alimentation ==
+
=== Les sources d'alimentation ===
 
Le pilote requière une tension d'alimentation entre 3 et 5.5 V pour la logique qui doit être connecté entre les broches VDD et GND (adjacente).
 
Le pilote requière une tension d'alimentation entre 3 et 5.5 V pour la logique qui doit être connecté entre les broches VDD et GND (adjacente).
   Ligne 99 : Ligne 99 :  
{{ambox-stop|text=Cette carte utilise des capacités céramiques à faible résistance série équivalente ([http://www.jmax-hardware.com/forum/index.php?topic=5171.0;wap2 low-ESR]),ce qui la sensible aux destructions par les pointes de surtensions induites par les circuits LC, plus spécialement sur vous utilisez des câbles d'alimentations d'une longueur supérieure à quelques centimètres. Sous de mauvaises conditions, ces  pointes de tension peuvent excéder les 35 V de tension maximale du A4988 et endommager la carte de façon permanente (même pour une alimentation moteur à 12 V). Une façon de protéger les pilotes est de placer, au plus près de la carte, une capacité électrolytique importante (au moins 47 µF) entre VMOT et la masse.}}
 
{{ambox-stop|text=Cette carte utilise des capacités céramiques à faible résistance série équivalente ([http://www.jmax-hardware.com/forum/index.php?topic=5171.0;wap2 low-ESR]),ce qui la sensible aux destructions par les pointes de surtensions induites par les circuits LC, plus spécialement sur vous utilisez des câbles d'alimentations d'une longueur supérieure à quelques centimètres. Sous de mauvaises conditions, ces  pointes de tension peuvent excéder les 35 V de tension maximale du A4988 et endommager la carte de façon permanente (même pour une alimentation moteur à 12 V). Une façon de protéger les pilotes est de placer, au plus près de la carte, une capacité électrolytique importante (au moins 47 µF) entre VMOT et la masse.}}
   −
== Branchement moteur ==
+
=== Branchement moteur ===
    
{{ambox-stop|text=Connecter ou déconnecter les moteurs pas-à-pas pendant que le pilote est sous tension peut le détruire.}}
 
{{ambox-stop|text=Connecter ou déconnecter les moteurs pas-à-pas pendant que le pilote est sous tension peut le détruire.}}
Ligne 105 : Ligne 105 :  
D'une façon générale, changer le câblage en cours de fonctionnement sera la source de problèmes.
 
D'une façon générale, changer le câblage en cours de fonctionnement sera la source de problèmes.
   −
== Limiter le courant ==
+
=== Limiter le courant ===
 
Pour pouvoir atteindre une vitesse plus élevée (un plus haut débit de pas), l'alimentation moteur est typiquement plus élevée que ce qui serait permit sans limitation active de courant. Par exemple, un moteur pas-à-pas typique pourrait avoir un courant maximum évalué à 1 Amp avec une résistance de bobine de 5Ω, ce qui nous indique que la tension maximale du moteur est de 5 Volts (U=R * I). Utiliser un tel moteur sous 12 V permettrait d'atteindre un débit de pas nettement plus important, mais le courant doit être activement limité à moins de 1 Ampt pour éviter d'endommager le moteur.
 
Pour pouvoir atteindre une vitesse plus élevée (un plus haut débit de pas), l'alimentation moteur est typiquement plus élevée que ce qui serait permit sans limitation active de courant. Par exemple, un moteur pas-à-pas typique pourrait avoir un courant maximum évalué à 1 Amp avec une résistance de bobine de 5Ω, ce qui nous indique que la tension maximale du moteur est de 5 Volts (U=R * I). Utiliser un tel moteur sous 12 V permettrait d'atteindre un débit de pas nettement plus important, mais le courant doit être activement limité à moins de 1 Ampt pour éviter d'endommager le moteur.
    
Le A4988 supporte cette fonctionnalité de "limitation active de courant" et le petit potentiomètre disponible sur la carte est utilisé pour fixer en fixer la valeur.  
 
Le A4988 supporte cette fonctionnalité de "limitation active de courant" et le petit potentiomètre disponible sur la carte est utilisé pour fixer en fixer la valeur.  
   −
=== Ajuster la limite de courant ===
+
==== Ajuster la limite de courant ====
 
Une façon d'ajuster la limite de courant est de placer le pilote en pas complet (''full step'') et de mesurer le courant passant dans une bobine du moteur '''sans envoyer de signal''' sur la broche d'entrée STEP. Le courant mesuré sera équivalent à 0.7 fois le courant limite (puisque en mode "full step" les deux bobines sont toujours actives et le courant limité à 70% du courant limite configuré/sélectionné).  
 
Une façon d'ajuster la limite de courant est de placer le pilote en pas complet (''full step'') et de mesurer le courant passant dans une bobine du moteur '''sans envoyer de signal''' sur la broche d'entrée STEP. Le courant mesuré sera équivalent à 0.7 fois le courant limite (puisque en mode "full step" les deux bobines sont toujours actives et le courant limité à 70% du courant limite configuré/sélectionné).  
    
Notez que la configuration du courant limite change lorsque vous modifiez la tension de la logique de commande (VDD); la tension appliqué sur la broche "ref" du A4988 par le potentiomètre dépend directement de la valeur de VDD.
 
Notez que la configuration du courant limite change lorsque vous modifiez la tension de la logique de commande (VDD); la tension appliqué sur la broche "ref" du A4988 par le potentiomètre dépend directement de la valeur de VDD.
   −
=== Autre méthode ===
+
==== Autre méthode ====
 
Si vous disposez de matériel de précision, vous pouvez localiser la broche "ref" et en mesurer la tension. Cela sera un tâche très délicate que nous recommandons pas mais documentons néanmoins (car plus facilement accessible sur les breakout Pololu).  
 
Si vous disposez de matériel de précision, vous pouvez localiser la broche "ref" et en mesurer la tension. Cela sera un tâche très délicate que nous recommandons pas mais documentons néanmoins (car plus facilement accessible sur les breakout Pololu).  
 
   
 
   
Ligne 130 : Ligne 130 :  
Pour des informations plus détaillées, vous pouvez vous référer à la [http://mchobby.be/data-files/datasheet/A4988.pdf fiche technique du A4988] (pdf).
 
Pour des informations plus détaillées, vous pouvez vous référer à la [http://mchobby.be/data-files/datasheet/A4988.pdf fiche technique du A4988] (pdf).
   −
=== où mesurer le courant ===
+
==== où mesurer le courant ====
 
Le courant dans la bobine du moteur peut être vraiment différent du courant délivré par l'alimentation. Par conséquent, il ne faut pas mesurer le courant à la sortir de votre alimentation.  
 
Le courant dans la bobine du moteur peut être vraiment différent du courant délivré par l'alimentation. Par conséquent, il ne faut pas mesurer le courant à la sortir de votre alimentation.  
   Ligne 137 : Ligne 137 :  
'''Notez que mesurer le courant à la sortie de l'alimentation ne fournit pas une mesure fidèle du courant dans les bobines'''. La mesure du courant sur l'alimentation peut être plus faible que le courant de bobine car la tension d'entrée du pilote peut être significativement plus élevée que la tension de la bobine. Ainsi, si la tension d'alimentation est nettement plus élevée que celle nécessaire pour le moteur, le cycle utile (''duty cycle'') sera très court pour atteindre la limite de courant configuré, ce qui conduit à ne différence notable entre les courants moyens et les courants RMS.
 
'''Notez que mesurer le courant à la sortie de l'alimentation ne fournit pas une mesure fidèle du courant dans les bobines'''. La mesure du courant sur l'alimentation peut être plus faible que le courant de bobine car la tension d'entrée du pilote peut être significativement plus élevée que la tension de la bobine. Ainsi, si la tension d'alimentation est nettement plus élevée que celle nécessaire pour le moteur, le cycle utile (''duty cycle'') sera très court pour atteindre la limite de courant configuré, ce qui conduit à ne différence notable entre les courants moyens et les courants RMS.
   −
== Dissipation de chaleur ==
+
=== Dissipation de chaleur ===
 
Le circuit intégré A4988 support un courant maximum de 2 Amp par bobine, mais le courant que vous pouvez vraiment délivré dépend principalement de l'efficacité du refroidissement du circuit intégré. Le carte est conçue pour évacuer la chaleur aussi efficacement que possible mais si vous voulez fournir un courant d'environ 1 Amp par bobine il faudra prévoir un dissipateur de chaleur et/ou autre méthode de refroidissement.
 
Le circuit intégré A4988 support un courant maximum de 2 Amp par bobine, mais le courant que vous pouvez vraiment délivré dépend principalement de l'efficacité du refroidissement du circuit intégré. Le carte est conçue pour évacuer la chaleur aussi efficacement que possible mais si vous voulez fournir un courant d'environ 1 Amp par bobine il faudra prévoir un dissipateur de chaleur et/ou autre méthode de refroidissement.
    
{{ambox|text=Ce produit peut devenir suffisamment chaud pour vous bruler longtemps avant d'entrer lui-même en état de surchauffe. Restez prudent lorsque vous manipulez ce produit ou d'autres composants connectés sur celui-ci.}}
 
{{ambox|text=Ce produit peut devenir suffisamment chaud pour vous bruler longtemps avant d'entrer lui-même en état de surchauffe. Restez prudent lorsque vous manipulez ce produit ou d'autres composants connectés sur celui-ci.}}
 +
 +
== Exemple Arduino ==
 +
Comment raccorder et utiliser votre jouet avec un Arduino Uno
 +
 +
=== Montage ===
 +
 +
=== 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é.
 +
 +
<nowiki>// --- Commande d'un StepStick/Driver A4988 ----------------------
 +
// A4988_Test.inoa
 +
//
 +
// Commande d'un moteur pas-à-pas à l'aide d'un pilote A4988 avec
 +
//    Arduino.
 +
//
 +
// Un projet www.mchobby.be (vente de kit et composant)
 +
// Meurisse D. - Licence CC-SA-BY
 +
//
 +
// Un tutoriel http://mchobby.be/wiki/index.php?title=A4988
 +
// Ou Acheter un StepStick A4988
 +
//    http://mchobby.be/PrestaShop/product.php?id_product=349
 +
//
 +
 +
#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 A4988");
 +
 
 +
  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 );
 +
}</nowiki>
    
== Ressources ==
 
== Ressources ==
29 837

modifications

Menu de navigation