Hallo Franz-Peter,
deine MoBa Tools Seiten finde ich super.
Ich habe mit, Servo`s und Schrittmotor 28BYJ-48 mit Treiberplatine ULN2003,
auf meiner Anlage schon viel in Bewegung gesetzt.
Jetzt befasse ich mich mit Schrittmotor NEMA 17 und Treiber A4988.
Im Moment tu ich mich etwas schwer. Ich würde mich freuen, wenn der Schrittmotor
wenigstens ein paar Schritte macht.
Kannst du mir helfen und mir erklären, was ich falsch gemacht habe.
Danke im Voraus
Gruß Bernd
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
#include <MobaTools.h>
const byte stepPin = 3; // StepPin des A4988
const byte dirPin = 4; // DirPin des A4988
const byte enablePin = 6; // Sleep/Reset des A4988
const int MS1 = 8; // Microstep Auflösung
const int MS2 = 9; // Microstep Auflösung
const int MS3 = 10; // Microstep Auflösung
MoToStepper MotorA (200, A4988); // NEMA17 über A4988-Treiber
void setup()
{
pinMode(enablePin, OUTPUT); // Sleep/Reset des A4988
pinMode(MS1, OUTPUT);
pinMode(MS2, OUTPUT);
pinMode(MS3, OUTPUT);
digitalWrite(MS1, LOW); // Full Step
digitalWrite(MS2, LOW); // Full Step
digitalWrite(MS3, LOW); // Full Step
MotorA.attach( stepPin, dirPin ); // Anschluß Stepper an digitalen Ausgängen
MotorA.attachEnable ( enablePin, 6, LOW ); // Anschluß Stepper an digitalen Ausgängen
}
void loop()
{
MotorA.setSpeed(500); // Setzen der Geschwindigkeit in rpm*10
MotorA.setRampLen(100); // Setzen der Rampenlänge
MotorA.rotate(1); // Drehrichtung ( -1 = links, 1 = rechts )
MotorA.writeSteps(2000); // Auszuführende Schritte
while ( MotorA.moving() ) ; // Warten bis Stepper angekommen ist
delay(2000);
}