Pages: [1] 2
Author Topic: Launch control and DSG farts - need help to explain logic  (Read 8831 times)
fknbrkn
Hero Member
*****

Karma: +185/-23
Offline Offline

Posts: 1454


mk4 1.8T AUM


« on: February 13, 2023, 08:24:19 AM »

So far im practicing my skills and want to add LC and DSG farts ability in oldie me7

LC

At the stock routine LC me7 just closes the TB with miges_w request from dsg
Luckily DSG gives feedback when it starts the LC ( id440.7.0 which me7 recognises as b_motaus) and when nmot >= LC_nmot (b_ges, migs_can)
So i divide LC logic in two paths:
1. if(b_motaus & !b_ges) means DSG detect LC mode and rpm starts to rise. In map names i mark it with *active
2. if(b_motaus & b_ges) means its LC mode and nmot reaches desired rpms - DSG request reduction, maps calling *Reduction

kfzwActive - intercepts zwgru so no any corrections
kfzwReduction
fuelCutoffCylsActive - number of cylinders to shut off by generating evz_austot mask
fuelCutoffCylsReduction

enableFuelCut - active fuelcut control
enableTsrldynCut - active spark control

tsrldynDelay - delay between zeroeng tsrldyn, runs at 10ms raster

miges_add - addition to miges ( slow path - throttle cut)
miges_min - min value of miges after addition

requestBoost - plsol at LC
requestLamfa - lamfaw at LC

*****

First testing shows some mistakes in code (miges overflow and lamfaw fault) but in general it works

Questions here -
What preferrable settings should i take as a starting point?
Should i fill miges_w with FFs to eliminate throttle control at all?
And so on?



DSG FARTS

What exactly behind the loud and nice DSG farts?
only zwmn doesnt give it and i believe something with the spark cut should be done
i had nice farts when one spark coil goes bad lol

simply routine like if(b_ges) then tsrldyn=0 gives too loud bang with jerking schalt
ive got an idea to implement cutoff mask to spark coils but unable to find routine with p2.0 - p2.3 outputs in ecu yet

Logged
tao13
Sr. Member
****

Karma: +17/-47
Offline Offline

Posts: 471


« Reply #1 on: February 14, 2023, 12:45:51 PM »

Nice.
I tried to make some farts with changed some timing maps, but, doesn't have them.
I have me7.5 with dq250 and 018h bam.
Logged
fknbrkn
Hero Member
*****

Karma: +185/-23
Offline Offline

Posts: 1454


mk4 1.8T AUM


« Reply #2 on: February 16, 2023, 06:25:52 AM »

Tier 2 of being a blindly copy-cat

DSG keeps migs_can reduction even if nmot falls below launch control rpm setting in DSG
So i had to implement new variable LC_nmot which stores nmot when its firstly hit reduction rpm and use it as a flag to hit reduction in my routine, basically its target LC rpm

Also evz_austot > 0  triggered b_bevab and lambda follows LASOAB so another hook placed here to keep fueling at desired in all conditions


Next thing here is the throttle cut, i have to fix ve model for now but anyway even if its a peaks here, i dont want to throttle control sooo... set ps_w = pvdkds_w at LC ?

Logged
prj
Hero Member
*****

Karma: +1072/-480
Offline Offline

Posts: 6035


« Reply #3 on: February 16, 2023, 09:16:04 AM »

The sound you are referring to is selective cut.

Basically if you are hitting zwmin (and you should be, and zwmin should not be ridiculously low so you get huge egt spike), you need to start cutting cylinders by using redsol.
And the redsol pattern makes also quite a big difference.

This is also the logic used during OEM launch control.
Logged

PM's will not be answered, so don't even try.
Log your car properly - WinOLS database - Tools/patches
fknbrkn
Hero Member
*****

Karma: +185/-23
Offline Offline

Posts: 1454


mk4 1.8T AUM


« Reply #4 on: March 08, 2023, 10:08:47 AM »

The sound you are referring to is selective cut.

Basically if you are hitting zwmin (and you should be, and zwmin should not be ridiculously low so you get huge egt spike), you need to start cutting cylinders by using redsol.
And the redsol pattern makes also quite a big difference.

This is also the logic used during OEM launch control.

Ok ive succesfully tested LC with fadeout but im using own fadeout routine bc im stupid af and didnt realize there was redsol..

Also i have made simple routine with evz_austot of cutting 1 cyl at shifts. sounds nice for sure but its jerking at mid loads so im very interested in some kind of torque reduction implemented in MDRED but this translation are not clear for me and it seems that its only for nmax / asr interventions ?


MDRED

Quote
The characteristic curve REDZEM as a function of the motor temperature can be used to determine from which reduction stage the reduction occurs
injection suppression is actually allowed. If the calculated reduction level redneu is less than that in the characteristic curve REDZEM
preset value, ignition angle intervention is activated. Injection suppression is only possible if redsol>=redze
(see above) is or if the requested torque misol_w is smaller than the torque mizwmn that can be realized at the latest ignition angle
and the condition like B_ska, B_dknolu, B_nmax or B_sab & CREDSTU (1st bit) is set. In addition, the B_stend must be set so that
is not hidden during the starting process and the engine can run up. With B_asr =1, the cylinder suppression is then possible,
if the 0th bit of CREDSTU is also set to 1. Otherwise the ignition angle intervention is limited to zwmin and none
Cylinder suppression is possible.
Initiation of overrun fuel cut-off without prior torque reduction by cylinder suppression (1st bit of CREDSTU = 0): If misol_w
is smaller than mizwmn_w and B_sab is set, the condition B_sa is set and the target reduction stage redsol is equal to REDMX,
so that fuel cut-off takes place.
Sequential fuel cut-off (1st bit of CREDSTU=1): When the current reduction stage reaches the applicable threshold REDMXSA
or exceeds and B_sab is set, the condition B_sa is set and the target reduction level redsol is equal to REDMX,
so that fuel cut-off takes place.
In the case of MSR intervention (B_msr = 1), fuel cut-off is prohibited.

Is there a way to enable cyl fadeout without custom code?
and if no is it enough to feed redsol with 1 cyl cut or its better to somehow determine reduction stage? (lets say nmot x rl as input and redsol as output and checking conditions for hitting zwmin )?
Im i right about slow intervention? If yes - i believe something should be done to prevent it when using conservative zwmin
Im asking bc i dont have a car for now and limited with remote testing, i know how to make this stuff but i need to know the principles
« Last Edit: March 08, 2023, 10:32:49 AM by fknbrkn » Logged
prj
Hero Member
*****

Karma: +1072/-480
Offline Offline

Posts: 6035


« Reply #5 on: March 08, 2023, 10:54:47 AM »

Ok ive succesfully tested LC with fadeout but im using own fadeout routine bc im stupid af and didnt realize there was redsol..

Also i have made simple routine with evz_austot of cutting 1 cyl at shifts. sounds nice for sure but its jerking at mid loads
First is to dump your own routine.
Second, I don't know if ME7 has capability to apply cylinder cut in case of increasing fast path torque request or if it just cuts throttle, if it can't do it with timing. I never tested this.

If it does not have it, then you will have to write a lot of logic with torque control. You can't just cut a cylinder randomly, because ignition is still late.
I don't know if it already calculates the torque correctly when a cylinder is cut or not. If it does, then that's half the job done at least, but you might have to hook into that calculation to do prediction, so that the ignition angle can be restored to what is correct.

Also, if you are just cutting a cylinder every time (and make sure to do it through redsol so a pattern is applied based on firing order, otherwise it's shit) then it's 100% going to be jerky as fuck, because most of the time cutting a cylinder cuts over 25% torque on a 4 cylinder, and this is way too much for low load shifts.
Logged

PM's will not be answered, so don't even try.
Log your car properly - WinOLS database - Tools/patches
fknbrkn
Hero Member
*****

Karma: +185/-23
Offline Offline

Posts: 1454


mk4 1.8T AUM


« Reply #6 on: March 09, 2023, 09:49:19 PM »

First is to dump your own routine.
Second, I don't know if ME7 has capability to apply cylinder cut in case of increasing fast path torque request or if it just cuts throttle, if it can't do it with timing. I never tested this.

If it does not have it, then you will have to write a lot of logic with torque control. You can't just cut a cylinder randomly, because ignition is still late.
I don't know if it already calculates the torque correctly when a cylinder is cut or not. If it does, then that's half the job done at least, but you might have to hook into that calculation to do prediction, so that the ignition angle can be restored to what is correct.

Also, if you are just cutting a cylinder every time (and make sure to do it through redsol so a pattern is applied based on firing order, otherwise it's shit) then it's 100% going to be jerky as fuck, because most of the time cutting a cylinder cuts over 25% torque on a 4 cylinder, and this is way too much for low load shifts.

Got it, thx for the input thats brilliant info

me7 divides migs_can for 2 paths: migs_w (directly from canbus and its fast path) and miges_w (slow path via throttle - only applied when b_ges from canbus is true)
migs_w used at shifts and b_ges triggered throttle cut at LC to holds rpms at steady state in stock routine

So no throttle interventions when shifts even at pretty conservative zwmin (although throttle cuts are here in stock but for different reason)

For now i have redneu triggered when misol > mizwmn its working from stock routine but b_mdee false and redsol came only when b_sa i believe its from hysteresys or redzem.. or i can force it anyway that part are pretty good in stock

As for torque calc - it seem there is etazaist and its factor to miist_w so thats looking good (bosch doesnt got a rocket science here - its just a factor of REDMX - if you cut 2 of 4 cyls, you got 0.5 factor to miist)

*5 min job goes wild here*
Logged
prj
Hero Member
*****

Karma: +1072/-480
Offline Offline

Posts: 6035


« Reply #7 on: March 10, 2023, 04:32:32 AM »

*5 min job goes wild here*
Yep... Cheesy
But it seems with a little bit of help you now understand how it works, so now it is about modding it a little to do what you want.

Btw, for launch control, you can easily just write your own routine and make it kick in a little before the gearbox limiter.
The way I did rolling antilag was to dynamically force NMAX and then I simply made two maps - one that has nmot_w - current NMAX on axis, and the output is redsol (e.g. cut 1 cylinder 100 rpm before, 2 cylinders at 0 rpm from target, 3 cylinders -100 rpm etc). And second map is simply KFZW style with an ignition offset. You can do a similar thing with launch control...

Well this is a little simplified...
Logged

PM's will not be answered, so don't even try.
Log your car properly - WinOLS database - Tools/patches
fknbrkn
Hero Member
*****

Karma: +185/-23
Offline Offline

Posts: 1454


mk4 1.8T AUM


« Reply #8 on: March 10, 2023, 08:12:46 AM »

Yep... Cheesy
But it seems with a little bit of help you now understand how it works, so now it is about modding it a little to do what you want.

Btw, for launch control, you can easily just write your own routine and make it kick in a little before the gearbox limiter.
The way I did rolling antilag was to dynamically force NMAX and then I simply made two maps - one that has nmot_w - current NMAX on axis, and the output is redsol (e.g. cut 1 cylinder 100 rpm before, 2 cylinders at 0 rpm from target, 3 cylinders -100 rpm etc). And second map is simply KFZW style with an ignition offset. You can do a similar thing with launch control...

Well this is a little simplified...


I did a similar thing, but more complex:
When LC conditions are met (b_br & b_motaus) it using 8x1 map (nmot) with ign angle override (about 0..-3 deg to build boost), plsol and lamsoni (iirc - target lambda) fixed values, miges are ignored due to DSG wants to operate with TB and 8x1 map (nmot) with output of number of cylinders to cut (filled with 1 near LC region and made a brrrrrrt sound which every man loves so much tbh)

When DSG triggers b_ges it means nmot reached DSG LC nmot, thus are nailed as LC_nmot in ram so i dont need to set it manually
And if nmot > LC_nmot routine uses more agressive cyl cut 8x1 map so nmot floating around LC_nmot
« Last Edit: March 10, 2023, 08:18:09 AM by fknbrkn » Logged
prj
Hero Member
*****

Karma: +1072/-480
Offline Offline

Posts: 6035


« Reply #9 on: March 10, 2023, 08:24:20 PM »

OEM on newer cars closes the throttle a little too. Not much to create lag, but enough that it never needs to cut more than 1-2 cylinders and has reasonable ignition timing.
Logged

PM's will not be answered, so don't even try.
Log your car properly - WinOLS database - Tools/patches
fknbrkn
Hero Member
*****

Karma: +185/-23
Offline Offline

Posts: 1454


mk4 1.8T AUM


« Reply #10 on: March 13, 2023, 11:19:52 AM »

Yikes! It works Smiley

Ive tried force b_mdee and generally it works but sometimes it cuts 2 cyls at low loads even if misol are slightly lower than mizwmn, idk about reasons.. etazaist 75% when cutting one gives only 60% miist with +3 ign and DSG required about 20% at shifts which only possible at -12 deg with 2 cyl cut so IRL/IOP needs to be lowered to shown lowered relative moment or its just poor calculation from stock.. duno

Anyway i decided to made my own stupid and simple logic here - i have a KFZWMNGS_drive _sport _tip for ignition angle at shifts (with momentenreduktion ofc)
And introduced REDSOL_drive _sport _tip maps for number of cut cyls

So i manually compensate zwmn with redsol and now its time to find best combinations at different areas and job done, with initial settings shown at attachment it works pretty hot and not jerking at all but i see miist(60%) > misol(24%) at shifts. Is it badly for DSG? Does it raise sync window in that case?
This tune has an issues with ps_w and rl calculation so i need to make things clear and see how it goes

Seems that only ZW reduction are the best for performance (idk if short EGT spike are hurt something ??) and high zwmn + redsol for show-off in mid-load range

Should i touch AFR at shifts? What if make an extra enrichment at 100-200 ms shifts?
« Last Edit: March 13, 2023, 01:26:55 PM by fknbrkn » Logged
fknbrkn
Hero Member
*****

Karma: +185/-23
Offline Offline

Posts: 1454


mk4 1.8T AUM


« Reply #11 on: March 13, 2023, 11:36:27 AM »

Somehow i cannot edit attachments so here is another funny pic

As for LC its also works fine with redsol, ill hope to get some video soon

prj, thanks again for your time and especially for giant impact of nefmoto community by sharing priceless info
I see bunch of haters here from time to time wanting feed em with free solutions but for truly learning person much more important is to know where to find answers if you stuck and develop own solution and thats the key to knowledge  Roll Eyes
Logged
prj
Hero Member
*****

Karma: +1072/-480
Offline Offline

Posts: 6035


« Reply #12 on: March 13, 2023, 06:00:08 PM »

About EGT spike - it depends how high it goes.
If it goes only a little ok. But this is what the ZWMIN is for, to limit the max EGT spike, actually on newer ECU's there is exactly what you describe KFZWMNGS - minimum ignition during shift. It's already there stock, exactly for the same reason.

When you have already a very highly tuned car running on EGT limit then sudden -10 deg ignition can create some problems, in those cases it is a good idea to force it to cut some cylinders. The cutout of the cylinders also cools them, so now the -10 deg is suddenly not a problem anymore.
It does not make the car slower, because throttle stays 100% open and boost stays where it needs to be.

AFR during shift - if you still have EGT problems you can dump a little sure. But if you can solve it with good balancing of ignition angle and cylinder cutting then no need.
Logged

PM's will not be answered, so don't even try.
Log your car properly - WinOLS database - Tools/patches
fknbrkn
Hero Member
*****

Karma: +185/-23
Offline Offline

Posts: 1454


mk4 1.8T AUM


« Reply #13 on: April 05, 2023, 11:34:37 PM »

So the results
Long shiftings for test purpose with +3 deg zwmn and 1 cyl cutout
https://youtu.be/xgnvEQXXbhE

LC with 3 cyl cutout
https://youtube.com/shorts/RexLzrRRqEQ
« Last Edit: April 05, 2023, 11:41:48 PM by fknbrkn » Logged
prj
Hero Member
*****

Karma: +1072/-480
Offline Offline

Posts: 6035


« Reply #14 on: April 06, 2023, 12:14:30 AM »

For LC close throttle a little bit, it will sound much nicer.
You can set NMAX when LC active to the target and start cutting some cyls 150 rpm before it is hit.
For example 1 cyl 150 rpm before, 2 cyls 50 rpm before, 3 cyls 50 rpm after, 4 cyls 150 rpm after.

« Last Edit: April 06, 2023, 12:16:06 AM by prj » Logged

PM's will not be answered, so don't even try.
Log your car properly - WinOLS database - Tools/patches
Pages: [1] 2
  Print  
 
Jump to:  

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines Page created in 0.024 seconds with 17 queries. (Pretty URLs adds 0.001s, 0q)