Guten Tag allerseits! Ich habe folgendes Problem, wo ich nicht weiter komme: Ich habe einen Prüfstand gebaut mit einer Spindel. Diese Spindel kann mit bis zu 60 RPM drehen. An dieser Spindel ist axial eine Baugruppe befestigt, die sich ebenfalls mit einem eigenen Servomotor drehen kann. (Welle des Servomotors ist mit der Spindel gekoppelt). Das ganze hängt vertikal. Die Bohrspindel verfügt über einen festen inkrementalen Drehgeber. Ich habe eine Energie und Datenversorgung zur Baugruppe und kann den Servomotor dort über RS485 Steuern, das ganze geht über Schleifringübertrager. Soweit funktioniert alles. Ziel ist es jetzt, die Position der Baugruppe so zu regeln, dass die Baugruppe in Bezug auf die Bohrmaschine still steht. Der Servomotor muss allso die Drehung der Spindel durch gegenseitige Drehung kompensieren. Welche Reglerstruktur ist hier sinnvoll? Ein Geschwindigkeitsregler, der von einem Positionsregler überlagert ist? Momentan habe ich einen Positionsregler, der die Absolutposition der Servomotorwelle so regelt, dass Sie der gemessenen Absolutposition der Bohrspindel entspricht, jedoch in entgegengesetzter Richtung gemessen. Den neuen Positionsollwert wird alle 10ms zur Baugruppe geschickt. Diese "Regelung" ist jetzt nicht besonders sanft, d.h. die Baugruppe vibriert stark, da der Motor ständig neue Sollposition erhält und diese anfährt und dann bremst. Somit habe ich das Gefühl, dass dies der falsche Ansatzt ist. Wie löst man so etwas so, dass die Winkelposition der Baugruppe möglichst konstant ist, und die Regeleung trotzdem sanft ist? Besten Dank für jeden Tipp.
@MB (Gast) >Welche Reglerstruktur ist hier sinnvoll? >Ein Geschwindigkeitsregler, der von einem Positionsregler überlagert >ist? Der klasssiche Ansatz hat einen Drehmomentregler (Strom), Geschwindigkeitsregler und darüber einen Positionsregler. http://elm-chan.org/works/smc/report_e.html >Momentan habe ich einen Positionsregler, der die Absolutposition der >Servomotorwelle so regelt, dass Sie der gemessenen Absolutposition der >Bohrspindel entspricht, jedoch in entgegengesetzter Richtung gemessen. Je nach Dynamikanforderungen kann man Drehmoment- und Drehzahlregler ggf. weglassen. >Den neuen Positionsollwert wird alle 10ms zur Baugruppe geschickt. >Diese "Regelung" ist jetzt nicht besonders sanft, d.h. die Baugruppe >vibriert stark, da der Motor ständig neue Sollposition erhält und diese >anfährt und dann bremst. >Somit habe ich das Gefühl, dass dies der falsche Ansatzt ist. Oder eine zu niedrige Abtastfrequenz. Vielleicht muss man auf 1ms und weniger runter. >Wie löst man so etwas so, dass die Winkelposition der Baugruppe >möglichst konstant ist, und die Regeleung trotzdem sanft ist? Es kann auch an der falschen Dimensionierung der Reglerzeitkonstanten liegen. Denn wenn die Tiefpasswirkung des Reglers groß genug ist, kann auch ein 10ms Update für eine sanfte Regelung reichen.
Gut, werde ich versuchen. Der Servomotor wird von einer Nanotec SMCI36 gesteuert. Wenn ich diese im Absolutpositionsmodus betreibe, übernnimmt diese Steuerung die Positionsregelung des Motors für mich. Jedoch fährt die natürlich jede Soll- Absolutposition mit einer Beschleunigungs und Bremsrampe an. Ich denke dieses Beschleunigen und Abbremsen sorgt für das ruckeln. Wahrscheinlich muss ich diese Positionsregelfunktion der SMCi36 selbst in meiner Steuerung implementieren und direkt den Drehgeber auslesen und damit regeln.
Hallo, ein weiterer Ansatz wäre ein Differenzdrehzehlregler bzw. Differenzwinkelregler mit Sollwert = 0. Stichwort dazu "elektrische Welle".
Hallo, wenn die Baugruppe auf einer rotierenden Welle sitzt und diese Rotation ausgleichen muss und dann zusätzlich noch bestimmte Positionen anfahren muss würde ich zuerst mal einen Störgrößenaufschaltung verwenden. Damit sollte dann weitestgehend die Wellenrotation kompensiert sein und die eigentliche Reglung kann mit viel kleineren Werten arbeiten. Wenn du ein Ruckeln durch anfahren und anhalten bekommst, klingt das für mich, als ob der Motor schon seine eigene Positionsreglung hat. Dann würde ich versuchen diese entweder abzuschalten, da du sonst die Motorreglung mit berücksichtigen musst und davon sicher keien Parameter hast. Alternativ könnte man versuchen die Position und Geschwindigkeit, die in 2 Zeitintervallen erreicht sein soll an den Motor zu senden und bereits nach einem Zeitintervall eine neue Position, so das der Motor seine Sollposition nicht erreicht und damit auch nicht stehen bleibt. Gruß Kai
Danke für das Stichwort! Elektrische Welle trifft quasi genau das, was ich benötige. Kai S. schrieb: > wenn die Baugruppe auf einer rotierenden Welle sitzt und diese Rotation > ausgleichen muss und dann zusätzlich noch bestimmte Positionen anfahren > muss würde ich zuerst mal einen Störgrößenaufschaltung verwenden. Bestimmte Positionen anfahren ist nicht notwendig. Kai S. schrieb: > Wenn du ein Ruckeln durch anfahren und anhalten bekommst, klingt das für > mich, als ob der Motor schon seine eigene Positionsreglung hat. Dann > würde ich versuchen diese entweder abzuschalten, da du sonst die > Motorreglung mit berücksichtigen musst und davon sicher keien Parameter > hast. Genau das denke ich auch. Im Prinzip muss die Motorsteuerung für mich nur das Drehmoment regeln. Dieses gebe ich mit meinem eigenen Positionsregelkreis oder optional Geschwindigkeitsregelkreis vor. O >Alternativ könnte man versuchen die Position und Geschwindigkeit, > die in 2 Zeitintervallen erreicht sein soll an den Motor zu senden und > bereits nach einem Zeitintervall eine neue Position, so das der Motor > seine Sollposition nicht erreicht und damit auch nicht stehen bleibt. Dies ist sicherlich einen Versuch wert, top Vorschlag!
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.