fknbrkn
Hero Member
Karma: +185/-23
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
|
|
« 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
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
|
|
« 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
|
|
|
|
fknbrkn
Hero Member
Karma: +185/-23
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 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
|
|
« 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
|
|
|
|
fknbrkn
Hero Member
Karma: +185/-23
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
|
|
« Reply #7 on: March 10, 2023, 04:32:32 AM »
|
|
|
*5 min job goes wild here* Yep... 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
|
|
|
|
fknbrkn
Hero Member
Karma: +185/-23
Offline
Posts: 1454
mk4 1.8T AUM
|
|
« Reply #8 on: March 10, 2023, 08:12:46 AM »
|
|
|
Yep... 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
|
|
« 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
|
|
|
|
fknbrkn
Hero Member
Karma: +185/-23
Offline
Posts: 1454
mk4 1.8T AUM
|
|
« Reply #10 on: March 13, 2023, 11:19:52 AM »
|
|
|
Yikes! It works 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
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
|
|
|
Logged
|
|
|
|
prj
|
|
« 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
|
|
|
|
|
prj
|
|
« 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
|
|
|
|
|