PID-Problem und deutsche Übersetzung Closed-Loop und PID

Antworten
gtr-tobi
Beiträge: 271
Registriert: Sa Nov 15, 2008 12:35 pm

PID-Problem und deutsche Übersetzung Closed-Loop und PID

Beitrag von gtr-tobi »

Hab nun den LLR mit ClosedLoop/PID am laufen.
Funktioniert auch eigentlich ganz gut.
Problem ist, z.B.: wenn ich den Motor mit der Kupplung bei rangieren leicht runterwürge, geht ja die IDLE-PWM hoch, damit er diesem entgegenwirkt. Drücke ich dann die Kupplung, schnellt logischerweise die Drehzahl nach oben. IDLE-PWM geht wieder ein bisschen zurück, aber nicht mehr soweit, wie sie vorher war.

Also LL-Drehzahlkurve ist auf 900 Eingestellt.
Motor wird auf 600 runtergewürgt.
PID regelt nach -> Drehzahl steigt
Kupplung wird gedrückt
Drehzahl geht auf 1300
PID regelt runter
Drehzahl geht auf ca 1000-1100 runter und bleibt dann da auch stehen!
Auch wenn ich länger warte, geht der IDLE-PWM nicht zurück!

Sollte nun nicht von selbst wieder auf 900 runtergeregelt werden?

CL-IDLE leuchtet dabei immer grün
Dateianhänge
sauger gut mit Leerlaufregelung.msq
(79 KiB) 247-mal heruntergeladen
Zuletzt geändert von gtr-tobi am Sa Mär 24, 2012 7:21 pm, insgesamt 2-mal geändert.
1x UMC2 und 2x KDFI R89
W124 300E Turbo, Monza Turbo, Corsa GSI
gtr-tobi
Beiträge: 271
Registriert: Sa Nov 15, 2008 12:35 pm

Re: Leerlaufdrehzahl nach Nachregelung zu hoch PID

Beitrag von gtr-tobi »

Hab mich natürlich auch mal mit der Cloosed-Loop Regelung auseinandergesetzt und auch grob übersetzt.

Bitte alles korrigieren, was falsch, bzw schlecht ausgedrückt ist.
Ich denke, das hilft einigen weiter!

Noch was:
Wenn ich close-delay auf 0 setzt geht ja der Leerlaufregler nicht zu. In welcher Position bleibt er dann stehen? (Ansteuereungsrate)


Im Anhang die Übersetzung:

Achtung: Evtl. teilweise nicht ganz richtig!
Dateianhänge
LLR.pdf
(39.96 KiB) 402-mal heruntergeladen
Zuletzt geändert von gtr-tobi am Sa Mär 24, 2012 8:04 pm, insgesamt 1-mal geändert.
1x UMC2 und 2x KDFI R89
W124 300E Turbo, Monza Turbo, Corsa GSI
Benutzeravatar
pigga
Beiträge: 1128
Registriert: Sa Mai 07, 2005 3:22 pm

Re: PID-Problem und deutsche Übersetzung Closed-Loop und PID

Beitrag von pigga »

Hi.
Die Übersetzung ist in einigen Punkten nicht ganz richtig. Ich muss aber gestehen dass ich mir bei der orig. Anleitung auch ziemlich die Haare gerauft habe. Einiges ist ziemlich "um die Ecke" gedacht bei dem Algoritmus.
Im US Forum gabs dieses Ablaufdiagramm, das die Arbeitsweise ganz gut veranschaulicht:
cl_idle4.jpg
cl_idle4.jpg (54.49 KiB) 11268 mal betrachtet
CL Idle ist ja nur aktiv, sofern der TPS Wert niedrig genug ist und die Drehzahl niedrig genug ist.
Es kann sein, dass sich die LL Regelung "aussperrt", und dafür ist diese PID Lockout detection. Damit wird CL Idle aktiviert, auch wenn die LL Drehzahl höher als Target RPM+Adder ist.
PID disable RPMdot wiederum sorgt dafür, dass CL Idle verlassen wird, sobald sich die Drehzahl im Leerlauf zu stark ändert (RPMdot ist nicht RPM!). Das wurde gemacht, weil sonst beim heranrollen an eine Ampel und Einkuppeln die Drehzahl hochgeht und die MS gegenregeln würde. Sobald Du dann die Kupplung trittst würde der Motor ausgehen.
Ich habe mit diesem CL Idle Sche*** viel Zeit verbracht und es nie wirklich 100% kugelsicher abgestimmt bekommen. Dass die Regelung den "Letzten funktionierenden Wert" plus Dashpot Adder als "Einstiegswert" nimmt, dann soundsoviel Sekunden wartet und dann innerhalb von soundsoviel Sekunden auf einen Zielwert regelt, ist zwar eine an sich gute Idee, aber das System hat Grenzen. Insbesondere im Winter: Du fährst mit 10° Wassertemp los, fährst 7-8km über Land und kommst an eine Kreuzung: Garantiert dreht der Motor bei 2000UPM oder so :-/ Zum Glück habense den Krams mit der neuen Firmware über Bord geworfen. Mit der neuen Strategie der Software ist es endlich so wie ich es mir immer gewünscht habe: Schlüssel umdrehen, losfahren, der Leerlauf sitzt, 3 Wetter Taft :)

P.S.:
Ich habe 3 LL Regelungen abgestimmt, von daher weiss ich nicht wie allgemeingültig "meine" Werte sind: Meist war ich so im Bereich P=20, I=15, D=3 bis 5. Wenn die Regelung das Ziel nicht erreicht ist wahrscheinlich "I" zu klein. "I" ist ja der Fakor für die Sprungantwort der Regelung.
gtr-tobi
Beiträge: 271
Registriert: Sa Nov 15, 2008 12:35 pm

Re: PID-Problem und deutsche Übersetzung Closed-Loop und PID

Beitrag von gtr-tobi »

Aha,
danke

laut dem Diagramm sollte aber die niedrige Ursprungsdrehzahl wieder erreicht werden, tuts aber nicht.
Kann mich damit also grün und blau tunen mit dieser Regelung :?

Ist das dann die 3.2.1 Firmware, die gut funktioniert? (willhaben :D )
1x UMC2 und 2x KDFI R89
W124 300E Turbo, Monza Turbo, Corsa GSI
Benutzeravatar
pigga
Beiträge: 1128
Registriert: Sa Mai 07, 2005 3:22 pm

Re: PID-Problem und deutsche Übersetzung Closed-Loop und PID

Beitrag von pigga »

Hi.
Ich hab aktuell die "GSlender 2.4.4" drauf -> http://msextra.com/forums/viewtopic.php?f=91&t=44289
Der Gslender hatte wohl die Idee zu der Geschichte mit der "neuen" LL Regelung? Die Änderungen in der 3.3.0b Alpha-FW gingen ihm aber nicht weit genug, deswegen hat er nochmal ne eigene, modifizierte Version hinterhergeschoben.
Funzt echt super. Allerdings kann man da auch sehr vieles einstellen.
Haupt Unterschied ist, dass Du ein Kennfeld für den Anfangswert des Leerlaufventiles hast. Dann den Daspot-Adder wie gehabt und (das habense bei der MS3 geklaut) einen "Dynamic daspot decay". D.h. dieser Adder, um den der LL Regler mehr Aufmacht wird zurückgefahren. Die Geschwindigkeit, mit der der LL Regler schließt richtet sich nach der Geschwindigkeit der Drehzahländerung. Fällt die Drehzahl schnell, bleibt er offen, je langsamer die Drehzahl fällt, um so schneller zählt er den Daspot Adder auf Null runter.

Wenn Deine Regelung nicht regelt hast und CL Idle an ist, hast Du entweder die Werte für "Valve open" und "Valve closed" falsch, oder min duty for PID steht der Regelung im Weg.
Oder oder (wie oben geschrieben) "I" ist zu klein oder "D" viel zu groß. Was für PID-Werte haste denn eingestellt?

Die o.,g. Firmware hat noch zahlreiche andere Verbesserungen. Aber das alles aufzulisten würde glaub den Rahmen sprengen.
Wenn Dir irgend ne Einstellung spanisch vorkommt frag halt :-)
gtr-tobi
Beiträge: 271
Registriert: Sa Nov 15, 2008 12:35 pm

Re: PID-Problem und deutsche Übersetzung Closed-Loop und PID

Beitrag von gtr-tobi »

Danke für die Infos Pigga.

Ich denke, diese Version werde ich gleich mal ausprobieren.
Tunerstudio brauch ich dann wahrscheinlich auch die neueste Version 1.007?
Muss ich dann meine Einstellungen komplett neu machen? (Tables,...)


Meine Einstellungen siehst du oben in der MSQ.

Min Duty war glaub ich um die 20
Idle Closed 15 (Ventil ist hier zu bzw. gerade am öffnen)
Idle Open hab ich auf 42 begrenzt, damit die Drehzahl nicht überschwingt, wenn ich mal mit der Kupplung rangiere. (Ist dan ca.3/4 auf. Das sollte passen.
Regeln tut er ja eigentlich.
Ich starte und Drehzahl passt einigermaßen. Lenke ich dann, oder gebe elektrische Last drauf wird die Drehzahl ziemlich gut wieder auf ca. 900 erhöht. Wenn LAst weg, geht er auch wieder zurück.
Wenn ich den aber stark mit der Kupplung würge. (Ohne Gas in Garage fahren) und er mehrmals nachregeln muss (von Leerlauf 30PWM auf ca. 40-50PWM beim "würgen" geht danach die Drehzahl logischerweise schlagartig hoch . Sie geht dann wieder etwas zurück. (PWM sinkt) Allerdings nicht wieder soweit, dass die 900 1/min wieder erreicht werden.

Aber schauen wir mal, was deine Firmware bringt.

P war glaub ich um die 30-40
I so 120-130
D auf 0-1
1x UMC2 und 2x KDFI R89
W124 300E Turbo, Monza Turbo, Corsa GSI
Benutzeravatar
pigga
Beiträge: 1128
Registriert: Sa Mai 07, 2005 3:22 pm

Re: PID-Problem und deutsche Übersetzung Closed-Loop und PID

Beitrag von pigga »

Moin Tobi.
Ich fürchte für die neuen Firmwareversionen der MS2/KDFI, die mit "3" beginnen, brauchst Du die neue Betaversion vom TunerStudio, siehe auch http://www.efianalytics.com/TunerStudio/beta/
Es sind allerhand Sachen, die von Grund auf geändert wurden.
Zum ersten die Seite mit dem "Dashpot decay" Faktor und der Umstellung der Leerlauf-Regelung von "Use last value" zu "use initial table":
Bild
Die Tabelle sieht dann so aus:
Bild
Im Grunde ganz einfach: Bei kaltem Motor gibste als Target RPM 100RPM mehr vor, dann greift er "auf eine Spalte weiter rechts zu" und dreht höher. Genauso muss bei heisser Ansaugluft mehr Luft rein (weil die weniger Sauerstoff enthält) usw.
Diese Tabelle auszutüfteln ist wohl so mit das kniffligste.
Dann gibts die Spannungskorrektur, eben weil so ein PWM-Ventil bei 14V Versorgungsspannung weiter aufmacht als bei 11V (also genau falsch herum im Grunde). Zusätzlich fängt die Funktion halt Drehzahleinbrüche ab, wenn man z.B. Licht einschaltet:
Bild
Dann geht es weiter mit "Adaptive PID reduction":
Bild
Hier kannst Du einstellen, wie der Code die "P", "I" und "D" Werte nach unten schraubt, ge näher die CL Idle Regelung der Target (Ziel) RPM kommt. Du kannst diesen Einknick in der Mitte bei 0RPM sogar auf NULL setzen, dann findet an dieser Stelle gar keine LL Regelung mehr statt.
...dann die Einstellungen unter "Extended -> Idle Advance settings":
Bild
Hier kann man nun eeeendlich einstellen dass die Zündung in Abhängigkeit von der Drehzahl (und nicht Last) verändert wird. CL Idle heisst: Aktiv sobald CL Idle an ist. "Adaptive" heisst, die Zündzeitpunkt wir in Abhängigkeit von der Drehzahlabweichung von der Target RPM verstellt.
Ich habs beim Automatikgolf mal so eingestellt:
Bild
Die Funktion funzt so genial, dass ich beim Automatikwagen keinen nennenswerten Drehzahleinbruch mehr habe, wenn ich von "N" auf "D" schalte. Echt prima.
Dann vielleicht noch zum neuen Menüpunkt "Idle enhancements":
Bild
"Idle up" ermöglicht, z.B. die Klimaanlage über die MS laufen zu lassen. "Duty adder" sagt, wie weit das LL ventil weiter aufmachen soll, sobald der entsprechende Eingang geschaltet wird (z.B. PE0). IdleUpCnt ist speziell für Klimaanlagen gedacht. In diesem Fall steuert die MS die Magnetkupplung für den Kompressor. Sprich: Klimaanlage wird eingeschaltet->PWM Ventil macht auf, nach Ablauf des Timers wird Klimaanlage erst eingeschaltet. Das gleiche in umgekehrt macht IdleUpOffCnt...
Du kannst aber auch "einfach" den Idle Up Eingang nutzen, dann macht das LL Regelventil etwas weiter auf wenn der Eingang aktiviert wird (z.B. bei nem Ford den Druckschalter der Servolenkung dran anklemmen oder so).
Closed Loop Idle Entry ermöglicht, über einen Schalter an der Kupplung dafür zu sorgen, dass LL Regelung nicht verlassen wird, solange Kupplung getreten ist.
TPS DOT Smoothing ist interessant für alle die, bei denen immer "TPS ACELL" aufblitzt in Tunerstudio, obwohl keiner das Gaspedal bewegt.
Werte zwischen 60 und 1% bis zu 250 und 2,5% (letzteres bei Problemautos mit viel Störungen aufm TPS) ist laut dem GSlender nen guter Wert.
Und zu aller aller aller letzt noch ne Änderung unter "General/Lags":
Bild
Sowohl bei MAP sampling method als auch bei der TPS Sample Methode würde ich "Use average" empfehlen. Speziell bei der MAP Erfassung war es ja bislang so, dass innerhalb eines bestimmten Fensters der niedrigste Wert, der gemessen wurde, verwendet wurde.
Mit der neuen Option nimmt die MS aus verschiedenen Werten den Mittelwert. Man muss seine VE Table zwar leicht anpassen, aber damit hatte ich einen deutlich ruhigeren Leerlauf.
Gleiches für die Filterung des RPM Signales: Insbesondere bei meinem Drucklosmobil mit 60-2 Triggerrad hatte ich immer den Eindruck, als wenn das "zu viele" Drehzahlinformationen sind. Mit dem "RPM Sliding window" ist das Leerlaufverhalten und der Motorlauf bei niedrigen Drehzahlen viiel runder. Mal ausprobieren.
Ich hoffe ich konnte zur Verwirrung beitragen :mrgreen:
Pigga
gtr-tobi
Beiträge: 271
Registriert: Sa Nov 15, 2008 12:35 pm

Re: PID-Problem und deutsche Übersetzung Closed-Loop und PID

Beitrag von gtr-tobi »

Pigga, du bist schuld, wenn mir gleich der Kopf platzt! :lol:

Finde ich toll, dass es solche Leute wie dich gibt, die sich so um andere kümmern.

Wenn ich das richtig verstanden habe mach ich erst die 3.3.0b alpha drauf und kopiere die gslender files da rein und überschreibe diese.
Dann kann ich die neue gslender INI im aktuellen Tunerstudio beta auswählen.
Zeigt dann ms2extra ser gsv24an

Dann Firmwareupdate auf die kdfi

Noch ne Frage zu den Einstellungen

Inwiefern bezieht sich der neue decay-Wert auf was genau?

Danke nochmal für die Mühe!

Gruß

Tobi
1x UMC2 und 2x KDFI R89
W124 300E Turbo, Monza Turbo, Corsa GSI
gtr-tobi
Beiträge: 271
Registriert: Sa Nov 15, 2008 12:35 pm

Re: PID-Problem und deutsche Übersetzung Closed-Loop und PID

Beitrag von gtr-tobi »

Also firmware ist drauf und Motor läuft.
Leerlaufregelung geht nach runterwürgen sofort wieder runter, ganz toll!!!

Muss noch etwas finetuning machen, aber ansonsten top.

Beim decay merke ich allerdings fast keine Änderung, diese Zahl musst du mir bitte nochmal erklären.

Wie gehst du eigentlich bei den PID-Settings vor?

I solange erhöhen, bis bei Regelung Zieldrehzahl erreicht wird und dann P erhöhen bis er kurz vorm sägen ist?
1x UMC2 und 2x KDFI R89
W124 300E Turbo, Monza Turbo, Corsa GSI
Benutzeravatar
pigga
Beiträge: 1128
Registriert: Sa Mai 07, 2005 3:22 pm

Re: PID-Problem und deutsche Übersetzung Closed-Loop und PID

Beitrag von pigga »

Hi.
Jaein.
Die eigentliche Firmware in dem ZIP Archiv besteht aus der *.s19 Datei und der dazugehörigen *.ini Datei. Der Rest sind Hilfsmitel um die FW aufs Steuergerät zu bekommen.
Was fehlt sind die ms2-download-firmware.bat (oder so ähnlich) und choice.com. Diese beiden (und da haste wieder Recht) musste Dir aus 3.3.0a, b oder sonstwo in den gslender-Ordner rüberkopieren. Warum die da nicht mit drin sind....keine Ahnung. Die beiden Dateien dürften sich aber in der letzten Zeit nicht sehr geändert haben.
Dann halt die *.bat Datei starten, wie bei jedem Firmware-Upgrade auch und den Anweisungen folgen.

Das mit dem Daspot Decay ist halt nen kleiner aber feiner Unterschied:
Bislang war es halt so wenn CL Idle startet: Gehe auf letzten Wert PLUS diesen Adder :arrow: warte für die Dauer des PID Delay timers (in der Zeit passiert gar nix) :arrow: messe die gerade aktuelle Drehzahl, starte PID mit der aktuellen Drehzahl als Target und verringere die Target-rpm innerhalb dieser Ramp-to-Target Zeitspanne, bis PID-Target gleich dem in der Kennlinie eingestelltem Target RPM ist.
Wenn z.B. nach Ablauf des PID Delay Timers die Drezahl noch 1100RPM ist, Ziel ist 900RPM und ramp-to-target ist 2sec, dann kann die MS errechnen, dass sie das Target pro 0,1sec um 100RPM verringern muss, damit nach 2 sec. der Eimer auf 900RPM läuft.

Was dabei immer etwas nervt, ist dass während dem PID delay halt so gar nix passiert.
Der Daspot decay zählt diesen Daspot Adder nun während der PID-delay Phase vom Anfangswert ausgehend runter, und zwar in Abhängigkeit von der Drehzahländerung (sprich RPMdot).
Sprich wenn ich schlagartig vom Gas gehe und auskupple, fällt die Drehzahl sehr schnell runter. D.h. der Daspot Adder wird kaum verringert. Erst wenn die Drehzahl sich "fängt" und sich stabilisiert fährt er schneller herunter. Das funktioniert wie ein unsichtbarer Dämpfer an der Drosselklappe und verhindert bei mir seitdem wirksam dieses "einbrechen" der Drehzahl wenn man mal schlagartig vom Gas geht und auskuppelt.
Je höher der Decay wert, desto schneller zählt er den Wert runter.

[EDITH] Durch diese "Adaptive PID reduction" kannste jetzt "P" und "I" auch deutlich größer wählen ohne dass die regelung schwingt!
Eingestellt hab ichs immer so: PID Reduction erstmal AUS. P solange erhöhen bis es wild schwingt. Dann davon den halben P Wert nehmen. Anschließend I solange erhöhen bis ich gute Impulsantwort habe ohne Überschwinger. P und I waren jeweils so im Bereich bis max. 30 sag ich mal... [/EDITH]
Richard004
Beiträge: 1181
Registriert: Sa Nov 29, 2008 12:04 am

Re: PID-Problem und deutsche Übersetzung Closed-Loop und PID

Beitrag von Richard004 »

mein gott so viel zum einstellen ?
Alfa GTV 2,0v6 Turbo mit schlechtem Tuning

Fiat/Peugeot/Citrön 2,0 8v Turbo
Micro Entwicklerboard
http://www.breitband-lambda.de/
AGT Messboard von Metaworld82
Landi Renzo LPG
Tuner Studio MS(Beta) v 2.05c MS2/Extra Release Gslender 2.7
Benutzeravatar
franksidebike
Beiträge: 3517
Registriert: So Apr 03, 2005 6:28 pm

Re: PID-Problem und deutsche Übersetzung Closed-Loop und PID

Beitrag von franksidebike »

hallo richard
Richard004 hat geschrieben:mein gott so viel zum einstellen ?
du bist nicht gemeint!
:lol: mancheiner ist der meinung eine ms1 sei veraltet :!:
ich sehe eine ms1 als traningsgerät was gut funktioniert und als beste wahl für eine anfänger :!:
die ami's haben in die ms2 mitlerweile so viel reingepackt das auch leute die mit ms gut zurecht kommen ihre startschwierigkeiten haben!
frank
sammba123
Beiträge: 64
Registriert: Di Sep 04, 2012 1:53 pm

Re: PID-Problem und deutsche Übersetzung Closed-Loop und PID

Beitrag von sammba123 »

WoW!!!
Geiler Thread, vielen Dank an alle Beteiligten!!!!
e30 m20b27,Garret 466159-5003, wasted spark mit ??? Doppelzündspulen
- KDFI V1,3 R89
- Firmware: MS2extra 3.4.1
- Tunerstudio MS v2.6.19
derOJ
Beiträge: 467
Registriert: Mo Jan 02, 2012 8:06 pm

Re: PID-Problem und deutsche Übersetzung Closed-Loop und PID

Beitrag von derOJ »

Hi.
Hab heute mal ein bis zwei stunden damit verbracht mich an den CL Idle ranzutasten.
Leider ohne Erfolg.
Kann am P Wert schrauben wie ich will, da fängt nix an zu pendeln. Wenn ich dann meinte er pendelt leicht, dann hab ich die Werte errechnet und eingegeben..danach war alles am pendeln :lol:
Konnte den P bis auf 170% und mehr drehen. Drehzahl war erstaunlich konstant. Vielleicht brauch ich auch einfach kein Closed Loop :mrgreen:
CL Idle Lampe war übrignes immer grün. Also den Modus hat er angeblich aktiviert....
Habe einen 2 poligen Leerlaufregler von Bosch. Arbeitsbereich 30% bis 100%

Habe jetzt wieder auf PWM Warmup stehen. Drehzahl von ca. 900 wird gehalten. AFR bei ca. 13

Das gleiche habe ich auch bei der Lambdaregelung versucht. Da pendelt auch nix. Authority auf 40%, P wert kontinuierlich hochgesetzt, ego bleibt auf 100%, lambda/AFR-wert schwankt ohne ende...hab ich vielleicht grundsätzlich irgendwas faul?
E30 M50B25 COP Wasted Spark, TunerStudio v2.05 registered, Knödler Lambdacontroller V3.3, Bluetooth
Holset HX35 0,8bar
Antworten