Archiv verlassen und diese Seite im Standarddesign anzeigen : Fahrkurve/Fahrdiagramm
qqChrisqq
05.04.2007, 00:24
Hallo,
kennt von euch jemand eine gute Internetseite oder ein Buch in denen etwas über Fahrkurven von Motoren steht? Unter einer Fahrkurve verstehe ich die Phasen im v-t-diagramm die ein Motor besitzt um seine Endposition zu erreichen. z.B. in einer Trapezform. Vorallem geht es mir um Beschleunigungen die nicht linear sind.
Danke schon mal für eure Hilfe
Chris
Hi Chris,
zu Trapezkurven und einem digitalen PID-Regler findest du ein paar Infos im Manual des LM628 bzw. LM629 von National Semiconductor oder des HCTL-1000 von HP.
Zur Vermeidung des kleinen Rücks am Ende einer linearen Beschleunigung, verwendet man sin²-Kurven, um hier einen Sprung zu vermeiden.
Sigo
mare_crisium
13.04.2007, 21:39
Hi Chris,
und wenn Du den sin^2 vermeiden willst (ist auf einem Mikrokontroller nicht ganz einfach darzustellen), dann nimm eine Kurve der Form
v(t) = 4*vmax*t*(T - t)/T^2
Die beginnt bei t=0 mit Geschwindigkeit v=0 und erreicht bei t = T wieder Null. Bei t=T/2 wird die Maximalgeschwindigkeit vmax erreicht.
mare_crisium
Edit: Die Formel korrigiert (Division durch T^2 und Vertauschen von t und T in der Klammer)
Hi Mare_crisium, das werd ich mir morgen mal ausplotten.
Man kann die sin²-Funktion auch in normierter Form als Look-up-table realisieren, dann rechnet EXCEL.
Man hat dann aber noch etwas Skalierungsaufwand..
Da wäre deine Funktion evtl. doch bequemer.
Sigo
mare_crisium
15.04.2007, 08:10
Sigo,
mir sind bei der Formel zwei Fehler unterlaufen: Damit die Dimensionen stimmen, musst Du noch durch T^2 dividieren. Und in der Klammer muss die Reihenfolge von t und T vertauscht werden:
v(t) = 4*vmax*(t/T)*(1-(t/T)) = 4*vmax*t*(T-t)/T^2
Ich hab's im Original-Post auch geändert.
Die Strecke, die Du mit diesem Geschwindigkeitsprofil verfahren kannst, ist:
s = (2/3)*vmax*T
und die Zeit die Du dafür brauchst ist:
T = (3/2)*(s/vmax)
Du brauchst also immer anderthalb mal soviel Zeit, als wenn Du die ganze Strecke durchgehend mit vmax verfahren würdest.
Wenn Du bei längeren Strecken Zeit sparen willst, dann musst Du die Funktion nach T/2 (wenn sie gerade vmax erreicht hat) unterbrechen und eine Weile mit konstanter Geschwindigkeit
v = vmax
weiterfahren. Beim Abstand von
d = vmax*T/3
vom Zielpunkt, schaltest Du dann zum Abbremsen wieder auf die Funktion zurück. T ist dann die Zeit, die Du zum Beschleunigen und zum Abbremsen zulassen willst.
mare_crisium
Powered by vBulletin® Version 4.2.5 Copyright ©2024 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.