Sorry, da gebe ich dir recht. Also dann schreibe ich mal:Warum schreibst Du nicht einfach was Du konkret machen willst?
Ich möchte einen DC Motor mit Positionsrückführung über eine S Förmiges Bewegungsprofil auf eine Zielposition regeln.
Die Kurve dient als Sollwertgenerator der die Distanz des Weges übermittelt wird.
Dann kommt die Regelung vom Motor (Geschwindigkeit) um die geht es mir aber noch nicht.
Korrekt. So ist es.Wenn es so ist, dann ist der Ruck für das erste und letzte vierten der Bewegung konstant j=c und dazwischen konstant negativ j=-c.
Die Beschleunigung ist dann im erten und letzten Viertel der Bewegung linear ansteigend, dazwischen linear fallend. Die Geschwindigkeit entsprechend parabolisch und die Strecke entsprechend kubisch.
Das Bewegungsprofil hat bestimmte Phasen bei einer kurzen Bewegung (ohne erreichen von V max) besteht das Profil aus 6 Teilen.
1. Beschleunigung mit konstantem positiven Ruck
2. Kontstante Beschleunigung
3. Beschleunigung mit konstantem negativen Ruck
4. Verzögerung mit konstantem negativen Ruck
5. Kontstante Verzögerung
6. Verzögerung mit konstantem positiven Ruck
Ich habe bereits einige Formeln für die Phasen aufgestellt:
jerk = Ruck [m/s³]
a_pos = Beschleunigung
a_neg = Verzögerung
t = Aktuelle Zeit
tjerk_pos = Ruckzeit von Beschleunigung
tjerk_neg = Ruckzeit von Verzögerung
1. v = a_pos + jerk/2 * t * t
2. v = a_pos + jerk / 2 * tjerk_pos * tjerk_pos
+ a_pos * (t - tjerk_pos);
3. v = a_pos + jerk / 2 * tjerk_pos * tjerk_pos
+ a_pos * ta_pos
+ a_pos * (t - tjerk_pos - ta_pos) + -jerk / 2 * (t - tjerk_pos - ta_pos) * (t - tjerk_pos - ta_pos);
An der 4. wo es wieder Richtung v0 geht scheitert es jetzt. Sind die Formeln oben überhaupt richtig?
Ich habe die mal geplottet:
Lesezeichen