Autotune PID eines Reglers

Ich möchte einen PID-Regler automatisch optimieren. Gibt es eine Methode, mit der ich die gewünschten Frequenz- und Timing-Eigenschaften erhalten und die PID-Schleife automatisch einstellen kann?

Verwenden industrielle Steuerungen alte Prozessdaten oder automatisieren sie Online-PID-Tuning-Algorithmen wie Ziegler Nichols?

Google-Systemidentifikation oder Parameteroptimierung
Ich bin ein großer Befürworter der Astrom-Hagglund Relay Tuning-Methode: controleng.com/search/search-single-display/… . Ich habe es vor ein paar Jahren bei einem Temperaturregelungsprojekt ausprobiert und es hat sehr gut funktioniert (Sie können sehen, dass ich in meinem Beitragsverlauf eine Frage dazu gestellt habe).
Am einfachsten ist es, ein interaktives Schema zu verwenden, bei dem Ti die größte Zeitkonstante und Kp die Prozessverstärkung aufhebt. Wenn Sie im Rahmen einer zweiten Bestellung verarbeiten, können Sie die Ableitung vermeiden.

Antworten (1)

Ich möchte einen PID-Regler automatisch optimieren.

Bitte seien Sie hier konkreter. Gehen Sie (1) davon aus, dass sich die Eigenschaften der Pflanze im Laufe der Zeit ändern, oder (2) haben Sie einfach kein gutes Modell der Pflanze?

Wenn (1): Der breitestmögliche Weg, um diese Art von Problem anzugehen, ist die Verwendung adaptiver Steuerungstechniken, aber diese sind auch oft sehr schwierig praktisch anzuwenden und erfordern viel mathematisches Hintergrundwissen. Wenn Sie eine Art Systemwissen und ein Modell des Systems haben und wie es sich ändert, empfehle ich die Verstärkungsplanung, die im Grunde einen neuen Satz von PID-Verstärkungen für verschiedene Regionen des Parameterraums erstellt und eine System-ID-Technik verwendet ( B. ein Kalman-Filter), der aus den beobachtbaren Zuständen verfügbar ist, um abzuschätzen, welche PID basierend auf der Leistung des Systems verwendet werden soll.

Wenn (2): Wenn Sie kein Modell haben, müssen Sie grundsätzlich eine empirische Abstimmungstechnik verwenden. Ziegler-Nichols wird fast nie verwendet, weil es zu aggressiv ist, aber die Kommentare enthalten einige gute Vorschläge. Das Buch von Astrom und Hagglund über PID-Regler enthält unzählige dieser Techniken und ist ein unverzichtbares Nachschlagewerk für alle, die sich ernsthaft mit der Prozesssteuerung befassen. Wenn Sie ein Modell haben (selbst ein Low-Fidelity-Modell), können Sie alles verwenden, was Sie über das klassische Controller-Design im Frequenzbereich wissen (Übertragungsfunktionen, Wurzelortskurve, Bode/Nyquist-Plots), um die relevanten Controller-Qualitätsparameter zu erhalten.

Ich bin offen für Vorschläge. Genauer gesagt habe ich Prozessdaten. Ich muss einen Algorithmus erstellen, um Parameter für den PID-Controller automatisiert zu berechnen.
@chiplusplus Ich verstehe nicht, wie Sie das erreichen können. Solche Methoden erfordern viel Wissen über die Modalidentifikation. Wird sich der Prozess im Laufe der Zeit ändern?
@MathieuL Nehmen wir zur Vereinfachung an, dass es sich nicht ändern wird.
@chiplusplus Wenn sich der Prozess nicht ändert, besteht der einfache Weg darin, die Reihenfolge des Systems zu finden. Sie möchten die niedrigstmögliche Reihenfolge haben. Danach können Sie eine sehr einfache Einstellung verwenden, z. B. wenn es sich um eine erste Bestellung handelt, die Sie festlegen Ti = T1 und Sie setzen Kc = 1/Kp, wobei T1 die Prozesszeitkonstante und Kp die Prozessverstärkung ist. Mit dieser Einstellung reagiert Ihr Befehl mit der gleichen Dynamik des Prozesses und Sie erreichen im permanenten Regime null Fehler. Wenn Sie weitere Hilfe benötigen, sollten Sie den Prozess genau angeben.