Page 1 of 3 123 LastLast
Results 1 to 10 of 23

Thread: IBPW {B4005} {B3701} correlation

  1. #1
    Lifetime Member 5.7ute's Avatar
    Join Date
    Oct 2006
    Posts
    1,840

    Default IBPW {B4005} {B3701} correlation

    Finally had some spare time to "prove" the make up of the GM.IBPW pid. What I did was fit the roadrunner, start the car & let it idle. While monitoring the GM.IBPW pid I increased the values in the {B3701} voltage/manvac table while in emulation mode & noted a corresponding increase in the GM.IBPW pid.
    So from this we can ascertain that IBPW is contrived from a calculated value plus the offset.
    Next I zeroed out the {B4005} short pulse adder table. While once again monitoring GM.IBPW I started adding a value of 1.0ms starting from 1.8ms & working my way up the table. While the GM.IBPW pid was reading 3.1ms at idle, populating the 2.6ms cell in {B4005} caused a surge in the IBPW. Showing that the {B4005} table also runs from the calculated value BEFORE the offset is added.
    While I have been stating for a while that this is the case, I am glad I have finally proven to myself that this is correct.
    Also note that any transient fuelling addition (wall wetting etc) is also part of the GM.IBPW pid & must be removed if trying to solve backwards for airmass.
    The Tremor at AIR

  2. #2
    Lifetime Member mr.prick's Avatar
    Join Date
    Nov 2006
    Posts
    3,195

    Default

    Good work.

    I know you've been talking about proving this for a while.
    Your explanation makes it look easy why did this take so long?

    On a side not I've never noticed any changes in AFR with RTACS & {B4005}.
    {B3701} is another story, in OL fueling can be controlled w/RATCS & BEN factor.

    Now if only we could log PW w/o all the adders/offsets so we could build new offsets.
    I guess we could make a couple of lookup PIDs and spreadsheets.
    512k RoadRunner Firmware 12.14R
    FlashScan V2 Bootblock V2.07.04 Firmware V2.07.22 EFILive V7.5.7 (Build 191) V8.2.1 (Build 181)
    LC-1 WBO2

    _________________________________________________

  3. #3
    Lifetime Member 5.7ute's Avatar
    Join Date
    Oct 2006
    Posts
    1,840

    Default

    I already use a calc.pid for the IPW without the offsets/adders.
    CALC.IPW=(GM.DYNCYLAIR_DMA/GM.AFR/GM.INJFLOW)*1000
    This I then link to B4005 in the cal_link.txt file.
    I was trying to prove this all with calculations, but the noise in the scanner could only get it close. Not close enough to prove though.
    Marcin had suggested the low tech approach a while ago, but I got sidetracked with some .cax files I was working on. Luckily I didnt have much on in the last few days & worked out exactly how I would go about it.
    Since by default B4005 is linked to IBPW, RTACS will be raising the wrong cells to show a rise in the AFR. Also I found that it tends to "bounce" the IBPW. I will be looking deeper into the cause of this.
    EDIT: I also have to look at whether B4005 is added to a default pulsewidth value, which I am sure it is.
    The Tremor at AIR

  4. #4
    Joe (Moderator) joecar's Avatar
    Join Date
    Apr 2003
    Posts
    28,403

    Default

    Mick, good job researching this...

  5. #5
    Lifetime Member mr.prick's Avatar
    Join Date
    Nov 2006
    Posts
    3,195

    Default

    Can {CALC.CYLAIR} be used in place of {GM.DYNCYLAIR_DMA}?

    Is {GM.INJFLOW} derived from the IFR table {B4001}?
    Can a calc_pid be used in place of it, something based off fuel pressure?

    It would be nice to be able to log more PIDs w/the RR.
    I wonder if it's possible to log directly from the RR.
    512k RoadRunner Firmware 12.14R
    FlashScan V2 Bootblock V2.07.04 Firmware V2.07.22 EFILive V7.5.7 (Build 191) V8.2.1 (Build 181)
    LC-1 WBO2

    _________________________________________________

  6. #6
    Lifetime Member 5.7ute's Avatar
    Join Date
    Oct 2006
    Posts
    1,840

    Default

    Quote Originally Posted by mr.prick View Post
    Can {CALC.CYLAIR} be used in place of {GM.DYNCYLAIR_DMA}?

    Is {GM.INJFLOW} derived from the IFR table {B4001}?
    Can a calc_pid be used in place of it, something based off fuel pressure?

    It would be nice to be able to log more PIDs w/the RR.
    I wonder if it's possible to log directly from the RR.
    Yes, {CALC.CYLAIR} can be used when using the maf, but only when you are over the dynair prediction value {B0120}. Otherwise there could be a small error if the values dont match.
    As for the calc pid for injector flow related to fuel pressure it would not be usable, since you want to use the same values as the pcm is seeing. If however you were back solving airmass you would use this value & your wideband AFR to calculate it. (along with GM.IBPW- offsets)
    The Tremor at AIR

  7. #7
    Joe (Moderator) joecar's Avatar
    Join Date
    Apr 2003
    Posts
    28,403

    Default

    Mick,

    So would this be how we think the PCM is calculating IPW and IBPW:

    Code:
    IFR = lookup(B4001);
    
    IPW = airmass / AFR / IFR * 1000;
    
    if IPW < B9021 then
        IPW = B9021;
     
    if IPW < B4003 then  
        IPW = B4004;
    
    if IPW < B4006 then 
        IPW = IPW + B4005;
    
    IBPW = IPW + B3701 + TF;
    Did I get IPW and IBPW in the right places...?

    See posts #6, #13: Injector-Base-Pulsewidth

    Were there any other threads specifically on this topic, I'm trying to link them together...?
    Last edited by joecar; August 11th, 2010 at 05:51 PM.

  8. #8
    Lifetime Member 5.7ute's Avatar
    Join Date
    Oct 2006
    Posts
    1,840

    Default

    That's right Joe, apart from the IPW needing to be turned into ms.
    We can also now expand to

    IFR = lookup(B4001);

    IPW = airmass / AFR / IFR *1000;

    if IPW < B9021 then
    IPW = B9021;

    if IPW < B4003 then
    IPW = B4004;

    if IPW < B4006 then
    IPW = IPW + B4005;

    IBPW = IPW + B3701 + TF;
    The Tremor at AIR

  9. #9
    Lifetime Member
    Join Date
    Jul 2005
    Posts
    702

    Default

    guys, cant you post this in form that people that dont remember every table number can read?

  10. #10
    Lifetime Member 5.7ute's Avatar
    Join Date
    Oct 2006
    Posts
    1,840

    Default

    HaHaHa, I had a cheat sheet in front of me with table numbers & functions so I could follow it.
    IFR = lookup(B4001);

    IPW = airmass / AFR / IFR *1000;

    if IPW < B9021(minimum transient pulsewidth) then
    IPW = B9021;

    if IPW < B4003(minimum pulsewidth) then
    IPW = B4004(default pulsewidth);

    if IPW < B4006(small pulse threshold) then
    IPW = IPW + B4005(small pulse adder);

    IBPW = IPW + B3701(voltage/manvac offset) + TF(transient fuelling modifiers);
    The Tremor at AIR

Page 1 of 3 123 LastLast

Similar Threads

  1. small pulse adjust {B4005}
    By acric5 in forum Gen III V8 Specific
    Replies: 8
    Last Post: October 22nd, 2009, 12:48 PM
  2. (B3701) Injector Pulse Width values for SVO 42# Injectors
    By DrkPhx in forum General (Petrol, Gas, Ethanol)
    Replies: 0
    Last Post: September 13th, 2009, 01:56 AM
  3. crankshaft correlation
    By pullincrazy88 in forum Vortec V6/V8 Specific
    Replies: 1
    Last Post: May 16th, 2009, 02:04 AM
  4. MAP/TP Correlation
    By DrX in forum General (Petrol, Gas, Ethanol)
    Replies: 8
    Last Post: February 10th, 2009, 05:13 PM
  5. B4005 Small Pulse Adjust How does GM create this table?
    By onfire in forum Custom Operating Systems
    Replies: 44
    Last Post: December 2nd, 2008, 12:39 PM

Posting Permissions

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