Forum: Mechanik, Gehäuse, Werkzeug Linearmotor BLDC Servo Antrieb PID Positionsregler --> Bananen ?


von Martin G. (Firma: http://www.gyurma.de) (martin_g)


Angehängte Dateien:

Lesenswert?

Z.Z. bastele ich mit meinem Super genauen Linearmotor Dingsda rum...
Es besteht aus BLDC Linearmotoren und wird mit Servo Drives 
positionsgeregelt, hat eine Linealauflösung von 5µm etc...

Die Lineale sind sehr genau, der PID Regler regelt auf den genauen 
Zählerwert, wenn ich ihm Zeit lasse.
Alles schön stabil eingestellt, also auch bei Ohrfeigen bleibt er 
stabil.

Wenn ich aber 2 oder mehr Achsen gleichzeitig fahren lasse, bekomme ich, 
statt gerader Linien, Bananen. Abhängig von der Fahrrichtung links oder 
rechts von der Solllinie. Siehe übertriebenes Beispielbild.

So, wo fange ich mit der Ursachensuche an?

Macht das der PID Positions-Regler?
Oder ist die Mechanik dran Schuld?

Ist es ganz normal und meine Maschine kann pinzipbedingt nicht gerade 
fahren? Ich meine, der PID Regler braucht ja gewissen Fehler um 
überhaupt regeln zu können. Was macht man dagegen?
Ich hab da eine Möglichkeit eine Vff (velocity feed forward) 
einzustellen, aber ich sehe komischerweise keine Wirkung davon im 
Fehlerbild.

mfg
Martin

von heinz (Gast)


Lesenswert?

Wenn das wirklich 2 Achsen sind könnte der Schleppabstand 
unterschiedlich sein. Lass dir mal den laufend den Positionsfehler 
beider Achsen ausgeben. Der muss bei beiden gleich sein.

von Michael K. (aemkai)


Lesenswert?

Das sieht aus, als ob die Y-Achse erst verzögert hinterher läuft und 
nach der Mitte aufholt.

Martin G. schrieb:
> Die Lineale sind sehr genau, der PID Regler regelt auf den genauen
> Zählerwert, wenn ich ihm Zeit lasse.

Sind die Regelparameter für beide Achsen gleich?

: Bearbeitet durch User
von Martin G. (Firma: http://www.gyurma.de) (martin_g)


Lesenswert?

Die PID Parameter sind natürlich nicht gleich, da es 2 verschiedene 
Motoren mit 2 verschiedenen Trägheiten und Motor-Kräften sind, haben 
aber gleiche Linealauflösung.

Der Tip mit dem Schleppfehler lässt mich nachdenken. Ist ein guter Tip. 
Wenn beide Schleppfehler gleich wären, dann müsste es wirklich eine 
Gerade sein.

Der Servo ist so alt, daß ich nur sehr wenig tracen kann. Deshalb werde 
ich mich eher herantasten müssen, bis beide Achsen gleich groß sind.

Besser P als I erhöhen um Y schneller zu machen ?

von Michael K. (aemkai)


Lesenswert?

Martin G. schrieb:
> Die PID Parameter sind natürlich nicht gleich, da es 2 verschiedene
> Motoren mit 2 verschiedenen Trägheiten und Motor-Kräften sind,

Dann ist das (scheinbar) die Ursache. Eine Fehlanpassung des Reglers 
scheint also möglich.

> Der Tip mit dem Schleppfehler lässt mich nachdenken. Ist ein guter Tip.
> Wenn beide Schleppfehler gleich wären, dann müsste es wirklich eine
> Gerade sein.
Wobei der Schleppfehler eigentlich zeitnah durch den Regler ausgeglichen 
werden sollte.

Wie sehen die Kurven aus wenn du langsamer fährst (damit der Regler mehr 
Zeit hat gegenzusteuern)

> Besser P als I erhöhen um Y schneller zu machen ?
Wenn du I erhöhst gleichst du einen Schleppfehler eher aus als mit P, es 
steigt aber auch die Gefahr des Überschwingens.
Soweit sich die Werte nciht berechnen/herleiten lassen, würde ich mich 
langsam rantasten und ebide etwas zustellen.

: Bearbeitet durch User
von Inkognito (Gast)


Lesenswert?

Beschreibe deine Regler mal etwas genauer, am besten gleich die
ganze Hard- und Software. Nicht, dass wieder so eine eierlegende 
Wollmilchsau mit völlig unpassenden Komponenten ist, wie in
diesem Beitrag:
Beitrag "ESC BLDC zu langsam."

Könnte auch ein Timing- oder Ressourcenproblem sein.

von Martin G. (Firma: http://www.gyurma.de) (martin_g)


Angehängte Dateien:

Lesenswert?

Danke für die Orfeige, Mr. Inkognito (Gast). Eigentlich ging es in dem 
anderen Thread gar nicht um ELWS. Sondern konkret benannte Teile.

Der Regler ist ein Uraltchipset.Siehe im Anhang das Datenblatt.
Seite 22 beschreibt den Regler selbst.
Positions-Eingang ist ein Heidenhain Lineal mit 20µm Sin-Cos Signalen, 
aus denen ich TTL Signale mit Komparatoren erstellt habe. Dies wird dann 
eine Auflösung von 5µm werden, mit dem Quadratursignal.


Ein µC parametriert das Chipset, und sendet die Zielkoordinaten, etc.

Mir geht es hier eher um den Vorgang, wie man solche Positionier-Fehler 
eigentlich Zielstrebend eingrenzt und löst?

von Inkognito (Gast)


Lesenswert?

Martin G. schrieb:
> Danke für die Orfeige, Mr. Inkognito (Gast). Eigentlich ging es in dem
> anderen Thread gar nicht um ELWS. Sondern konkret benannte Teile.

Ist ja nicht ganz unbegründet gewesen. Aber das war schon ein dickes
Ding gewesen, was du dir da geleistet hast. Hätte keiner mal nach
den Motordaten gefragt, würde man noch weiter spekulieren.
Irrtum ist natürlich menschlich. Bist ja nicht verletzt, höchstens
dein Stolz, aber das kann man verkraften. Auf jedem Fall hast du
daraus gelernt, das man einen Modellbauregler nicht an einen 
Industrieservomotor so ohne weiteres betreiben kann.

Wenn du einen Start- und Stoppunkt parametrierst, dann hast du
vermutlich auch eine Start- und Stopprampe, die bei dem Regler
wohl so bananich ausgeregelt wird, wie du es festgestellt hast?
Da weiß halt der eine Motor auch nicht was der andere tut.
Auf Seite 22 sind da ja einige Kurven, die da vielleicht zu passen.
Hab nur mal so durchgeblättert. Wenn man sich damit richtig
beschäftigen muss, geht das nicht mal so adhoc.
Eine Solofahrt in X- oder Y-Richtung ist da natürlich unauffällig
weil die Banane jeweils auf der Achse liegt.
Entweder man zerlegt die Koordinaten in Kleinsteinheiten und
überträgt die auf die Mechanik was dann das System lahm macht
und dann der Geschwindigkeitsvorteil futsch wäre,
oder man filtert den Fehler rechnerisch heraus, was ich aber noch
nicht gemacht habe. Daher muss ich da passen.
Vielleicht hat da einer, der mit Linearantrieben erfahrenen User
noch eine Idee.

von stef (Gast)


Lesenswert?

Ich würde einmal die Weg Zeit Kurve aufzeichnen und die Achsen einzel 
analisieren.

Gruss stef

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.