Missverständnisse über PID-Controller

Ich entwerfe derzeit ein Äquivalent des Masse-Feder-Dashpot-Systems, und während der Entwurfsphase wurde mir klar, dass ich nicht vollständig verstehe, wie PID-Regler physikalisch funktionieren.

Unten ist ein Bild, dessen obere Hälfte die physische Einrichtung ist. Es gibt eine Masse, die an eine Feder und einen Dämpfer angeschlossen ist. Es gibt einen magischen Positionssensor, der die Position der Masse ausgibt (ignorieren Sie, wie er das macht), und es gibt einen Motor, der an der Masse befestigt ist, damit wir eine Kraft darauf anwenden können. Der Positionssensor wird in einen Computer eingespeist, und der Computer steuert, welche Kraft der Motor erzeugt.

Die untere Hälfte ist so, wie ich mir den Regelkreis vorstelle. Wir haben einen Sollwert für die Masse, und der Offset (Fehler) wird in den PID-Regler eingespeist, der einen Strom ausgibt, der dem Motor zugeführt wird, der eine Kraft ausgibt, die auf die Masse wirkt und somit die Position ändert.

Meine Frage ist, dass der Eingang zum PID-Regler eine Position ist (nämlich x_set - x_actual), aber sein Ausgang ist auf mysteriöse Weise ein Strom. Wie ist das möglich? Der PID-Regler berechnet Integrale und Ableitungen der Position, die in keiner Weise für die Stromstärke relevant sind.

Fehlt mir eine Komponente in meinem Regelkreis - ist etwas zwischen der Steuerung und dem Motor? Oder vielleicht zwischen dem Summenblock und dem Controller?

Jede Hilfe wird sehr geschätzt. ^^

Sie geben ein Steuersignal aus, das die Masse in minimaler Zeit und ohne Überschwingen in die gewünschte Position bringt. Das Steuersignal ist eine Positionsänderungsrate. Was soll es sonst noch ausgeben? Eine Position? Es würde x_setdie ganze Zeit nur berichten und dafür brauchen Sie nicht einmal eine PID.
Der Motor erzeugt ein Drehmoment (das das Drehgegenstück einer linearen Kraft ist) und das vom Motor entwickelte Drehmoment ist proportional zum Strom. Der Motorstrom wird durch die Differenz zwischen Soll-Massenlage und Ist-Massenlage bestimmt. Es gibt mehrere Änderungen physikalischer Einheiten im System: Verschiebung zu Spannung; Spannung zu Strom; Strom zu Drehmoment, ... Einige davon werden von identifizierbaren Komponenten ausgeführt (z. B. Potentiometer = Wegaufnehmer) und andere sind dem Gerät inhärent (z. B. Drehmoment, Beschleunigung, Geschwindigkeit, Verschiebung, alle koexistieren auf der Motorwelle).
Korrigieren Sie mich, wenn ich falsch liege: Was Sie im Grunde fragen, ist, wie Sie zwischen dem berechneten Signalwert von der PID in das tatsächliche Ausgangssignal umwandeln, das aktuell ist?

Antworten (4)

Der Eingang zum PID-Regler ist keine Position. Die Eingabe in den Positionssensor ist eine Position.

Der Eingang zum PID-Regler ist ein Signal, das eine Position darstellt .

Es könnte eine Spannung oder ein Strom oder eine digitale Zahl sein. Die genaue Form des Signals spielt keine Rolle, da es lediglich der Steuerung die Position darstellen muss.

Wenn es sich um ein analoges Signal handelt, wird der Sollwert normalerweise von einem Potentiometer oder DAC eingestellt, um ein analoges Referenzsignal, das die gewünschte Position darstellt, in einen analogen Subtrahierer zu geben.

Wenn es sich um ein digitales Signal handelt, ist der Sollwert eine Zahl , die die gewünschte Position in einem digitalen Subtrahierer darstellt.

Der Controller verfügt über Mittel, um das Signal zu integrieren und zu differenzieren, die direkten (P für proportional), integrierten (I) und differenzierten (D) Signale (daher PID) zu gewichten, zu addieren und auszugeben.

Wenn es sich um ein analoges Signal handelt, kann es den Motor direkt oder über einen Verstärker antreiben. Ein digitales Signal könnte über einen DAC umgewandelt werden, um einen herkömmlichen Motor anzutreiben, oder es kann bis zum Ende digital bleiben und in einen ESC umgewandelt werden, um einen Schrittmotor oder einen bürstenlosen Motor anzutreiben.

Was Sie sagen, ist im Wesentlichen, dass mein Positionssensor eine Eingabe der Position x aufnimmt und eine Zahl ausgibt, sagen wir z. Außerdem möchte ich als Mensch, dass mein Sollwert die Position x_set ist, aber eigentlich sollte ich die Zahl z_set in meinen Regelkreis einspeisen. Der Eingang zu meinem PID-Controller ist also (z_set - z), was wahrscheinlich ein Strom oder eine Spannung oder was auch immer ist. Habe ich das richtig verstanden?
Ja. Sie möchten, dass Ihre eingestellte Position z. Die PID-Schleife weiß jedoch nichts über Positionen, sondern nur (in Ihrem Fall) Zahlen. Sie geben also eine Zahl ein, die z als Sollwert in den PID-Regler darstellt.

Neil hat eine perfekte Antwort für Sie, aber diese Verwirrung kommt immer wieder vor, daher würde es nicht schaden, die Beziehung zwischen Mathematik, Modellen und Realität zu betonen.

In Wirklichkeit haben Sie physikalische Einheiten, in Ihrem Fall das Objekt, das Sie steuern möchten, die Umgebung, in der es lebt, sowie Sensoren, Aktuatoren (Motoren) und ein Steuergerät (normalerweise eine elektronische Schaltung oder ein Mikrocontroller). Sie hinzufügen, um Ihr Element zu steuern.

Um das Verhalten Ihres resultierenden Systems zu verstehen und gute Designentscheidungen zu treffen , müssen wir uns der Modellierung der Systeme zuwenden, die im Spiel sind. Dies ist ein Annäherungsprozess, bei dem wir Details ignorieren, von denen wir glauben, dass sie für das Systemverhalten nicht wesentlich sind, aber das Gesamtverhalten des Systems beibehalten.

Zum Beispiel basiert Ihre Systemdynamikgleichung auf den Newtonschen Gesetzen, aber natürlich könnten Sie Dinge wie Reibung und Aerodynamik, Variationen aufgrund von Wärme, Kompression der mechanischen Teile usw. hinzufügen. Ihre Aktuatoren sind wahrscheinlich so konstruiert, dass sie um ihren Betriebspunkt herum ziemlich linear sind , sie können aber auch als nichtlineare Gleichungen modelliert werden. Sogar Ihr Controller-Teil ist höchstwahrscheinlich eine Vereinfachung - zum Beispiel ist kein elektrischer Schaltkreis 100% genau und arbeitet nicht sofort - und Sie haben das nicht modelliert. Aber das ist in Ordnung, es wird wahrscheinlich nicht viel an der Effizienz Ihrer Kontrolle ändern.

Ein Modell ist ein fiktives (mathematisches) Konstrukt, das wir verwenden, um das Verhalten des Systems zu verstehen. Obwohl es fiktiv ist, ist es enorm nützlich, weil wir in der Lage sind, über das System nachzudenken. Ihr obiges PID-Diagramm ist eine grafische Darstellung der folgenden Gleichungen:

ich ( t ) = C ( x einstellen ( t ) x ( t ) , t ; k P , k ich , k D ) , Modell des PID-Reglers F ( t ) = M ( ich ( t ) , t ) , Modell des Motors m x ( t ) + c x ' ( t ) + k x ( t ) = F ( t ) , Modell des Systems
Diese machen für mich mehr oder weniger Sinn. Ich würde vielleicht den Sensor modellieren und die Position einnehmen x in einen Messwert x gemessen . Ein typischer Zusatz ist das Hinzufügen
x gemessen ( t ) = x ( t ) + ϵ ( t ) ,
wo ϵ ist eine Gaußsche Rauschfunktion, um Messungenauigkeiten zu modellieren.

Die Tatsache, dass Sie den Strom verwenden ich da eine Ausgabe von Ihrem Controller mir sagt, welche Art von Ausgabe Sie beabsichtigen.

Mit diesem Modell können Sie jetzt nette Dinge tun, wie es auf einem Computer simulieren . Dies könnte darauf hinweisen, was Ihre PID-Konstanten sein sollten. Sie können die Frequenzgangkurven berechnen , um herauszufinden, ob das System bei bestimmten Frequenzen mitschwingt.

Beachten Sie schließlich, dass fast alles, was unter Kontrolle ist, von der Zeit abhängt. Das wird dann oft einfach weggelassen, und wir verwenden auch die Notation:

x ˙ = x ' ( t ) = d x d t ( t )

Um die Position in einen Strom umzuwandeln, benötigen Sie wahrscheinlich eine Verstärkung, dh k1 A/Meter, dies hängt von den elektrischen Eigenschaften des Positionssensors ab.

Wenn ich den Wert meiner 2 Cent hinzufüge, ist die Eingabe in den PID-Regler nicht die Position, sondern die in einen Strom oder eine Spannung umgewandelte Position.

Um die wichtigsten Punkte in Worten auszudrücken, die bei der Beantwortung der Frage helfen, was die anderen Befragten mithilfe von Mathematik erklärt haben:

Im Wesentlichen „sieht“ der elektronische PID-Regler am Eingang für den gewünschten Massepositions-Sollwert eine Spannung oder einen Strom. Am anderen Eingang für den Feedbacksensor, der die Position der Masse überwacht, „sieht“ der PID-Regler einen Strom oder eine Spannung, die vom Feedbacksensor umgewandelt wird.

Der Massepositions-Rückkopplungssensor ist im bereitgestellten Diagramm nicht explizit dargestellt, daher kann man davon ausgehen, dass es sich um die Einheitsrückkopplungsleitung handelt, die vom Ausgang des Systemdynamikblocks zum negativen Eingang des Summierknotens führt.

Die negative Rückkopplung Eins soll bedeuten, dass, wenn der vom Benutzer gewünschte Sollwert mit der Massenposition übereinstimmt, das Rückkopplungssignal vom Positionssensor die gleiche Größe, aber entgegengesetztes Vorzeichen wie das Sollwertsignal hat.

Der elektronische PID-Regler subtrahiert dann elektronisch den vom Benutzer gewünschten umgewandelten Strom- oder Spannungswert der Massenposition von der tatsächlich gemessenen Massenposition durch den umgewandelten Strom- oder Spannungswert des Rückkopplungssensors.

Die Differenz zwischen dem gewünschten umgewandelten Strom- oder Spannungswert des Benutzers und dem umgewandelten Strom- oder Spannungswert des Rückkopplungssensors kann als Steuerfehler oder kurz CE bezeichnet werden.

Wenn CE Null ist, gibt der PID-Regler weder Strom noch Spannung aus; dh der Ausgang des PID-Reglers ist Null, weil die Massenposition am gewünschten Sollwert des Benutzers liegt.

Wenn CE nicht Null ist, entweder ein positiver oder ein negativer Wert, gibt der PID-Regler entweder einen negativen oder positiven Spannungsstrom oder eine Spannung aus, um die Position der Masse so anzupassen, dass sie dem gewünschten Sollwert des Benutzers entspricht. Der negative oder positive Strom oder die Spannung treibt einen Elektromotor an, um die Massenposition einzustellen. Wenn die Massenposition auf die vom Benutzer gewünschte Sollwertposition verschoben wird, ist CE Null und der PID gibt Nullstrom oder Nullspannung aus, um die Bewegung der Masse zu stoppen.

Der Elektromotor wandelt den vom PID-Regler bereitgestellten elektrischen Strom oder die elektrische Spannung in eine mechanische Kraft oder ein Drehmoment (Drehkraft) um, um die Position der Masse zu bewegen.

Der negative Strom- oder Spannungsausgang des PID-Reglers kann so angeordnet werden, dass sich der Elektromotor beispielsweise gegen den Uhrzeigersinn dreht, was dazu führt, dass sich die Masse nach links (oder je nach Standpunkt nach unten) bewegt, und der positive Strom oder Der Spannungsausgang des PID-Reglers kann so angeordnet werden, dass sich der Elektromotor im Uhrzeigersinn dreht, was dazu führt, dass sich die Masse nach rechts (oder oben) bewegt. Je nachdem, wie die Mechanik der Anlage konfiguriert ist, wird die Konvention für links oder rechts bzw. oben oder unten übernommen.

Haftungsausschluss: Bitte korrigieren Sie alle Fehlinterpretationen, die ich im obigen Text gemacht haben könnte; Über konstruktive Kritik würde ich mich freuen.