Willkommen! Anmelden Ein neues Profil erzeugen

Erweiterte Suche

Schrittmotor mit Ramps 1.4 und Schrittmotortreiber DRV8825

geschrieben von Luis2801 
Schrittmotor mit Ramps 1.4 und Schrittmotortreiber DRV8825
23. July 2024 03:29
Hallo zusammen,

vorweg, ich bin was programmieren angeht nicht wirklich fit und habe dort noch meine Schwierigkeiten, also bitte nicht zu streng sein :wink:

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(400*128);
stepper.setSpeed(100*128);
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
Anhänge:
Öffnen | Download - 23HS30-2804S-PG47_Full_Datasheet.pdf (139.8 KB)
VDX
Re: Schrittmotor mit Ramps 1.4 und Schrittmotortreiber DRV8825
23. July 2024 03:46
... wenn das Teil "nur vibriert", dann ist meistens - entweder die Ansteuerung viel zu schnell oder/und der Strom zu niedrig ... oder der Anschluß der Spulen stimmt nicht (z.B. nur eine in Betrieb)


Viktor
--------
Aufruf zum Projekt "Müll-freie Meere" - [reprap.org] -- Deutsche Facebook-Gruppe - [www.facebook.com]

Call for the project "garbage-free seas" - [reprap.org]
Re: Schrittmotor mit Ramps 1.4 und Schrittmotortreiber DRV8825
23. July 2024 04:20
Hallo Viktor,

vielen Dank für deine Rückmeldung.

Zum Thema Stromversorgung kann ich sagen, dass der DRV8825 2,5A liefert und mein Schrittmotor laut Datenblatt bei maximaler Leistung 2,8A benötigt. Allerdings sollte mit den 2,5A der Motor sich ja trotzdem bewegen oder? Er hat zwar dann nicht seine volle Leistung, aber in meinem Anwendungsfall ist das auch nicht zwingend nötig, da ich vorerst einmal den Motor nur drehen lassen möchte in einer konstanten Drehzahl.

Zum Thema Ansteuerung zu viel: Was bedeutet das genau, bzw. wie kann ich dann die Ansteuerung langsamer machen? Über den Code oder?

Anschluss der Spulen habe ich getestet, dass sollte soweit passen.

Viele Grüße Luis
VDX
Re: Schrittmotor mit Ramps 1.4 und Schrittmotortreiber DRV8825
23. July 2024 08:14
... zum Strom - wenn die Parameter sonst passen, kann der Strom auch weniger sein - ich lasse z.B. NEMA-23-Stepper, die für 2.5A spezifiziert sind, auch mit "nur" 1.5A laufen ... die schaffen immer noch bis 400mm/s bei einem meiner Pastedispenser mit "schwerer" CNC-Mechanik und Zahnriemen.

Wegen der Schrittfrequenz - schau mal, was du bei der Voreinstellung reduzieren kannst ... sonst setze die setSpeed auf 1/10 oder noch weniger ...


Viktor
--------
Aufruf zum Projekt "Müll-freie Meere" - [reprap.org] -- Deutsche Facebook-Gruppe - [www.facebook.com]

Call for the project "garbage-free seas" - [reprap.org]
Re: Schrittmotor mit Ramps 1.4 und Schrittmotortreiber DRV8825
23. July 2024 11:11
Hallo Viktor,

vielen Dnak für deine Nachricht!
Alles klar, dann sollte der Strom bei mir auch ausreichend sein, dann dürfte das schon mal nicht das Problem sein.

Hat die Schrittfrequenz auch etwas damit zu tun, wie ich meine Jumper belege? Könnte das evtl. auch ein Grund sein, dass mein Motor nur vibriert? Am Code habe ich nun verschieden Änderungen vorgenommen, leider hat sich bsiher kein UNterschied gezeigt.

Ich habe auch wie von dir beschrieben einmal die Anschlüsse der Spulen überprüft. Das komische dabei ist jedoch, egal wie ich die Kabel (A+, A-, B+, B-) am Ramps Board auf dem x-Steckplatz anschließe, der Motor vibriert immer. Das dürfte doch normal nicht so sein oder?

Viele Grüße Luis
VDX
Re: Schrittmotor mit Ramps 1.4 und Schrittmotortreiber DRV8825
23. July 2024 15:30
... die maximale Schrittfrequenz hängt von der Mikroschritt-Auflösung bzw. der Jumper-Einstellung ab - je "feinere" Mikroschritte, umso schneller kann der Stepper angesteuert werden.

Wenn du die Spulen-Paare einzeln "herumdrehst", dann ändert sich auch die Drehrichtung des Motors ... am "Vibrieren" wird sich dabei nichts ändern.

Hast du ein Oszilloskop oder einen Bekannten der eins hat? - damit könntest du die Schrittfrequenz messen und im Datenblatt zum Stepper vergleichen, was der überhaupt kann ...


Viktor
--------
Aufruf zum Projekt "Müll-freie Meere" - [reprap.org] -- Deutsche Facebook-Gruppe - [www.facebook.com]

Call for the project "garbage-free seas" - [reprap.org]
Re: Schrittmotor mit Ramps 1.4 und Schrittmotortreiber DRV8825
24. July 2024 07:56
Hallo Viktor,

vielen Dank für deine Rückmeldung!

Ich habe mittlerweile herausgefunden, dass sich der Motor sogar minimal dreht. Das heißt, er vibriert und dreht sich minimal, ich ahbe dazu auch mal ein Video hochgeladen zum besseren Verständnis.
Wenn ich den Jumper bspw. so belege, dass 1/16 Schritte stattfinden sollten (letzter Jumper wird gesteckt) dann passiert am Motor gar nichts mehr. Er vibriert nicht mehr und dreht sich auch nicht mehr.

Leider habe ich kein Oszilloskop, ich kann allerdings mal nachfragen, ob jemand eins hat, dann werde ich das einmal testen.

Hast du eine Idee, wieso bei Belegung der Jumper der Motor aufhört zu drehen?

Mir ist auch aufgefallen, dass die Belegung der Spulen so passen müsste, denn wenn ich die Kabel nun vertausche, vibriert wie du auch sagst der Motor zwar immer noch, aber er dreht sich nciht mehr minimal. Dieser steht dann still und vibriert nur. Wenn ich die Spulen wieder vertausche, dann kann man wieder erkennen, wie sich der Motor minimal dreht.

Über weitere Ideen oder Vorschläge wäre ich sehr dankbar!

Viele Grüße Luis
Anhänge:
Öffnen | Download - IMG_3849.MP4 (7 MB)
VDX
Re: Schrittmotor mit Ramps 1.4 und Schrittmotortreiber DRV8825
24. July 2024 09:27
... wie ist die Getriebe-Übersetzung? - ich habe z.B. ein paar Stepper mit einem 800:1 Getriebe - da wäre die Drehbewegung bei langsamer Ansteuerung auch seeehr langsam ...


Viktor
--------
Aufruf zum Projekt "Müll-freie Meere" - [reprap.org] -- Deutsche Facebook-Gruppe - [www.facebook.com]

Call for the project "garbage-free seas" - [reprap.org]
Re: Schrittmotor mit Ramps 1.4 und Schrittmotortreiber DRV8825
24. July 2024 11:21
Hallo Viktor,

mein Motor hat ein Planetengetriebe mit einer Übersetzung von 47:1.
Dann dürfte ja aber der Motor nicht sostark vibrieren oder?
Auch wenn ich die Drehzahl erhöhe, ändert sich an der Bewegungsgeschwindigkeit des Motors leider nichts.
Kann dann vermutlich nicht daran leigen oder?
VDX
Re: Schrittmotor mit Ramps 1.4 und Schrittmotortreiber DRV8825
24. July 2024 14:54
... schraub doch mal das Getrieb ab und probier das mit dem "nackten" Stepper ... dann kannst du auch gleich schauen, ob das Getriebe sauber durchläuft ...


Viktor
--------
Aufruf zum Projekt "Müll-freie Meere" - [reprap.org] -- Deutsche Facebook-Gruppe - [www.facebook.com]

Call for the project "garbage-free seas" - [reprap.org]
Re: Schrittmotor mit Ramps 1.4 und Schrittmotortreiber DRV8825
28. July 2024 04:54
Wo hast Du den Code her? Gib mal den Link dazu.

Diese Werte erscheinen mir sehr hoch:
stepper.setMaxSpeed(400*128);
stepper.setSpeed(100*128);

Reduziere mal die Werte für "stepper.setAcceleration(1000)" auf 100 oder kleiner und schau ob was passiert.

Überprüfe mal den Code mit dem Manual:
void loop() {

stepper.move(pos);
stepper.runSpeed();
}

Anstelle "stepper.runSpeed" probiere mal "stepper.run".

3-mal bearbeitet. Zuletzt am 28.07.24 05:27.
In diesem Forum dürfen leider nur registrierte Teilnehmer schreiben.

Klicke hier, um Dich einzuloggen