Login Register

Ignition advance and dwell time on a Denso ECU

How to go faster, stop quicker, and turn harder. Chips, exhaust, larger turbos, bigger/slotted/drilled rotors, high performance brake pads, manual boost controllers, performance shocks/struts/springs, airbox mods and more! Also discussion on HID and Xenon lights, aftermarket foglights and other exterior lighting.
Post Reply
dikidera
Posts: 1304
Joined: 15 August 2022
Year and Model: S60 2005
Location: Galaxy far far away
Has thanked: 67 times
Been thanked: 175 times

Ignition advance and dwell time on a Denso ECU

Post by dikidera »

So I plan to attempt the 170 -> 188(claimed) horsepower increase of my 2.4i naturally aspirated engine. I actually already do have the file, but I will do some nice logging. Even 10hp gain if real would be nice.

The first step is spark advance, now the file that I have increases the ignition advance by only 2 degrees in the map. Now purely based on ballpark this only gives around 1-2% of power per degree, now maps in Denso ECUs are not exactly as described here, they have a multiplier associated which is used for interpolation so changing the number by 1 may mean that the actual change is much higher, but I have not tested yet.
Capture2.PNG
Capture2.PNG (34.72 KiB) Viewed 3998 times
This is one ignition map of 7 total that are usually modified for the gains, of course if there are more maps I can't say.
This map and fuel are the once usually tuned, perhaps by BSR also. Now 50 degrees of spark advance is mighty high, these are actually offset by predetermined knock compensation and also per cylinder knock compensation aka retarding. So this is just the Base Spark Advance variable.
Capture.PNG
Capture.PNG (23.73 KiB) Viewed 3998 times
Now this is a map I discovered that is for dwell time, or basically how long the coils charge
The data is in milliseconds, but this is not how it works, see how at 13.7v on the left the whole row is 2.26 ms? It's higher, the map uses a special interpolation factor so with RPM increase the dwell time increases also, only if the voltage does not go higher(which it will).
For instance at 6000 RPM at 13.7v the actual dwell time will be 2.94ms if I remember correctly from my emulation and stepping of the ECU code.

Higher dwell time = more spark but also more current and more heat from coil. Generally this would do something if the original tune did not produce complete combustion of the air/fuel mixture. But again, higher dwell time could cause the death of coils but also the ECM if the current is drawn straight from the ECM.

With all this said my current HP estimate has always been the infamous MAF * 1.25 = HP estimate. At 6200rpm I measured only 121 grams of air per second, which equates to 151hp at the crank and prolly 120 or 130 at the wheels. This seems mighty low to be honest. The theorietical limit of the engine is 135g/s to reach 168hp at the crank.

I will try and increase the base spark advance just like how it is in the BSR tuned file(well, claimed to be by bsr) and then also up the dwell time slightly. Fuel has already been increased and if it is to be believed, I get a rich mixture of around 0.85AFR when in high rpm.

The last issue is my accelerator pedal sensor, at 57% accelerator pedal I have a claimed throttle opening of 99% might be real, might not be. But this is still a very low value of the accelerator. I wish to increase the pedal sensor value.

User avatar
volvolugnut
Posts: 6225
Joined: 19 January 2014
Year and Model: 2001 V70
Location: Oklahoma USA
Has thanked: 927 times
Been thanked: 1000 times

Post by volvolugnut »

This is interesting. Please continue to report on tests and results.
Start a fund in case you have a massive failure.
Trivia: I remember reading about disappointing results of early runs with the new 426 Hemi engine in drag racing. Then someone (Don Gartlts?) tried to increase the timing from about 30 degrees up to around 50 degrees. They thought they would blow the engine. Instead power increased greatly and the engine became famous.
volvolugnut
The Fleet:
Volvo: 2001 V70 T5, 1986 244DL, 1983 245DL, 1975 245DL, 1959 PV544, multiple Volvo parts cars.
Mercedes: 2001 E320, 1973 280, 1974 280C, 1989 300E, 1988 300TE, 1979 300TD, parts cars.
2009 Smart Passion
Ford: 1977 F350, 1964 F150 (2), 1938 Tudor Sedan
Farmall tractors: 1956 400 Diesel, 1946 A
And others.

dikidera
Posts: 1304
Joined: 15 August 2022
Year and Model: S60 2005
Location: Galaxy far far away
Has thanked: 67 times
Been thanked: 175 times

Post by dikidera »

Ok, so I logged the spark advance in Park and it's a whopping 62 degrees at 3000rpm while Knock compensation was 0. I find this hard to believe tbh.

I need to build a tool to monitor these values more accurately.

There are several ECU params
Spark Base
Spark advance total
Knock compensation total for all cylinders and per cylinder knock compensation.

I will have to log all these params to see what happens.

User avatar
volvolugnut
Posts: 6225
Joined: 19 January 2014
Year and Model: 2001 V70
Location: Oklahoma USA
Has thanked: 927 times
Been thanked: 1000 times

Post by volvolugnut »

What little I know, says you can have lots of advance without knock when there is no load. Old engines (1970's) would not knock until you applied some throttle like up a hill.
volvolugnut
The Fleet:
Volvo: 2001 V70 T5, 1986 244DL, 1983 245DL, 1975 245DL, 1959 PV544, multiple Volvo parts cars.
Mercedes: 2001 E320, 1973 280, 1974 280C, 1989 300E, 1988 300TE, 1979 300TD, parts cars.
2009 Smart Passion
Ford: 1977 F350, 1964 F150 (2), 1938 Tudor Sedan
Farmall tractors: 1956 400 Diesel, 1946 A
And others.

dikidera
Posts: 1304
Joined: 15 August 2022
Year and Model: S60 2005
Location: Galaxy far far away
Has thanked: 67 times
Been thanked: 175 times

Post by dikidera »

You are correct it was in a no load scenario. I did it while in Park.

dikidera
Posts: 1304
Joined: 15 August 2022
Year and Model: S60 2005
Location: Galaxy far far away
Has thanked: 67 times
Been thanked: 175 times

Post by dikidera »

I have modified the following things but not yet flashed:

In the 170hp version, the MAF scaling is different, the Intake Airflow calculations are also different, so I've incorporated those in my bifuel file. I have modified the engine fan start temp from a toasty 105c to a 99-100c, but this is untested of course.

I will also up the timing by the 2 degrees I've seen in the purported 188hp files. Although useless I might slightly up the dwell time, this might not do anything but dump more heat and cause premature failure of the coils, but whatever.

Now I have a dilemma, the accelerator I have is physically limited by a bump to 74%, turbo versions go up to 84 or 86% this is good because then the ECU accesses more rows and tables. Problem here is that I need something like a pedal commander, but those are fairly expensive, though are robust.
The other option is to write a detour in the function that processes the analog and pwm signal to scale the value a bit, but also do it in a way that doesn't affect idle. So something like if(analog > 15%, add a multiplier of something) but also limit it to say 95% or something like that. I don't want to trigger a dtc or something.

The detour method however is difficult to the nature of the SH2 architecture. I have a lot of space to write code, but it's detouring that is difficult because of the PC relative addressing. Additionally this is not in the map flash chip 29LC, but main ECU code, which I am kind of hesitant to modify. As any interrupt in the flashing of the data will leave me with a bricked ecu and I have to then open the ECU to flash the chip directly. Additionally any mistake in the code could corrupt the execution flow e.g out of bounds access or whatever.

The other thing is that the original throttle map multipliers still continue to close the throttle as engine speed increases, I do not know why but I might fix that.
However the ETM still reports 99% open throttle or WOT even as the maps dictate differently. Not sure what that is about, but it's not related to failure as that is what the ECU commands.

So I really wonder what is the other purpose of these throttle multipliers.

User avatar
volvolugnut
Posts: 6225
Joined: 19 January 2014
Year and Model: 2001 V70
Location: Oklahoma USA
Has thanked: 927 times
Been thanked: 1000 times

Post by volvolugnut »

I have no idea, but throttle opening limits (closing as RPM increases) may be the way used to limit power in stock program?
Thanks for reporting back.
volvolugnut
The Fleet:
Volvo: 2001 V70 T5, 1986 244DL, 1983 245DL, 1975 245DL, 1959 PV544, multiple Volvo parts cars.
Mercedes: 2001 E320, 1973 280, 1974 280C, 1989 300E, 1988 300TE, 1979 300TD, parts cars.
2009 Smart Passion
Ford: 1977 F350, 1964 F150 (2), 1938 Tudor Sedan
Farmall tractors: 1956 400 Diesel, 1946 A
And others.

dikidera
Posts: 1304
Joined: 15 August 2022
Year and Model: S60 2005
Location: Galaxy far far away
Has thanked: 67 times
Been thanked: 175 times

Post by dikidera »

This is it here, the original 170hp map for the throttle. Actually there are 4, 2 for Auto gearbox and 2 for manual. I believe one of the two maps for either is for idle(Park; but it's a bit flag which I have not yet confirmed what it signifies but it's a flag that determines not just throttle maps, but also timings maps and other things) and when the car is driving

Image

Btw, the value 86 is arbitrary, in actuality I am not sure what the actual values are. But you can see that as the rpms rise and the pedal is pressed almost fully, the throttle closes slightly.

dikidera
Posts: 1304
Joined: 15 August 2022
Year and Model: S60 2005
Location: Galaxy far far away
Has thanked: 67 times
Been thanked: 175 times

Post by dikidera »

Sorry for the double post, but I just finished flashing my changes to the maps.

What I did:
MAF scaling same as 170hp
Intake Airflow Calculation map also same as 170hp
Fan turn on when T=99C from a previous high of 105c(not verified as it's cold and my engine could not go above 88C)
Dwell Time increased across all ranges by an insignificant amount, around 0.1ms. And again before people say pointless, it was just a test of mine as I play around with the engine tuning.
Throttle Maps increased similarly to how BSR do it, well not fully though I still went conservative. It seems the values of the 4 throttle maps is Throttle Area Air mass, however BSR increase it to an absurd value of 342g/s which no NA engine can flow, but I suspect they did this for fueling purposes.
Denso DHA parameter 200B which is missing and is not populated by VIDA has been discovered by me to show the status of the Fuel Type in BI-FUEL vehicles. This important parameter determines which maps are used for Petrol and CNG/LPG for quite a lot of things, from throttle to ignition timing and VVT timing.

Ignition Advance has not been touched yet as I figure out how exactly things will change e.g knock and how to compensate for fueling. The theory is that the maximum performance of Advancing ignition timing is to lean out the upper RPM which unfortunately will cause knock at some point.

Later on as I study more I will see if retarding VVT a bit sooner at high RPM will net power or net decrease it.

Addendum:
After driving the car for ~100km with the tune I have the following to report. The sound from the engine is different at low RPM, I cannot for sure say what it is, it could be lugging or maybe I am just imagining things. But I did command the throttle to WOT at pretty much low RPM so it's possible.
But the car is definitely faster in my opinion. My peak MAF was 128g/s at which puts me at 160hp@6000rpm, it could be that I have a vacuum leak and there is more air entering, or it could be that I have reached the peak of the volumetric efficiency of my engine. Or maybe intake/exhaust restriction. Let's not forget the bi-fuel models come with TWO catalytic converters. Note that with my previous changes I only logged peak 121g/s.

However I cheated a bit, I filled up 10l of 100 octane to observe its effect on timing and I was surprised to se no knock compensation at all even at 6000rpm.

Addendum 2:

The ignition maps pictured above are wrong, I have to substract 30 from them to reach the real value. Turns out DHA was wrong and I had to look up how it reports the data via OBD2. The factor then becomes timing * 72/255 - 30. In OBD this is done as timing * 8 + timing * 256 / 128 + 68. And then it's up to the app to do final calculation which is timing / 2 - 64

This puts my car right at the MBT edge probably and even beyond with max ignition advance at WOT and high rpm at around 32 degrees btdc. MBT is found via dyno.

Addendum 3: My change for the fan temp did not work, means this is not the correct location for the temp check.
Addendum 4: The fan temp location is probably correct, however it's a value that is slightly offset by 20 degrees celsius. See, the IAT has two maps involved for figuring out temp, one is used for the engine fan only and the other for everything else in the ECU. I altered a fan temp related to the max operational safety temp which is 125c(at which point the DIM will finally display this true value) and apparently lowered it to 120c, not a problem as these aluminum blocks should never go near these temps.

RobsS40
Posts: 26
Joined: 12 August 2023
Year and Model: 2006 S40 T5 AWD
Location: Mid Atlantic, USA
Has thanked: 2 times
Been thanked: 7 times

Post by RobsS40 »

Sorry if this is a dumb question, but what software are you using to interface with the ECU, edit, re-flash?

Post Reply
  • Similar Topics
    Replies
    Views
    Last post