PID-Regler: Unterschied zwischen den Versionen

Aus Motorkontrolle.de
Zur Navigation springen Zur Suche springen
K
(D steht für Differenzieren, nicht für Dämpfen)
 
(6 dazwischenliegende Versionen von 3 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
 
==Was ist ein PID-Regler?==
 
==Was ist ein PID-Regler?==
Der so genannte "PID-Regler"  begegnen einem sehr oft in der Steuerungstechnik.
+
Der so genannte "PID-Regler"  begegnet einem sehr oft in der Steuerungstechnik.
 
Wer es ganz genau wissen möchte was sich (mathematisch) dahinter verbirgt, dem sei der [http://de.wikipedia.org/wiki/Regler#PID-Regler Wikipedia-Artikel zum Thema PID-Regler] empfohlen. Daher hier mal die gänzlich unwissenschaftliche Beschreibung:
 
Wer es ganz genau wissen möchte was sich (mathematisch) dahinter verbirgt, dem sei der [http://de.wikipedia.org/wiki/Regler#PID-Regler Wikipedia-Artikel zum Thema PID-Regler] empfohlen. Daher hier mal die gänzlich unwissenschaftliche Beschreibung:
 
==PID+Megasquirt=?==
 
==PID+Megasquirt=?==
Zeile 18: Zeile 18:
 
==I wie "Impuls"==
 
==I wie "Impuls"==
 
*Der I-Anteil des PID-Reglers reagiert auf den Integral-Anteil. Dies bedeutet, dass die Zeitkomponente mit hineinspielt.  
 
*Der I-Anteil des PID-Reglers reagiert auf den Integral-Anteil. Dies bedeutet, dass die Zeitkomponente mit hineinspielt.  
:Je länger die Regelabweichung andauert, um so größer wird die Komponente des "I" Anteiles, die versucht gegen zu regeln.
+
:Je länger die Regelabweichung andauert, um so größer wird die Komponente des "I" Anteils, die versucht gegen zu regeln.
 
*In der Praxis hat sich gezeigt: '''"I macht den Unterschied"'''.  
 
*In der Praxis hat sich gezeigt: '''"I macht den Unterschied"'''.  
 
:Der "I"-Faktor entscheidet in der Regel über ein gutes Ansprechverhalten der Regelung
 
:Der "I"-Faktor entscheidet in der Regel über ein gutes Ansprechverhalten der Regelung
  
==D wie "Dämpfung"==
+
==D wie "Differenzieren"==
*Der D Anteil reagiert auf die Geschwindigkeit der Änderung. D.d. je schneller sich die Störgröße ändert (z.B. Drehzahl bricht ein), um so stärker reagiert die "D" Komponente.
+
*Der D Anteil reagiert auf die Geschwindigkeit der Änderung. D.h. je schneller sich die Störgröße ändert (z.B. Drehzahl bricht ein), um so stärker reagiert die "D" Komponente (Das entspricht einem mathematischen Differenzieren).
 
*In der Praxis zeigt sich, dass "D" eine Dämpfende Wirkung auf die Regelung hat. D.h. ein kleiner Wert für "D" im Bereich von 1-5 reicht oft schon aus, um die Regelung zu beruhigen und stabil zu halten.
 
*In der Praxis zeigt sich, dass "D" eine Dämpfende Wirkung auf die Regelung hat. D.h. ein kleiner Wert für "D" im Bereich von 1-5 reicht oft schon aus, um die Regelung zu beruhigen und stabil zu halten.
  
Zeile 29: Zeile 29:
 
*Um für PID eine Grundeinstellung zu finden, hilft vielleicht folgende Anleitung:
 
*Um für PID eine Grundeinstellung zu finden, hilft vielleicht folgende Anleitung:
 
:# "I" sehr klein einstellen (z.B.1), "D" auf Null stellen.
 
:# "I" sehr klein einstellen (z.B.1), "D" auf Null stellen.
:# Vergrößere "P", bis die Regelung anfängt zu schwingen (z.B. Lambdawert schwankt wild hin und her, Leerlauf fängt an zu "sägen")
+
:# Vergrößere "P", bis die Regelung anfängt zu schwingen (z.B. Lambda-wert schwankt wild hin und her, Leerlauf fängt an zu "sägen")
 
:# Stelle "P" auf 50% dieses kritischen Wertes.
 
:# Stelle "P" auf 50% dieses kritischen Wertes.
 
:# Erhöhe "I" so lange, bis die Regelung eine gute Impulsantwort hat. Wenn die Regelung anfängt zu Schwingen, ist "I" zu groß.
 
:# Erhöhe "I" so lange, bis die Regelung eine gute Impulsantwort hat. Wenn die Regelung anfängt zu Schwingen, ist "I" zu groß.
:# Zu guter Letzt füge etwas "P" hinzu, um etwas Dämpfung im System zu bekommen.
+
:# Zu guter Letzt füge etwas "D" hinzu, um etwas Dämpfung im System zu bekommen.
 +
 
 +
*Hier eine weitere Methode um die PID Werte für die Lambdaregelung zu berechnen:
 +
[[Bild:Dauerschwingung.jpg|miniatur|Darstellung-Dauerschwingung|Beispiel einer Dauerschwingung des AFR Signals im MLV]]
 +
:*Werte ermitteln:
 +
:# P/I/D auf 0 gestellt werden.
 +
:# Mit Tunerstudio ein Logging starten.
 +
:# Den Proportionalanteil solange erhöhen bis es zu einer Dauerschwingung des AFR Wertes kommt.Wert (Pkrit) für spätere Berechnungen notieren.
 +
:# Periodendauer der Dauerschwingung mittels der Logging Datei ermitteln.
 +
:# Mit der Zeitachse des MLV kann die Dauer einer Schwingung (Tkrit) ermittelt werden. Diese Zeit notieren.
 +
 
 +
:*Weitere Konstanten zur Berechung der PID einstellungen:
 +
'''Tn''' = 0,5  * Tkrit [s]
 +
'''Tv''' = 0,12 * Tkrit [s]
 +
:*Werte berechnen:
 +
  '''P''' = 0,6 * Pkrit
 +
  '''I''' = P / Tn
 +
  '''D''' = P * Tv
 +
:Die ermittelten Werte eintragen und Testen.
 +
:Danke an den User OezyB für die Verbreitung dieser Methode.
  
 
==PID Grundeinstellung für die geschlossene Ladedruckregelung==
 
==PID Grundeinstellung für die geschlossene Ladedruckregelung==
Zeile 39: Zeile 58:
  
 
:#Setze "I" und "D" auf Null. So kannst Du Dich am einfachsten an das Regelverhalten von "P" heran tasten
 
:#Setze "I" und "D" auf Null. So kannst Du Dich am einfachsten an das Regelverhalten von "P" heran tasten
:#Beginne mit "P" auf "100" und veringere den Wert nach und nach. Große "P"-Werte bedeuten langsamen Ladedruckaufbau und niedrigeren Ladedruckwert. Deswegen: Um auf '''Nummer sicher zu gehen''', Starte mit großem "P" Wert (100 sollte ausreichen). Finde die Drehzahl ab welcher sich Ladedruck aufbaut und ''trete das Ges schnell voll durch!''
+
:#Beginne mit "P" auf "100" und verringere den Wert nach und nach. Große "P"-Werte bedeuten langsamen Ladedruckaufbau und niedrigeren Ladedruckwert. Deswegen: Um auf '''Nummer sicher zu gehen''', Starte mit großem "P" Wert (100 sollte ausreichen). Finde die Drehzahl ab welcher sich Ladedruck aufbaut und ''trete das Ges schnell voll durch!''
:#Lese im Log ab, wie viel ladedruck erreicht wurde. Falls der Ladedruck-Wert deutlich über den entsprechenden Ziel-Wert im "Target Boost" Kennfeld hinausschießt, erhöhe "P". Andernfalls verringere den "P" Wert und versuche es noch einmal.  
+
:#Lese im Log ab, wie viel Ladedruck erreicht wurde. Falls der Ladedruck-Wert deutlich über den entsprechenden Ziel-Wert im "Target Boost" Kennfeld hinausschießt, erhöhe "P". Andernfalls verringere den "P" Wert und versuche es noch einmal.  
 
:# Wiederhole dies, bis der Ziel-Ladedruck erreicht wird und die Regelung leicht überschwingt, d.h. leicht übers Ziel hinausschießt.  
 
:# Wiederhole dies, bis der Ziel-Ladedruck erreicht wird und die Regelung leicht überschwingt, d.h. leicht übers Ziel hinausschießt.  
:# '''Finde den richigen "I"-Wert''': Starte wieder mit der Drehzahl, die Du oben zum Einstellen der "P" Größe verwendet hattest.  
+
:# '''Finde den richtigen "I"-Wert''': Starte wieder mit der Drehzahl, die Du oben zum Einstellen der "P" Größe verwendet hattest.  
:# ''Trete ab dieser''' Drehzahl wieder das Gas voll durch und beobachte den Druckaufbau über das Drehzahlband. Möglicherweise wird der Ladedruck teilweise erheblich vom Ziel-Wert abweichen.  
+
:# '''Trete ab dieser''' Drehzahl wieder das Gas voll durch und beobachte den Druckaufbau über das Drehzahlband. Möglicherweise wird der Ladedruck teilweise erheblich vom Ziel-Wert abweichen.  
 
:# '''Erhöhe "I" solange''', bis der PID Regler diese Abweichungen vom Ziel-Ladedruck gut ausregelt, '''ohne''' in starkes Schwingen zu geraten.  
 
:# '''Erhöhe "I" solange''', bis der PID Regler diese Abweichungen vom Ziel-Ladedruck gut ausregelt, '''ohne''' in starkes Schwingen zu geraten.  
 
:# '''Möglicherweise''' musst Du jetzt schon "D" ein wenig erhöhen, denn diese beiden Größen ("I" und "D" neigen dazu, sich gegenseitig zu beeinflussen)
 
:# '''Möglicherweise''' musst Du jetzt schon "D" ein wenig erhöhen, denn diese beiden Größen ("I" und "D" neigen dazu, sich gegenseitig zu beeinflussen)
 
:# '''"D" einstellen''': Erhöhe "D" so lange, bis die Überschwinger der Regelung beim Druckaufbau so gut wie verschwunden sind.  '''Wähle "D" nicht zu groß''', denn eine zu starke Dämpfung kann auch die zuvor eingestellten Regelgrößen "P" und "I" zu stark dämpfen.
 
:# '''"D" einstellen''': Erhöhe "D" so lange, bis die Überschwinger der Regelung beim Druckaufbau so gut wie verschwunden sind.  '''Wähle "D" nicht zu groß''', denn eine zu starke Dämpfung kann auch die zuvor eingestellten Regelgrößen "P" und "I" zu stark dämpfen.

Aktuelle Version vom 16. Mai 2018, 06:04 Uhr

Was ist ein PID-Regler?

Der so genannte "PID-Regler" begegnet einem sehr oft in der Steuerungstechnik. Wer es ganz genau wissen möchte was sich (mathematisch) dahinter verbirgt, dem sei der Wikipedia-Artikel zum Thema PID-Regler empfohlen. Daher hier mal die gänzlich unwissenschaftliche Beschreibung:

PID+Megasquirt=?

In der Megasquirt begegnet einem die PID Regelung ab der MS2. Grundsätzlich finden sich PID Regler in drei Bereichen innerhalb der Einstelloptionen:

  • EGO-Control: Die Lambdaregelung ab der MS2 bietet einem die Möglichkeit, das Regelverhalten über PID abzustimmen
  • CL Idle: Auch die Steuerung des Leerlaufventiles (egal ob PWM "Leerlaufzigarre" oder IAC Schrittmotor) erfolgt über eine PID Regelschleife
  • Closed Loop Boost Control: Neben der reinen Antaktung des Wastegateventiles in Abhängigkeit von Gaspedalstellung (TPS) und Drehzahl (RPM) gibt es auch die Möglichkeit, Ladedruck per PID Regler auf einen "Wunsch-Ladedruck" einregeln zu lassen.

P: Der Proportional-Anteil

  • Die P-Komponente des PID-Reglers ist so etwas wie die Ur-Form einer Regelung. Sie funktioniert "Proportional":
  • Falls Ist-Wert kleiner als Sollwert, vergrößere Regelgröße.
  • Falls Ist-Wert größer als Sollwert, verkleinere Regelgröße.
Wie man sich vorstellen kann, hat dieses System Grenzen:
  • Ein großer "P"-Wert ermöglicht es der Regelung, bei großen Abweichungen schnell gegen zu regeln. Nachteil: Der Regler neigt zum "Überschwingen", da er mit dieser Einstellung permanent über das Ziel hinauszuschießen droht.
  • Ein kleiner "P" Wert bietet die Möglichkeit, zielsicher auf den Soll-Wert hinzuregeln. Bei kleinen Regelabweichungen funktioniert dies gut. Bei großen Abweichungen kann es allerdings "ewig" dauern, biss die Störgröße ausgeregelt ist.
  • Ein reiner "P" Regler würde sich nie exakt auf die Soll-Größe einregeln können. Als "Dämpfung" wirkt hier in die Praxis die Zeitverzögerung zwischen Änderung der Stellgröße (z.B. Leerlaufventil öffnet) und der Reaktion des Ist-Wertes (Drehzahl steigt). Es muss experimentell herausgefunden werden, bis zu welchem "P" Wert die Regelung mit dieser "Dämpfung" stabil läuft, ohne ins Schwingen zu geraten.

I wie "Impuls"

  • Der I-Anteil des PID-Reglers reagiert auf den Integral-Anteil. Dies bedeutet, dass die Zeitkomponente mit hineinspielt.
Je länger die Regelabweichung andauert, um so größer wird die Komponente des "I" Anteils, die versucht gegen zu regeln.
  • In der Praxis hat sich gezeigt: "I macht den Unterschied".
Der "I"-Faktor entscheidet in der Regel über ein gutes Ansprechverhalten der Regelung

D wie "Differenzieren"

  • Der D Anteil reagiert auf die Geschwindigkeit der Änderung. D.h. je schneller sich die Störgröße ändert (z.B. Drehzahl bricht ein), um so stärker reagiert die "D" Komponente (Das entspricht einem mathematischen Differenzieren).
  • In der Praxis zeigt sich, dass "D" eine Dämpfende Wirkung auf die Regelung hat. D.h. ein kleiner Wert für "D" im Bereich von 1-5 reicht oft schon aus, um die Regelung zu beruhigen und stabil zu halten.

PID Grundeinstellung

  • Um für PID eine Grundeinstellung zu finden, hilft vielleicht folgende Anleitung:
  1. "I" sehr klein einstellen (z.B.1), "D" auf Null stellen.
  2. Vergrößere "P", bis die Regelung anfängt zu schwingen (z.B. Lambda-wert schwankt wild hin und her, Leerlauf fängt an zu "sägen")
  3. Stelle "P" auf 50% dieses kritischen Wertes.
  4. Erhöhe "I" so lange, bis die Regelung eine gute Impulsantwort hat. Wenn die Regelung anfängt zu Schwingen, ist "I" zu groß.
  5. Zu guter Letzt füge etwas "D" hinzu, um etwas Dämpfung im System zu bekommen.
  • Hier eine weitere Methode um die PID Werte für die Lambdaregelung zu berechnen:
Beispiel einer Dauerschwingung des AFR Signals im MLV
  • Werte ermitteln:
  1. P/I/D auf 0 gestellt werden.
  2. Mit Tunerstudio ein Logging starten.
  3. Den Proportionalanteil solange erhöhen bis es zu einer Dauerschwingung des AFR Wertes kommt.Wert (Pkrit) für spätere Berechnungen notieren.
  4. Periodendauer der Dauerschwingung mittels der Logging Datei ermitteln.
  5. Mit der Zeitachse des MLV kann die Dauer einer Schwingung (Tkrit) ermittelt werden. Diese Zeit notieren.
  • Weitere Konstanten zur Berechung der PID einstellungen:
Tn = 0,5  * Tkrit [s] 
Tv = 0,12 * Tkrit [s]
  • Werte berechnen:
 P = 0,6 * Pkrit
 I = P / Tn
 D = P * Tv
Die ermittelten Werte eintragen und Testen.
Danke an den User OezyB für die Verbreitung dieser Methode.

PID Grundeinstellung für die geschlossene Ladedruckregelung

Für Geschlossene Ladedruckregelung (CL Boost Control) soll laut einiger User o.g. Einstellanweisung nicht funktionieren.
Hier gehe wie folgt vor:
  1. Setze "I" und "D" auf Null. So kannst Du Dich am einfachsten an das Regelverhalten von "P" heran tasten
  2. Beginne mit "P" auf "100" und verringere den Wert nach und nach. Große "P"-Werte bedeuten langsamen Ladedruckaufbau und niedrigeren Ladedruckwert. Deswegen: Um auf Nummer sicher zu gehen, Starte mit großem "P" Wert (100 sollte ausreichen). Finde die Drehzahl ab welcher sich Ladedruck aufbaut und trete das Ges schnell voll durch!
  3. Lese im Log ab, wie viel Ladedruck erreicht wurde. Falls der Ladedruck-Wert deutlich über den entsprechenden Ziel-Wert im "Target Boost" Kennfeld hinausschießt, erhöhe "P". Andernfalls verringere den "P" Wert und versuche es noch einmal.
  4. Wiederhole dies, bis der Ziel-Ladedruck erreicht wird und die Regelung leicht überschwingt, d.h. leicht übers Ziel hinausschießt.
  5. Finde den richtigen "I"-Wert: Starte wieder mit der Drehzahl, die Du oben zum Einstellen der "P" Größe verwendet hattest.
  6. Trete ab dieser Drehzahl wieder das Gas voll durch und beobachte den Druckaufbau über das Drehzahlband. Möglicherweise wird der Ladedruck teilweise erheblich vom Ziel-Wert abweichen.
  7. Erhöhe "I" solange, bis der PID Regler diese Abweichungen vom Ziel-Ladedruck gut ausregelt, ohne in starkes Schwingen zu geraten.
  8. Möglicherweise musst Du jetzt schon "D" ein wenig erhöhen, denn diese beiden Größen ("I" und "D" neigen dazu, sich gegenseitig zu beeinflussen)
  9. "D" einstellen: Erhöhe "D" so lange, bis die Überschwinger der Regelung beim Druckaufbau so gut wie verschwunden sind. Wähle "D" nicht zu groß, denn eine zu starke Dämpfung kann auch die zuvor eingestellten Regelgrößen "P" und "I" zu stark dämpfen.