Forum: Mikrocontroller und Digitale Elektronik Schwenkmechanismus mit viel Getriebespiel regeln


von mech (Gast)


Lesenswert?

Hallo zusammen,

Ich habe einen Greifer gebaut, der im Bereich -120°...120° schwenken 
kann.
Der Ablauf ist immer der selbe, in der Mittelstellung (0°) soll eine 
Last aufgenommen werden und dann an eine beliebige Position nach links 
oder nach rechts geschwenkt und wieder abgegeben werden.

Angetrieben wird das Teil von einem DC Getriebemotor (über PWM, 
H-Brücke, ca. 50W, 200 U/min) über ein weiteres 1:12 Getriebe und einen 
Zahnriemen (1:1).

Position wird über ein Potentiometer direkt an der Schwenkachse 
rückgemeldet.

Der Positionsregler soll auf einem µC laufen.

1. Die Last kann irgendwo im Bereich 4-20kg liegen.
2. Die ganze Mechanik hat ein Spiel von etwa +-3°

Das Drehmoment des Motors reicht zwar locker aus, aber leider ist die 
Zahnriemenverbindung hier die Schwachstelle. Schlecht ausgelegt, 
Riemenscheibe einfach zu kleiner Durchmesser, kann ich leider aus 
Platzgründen nicht mehr ändern.

Mein Problem ist nun dafür einen geeigneten Regler in Software 
aufzubauen.

Bei optimaler Regelung wäre eine 90° Drehung (Vom Stillstand wieder in 
den Stillstand) in etwa 2.5 Sekunden möglich, die Grenze ist da das 
Drehmoment, das die Zahnriemenverbindung aufbringen kann.

Im Moment läuft ein P-Regler mit Stellgrößen-Begrenzung auf ca. 20%, 
damit läufts zwar mit jeder Last geschmeidig, allerdings dauert die 
Bewegung 8 Sekunden.

Meine Regelungstechnik Vorlesungen sind schon bissl her, ich glaube mein 
Problem lautet "Totzeit".

Wie legt man einen Regler für so eine Strecke aus?

von . . (Gast)


Lesenswert?

Nette Aufgabe. Allerdings fehlen Parameter, um zu bestimmen, ob es 
überhaupt physikalisch möglich ist, die Masse (bis 20kg) in 2.5s zu 
positionieren.

von Sly_marbo (Gast)


Lesenswert?

mech schrieb:
> 2. Die ganze Mechanik hat ein Spiel von etwa +-3°

mech schrieb:
> Meine Regelungstechnik Vorlesungen sind schon bissl her, ich glaube mein
> Problem lautet "Totzeit".

Ich glaub dein Problem heißt "Umkehrspiel" ;)

von mech (Gast)


Lesenswert?

.                                                . schrieb im Beitrag 
#6123176:
> Nette Aufgabe. Allerdings fehlen Parameter, um zu bestimmen, ob es
> überhaupt physikalisch möglich ist, die Masse (bis 20kg) in 2.5s zu
> positionieren.

Ist es, das ist nämlich die Zeit die ich erreiche, wenn ich statt dem 
Motor eine Handkurbel (bestehend aus Schraube + Schraubenschlüssel) 
anbaue.

Sly_marbo schrieb:
> Ich glaub dein Problem heißt "Umkehrspiel" ;)

Aus mechanischer Sicht ja, aber wie geht man das mit Regelungstechnik 
an?

von Jürgen von der Müllkippe (Gast)


Lesenswert?

mech schrieb:
> aber wie geht man das mit Regelungstechnik an?

Da Fuzzi Logik zu aufwändig ist, genügt evtl. ein PID Regler.
Einen Tiefpass (I-Anteil) mit einem Kondensator überbrückt (D-Anteil).

von PaulRettetDiesenThread (Gast)


Lesenswert?

Hallo,

zunächst ist es wichtig ein Dynamikmodell aufzubauen. Dann kann man in 
Matlab/Sikulink analysen durchführen und schliesslich einen geeigneten 
Regler auslegen. Vielleicht mit SimScape multibody

von Fahrkurve (Gast)


Lesenswert?

Ist dein Stichwort.

von Nick M. (Gast)


Lesenswert?

Die Stichworte sind "Innere Regelschleife" und "Äussere Regelschleife".
Die innere arbeitet mit einem Geschwindigkeitssignal als 
Rückkopplungssignal, die Endstufe hat eine Strombegrenzung um das Moment 
nicht zu groß werden zu lassen. Dafür langt ein PI-Regler, der D-Teil 
macht die Abstimmung nur komplizierter. Der I-Teil sollte eine 
Begrenzung haben ("cut off value) sonst sammeln sich die Fehler zu stark 
an.
Die äussere Regelschleife arbeitet mit einem Positionssignal zur 
Rückkopplung. Es gibt ein Geschwindigkeitssignal (mit Rampen) an die 
innere Regelschleife. Dafür langt ein P-Regler.
Die einzige zusätzliche Intelligenz die von einem PID regler abweicht 
ist in der äusseren Regelschleife die (lastabhängige) mögliche 
Beschleunigung zu erkennen und dann beim Abbremsen mit der Bremsrampe 
entsprechend früher anzufangen.

Das Spiel lässt sich durch einen "threshold" abfangen. Also im P-Teil 
erst ab einer bestimmten Abweichung zu reagieren.

Natürlich kann man das alles ineinanderwursteln, macht es aber nicht 
einfacher.

von mech (Gast)


Lesenswert?

Nick M. schrieb:
> Die innere arbeitet mit einem Geschwindigkeitssignal als
> ...

Gibt's für den ganzen Aufbau einen Begriff oder ist das schon eine 
Sonderlösung? Ein Schaltbild würde mir da wohl unheimlich weiterhelfen, 
aber ich kann schlecht erwarten, dass du mir eins malst :)

Mir geht nicht ganz ein, warum ich zu dem Problem nichts finde, Antriebe 
mit Umkehrspiel sind doch nichts ungewöhnliches (?)

Auf jeden Fall verstehe ich jetzt schonmal ein grundsätzliches Problem:

Meine Hand "fühlt" das Drehmoment, meinem bisherigen Antrieb fehlt diese 
Größe mangels Strommessung, das kann ich ändern.

von mech (Gast)


Lesenswert?

Nick M. schrieb:
> ineinanderwursteln


Bei "mehrere Regler ineinander" hat Google "Kaskadenregelung" 
ausgespuckt, ist das wovon du sprichst?

Das seh ich mir mal an.

von Jürgen von der Müllkippe (Gast)


Lesenswert?

mech schrieb:
> Ein Schaltbild würde mir da wohl unheimlich weiterhelfen

Ich habe da mal was von einer schwebenden Kugel gefunden:

Beitrag "Re: Ferromagnetischer Schwebekörper"

Das ist war nicht direkt mit einem Schwenkarm zu vergleichen, aber auch 
hier muss mit einem D-Anteil kurz schnell nachgeregelt werden, damit die 
Kugel nicht schwingt.

Bei deinem Schwenkarm kommen noch unterschiedliche Schwenklasten (je 
nach Gewicht der aufgenommenen Last) und Schwenklängen hinzu. Da ist 
eine zusätzliche Strommessung erforderlich. Die Positionsangabe des 
Potenziometers alleine reicht da wohl nicht mehr aus.

von Nick M. (Gast)


Lesenswert?

mech schrieb:
> Gibt's für den ganzen Aufbau einen Begriff oder ist das schon eine
> Sonderlösung?

Nein, innere und äussere Regelschleife ist was ganz normales. Das sollte 
sich auch ergoogeln lassen.
Die Sonderlösung ist nur die Erkennung der möglichen Beschleunigung und 
dann die Bremsrampe entsprechend anzupassen.

Das Spiel bekommst du nie weg. Du kannst nur verhindern dass der Regler 
in der Endlage hin und her regelt weil er die Position genauer halten 
will als es mechanisch geht. Totgang nennt sich das.

"Kaskadenregelung"
Ehrlich, ich weiß es nicht. Klingt aber vernünftig. :-)

Mit eineinanderwurschteln meine ich, die beiden Regelschleifen zu einer 
zu vereinen und die nicht als zwei verschiedene Prozesse zu sehen. Ich 
glaub, das macht es nur schwerer zu verstehen und zu programmieren. Als 
getrennte Prozesse überwacht die äussere Schleife nur die Position die 
sie gerne hätte und muss nicht viel und schnell rumrechnen. Wenn sie die 
maximal mögliche Beschleunigung kennen würde, dann könnte sie die Rampen 
sogar komplett im Voraus berechnen und nur fein nachregeln.

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