J'ai un petit problème avec mon moteur pas à pas : quand je met le programme d'exemple ci-dessous, il ne fonctionne pas. J'ai volontairement changé les Pins car je suis sur que c'est celle-là. J'en suis sur car avec un programme pour moteur DC, c'est sur ces Pins que le moteur tourne. Cependant il ne tourne pas avec le programme d'exemple pour pas à pas... J'aimerai savoir ce qu'il ne va pas car c'est un programme d'exemple tout de même. Ca ne vient ni de l'alim, ni du moteur car il a tourné avec le programme pour moteur DC.
#include <Stepper.h>
const int stepsPerRevolution = 200; // change this to fit the number of steps per revolution
// for your motor
// initialize the stepper library on pins 8 through 11:
Stepper stepper(stepsPerRevolution, 8,11,12,13);
void setup() {
// set the speed at 60 rpm:
stepper.setSpeed(60);
// initialize the serial port:
Serial.begin(9600);
}
void loop() {
// step one revolution in one direction:
Serial.println("clockwise");
stepper.step(stepsPerRevolution);
delay(500);
// step one revolution in the other direction:
Serial.println("counterclockwise");
stepper.step(-stepsPerRevolution);
delay(500);
}
Entre mon moteur et l'arduino bah y'a le shield, et le moteur pas à pas fonctionne avec le programme pour moteur DC, sauf qu'il fait pas de tour régulier, il tourne dans tous les sens. Et avec le programme exemple d'arduino pour moteur pas à pas bah... ça tourne pas
Apparament les broches enables ne sont pas activé... On a fait des test avec un oscilloscope, les pins fonctionnent, sauf les enables. Et je ne sais pas comment les activer
#include <Stepper.h>
const int stepsPerRevolution = 200; // change this to fit the number of steps per revolution
int speedpinA=9; // for your motor
int speedpinB=10;
// initialize the stepper library on pins 8 through 11:
Stepper myStepper(stepsPerRevolution, 8,11,12,13);
void setup() {
// set the speed at 60 rpm:
myStepper.setSpeed(60);
analogWrite(speedpinA,stepsPerRevolution);//input a simulation value to set the speed
analogWrite(speedpinB,stepsPerRevolution);
// initialize the serial port:
Serial.begin(9600);
}
void loop() {
// step one revolution in one direction:
myStepper.step(stepsPerRevolution);
delay(500);
// step one revolution in the other direction:
myStepper.step(-stepsPerRevolution);
delay(500);
}
Le moteur tourne avec ce programme.. J'ai juste ajouté des analogWrite et il s'est mis a tourné...
Sauf que j'ai cramé l'alim qui supportait que 1 ampère, alors que le moteur à lui tout seul en consomme 2.. 1A / phase sur la fiche technique c'est pas un peu énorme pour un moteur pas à pas tout petit en plus à 200 pas ?
Et sur le shield motor, c'est marqué Output Current(for each channel), c'est censé vouloir dire quoi ?
Merci de m'aider ^^
Kevindu55:
le moteur à lui tout seul en consomme 2.. 1A / phase sur la fiche technique c'est pas un peu énorme pour un moteur pas à pas tout petit en plus à 200 pas ?
La consommation n'a rien à voir avec le nombre de pas. Elle ne dépend que de la conception du bobinage.
Trop long à expliquer. Pour plus d'info, documente toi sur le fonctionnement d'un MAP.
Kevindu55:
Et sur le shield motor, c'est marqué Output Current(for each channel), c'est censé vouloir dire quoi ?
Merci de m'aider ^^
C'est pourtant clair :
Output = sortie
Current = courant
each chanel = chaque voie
En français cela veut dire que le "shield motor" peut supporter "x" ampères pour chaque bobinage.
Et que si tu dépasses la limite indiquée tu peux en recommander un autre.
68tjs:
En français cela veut dire que le "shield motor" peut supporter "x" ampères pour chaque bobinage.
Et que si tu dépasses la limite indiquée tu peux en recommander un autre.