Audizine - An Automotive Enthusiast Community

Page 1 of 2 12 LastLast
Results 1 to 40 of 47

Thread: Tuning diary

  1. #1
    Established Member Two Rings
    Join Date
    Jul 07 2024
    AZ Member #
    991511
    Location
    Elk Valley, BC, Canada

    Tuning diary

    Guest-only advertisement. Register or Log In now!
    As promised, I will document at least an overview of my DIY tuning here. This is going to be a very verbose post/thread for the sake of completeness. I go into extreme detail, and will do my best to explain why I did what I did or where I found out how to do it. I will generally avoid explaining things twice, so the level of detail should go down over time. This will likely be a series of many posts/updates. I won't be explaining how to use specific software.

    The reason I got into this is because my turbo failed, and I decided to upgrade to a Stigan k04. Unbeknownst to me, (one of) the previous owner(s) (I bought this car knowing very little about it's history) had replaced the stock k03 with a chinese replacement k03, this died (you can read about that in my "Dead Turbo?" thread). As I was choosing a turbo to replace I was reading lots of things that said I'd have to upgrade my tune to match the new turbo (I already had a Unitronic stage 2 courtesy of the previous owner) turns out this wasn't the case as the k03 and k04 behave very similarly, the car runs fine as is.

    Because tuning depends heavily on the exact configuration of your car (at least if you do it right, according to the nefmoto forums) here is what I am working with engine wise:
    - 1.8T (German AMB head) stock block, as far as I know and most likely, given how many things weren't stock on this car when I bought it and how many I only found out about months later... who knows.
    - Stigan k04 turbo from amazon
    - TT225 injectors (bosch# 0280155892, vw#06a906031j)
    - stock fuel pump (4 bar returnless system)
    - 3" turbo back (catless) exhaust
    - R8 coilpacks
    - 710P DV
    - SAI delete (unnecessary, but one of the tubes broke and I didn't want to buy a new one)
    - stock air intake
    - stock SMIC (for now, ER Comp FMIC on the way)
    - stock MAF, MAP, exhaust manifold, and intake manifold
    - LiquiMoly Molygen 5W40 (this shouldn't really matter for tuning purposes as far as I know)
    - 8E0909518AK ECU
    - Shell V-Power 93 Octane

    Ok so that was a lot of prelude...
    TLDR: car is modded, and I found out you could DIY tune it.




    Getting the new ECU ready, and using bootmode:

    EDIT: as pointed out by grayjay in post #9, soldering is not actually required. I did this only for my own convenience in the future. There is also other software that may be easier to use than Galletto or ME7_95040, go see post #9.

    I bought a spare ECU that was compatible (so I would always have a known good ECU running the working Unitronic software). My car came with 8E0909518AF, so I bought 8E0909518AK which is directly compatible (the only difference is the pre-installed software).
    Next I needed to get the EEPROM from my ECU and put it on the new one (this way I retain Immo on both ECUs). So I soldered some wires onto the bootmode pins of each ECU. One wire soldered to ground, one to pin 24 of the flash chip, how to for a slightly different ECU on nefmoto.
    Then I plugged original ECU into the car, shorted the two wires, and turned the car on (without starting/cranking it), waited 5 seconds, and disconnected/unshorted the two wires. The car was then in bootmode, and the radiator fans spun up to max speed (not sure why, should probably unplug them to avoid draining the battery...)

    With the original ECU in bootmode I used ME7_95040 to read the EEPROM and then turned the car off, put it into bootmode again, and then used Galletto 1260 to read the software bin. I should note that I am doing this all with an Ebay VAG-KKL FT232RL cable (the FT232 part is important). I had to modify the Galletto program to accept my Ebay cable, how to on nefmoto.

    I then swapped out the ECUs, and did the same for the new one (good to have backups, even if you don't plan on using them). After reading both files, I flashed the original ECU's EEPROM file to the new ECU (using ME7_95040 again).

    Adjusting for big injectors with TunerPro:

    Now before doing all this I had setup TunerPro and using the STOCK (not the pre-tuned file, I want to do this myself, "from scratch", remember?) XDF and BIN from this nefmoto post. Because I have "big" injectors I had to modify the injector timing variable (KRKTE) to avoid the car running super rich, so I got the flow rate for the injectors from Injector Planet. The given flow rate is at 3bar, the B6 comes with a 4bar fuel pump so I had to calculate the flow rate at 4bar. I found this website which can do that for me, the calculated flow rate was 431 cc/min.
    Using the flow rate I can calculate KRKTE, this nefmoto post explains how to do that,
    Code:
    KRKTE = 50.2624*(Liters/Cylinder)/(operating flow rate in cc/min * .684 constant ) = 50.2624*(1.781/4)/(431*0.684) = ‎ 0.075913
    I used TunerPro to edit the KRKTE table with this new value, and then ran ME7Sum to correct the checksums before flashing, don't skip this or your car won't start.

    Now that I have a BIN adjusted for the big injectors, I flashed it, to do this I used the NefMoto Flasher. The car started fine, and I drove around a bit while visually checking the Group 33 measurements (I have a FIS Control unit which lets me see VAGCOM measurement groups on the DIS). Block 2 read between -8% and 8% (-8 to 0 at idle, changing lots) and Block 3 read 1.540V at idle, and went as high as 2.038V while driving around the parking lot in 1st and 2nd (I don't think I went above 3.5k rpm). Group 33 has the fuel trim information, I am not sure what Block 3 is, but block 2 reports the current fuel trim amount, it was telling me if the engine was running lean (positive) or rich (negative). Because these seemed to be quite low adjustments I believe my KRKTE is close to the correct value, but could use some fine tuning. EDIT: block 3 is the live O2 sensor voltage, block 2 is the live fuel trim (or so I've been reading on other forums).

    I have put the original ECU back in the car until I come back to this. In the next session I will log some runs with the current KRKTE value, and then attempt to modify it so that the fuel trims are 0, rinse and repeat.

    TLDR: adapted a new ECU to my car's Immo and edited stock firmware to run with bigger injectors (without any performance gain).

    Feel free to give feedback on the format of this post.
    Last edited by willemml; 02-18-2025 at 01:50 PM. Reason: Fuel

  2. #2
    Established Member Two Rings
    Join Date
    Jul 07 2024
    AZ Member #
    991511
    Location
    Elk Valley, BC, Canada

    Reserving post 2 in case I want to put more info here... But I should also add that tuning your car without knowing how is an easy way to kill your engine. Before even opening TunerPro I had read the S4Wiki tuning page and the NefMoto 1.8T Stage 1 community project thread twice all the way through. I also read through many other threads on Nefmoto, got familiar with their search function, and then also read through the 2.7T community project thread. I still don't really know what I am doing but at least I have some idea. Don't even think about starting to do this without first doing a very large amount of research. If you don't like reading don't do this.

  3. #3
    Senior Member Three Rings
    Join Date
    Sep 10 2021
    AZ Member #
    625673
    Location
    Pennsylvania

    OK, this is cool! If I understand correctly, you've got two ECUs now, both will run the car, and both started off as blank slates (stock). You then adjusted the KRKTE value on one of them. KRKTE is one of the single value variables, and not a table, right? This accounted for the larger injectors, thus telling the ECU how much fuel would be metered into the engine with every pulse of the now-larger injectors? Does the car run with the stock value with the injectors you have? If it does, is it running rich, or is able to adjust the fuel trim (guessing with just a giant value)?

    I have a couple of files on my laptop, one of them is the stage 1 tune they created. I'm also attempting to do what you are in adjusting a stock file. Something that I thought was a little weird, and I still don't quite have my head wrapped around it, is that the XDF file that I can use to read the stock file doesn't work with their stage 1 tune, and vice versa. It's like the tables are all there, but they're moved around. Is there some header data somewhere in the binary files that tells the ECU the addresses, sizes, and formats of all of the tables and variables? That wasn't obvious to me as I was reading through their forum.

  4. #4
    Established Member Two Rings
    Join Date
    Jul 07 2024
    AZ Member #
    991511
    Location
    Elk Valley, BC, Canada

    Quote Originally Posted by Mike Tries View Post
    OK, this is cool! If I understand correctly, you've got two ECUs now, both will run the car, and both started off as blank slates (stock). You then adjusted the KRKTE value on one of them. KRKTE is one of the single value variables, and not a table, right? This accounted for the larger injectors, thus telling the ECU how much fuel would be metered into the engine with every pulse of the now-larger injectors? Does the car run with the stock value with the injectors you have? If it does, is it running rich, or is able to adjust the fuel trim (guessing with just a giant value)?
    I have two ECUs, one started out as (and will likely remain) a Unitronic Stage 2, but I have a backup of that file now so theoretically I could have two Unitronic Stage 2 ECUs. I have no idea what was originally on the second ECU, but I flashed it with the 8E0909518AK_368072_NEF_STG_1_Stock.bin file from the community project to make it a blank slate. I did not try running the car without adjusting the KRKTE, but I assume that because my "big" injectors are much less than 50% bigger, the ECU would be able easily adjust the fuel trims. And you are right, KRKTE is a single value variable, but for some reason the creator of this XDF marked it as a 1x1 table.

    Quote Originally Posted by Mike Tries View Post
    I have a couple of files on my laptop, one of them is the stage 1 tune they created. I'm also attempting to do what you are in adjusting a stock file. Something that I thought was a little weird, and I still don't quite have my head wrapped around it, is that the XDF file that I can use to read the stock file doesn't work with their stage 1 tune, and vice versa. It's like the tables are all there, but they're moved around. Is there some header data somewhere in the binary files that tells the ECU the addresses, sizes, and formats of all of the tables and variables? That wasn't obvious to me as I was reading through their forum.
    The XDF file they have is for the specific bin on that post, there are many different versions of the software for this ECU, it's likely that your ECU came with a different software version. The binary files are actually executables that the ECU runs on bootup, the binary is like a Linux/Windows ISO that you boot from a USB stick or hard drive. The ECUs know where to find the tables/variables because they are compiled into the code, people find the code that uses the data using disassembly tools like IDA Pro and then extract the addresses and sizes from the code, or heuristics based searches of the raw binary for data that "looks right" (not too sure on this last one).

    In short, no, there is no header that tells you where all the tables are because the ECU does not need one. The XDF files are effectively user created headers for each bin file. If this doesn't answer your question let me know, I'm almost "done" writing the first version of my tuning software so this is all pretty fresh in my head. I'll also try to be a bit more concise, because this is all very long winded and a lot of rambling for anyone just following along.



    A little more on ECU software and versions. You'll likely have noticed that in the Nefmoto thread there are two mentioned ECU software versions. I will be using 8E0909518AK-0003 because that is the one they settled on. Apparently 0004 has fueling issues which make it a pain to tune with.
    Because the ECU is just a microcontroller with a bunch of driver circuits for things like spark coils and injectors, it is usually programmed with one big file that contains both the code and the data. Almost exactly like an Arduino. Each software version may only change one function, or one variable, but because everything gets recompiled it might get rearranged. However things usually stay in a similar location because code will be written to the "text" section of the binary while data will be written to the "data" section. The binary will usually have a sort of header that describes where the first instruction is located (the initial program counter) and where the top of the data stack is (stack pointer). I am not sure how closely this applies to the Bosch ECUs, but that's how it works on everything else I've worked with.

    At some point I want to disassemble the uni file, it will be interesting to see what they do in an off the shelf file. I probably wouldn't even be here if it weren't for them not being able to remote tune the B6 and wanting to charge me for not being the original owner of the car...



    This evening, I will probably adjust the TVUB values. TVUB describes how long it takes to open the injectors based on voltage, because they are solenoids a higher voltage means they open faster. This reply to my question post on Nefmoto explained that TVUB scales linearly with pressure (the more force pushing against the injector, the harder it is to open).

  5. #5
    Senior Member Two Rings
    Join Date
    Oct 15 2020
    AZ Member #
    570003
    Location
    Eagle River, Alaska

    You are misreading the last nefmoto reply concerning TVUB (injector latency voltage table). This table does not need to be scaled in relation to fuel pressure (as is needed for KRKTE). Just use the same TVUB values as from a 225hp application.
    If you want the digital trip computer MPG and miles to empty get calculated correctly for the larger injectors, you should change the KVB constant.
    Change in injector size should also get a change in the TEMIN injector constants to keep closed throttle / de-acceleration fixed fueling volume same as stock.
    Last edited by grayjay; 02-18-2025 at 10:37 AM.

  6. #6
    Established Member Two Rings
    Join Date
    Jul 07 2024
    AZ Member #
    991511
    Location
    Elk Valley, BC, Canada

    Quote Originally Posted by grayjay View Post
    You are misreading the last nefmoto reply concerning TVUB (injector latency voltage table). This table does not need to be scaled in relation to fuel pressure (as is needed for KRKTE). Just use the same TVUB values as from a 225hp application.
    Whoops, thanks for pointing that out, re-read it and yes... Must have been distracted while reading that. Strange that TVUB doesn't need to be scaled, but I don't know what the mechanism in the injector looks like. Also I am surprised that KRKTE scales proportionally with pressure.

    Quote Originally Posted by grayjay View Post
    If you want the digital trip computer MPG and miles to empty get calculated correctly for the larger injectors, you should change the KVB constant.
    Change in injector size should also result in a change in the TEMIN injector constants to keep closed throttle / de-acceleration fueling working same as stock.
    I wasn't planning on fixing KVB any time soon, at least not until I start running this daily (I don't even see the trip computer most of the time). Right, I forgot about TEMIN. Although even with this badly calculated KRKTE change the idle and low power running feels noticeably smoother than the Uni tune (I have never been in a B6 or 1.8T of any kind other than my own, and it came pre-tuned).

  7. #7
    Senior Member Two Rings
    Join Date
    Oct 15 2020
    AZ Member #
    570003
    Location
    Eagle River, Alaska

    TVUB is important for idle/part throttle operation, KRKTE becomes the more important once you get on the throttle.

    Flow rate for an injector does not scale directly linear with fuel pressure change, there is an exponent term in the fuel pressure conversion. Try running example fuel pressure changes in the second calculator at https://deatschwerks.com/pages/fuel-injector-calculator

    KRKTE does scale (inversely) with the recalculated injector flow rate. Use the KRKTE calculator spreadsheet once you have injector flow rate for the changed fuel pressure;
    http://nefariousmotorsports.com/foru...?;topic=4021.0

    I do like the idea of keeping a thread going here for discussing nefmoto tuning of our B6, the nefmoto forums are pretty intolerant of newbie users and most of the forum traffic concerns newer ECUs so is of minimal direct use on a B6. I am also using 225hp TT injectors, I will share the injector constants and tables that I am using for those in a few days as I am currently away from home and unable to access the PC where I have them stored.

    Note, the file 8E0909518AK_368072_NEF_STG_1_Stock.bin ran terrible for me when I first tried using it on my 2003, not sure why but glad to hear that it works for you. I tried flashing it several times with poor results but flashing the tuned .bin that was developed in the community thread solved all those problems so it did not seem to be due to cross-flash incompatibility with my ECU. After running the community stage 1 tune for 1+ year, I recently added TT injectors and a KO4-22, got that working and modified the boost request table to utilize the increased injector flow capability so it did not taper boost as soon as required for the stock injectors.

    Be sure to check out and try using the "tylerW" .xdf for the for the 8E0909518AK-0003 ECU. The tylerW xdf is a lot more helpful to me for understanding the .bin file as the tables are all categorized with more easily recognizable and useful parameter category labels and the parameter comments entries are more complete. Many of the parameter comment descriptions are included in both the original German and with English translation so I would presume that this xdf might have it origins as some sort of original Bosch map definition? The tylerW xdf can be found over in the rather short stage1+ thread; http://nefariousmotorsports.com/foru...?topic=15799.0

    Definitely get ME7Logger data logging setup ASAP before you do any tuning. The vast amount of info you can get out of proper data logs is much more helpful for guiding your tuning efforts as compared to what you might be seeing on your display in real time while driving.

  8. #8
    Established Member Two Rings
    Join Date
    Jul 07 2024
    AZ Member #
    991511
    Location
    Elk Valley, BC, Canada

    Good to know about the tylerW XDF, probably from a DAMOS or WinOLS pack. I will switch to that.

    Tonight I will do some actual logging, I have it setup but I didn't bother using it as I was just driving slowly in the parking lot to see if the car would run. But yes the DIS isn't very useful for seeing what's going on other than a very very rough overview.

    The injector flow rate I am using was already calculated using the deatschwerks website, that's why I was confused by the nefmoto reply saying it was simply a % change. The spreadsheet yields a KRKTE of 0.0748038, while the other threads on nefmoto give equations which yield 0.075913 (which I am using successfully). I will try both with logs and see which one is better at partial and WOT.

    I pulled the TVUB table from a TT225 BEA file (Nefmoto:
    7.9552 1.57353
    9.9968 0.952119
    11.968 0.621411
    14.0096 0.413385
    15.9808 0.272034

  9. #9
    Senior Member Two Rings
    Join Date
    Oct 15 2020
    AZ Member #
    570003
    Location
    Eagle River, Alaska

    Quote Originally Posted by willemml View Post
    Getting the new ECU ready, and using bootmode:
    I bought a spare ECU that was compatible (so I would always have a known good ECU running the working Unitronic software). My car came with 8E0909518AF, so I bought 8E0909518AK which is directly compatible (the only difference is the pre-installed software).
    Next I needed to get the EEPROM from my ECU and put it on the new one (this way I retain Immo on both ECUs). So I soldered some wires onto the bootmode pins of each ECU. One wire soldered to ground, one to pin 24 of the flash chip, how to for a slightly different ECU on nefmoto.
    Then I plugged original ECU into the car, shorted the two wires, and turned the car on (without starting/cranking it), waited 5 seconds, and disconnected/unshorted the two wires. The car was then in bootmode, and the radiator fans spun up to max speed (not sure why, should probably unplug them to avoid draining the battery...)

    With the original ECU in bootmode I used ME7_95040 to read the EEPROM and then turned the car off, put it into bootmode again, and then used Galletto 1260 to read the software bin. I should note that I am doing this all with an Ebay VAG-KKL FT232RL cable (the FT232 part is important). I had to modify the Galletto program to accept my Ebay cable, how to on nefmoto.
    I just wanted to point out that there are often multiple software tools and techniques available for accomplishing tuning tasks and much of the older documentation on nefmoto was written for a particular way to accomplish something that may not necessarily still be the only or best way to get task done. The boot mode wiki page is such an example, you definitely can read and flash the EEPROM (in boot mode) without converting your FT232 cable to Galleto or using any Galleto software. This can all be done using standard FT232 cable and ME7_95040.exe command prompt software. It is also much easier to run ME7_95040 using the GUI included in ME7 VisualLogger rather than running directly from command prompt.

    There is also a newly developed open source software tool designed to improve the functionality of ME7_95040 that is called ME7BootTool
    http://nefariousmotorsports.com/foru...=18686.0title=
    Ive not yet used ME7BootTool but it does look to have some improvements over ME7_95040 and was distributed open source so can be developed further, Ive been meaning to try it out.

    I would also point out for other users, it is entirely possible to trigger boot mode without soldering to the ECU. The soldering makes it easier to trigger boot mode if you need to do it a bunch of times (saves re-opening the inner ECU case) but for occasional use boot mode can be triggered with just temporarily placing a jumper resistor wire if you doubt your skills to solder on your ECU. You should not really need to boot mode access the EEPROM repeatedly once you get it setup for your car (Immobilizer and softcoding), all the ongoing tuning of the .bin file can be done without boot mode. One use of accessing the EEPROM file I would point out here, you can read and change the immobilizer SKC (or entirely disable immobilizer) using these same tools as an alternative to using vag commander & VCDS as is typically suggested when immobilizers are discussed in audizine.

  10. #10
    Established Member Two Rings
    Join Date
    Jul 07 2024
    AZ Member #
    991511
    Location
    Elk Valley, BC, Canada

    All good points, soldering is definitely overkill, I only did it so I would be able to bootmode the ECU without ever having to fully take it out again if the need arose for whatever reason (also I needed bootmode because the unitronic tune disables other flash methods). Purely for future convenience. I will edit the top post accordingly.

    As for ME7_95040 I am much more comfortable with command line tools than GUI based tools, so it seemed much more natural to me especially with the included help flag. I will link to your comment though as I will assume most people prefer GUI tools. C167BootTool looks cool, nice to see more code available.

  11. #11
    Senior Member Two Rings
    Join Date
    Oct 15 2020
    AZ Member #
    570003
    Location
    Eagle River, Alaska

    The GUI for ME7_95040 generates the text commands for the user with simple buttons and checkbox input, without the need for knowing all the commands and getting their input syntax exactly right. I agree it is is good to know how to run via command prompt too, just easier if via the GUI if you are not entirely proficient with writing the command promps from scratch. Image of the GUI in action at; http://nefariousmotorsports.com/foru...58529#msg58529
    The Visual Logger program is also much easier interface for running ME7Logger

  12. #12
    Established Member Two Rings
    Join Date
    Jul 07 2024
    AZ Member #
    991511
    Location
    Elk Valley, BC, Canada

    Got the visual logger interface up and running, unfortunately my windows laptop died (won't boot anymore, at all, not even BIOS) just as I was about to go outside... So instead of logging and tuning I spent the evening getting everything running in a virtual machine on my arm macbook. This meant recompiling the NefMoto Flasher for arm, which took longer than it should have. Anyways, now I have everything set up again (luckily I had backups on three different machines of everything I had already done). I have a v2 file ready to flash with updated TVUB, KVB, TEMIN, SAI delete, and cat delete. I will run a log of my first KRKTE change on its own tomorrow and then run a log of the v2 file. I changed TEMIN from 0.6 to 0.4, a mostly arbitrary change, but it seemed OK as it works out to just under 304/431*0.6=0.4 (multiplied by a factor of original injector flow over new injector flow).

    I've switched to using the TylerW XDF because as you mentioned it seems way more detailed. Thank you for linking that, it is has been very helpful in understanding more of the maps.

  13. #13
    Established Member Two Rings
    Join Date
    Jul 07 2024
    AZ Member #
    991511
    Location
    Elk Valley, BC, Canada

    Ran some logs...

    Ran some logs, these are unfiltered so if you want to look at them I recommend using ECUxPLOT as that will quite nicely filter for pulls... Unfortunately Nefmoto Flasher did not play nicely with the virtual machine like ME7VisualLogger did. Looks like I will have to either fix my windows laptop or write a kwp2000 flasher of my own.

    The car feels very slow on the stock file compared to the Unitronic tune (unsurprising). Also I either have a small whistling boost leak (I suspect in the PCV pancake valve) or my turbo is a lot louder than I think it should be. Maybe thats just because the wastegate has a higher duty cycle now?

    WOT AFR actual seems to roughly match desired, so I guess my KRKTE is pretty close. But I don't really know how to interpret the logs yet.

    This link should work for the next 6 days if anyone is interested in the logs (nothing noteworthy in them as far as I can tell, especially given I haven't changed anything other than KRKTE).

    https://filebin.net/bcedtbgcm06upwck

    P.S. Really nice to finally have cruise control in 6th... And the tuning software I have been writing now has a functional GUI with editing capability, it's not pretty but it works.

  14. #14
    Established Member Two Rings
    Join Date
    Jul 07 2024
    AZ Member #
    991511
    Location
    Elk Valley, BC, Canada

    Managed to get the other laptop working by swapping the RAM slots... So I flashed the second file. Logs look almost identical (as expected given all that I changed was the deletes, TEMIN, and TVUB, which according to what I've read only affects idle). And again, wow 12psi of boost is so lame.

    Added the log to the link in the previous post.
    Last edited by willemml; 02-20-2025 at 06:10 AM.

  15. #15
    Established Member Two Rings
    Join Date
    Jul 07 2024
    AZ Member #
    991511
    Location
    Elk Valley, BC, Canada

    Today I enabled left foot braking and attempted to fine tune KRKTE. At this point the LTFTs seem to be pretty consistently less than +/- 1%, my tweaking at this point doesn't seem to be changing much.

    Here are the iterations I did, using ME7VisualLogger I checked the partial adaptation "fra_w" parameter after a lot of driving (let it adjust itself once or twice, the value only changes periodically). Once it had changed from 0.99997 (the reset value upon clearing DTCs) I would go to TunerPro and multiply the KRKTE value by the fra_w value. On the left of the table below is the fra_w value, and on the right is the new KRKTE value based on the given fra_w.

    Initial KRKTE: 0.07598
    0.984681: 0.07482
    1.02014: 07632
    0.999573: 0.07629
    0.990754: 0.07561
    1.00144: no change applied to KRKTE for this one (yet)

    So the final KRKTE wound up being 0.07561 which is only slightly smaller than the initial one, although it jumped around a bit. At this point I decided that it wasn't worth playing with anymore. It's possible I am just not waiting long enough for fra_w to adjust itself fully in between runs.

    This process came from the following Nefmoto post: http://nefariousmotorsports.com/foru...p?topic=2625.0


    While this "stock" tune is noticeably less powerful than the Unitronic tune, it is significantly nicer for normal driving conditions (in my opinion). It feels much smoother and the car feels much happier. I'm not 100% sure why this is, but it makes me want to attempt to map out the addresses in the Unitronic OTS file and see what they've done differently on the low end. Mostly so I can avoid doing this in my tune, although I suspect it will be easier to find out by just tuning the car.

    I feel that primary fueling is OK now, so I will likely start making adjustments to LAMFA now.

  16. #16
    Senior Member Three Rings
    Join Date
    Sep 10 2021
    AZ Member #
    625673
    Location
    Pennsylvania

    First, know that I'm not an expert on this stuff. But, nothing stands out to me in the logs so far. I looked at the latest one. It looks like you did some part-throttle driving and some WOT. I'm not the best at interpreting that much data at once, so I just focused on the WOT stuff since I could find discreet events (example: a 3rd gear full throttle pull, or a 4th gear full throttle pull, etc.). Boost looked like it built correctly and tapered the way it's expected to. Ignition timing looks normal. Interestingly, I could tell that your fuel injector on-time (milliseconds) is lower than what I log in my car with stock injectors (though, I'm not at stock power levels). I'm wondering if this is the result of the KRKTE adjustments, the overall power levels with the stock tune, or both?

    When you activated left-foot braking, did you maximize the vehicle speed minimum requirement, minimum RPM requirement, or both?

  17. #17
    Established Member Two Rings
    Join Date
    Jul 07 2024
    AZ Member #
    991511
    Location
    Elk Valley, BC, Canada

    It definitely is a lot of data, when looking at it I do the same as you and only look at discrete events. ECUxPlot makes this very easy (it automatically detects and filters out WOT pulls). I generally ran logs until the connection died (sudden force on the USB connector) or I decided to pull over. Not sure of an easy way to edit out the boring parts.

    Keep in mind that I have the TT injectors, which are bigger than stock (hence the KRKTE changes). This means that they will be on for less time to inject the same amount of fuel. The TT injectors flow about 40% more fuel than stock. I am curious, do the logs reflect that in the injector on time?

    I activate left foot braking by maximizing the vehicle speed requirement and setting the minimum RPM to 5400rpm. This rpm limit was entirely arbitrary, at the time I was probably thinking it would be safer not to allow brake boosting at high rpms. But I might bump it, as maybe I will want it at some point (when?), and I can apply judgment in situ (just like how I don't slam the car into first at 100mph).

  18. #18
    Established Member Two Rings
    Join Date
    Jul 07 2024
    AZ Member #
    991511
    Location
    Elk Valley, BC, Canada

    This morning I decided to change LAMFAW, before doing that I had another look at the logs. I noticed that I was getting BTS enrichment (when the ECUs calculate EGTs go above TAGBTS (stock is 850C) it switches from LAMFA to the LAMBTS fueling map. So I bumped that up to 1000C, I don't think I need to worry too much about it especially since I don't have a cat to melt.

    Ran some more logs and confirmed that I was no longer getting BTS enrichment.

    Then I started changing LAMFA, I did two things first:
    - I changed LAMFA_COLAXIS to have the values 50 60 70 80 90 97.5 (as per the recommendations in both the 2.7t and the 1.8t community projects on nefmoto)
    - I changed the beginning of LAMFA_ROWAXIS to get more resolution in the 2-3k rpm range. The first few values are now 1000 2000 2200 2600 3000.

    Once I had my axis set how I wanted them I started changing the actual map values. There is a thread on nefmoto with some advice on dialing in fuelling (click!).
    Following that I wanted to have a 12.4 AFR (0.8438 lambda) at peak torque (which according to previous logs occurs at around 2800 rpm). Then the AFR/lambda should ramp down to about 11.6 at the revlimit. I set the values at 2600rpm (a bit early) and 7000rpm and then used TunerPro's "interpolate" function to create a smooth ramp from 1000 to 2600, and then from 2600 to 7000. I only set these values for the last two columns (90% and 97.5% requested load) and on the 90% column I set 12.4 AFR at 3000 instead of 2600 in the hopes of making everything a little smoother.

    After running some logs on that I noticed that my requested AFR was not following the LAMFA map immediately, there is a delay. So I started off by editing ZKLAMFAW (the maximum change per time of LAMFA, a built in smoothing feature). Bumping that helped but has not fully fixed the lag. Other than the lag requested lambda matches actual lambda very closely and follows the ramp (and values, albeit delayed) that I configured in LAMFA.

    I also decided to slightly increase LDRXN (maximum load) which lets the ECU add more boost. I was conservative and only added between 1 and 2 PSI in the 2250 - 4500 rpm range (I pretty much split the difference between the stock file and the nefmoto community tune). This worked, not a hugely noticeable butt dyno difference, although logs do indicate slightly higher acceleration and torque, consistently about 0.1m/s^2 increase in acceleration, of course this is probably well within the error range so it might not have actually improved anything.

    I am going to ask about the LAMFA delay on nefmoto, I suspect I will have to adjust the KTLAFA tables (time delay until driver lambda request active) but they don't have axis defined in the XDF files and I am not 100% sure how to modify them (should I just zero them all out?).

  19. #19
    Established Member Two Rings
    Join Date
    Jul 07 2024
    AZ Member #
    991511
    Location
    Elk Valley, BC, Canada

    Got IDA Pro setup and found a bunch of functions. Haven't actually figured out exactly how KFTLAFA tables are used yet though...

  20. #20
    Senior Member Three Rings
    Join Date
    Sep 10 2021
    AZ Member #
    625673
    Location
    Pennsylvania

    I'll see if I can get a look at the log again tonight to see of the scale of the difference in injector on time matches the size difference between our injectors. After I get home from Urgent Care, where I am with my kid. Heh... it's a funny story actually... she's probably fine. I injured myself like a doofus walking through the parking lot though, so, hey! Two copays! Cool!

  21. #21
    Established Member Two Rings
    Join Date
    Jul 07 2024
    AZ Member #
    991511
    Location
    Elk Valley, BC, Canada

    Ouch, hope you both feel better soon! I just took a couple nasty falls snowboarding today... Wrist is quite sore now, oh well.

    So before leaving the ski hill I decided to fully zero out KFTLAFA (time delay for driver requested lambda) and set ZKLAMFAW (how quickly to apply driver requested lamba, like a smoothing factor so that it doesn't jump) to 100% (which translates to instantly rather than progressively, I figured this would be fine because my LAMFA table is scaled progressively). I also moved LAMFA start enriching a little bit sooner, and changed the axis to give me more fine grained control over the lower RPMs where onset happens.

    Unfortunately I got a P0420 code (catalyst bank 1 efficiency too low). My partial fuel trims are also now close to -4%. I am not sure which parameter change caused this (probably shouldn't have gotten cocky and started changing so many things at once).
    Despite this code, LAMFA is coming on much closer to how I want it to, but it also has a lot of very rich spikes when going into WOT. I will probably revert everything to stock except for LAMFA and then try changing KFTLAFA and ZKLAMFAW independently. I am also going to revert my changes to LDRXN (load/boost) just to make sure that's not affecting anything.

    Also I am a bit worried about how loud the turbo is. It seems to be working fine though.
    Last edited by willemml; 02-21-2025 at 06:46 PM.

  22. #22
    Established Member Two Rings
    Join Date
    Jul 07 2024
    AZ Member #
    991511
    Location
    Elk Valley, BC, Canada

    So I am pretty sure the P0420 code and crazy fuel trims are a result of not doing the cat delete properly. The rear O2 sensor was still contributing to fuel trims. I think I've fixed that, but I'm not sure if I've done enough drive cycles yet.

    I wound up not changing LAMFA at all, I just hugely increased the KFZKLAMFAW tables (another delay adder to LAMFA onset). now requested lambda is following almost the exact curve I want it to. Actual lambda is very close (it oscillates around requested, not sure if I can actually fix that).

    So to summarize, I disabled the rear O2 sensor following the s4wiki guide, zeroed out the KFTLAFA tables, maxed ZKLAMFAW, increased the KFZKLAMFAW tables (first column 100, second 95, 50, 30, 20, 10).

    After those logs came out looking OK I started bumping LDRXN, my peak requested load is 167% at 3500 rpm. This results in boost curving up to between 13.5 and 14.5 psi and then curving down to around 12psi (I know my car can hold more than that even at higher rpms, but I am going slowly here for safety). Actual boost seems to be higher than requested in the 2.4k to 4.3k rpm ranges. Not sure how to fix that.

  23. #23
    Established Member Two Rings
    Join Date
    Jul 07 2024
    AZ Member #
    991511
    Location
    Elk Valley, BC, Canada

    I've been doing the load request changes wrong, disregard anything I've said previously about LDRXN. For some reason I thought LDRXN is requested load. It's not, it's actually the maximum load. KFMIRL is the table that converts the pedal position to a requested load. There are other tables too. I will post again once I understand it and have tried some things out.

  24. #24
    Senior Member Two Rings
    Join Date
    Oct 15 2020
    AZ Member #
    570003
    Location
    Eagle River, Alaska

    Nice job documenting your progress.
    Using ECUxPlot, I did have a look at a couple of the data logs you collected. The way I have used ME7Logger is to start it right before a pull and then end the logging after the pull so each pull is a single file. While ECUxPlot can detect and display just the pull data from a longer multi-run logging session, doing so makes it hard to generate on-screen comparisons between runs or comparisons with different files. Worth noting that you will get noticeably different turbo response if testing in different gears. 2nd gear tends to produce a rather large overshoot of the actual boost because everything is occurring so fast and the preset compressor map display in ECUxPlot is noticeably different if comparing 2nd and 3rd gear runs. For evaluating ongoing tuning changes, standard practice is to just perform the logging runs in 3rd gear but even that can be challenging to safely perform on open roads to reach redline RPM.

    The overshoot of actual boost > requested boost as the turbo ramps up that you are getting seems to be a consequence of the poorly implemented boost PID scheme that Audi used for our ECUs, probably made worse by using a non-stock turbo and wastegate controller. Fix for the boost overshoot is to implement the pre-control PID linearization scheme described in nefmoto thread; http://nefariousmotorsports.com/foru...?topic=12352.0
    Ive been wanting to work on setting up this PID control, just have not yet got to it.

    Follow the tuning strategy of the community stage 1 thread (around page 18), the maps for both KFMIRL and LDRXN get changed for higher torque request but you then can make your ongoing fine tuning boost changes by raising/lowering the upper allowed limits in LDRXN, leaving the (non-stock) KFMIRL alone so long as it can request somewhere beyond LDRXN. Note that there are two available versions of LDRXN, one defined in %load and another defined in PSI. I find it easier to work with the PSI version, saving changes made there will update the %load view too should you need to compare with KFMIRL.

  25. #25
    Established Member Two Rings
    Join Date
    Jul 07 2024
    AZ Member #
    991511
    Location
    Elk Valley, BC, Canada

    Thanks, it actually makes it a lot easier to think about when I write out as many of my thoughts as possible. A bit like using the forum as you would a rubber ducky in programming.

    I did some logging today and have switched to one pull per log. Much simpler, and makes more sense as I can immediately check that everything is working as it should.

    Luckily I live near a lot of straight flat roads where I can pretty safely do 3rd (and 4th in some spots) gear pulls to redline, and while 5th is probably possible here, I personally won't be doing it as it would be excessive speed. It is also somewhat icy (and gravely now that temperatures are suddenly 30C higher) so I do still need to be careful, I always do a scouting run before pulls, just to make sure there aren't any surprise potholes/ice slicks.

    Good to know about the PID issues, I will have to try and fix that. Thanks for the link.

    Right, that confirms everything I've read so far about KFMIRL and LDRXN. I am still confused by the purpose of KFMIOP even if I know I need to increase it and change its axis. I've actually found the PSI versions of the maps to be very confusing. I've also switched to using the non AFR lambda maps, although that was weird to wrap my head around, but it makes more sense when looking at logs.

    Other notes: the tuning software I wrote is now fully functional (it has very little functionality beyond directly editing numbers, but hey, it works!
    I'm also planning on setting up a place to host files and logs as I progress because audizine heavily limits individual user uploads.

  26. #26
    Established Member Two Rings
    Join Date
    Jul 07 2024
    AZ Member #
    991511
    Location
    Elk Valley, BC, Canada

    Today was fun. I bumped KFMIRL, KFMIOP. I scaled the last 3 rows of KFMIRL (80, 85, and 99) by a percentage that brought the requested load at full throttle 3000rpm to be 210. This resulted in some values higher than that on the last row. I then tweaked everything a little to make it a bit smoother looking transition wise between the rows.
    Then I adjusted KFMIOP, starting with the axis values. I upped the last 3 so the highest one was 210 (because of my changes to IRL) and the other 2 to smooth it out. I then scaled the last 3 rows of the table (percentage wise again, I like that function, it keeps things smooth, also I am doing each row individually, eyeballing a percentage that keeps it curving nicely towards the next value). I scaled it so the last row had a maximum value of 95.

    This was done because of this reply to a nefmoto post I made: http://nefariousmotorsports.com/foru...=23525.0title=
    While I am happy I got an answer I am a little disappointed that it is "do this" rather than the why. The s4 tuning wiki already explains what to do.

    After changing IOP and IRL, I upped LDRXN. This was done on (again, yes, you guessed it) a percentage basis. I scaled from the existing values to roughly how much higher I thought I could push them and still meet boost requirements.

    Log time! So requested load wasn't following LDRXN. This is because I was being limited by KFLDHBN (maximum pressure ratio) so I bumped that to roughly what I thought a good maximum was. I know that the k03 I had before could hold 2.2bar MAP "easily" at the same altitude, so I took the atmospheric pressure (roughly 0.87bar according to the MAP) and divided 2.2 by 0.87. This gave me just over 2.5. I then scaled the entire KFLDHBN by the percentage difference between its original maximum values and 2.5. This means that the maximum pressure ratio is 2.5 times atmospheric when IATs are at their lowest.
    That was a somewhat simplified explanation and gives my final result, in reality I did a couple pulls/logs before settling on a final KFLDHBN map. I suspect I will have to bump KFLDHBN for higher IATs, because I am still being limited by that map. More logging and contemplation before I do that though.

    Upon checking the logs more I noticed that at around 4.5k rpm I was maxing out the wastegate duty cycle (reaching 95%). So I scaled the relevant LDRXN values down. I am now sitting at around 85% wastegate duty cycle at 5.5k rpm.

    Butt dyno results are very good. Feels almost as much pull as the unitronic tune. I suspect this is because they have set KFLDHBN much higher than I did, as I remember that file brings MAP to about 2.28bar even at the current high altitude (my file only brings MAP to about 2.08bar). My injector duty cycle is still under 80%. I am not sure that I am completely satisfied with the load maps yet, but I think the logs look decent. I am going to look into the boost PID link grayjay sent. I eventually want to learn about the timing maps.

    Eventually I will get around to posting some more logs rather than just talking about them. I also intend to post bins along with descriptions of what changed on each revision.

  27. #27
    Established Member Two Rings
    Join Date
    Jul 07 2024
    AZ Member #
    991511
    Location
    Elk Valley, BC, Canada

    Also "exciting": halfway through the first pull it started snowing, went from light rain to thick snowflakes that looked to be roughly up to 1" in diameter in about 4 seconds. Stopped snowing about 5 minutes later.

  28. #28
    Senior Member Three Rings
    Join Date
    Sep 10 2021
    AZ Member #
    625673
    Location
    Pennsylvania

    Quote Originally Posted by willemml View Post
    Also "exciting": halfway through the first pull it started snowing, went from light rain to thick snowflakes that looked to be roughly up to 1" in diameter in about 4 seconds. Stopped snowing about 5 minutes later.
    I grew up around snow. I've only seen gigantic snowflakes like that once in my life (it was this Winter, actually). It looked like somebody put a stack of clouds into a paper shredder. The snowflakes didn't land on things--they hit them.

    I think the concept of "load" always threw me when talking about this stuff. "Requested load" seems like a scaling of some value that doesn't appear to have a unit of measure attached to it. Are values greater than 100 only possible because of forced induction? (I'll head back over to the S4 wiki. I'm sure it's explained there. I just never grasped it fully.)

  29. #29
    Established Member Two Rings
    Join Date
    Jul 07 2024
    AZ Member #
    991511
    Location
    Elk Valley, BC, Canada

    This is the second time I have seen snowflakes that big in my life, I was much younger last time so the memory may be exaggerated. And this was a very brief, sudden, and seemingly localized burst. I'm not 100% sure they reached a full inch, but I am almost certain they were over 3/4". They definitely were not massive enough to hit the car hard when going 100kph. I do remember one time I was outside and a session of golf ball sized hail started (may cars/roofs were destroyed).

    I typed out an explanation for load, but then realized the s4wiki actually does have a dedicated page that I hadn't seen yet. It describes it nicely. https://s4wiki.com/wiki/Load

    I'm looking forward to ER shipping my FMIC, will be nice to bring IATs down because it is getting warmer here.

  30. #30
    Senior Member Three Rings
    Join Date
    Sep 10 2021
    AZ Member #
    625673
    Location
    Pennsylvania

    Oh, yeah, the Wiki explains it perfectly. That makes sense!

  31. #31
    Veteran Member Four Rings Gin+'s Avatar
    Join Date
    Apr 16 2015
    AZ Member #
    327575
    Location
    CNY Syracuse

    I've been waiting for this thread to surface for a longgg time Great job at weeding through and digesting all the nefmoto "stuff".

    I eventually want to learn about the timing maps.
    If you're running the stock timing map, I would imagine you're getting a considerable amount of timing pull with the increased boost. I always log timing pull as sort of a gauge on overall efficiency.

    BTS enrichment (when the ECUs calculate EGTs go above TAGBTS (stock is 850C) it switches from LAMFA to the LAMBTS fueling map. So I bumped that up to 1000C, I don't think I need to worry too much about it especially since I don't have a cat to melt.
    I ran like this for a while. Problem is part throttle, hills, and cooling down the charge after some heavy load requests. I've tried to construct a happy medium.

    I usually go on a tuning binge in the spring and then by the beginning of summer I'm over it.
    They're not scared of you. They're scared of what you represent to 'em.

  32. #32
    Established Member Two Rings
    Join Date
    Jul 07 2024
    AZ Member #
    991511
    Location
    Elk Valley, BC, Canada

    Quote Originally Posted by Gin+ View Post
    I've been waiting for this thread to surface for a longgg time Great job at weeding through and digesting all the nefmoto "stuff".
    Haha, thanks! It's been a lot of fun so far. Any suggestions for clarification and improvements to writing are welcome. I intend to post a much more linear guide later when I am happy with this initial tune. Hopefully it will be an easier to parse version of the s4wiki tuning guide.

    Quote Originally Posted by Gin+ View Post
    If you're running the stock timing map, I would imagine you're getting a considerable amount of timing pull with the increased boost. I always log timing pull as sort of a gauge on overall efficiency.
    I think I am logging timing pull, but I haven't paid much attention to it, I will check that. I am only reaching16.8psi over atmospheric at peak. This is capped by my current KFLDHBN map. Also I am in the Rockies at altitude so boost is expected to be lower.

    Quote Originally Posted by Gin+ View Post
    I ran like this for a while. Problem is part throttle, hills, and cooling down the charge after some heavy load requests. I've tried to construct a happy medium.
    By this do you mean I should be letting BTS come in much earlier on the temperature curve so that at part throttle and lower rpms the engine can continue to run rich until charge is cooled enough?

    I guess what I should do is set my BTS map to have similar enrichment to what LAMFA currently has at higher loads, but then also adjust lower loads so that a I get a 0.84 lambda when charge temperatures are still high after going from pulls to part throttle.
    Good idea, thanks for pointing that out (also let me know if I completely misunderstood what you meant).

    Quote Originally Posted by Gin+ View Post
    I usually go on a tuning binge in the spring and then by the beginning of summer I'm over it.
    I imagine summer is less fun with the higher ambient temperature and less headroom for boost with a small turbo (at least in my case). Hopefully the FMIC will allow me to maintain similar tune levels in summer. ER said it will likely ship next week, they still have to do the hard anodization.

  33. #33
    Established Member Two Rings
    Join Date
    Jul 07 2024
    AZ Member #
    991511
    Location
    Elk Valley, BC, Canada

    KFMIRL and LFMIOP are described in detail in the Timing section of the s4wiki, I just didn't think to read into the next section while I was doing my load changes. Just goes to show that you really should read through the entire wiki a few times before starting.

  34. #34
    Veteran Member Four Rings Gin+'s Avatar
    Join Date
    Apr 16 2015
    AZ Member #
    327575
    Location
    CNY Syracuse

    By this do you mean I should be letting BTS come in much earlier on the temperature curve so that at part throttle and lower rpms the engine can continue to run rich until charge is cooled enough?

    I guess what I should do is set my BTS map to have similar enrichment to what LAMFA currently has at higher loads, but then also adjust lower loads so that a I get a 0.84 lambda when charge temperatures are still high after going from pulls to part throttle.
    Good idea, thanks for pointing that out (also let me know if I completely misunderstood what you meant).
    Yes, I believe you've got the idea.

    Here's another resource for help on calculating IRL/IOP and some other goodies. Not sure if Master J is still active or not. https://github.com/masterjguscius/Ne...20WIZZARD.xlsm
    They're not scared of you. They're scared of what you represent to 'em.

  35. #35
    Established Member Two Rings
    Join Date
    Jul 07 2024
    AZ Member #
    991511
    Location
    Elk Valley, BC, Canada

    Thanks, that calculator should be very helpful just having taken a quick glance. Maybe I can implement some of that functionality in my tuning software. I'm getting close to having my own flashing software.

  36. #36
    Established Member Two Rings
    Join Date
    Jul 07 2024
    AZ Member #
    991511
    Location
    Elk Valley, BC, Canada

    So last night I did some more tuning. I implemented Gin's suggestions of maintaining BTS maps.

    The main things I did were to slightly increase the maximum pressure ratio, and look at timing. After I increased the pressure ratio a bit more I was starting to get some timing retard, although I didn't get any before those changes. All I've done is turn down the timing at peak load. I might go back and try to run even richer, I have a decent amount of fuel injector duty cycle left so maybe I can have more timing advance.

    While my wastegate duty cycle is not maxed (it peaks at 85% as of the last log), I am probably at the limit of the k04, at least at my current altitude. Atmospheric pressure is 0.87 bar, and I don't know how happy the k04-15 would be with a compression ratio higher than 2.5. I haven't actually seen its compressor map. I will definitely have to retune when I move back to vancouver, just to make sure that the load request caps out below the MAP limit when I'm at sea level pressure.

  37. #37
    Senior Member Two Rings
    Join Date
    Oct 15 2020
    AZ Member #
    570003
    Location
    Eagle River, Alaska

    Ko4-15 map is available at;
    http://www.turbo-mechanika.com/wp-co...KS-K04AUDI.pdf
    If you get into comparing different borg-warner turbos, it helps to understand their nomenclature for describing the compressor wheels. The compressor wheel on the Ko4-15 is designated as 2075 which translates to a 2" OD compressor exducer, and an inducer OD that is 75% of that exducer OD. For comparison, the K04 -20,-22,-23 turbos used on the factory 225hp version of the 1.8T (from TT) used a 10% larger 2275 compressor wheel.
    Looking at the Ko4-15 map, the highest efficiency island is 75%, a couple of points higher than most other KOx turbos and the 73% island covers a fairly large area. Limitations are that 2.5 pressure ratio is getting very close to the upper allowable shaft speed line and even at lower pressure ratio the somewhat small size of the compressor will run out of flow capacity sending the efficiency plummeting if you were to push much more than 22 pounds/hr flow.

    Any chance you want to distribute a compiled executable file of your tuner for use on windows? I tries making one from the .rs files on Github but my ancient win8.1 PC that I use for nefmoto tuning is not compatible with current visual studio releases needed to compile.

    Post some more .csv logs too when you get a chance, I had a look through the early ones you had posted.

  38. #38
    Established Member Two Rings
    Join Date
    Jul 07 2024
    AZ Member #
    991511
    Location
    Elk Valley, BC, Canada

    Thanks for the link to the map, that is going to be super helpful. I'm going to give mapping KFLDHBN directly to the 73% island a try. I know this will decrease actual boost, especially with my current altitude, but efficiency/longevity is way better than an extra couple HP.

    I will post some logs when I get home tonight before I go out for more logging/changes. I need to fix some slight retard in cylinder 2.

    While I won't distribute a release yet, here is a compiled executable of the latest code from GitHub (with a small change to re-enable the file picker so you aren't stuck with my folder structure).
    Keep in mind this is super WIP, 3D graphs are very broken, and the UI is very clunky. I've been meaning to fix the graphs but have been distracted implementing KWP2000 so I can add flashing functionality.
    https://filebin.net/qk1xrj977qe1ljhd

  39. #39
    Established Member Two Rings
    Join Date
    Jul 07 2024
    AZ Member #
    991511
    Location
    Elk Valley, BC, Canada

    Here are some logs, the latest log (log_typical-518AK_20250305_203616.csv) was done on the latest bin (8E0909518AK_368072_wml_tune.bin). Everything else is just for anyone curious.

    The TunerPro log has some comments by me in it, but they probably aren't super useful, and they aren't complete. Also the timing is copy pasted from the community tune for the low load rows, only the last row of KFZW is changed by me. Other than that everything is "custom" though.

    The TylerW XDF in the zip is modified because the post cat lambda disable map had the wrong address.

    Link: https://filebin.net/afoxakhy00b4kq8h

  40. #40
    Senior Member Two Rings
    Join Date
    Oct 15 2020
    AZ Member #
    570003
    Location
    Eagle River, Alaska

    Thanks- totally understand that Hextune is WIP, I just wanted to follow and see it developing. I did get the compiled .exe installed and it starts fine, great start and I am looking forward to more progress on it.

    Comparing my logging files yours, I still have a lot of work needed on my tune. I only have 90 octane available and I am getting knocking & ignition retard events under boost so I need to work further on fueling and base ignition timing to keep knock under better control. I also figured out that much of my current boost tune is riding (stock) KFLDHBN instead of altered LDRXN. Tunerpro's compare tool is great for identifying all the differences between two .bins.

    What is the post cat lambda disable map xdf location that you changed? There are several Kat maps, I did not spot which one you reassigned. I did see and made the recent location change for CWSLS (SAI diagnosis) that was called out in community thread, I just dont see anything similar for Kat maps. The 1.8 stage 1 Community thread post #776 also has another xdf with even more tables defined, seems to be an expanded fork from the TylerW xdf. It would be nice if Tunerpro (or hextune) could find and help manage merging of differences in xdf files, sort of like it can do for .bin files.

    Other changes I want to work on, alter KFNWSE - Map for intake camshaft advance. On our B6, VVT is implemented more just as an EGR emissions control feature but the stock 225 TT ECU tuning uses VVT for performance, retarding intake cam early under load to achieve faster boost spool up then advancing later when no longer needed. I would like to either try matching KFNWSE to the TT settings or else setup and log runs with the VVT advanced and then retarded, compare and try to determine optimal switchover points.

    I also still need to work on boost PID control. Either implement the full pre-control strategy described at Nefmoto by setting up KFLDRL and KFLDIMX or else just try adjusting the three PID term tables KFLDRQ0, KFLDRQ2, & KFLDRQ2 (these are the three separate Proportional, Integral, and Derivative term response maps). I understand that these all have row axis of 100, 200, 400, & 700 that are the mBar deviation of boost setpoint error, but any idea what the entries within the table represent? Description I have seen is that these are corrections that are made by each PID term for each 100mBar of boost setpoint error. Are these table entries in units of PID duty cycle? (table values are around 20-30. Or, are thes mBar adjustments that somehow feed together into another PID table(s)? The stock KFLDRQx table entries all look like they were crudely setup by audi without much PID tuning and could likely benefit from some tweaking to produce different response at each of the 100, 200, 400, & 700 setpoint deviation levels. It would just help if I better understood how these table entries influence the final PID control.
    Last edited by grayjay; 03-07-2025 at 09:30 AM.

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  


    © 2001-2025 Audizine, Audizine.com, and Driverzines.com
    Audizine is an independently owned and operated automotive enthusiast community and news website.
    Audi and the Audi logo(s) are copyright/trademark Audi AG. Audizine is not endorsed by or affiliated with Audi AG.