A4988 + arduino nano Stepper Motor Beschleunigung

/* ====== minimumStepper =======================================
 *  Bare minimum to get a stepper with step/dir driver turning
 */
#include <MobaTools.h>
// Stepper connections - Please adapt to your own needs.
const byte stepPin = 6;
const byte dirPin = 5;

const int stepsPerRev = 200;    // Steps per revolution - may need to be adjusted

MoToStepper stepper1( stepsPerRev, STEPDIR );  // create a stepper instance

void setup() {
  stepper1.attach( stepPin, dirPin );
  stepper1.setSpeed( 300 );              // 30 rev/min (if stepsPerRev is set correctly)
  stepper1.setRampLen( stepsPerRev / 2); // Ramp length is 1/2 revolution
  stepper1.rotate(1);                    // start turning, 1=vorward, -1=backwards                    
}

void loop() {
}

Man nennt das beschleunigen = Drehzahl langsam steigern / abbremsen = Drehzahl langsam verringern "Rampe"
english "ramp"

Man fährt eine Geschwindigkeitsrampe hinauf bzw. hinunter

Mit dem Befehl

  stepper1.setRampLen( stepsPerRev / 2);

kann man die Beschleunigung festlegen.
Der Parameter ist die Anzahl der Schritte die angibt innerhalb wie vieler Schritte auf die Maximalgeschwindigkeit beschleunigt / abgebremst werden soll.

Die Maximalgeschwindigkeit wird mit

setSpeed( 300 ); 

festgelegt.
Die MoBa-Tools haben eine relativ ausführliche Doku.

vgs