Hi,
ich bin gerade dabei ein kleines Projekt mit einem Arduino Nano (v3.2) und einem Nema 11 Schrittmotor zu realisieren. Der Motor wird über ein DRV8825 Modul von Pololu angesteuert und mit 12 V Betriebsspannung versorgt.
Das Programm soll folgendermaßen ablaufen:
- Motor dreht eine ganze Umdrehung mit vorab definierter Geschwindigkeit
- Motor schaltet ab und wartet 2000 ms
- Schleife beginnt von Neuem
Ich habe dazu folgenden Sketch aufgesetzt:
#include <AccelStepper.h>
#define dirPin 2
#define stepPin 3
#define enaPin 4
#define motorInterfaceType 1
AccelStepper stepper = AccelStepper(motorInterfaceType, stepPin, dirPin);
void setup() {
stepper.setMaxSpeed(32000);
}
void loop() {
digitalWrite(enaPin, LOW);
while (stepper.currentPosition() != 6400)
{
stepper.setSpeed(12800);
stepper.runSpeed();
}
digitalWrite(enaPin, HIGH);
delay(2000);
}
Es funktioniert auch fast alles wie ich es mir vorstelle, nur beginnt "void loop()" am Ende der Schleife nicht erneut. Wenn ich den Arduino mit Strom versorge, dreht sich der Motor um genau eine Umdrehung, dann wird er deaktiviert. Und in diesem Status bleibt dann alles bis der Arduino neu gestartet wird. Ich verstehe einfach nicht wo mein Fehler liegen könnte.
Wenn ihr weitere Infos zu meinen Komponenten benötigt, lasst es mich wissen. Den Schaltplan habe ich nur händisch skizziert, ich kann aber bei Bedarf noch eine digitale Version anfertigen und hochladen.
VG
Steph