Pololu a4988 problema

Hola,

Tengo un pololu a4988 para controlar un motor paso a paso, pero no funciona, no manda señal a las bobinas del motor. He intentado regulando el potenciómetro pero tampoco consigo que funcione.

Lo tengo conectado como en el esquema que adjunto.

El pin 48 (enable) esta en LOW
El pin 46 (MS1) esta en LOW
El pin 44 (MS2) esta en LOW
El pin 42(MS3) esta en LOW

Según el datasheet estando estos cuatro en LOW debería funcionar en FULL.
Adjunto el datasheet: http://www.pololu.com/file/0J450/a4988_DMOS_microstepping_driver_with_translator.pdf

Os agradecería mucho si me pudieses comentar que está mal.

El código es el siguiente:

#include <AccelStepper.h>

AccelStepper stepper(1,30,32);

void setup()
{
stepper.setMaxSpeed(60);
stepper.setSpeed(50);
pinMode(48,OUTPUT);
pinMode(46,OUTPUT);
pinMode(44,OUTPUT);
pinMode(42,OUTPUT);
digitalWrite(48,LOW);
digitalWrite(46,LOW);
digitalWrite(44,LOW);
digitalWrite(42,LOW);
}

void loop()
{
stepper.runSpeed();
}

hola buenas.soy novato en esto pero muy muy novato en esto.aun asi estoy intentando hacerme una cnc con 3 a4988. y lo que si te puedo decir es que para mover un motor .necesito usar los pines dir , steep y rest.

usa este codigo modificandolo segun tu configuracio y ya nos cuentas:

int velocidad = 2;
int direccion = 3;
int reset = 9;
int pasos = 3500;

// the setup routine runs once when you press reset:
void setup() {
// initialize the digital pin as an output.
pinMode(velocidad, OUTPUT);
pinMode(direccion, OUTPUT);
pinMode(reset, OUTPUT);
}

// the loop routine runs over and over again forever:
void loop() {
digitalWrite(reset, LOW); //Mientras reset este en LOW el motor permanecerá apagado y no sufrirá. El chip apagará todos los puertos y no leerá comandos.
delay(100);
digitalWrite(reset, HIGH); //Cuando reset se encuentre en HIGH el motor arrancará y leerá los comandos enviados.
digitalWrite(direccion, HIGH);

for (int i = 0; i<pasos; i++) //Equivale al numero de vueltas (200 es 360º grados) o micropasos
{
digitalWrite(velocidad, HIGH); // This LOW to HIGH change is what creates the
digitalWrite(velocidad, LOW); // al A4988 de avanzar una vez por cada pulso de energia.
delayMicroseconds(1700); // Regula la velocidad, cuanto mas bajo mas velocidad.

}

digitalWrite(reset, LOW); //Mientras reset este en LOW el motor permanecerá apagado y no sufrirá. El chip apagará todos los puertos y no leerá comandos.
delay(100);
digitalWrite(reset, HIGH); //Cuando reset se encuentre en HIGH el motor arrancará y leerá los comandos enviados.
digitalWrite(direccion, LOW);

for (int i = 0; i<pasos; i++) //Equivale al numero de vueltas (200 es 360º grados) o micropasos
{

saludos