Nema 17 con TB6600

Buenos días.
Al final lo he solucionado.
He conseguido una librería llamada MobaTools y he adaptado uno de los ejemplos que traía a mi proyecto evitando hacer el bucle "for", donde creo que estaba el problema, e incluyendo todo, el encendido del led y el movimiendo del motor repetitivo, dentro de un "if".
De todos modos gracias a todos los que han atendido mi duda.
Dejo el scketch final por aquí por si a alguien le sirve.

#include <MobaTools.h>

int LED = 9;
int ON_OFF_MOTOR = 12;
const byte DIRECCION_MOTOR = 10;
const byte PASOS_MOTOR = 11;
const int PASOS_POR_VUELTA = 1600; //El driver está configurado en 1/16 micropasos
const byte botonPin = 3;
const int velocidad = 1000;
const int intervalopasos = 1000; //Intervalo entre pasos 1 segundo
int PPR = 141;
bool status, statusAnt = false;
bool botonStatus = false;

MoToStepper myStepper ( PASOS_POR_VUELTA, STEPDIR );
MoToTimebase intervall;

void girar_derecha();

void setup() {
   myStepper.attach( PASOS_MOTOR, PASOS_MOTOR );
   myStepper.setSpeed( 300 );
   intervall.setBasetime( intervalopasos );
   pinMode(botonPin, INPUT); // tu pulsador esta conectado entre GND y el PIN, nada mas.
   pinMode(LED, OUTPUT);
   Serial.begin(9600);
}

void loop() {

  status = digitalRead(botonPin);
  if (!status && statusAnt) { // cuando pulses el boton pasa de 1 a 0
    botonStatus = !botonStatus;
    digitalWrite(LED, botonStatus);
    }   
  if (botonStatus) {
    delay(500);
    myStepper.doSteps( PPR );
  }
  statusAnt = status;
}