Was ist die tatsächlich physikalisch betätigte Größe bei der Steuerung der Position eines Servos?

7

Ich versuche, etwas über Servosteuerung zu lernen. Ich habe gesehen, dass die allgemeinste Positionsregelungsmethode für Servos PID ist, wobei der Steuereingang ein Positionsfehler ist. Ich bin mir jedoch nicht sicher, wie hoch die betätigte Größe ist. Ich vermute, dass es eines von:

  • An den Motor angelegte Spannung
  • An den Motor angelegter Strom

Ich vermute dann, dass die betätigte Menge in eine der folgenden umgewandelt wird:

  • Drehmoment, das der Motor ausübt
  • Winkelgeschwindigkeit, mit der der Motor läuft

Ich war nicht in der Lage, ein physisches Servo in die Hände zu bekommen und es explizit zu steuern, daher kann ich nicht bestätigen, dass es sich bei der betätigten Menge um eine dieser handelt. Ich weiß sehr wenig über die Elektronik, die den Motor steuert. Es kann durchaus sein, dass die geregelten Größen für verschiedene Serien-Servos unterschiedlich sind.

Meine Wette ist auf Drehmomentregelung. Nehmen Sie jedoch an, dass das Servo ein Gewicht auf Distanz hält (also gegen die Schwerkraft wirkt), was eine annähernd konstante Drehmomentbelastung bedeutet. In diesem Fall ist, wenn der Positionsfehler Null ist und das Servo in Ruhe ist, jede der Komponenten P, I und D Null, was bedeutet, dass das ausgeübte Drehmoment Null ist. Dies würde dazu führen, dass das Gewicht sinkt, was durch den Fehler in seiner Position ausgeglichen wird, der dazu führt, dass die P, I-Komponenten zunehmen. Würde diese Situation nicht dazu führen, dass das angehobene Gewicht an einer konstanten Position schwingt und balanciert, die sich erheblich von der Zielposition unterscheidet? Dies ist bei den Videos von Servos, die ich beim Heben von Gewichten gesehen habe, nicht der Fall. Oder ist dies der Fall und Reibung glättet alles? Bitte helfen Sie mir zu verstehen.

Ayberk Özgür
quelle

Antworten:

4

Motorsteuerungen

Was ist die betätigte Menge

Ja, der Ausgang der Steuerelektronik und der Eingang des Motors, im einfachsten Fall - DC-Permanentmagnetmotoren - ist die an den Motor angelegte Spannung .

In anderen Fällen ist der Ausgang der Steuerelektronik das Tastverhältnis einer PWM-Spannung, die direkt an den Motor oder indirekt an das "Signal" -Draht eines Funksteuerservos angelegt wird . Sie arbeiten etwas anders.

In noch anderen Fällen steuern viele Menschen die Position mit Schrittmotoren . Sie arbeiten ganz anders als DC-Permanentmagnetmotoren.

Motoren

Die betätigte Menge wird zu

Ihr Vorschlag einer " Drehmomentregelung " trifft ungefähr zu, wenn der Motor sehr langsam oder gestoppt ist.

Die vom Motor durch "Generatorwirkung" erzeugte sogenannte "Gegen-EMK" ist proportional zu seiner Winkelgeschwindigkeit. Diese Gegen-EMK ermöglicht die Verwendung von Motoren als Generatoren, wie z. B. die in einigen Autos verwendeten Motoren, und die in einigen Fahrzeugen verwendeten regenerativen Unterbrechungen. (Ein Teil der Gegen-EMK wird durch die "Autoinduktivität" der Wicklungen verursacht, aber dieser Teil ist normalerweise vernachlässigbar, daher werde ich ihn nicht weiter erwähnen - der von Ihnen erwähnte Artikel hat eine gute Erklärung).

Zu jedem Zeitpunkt ist der elektrische Strom im Motor proportional zur angelegten Spannung abzüglich der Gegen-EMK. Währenddessen ist das vom Motor erzeugte mechanische Drehmoment ungefähr proportional zu diesem elektrischen Strom.

Daher ist bei niedrigen Drehzahlen das vom Motor erzeugte mechanische Drehmoment proportional zur angelegten Spannung. Bei hohen positiven Drehzahlen ist das durch die maximale positive Spannung erzeugte Drehmoment jedoch geringer. Die "maximale Drehzahl" wird häufig als die Drehzahl definiert, bei der die maximale positive Spannung ein Drehmoment von Null ergibt.

PID

Nehmen wir an, dass das Servo ein Gewicht auf Distanz hält (also gegen die Schwerkraft wirkt), was eine annähernd konstante Drehmomentbelastung bedeutet. In diesem Fall ist, wenn der Positionsfehler Null ist und das Servo in Ruhe ist, jede der Komponenten P, I und D Null, was bedeutet, dass das ausgeübte Drehmoment Null ist. Dies würde dazu führen, dass das Gewicht sinkt, was durch den Fehler in seiner Position ausgeglichen wird, der dazu führt, dass die P, I-Komponenten zunehmen. Würde diese Situation nicht dazu führen, dass das angehobene Gewicht an einer konstanten Position schwingt und balanciert, die sich erheblich von der Zielposition unterscheidet?

Es gibt zwei verschiedene Fälle: den Kurzzeitzustand unmittelbar nach dem Aufbringen einer schweren Last und den Langzeitzustand nach dem Absetzen des Arms.

Bitte teilen Sie der Person, die Ihnen gesagt hat, dass "wenn der Positionsfehler Null ist und das Servo in Ruhe ist, ist die I-Komponente Null", mit einem PID-Regler zu experimentieren, oder lesen Sie etwas mehr über Steuerungssysteme ( a , b , c , d , e ) oder beides, um die Lücke in seinem Wissen darüber zu füllen, was die I-Komponente in einem PID-Regler tut.

PID mit einer I-Komponente nahe Null

Kurzfristig beginnen die P-, I- und D-Komponenten bei ungefähr Null, und daher ist das ausgeübte Drehmoment ungefähr Null. Wenn Fred plötzlich eine schwere Last aufbringt, ist nicht genügend Drehmoment vorhanden, um sie in Position zu halten, sodass sie sinkt. Der Fehler in seiner Position führt dazu, dass die P, I-Komponenten zunehmen. Wenn man hypothetisch einen Controller hätte, bei dem die I-Komponente vollständig ignoriert wurde , würde sich der Arm, wie Sie erwähnt haben, in einer konstanten Position niederlassen. Der Arm würde sich an der Position stabilisieren, an der die vom Regler gelieferte Spannung (proportional zu P, der Positionsfehler) genau ausreichte, um das Gewicht zu halten.

PID mit signifikanter I-Komponente

Mit dem von Ihnen erwähnten PID-Regler erhöht sich jedoch die I-Komponente, solange ein Fehler vorliegt. Irgendwann würde sich genug I-Komponente ansammeln, so dass der Regler die Spannung mehr als genug erhöhen würde, um das Gewicht zu halten, und das Gewicht wieder in Richtung des Nullfehlerpunkts nach oben drücken würde. Ob das Gewicht überschreitet oder nicht, hängt davon ab, wie der PID-Regler eingestellt ist. Solange sich die P-, I- und D-Komponenten jedoch einem vernünftigen Wert annähern, wird sich der PID-Regler schließlich auf den Zustand einstellen, in dem:

  • Der Arm ist fast genau an der Zielposition stabil (mit praktisch null Fehler).
  • daher sind die P- und D-Komponenten praktisch Null
  • Die I-Komponente ist nicht Null - sie hat immer noch einen großen Wert, der sich zuvor angesammelt hat, als sich der Arm unter der gewünschten Position befand.
  • Die Steuerelektronik (da die I-Komponente nicht Null ist) treibt den Motor mit einer gewissen Spannung an
  • Der Motor wandelt diese Spannung in ein Drehmoment um, das das Gewicht an der Zielposition hält.

Viele Robotersteuerungssysteme sind schnell genug, um innerhalb einer Zehntelsekunde auf diesen Endzustand zu konvergieren.

Wenn Fred (dieser Scherz!) Das Gewicht vom Arm zieht, obwohl sich der Arm bereits in der Zielposition befindet, bewirkt die hoch angesammelte I-Komponente, dass der Arm aufspringt. Dieser kleine Fehler führt dazu, dass die akkumulierte I-Komponente abblutet und (hoffentlich bald) der Arm fast genau zur Zielposition zurückkehrt (mit praktisch null Fehler).

David Cary
quelle
Hervorragende Antwort David, ich denke, es ist erwähnenswert, dass der wichtige Fehler in der Frage ist, dass ein Servo nicht in Ruhe sein kann, wenn eine Kraft (wie die Schwerkraft) die Achse von ihrer geforderten Position wegdrückt. Sie werden die Einzelheiten gut erläutern, aber wenn Sie dies ausdrücklich erwähnen, kann dies möglicherweise hilfreich für den Punkt sein, den Sie ansprechen.
Mark Booth
3

Ihre Intuition ist richtig, aber Ihre Frage ist tatsächlich ein bisschen anders, würde ich sagen. Die gesteuerte Variable ist in der Tat die Position. Was Sie wissen möchten, ist, welche Variable betätigt wird, dh was wir zur Steuerung der Position verwenden.

Ich weiß nicht viel über die Einbauten von Servomotoren, aber bei der PID-Regelung von Gleichstrommotoren wird häufig die durch Pulsweitenmodulation an den Motor angelegte Spannung verwendet.

In Bezug auf den zweiten Teil Ihrer Frage ist ein Teil dessen, was Sie sehen, wahrscheinlich auf die Zahnräder oder einfach auf die entsprechende Abstimmung des Controllers zurückzuführen, aber ich kann nicht viel dazu sagen, ohne die von Ihnen erwähnten Videos zu sehen.

Wenn Sie mehr über das Zusammenspiel von Winkelgeschwindigkeit, Drehmoment usw. erfahren möchten, sollten Sie nach Gleichstrommotormodellen suchen, die einer der Bausteine ​​von Servos sind. Auf diese Weise werden Sie feststellen, dass es üblich ist, anzunehmen, dass die Winkelgeschwindigkeit proportional zum Ankerstrom und anderen Dingen ist, und zu verstehen, wie das blaue Kästchen, das Sie in Ihrem Whitepaper erwähnt haben, den Motor darstellt.

georgebrindeiro
quelle
Danke, das erklärt einen Teil meiner Frage. Ich habe auch den Begriff "gesteuert" auf "betätigt" aktualisiert. Es ist angemessener für meine Frage.
Ayberk Özgür
Vielen Dank für den Vorschlag zum Nachschlagen von Gleichstrommotormodellen. In einem Artikel , auf den ich gestoßen bin ( inf.fu-berlin.de/lehre/SS05/Robotik/motors.pdf ), wird angegeben, dass die SpannungE Die Anwendung auf den Motor ist proportional zu seiner Winkelgeschwindigkeit w. Das Anlegen eines PWM-Signals sollte abhängig von seinem Arbeitszyklus zu einem Effektivspannungspegel führen. Daher steuern wir tatsächlich die Winkelgeschwindigkeit am Motor, solange das zugehörige Drehmoment auf der Kurve von Drehmoment zu Winkelgeschwindigkeit ausreicht, um der von uns angetriebenen Last entgegenzuwirken.
Ayberk Özgür
Das Betätigen des Arbeitszyklus (Spannung) ist die einfachste Methode zum Steuern eines Servos, es gibt jedoch viele bessere Möglichkeiten zum Steuern eines Servos. Beispielsweise wird bei der Flussvektorsteuerung auch die Ausrichtung des Magnetfelds gesteuert, was die Steuerung des durch jede Phase fließenden Stroms erfordert. en.wikipedia.org/wiki/Vector_control_(motor)
user65
2

Entschuldigung, wenn dies zu spät kommt:

Wenn es sich um RC-Servos handelt, erfolgt die tatsächliche Ansteuerung des Motors in Form einer pulsbreitenmodulierten Spannung: Der Servoverstärker schaltet den Motor nur für die von festgelegte Zeitspanne vollständig in die eine oder andere Richtung ein die Differenz zwischen der gemessenen Position und der Zielposition, bestimmt durch die Breite des eingehenden Impulses.

Das Leben wird durch die neueren "digitalen" Servos kompliziert - ich kann nicht auf die internen Abläufe dieser Servos schwören, aber der Antrieb zum Motor ist mit ziemlicher Sicherheit eine Art PWM, nur mit einer schnelleren Geschwindigkeit als das analoge Servo alten Stils Verstärker. Es gibt keinen Grund, warum dies nicht wie unten beschrieben sein könnte, außer dass in einem RC-Servo nur wenig Platz vorhanden ist. Daher besteht eine gute Chance, dass keine Strommessung durchgeführt wird und der vom Mikroprozessor gesteuerte Parameter daher die PWM ist Auslastungsgrad.

Wie Servomechanismen in der Industrie gesteuert werden, ist eine viel umfassendere Antwort: Grundsätzlich kann es auf jede Art und Weise geschehen, die der Designer für angemessen hielt. Der Motorantrieb kann über einen linearen Verstärker erfolgen, der zum Ansteuern eines Stroms oder einer Spannung konfiguriert ist, oder über einen Schaltverstärker (dh PWM). Im Fall eines Schaltverstärkers kann der Verstärker selbst analog sein und entweder für Konstantstrom, Konstantspannung oder konstanten Arbeitszyklus konfiguriert sein.

Normalerweise gibt es in einem "Pro" -Servomechanismus mit einem bürstenbehafteten oder bürstenlosen Motor eine innere Schleife, die den Motorstrom (und damit das Drehmoment) bedient. Dies ist weniger ein großer Vorteil bei der Steuerung als vielmehr eine erhebliche Vereinfachung der Strombegrenzung des Motors. Dies ist erforderlich, wenn Sie den teuren Rauch im Motor aufbewahren möchten, in den er gehört. Diese innere Strom- (und damit Drehmoment-) Schleife wird häufig von einer Drehzahlschleife umhüllt, die entweder die Drehzahl der Motorwelle erfasst oder aus der Gegen-EMK des Motors ableitet (und die ein bequemes Mittel zur Drehzahlbegrenzung des Motors darstellt, wenn das ist notwendig). Schließlich wird diese Geschwindigkeitsschleife von einer Positionsschleife umschlossen.

TimWescott
quelle