Hilfe bei einen Nema 17

Also hier mal ein kleiner Sketch, der anhand der Einstellungen on Steps die der Motor hat (200/U) und den eingestellten Microsteps (bei Dir 16) berechnet , wieviele impulse (Steps) in der Minute gesendet werden müssen und wie lange das Intervall zwischen 2 schriten sein muss, um auf die erforderliche Anzahl Schritte / Minute zu kommen, damit der Motor 1 Umdrehung in der Minute macht.


```cpp
uint8_t microStep = 16;         // eingestellte Microstep vom TMC2208
uint8_t mot_Step_pro_U = 200;  // Step's / Umdrehung des Motors entspricht Schrittwinkel 1.8°
uint16_t step_pro_Umdrehung = microStep * mot_Step_pro_U; // erforderliche Schritte für eine Umdrehung
uint32_t Intervall = 60000/step_pro_Umdrehung;            // zeitabstand zwischen 2 Steps in Millisekunden
uint32_t intervallStart = 0;
uint8_t dirPin =  4;           // Pin für Motor Drehrichtung
uint8_t stepPin = 7;           // Pin für die Schritt Impulse



void setup() {
  // put your setup code here, to run once:
pinMode(dirPin, OUTPUT);  //Define pins and set direction
pinMode(stepPin, OUTPUT);
digitalWrite(stepPin, LOW);
intervallStart = millis();  // start für die Zeitmessung um die richtige Anzahl Steps/Minute zu senden
}

void loop() {
  // put your main code here, to run repeatedly:
  if(millis() - intervallStart >= Intervall) {  //wenn das intervall zwisschen 2 Steps abgelaufen
    intervallStart = millis();                  // neue intervall Messung initiieren
    sende_1_Step();                               // 1 Step an den Motortreiber senden
  }
}

void sende_1_Step() {
digitalWrite(stepPin, HIGH);
delayMicroseconds(2);       // 100ns, also 0.1 Mikrosekn würden dem TMC2208 reichen einen Impuls zu erfassen 
digitalWrite(stepPin, LOW);
}