Hallo zusammen,
den Motor möchte ich mit einem Arduino Uno Clone yourDroid R3 Entwicklungsboard arduino uno kompatibel | Roboter-Bausatz.de samt CNC-Shield UNO CNC Shield V3 für Arduino kompatible Boards | Roboter-Bausatz.de und DRV8825 DRV8825 Schrittmotor Treiber für CNC und 3D-Drucker | Roboter-Bausatz.de betreiben.
Bis von Ali die Linearschiene kommt, habe ich mir für den Versuchsaufbau diesen Steppermotor gekauft: https://www.omc-stepperonline.com/de/e-serie-nema-17-bipolar-59ncm-84oz-in-2a-42x48mm-4draehte-w-1m-kabel-verbinder-17he19-2004s
Diesen Code verwende ich:
#include <AccelStepper.h>
// Definiere die Pins für den Schrittmotor der Z-Achse
#define STEP_PIN_Z 4
#define DIR_PIN_Z 7
#define ENABLE_PIN 8
// Initialisiere den Schrittmotor der Z-Achse
AccelStepper stepperZ(AccelStepper::DRIVER, STEP_PIN_Z, DIR_PIN_Z);
// Definiere die Schritte pro Umdrehung für deinen spezifischen Motor und Treiber
const int STEPS_PER_REVOLUTION = 200;
void setup() {
// Setze die Pins als Ausgänge
pinMode(STEP_PIN_Z, OUTPUT);
pinMode(DIR_PIN_Z, OUTPUT);
pinMode(ENABLE_PIN, OUTPUT);
digitalWrite(ENABLE_PIN, LOW); // Aktiviere den Treiber
// Setze die maximale Geschwindigkeit und Beschleunigung der Z-Achse
stepperZ.setMaxSpeed(1000); // Maximale Geschwindigkeit in Schritten pro Sekunde
stepperZ.setAcceleration(500); // Beschleunigung in Schritten pro Sekunde^2
}
void loop() {
// Bewege den Schrittmotor der Z-Achse um eine Umdrehung
stepperZ.moveTo(STEPS_PER_REVOLUTION);
stepperZ.runToPosition();
delay(1000); // Warte 1 Sekunde
// Bewege den Schrittmotor der Z-Achse um eine Umdrehung in die entgegengesetzte Richtung
stepperZ.moveTo(-STEPS_PER_REVOLUTION);
stepperZ.runToPosition();
delay(1000); // Warte 1 Sekunde
}
Die Referenzspannung habe ich auf 0,7 V gestellt. Der DRV8825 soll wohl nicht mehr vertragen.
Nun ruckelt der Motor. Er reagiert, aber ruckelt.
Die Frage ist nun, woran das liegt. Ich möchte ungern den Treiber zerstören, in dem ich die Referenzspannung zu hoch einstelle.
Hier der Aufbau. Jumper sind keine gesetzt.
Zum Messen habe ich nur ein Billig-Multimeter.
Was wären denn vernünftige Schritte, um herauszufinden, wieso der Motor ruckelt. Passt der Code? Dann könnte man den schon mal ausschließen. Zieht der Motor zu viel Strom? Kann ich kurzfristig die Referenzspannung erhöhen, um zu sehen, ob sich der Motor ruckelfrei dreht? Sollte ich die Microsteps durchgehen? Falls ja, was wäre dabei zu beachten? Das 12V Netzteil mit 300W/25A sollte für den Versuchsaufbau reichen, oder? Der Motor selbst bewegt ja erstmal keine Last.
