Différences entre versions de « Adafruit Motor Shield V2-Moteur Stepper »

De MCHobby - Wiki
Sauter à la navigation Sauter à la recherche
 
(6 versions intermédiaires par le même utilisateur non affichées)
Ligne 1 : Ligne 1 :
 
{{Adafruit Motor Shield V2-NAV}}
 
{{Adafruit Motor Shield V2-NAV}}
 
{{traduction}}
 
  
 
== Brancher un moteur pas-à-pas ==
 
== Brancher un moteur pas-à-pas ==
Ligne 7 : Ligne 5 :
 
[[Fichier:Motor Shield V2-Logiciel-10.jpg|480px]]
 
[[Fichier:Motor Shield V2-Logiciel-10.jpg|480px]]
  
Stepper motors are great for (semi-)precise control, perfect for many robot and CNC projects. This motor shield supports up to 2 stepper motors. The library works identically for bi-polar and uni-polar motors
+
Les moteurs pas-à-pas sont vraiment géniaux pour un contrôle semi-précis, parfait pour de nombreux robots et projets CNC. Le shield adafruit supporte jusqu'à deux moteurs pas-à-pas. La bibliothèque fonctionne de façon identique avec les moteurs bipolaires et unipolaire.
 +
 
 +
=== Pour les moteurs unipolaires ===
 +
Pour connecter un moteur unipolaire, vous devez identifier quel fils appartient à quel bobine.
 +
 
 +
Si votre moteur à 4 fils alors il n'a pas de contact commun entre les bobines... il se monte comme sur l'image.
  
For unipolar motors: to connect up the stepper, first figure out which pins connected to which coil, and which pins are the center taps. If its a 5-wire motor then there will be 1 that is the center tap for both coils. [http://learn.adafruit.com/adafruit-motor-shield/resources Theres plenty of tutorials online on how to reverse engineer the coils pinout]. The center taps should both be connected together to the GND terminal on the motor shield output block. then coil 1 should connect to one motor port (say M1 or M3) and coil 2 should connect to the other motor port (M2 or M4).
+
Si vous avez un moteur avec 5-fils alors il y a un fils commun pour le centre des deux bobines. [http://learn.adafruit.com/adafruit-motor-shield/resources Il y a de nombreux tutoriels pour identifier les bobines et fils des moteur pas-à-pas... nous vous proposons ce tutoriel d'Adafruit (''anglais'')].  
  
 +
Si vous avez un moteur 6-fils, alors le centre de chacune des deux  deux bobines est repris sur un fils distinct.
 +
 +
Le centre des bobines (5 fils) doit être connecté sur la borne GND (masse) du shield moteur. Si vous avez un connecteur 6-fils alors les centres des deux bobines doivent être connectés ensembles sur la broche GND.
 +
 +
Ensuite:
 +
* La bobine 1 doit être connectés sur un port moteur (disons M1, ou M3)
 +
* La bobine 2 doit être connectées sur l'autre port moteur correspondant (disons M2, ou M4).
 +
 +
=== pour les moteurs bipolaires ===
 
For bipolar motors: its just like unipolar motors except theres no 5th wire to connect to ground. The code is exactly the same.
 
For bipolar motors: its just like unipolar motors except theres no 5th wire to connect to ground. The code is exactly the same.
  
Ligne 17 : Ligne 29 :
 
== Programmation ==
 
== Programmation ==
  
=== Inclure la bibliothèque ==
+
=== Inclure la bibliothèque ===
Assurez-vous d'avoir inclus les bibliothèques nécessaire à l'aide de l'instruction #include
+
Assurez-vous d'avoir inclus les bibliothèques nécessaires à l'aide de l'instruction #include
  
 
  <nowiki>#include <Wire.h>
 
  <nowiki>#include <Wire.h>
Ligne 33 : Ligne 45 :
 
  <nowiki>Adafruit_StepperMotor *myMotor = AFMS.getStepper(200, 2);</nowiki>
 
  <nowiki>Adafruit_StepperMotor *myMotor = AFMS.getStepper(200, 2);</nowiki>
  
with '''getStepper(steps, stepper#)'''. '''Steps''' indicates how many steps per revolution the motor has. A 7.5degree/step motor has 360/7.5 = 48 steps. '''Stepper#''' is which port it is connected to. If you're using M1 and M2, its port '''1'''. If you're using M3 and M4 indicate port '''2'''
+
Utiliser la fonction '''getStepper(steps, stepper#)''' où:
 +
* '''steps''': (nbre de pas) indique le nombre de pas par révolution du moeur. Un moteur à 7.5degrés/pas à donc 360°/7.= 48 pas. La moteurs pas-à-pas ont souvent 200 pas.
 +
* '''Stepper#''': indique sur quel port le moteur pas-à-pas est connecté. Si vous utilisez le bornier M1 + M2, c'est le port '''1'''. Si vous utilisez le bornier M3 + M4, c'est lle port '''2'''
 
   
 
   
 
=== Initialiser la vitesse par défaut ===
 
=== Initialiser la vitesse par défaut ===
Set the speed of the motor using '''setSpeed(rpm)''' where rpm is how many revolutions per minute you want the stepper to turn.
+
Initialiser la vitesse du moteur en utilisant la fonction '''setSpeed(rpm)''' ou rpm représente le nombre de rotation par minutes à laquelle le moteur doit tourner.
  
 
=== Faire fonctionner le moteur ===
 
=== Faire fonctionner le moteur ===
Then every time you want the motor to move, call the '''step(#steps, direction, steptype)''' procedure. #steps is how many steps you'd like it to take. direction is either '''FORWARD''' or '''BACKWARD''' and the step type is '''SINGLE''', '''DOUBLE''', '''INTERLEAVE''' or '''MICROSTEP'''.
+
Ensuite, vous appelez la fonction '''step(#steps, direction, step_type)''' à chaque fois que le moteur doit se mouvoir.
 +
 
 +
* '''#steps'''': est le nombre de pas dont le moteur doit se déplacer.  
 +
* '''direction''': est le sens de rotation '''FORWARD''' (avant) ou '''BACKWARD''' (arrière)
 +
* '''step_type''': est le type de pas à utiliser '''SINGLE''' (simple), '''DOUBLE''' (double), '''INTERLEAVE''' (intermédiaire) ou '''MICROSTEP''' (microstepping).
  
* "Single" means single-coil activation
+
Type de pas:
* "Double" means 2 coils are activated at once (for higher torque)
+
* "Single": Signifiant "unique/seul" en français. Activation d'une seule bobine moteur
* "Interleave" means that it alternates between single and double to get twice the resolution (but of course its half the speed).
+
* "Double": indique que 2 bobines sont alimentés en une fois (pour plus de couple)
* "Microstepping" is a method where the coils are PWM'd to create smooth motion between steps.
+
* "Interleave": Signifiant "entrelacer" indique qu'il y a alternance entre l'activation "Single" et "Double" pour doubler la résolution (mais bien entendu avec la moitier de la vitesse).
 +
* "Microstepping": Est une méthode où les bobines sont commandés avec un signal PWM permettant ainsi de créer un mouvement fluide entre les pas.
  
Theres tons of information about the pros and cons of these different stepping methods in the resources page.
+
Il existe une masse d'information colossale concernant les pros et cons des différentes méthodes de stepping (voyez la page des ressources).
  
You can use whichever stepping method you want, changing it "on the fly" to as you may want minimum power, more torque, or more precision.
+
Vous pouvez utiliser la méthode de stepping de votre choix... et même la changer au vol en fonction de votre besoin (minimum de puissance, plus de couple ou plus de précision).
  
By default, the motor will 'hold' the position after its done stepping. If you want to release all the coils, so that it can spin freely, call '''release()'''
+
Par défaut, le moteur maintient sa position après le déplacement. Appelez la fonction '''release()''' si vous voulez désactiver (''release'') toutes les bobines,  de façon à pouvoir bouger librement l'axe.
  
The stepping commands are 'blocking' and will return once the steps have finished.
+
Les commandes de stepping/mouvement sont 'bloquantes' et rendent la main au programme une fois tous les pas terminés.
  
Because the stepping commands 'block' - you have to instruct the Stepper motors each time you want them to move. If you want to have more of a 'background task' stepper control, check out [https://github.com/adafruit/AccelStepper bibliothèque AccelStepper] sur le GitHub d'AdaFruit (install similarly to how you did with Adafruit_MotorShield) which has some examples for controlling three steppers simultaneously with varying acceleration
+
Etant donné que les commandes de stepping/mouvement sont bloquantes, vous devez envoyer des instructions aux moteurs chaque fois que vous voulez qu'ils bougent. Si vous voulez en apprendre plus sur le traitement en tâches de fond (''background'') des moteurs pas-à-pas, vous pouvez consulter la [https://github.com/adafruit/AccelStepper bibliothèque AccelStepper] disponible sur le GitHub d'AdaFruit. L'installation de la bibliothèque AccelStepper est très similaire à celle de Adafruit_MotorShield. AccelStepper dispose de quelques exemples pour contrôler 3 moteurs pas-à-pas simultanément avec des variations d'accélération.
  
 
{{Adafruit Motor Shield V2-TRAILER}}
 
{{Adafruit Motor Shield V2-TRAILER}}

Version actuelle datée du 19 décembre 2016 à 13:35


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.

Brancher un moteur pas-à-pas

Motor Shield V2-Logiciel-10.jpg

Les moteurs pas-à-pas sont vraiment géniaux pour un contrôle semi-précis, parfait pour de nombreux robots et projets CNC. Le shield adafruit supporte jusqu'à deux moteurs pas-à-pas. La bibliothèque fonctionne de façon identique avec les moteurs bipolaires et unipolaire.

Pour les moteurs unipolaires

Pour connecter un moteur unipolaire, vous devez identifier quel fils appartient à quel bobine.

Si votre moteur à 4 fils alors il n'a pas de contact commun entre les bobines... il se monte comme sur l'image.

Si vous avez un moteur avec 5-fils alors il y a un fils commun pour le centre des deux bobines. Il y a de nombreux tutoriels pour identifier les bobines et fils des moteur pas-à-pas... nous vous proposons ce tutoriel d'Adafruit (anglais).

Si vous avez un moteur 6-fils, alors le centre de chacune des deux deux bobines est repris sur un fils distinct.

Le centre des bobines (5 fils) doit être connecté sur la borne GND (masse) du shield moteur. Si vous avez un connecteur 6-fils alors les centres des deux bobines doivent être connectés ensembles sur la broche GND.

Ensuite:

  • La bobine 1 doit être connectés sur un port moteur (disons M1, ou M3)
  • La bobine 2 doit être connectées sur l'autre port moteur correspondant (disons M2, ou M4).

pour les moteurs bipolaires

For bipolar motors: its just like unipolar motors except theres no 5th wire to connect to ground. The code is exactly the same.

Running a stepper is a little more intricate than running a DC motor but its still very easy

Programmation

Inclure la bibliothèque

Assurez-vous d'avoir inclus les bibliothèques nécessaires à l'aide de l'instruction #include

#include <Wire.h>
#include <Adafruit_MotorShield.h>
#include "utility/Adafruit_PWMServoDriver.h"

Créer un objet Adafruit_MotorShield

Adafruit_MotorShield AFMS = Adafruit_MotorShield();

Créer un objet "moteur pas-à-pas"

Demander la création d'un objet Stepper (littéralement pas-à-pas) à Adafruit_MotorShield:

Adafruit_StepperMotor *myMotor = AFMS.getStepper(200, 2);

Utiliser la fonction getStepper(steps, stepper#) où:

  • steps: (nbre de pas) indique le nombre de pas par révolution du moeur. Un moteur à 7.5degrés/pas à donc 360°/7.5° = 48 pas. La moteurs pas-à-pas ont souvent 200 pas.
  • Stepper#: indique sur quel port le moteur pas-à-pas est connecté. Si vous utilisez le bornier M1 + M2, c'est le port 1. Si vous utilisez le bornier M3 + M4, c'est lle port 2

Initialiser la vitesse par défaut

Initialiser la vitesse du moteur en utilisant la fonction setSpeed(rpm) ou rpm représente le nombre de rotation par minutes à laquelle le moteur doit tourner.

Faire fonctionner le moteur

Ensuite, vous appelez la fonction step(#steps, direction, step_type) à chaque fois que le moteur doit se mouvoir.

  • #steps': est le nombre de pas dont le moteur doit se déplacer.
  • direction: est le sens de rotation FORWARD (avant) ou BACKWARD (arrière)
  • step_type: est le type de pas à utiliser SINGLE (simple), DOUBLE (double), INTERLEAVE (intermédiaire) ou MICROSTEP (microstepping).

Type de pas:

  • "Single": Signifiant "unique/seul" en français. Activation d'une seule bobine moteur
  • "Double": indique que 2 bobines sont alimentés en une fois (pour plus de couple)
  • "Interleave": Signifiant "entrelacer" indique qu'il y a alternance entre l'activation "Single" et "Double" pour doubler la résolution (mais bien entendu avec la moitier de la vitesse).
  • "Microstepping": Est une méthode où les bobines sont commandés avec un signal PWM permettant ainsi de créer un mouvement fluide entre les pas.

Il existe une masse d'information colossale concernant les pros et cons des différentes méthodes de stepping (voyez la page des ressources).

Vous pouvez utiliser la méthode de stepping de votre choix... et même la changer au vol en fonction de votre besoin (minimum de puissance, plus de couple ou plus de précision).

Par défaut, le moteur maintient sa position après le déplacement. Appelez la fonction release() si vous voulez désactiver (release) toutes les bobines, de façon à pouvoir bouger librement l'axe.

Les commandes de stepping/mouvement sont 'bloquantes' et rendent la main au programme une fois tous les pas terminés.

Etant donné que les commandes de stepping/mouvement sont bloquantes, vous devez envoyer des instructions aux moteurs chaque fois que vous voulez qu'ils bougent. Si vous voulez en apprendre plus sur le traitement en tâches de fond (background) des moteurs pas-à-pas, vous pouvez consulter la bibliothèque AccelStepper disponible sur le GitHub d'AdaFruit. L'installation de la bibliothèque AccelStepper est très similaire à celle de Adafruit_MotorShield. AccelStepper dispose de quelques exemples pour contrôler 3 moteurs pas-à-pas simultanément avec des variations d'accélération.


Source: Adafruit Motor Shield V2 for Arduino créé par LadyAda pour AdaFruit Industries. Crédit [www.adafruit.com AdaFruit Industries]

Traduit par Meurisse D. pour MCHobby.be

Nos remerciements à Mr Pierre M. pour ses suggestions de correction.

Traduit avec l'autorisation d'AdaFruit Industries - Translated with the permission from Adafruit Industries - www.adafruit.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.