Forum: Mikrocontroller und Digitale Elektronik Lineare Beschleunigungsrampe für Schrittmotor


von Ornes (Gast)


Lesenswert?

Hi,

ich steuere mir hier einen Schrittmotor von einem eigenen Controller aus 
an. Der Controller erzeugt dabei Pulse für Schritt und Richtung, welche 
in dessen Software generiert werden.

Mein Problem liegt jetzt bei der Berechnung der Beschleunigung: wenn ich 
beim Losfahren mit kleiner Frequenz anfange und diese dann linear 
erhöhe, so gibt das keine lineare Beschleunigung, da die 
Pulsdauerzeiten immer kleiner werden und damit die Beschleunigung mit 
der Geschwindigkeit zunimmt.

Aber: wie kann man das besser machen? Wie kann ich mir die richtigen, 
abnehmenden Pulse berechnen UND dabei vorher noch wissen, wann ich die 
gewünschte Geschwindigkeit erreicht habe? Letzteres ist wiederum 
wichtig, um herauszufinden, ob man schon vor dem Erreichen der 
Zielgeschwindigkeit wieder mit dem Abbremsen anfangen muss, wenn der 
zurückzulegende Weg zu kurz ist...

Danke schon mal!

von Thorsten O. (Firma: mechapro GmbH) (ostermann) Benutzerseite


Lesenswert?

Dazu hatten wir kürzlich erst einige längere Diskussionen:
Beitrag "Schrittmotor & Rampen"
Beitrag "Rampenberechnung Schrittmotor"

Für den Einstieg solltest du dir diese App-Note ansehen:
http://www.silabs.com/Support%20Documents/TechnicalDocs/an155.pdf

Mit freundlichen Grüßen
Thorsten Ostermann

von Georg (Gast)


Lesenswert?

Ornes schrieb:
> mit kleiner Frequenz anfange und diese dann linear
> erhöhe, so gibt das keine lineare Beschleunigung

selbstverständlich ist das linear - die Drehzahl ist der Frequenz 
proportional.

Was du wahrscheinlich meinst: du änderst garnicht die Frequenz, sondern 
die Pulslänge, die ist natürlich proportional zu 1 / f. Das ist aber 
schlicht ein Denkfehler von dir. Es ist aber kein Problem, die Frequenz 
gleichmässig zu ändern, entweder durch Berechnung oder mit einer 
Tabelle, die die Pulslänge für eine bestimmte Frequenz enthält.

Georg

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.