Hallole, ich bin etwas am Ende mit meinem Latein, vielleicht kann mir hier jemand helfen.
Folgendes: Arduino Uno steuert über einen A4988 Pololu Treiber einen Nema17 1,8° Motor.
Mein erster Versuch war es, einfach den Schrittmotor eine Umdrehung machen zu lassen:
//DIR und STEP Pins an 3,4
#include <Stepper.h>
const int hstepsPerRevolution = 3200; // 200 steps/rev and 16 microsteps = 3200 steps per rotation
int hmotorSpeed=100;
Stepper hStepper(3200, 3, 4, 10, 11); //initialise stepper
void setup() {
hStepper.setSpeed(hmotorSpeed);
hStepper.step(hstepsPerRevolution);
}
void loop() {
}
Das funktioniert soweit, d.h. ich hab 1/16 Microstepping eingestellt und 3200 steps sind genau eine Umdrehung.
ABER:
Sobald ich z.b. eine größere Strecke fahren will, also z.b. 10 Umdrehungen = 32000 steps, macht er einfach irgendwas, d.h. einmal fährt er random 3 umdrehungen, dann wieder garnicht, dann zuckt er nur kurz.
Treiberstrom ist korrekt eingestellt, der Treiber wurde auch schon gegen einen DRV8825 getauscht, hat nichts geholfen.
Hab ich wo einen Denkfehler, ich hab langsam echt keine Idee mehr.
ps: ja ich hab nichts in der Main Loop, will ja testweise nur eine Strecke fahren und nicht durchgehen.
Danke im Vorraus,
Marco
pps: Motor wurde auch schon getauscht, keine Änderung