PDA

View Full Version : What PID to scan commanded afr & injector duty cycle for e78



wesam
August 7th, 2012, 02:31 AM
What PID to scan commanded afr & injector duty cycle for e78 ?

joecar
August 7th, 2012, 03:34 AM
Start by trying IBPW1/2 and INJDC1/2... those may or may not work for E78.

wesam
August 7th, 2012, 03:53 AM
I Tryed both
its not working they are giving higher values more than 100% even in e38 i havr the same problem
And what about commanded afr ?

joecar
August 7th, 2012, 06:51 AM
Try GM.INJPWB1/2.

wesam
August 18th, 2012, 06:14 AM
Joe i tried those also they are not valid in E38
I need to log the duty cycle urgently because I'm going to tune FI car

joecar
August 18th, 2012, 09:03 AM
For E38 there is a set of pids named E38.xxxx (same with E67), I'll have to look at which ones are the correct ones...

in the meantime, can you find which injector pulsewidth pid gives sane values (e.g. 2ms at idle and under 20ms at 6000 rpm).

wesam
August 18th, 2012, 11:04 AM
The pids for pulse width are GM.INJPWb1 and GM.INJPWB2

joecar
August 18th, 2012, 08:54 PM
Are there any calc pids using those...? If not we can create a pair.

wesam
August 18th, 2012, 10:18 PM
Joe I don't know if there is any
Can you help me create the needed pids ?

joecar
August 19th, 2012, 01:23 PM
Ok, give me a day or two...

wesam
August 19th, 2012, 01:24 PM
Thanks a lot :)

joecar
August 20th, 2012, 02:27 PM
The pids for pulse width are GM.INJPWB1 and GM.INJPWB2Copy attached calc_pids.txt to folder My Documents\EFILive\V7.5\User Configuration

Then select the following pids:
- GM.INJPWB1 and GM.INJPWB2,
- CALC.INJDCB1 and CALC.INJPWB2,

and post a log...

sanity check:
GM.INJPWB1 and GM.INJPWB2 should range up to ~16 ms at 6000 rpm,
at which time CALC.INJDCB1 and CALC.INJDCB2 should be somewhere around ~80%.

wesam
August 21st, 2012, 12:28 PM
Thaaaaaaaaaanks very much Joe its working :)
should i replace the calc_pids file eac time i update my software ?
I attached a log for E38

joecar
August 21st, 2012, 01:56 PM
Yes, you will need to save the calc_pids.txt file and any time you do a software update copy it back to that folder.

wesam
August 21st, 2012, 10:01 PM
Joe are you sure that this pid is accurate and will work with aftermarket bigger injectors because in one of my old logs the IPW was 78 ms not 16 ms as you stated before

joecar
August 22nd, 2012, 07:05 AM
If GM.INJPWB1 and GM.INJPWB2 are the correct injector pulsewidths that the ECM is commanding, then the calc pids are correct, they use the well known duty cycle formula.





*CLC-00-011
% 0 100 .1 "{GM.INJPWB1}*{SAE.RPM}/1200"

*CLC-00-012
% 0 100 .1 "{GM.INJPWB2}*{SAE.RPM}/1200"


*PRN - Parameter Reference Numbers

CALC.INJDCB1 F011 CLC-00-011 % Fuel "Injector Duty Cycle Bank 1"
CALC.INJDCB2 F012 CLC-00-012 % Fuel "Injector Duty Cycle Bank 2"

joecar
August 22nd, 2012, 07:13 AM
The 78 ms you saw would have been at a lower rpm...

the formula for maximum injector pulsewidth: maxpw [ms] = 2*60*1000/rpm

from this formula you can see that maxpw drops as rpm increases (so at 6000 rpm, maxpw is 20 ms);


note that 78 ms = 2*60*1000/1539 (i.e. 78 ms would be the maximum pulsewidth at 1539 rpm), so you could have seen 78 ms at this rpm or below.

wesam
September 18th, 2012, 05:00 AM
Joe I need PID to scan the commanded air fuel ratio
I tried E78.AFRATIO_DMA but its not working

joecar
September 18th, 2012, 08:45 AM
Hi wesam,

what does it do, does not log that pid...?

does this happen when you log from V7 scantool or from V2 BBx...?

I take it your on V7 build 211 and V8 build 203.

wesam
September 18th, 2012, 09:16 AM
I'm on V7 build 211 and V8 build 203
Its showing wrong numbers when logging
check this log
13912

joecar
September 18th, 2012, 12:45 PM
Does E38.AFRATIO_DMA work (by any chance)...?

I pm'd Tech Support to see what they say.

wesam
September 18th, 2012, 03:00 PM
I tried E38.AFRATIO_DMA it is working with E38 but it is not workingwith E78

wesam
September 19th, 2012, 03:55 PM
Any updates ?

joecar
September 20th, 2012, 02:29 AM
Not yet.

joecar
September 20th, 2012, 02:36 AM
I'm on V7 build 211 and V8 build 203
Its showing wrong numbers when logging
check this log
13912E78.AFRATIO_DMA shows 9.06 throughout the log... what is the stoich AFR set to in the tune file (can you post the tune file...?)...?

Blacky
September 20th, 2012, 10:02 AM
Have you tried logging SAE.LAMBDA?
Regards
Paul

wesam
September 20th, 2012, 10:31 AM
No i did not
but i need to log the commanded afr to make sure the pe is engaged because E78 is different than E38 it depends on load in some tables for pe enable
i don't want to risck this engine because its FI

Blacky
September 20th, 2012, 10:47 AM
SAE.Lambda can be used to obtain the commanded AFR. You have to apply a calculation involving the stoichiometric value of the fuel being used to get the actual AFR.
What I was asking was, does that PID actually return correct Lambda values or does it too flatline like the AFR PID?

It is called Lambda, but I think the value it returns is actually EQRatio. Here's the SAE definition for that PID, it is extremely confusing.
Fuel systems that utilize conventional oxygen sensor shall display the commanded open loop F/A equivalence ratio (also known as lambda) while the fuel control system is in open loop. EQ_RAT shall indicate 1.000 while in closed-loop fuel. Fuel systems that utilize wide-range oxygen sensors shall display the commanded F/A equivalence ratio (lambda) in both open-loop and closed-loop operation.
NOTE:
- A/F Equivalence Ratio (AFR) = Stoichiometric A/F Ratio) / (Actual A/F Ratio); > 1 is rich, < 1 is lean.
- Lambda (λ) = (Actual A/F Ratio) / (Stoichiometric A/F Ratio); > 1 is lean, < 1 is rich.
- Lambda is the inverse of A/F equivalence ratio.
- F/A Equivalence Ratio (FAR) = (Stoichiometric F/A Ratio) / (Actual F/A Ratio); > 1 is lean, < 1 is rich.
- Lambda is the same as F/A equivalence ratio.

To obtain the actual A/F ratio being commanded, multiply the stoichiometric A/F ratio by the inverse of the equivalence ratio (lambda). For example, for gasoline, stoichiometric is a ratio of 14.64:1. If the fuel control system was commanding an 0.95 LAMBDA, the commanded A/F ratio to the engine would be 14.64 * 0.95 = 13.9 A/F.
I think what that is trying to say is that the value returned by the PID SAE.LAMBDA is what EFILive calls EQRatio (and because of that, this PID is now called SAE.EQ_RAT in the V8 scan tool software).
What EFILive calls EQRatio is the simple inverse of what EFILive calls Lambda.


Regards
Paul

joecar
September 20th, 2012, 12:47 PM
wesam,

if the pid SAE.LAMBDA works then I can edit your calc_pids.txt to create a BEN pid...

post a log containing SAE.LAMBDA and your wideband.

joecar
September 20th, 2012, 12:52 PM
wesam,

note that you can log all the EXT.WO2xxx pids for free (costs no pid channels)...

for your calc pid I would like to use EXT.WO2LAM1, so please log this in addition to SAE.LAMBDA (I'll figure out if it is Lambda or equivalence ratio by looking at it).

wesam
September 20th, 2012, 08:31 PM
Thanks Paul and Joe I will post log ASAP
One last problem i have with E78
when i select an area in the log it should mark the same area in the high octane or low octane spark tables in tune tool but it does not
I tried to log E78.APCYL_DMA and GM.CYLAIR_DMA without luck

joecar
September 21st, 2012, 06:51 AM
scantool/tunetool linking (if you enabled in the tunetool properties) only occurs if you logged the link pids mentioned on the axises of the table in the tunetool...

if the table axes don't mention the link pids you want, you can edit cal_link.txt (in the folder C:\Program Files\EFILive\V7.5\Configuration)

[ locate the table by it's id, and add the pids you want (separating with a comma , ) ]

( if you look in calc_link.txt you can see examples of multiple link pids on tables axes ).

joecar
September 21st, 2012, 06:58 AM
For example:

in calc_link.txt you will find:



;High octane spark map
B5913.ROW=SAE.RPM
B5913.COL=GM.DYNCYLAIR_DMA,GM.CYLAIR_DMA,GM.DYNCYL AIR,CALC.CYLAIR

;Low octane spark map
B5914.ROW=SAE.RPM
B5914.COL=GM.DYNCYLAIR_DMA,GM.CYLAIR_DMA,GM.DYNCYL AIR,CALC.CYLAIR


you would edit those like this (don't forget the commas):



;High octane spark map
B5913.ROW=SAE.RPM
B5913.COL=GM.DYNCYLAIR_DMA,GM.CYLAIR_DMA,GM.DYNCYL AIR,CALC.CYLAIR,E78.APCYL_DMA,GM.CYLAIR_DMA

;Low octane spark map
B5914.ROW=SAE.RPM
B5914.COL=GM.DYNCYLAIR_DMA,GM.CYLAIR_DMA,GM.DYNCYL AIR,CALC.CYLAIR,E78.APCYL_DMA,GM.CYLAIR_DMA