Motor paso a paso 28BYJ-48 con librería

Hola a todos

Hace unos dias recibí el motor 28BYJ-48 y me viene con el driver ULN2003. Con un sketch hecho a pelo sin librería funciona perfectamente pero si utilizo la que viene con el IDE no. Se mueve el eje muy ligeramente y en un solo sentido, cuando el programa le está diciendo que gire una vuelta, espere un segundo y gire otra vuelta en sentido contrario.
Este es el sketch que utilizo:

#include <Stepper.h>
Stepper miStepper(64, 8, 9, 10, 11);
void setup() {
** miStepper.setSpeed(60);**
}
void loop() {
** miStepper.step(64);**
** delay(1000);**
** miStepper.step(-64);**
** delay(1000);**
}

Si se mueve lento estudia esto ** miStepper.setSpeed(60);**

se mueve lento y aparte no hace lo que le dice el skecth...

Muestra como tienes cableado todo?
Buscaste como se usa la librería y porque definió

Stepper miStepper(64, 8, 9, 10, 11);// ?

DarylMike:
se mueve lento y aparte no hace lo que le dice el skecth...

Ese motor lleva una reductora interna de 1/64,por lo que los pasos no se corresponden con el giro final del motor,y tendrias que modificar la declaracion de miStepper:

Stepper miStepper(2048, 8, 9, 10, 11); // 32 pasos del motor * 64 de la reductora

Por eso mismo ,60 rpm es demasiado para ese motor ,para que el eje vaya a 60 rpm ,imagina como ira el motor....no recomiendan pasar de las 15 rpm como mucho.
Para dar una vuelta completa:

#include <Stepper.h>
Stepper miStepper(2048, 8, 9, 10, 11);
void setup() {
  miStepper.setSpeed(15);
}
void loop() {
  miStepper.step(2048);
  delay(1000);
  miStepper.step(-2048);
  delay(1000);
}

he cambiado el valor por 2048 y nada... ahora vibra y no se mueve... no entiendo nada :frowning:

Al final he cambiado a la librería AccelStepper y el motor funciona sin problemas.
La he probado con este codigo:

#include <AccelStepper.h>
#define HALFSTEP 8

// Motor pin definitions
#define motorPin1 8 // IN1 on the ULN2003 driver 1
#define motorPin2 9 // IN2 on the ULN2003 driver 1
#define motorPin3 10 // IN3 on the ULN2003 driver 1
#define motorPin4 11 // IN4 on the ULN2003 driver 1

// Initialize with pin sequence IN1-IN3-IN2-IN4 for using the AccelStepper with 28BYJ-48
AccelStepper stepper1(HALFSTEP, motorPin1, motorPin3, motorPin2, motorPin4);

void setup() {
stepper1.setMaxSpeed(1000.0);
stepper1.setAcceleration(100.0);
stepper1.setSpeed(200);
stepper1.moveTo(2000);

}//--(end setup )---

void loop() {
//Change direction when the stepper reaches the target position
if (stepper1.distanceToGo() == 0) {
stepper1.moveTo(-stepper1.currentPosition());
}
stepper1.run();
}