Modifications

Sauter à la navigation Sauter à la recherche
1 730 octets ajoutés ,  7 janvier 2014 à 19:47
aucun résumé de modification
Ligne 37 : Ligne 37 :     
=== Besoin de plus de puissance? ===  
 
=== Besoin de plus de puissance? ===  
Vous pouvez acheter d'autres [http://mchobby.be/PrestaShop/product.php?id_product=155 L293D] et les souder pile au dessus des premiers déjà présent sur la carte ('piggyback' en anglais).  
+
Vous pouvez acheter d'autres {{pl|155|L293D}} et les souder pile au dessus des premiers déjà présent sur la carte ('piggyback' en anglais).  
    
Voila, comment vous pouvez doubler la courant supporté par le L293D! Vous pouvez empiler plus de deux L293D mais cela ne devrait pas apporter beaucoup plus de bénéfice.
 
Voila, comment vous pouvez doubler la courant supporté par le L293D! Vous pouvez empiler plus de deux L293D mais cela ne devrait pas apporter beaucoup plus de bénéfice.
Ligne 76 : Ligne 76 :  
Voici comment cela fonctionne:
 
Voici comment cela fonctionne:
   −
[[Fichier:ADF-MOTOR-SHIELD-USE-ALIM.jpg]]
+
{{ADFImage|ADF-MOTOR-SHIELD-USE-ALIM.jpg}}
 +
<small>Traduction par MCHobby]]</small>
    
=== Une seule alimentation ===
 
=== Une seule alimentation ===
Ligne 101 : Ligne 102 :  
== Servo Moteur ==
 
== Servo Moteur ==
   −
[[Fichier:ADF-MOTOR-SHIELD-USE-SERVO.jpg]]
+
{{ADFImage|ADF-MOTOR-SHIELD-USE-SERVO.jpg}}
    
Les servo moteurs pour Hobbyiste représentent certainement la façon la plus simple de mettre le shield moteur en oeuvre.
 
Les servo moteurs pour Hobbyiste représentent certainement la façon la plus simple de mettre le shield moteur en oeuvre.
Ligne 117 : Ligne 118 :  
== Moteur Continu ==
 
== Moteur Continu ==
   −
[[Fichier:ADF-MOTOR-SHIELD-USE-MOTEURCC.jpg]]
+
{{ADFImage|ADF-MOTOR-SHIELD-USE-MOTEURCC.jpg}}
    
Les moteur à courant continu (CC ou "DC" en anglais) sont utilisés dans toutes sortes de projet robotique. Le shield moteur est capable de controler jusqu'à 4 moteurs bi-directionnels. Cela signifie qu'il peuvent fonctionner en marche avant et marche arrière. La vitesse peut également varier d'un incrément de 0.5% grace à l'utilisation d'un signal PWM de grande précision. Cela signifie que la vitesse reste constance et ne variera pas!
 
Les moteur à courant continu (CC ou "DC" en anglais) sont utilisés dans toutes sortes de projet robotique. Le shield moteur est capable de controler jusqu'à 4 moteurs bi-directionnels. Cela signifie qu'il peuvent fonctionner en marche avant et marche arrière. La vitesse peut également varier d'un incrément de 0.5% grace à l'utilisation d'un signal PWM de grande précision. Cela signifie que la vitesse reste constance et ne variera pas!
Ligne 163 : Ligne 164 :  
Voici un exemple avec un moteur pas-à-pas bipolaire.
 
Voici un exemple avec un moteur pas-à-pas bipolaire.
   −
[[Fichier:ADF-MOTOR-SHIELD-USE-BIPOLAR-STEPPER.jpg]]
+
{{ADFImage|ADF-MOTOR-SHIELD-USE-BIPOLAR-STEPPER.jpg}}
   −
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
+
Un moteur pas-à-pas est genial pour un contrôle (semi-)précis, parfait pour beaucoup de robot projets CNC (commande numérique). Ce shield moteur est capable de supporter jusqu'à 2 moteurs pas-à-pas. La librairie fonctionne à l'identique avec les moteurs bipolaires et unipolaires.
   −
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://www.ladyada.net/make/mshield/resources.html 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).
+
=== Moteurs unipolaires ===
 +
Pour les moteurs unipolaires: pour raccorder le moteur, vous devez d'abord savoir quel fil est connectée à quel bobine, et quelle fil se trouve au centre de la bobine. Si c'est un moteur à 5 fils alors il y a un seul fil qui est centre pour les deux bobinages. [http://www.ladyada.net/make/mshield/resources.html Il y a plein de tutoriels en ligne qui permet de déduire le brochage/raccordement des moteurs pas-à-pas]. Les milieux de bobines doivent tous les deux être raccordés à la masse (borne GND) du bloc de raccordement moteur. Ensuite, la bobine 1 doit être connectée sur un port moteur (disons M1 ou M3) et la deuxième bobine sur l'autre port moteur (M2 ou M4).
   −
For bipolar motors: its just like unipolar motors except theres no 5th wire to connect to ground. The code is exactly the same.
+
=== Moteurs bipolaires ===
 +
Pour les moteurs bipolaires: C'est comme pour les moteurs unipolaires excepté qu'il n'y a pas de 5ieme fil à raccorder à la masse.
   −
Running a stepper is a little more intricate than running a DC motor but its still very
+
Le code du programme restera exactement pareil.
easy
      +
=== Nbre de pas ===
 +
Une information importante sur un moteur pas à pas est le nombre de pas par révolution. C'est donc le nombre de pas nécessaire pour que moteur fasse un tour complet.
   −
# Make sure you include <AFMotor.h>
+
Les fiches techniques ne fonctionnent pas cette information telle quel mais indique plutôt le nombre de degrés par pas.
# Create the stepper motor object with '''AF_Stepper(steps, stepper#)''' to setup the motor H-bridge and latches.'' '''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 its port 2
+
 
# Set the speed of the motor using '''setSpeed(rpm)''' where '' '''rpm''' '' is how many revolutions per minute you want the stepper to turn.
+
Sur un moteur à 7.5 degrés/pas, le moteur à 360/7.5 = 48 pas par révolution.
# 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'''.<br />"Single" means single-coil activation, "double" means 2 coils are activated at once (for higher torque) and "interleave" means that it alternates between single and double to get twice the resolution (but of course its half the speed). "Microstepping" is a method where the coils are PWM'd to create smooth motion between steps. [http://www.ladyada.net/make/mshield/resources.html Theres tons of information about the pros and cons of these different stepping methods in the resources page].<br />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.
+
 
# 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()'''
+
Sur un moteur à 1.8 degrés/pas, le moteur à 360/1.8 = 200 pas par révolution.
# The stepping commands are 'blocking' and will return once the steps have finished. If someone wants to be awesome and write a version of the library that does background stepping that would be cool! :)
+
 
 +
=== Le code ===
 +
Faire fonctionner un moteur pas-à-pas est juste un peu plus complexe d'un moteur continu mais cela reste encore simple.
 +
 
 +
# Assurez vous que vous avez inlus la librairie <AFMotor.h>
 +
# Créez un object pour moteur pas-à-pas avec '''AF_Stepper(nbre_pas, numéro_moteur)''' pour initialiser le pont-H et les latch.'' '''nbre_pas''' '' combien de pas sont nécessaire au moteur pour faire une tour.<br />.'' '''Numéro_moteur''' '' indique à quel port (bornier) le moteur est raccordé. Si vous utilisez les bornes M1 et M2, c'est le port 1. Si vous utilisez M3 et M4 c'est le port 2
 +
# Définissez la vitesse du moteur en utilisant '''setSpeed(rpm)''' where '' '''rpm''' '' est le nombre de tours/révolutions par minute auquel vous voulez que le moteur tourne.
 +
# Ensuite, à chaque fois que vous voulez mettre le moteur en mouvement, il suffit appeler la procédure '''step(nbre_de_pas, direction, type_de_pas)'''.<br />Vous pouvez modifier le type de pas à n'importe quel moment selon que vous avez besoin d'utiliser un minimum de puissance, un maximum de couple ou plus de précision.
 +
## '' '''nbre_de_pas''' '' est le nombre de pas dont vous voulez que le moteur tourne.
 +
## La '' '''direction''' '' est soit '''FORWARD''' (avant) ou '''BACKWARD''' (arrière)
 +
## '' '''Type_de_pas''' '' peut être soit '''SINGLE, DOUBLE. INTERLEAVE''' ou '''MICROSTEP'''.<br />"Single" signifie single-coil activation (activation d'un seul bobinage) et utilise un minimum de puissance,<br />"double" signifie que les deux bobinage sont activés à la fois (pour un couple plus important),<br /> "interleave" signifie que les bobinages sont activées en alternance entre simple et double ("single" et "double") pour obtenir le double de résolution (mais aussi la moitié de la vitesse).<br />Enfin, "Microstepping" est une méthode où les bobinage sont contrôlé en PWM pour créer un mouvement plus fluide entre les pas.<br />[http://www.ladyada.net/make/mshield/resources.html Il y a des tonnes d'information concernant les "pour" et "contre" des différents types de contrôle de pas dans les pages de ressources] (LadyAda, Anglais).
 +
# Par défaut, le moteur maintient sa position après la rotation (en pas). Si vous désirez désactiver les bobinages pour permettre au moteur de tourner librement, vous pouvez appeler la procédure '''release()'''
 +
# Les commandes de contrôle de pas sont 'bloquante' et rendrons la main au programme une fois tous les pas accomplis. Si quelqu'un désire être épatant, il peut écrire une librairie qui traite les opérations de pas-à-pas en tâche de fond... ca serait super cool! :)
    
  <nowiki>#include <AFMotor.h>
 
  <nowiki>#include <AFMotor.h>
Ligne 187 : Ligne 203 :     
void setup() {
 
void setup() {
   Serial.begin(9600);          // set up Serial library at 9600 bps
+
   Serial.begin(9600);          // configure la connexion série a 9600 bauds
   Serial.println("Stepper test!");
+
   Serial.println("Test pas-a-pas!");
   −
   motor.setSpeed(10);  // 10 rpm  
+
   motor.setSpeed(10);  // 10 rpm (rotation par minute) 
    
   motor.step(100, FORWARD, SINGLE);  
 
   motor.step(100, FORWARD, SINGLE);  
Ligne 211 : Ligne 227 :  
}</nowiki>
 
}</nowiki>
   −
If you want two stepper motors to step at once you'll need to write something like this:
+
Si vous voulez que les deux moteurs pas-à-pas fonctionnent en même pas, vous devez utiliser un comme comme ce qui suit:
    
  <nowiki>void doublestep (int steps, int direction, int style) {
 
  <nowiki>void doublestep (int steps, int direction, int style) {
Ligne 220 : Ligne 236 :  
}</nowiki>
 
}</nowiki>
    +
== Ressources ==
 +
* [http://homepage.cs.uiowa.edu/~jones/step/types.html Types de moteurs pas-à-pas] et commande des bobine (anglais,  Douglas W. Jones, THE UNIVERSITY OF IOWA Department of Computer Science)
   −
{{ADF-Accord}}
+
{{Motor-Shield-TRAILER}}
 
  −
{{MCH-Accord}}
 
29 917

modifications

Menu de navigation