Sanftanlauf Stepper

OP #7503644
Lesenswert?

Hi,

ich habe eine Steuerung für einen Schlitten mit Rampe für einen Sanftanlauf des Stepper Motors. Der Schlitten ist schon recht schwer, trotz des sanften bremsen und beschleunigen ruckt die ganze Mimik hier im letzten Schritt, weil dann doch die Masse "stoppt".

Als unbedarfter Softwerker, was sind eure Erfahrungen, den letzten Step so sanft wie möglich zu machen...Rampe weiter runterfahren bringt nichts...was mich wundert...

Danke und Gruß Mario

(Firma: mechapro GmbH) Persönliche Seite #7503649
Lesenswert?

Was hast du denn für einen Treiber? Unterstützt der Mikroschritt? Wenn ja, welche Auflösung ist aktiviert?

Passen Lastmasse und Massenträgheit des Motors zusammen? Sonst "wedelt der Schwanz mit dem Hund". Ein Schrittmotor im open-loop Betrieb ist bei vereinfachter Betrachtung auf die Mechanik nichts anderes als eine Drehfeder. Die Steifigkeit kannst du in gewissen Grenzen über den Strom erhöhen. Wenn die Ankopplung der Last zu weich ist hilft das aber nichts.

Mit freundlichen Grüßen Thorsten Ostermann

#7503793
Lesenswert?

Alle beschriebenen Antworten weisen nicht auf die Problemantik hin. Zuerst muss bei Schrittmotoren (Stepperdrive) eine einwandfreie Laufeigenschaft der Mechanik vorausgesetz werden. Die Eigenschaft des Schrittmotors sollte man kennen und verstanden haben. Denn jeder Stromimpuls auf den Schrittmotor muss das mechanische Widerstandsmoment überwinden so das der Rotor des Motors eine Schritt weiterdeht. Eine "Rampe" ist in der Abbildung nur eine zeitlich veränderte Impulslänge der Stromimpule. Bei einer steigenden Rampe wird die Impulslänge der einzelnen Impulse immer kürzer, und bei einer fallenden Rampe eird die Impulslänge immer größer. Die Stromstärke ist annähernd gleichbleibend weil das mechanische Moment überwunden werden muss. Das zu dieser Frage ! vielleicht ist dir Software nicht passend.

Persönliche Seite #7503833
Lesenswert?

Mario M. schrieb:

was sind eure Erfahrungen, den letzten Step so sanft wie möglich zu machen.

Sich nur um den letzten step zu kümmern ist an der Stelle sicher nicht ausreichend. Die gesamte Mechanik, das Gestänge und die Übersetzung so vorhanden und die Last haben einen Impuls, den man kennen muss.

Das Anlaufen lassen und das Bremsen müssen so gestaltet sein, dass das Spiel im System rasch überwunden und dann das gesamte System kontinuierlich beschleunigt wird, bis die maximale Geschwindigkeit erreicht ist oder die, die man maximal haben darf, damit man noch bremsen kann, wobei das Ausschwingen der Last berücksichtigt werden muss - und das ganze unter Rastmomentüberwindung.

Das erfordert ein genaues Modell. Als Ansatz zum Nachdenken, versuche mal in Gedanken, eine Hantel hochzuheben indem du mit einem sich schon bewegenden Arm unter die Stang greifst: Beim Kontakt braucht es etwas Verzögerung, damit es nicht zu einem Aufprall kommt und das Gewicht angelupft wird und nicht geschlagen, wie ein Golfball. Sobald das Ding auf Tempo ist, muss man genau so viel rausnehmen, dass der Schwung die Hantel bis in den Hochpunkt bringt. Soll es sehr schnell sein, muss man sogar gegenbremsen und später damit beginnen.

Im Modell des Schrittmotors kompensiert man da nur noch Rastmoment und unterstützt etwas die Bewegung, um Reibungsverluste abzufangen.

Man kann sich die Aufgabe auch so vorstellen, dass man eine Kugel eine S-förmig gebogene Steigung einer Sanddüne hochschieben will, die die üblichen Wellen hat und dabei gezielt so ruckelig schieben will, dass die Kugel trotzdem eine gleichmäßige / weitgehend monotone Geschwindigkeit hat.

Das Stuchwort dafür heißt Anti-Cogging.

Ein VHDL-Core der das kann, ist bei mir zu beziehen.

Moderator (Firma: Titel) Persönliche Seite #7503891
Lesenswert?

Mario M. schrieb:

trotz des sanften bremsen und beschleunigen ruckt die ganze Mimik hier im letzten Schritt, weil dann doch die Masse "stoppt".

Und was passiert, wenn du nur 1 Schritt machst?

trotz des sanften bremsen und beschleunigen ruckt die ganze Mimik hier im letzten Schritt, weil dann doch die Masse "stoppt".

Welche Beschleunigungsrampe fährst du? Einfach nur eine lineare Rampe (mit konstanter Beschleunigung)? Oder hast du die Rampe auch mal mit einer kleinen Beschleunigung begonnen, die dann pro Schritt größer wird?

Als unbedarfter Softwerker, was sind eure Erfahrungen, den letzten Step so sanft wie möglich zu machen...

Hast du schon mal Microstepping ausprobiert?

#7504188
Lesenswert?

Korrekt, aber es ist eben grade NICHT der Ruck (2. Ableitung der Geschwindigkeit) den der Parameter angibt sondern welche Geschwindigkeitsänderung er ohne Rampe (also mit "unendlich g") machen darf (weil die Mechanik es abfängt). Deswegen hab ich den Parameter als "irreführend" bezeichnet. Die Probleme des TO könnten trotzdem damit zu tun haben weil eine zu hohe Angabe an der Stelle führt zu Gerattel und Schrittverlusten...

OP #7504209
Lesenswert?

Danke für die ganzen Tipps und Hinweise. Ich hatte mich tatsächlich an die App Notes AVR446 gehalten...der Fehler war jetzt Legacy Code der dafür gesorgt hat das ich nicht eine bestimmte Geschwindigkeit unterschreiten konnte...da kann ich noch so viel abbremsen wie ich will!

Code ist raus, Kunde glücklich...ich auch :-)

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren