Announcement

Collapse
No announcement yet.

A quick and easy way to street tune your CSL conversion for drivability.

Collapse
This is a sticky topic.
X
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • karter16
    replied
    Originally posted by MC346 View Post
    Hi gentlemen, trying to play catch up as i've just startet following your work. A suggestion i would propose is to deactivate tank ventilation too.
    Great to have more people looking at this. You raise a very valid point re tank ventilation. What I'm not sure of though is for what period of time it's reasonably safe to disable ventilation for? Does anyone have any thoughts on this? There's certainly easy ways it could be disabled in the partial tune.

    I do know for sure that tank ventilation is specifically accounted for in the MAP sensor RF calculations. I suspect that probably the tuning process will get the VE table close enough either way for the MAP sensor to be able to compensate when it's turned back on, but regardless we should try to understand this fully (as I would think those running pure AlphaN could take advantage of this tuning process in similar ways right?)


    Sent from my iPhone using Tapatalk

    Leave a comment:


  • MC346
    replied
    Hi gentlemen, trying to play catch up as i've just startet following your work. A suggestion i would propose is to deactivate tank ventilation too.

    Leave a comment:


  • Bry5on
    replied
    Originally posted by karter16 View Post

    Thanks heaps for this - Correct me if I'm wrong but doesn't this straight up disable the lambda controller?

    When you were doing your early tuning runs and ended up rich at low RPM how was that presenting to you? Was the lambda integrator reporting 1 for those cells but the wide-band was showing it was actually rich? Or was there some sort of feedback loop where it was being driven rich on each successive run? Just curious as I'm not really seeing that (second scenario) play out for me with this current testing I'm doing. The low RPM idle range has mildly more fuel than the stock CSL tune, but only slightly so and has consolidated around a lambda of 1.0 after 3 tuning runs.
    I was doing so much at once back then that I don’t remember what steps I took exactly, but there was some drift with each successive cycle. The car ran fine the whole time, and it presented as stumbling from the transition from cold start open loop to regular closed loop operation, due to a sort of binary change in fueling.

    Now that I think of it a little more, this might have only been an issue during AFR based tuning. I tried a bunch of different things to get the transition from part throttle to full throttle AFR right, which is challenging as the DME goes open loop at different relative openings based on RPM. Then the latency from polling the d-bus messes with your numbers.

    Perhaps it’s not needed after all, I should have thought more before posting! But tuner beware if you’re using AFR

    Leave a comment:


  • karter16
    replied
    Originally posted by Bry5on View Post

    Ok here we go, set to 00 to disable:
    Click image for larger version Name:	lambda controller disable.png Views:	0 Size:	154.4 KB ID:	308160
    Thanks heaps for this - Correct me if I'm wrong but doesn't this straight up disable the lambda controller?

    When you were doing your early tuning runs and ended up rich at low RPM how was that presenting to you? Was the lambda integrator reporting 1 for those cells but the wide-band was showing it was actually rich? Or was there some sort of feedback loop where it was being driven rich on each successive run? Just curious as I'm not really seeing that (second scenario) play out for me with this current testing I'm doing. The low RPM idle range has mildly more fuel than the stock CSL tune, but only slightly so and has consolidated around a lambda of 1.0 after 3 tuning runs.
    Last edited by karter16; 06-12-2025, 01:05 AM.

    Leave a comment:


  • Bry5on
    replied
    Originally posted by karter16 View Post

    Ah nice! I hadn't figured that out! - that would be great if you could! If we can identify all these factors and how to address them we should be able to come up with a really solid process anyone can follow to do this.


    Sent from my iPhone using Tapatalk
    Ok here we go, set to 00 to disable:
    Click image for larger version  Name:	lambda controller disable.png Views:	0 Size:	154.4 KB ID:	308160

    Leave a comment:


  • karter16
    replied
    Originally posted by Bry5on View Post
    Ah there's another fuel trim that you need to disable that's active near idle conditions. I found this one out during my early testo logging which was fun. Some early versions of the mullet ended up super rich near idle because of it when combined with this fuel trimming process. This is partly why I switched to AFR based final tuning. Will see if I can get to my laptop before I head out of town to dig it up.
    Ah nice! I hadn't figured that out! - that would be great if you could! If we can identify all these factors and how to address them we should be able to come up with a really solid process anyone can follow to do this.


    Sent from my iPhone using Tapatalk

    Leave a comment:


  • Bry5on
    replied
    Ah there’s another fuel trim that you need to disable that’s active near idle conditions. I found this one out during my early testo logging which was fun. Some early versions of the mullet ended up super rich near idle because of it when combined with this fuel trimming process. This is partly why I switched to AFR based final tuning. Will see if I can get to my laptop before I head out of town to dig it up.

    Leave a comment:


  • karter16
    replied
    Originally posted by Obioban View Post
    How are you disabling the MAP?
    Yeah good call - I mentioned this in the disassembly thread but hadn't really expanded on it here. For reference for everyone here are the details below of how I'm now setup for VE tuning.

    The steps below will use the naming conventions as per V3.2 (newly published today) of the XDF I've put together here: https://nam3forum.com/forums/forum/s...p-csl-0401-xdf

    1: Disable and clear Long Term Fuel Trims
    In TunerPro (with the XDF above loaded along with your current 0401 partial (tune) binary) Open the K_LAA_TMOT_MIN parameter and set it to 100 degrees C. As noted in heinzboehmer's earlier post this has the effect of raising the point at which the LTFTs are updated above the operating temperature of the motor (e.g. the LTFTs will never change).

    Click image for larger version  Name:	Screenshot 2025-06-12 at 11.28.06 AM.png Views:	0 Size:	11.4 KB ID:	308140

    2: Clear current engine adaptions in INPA.
    Again as heinzboehmer notes this is necessary because the above step only stops LTFT's from being updated, not used. So you need to reset them to 1.00 so that they have no effect.

    3: Disable the MAP Sensor Integrator
    The MAP Sensor is a good thing under normal conditions in that it, in real time, accounts for variation between the AlphaN VE table and actual real-world conditions. This is why running the MAP Sensor results in a smoother drive. However this correct is counter-productive when performing the VE tuning process. To disable the MAP sensor input to calculation of Relative Fill and rely solely on the AlphaN VE table set k_rf_cfg to 0x02 (if you would like more reassurance that this does what I say it does see here: https://github.com/karter16/CSL_0401...put-parameters)

    Click image for larger version  Name:	Screenshot 2025-06-12 at 11.34.16 AM.png Views:	0 Size:	10.0 KB ID:	308141

    4: Go for a drive and log in TestO.
    Log the following Parameters (you can log other parameters as well, just need at least these):
    - Relative Opening
    - RPM
    - Lambda Integrator 1
    - Lambda Integrator 2
    - Motor Temp (if you're going to log from cold, otherwise only start logging once car is completely up to temp)

    5: Process the log file to correct the AQ_REL (Relative Opening) values
    Take the resultant log file and run it through https://docs.google.com/spreadsheets...it?usp=sharing to adjust the Relative Opening values to scale correctly for the AlphaN VE table.

    6: Load the processed log file into MegaLogViewer
    Load the processed log file into MegaLog Viewer.

    7: Calculate the new VE table
    Copy the lambda table from MegaLogViewer into heinzboehmer's spreadsheet and process as per the instructions there.
    Last edited by karter16; 06-11-2025, 03:47 PM.

    Leave a comment:


  • heinzboehmer
    replied
    This is awesome karter16! I'm excited to test this out on my own car.

    Leave a comment:


  • Obioban
    replied
    How are you disabling the MAP?

    Leave a comment:


  • karter16
    replied
    I went for another run this morning (about 5 degrees cooler than last night).

    I didn't need to look at the log file to know that this is the right approach. Honestly was like driving the car with the MAP sensor enabled.

    As you can see from the log there's still some tuning to go, mostly around the very low rpm range which is really hard to consistently hit while driving (especially with SMG). But essentially all the cells are pretty rapidly converging at 1.0 (those that still have some work to do are where they didn't have good coverage in the previous logging run).

    Click image for larger version

Name:	Screenshot 2025-06-12 at 8.33.01 AM.png
Views:	82
Size:	357.0 KB
ID:	308120

    I'm stoked. I'm very confident now that this is the trick to nailing down the low RPM, and just need some others to further validate what I'm seeing.

    There are two key learnings out of this:

    1: It is important to make sure the DME is actually functioning the way you think it is. In this case the assumption was that AQ_REL (Relative Opening) was used by the Alpha_N (VE) table the same as it is in the VANOS tables, etc. Digging into the disassembled code showed that this was not the case and that the Alpha_N (VE) table y-axis uses a modified form of AQ_REL at low RPM. The effect of this is that, if not corrected, MegaLogViewer attributes Lambda Integrator values to the wrong Relative Opening cell. This results in lower RF (relative fill) values being entered into the VE table, which in turn has the effect of making that cell leaner than it should be.

    2: Disabling the MAP sensor is the second key to this process. The way the MAP sensor works is to compensate for the difference between the Alpha_N (VE) table calculated RF and the real-world RF calculated from the MAP sensor readings. This means that if the MAP Sensor is left enabled during this process it has the effect of covering up error in the Alpha_N (VE) table. With the MAP sensor enabled I had a pretty reasonable VE table, but with some areas that weren't quite right and seemed to keep moving around and couldn't quite be nailed down (the MAP sensor was masking inaccuracies). Disabling the MAP sensor takes that variable away and helps target a more accurate VE table more quickly.

    Leave a comment:


  • Bry5on
    replied
    I’m still not clear on why we need to do this correction. If we’re seeking a stoichiometric 1.0 number, then using only that multiplier to determine the cell in the fuel map, we should not be modifying the end result.

    In the case that we do need to make this correction, that would mean that the DME is deliberately targeting a ‘lean’ mixture in throttle transients and using the O2 sensors to bring it back to stoich in steady state. Seems a little odd to me, logically.

    edit: Nevermind, I see now! This is changing the actual throttle opening position, not the fueling amount. Makes sense. Leaving this here in case I was not the only one misinterpreting.
    Last edited by Bry5on; 06-11-2025, 07:08 AM.

    Leave a comment:


  • karter16
    replied
    Originally posted by heinzboehmer View Post
    Okay cool, just making sure. Appreciate the references
    Yeah absolutely - The more we constructively challenge each other's work the better - no one is immune to mistakes or misunderstandings, so we all benefit from robust discussion :-)


    I did a test drive just now.

    I took my most recent VE log (note this was first one with MAP sensor disabled which I think is why it shows slightly lean across the board - I think the MAP sensor was compensating for/hiding this) and ran it through the spreadsheet, then imported to MLV, then into your spreadsheet Heinz, to generate the new VE table. The result was as I was expecting, that the mismatched AQ_REL values were previously making low RPM appear richer than they actually were (e.g. more fuel was needed).

    Click image for larger version  Name:	Screenshot 2025-06-11 at 8.48.29 PM.png Views:	0 Size:	513.7 KB ID:	308052

    I then went for a (reasonably quick) run (about 6000 log lines) focusing on the low RPM and could tell the improvement pretty much immediately, no-throttle, low-rpm downshifts were particularly noticeable, rev matching was even better than previously, the car had even more pep than previously (remember I'm currently doing these runs with the MAP sensor turned off as well, so when I'm making these comparisons it's on pure AlphaN without the MAP sensor correcting anything).

    And I think the MLV view speaks for itself - Lambda around the high change areas is significantly better, and a lot of values that were quite wrong are now spot on. There's those couple areas between 870 and 1100 RPM to clean up (that previously weren't clearly identifiable and kept moving around - which makes sense given AQ_REL was being misinterpreted) but all in all this is quite a lot of improvement for a single run, and it's very noticeable when driving.

    Click image for larger version  Name:	Screenshot 2025-06-11 at 9.06.09 PM.png Views:	0 Size:	462.1 KB ID:	308053

    I'll do another run tomorrow off the back of this to prove further that this converges on a neat end result, but I'm pretty confident from this first run that this is the missing trick to really nailing down the low RPM.

    Important to note as well that I am running pure AlphaN with the MAP sensor disabled. I think this is really key when logging as well to not end up masking inaccuracies in the VE table.
    Last edited by karter16; 06-11-2025, 01:25 AM.

    Leave a comment:


  • heinzboehmer
    replied
    Okay cool, just making sure. Appreciate the references

    As for the sheet, I'll wait until it's validated by a few of us before making a copy.

    Leave a comment:


  • karter16
    replied
    Please note that I fixed a bug (typo in formula) just now. heinzboehmer if you took a copy of the sheet already then you'll want to grab the latest version.

    Leave a comment:

Working...
X