Bonjour à tous
Je fabrique pour mon plaisir personnel une horloge avec un mouvement planetaire et j'ai choisi de la faire tourner avec un moteur pas à pas unipolaire ( de la recup de scanner) et d'un driver uln2003. le tout controlé par wemos d1 minipro. Le montage fonctionne, le moteur tourne, mais pas comme je le voudrait !
J'utilise la bibliothèque stepper.h
Si j'upload le programme d'exemple stepper one revolution qu'on trouve dans la bibliothèque stepper, pas de soucis
Si j'envoie le programme modifié pour qu'il tourne non pas de 200 step mais de 500, ca ne fonctionne plus ( il fonctionne 5 sec puis s’arrête et reprend à nouveau
Si j'envoie le programme ci dessous : mème constat
#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 myStepper(stepsPerRevolution, 5, 4, 0, 2);
void setup() {
// set the speed at 60 rpm:
myStepper.setSpeed(60);
// initialize the serial port:
Serial.begin(9600);
}
void loop() {
// step one revolution in one direction:
Serial.println("clockwise");
for (long compteur = 0; compteur < 1000; compteur++)
{
myStepper.step(1);// code à exécuter
}
Si je ne met que le code ci dessous dans le loop, le moteur fonctionne correctement en continu.
myStepper.step(1)
Je suppose donc que c'est un problème de variable, ( j'avais remplacé le int par long , mais ca n'a rien changé) . Pouvez vous m'apporter une solution pour que je puisse envoyer plus de 256 ( je suppose ?) steps au moteur.
J'espère avoir été clair dans les descriptions de mon problème
Cordialement Olivier
Merci d'avance