Bremsrampe berechnen

OP #3222108
Lesenswert?
• ▲
▼
Hallo zusammen

Ich habe einen Motor mit einem Encoder von 2000Impulsen / Umdrehung.
Den Speed regle ich im Moment in der Einheit rpm. Ich habe eine 
Bremsrampe in der Einheit rpm/s.

Ich möchte jetzt die Bremsrampe genau dann einleiten, damit der Motor 
auf einer bestimmten Position stehen bleibt bzw. die Rampe auf 0 ist.
Gegeben habe ich die aktuelle Geschwindigkeit in rpm und die Bremsarmpe 
in rpm/s. Ebenfalls weiss ich dass eine Umdrehung vom Motor 2000 Impulse 
vom Encoder beträgt und ich kenne die aktuelle EncoderPosition und die 
Zielposition. Wie muss die Formel jetzt aussehen, um die Encoderposition 
zu errechnen, wo ich die Rampe ienleiten muss?
Soweit ich verstanden habe, muss ich integrieren, aber ich komme da 
leider nicht weiter, bitte um Hilfe.

Ich habe also zum Besipiel aktuelle Position = 0
Zielposition = 50000
Speed = 1000rpm
Bremsrampe = 1000rpm/s

Jetzt will ich wissen, bei welcher Position ich die Bremsarmpe 
aktivieren muss, bzw. vieviele Counts vor der Zielposition.

Vielen Dank für Inputs. Ach ja, die Programmiersprache vom uP ist C.
Gast #3222142
Lesenswert?
• ▲
▼
Das ergebt sich aus den Formule für den abgelegten Weg bei konstante 
Beschleunigung (Bremsen = negative Beschleunigung):
s= s_anfang + v_anfang*t +1/2 a.t²
Jetzt muss du noch erst t (zeitspanne) ausrechnen, wie lange dauert es 
bis die Geschwindigkeit 0 ist : t=v/a
Den Weg darfs du in mm oder in tics verwenden, aber alle parameter 
naturlich gleich (Weg=tics, Speed = tics/sek, Beschl = tics/s²)
OP #3222620
Lesenswert?
• ▲
▼
Johannes M. schrieb:
> Wie weiter oben schon gesagt rpm/s ist schon ziemlich kurios und dem
> Verständniss bzw. der Nachvollziehbarkeit nicht wirklich zuträglich.

Ja aber wenn ich eine Geschwindigkeit in rpm habe und eine 
Beschleunigung in rpms passt doch, oder nicht? Ich meine bei einer 
Beschleunigung von 5000rpms wird der Speed in 1 Sekunde um 5000rpm 
erhöht.
Sorry aber ich sehe da im Moment nicht in welche "bessere" Einheit ich 
das wandeln sollte?
OP #3222748
Lesenswert?
• ▲
▼
Hallo

Ich habe vergessen, dass ein Getriebe mit einer Untersetzung von 1:21 
zwischen Motor und der Kurbel liegt...

Im Anhang das angepasste Excel.
Der C-Code sieht folgendermassen aus:
g_ulStopIncrements = (((ul_Getriebe  g_ulMeasuredSpeed  
g_ulMeasuredSpeed) /60) / UI_PARAM_DECEL)
                            + (((ul_Getriebe  UI_PARAM_DECEL  
((g_ulMeasuredSpeed * g_ulMeasuredSpeed) /60))
                            /  (UI_PARAM_DECEL*UI_PARAM_DECEL))/2);


Danke an alle für die Hilfe!!!
Angehängte Dateien:
OP #3223125
Lesenswert?
• ▲
▼
rp6conrad schrieb:
> Das ergebt sich aus den Formule für den abgelegten Weg bei konstante
> Beschleunigung (Bremsen = negative Beschleunigung):
> s= s_anfang + v_anfang*t +1/2 a.t²
> Jetzt muss du noch erst t (zeitspanne) ausrechnen, wie lange dauert es
> bis die Geschwindigkeit 0 ist : t=v/a
> Den Weg darfs du in mm oder in tics verwenden, aber alle parameter
> naturlich gleich (Weg=tics, Speed = tics/sek, Beschl = tics/s²)

Hallo

Bei schnellen Beschleunigungen stimmt mir diese Formel nicht. Ist diese 
wirklich korrekt? (bei schnellen Beschleunigungen resultiert mir als 
Resultat ein zu hoher Wert so dass der Motor zu früh stoppt)

Danke
Gast #3223355
Lesenswert?
• ▲
▼
Die Formule stimmt, konnen sie in jeden Fysicbuch lesen. Aber wie sicher 
sind sie van die exacte Verzogerung und ist diese konstant ueber die 
ganse Bremsung ? Wen sie Bremsen ueber eine Kurzschluss von Motor, ist 
die Verzogerung sowieso nicht konstant. Wenn sie wirklich exact Bremsen 
muss an eine bestimmte Position, muss du eigentlich eine PID 
Regelstrecke programmieren. Dafur ist dan auch eine PWM Regelung von 
Motor notwendig, und encoder messung.
(Firma: mechapro GmbH) Persönliche Seite #3223594
Lesenswert?
• ▲
▼
Hallo,

> Ja aber wenn ich eine Geschwindigkeit in rpm habe und eine
> Beschleunigung in rpms passt doch, oder nicht? Ich meine bei einer
> Beschleunigung von 5000rpms wird der Speed in 1 Sekunde um 5000rpm
> erhöht.
> Sorry aber ich sehe da im Moment nicht in welche "bessere" Einheit ich
> das wandeln sollte?

Lies mal bei Wikipedia den Eintrag zu "SI-Einheiten". rpm/s enthält z.B. 
für die Zeit sowohl Minute als auch Sekunde. Besser ist es, alles in 
Sekunden umzurechnen. Es sagt ja niemand, dass in der Applikation die 
Eingabe nicht in RPM sein darf, nur intern muss man halt auf 
einheitliche Größen umrechnen.

Mit freundlichen Grüßen
Thorsten Ostermann

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.