Skip to content
RFrftools.io
Motor Control21. März 20266 Min. Lesezeit

Ziegler-Nichols PID-Tuning: Open-Loop für Gewinne

Lernen Sie das PID-Tuning von Ziegler-Nichols mithilfe von Prozessverstärkung, Totzeit und Zeitkonstante kennen. Funktioniertes Beispiel mit echten Motorsteuerungswerten. Kostenloser Online-Rechner.

Inhalt

Warum PID-Tuning immer noch wichtig ist

PID-Controller gibt es überall. Im Ernst — sie steuern alles, vom Temperaturkreis in Ihrem Reflow-Ofen bis hin zur Drehzahlregulierung eines bürstenlosen Gleichstrommotors. Trotz all der ausgefallenen neuen Regelungsstrategien wie der modellprädiktiven Regelung bleibt der klassische PID König. Warum? Es funktioniert, es ist spottbillig, es auf einem einfachen Mikrocontroller zu implementieren, und wenn Sie das Tuning hinbekommen, funktioniert es wunderbar.

Der Trick liegt in diesem Tuning. Ein schlecht konfigurierter PID oszilliert wie ein Betrunkener auf einer Gratwanderung oder reagiert so langsam, dass Sie es genauso gut manuell steuern könnten. Ich habe Temperaturregler gesehen, die um 40 °C übersteigen, weil jemand die Verstärkungen nur erraten hat. Nicht besonders gut, wenn du versuchst, ein Board voller 0201-Passiven umzufüllen.

Die Ziegler-Nichols-Methode mit offenem Regelkreis bietet Ingenieuren einen soliden, wiederholbaren Ausgangspunkt, der auf drei wichtigen Prozessmerkmalen basiert: ProzessgewinnKK, TotzeitLLund Zeitkonstanteτ\tau. Es gibt sie seit 1942 und sie wird immer noch verwendet, weil sie das Rätselraten überflüssig macht. Sie führen einen Test durch, messen drei Parameter, fügen sie in einige Formeln ein und Sie haben einen Ausgangswert, mit dem Sie normalerweise zu 80% dorthin gelangen.

Die Open-Loop-Step-Response-Methode

Hier ist der Spielplan: Versetzen Sie Ihr System in einen offenen Regelkreis, führen Sie eine schrittweise Änderung in den Aktuator ein (wie eine Spannungsstufe zu einem Motortreiber) und zeichnen Sie auf, was mit Ihrer Prozessvariablen passiert. Aus dieser S-förmigen Reaktionskurve extrahieren Sie drei kritische Parameter.

Das erste ist ProzessverstärkungKK— wie viel Output-Änderung Sie pro Eingabeschritt erhalten. Das können Umdrehungen pro Volt sein, Grad Celsius pro Einschaltdauer in Prozent, unabhängig von den Einheiten, die Ihr System spricht. Wenn Sie die PWM Ihrer Heizung von 0 auf 50% erhöhen und die Temperatur schließlich um 75 °C ansteigt, beträgt Ihr Prozessgewinn 1,5 °C pro Prozent Einschaltdauer.

Als Nächstes folgt die TotzeitLL— die Verzögerung, bevor sich etwas bewegt, gemessen in Sekunden. Das ist reine Verzögerung. Du änderst die Eingabe und für einen frustrierenden Moment passiert nichts. Dann wacht das System auf und beginnt zu reagieren. Totzeit ist der Feind schneller Kontrolle. Je mehr du hast, desto konservativer muss dein Tuning sein.

Schließlich gibt es noch die Zeitkonstanteτ\tau— wie lange es dauert, bis etwa 63% des Endwerts erreicht sind, nachdem die anfängliche Verzögerung einsetzt. Dies stammt aus der Systemtheorie erster Ordnung. Eine exponentielle Antwortvariable erreicht nach einer Zeitkonstante 63,2% ihres Endwerts. In der Praxis zeichnen Sie eine Tangente am Wendepunkt Ihrer S-Kurve, sehen, wo sie die Endwertlinie kreuzt, und messen bis zum Beginn der Antwortvariablen zurück.

Sammeln Sie diese drei Zahlen und Ziegler-Nichols gibt Ihnen direkte Formeln für P-, PI- und vollständige PID-Regler. Das Schöne daran ist, dass Sie die zugrundeliegende Physik nicht kennen müssen. Es ist Ihnen egal, ob es sich um eine thermische Masse mit konvektiven Verlusten oder um einen Motor mit Gegen-EMF-Dynamik handelt. Die Schrittantwort sagt Ihnen alles.

Die Ziegler-Nichols-Formeln

Für einen PID-Controller sehen die klassischen Open-Loop-Tuning-Regeln wie folgt aus:

Kp=1.2τKLK_p = \frac{1.2\,\tau}{K\,L}
Ti=2LT_i = 2L
Td=0.5LT_d = 0.5L
Diese geben dir den proportionalen GewinnKpK_p, die IntegralzeitTiT_iund die AbleitungszeitTdT_din der Standardform. Die meisten modernen Controller verwenden jedoch die Parallelform (ISA), also müssen Sie Folgendes konvertieren:
Ki=KpTiK_i = \frac{K_p}{T_i}
Kd=KpTdK_d = K_p \cdot T_d
Für einen reinen PI-Controller (nützlich in lauten Systemen, in denen abgeleitete Aktionen mehr Probleme verursachen als lösen):
KpPI=0.9τKLK_p^{\text{PI}} = \frac{0.9\,\tau}{K\,L}
TiPI=L0.3=3.33LT_i^{\text{PI}} = \frac{L}{0.3} = 3.33L
Beachten Sie, dass das PI-Tuning konservativer ist — geringere proportionale Verstärkung, längere Integralzeit. Das ist gewollt. Ohne den abgeleiteten Begriff zur Vergütung von Lead müssen Sie sich etwas zurückziehen, um die Stabilität aufrechtzuerhalten.

Diese Formeln zielen auf ein Viertelzerfallverhältnis ab — jede Überschreitung ist etwa 25% kleiner als die vorherige. Aggressiv, aber in der Regel ein solider Ausgangspunkt. Sie erhalten eine ordentliche Geschwindigkeit, ohne Ihr System in einen Presslufthammer zu verwandeln. Die meisten Ingenieure verstimmen von hier aus, aber das ist viel besser, als bei Null anzufangen.

Funktioniertes Beispiel: Drehzahlregelung für Gleichstrommotoren

Lassen Sie uns das konkret machen. Stellen Sie sich vor, Sie entwerfen einen Geschwindigkeitsregler für einen 24-V-Gleichstrommotor mit Bürstenantrieb auf einem Förderband. Sie stellen die PWM von 0 auf 20% ein und verfolgen die Geschwindigkeit mit einem Drehzahlmesser-Encoder. Folgendes sehen Sie:

Der Motor beginnt sich 0,15 s nach dem Schritt zu bewegen. Das ist deine Totzeit →L=0.15sL = 0.15\,\text{s}. Das könnten elektrische Zeitkonstanten sein, die Überwindung mechanischer Trägheit, was auch immer. Es ist dir egal warum, nur dass es da ist.

Die Geschwindigkeit erreicht 63% des Endwerts beit=0.15+0.8=0.95st = 0.15 + 0.8 = 0.95\,\text{s}. Du hast bei 0,15 s angefangen zu antworten, also ist die Zeitkonstanteτ=0.8s\tau = 0.8\,\text{s}. Dies wird wahrscheinlich von der mechanischen Trägheit und der viskosen Dämpfung des Systems dominiert.

Die Enddrehzahl pendelt sich bei 600 U/min ein, was einem Arbeitszyklus von 20% entspricht. Ihr Prozessgewinn istK=60020=30RPM/%K = \frac{600}{20} = 30\,\text{RPM/\%}. Schön und linear, zumindest in diesem Betriebsbereich.

Stecken Sie nun in die PID-Formeln ein:

§7 §

Ti=2×0.15=0.3sT_i = 2 \times 0.15 = 0.3\,\text{s}
§9 §

Konvertierung in eine parallele Form:

Ki=0.21330.3=0.711s1K_i = \frac{0.2133}{0.3} = 0.711\,\text{s}^{-1}
Kd=0.2133×0.075=0.016sK_d = 0.2133 \times 0.075 = 0.016\,\text{s}
Zur reinen PI-Steuerung (mit der ich wahrscheinlich bei einem echten Motor beginnen würde, ehrlich gesagt):
KpPI=0.9×0.830×0.15=0.724.5=0.16K_p^{\text{PI}} = \frac{0.9 \times 0.8}{30 \times 0.15} = \frac{0.72}{4.5} = 0.16
TiPI=3.33×0.15=0.5sT_i^{\text{PI}} = 3.33 \times 0.15 = 0.5\,\text{s}
Sie können diese sofort mit dem Rechner PID Controller Tuning (Ziegler-Nichols) überprüfen. Erspart Ihnen, jedes Mal die Arithmetik von Hand zu erledigen.

Praktische Tipps für reale Systeme

Beginnen Sie mit PI und fügen Sie dann vielleicht D hinzu. Sensorrauschen bereitet abgeleiteten Begriffen oft mehr Mühe, als sie wert sind. Ich habe gesehen, wie abgeleitete Aktionen das Encoder-Quantisierungsrauschen zu einem 50-Hz-Brummen verstärken, das die gesamte mechanische Baugruppe zum Klingen brachte. Beginnen Sie mit PI, überprüfen Sie die Stabilität und fügen Sie Ableitungen nur hinzu, wenn Sie eine schnellere Störungsunterdrückung oder eine genauere Nachführung benötigen. In vielen Fällen werden Sie das nicht tun. Ziegler-Nichols ist ein Startpunkt. Der Quarter-Decay-Ansatz kann zu mehr Überschwingen führen, als Sie möchten, insbesondere in Systemen, in denen Überschwingen teuer oder gefährlich ist. Die meisten Techniker reduzierenKpK_pum 20— 30% gegenüber dem berechneten Wert und passenTiT_ian, um Geschwindigkeit und Laufruhe in Einklang zu bringen. Normalerweise multipliziere ich die proportionale Verstärkung mit 0,7 und schaue, wie es sich anfühlt. Du kannst es später jederzeit erhöhen. Die Abtastrate ist wichtig. Wenn Ihr Regelkreis mit 1 kHz läuft, die Totzeit aber 150 ms beträgt, sind Sie goldrichtig. Bei 50 Hz haben Sie eine grobe Ableitung, die möglicherweise nicht viel hilft. Als Faustregel gilt, dass Ihre Abtastperiode mindestens 5—10x schneller sein sollte als die abgeleitete Zeitkonstante. Andernfalls verstärken Sie nur das Rauschen zwischen den Samples. Für das obige Motorbeispiel mitTd=0.075T_d = 0.075s sollten Sie mindestens alle 7,5 ms abtasten, was 130 Hz oder schneller bedeutet. Anti-Windup ist kritisch. Der integrale Term summiert während der Sättigung Fehler, z. B. wenn Ihr Motor bereits bei 100% Einschaltdauer ist, der Sollwert aber noch höher ist. Ohne Abrollschutz läuft der Integrator immer weiter auf, und wenn sich der Fehler schließlich umkehrt, kommt es zu einem massiven Überschwingen, da es ewig dauert, bis der Integralstrom wieder abgebaut ist. Führen Sie eine Klemmung oder eine Rückberechnung durch, oder riskieren Sie, dass Ihr Förderband Teile durch den Raum schleudert. Unter realen Bedingungen neu einstellen. Die Prozesseigenschaften ändern sich je nach Last, Temperatur, Versorgungsspannung und einem Dutzend anderer Variablen. Die effektive Zeitkonstante eines Motors erhöht sich, wenn Sie ihn entladen. Die Verstärkung einer Heizung ändert sich, wenn sich die Umgebungstemperatur ändert. Stellen Sie den Betrieb auf den ungünstigsten Betriebspunkt ein oder stellen Sie zumindest sicher, dass Ihre Verstärkungen dort noch funktionieren. Das System, das Sie als leer bezeichnet haben, verhält sich möglicherweise völlig anders, wenn es tatsächlich nützliche Arbeit leistet. Achten Sie auf Nichtlinearitäten. Bei der Ziegler-Nichols-Methode wird davon ausgegangen, dass Ihr System um den Betriebspunkt herum einigermaßen linear ist. Wenn Ihr Aktuator gesättigt ist, ein erhebliches Totband aufweist oder sich die Prozessverstärkung je nach Betriebsbedingungen dramatisch ändert, benötigen Sie möglicherweise eine Verstärkungsplanung oder eine adaptive Steuerung. Ein einziger Satz von PID-Verstärkungen kann nur eine begrenzte Menge bewirken.

Wann sollte eine andere Methode verwendet werden

Ziegler-Nichols geht von einem FOPDT-Modell (First-Order plus Dead-Time) aus. Das ist eine ziemlich gute Näherung für viele industrielle Prozesse, aber nicht für alles. Für komplexe Systeme mit mehreren Zeitkonstanten — wie etwa ein kaskadiertes thermisches System mit Heizung, Wärmeverteiler und thermischer Masse — könnten Methoden wie Cohen-Coon oder die automatische Relaisabstimmung besser funktionieren. Cohen-Coon verarbeitet Prozesse mit größeren Verhältnissen zwischen Totzeit und Zeitkonstante eleganter.

Wenn Sie einen Schritttest nicht sicher durchführen können, weil der Prozess in der Produktion läuft oder ein großer Schritt etwas beschädigen würde, ziehen Sie Methoden zur Identifizierung mit geschlossenem Regelkreis oder automatisches Software-Tuning in Betracht. Einige Steuerungen verfügen über integrierte Routinen zur automatischen Optimierung, die Relaisrückkopplungstests durchführen, um das System zu charakterisieren und gleichzeitig die Kontrolle zu behalten.

Bei sehr schnellen Systemen mit minimalen Totzeiten erzielen Sie möglicherweise bessere Ergebnisse, wenn Sie die Polposition oder andere modellgestützte Techniken anwenden. Aber ehrlich gesagt bringt Ziegler-Nichols Sie bei 90% der Probleme mit eingebetteten Steuerungen so nah ran, dass ein bisschen manuelles Feinjustieren die Arbeit beendet.

Versuch es

Schnappen Sie sich Ihre Step-Response-Daten, extrahieren SieKK,LLundτ\tauund starten Sie den PID-Tuning-Rechner. Er berechnet die PI- und PID-Parameter, sodass Sie den richtigen Ansatz für Ihr System wählen können. Setzen Sie ein Lesezeichen — Sie werden es öfter verwenden, als Sie denken. Jedes Mal, wenn Sie auf eine Oszilloskopspur starren und sich fragen, warum Ihr Regelkreis klingelt, fangen Sie hier an.

Verwandte Artikel