Hallo,
als Absolvent der Regelungstechnik stehe ich nun vor meiner ersten
Aufgabe und möchte mich gerne mal mit Fachkundigen austauschen, wie ihr
die Situation beurteilt.
Ausgangssituation:
Produkte sind verschiedene Positionersysteme (im Prinzip bewegte Massen
auf X-und Y-Achse) betrieben mit hauseigenen 2-Phasen-Linearmotoren,
hauseigenen inkrementellen AMR-Messsystemen und hauseigener Steuerung.
Dokumente sind generell kaum vorhanden..um die Regelung hatte sich vor
Jahren mal jemand beschäftigt, der schon lange nicht mehr dabei ist.
Alle Parametrierungen erfolgen rein auf Basis von Erfahrungswerten..
Grobe Anforderungen an die Regelung (Durchschnittsmodell):
max. Geschwindigkeiten ca. 1 m/s, Beschleunigung 15 m/s^2, max.
zulässiges Peak to Peak-Rauschen ca. 800 nm, maximale Einschwingzeit ca.
2s
Zu den Motoren:
2-Phasen-Linearmotoren. Sie werden so angesteuert, dass immer maximale
Kraftumsetzung erfolgt (Somit kann nur Amplitude gestellt werden und
Phasenwinkel ist immer +- 90 Grad). Der Kommutierungswinkel-Offset wird
über ein Testverfahren automatisiert ermittelt.
Zum Messsystem:
AMR-Messsystem mit magnetisch beschriebenen Masstäben. Auflösung 5 nm
Steuerung: Ausgangsspannung 2x24 V, Abtastfrequenz: 4 kHz
Vorhandene Regelung und Vorsteuerung:
Derzeit wird eine Solltrakjektorie draufgegeben (klassisches
trapezförmiges Geschwindigkeitsprofil, wahlweise auch Algorithmus mit
reduziertem Ruck vorhanden, aber KEINE modellbasierte
Trajektorieplanung). Somit stehen zu jedem Abtastschritt theoretisch
aktuelle Sollposition, Geschwindigkeit-und Beschleunigung zur Verfügung.
Geregelt wird aber nur die Differenz zwischen Soll-und Ist-Position und
das erfolgt über einen einfachen PID-Regler, dessen Parameter nach
Erfahrungswerten eingestellt werden.
Für Geschwindigkeit und Beschleunigung existiert allerdings eine
Vorsteuerung, dessen Parameter über Testverfahren ermittelt werden und
je nach aktuellem Sollwert von Geschwindigkeit und Beschleunigung dann
im Betrieb linear verändert werden. Also eine adaptive Vorsteuerung.
(Hat sich ein Physiker ausgedacht, der nicht mehr dabei ist)
Der Regler selbst hat auch adaptive Einstellmöglichkeiten. Für jeden
Anteil P,I und D können Ruhe-und Bewegungsparameter definiert werden.
Bis zu einer einstellbaren Grenzgeschwindigkeit erfolgt zwischen diesen
Werten ebenfalls eine lineare Veränderung und ab der
Grenzgeschwindigkeit bleiben sie konstant. Das wird im Moment aber
praktisch nur als Schalter benutzt, da die Grenzgeschwindigkeit einen
sehr kleinen Wert hat (nach den Erfahrungswerten)...
Problem ist, dass der Regler bisher überhaupt nicht robust gegenüber
kleinen Änderungen ist. Sogar kleine Modellabweichungen bei Geräten
desselben Typs bewirken ein anderes Bewegungsverhalten.
Erstes Ziel wird sein, die vorhandene Struktur systematisch zu nutzen
und modellbasiert und nicht rein empirisch zu parametrieren. Das
langfristige Ziel wird eine neue Reglerstruktur sein. Ich dachte da an
eine Zustandsreglung von mindestens den Zuständen Position und
Geschwindigkeit. Die gegebene Solltrajektorie ist ja im Prinzip schon
sehr gut um einen scharfen Regler für Störausreglungen zu generieren.
(Später evtl. ja noch eine LQ-Folgetrajektorie denkbar, wenn ein Modell
steht) Von der vorhandenen Vorsteuerung erhoffe ich mir ebenfalls, dass
sie mir das Leben vereinfacht und ich sie weiter nutzen kann...
Bei der Vorgehensweise der Modellbildung bin ich mir aber sehr unsicher,
da ja Linearmotoren bekannt für ihre Kraftwelligkeit und somit
Nichtlinearitäten sind. Wenn ich das resultierende System also
linearisiere, um welche Ruhelage(n) dann? Im Prinzip kann jede Position
angefahren werden und eine Ruhelage sein.. auf der anderen Seite ist die
Auslenkung ja nur ganz klein, wenn man die Abweichung zum Sollwert
regeln will... ist so etwas wie Gain-Scheduling sinnvoll?
Oder könnte ich evtl. von Anfang an von einem linearen Modell ausgehen?
Wären experimentelle Modellbildungen evtl. auch sinnvoll?
halDK schrieb:> Sogar kleine Modellabweichungen bei Geräten> desselben Typs bewirken ein anderes Bewegungsverhalten.
Ich meinte hier Materialabweichungen... ein Modell existiert ja leider
nicht ;)
Was wird mit 4kHz abgetastet, die Maßstäbe? Wie ist die Reglerfrequenz?
Du schreibst der Regler, gibt es nur einen, keine Kaskadenregelung für
Strom, Geschwindigkeit und Position?
Mit freundlichen Grüßen
Thorsten Ostermann
Es gibt tatsächlich nur einen Regler und der regelt lediglich die
Positionsabweichung, ja...
4 kHz ist der Maschinenzyklus, Messsystemauslesung und Regelschritt
erfolgen innerhalb dessen. Ich muss allerdings auch noch in den Code
reinschauen, hierzu kann ich noch keine ganz präzisen Angaben machen...
mir geht es hier um den groben Plan. Ich habe Angst, dass ich in eine
völlig falsche Richtung laufe
Kleines Update: Ich habe mittlerweile an einem Testobjekt die
Einstellregeln von Ziegler/Nichols angewendet. Also P-Anteil bis zur
kritischen Verstärkung erhöht und Periode der Dauerschwingung gemessen.
Es hat erfreulich gut funktioniert und das Objekt bestand auch die
abschließenden Testdurchläufe mit verschiedenen Geschwindigkeiten und
Beschleunigungen.
Wäre halt auch die Frage, ob man so etwas erst mal automatisiert an
jedem Produkt durchführt und evtl. über den gesamten Verfahrweg
Mittelwerte bildet...
Das Ganze soll nun als Produkt in Stueckzahlen raus ? Nun solange du das
Gefuehl hast der Regler mache das nun alles Richtig und auch in Zukunft,
wenn etwas Staub drauf ist, es die Umgebung etwas ablagert, ist doch
gut.
Falls nicht, versuch das system zu verschlechtern. zB mit Reibung.
Kann eine verbesserte Version der Regelung nachgeliefert werden ?
die Geräte werden in nicht ganz so großen Stückzahlen gefertigt und
verhalten sich wie gesagt sehr individuell. Zur Zeit kann der Kunde über
die Software die Parameter selbst beeinflussen, ja.
Wenn die Umstrukturierung auf eine Zustandsregelung erfolgt, wird das
wohl nicht mehr so einfach möglich sein.. also irgendwelche
Matrizeneinträge nach Gefühl umzustellen... allerdings werden durch die
aktuelle Regelung Geschwindigkeits-und Beschleunigungs-Solwerte sehr
schlecht eingehalten
ManuelR schrieb:> die Geräte werden in nicht ganz so großen Stückzahlen gefertigt und> verhalten sich wie gesagt sehr individuell.
Bist du der TO?
Dann halte dich doch bitte an die Regel ein Nickname pro Thread.
Bei den größeren Systemen ist leider bei Anwendung der Einstellregeln
von Ziegler-Nichols das Problem, dass der kritische Punkt nicht ganz so
gut ermittelt werden kann wie bei den kleinen. Also die Großen werden
ziemlich schnell laut und es lösen Motorschutzabschaltungen aus. Evtl.
könnte man die Schleppfehlertoleranz erhöhen...
Ich weiß auch nicht, in welcher Größenordnung es ideal wäre, das
Experiment zu unterbrechen und die Schwingung anzunehmen... denn das
Messsystem selbst hat ja ein hochfrequentes Grundrauschen. Wo sollte man
da die Grenze ziehen?
Ein Zustandsregler ist nicht so verschieden zu einem PID. Einfach etwas
verallgemeindert, aufgebohrt. Die Matrixglieder sind einfach
Koeffizienten welcher Sensor an welche Groesse koppelt. Mit hinreichend
Nullen in die Matrix eingefuellt bist du wieder beim PID.
ja, wobei man eine Zustandsregelung z.B. noch mit der LQR-Methode
optimieren kann, mehr Zustände als messbare Größen definieren und diese
beobachten kann und und...etc.
Ich möchte schon so viele Dinge wie möglich probieren um hinterher auch
Erfahrungen sammeln und nachweisen zu können^^
Joggel E. schrieb:> Mit hinreichend> Nullen in die Matrix eingefuellt bist du wieder beim PID.
Genau.
halDK schrieb:> Ich dachte da an> eine Zustandsreglung von mindestens den Zuständen Position und> Geschwindigkeit.
Man wird die Geschwindigkeit durch Ableitung (Differentiation) aus der
gemessenen Position bestimmen, dann bist du also genau bei einem
PD-Regler.
Ein Zustandsregler beruecksichtigt allerdings per Definition alle
Systemzustaende und nicht nur die, die gut zu messen sind. Der
Strom/Beschleunigung muss sicher mit rein.
Ich wuerde es mit einer Kaskade versuchen und die Parameter per
Polvorgabe bestimmen. Ein Modell braucht man dazu, ist aber beim Motor
bekannt, bei der Mechanik kommts halt darauf an..
> Bei der Vorgehensweise der Modellbildung bin ich mir aber sehr unsicher,> da ja Linearmotoren bekannt für ihre Kraftwelligkeit und somit> Nichtlinearitäten sind.
Da wuerde ich mir keinen Kopf machen, erstmal den Mittelwert der Kraft
annehmen. Wenns Probleme gibt, kann man immernoch die Trajektorie
aufnehmen und eine phasenabhaengige Stromkorrektur einfuegen. Die muss
dann halt in Echtzeit mitlaufen, dein Regler aber ja auch.
Ich würde für die Positionsregelung erst mal pro System eine
Sprungantwort aufnehmen und daraus die Werte eines IT1-Glieds für die
Strecke ermitteln. Das sollte eine gute Annäherung sein
Eine eigene Frage?
Dieser Thread ist über 6 Jahre alt.
Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.