Page 3 of 3 FirstFirst 123
Results 21 to 30 of 30

Thread: Lean Cold Start Problem

  1. #21
    EFILive Developer Site Admin Blacky's Avatar
    Join Date
    Mar 2003
    Posts
    9,505

    Default

    Actually there is a bug in the GM.RUN_TIME PID (RUNTIME in BBL). It is incorrectly being multiplied by 160. It should display exactly the same value as SAE.RUNTM. I will fix it in the next update.

    It is difficult to accurately link table B1832, since both those PIDs will reset to zero when the engine start cranking. The lookup used by the ECM for that table will most likely be a saved value of the previous engine runtime, not the current engine run time (as returned by those two PIDs). So realistically there should not be any link PID defined for the time axis on that table. (Unless there was a PID that simply defined the previous engine runtime).

    Regards
    Paul

    Quote Originally Posted by Blacky View Post
    It looks like the link PIDs are possibly displayed back to front in the EFILive tuning Tool.
    Regards
    Paul
    Before asking for help, please read this.

  2. #22
    Lifetime Member swingtan's Avatar
    Join Date
    Jul 2007
    Posts
    1,589

    Default

    Thanks Paul, that should help a bit.

    The thing that interests me is that the timer in B0138 runs from 0 to 43200 and the PID is SAE.RUNTM. If this counts in "seconds from engine start" then this table lasts for 12 hours. If on the other hand it should be linked to GM.RUN_TIME, which increments by 160, then this tale lasts for 4.5 minutes.

    Here's my thinking on this.

    If the table is used to command a specific Lambda value only for cranking, then a table lasting up to 12 hours seems correct. the longer it's been since the car last ran ( over night being 12 hours ) the richer you probably want the cranking mixture. If it's been off for 5 min while you grab a coffee, you probably want a much leaner mixture.

    If on the other hand it is actually meant to manage fuel for cranking and for a period of time after that, then the 4.5 minute time seems more logical. After this time fueling would be managed by B0141 / B0143 "OL Normal Commanded Fuel". Having B0138 last for 12 hours in this case just doesn't seem right.

    The testing I've done on B1832 shows that any table values after the first second, simply make no difference at all. I've set the values after the first couple of seconds between "0" and "8" and there is no change to how the car behaves on start up. I think there are 3 possibilities here...

    • If these 2 tables were only "displayed" wrongly in the TuneTool, then they should "behave" correctly in the ECM.
    • If the TuneTool is programing the values incorrectly back into the ECM, then the ECM behaviour should follow the error.
    • If the TuneTool is displaying correctly and is programing correctly, but the bug is that the ECM has the tables messed up, then the ECM behaviour will again follow the error.


    Given that the ECM is showing signs of this problem, I'm thinking it's the second or third option.


    Joecar,

    Yes I agree, cold ECT and IVT should need a richer mixture than a warm engine. However, the std cranking mixture for my car was set at 0.25 Lambda at an ECT of 0'c. This is an AFR of 3.7:1 which I think is way too rich.

    Simon.

  3. #23
    EFILive Developer Site Admin Blacky's Avatar
    Join Date
    Mar 2003
    Posts
    9,505

    Default

    The index into table B0138 is the engine's off time. i.e. how long since the engine stopped. There is a PID that gives that information, it is defined in the new BBL beta software (OFFTIME), but not in the current EFILive V7.5.x Windows software.
    That means you can log it and display it using FlashScan, but you won't be able to see it in the Scan Tool software until we add it to the scan tool definition files.

    The link PID for B0138 should not be anything to do with run time. It shouldbe GM.OFFTIME. But that will not work until that PID is defined in the PC software.

    Table B1832, can be linked using PIDs: GM.RUN_TIME or SAE.RUNTM. As the engine is cranking the runtime counter increments. As the counter increments it pulls airflow data from successive rows in that table. If the engine cranks for more than 8 seconds it stays in the last row as long as the engine keeps cranking but not starting.

    Note: The PID GM.RUN_TIME (aka RUNTIME in BBL) which increments by 160 per second is wrong, it should increment by 1 per second.

    Regards
    Paul
    Before asking for help, please read this.

  4. #24
    Lifetime Member swingtan's Avatar
    Join Date
    Jul 2007
    Posts
    1,589

    Default

    Quote Originally Posted by Blacky View Post
    The index into table B0138 is the engine's off time. i.e. how long since the engine stopped. There is a PID that gives that information, it is defined in the new BBL beta software (OFFTIME), but not in the current EFILive V7.5.x Windows software.
    That means you can log it and display it using FlashScan, but you won't be able to see it in the Scan Tool software until we add it to the scan tool definition files.
    yes, I read this table as that originally, but was rather confused to see the time counting up as it is currently indexed to a counter that keeps increasing only when the engine is running. I've had a look at "OFFTIME" and can confirm it operates as expected.

    Quote Originally Posted by Blacky View Post
    The link PID for B0138 should not be anything to do with run time. It shouldbe GM.OFFTIME. But that will not work until that PID is defined in the PC software.
    Agreed, this makes much more sense than the current indexed PID.

    Quote Originally Posted by Blacky View Post
    Table B1832, can be linked using PIDs: GM.RUN_TIME or SAE.RUNTM. As the engine is cranking the runtime counter increments. As the counter increments it pulls airflow data from successive rows in that table. If the engine cranks for more than 8 seconds it stays in the last row as long as the engine keeps cranking but not starting.

    Note: The PID GM.RUN_TIME (aka RUNTIME in BBL) which increments by 160 per second is wrong, it should increment by 1 per second.

    Regards
    Paul
    OK, what I've done here is to make an assumption that may not be true. I noted that my starting issues only last for 8 seconds. As long as I can keep the car running for longer than 8 seconds, it will run fine. The only table I can find that deals with start up and has any sort of reference to 8 seconds, is this table. So I was assuming that it still controls the airflow for the whole duration of the 8 seconds, not just the cranking.

    I have logged SAE.RUNTM and GM.RUN_TIME and both do not increment while cranking. They both start incrementing after the car has fired and the key released from the start position. So I get the feeling that B1832 must still have some effect for the first 8 seconds after the car has started. I've added a log where I removed the fuel pump fuse and cranked for 11 seconds. You can see that the 2 PIDs remain at "0".

    Regards,

    Simon
    Attached Files Attached Files

  5. #25
    EFILive Developer Site Admin Blacky's Avatar
    Join Date
    Mar 2003
    Posts
    9,505

    Default

    Quote Originally Posted by swingtan View Post
    OK, what I've done here is to make an assumption that may not be true. I noted that my starting issues only last for 8 seconds. As long as I can keep the car running for longer than 8 seconds, it will run fine. The only table I can find that deals with start up and has any sort of reference to 8 seconds, is this table. So I was assuming that it still controls the airflow for the whole duration of the 8 seconds, not just the cranking.
    The cranking airflow table only controls the airflow until the engine transitions from cranking to idle. It does that when the RPM has exceeded 400rpm for about 1 second.
    There may be other timers/counters that adjust "something" for 8 seconds. 8 is a "nice" round number for programmers to use.

    Quote Originally Posted by swingtan View Post
    I have logged SAE.RUNTM and GM.RUN_TIME and both do not increment while cranking. They both start incrementing after the car has fired and the key released from the start position. So I get the feeling that B1832 must still have some effect for the first 8 seconds after the car has started. I've added a log where I removed the fuel pump fuse and cranked for 11 seconds. You can see that the 2 PIDs remain at "0".

    Regards,

    Simon
    I agree, neither of those two PIDs should be used to index that table, but after digging through the ECM, it really seems like engine run time is used to index that table. But given you've proved that value does not increment until the engine transitions from crank to idle I will have to investigate further.

    Regards
    Paul
    Before asking for help, please read this.

  6. #26
    Lifetime Member swingtan's Avatar
    Join Date
    Jul 2007
    Posts
    1,589

    Default

    Thanks again Paul. Keep up the good work.

  7. #27
    Lifetime Member hymey's Avatar
    Join Date
    Jan 2008
    Posts
    313

    Default

    Hi Simon, glad too see you are getting progress, thanks Blacky for helping out. I am back on 12 hour roster so I will chat to you when I am back on days off.

    Good luck

    Joel

  8. #28
    Lifetime Member swingtan's Avatar
    Join Date
    Jul 2007
    Posts
    1,589

    Default All Fixed !!!!

    Hi All,

    Well this has been fixed. No more lean spike, no more stuttering and smoother idles and driving when cold.

    The fix can be found in this thread....

    http://forum.efilive.com/showthread.php?t=8042

    Which explains how there is an offset between the measured IVT and the fuel map IVT axis. Once I remapped the axis, I was able to command a richer idle and drive AFR after starting that cleaned everything up. I'd expect that in future releases of the software, that the measured IVT will match these tables correctly and remove the problem.

    to the EFILive guys for helping me "hone" my problem solving skills....

  9. #29
    EFILive Developer Site Admin Blacky's Avatar
    Join Date
    Mar 2003
    Posts
    9,505

    Default

    Quote Originally Posted by Blacky View Post
    I agree, neither of those two PIDs should be used to index that table, but after digging through the ECM, it really seems like engine run time is used to index that table. But given you've proved that value does not increment until the engine transitions from crank to idle I will have to investigate further.

    Regards
    Paul
    It appears that table is indexed by engine run time and not engine off time.
    I think that is a mistake in the ECM (but I've been wrong before). I think because it uses the wrong PID to index, it uses the first row only and always.

    I guess the only way to find out is to set the entire table to zero except the first row and see if it makes any difference - I think it won't.

    You'd need to prevent the engine from starting to allow it to crank for more than 1 second, like you did in a previous test.
    You'd also want to log the desired airflow to see if it changes to zero after 1 second.

    Regards
    Paul
    Before asking for help, please read this.

  10. #30
    Lifetime Member swingtan's Avatar
    Join Date
    Jul 2007
    Posts
    1,589

    Default

    OK, I can try that out. As it is though, the lean spike is all gone now that I can command a richer mixture via B0143. I had played a lot with B1832 and didn't see to much difference, but I'll set it up as you say and log a start attempt with the fuel pump fuse out.

Page 3 of 3 FirstFirst 123

Similar Threads

  1. Lean cold start COS3.
    By onfire in forum Custom Operating Systems
    Replies: 0
    Last Post: July 18th, 2009, 02:10 AM
  2. Cold start perfect, Warm start flares high
    By samh_08 in forum Gen III V8 Specific
    Replies: 1
    Last Post: May 12th, 2009, 09:36 PM
  3. Cold start great but warm start sucks."Idle
    By mvvette97 in forum Gen III V8 Specific
    Replies: 11
    Last Post: October 26th, 2008, 12:22 AM
  4. Lean Start Problem with pre-2003 OS
    By hpcubed in forum Custom Operating Systems
    Replies: 0
    Last Post: April 1st, 2008, 11:54 AM
  5. Cold Start
    By pomona in forum General (Petrol, Gas, Ethanol)
    Replies: 5
    Last Post: April 28th, 2005, 07:11 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
  •