Hallo zusammen,
vorweg, ich bin was programmieren angeht nicht wirklich fit und habe dort noch meine Schwierigkeiten, also bitte nicht zu streng sein :)
Für mein kleines Projekt möchte ich gerne einen Schrittmotor mit konstanter Drehzahl zum laufen bringen. Ich habe mir dazu folgende Komponenten angeschafft:
-Schrittmotor Nema 23 (Datenblatt dazu im Anhang) -Schrittmotortreiber DRV8825 -Ramps 1.4 Board mit Arduino Mega 2560 -Netzteil (Ausgang 12V)
Nach reichlicher Recherche und Probieren, bin ich auf folgenden Code gestoßen:
#define X_STEP_PIN 54 #define X_DIR_PIN 55 #define X_ENABLE_PIN 38
#include "AccelStepper.h"
AccelStepper stepper(1, X_STEP_PIN, X_DIR_PIN);
void setup() { stepper.setEnablePin(X_ENABLE_PIN); stepper.setPinsInverted(false, false, true); //invert logic of enable pin stepper.enableOutputs();
// Alternativ müssten die folgenden Zeilen auch funktionieren, weis nur nicht sicher was mehr Sinn macht!! //pinMode(X_ENABLE_PIN , OUTPUT); //digitalWrite(X_ENABLE_PIN , LOW);
stepper.setMaxSpeed(400128); stepper.setSpeed(100128); stepper.setAcceleration(1000); }
void loop() { stepper.runSpeed(); }
Außerdem habe ich noch diesen Code gefunden:
#include "AccelStepper.h"
AccelStepper stepper(1, 54, 55);
int pos = 100000;
void setup() {
stepper.setMaxSpeed(100); stepper.setAcceleration(1000);
stepper.setEnablePin(38); stepper.setPinsInverted(false, false, true); //invert logic of enable pin stepper.enableOutputs(); }
void loop() {
stepper.move(pos); stepper.runSpeed(); }
Nun zu meinem Problem:
Bei beiden Codes vibriert der Motor nur und macht keine Umdrehungen. Die Motorwelle dreht sich so gut wie gar nicht, nur der ganze Motor vibriert. Mein Motor hat einen Schrittwinkel von 0,039°, muss ich deshalb noch etwas am Programmcode anpassen? Weiß zufällig jemand, wieso der Motor nur vibriert und keine Umdrehungen macht?
Ich kann durch das Belegen von Jumper auf dem Ramps 1.4 Board die Schritte wie folgt ändern:
jumper Yes/No step size 1 2 3 no no no full step yes no no half step no yes no 1/4 step yes yes no 1/8 step no no yes 1/16 step yes no yes 1/32 step no yes yes 1/64 step yes yes yes 1/128 step
Ich habe auch schon am Treiber DRV8825 den Strom verstellt, leider hat das auch kein UNterschied gemacht, bis dass bei zu geringem Strom, der Motor auch nicht mehr vibriert.
Durch weiteres probieren und googeln komme ich leider nicht weiter und wende mich deshalb hier an die Community, in der Hoffnung, dass mir jemand weiterhelfen kann. Über jede hilfreiche Antwort wäre ich sehr dankbar!
Danke schonmal für jede konstruktive Antwort.
Grüße, Luis