Modifications

Sauter à la navigation Sauter à la recherche
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.
 +
 
 +
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.
   −
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).
+
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.
    
Running a stepper is a little more intricate than running a DC motor but its still very easy
 
Running a stepper is a little more intricate than running a DC motor but its still very easy
   −
== xx ==
+
== Programmation ==
 +
 
 +
=== Inclure la bibliothèque ===
 +
Assurez-vous d'avoir inclus les bibliothèques nécessaires à l'aide de l'instruction #include
 +
 
 +
<nowiki>#include <Wire.h>
 +
#include <Adafruit_MotorShield.h>
 +
#include "utility/Adafruit_PWMServoDriver.h"</nowiki>
 +
 
 +
=== Créer un objet Adafruit_MotorShield ===
 +
 
 +
<nowiki>Adafruit_MotorShield AFMS = Adafruit_MotorShield();</nowiki>
 +
 
 +
=== Créer un objet "moteur pas-à-pas" ===
 +
Demander la création d'un objet Stepper (littéralement pas-à-pas) à Adafruit_MotorShield:
 +
 
 +
<nowiki>Adafruit_StepperMotor *myMotor = AFMS.getStepper(200, 2);</nowiki>
 +
 
 +
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 [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}}
29 917

modifications

Menu de navigation