Hey,
ich heute mir das teil auch mal bestellt, schade nicht wenn man es da hat.
jedoch ist die Lieferzeit von 11 bis 24 Wochen natürlich nicht gerade etwas das man es gleich morgen hat, es dauert also noch bis ich es hier habe.
Heute habe ich dann auch noch ein Paar Tests gemacht, mit der Rampe und dem entsprechenden Umpolen am Treiber direkt.
Der Code denn ich verwendet habe:
#include <AccelStepper.h> // Installiren der AccelStepper LIB
int PUL_A = 3; // Tackt Signal
int DIR_A = 2; // Drehrichtungs Signal
AccelStepper Achse_A(1, PUL_A, DIR_A); // (1, PUL, DIR) Motoren Installiren
void setup()
{
// Achse_A.setPinsInverted (false, false, false);
Achse_A.setAcceleration(1000.0); // Beschleunigung (Schritten pro Sekunde)
Achse_A.setMaxSpeed(4000.0); // Geschwindigkeit (Schritten pro Sekunde)
Achse_A.move(320000.0); // Auszuführende Schritte
} // void setup
void loop()
{
Achse_A.run(); // Schritte ausführen
} // void loop
Mein Treiber kann nur 1/2 Schritte und somit brauche ich 400 Schritte für eine Umdrehung.
so meine Test Ergebnisse:
TEST 1
Brücke für: DIR +, PUL + und ENA +
Beschleunigung = 200.0
Speed = 2,000.0 endspricht 300 RPM
Schritte = 320,000 (endspricht 800 Umdrehungen)
Gemessene RPM = 286.8 bis 299.0
-
TEST 2*
Brücke für: DIR +, PUL + und ENA +
Beschleunigung = 200.0
Speed = 4,000.0 endspricht RPM 600,00
Schritte = 320,000 (endspricht 800 Umdrehungen)
Gemessene RPM = 590.8 bis 592.4 -
TEST 3*
Brücke für: DIR -, PUL - und ENA -
Beschleunigung = 200.0
Speed = 2,000.0 endspricht 300 RPM
Schritte = 320,000 (endspricht 800 Umdrehungen)
Gemessene RPM = 299.0 bis 299.4 -
TEST 4*
Brücke für: DIR -, PUL - und ENA -
Beschleunigung = 200.0
Speed = 4,000.0 endspricht RPM 600,00
Schritte = 320,000 (endspricht 800 Umdrehungen)
Gemessene RPM = 592.0 bis 592.4 -
TEST 5*
Brücke für: DIR -, PUL - und ENA -
Beschleunigung = 800.0
Speed = 4,000.0 endspricht RPM 600,00
Schritte = 320,000 (endspricht 800 Umdrehungen)
Gemessene RPM = 592.0 bis 592.4 -
TEST 6*
Brücke für: DIR -, PUL - und ENA -
Beschleunigung = 1000.0
Speed = 4,000.0 endspricht RPM 600,00
Schritte = 320,000 (endspricht 800 Umdrehungen)
Gemessene RPM = 590.0 bis 592.3
Ob ich jetzt Code seitig die Ausgabe Logik die Signale wechsle macht überhaupt keinen unterschied.
Achse_A.setPinsInverted (false, false, false);
Was mich wirklich etwas ärgert ist das die errechneten Drehzahlen nahezu eingehalten wurden auch wenn ich die Beschleunigung geändert habe, jetzt muss ich schauen was für einen Stuss ich vorher gemacht habe und warum sich dabei die Drehzahlen so geändert haben.
Das Passt jetzt erst mal, hoffe ich.
Ich versuche jetzt meine Funktionen die ich alle haben möchte zu erstellen.
Erst mal ein Dies Dank an euch alle, das Ihr mir hier geholfen habt, bei meinen Verwirrungen.
Gruß Mücke