Erfordert die Verwendung des PID-Reglers Kenntnisse der Übertragungsfunktion der Anlage?

So einfach ist das. Ich gehe davon aus, dass Sie PID verwenden, wenn Sie die Übertragungsfunktion des Systems nicht kennen, ansonsten verwenden Sie sie und stecken sie direkt in die Regelung.

Antworten (2)

Nein, Sie müssen nicht die ganze Übertragungsfunktion kennen. Es ist durchaus üblich, eine PID entweder von Hand oder mit einem Computer manuell abzustimmen. Manchmal wäre die Übertragungsfunktion viel zu komplex/willkürlich, um berechnet zu werden, also können Sie sie annähern oder ein Gerät verwenden, das eine Sprungantwort Ihres Systems generiert, um eine ungefähre PID zu generieren.

Die letztere Methode liefert nicht die "perfekte/ideale" Antwort für Ihr System, aber in der Praxis werden Sie das nie erreichen können. Selbst wenn Sie die Übertragungsfunktion eines Systems haben, gibt es Faktoren, die sich darauf auswirken: Komponententoleranz, Prozesstoleranz, Alterung, Temperatur usw. Sie verwenden also einen PID, der der von Ihnen erwarteten Spezifikation am nächsten kommt.

In der Steuerungstheorie wäre es möglich, eine lineare Funktion für alles zu verwenden (nur P-Faktor), aber Sie würden auf vielen Systemen eine sehr schlechte Reaktion haben und diese Reaktion ist in den meisten Situationen nicht akzeptabel, aber selbst mit einer PID können Sie nicht immer liefern gut genug Rückmeldung. Es liegt an Ihnen zu bestimmen, ob Sie eine komplexe Übertragungsfunktion benötigen oder nicht. Ich musste bereits eine PID für ein komplexes System mit einer Übertragungsfunktion 8. Ordnung entwerfen. Eine einfache PID reichte nicht aus, um die Umkehrung dieser Übertragungsfunktion zu modellieren, aber ich konnte viele Komponenten durch das Studium der Pol- und Null-Karte der Übertragungsfunktion entfernen. Dann entschied ich, welche Übertragungsfunktion die beste PID für mein System wäre. Ich hatte viele Kandidaten und ich habe sie (manuell) getestet, um es herauszufinden.

Update: Um Ihren Kommentar zu beantworten:

Ein PID ist ein Werkzeug, aber es ist nicht "DAS einzig mögliche Feedback". Wenn Sie die Übertragungsfunktion haben, können Sie diese direkt nutzen. Was Sie aus Lehrbüchern lernen, ist, dass eine PID meistens gut genug ist, um die meisten einfachen Systeme zu modellieren.

Ich studiere jedoch Robotik und kann Ihnen sagen, dass ich selten eine PID verwenden kann, um den Roboter zu steuern (nennen Sie es eine Anlage). Wir verwenden eine PID, um die Gelenkmotoren anzutreiben, weil die Mechanik einfach ist (Sie haben ein Drehmoment, Reibung usw.). Aber Sie können einen PID nicht verwenden, um die Bewegungen zu glätten, die von einem kompletten Arm oder einem Bein ausgeführt werden. Stattdessen verwenden Sie leistungsfähigere Werkzeuge: Die direkte Kinematik (ein Matrixsatz) ermöglicht es, die Position des Endeffektors relativ zu einem anderen Teil am Roboter zu definieren, und dann verwenden wir die inverse Kinematik (ein weiterer Matrixsatz) in der Rückkopplungsschleife , damit Sie die aktuelle Position des Roboters relativ zum erwarteten Pfad anpassen können.

Diese Matrizen sind Elemente eines Regelkreises, können aber nicht als Gleichung 2. Ordnung modelliert werden. Das mag zunächst seltsam erscheinen, aber wenn Sie Matlab zur Hand haben, können Sie versuchen, jede PID-Übertragungsfunktion in eine SOS-Matrix umzuwandeln. Die Mathematik ist sehr ähnlich: Sie multiplizieren jede Matrix miteinander und implementieren damit Ihre Rückkopplungsschleife.

Der Grund, warum PID sehr beliebt sind, ist, weil sie:

  1. Einfach zu implementieren, sogar in Maschinencode (praktisch für Mikrocontroller);
  2. Meistens gut genug;
  3. Sie erfordern sehr wenig Kalkül.

Da ich bereits die Punkte 1 und 2 besprochen habe, gehe ich auf den dritten ein: Wenn Sie wirklich die Übertragungsfunktion Ihres Systems haben, sagen wir eine riesige Übertragungsfunktion 23. Ordnung, die viele Sinus, Cosinus (in Ihren Polynomparametern) und so enthält on, können Sie am Ende mit einem sehr komplexen Kalkül enden, der die Verwendung von Fließkomma-Arithmetik erfordern kann. Auf einem Computer ist dies keine große Sache, aber auf einem eingebetteten System kann dies problematisch sein, da es zu langsam ist, um mit der erwarteten Aktualisierungsrate Schritt zu halten. Wenn Sie das Pol-Null-Diagramm studieren und feststellen, dass Sie Ihre gigantische TF 23. Ordnung auf eine 4. Ordnung reduzieren können, dann ist die Rechnung viel besser zu handhaben.

Sehr informativ, danke! Lassen Sie mich also zusammenfassen. Wenn Sie die Übertragungsfunktion nicht haben, können Sie trotzdem PID verwenden. Aber was ist, wenn ich zufällig die Übertragungsfunktion kenne? Wie passt es in die Rückkopplungsschleife (falls überhaupt)?

Das Ziel in einem typischen Steuersystem besteht darin, die Folge von Ausgangsstimuli zu erzeugen, die es dem System ermöglichen, einen gewünschten Zustand zu den niedrigsten "Kosten" zu erreichen [Kosten können in Energie, Zeit, Maschinenbelastung, Ungenauigkeit des erreichten Zustands oder gemessen werden verschiedene andere Wege]. Wenn man genau weiß, wie das System auf verschiedene Stimuli reagieren wird, kann man simulieren, was es tun würde, wenn es mit verschiedenen Stimulifolgen gefüttert würde, und bestimmen, welche die besten Ergebnisse liefern würden. In der Tat könnte man, wenn man das System perfekt kennt, bestimmen, welche Sequenz notwendig ist, und diese Sequenz dann ausgeben, ohne sich die Mühe zu machen, sich irgendwelche Rückmeldungen anzusehen. Im Allgemeinen wird man jedoch nicht genau wissen, wie das System auf Reize reagieren wird, aber eine Hülle von Zuständen festlegen können, die innerhalb einer bestimmten Zeitspanne erreicht werden können. Zum Beispiel, wenn man weiß, dass "maximal vorwärts um 90% beschleunigen" die Vorwärtsgeschwindigkeit einer Maschine um mindestens 1 m / s erhöht (oder die Rückwärtsgeschwindigkeit verringert) und "maximal rückwärts beschleunigen" das Gegenteil bewirkt, und wenn das Ziel darin besteht, die Maschine zu haben So schnell wie möglich an einer Stelle 10 Meter voraus ankommen, kann man die Höchstgeschwindigkeit berechnen, mit der die Maschine in einer bestimmten Entfernung vom Ziel fahren kann, ohne mehr als 90 % der Höchstbeschleunigung anwenden zu müssen; wenn die gegenwärtige Geschwindigkeit kleiner als das Maximum ist, kann man berechnen, wie viel Zeit durch Beschleunigen gegenüber Ausrollen gespart werden kann, bis man die Geschwindigkeit verringern und gegebenenfalls beschleunigen oder ausrollen müsste; Andernfalls kann man 90 % maximale Rückwärtsfahrt verlangen, wenn die eigene Geschwindigkeit genau mit dem Umschlag übereinstimmt, mehr als 90 % des Maximums, wenn es zu schnell ist.

Wenn ein System eine schöne saubere Beziehung zwischen "Position" und "Geschwindigkeit" hat (wie beim Bewegungssteuerungsbeispiel), kann man die Geschwindigkeit direkt ablesen und sein Ziel ist es, das Ziel schnell zu erreichen, kann ein Hüllkurven-basierter Ansatz sehr viel bieten gute Antwort. Wenn jedoch die Beziehung zwischen dem Ausgang des Steuersystems und einer beobachtbaren Reaktion komplexer oder weniger gut charakterisiert ist, kann eine PID-Schleife hilfreich sein. Wenn man ein komplexes Verhaltensmodell verwendet, kann es, selbst wenn man vorhersagen kann, wie das System auf einen bestimmten Stimulus reagieren wird, schwierig sein, zu bestimmen, welcher Stimulus gegeben werden sollte, um eine gewünschte Reaktion zu erzielen. Wenn man annimmt, dass die Systemantwort als ein linearer Filter zweiter Ordnung auf den Ausgangsstimulus modelliert werden kann, kann man die Umkehrung dieses Filters berechnen (der selbst ein Filter zweiter Ordnung sein wird). ist der "D"-Term; der Koeffizient der zweiten Stufe dividiert durch die Zeitkonstante des zweiten Terms stellt den "I"-Term dar). ist der "D"-Term; der Koeffizient der zweiten Stufe dividiert durch die Zeitkonstante des zweiten Terms stellt den "I"-Term dar).