Sponsored

18 psi boost, E85, stock fuel pump. . .

engineermike

Well-Known Member
Joined
Jul 15, 2018
Threads
31
Messages
6,185
Reaction score
6,444
Location
La
Vehicle(s)
2018 GTPP A10
. . . and I didn't blow the engine. I set out to figure out exactly how the injector duty cycle air limit works, confirm it works, and make it work better. What I learned was that it works shockingly well. . . but "we" sabotage it and prevent it from working in various ways.

The final result is graphed below. This is a Whipple 2018 on the 3.0" pulley, GT500 55# injectors, and a single stock pump without even a BAP. You can see the throttle instantly opens, following the driver request, but very quickly responds by closing. It then modulates throttle, and lambda stays right at commanded even though fuel pressure drops to only 26 psi.

1760659302604-ie.webp


After a ridiculous amount of testing and logging, I figured out a lot about how the logic works. This is where PCMTec excels, because you can log countless "intermediate steps" and calculation outputs to help figure this stuff out. What it's doing is calculating the potential GDI and PFI injector flow at current pressures, temperatures, and rpm, adds them together and multiplies by desired A/F ratio to obtain a max airflow it can support. If this limit falls below the current airflow, it will modulate throttle until they match. In PCMTec, you can log the injector duty cycle airflow limit and see how it tracks against actual airflow. Below you can see the airflow limited by injector duty cycle in green. When the red (actual MAF) meets the green (injector-limited air flow), it modulates the throttle to ensure it doesn't flow more air than the injectors can support.

1760666634941-ab.webp


So, why do we hear about these coyotes going lean and popping pistons? That's because "we" sabotage the system and prevent it from doing its job.

Sabotage 1: This one is actually from Ford and I accidentally found it. As I said, it calculates port injector flow potential as a function of rpm, temp, and current dP. The dP is rail pressure minus calculated (MAF) or measured (SD) manifold pressure. The problem is that basically all PFI high slope pressure multiplier tables (auF30941) are only scaled down to 25 or 30 or 40 psi or even 55 psi, but never 0. So if the injector dP drops below the bottom of the scale, it can only assume the bottom multiplier holds true. In the case of a stock Mustang GT, the lowest high slope multiplier is .875 so even if the fuel pressure drops to zero it still thinks its getting 87.5% of the rated injector flow when it's really getting 0. This can be fixed by scaling the table auF30941 down to 0 psi, where the multiplier is also 0.

Sabotage 2: The GDI injector duty cycle safety factor (auF34946) has a misleading name in both HPT and PCMTec. It sounds like it's a limiter for the GDI injector duty cycle but it actually doesn't function this way at all. You can change this to 20% and you'll still get the same GDI injection as before. In reality, this factor is multiplied by the GDI injection potential flow when calculating the airflow limit. In aftermarket tunes I've seen this set to 1.05 to 1.25 or even higher. Doing this lies to the logic by telling it that the GDI injection can flow more than it can, thus preventing throttle from closing until after it's run out of injector. Stock is generally set to .95 but I raised mine to 1.0 to eek out a little more.

Sabotage 3: The TB model. . . and this was the toughest one to overcome. The issue here is that most aftermarket TB models are well calibrated in the normal usage range (<45 deg) because they use WOT start and end to force it to WOT beyond that. Good control at high angles is not usually necessary. However, to accurately control airflow at high flow rates requires an accurate TB model even up past 60 deg. Also, for example, the stock Whipple oval TB is factory calibrated out to 12 sq in flow area, which seemed reasonable and is much bigger than stock. However, in order to control load in the 1.5+ range, it needs to be accurately calibrated out to 30 sq in (!!!) range. This can be done by logging flow area request to see how high the scale needs to go, then calibrating the model out to that flow by tweaking the model until actual MAF matches desired air flow.

Furthermore...there is some sort of logic that slows down the response of the calculation. Setting auF34830 and 34831 to very low numbers speed up the response time of the air flow limit calculation.

I've tested this extensively after the above changes and it works extremely well, and it never allowed it to go lean. I'm truly impressed by the OEM logic on this.

Bonus: The P008a code comes in when lift pressure doesn't match demanded, but the stock setting is such that it has to fall below demand by 20 psi for 5 seconds. I've changed these to 5 psi for 1 second so I can get the early warning of a problem sooner. These are auF 36014 and 37359.

I hope you guys find this useful and it prevents a popped engine or two.

For clarification, the only time it hits around 18 psi is in the midrange when the fuel flow demand isn’t that high. Up top it’s cutting it back to 10-12 psi.
Sponsored

 
Last edited:

wingnutt

Well-Known Member
Joined
Oct 1, 2020
Threads
5
Messages
3,388
Reaction score
6,180
Location
@FL410
First Name
michael
Vehicle(s)
350R Procharged w/P1X
lol, I love your enthusiasm and/or know-how but you lost me at E85…I live just outside of the 9th most populous city in the US (Dallas) and there is zip, zero, nada E85 near me. Yes I could order it off a pallet, but I DRIVE my car from Valdsota, Ga to LA, Ca. and all points in between, so that’s a no-go 🤔
 
OP
OP

engineermike

Well-Known Member
Joined
Jul 15, 2018
Threads
31
Messages
6,185
Reaction score
6,444
Location
La
Vehicle(s)
2018 GTPP A10
lol, I love your enthusiasm and/or know-how but you lost me at E85…I live just outside of the 9th most populous city in the US (Dallas) and there is zip, zero, nada E85 near me. Yes I could order it off a pallet, but I DRIVE my car from Valdsota, Ga to LA, Ca. and all points in between, so that’s a no-go 🤔
It works just as well on gasoline. In fact, if it's set up right you can skimp on the fuel system all you want, and it will just ride the fuel system limitations safely all day.
 

wingnutt

Well-Known Member
Joined
Oct 1, 2020
Threads
5
Messages
3,388
Reaction score
6,180
Location
@FL410
First Name
michael
Vehicle(s)
350R Procharged w/P1X
It works just as well on gasoline. In fact, if it's set up right you can skimp on the fuel system all you want, and it will just ride the fuel system limitations safely all day.
lol, fair enough…how much do you charge, and when are you going to be a vendor 😬
 

ehazel

Well-Known Member
Joined
Oct 30, 2018
Threads
0
Messages
52
Reaction score
47
Location
Austin, TX
Vehicle(s)
2018 Mustang GT
What great info.

I'm beginning to play with e85 on the tuning side and recently started pushing over edge of the dw400 + bap. I was seeing a drop in pressure around 5-8 psi below commanded on the low side and was wondering why I wasn't seeing any signs of it in the wide bands. I had assumed it was just keeping the injectors open longer to offset the lower pressure.

I was already too scared about my psi drop to even think or wonder about cranking it up (or is it down in this case?) to 11 to see how the ecu handles it lol.

I now have to add this to the ever growing list of things to check out and adjust. Particularly your first and third sabotage points.
 
Last edited:

Sponsored

Pistol_91

Well-Known Member
Joined
Oct 25, 2023
Threads
12
Messages
1,381
Reaction score
1,405
Location
Clearwater
Vehicle(s)
2020 mustang GT
This is very interesting. Throttle is cut immediately when lift pressure drops. That's impressive. And like you said it holds lambda at commanded in doing so. This is good stuff. I will be trying this out soon.

Mike curious on why the pump DC is only at 40%? Shouldn't it be pushed to max DC in this situation? I wonder why it wasn't.

Also, mentioned below, do these tables exist in HPT? Do you mind pointing this out. Thanks for this! This is huge. This let's us self tuners really push the limits safely.

"Furthermore...there is some sort of logic that slows down the response of the calculation. Setting auF34830 and 34831 to very low numbers speed up the response time of the air flow limit calculation"
 
Last edited:
OP
OP

engineermike

Well-Known Member
Joined
Jul 15, 2018
Threads
31
Messages
6,185
Reaction score
6,444
Location
La
Vehicle(s)
2018 GTPP A10
...was wondering why I wasn't seeing any signs of it in the wide bands. I had assumed it was just keeping the injectors open longer to offset the lower pressure.
The gen3 will absolutely dynamically adjust injector PW as a function of fuel pressure, so if you're dropping some pressure at WOT it will compensate. That is, unless your tuner sabotaged this feature by using the "return style" injector data that injector sellers dole out. Note that the "return style" injector data should NEVER be used in a Gen3.

The logic will actually compensate PW a lot, all the way to max PW. The airflow limit calculation looks at the fuel flow available at the current pressure and max PW. That said, if the PW extends then the pressure may drop more, which reduces the calculation result and the limit comes down further. Ultimately, it finds a balance.
 
OP
OP

engineermike

Well-Known Member
Joined
Jul 15, 2018
Threads
31
Messages
6,185
Reaction score
6,444
Location
La
Vehicle(s)
2018 GTPP A10
Mike curious on why the pump DC is only at 40%? Shouldn't it be pushed to max DC in this situation?
Excellent observation and another fascinating subject for nerds like me. I noticed the same thing and went down that rabbit hole. The lift pump control is a whole other topic and once you realize how it works, you get even more impressed by Ford's ingenuity and disappointed by the dumb stuff the aftermarket replaces it with.

The lift pump control has three components: feed forward, feed back, and KAM. Feed forward is auf30958, which just returns voltage as a function of requested pressure and flow. Feed back is your basic PID feedback loop, with tunable gains. KAM is the learning component similar to LTFT.

My feed forward table is mostly just copied from a GT500, so right off the bat it's commanding voltage too low for a single stock pump. I'm basically testing the limits using the scenario of a dual pump system with one pump failed. Anyway, the PID feedback should attempt to fix this, but it has a max correction clip of 5 volts (auF32788), and every time it runs the feedback loop it references the feed forward table, pulling it back down again. There also could have been some KAM data left over from when it was running 2 pumps, which could also pull it down. I did two tests to prove all this. In one I raised the max correction clip from 5 to 10 and the pump duty cycle did increase from 40 to 44%. I also did some successive pulls and it actually got higher each time, indicating the KAM learning was starting to help out.

I actually started down the path of making more complicated changes to get more from the single pump in this case but then realized the only time it will ever run here is in a failure-state so maybe that time isn't well spent.

Also, mentioned below, do these tables exist in HPT?
I'm not sure if those exist in hpt. They can be defined using user-defined parameters, but that's over my head. A cross reference spreadsheet was posted in the forum some time back, but this is also available:

HPT To PCMTEC - Convert ECM TO auF
 

Pistol_91

Well-Known Member
Joined
Oct 25, 2023
Threads
12
Messages
1,381
Reaction score
1,405
Location
Clearwater
Vehicle(s)
2020 mustang GT
Excellent observation and another fascinating subject for nerds like me. I noticed the same thing and went down that rabbit hole. The lift pump control is a whole other topic and once you realize how it works, you get even more impressed by Ford's ingenuity and disappointed by the dumb stuff the aftermarket replaces it with.

The lift pump control has three components: feed forward, feed back, and KAM. Feed forward is auf30958, which just returns voltage as a function of requested pressure and flow. Feed back is your basic PID feedback loop, with tunable gains. KAM is the learning component similar to LTFT.

My feed forward table is mostly just copied from a GT500, so right off the bat it's commanding voltage too low for a single stock pump. I'm basically testing the limits using the scenario of a dual pump system with one pump failed. Anyway, the PID feedback should attempt to fix this, but it has a max correction clip of 5 volts (auF32788), and every time it runs the feedback loop it references the feed forward table, pulling it back down again. There also could have been some KAM data left over from when it was running 2 pumps, which could also pull it down. I did two tests to prove all this. In one I raised the max correction clip from 5 to 10 and the pump duty cycle did increase from 40 to 44%. I also did some successive pulls and it actually got higher each time, indicating the KAM learning was starting to help out.

I actually started down the path of making more complicated changes to get more from the single pump in this case but then realized the only time it will ever run here is in a failure-state so maybe that time isn't well spent.



I'm not sure if those exist in hpt. They can be defined using user-defined parameters, but that's over my head. A cross reference spreadsheet was posted in the forum some time back, but this is also available:

HPT To PCMTEC - Convert ECM TO auF
I see. Is there a way to reset the KAM learning for testing purposes? Or is it reset during a new flash?

Awesome thank you for posting all this. Helps a ton.
 
OP
OP

engineermike

Well-Known Member
Joined
Jul 15, 2018
Threads
31
Messages
6,185
Reaction score
6,444
Location
La
Vehicle(s)
2018 GTPP A10
I see. Is there a way to reset the KAM learning for testing purposes? Or is it reset during a new flash?
Not that I have found. You can turn off the adaptive in hpt or Pcmtec though.

However, if the feedforward table matches the pump (in my case it did not) then it will commands 100% if it needs to.
 

Sponsored

junits15

Well-Known Member
Joined
Jul 7, 2022
Threads
19
Messages
1,192
Reaction score
1,310
Location
MA
First Name
Justin
Vehicle(s)
2019 Mustang GT
. . . and I didn't blow the engine. I set out to figure out exactly how the injector duty cycle air limit works, confirm it works, and make it work better. What I learned was that it works shockingly well. . . but "we" sabotage it and prevent it from working in various ways.

The final result is graphed below. This is a Whipple 2018 on the 3.0" pulley, GT500 55# injectors, and a single stock pump without even a BAP. You can see the throttle instantly opens, following the driver request, but very quickly responds by closing. It then modulates throttle, and lambda stays right at commanded even though fuel pressure drops to only 26 psi.

1760659302604-ie.webp


After a ridiculous amount of testing and logging, I figured out a lot about how the logic works. This is where PCMTec excels, because you can log countless "intermediate steps" and calculation outputs to help figure this stuff out. What it's doing is calculating the potential GDI and PFI injector flow at current pressures, temperatures, and rpm, adds them together and multiplies by desired A/F ratio to obtain a max airflow it can support. If this limit falls below the current airflow, it will modulate throttle until they match. In PCMTec, you can log the injector duty cycle airflow limit and see how it tracks against actual airflow. Below you can see the airflow limited by injector duty cycle in green. When the red (actual MAF) meets the green (injector-limited air flow), it modulates the throttle to ensure it doesn't flow more air than the injectors can support.

1760666634941-ab.webp


So, why do we hear about these coyotes going lean and popping pistons? That's because "we" sabotage the system and prevent it from doing its job.

Sabotage 1: This one is actually from Ford and I accidentally found it. As I said, it calculates port injector flow potential as a function of rpm, temp, and current dP. The dP is rail pressure minus calculated (MAF) or measured (SD) manifold pressure. The problem is that basically all PFI high slope pressure multiplier tables (auF30941) are only scaled down to 25 or 30 or 40 psi or even 55 psi, but never 0. So if the injector dP drops below the bottom of the scale, it can only assume the bottom multiplier holds true. In the case of a stock Mustang GT, the lowest high slope multiplier is .875 so even if the fuel pressure drops to zero it still thinks its getting 87.5% of the rated injector flow when it's really getting 0. This can be fixed by scaling the table auF30941 down to 0 psi, where the multiplier is also 0.

Sabotage 2: The GDI injector duty cycle safety factor (auF34946) has a misleading name in both HPT and PCMTec. It sounds like it's a limiter for the GDI injector duty cycle but it actually doesn't function this way at all. You can change this to 20% and you'll still get the same GDI injection as before. In reality, this factor is multiplied by the GDI injection potential flow when calculating the airflow limit. In aftermarket tunes I've seen this set to 1.05 to 1.25 or even higher. Doing this lies to the logic by telling it that the GDI injection can flow more than it can, thus preventing throttle from closing until after it's run out of injector. Stock is generally set to .95 but I raised mine to 1.0 to eek out a little more.

Sabotage 3: The TB model. . . and this was the toughest one to overcome. The issue here is that most aftermarket TB models are well calibrated in the normal usage range (<45 deg) because they use WOT start and end to force it to WOT beyond that. Good control at high angles is not usually necessary. However, to accurately control airflow at high flow rates requires an accurate TB model even up past 60 deg. Also, for example, the stock Whipple oval TB is factory calibrated out to 12 sq in flow area, which seemed reasonable and is much bigger than stock. However, in order to control load in the 1.5+ range, it needs to be accurately calibrated out to 30 sq in (!!!) range. This can be done by logging flow area request to see how high the scale needs to go, then calibrating the model out to that flow by tweaking the model until actual MAF matches desired air flow.

Furthermore...there is some sort of logic that slows down the response of the calculation. Setting auF34830 and 34831 to very low numbers speed up the response time of the air flow limit calculation.

I've tested this extensively after the above changes and it works extremely well, and it never allowed it to go lean. I'm truly impressed by the OEM logic on this.

Bonus: The P008a code comes in when lift pressure doesn't match demanded, but the stock setting is such that it has to fall below demand by 20 psi for 5 seconds. I've changed these to 5 psi for 1 second so I can get the early warning of a problem sooner. These are auF 36014 and 37359.

I hope you guys find this useful and it prevents a popped engine or two.

For clarification, the only time it hits around 18 psi is in the midrange when the fuel flow demand isn’t that high. Up top it’s cutting it back to 10-12 psi.
wow this is an amazing finding, I'm continually impressed by what can be achieved using stock logic. Really great work, I know this must have taken forever to figure out. I will definitely be saving this thread for the future.

Always appreciate that you share your discoveries with the community rather than keeping them secret.
 
Last edited:
OP
OP

engineermike

Well-Known Member
Joined
Jul 15, 2018
Threads
31
Messages
6,185
Reaction score
6,444
Location
La
Vehicle(s)
2018 GTPP A10
Something else I wanted to point out in the log is the red and yellow lines in the bottom graph. The red line is the port injector pulsewidth maximum (another topic alltogether), while yellow is the actual pulsewidth for the #1 cylinder. You can see the injector is right at its limit so lambda is actually being "controlled" by the throttle body. Pretty awesome, if you ask me.

1760717074598-qs.webp
 

Pistol_91

Well-Known Member
Joined
Oct 25, 2023
Threads
12
Messages
1,381
Reaction score
1,405
Location
Clearwater
Vehicle(s)
2020 mustang GT
Something else I wanted to point out in the log is the red and yellow lines in the bottom graph. The red line is the port injector pulsewidth maximum (another topic alltogether), while yellow is the actual pulsewidth for the #1 cylinder. You can see the injector is right at its limit so lambda is actually being "controlled" by the throttle body. Pretty awesome, if you ask me.

1760717074598-qs.webp
Yes, it's impressive what you can do with the electronic TBs.
This is one of the biggest safeties you can implement IMO.
Sponsored

 
 








Top