GRBL-Code funktioniert, Arduino-Code funktioniert nicht mehr

Hallo Leute,

ich habe ein seltsames Problem. Meine Shapeoko2-Fräse (ohne Fräskopf, dafür mit Kamera) funktioniert, wenn ich sie mit einem GRBL-Code ansteuere, ganz normal. Aber wenn ich einen Arduino-Code, wie den folgenden aufspiele, geht gar nichts. Bisher war das nie ein Problem. >:(

Die A4988 Treiber sind neu. Sie haben einen Rs von 0,05 ohm. Die Nema17-Steppermotoren können 2,5A. Also Poti auf 0,7 V eingestellt. Als Spannungsquelle dient ein Toshiba Notebook Netzteil mit einem Output von 19V und 4,74A.
Das GRBL-Shield sieht folgendermaßen aus:
http://shop.myhobby-cnc.de/bauteile/elektronische-bauteile/aktive/42/grbl-shield-fuer-pololu-treiber

Die Kondensatoren sind in Ordnung, die sind oben vollkommen glatt. Ich habe alles durchgemessen auch am A4988. Da fällt mir nichts auf.

An den Motoren kommt nichts an. Woran kann das liegen?

Der Test-Code hatte sonst funktionert:

#include <Arduino.h>

// Achsen Belegung der Ausgänge
int dirPin_X = 5;
int stepperPin_X = 2;

int dirPin_Y = 6;
int stepperPin_Y = 3;

int dirPin_Z = 7;
int stepperPin_Z = 4;

unsigned long move_x =1000;
unsigned long move_y =1000;
unsigned long move_z =200;
unsigned long interval;

void setup()
{
  Serial.begin (9600);
  pinMode(dirPin_X, OUTPUT);
  pinMode(stepperPin_X, OUTPUT);
  pinMode(dirPin_Y, OUTPUT);
  pinMode(stepperPin_Y, OUTPUT);
  pinMode(dirPin_Z, OUTPUT);
  pinMode(stepperPin_Z, OUTPUT);

  }
  
void loop()
   {
  static unsigned long lastMillis = 0;
  unsigned long currentMillis = millis();
  static byte step = 1;
 
  if(currentMillis - lastMillis >= interval)
  {
    lastMillis = currentMillis;
      if (++step ==4) step =1;
    }
 
    switch (step)
    {
      case 1:
      digitalWrite(dirPin_X, 1);
      digitalWrite(stepperPin_X, 1);
      delayMicroseconds(300);
      digitalWrite(stepperPin_X, 0);
      delayMicroseconds(300);
      interval = move_x;
      break;
            
      case 2:
      digitalWrite(dirPin_Y, 1);
      digitalWrite(stepperPin_Y, 1);
      delayMicroseconds(300);
      digitalWrite(stepperPin_Y, 0);
      delayMicroseconds(300);
      interval = move_y;      
      break;
      
      case 3:
      digitalWrite(dirPin_Z, 1);
      digitalWrite(stepperPin_Z, 1);
      delayMicroseconds(700);
      digitalWrite(stepperPin_Z, 0);
      delayMicroseconds(700);
      interval = move_z;
      break;
      }
   }

Ok...hat sich erledigt. Läuft wieder, war ein Wackelkontakt :confused: