Forum: Mikrocontroller und Digitale Elektronik Frage zur optimalen Reglerstruktur


von MB (Gast)


Lesenswert?

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.

von Falk B. (falk)


Lesenswert?

@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.

von MB (Gast)


Lesenswert?

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.

von Klaus (Gast)


Lesenswert?

Hallo,
ein weiterer Ansatz wäre ein Differenzdrehzehlregler bzw. 
Differenzwinkelregler mit Sollwert = 0.
Stichwort dazu "elektrische Welle".

von Kai S. (kai1986)


Lesenswert?

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

von MB (Gast)


Lesenswert?

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