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
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.
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
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 ?
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
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.
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?
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.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.