PDA

View Full Version : LTFC Cell Values



Chuff
September 10th, 2006, 11:33 AM
I've just run the LTFCDL macro in the Holden VR and VS Commodore 5.0L V8 definition and download the LTFC Cell Values from the ECU in my car. I have a 5.0L VP Calais with a 1227165 ECU running a 16183082 $12 binary.

I've noticed that the definitions within EFILive V4 for the downloaded cells 1 to 20 coincide with RPM vs MAP values of 1200 to 3200 RPM and 30 to 70 kpa.

Does this mean that the values extracted via the LTFCDL specifically represent LTF corrections applied to the RPM/MAP values as detailed above? This seems like a rather restrictive dataset, as I would have thought that RPM & MAP intersection outside the scope mentioned above would also be included in any LTF calculations.

If I'm off the mark, then does anyone know if the data in the 20 cells downloaded by the LTFCDL macro can be used to correct the VE tables? If so, how?

Thanks.

Chuff
September 10th, 2006, 06:59 PM
I've done some further analysis on some data I have gathered and have found that my original post cannot hold true. I have attached a summary of the Min & Max RPM & kpa values from my dataset for each LTFC Cell, and the values exceed the RPM & MAP figures as I have discussed. I would appreciate it if someone could please explain the MAP & RPM boundaries for each LTFC Cell.

Maybe I should explain what I am doing, and what I think I need to do.

I have modified readily available VE calculation software off the internet to work with the ECU\BIN combination I am using. I use this software and the data which I have logged and saved as a CSV file to recalculate the VE figures. So far, so good.

The other day while doing some data logging it occurred to me that the data I was logging was for both Closed & Open Loop Fueling Mode, as well as True & False Fuel Learn Status values. This got me wondering whether I should have only included logged data where Fueling Modes was Closed Loop and/or Fuel Learn Status was true. If someone could clarify which conditions represent the correct data to use in my VE re-calculations I would greatly appreciate it.

Based on this discovery, I now don't know how to proceed, as I can't export the Fueling Mode & Fuel Learn Status values to the CSV file in order to eliminate that data from the VE calculations, and when I download the LTFC Cell values the descriptions of what they represent seems incorrect, so I don't know what VE data requires changing.

I hope all of this makes sense.

Thanks for any help.

joecar
September 12th, 2006, 12:22 PM
Chuff,

I pm'd Paul so he would see your questions.

Joe

Chuff
September 12th, 2006, 12:26 PM
Thanks Joe.

Blacky
September 12th, 2006, 02:57 PM
I've done some further analysis on some data I have gathered and have found that my original post cannot hold true. I have attached a summary of the Min & Max RPM & kpa values from my dataset for each LTFC Cell, and the values exceed the RPM & MAP figures as I have discussed. I would appreciate it if someone could please explain the MAP & RPM boundaries for each LTFC Cell.

Maybe I should explain what I am doing, and what I think I need to do.

I have modified readily available VE calculation software off the internet to work with the ECU\BIN combination I am using. I use this software and the data which I have logged and saved as a CSV file to recalculate the VE figures. So far, so good.

The other day while doing some data logging it occurred to me that the data I was logging was for both Closed & Open Loop Fueling Mode, as well as True & False Fuel Learn Status values. This got me wondering whether I should have only included logged data where Fueling Modes was Closed Loop and/or Fuel Learn Status was true. If someone could clarify which conditions represent the correct data to use in my VE re-calculations I would greatly appreciate it.

Based on this discovery, I now don't know how to proceed, as I can't export the Fueling Mode & Fuel Learn Status values to the CSV file in order to eliminate that data from the VE calculations, and when I download the LTFC Cell values the descriptions of what they represent seems incorrect, so I don't know what VE data requires changing.

I hope all of this makes sense.

Thanks for any help.
The PCM does not learn fuel trims in open loop, so if you can:
1. Force open loop all the time, or
2. Discard closed loop data.
Then you should have a reasonably good data set.

I did not realise that the flags were not being exported. I will look at adding them to the export list - that way you can use Excel to extract only the open loop data.

There is also another command to force open loop which I will try to include in the VS/VR *.xml file. That way you can create a macro that (hopefully) keeps the PCM in open loop.

If you don't hear back in this thread in a few days - remind me with another post.

Regards
Paul

Chuff
September 12th, 2006, 03:29 PM
The PCM does not learn fuel trims in open loop, so if you can:
1. Force open loop all the time, or
2. Discard closed loop data.
Then you should have a reasonably good data set.

I did not realise that the flags were not being exported. I will look at adding them to the export list - that way you can use Excel to extract only the open loop data.

There is also another command to force open loop which I will try to include in the VS/VR *.xml file. That way you can create a macro that (hopefully) keeps the PCM in open loop.

If you don't hear back in this thread in a few days - remind me with another post.

Regards
Paul


Thanks Paul, look forward to the new XML file.

Could you just clarify what you have said as your use of Open & Closed Loop seems to be contradictory. Not being picky, I just want to make sure I understand.

Thanks.

Blacky
September 12th, 2006, 04:49 PM
Sorry my bad, I've spent too long calibrating VE tables with EFILive V7 and a wide band O2 sensor. When doing it that way, the goal is to eliminate the fuel trims because they skew the data. To do that, you need the PCM running in open loop.

If you're using the LTFT data to calibrate the VE table then you're going to want to be in closed loop to collect/learn the fuel trims.

Once we get ALDL data logging into EFILive V7 you will be able to use EFIlive's "AutoVE" automatic calibration of your VE table using a wide band O2 sensor and the Commanded AFR value from the PCM.

Hopefully early next year :nixweiss:

Regards
Paul

Blacky
September 12th, 2006, 06:08 PM
Not sure if you're using the Pro or Eval version so I updated both:
http://68.178.219.18/software/EFILiveV4_Eval_4_6_5_306.zip (830Kb)
http://68.178.219.18/software/EFILiveV4_Pro_4_6_5_306.zip (830Kb)

Just copy the included *.exe file over the top of the existing *.exe file in the \Program Files\EFILive\V4 folder.
Please save the original *.exe first so you can restore it later if you need to.
Save the updated *.xml file into the folder where all the other vehicle stream definitions are stored.

Regards
Paul

Chuff
September 12th, 2006, 06:11 PM
WOW, that was quick.

Thankyou very much.

Chuff
September 13th, 2006, 11:09 PM
Hey Paul,

Sorry to bug you again but could you please clarify something for me.

I've attached some data that I have collected today. I collected this data using the new Open Loop command which you have provided, but from what I could see while monitoring EFILive while driving, I don't believe it stayed in Open Loop all the time. If you could tell me what values identify the rows I need to use in order to recalculate my VE values, I would greatly appreciate it.

Thanks.

Blacky
September 14th, 2006, 06:44 PM
If you're not using a wide band O2 sensor to tune the VE table then...

You need to be in closed loop so that the PCM learns the LTFTs.
Once you have collected a lot of LTFT data you need to create a pivot table in Excel (note EFILive V7 does this automatically).
The pivot table should plot LTFT against whatever axis your VE table is indexed by. For example, in the VT 5.7 commodore the VE table is index with RPM and MAP (see attached image).

To create the pivot table, you need to reduce the RPM and MAP values into ranges that match your VE table indexes, i.e. 400,800,1200,1600 RPM etc and 5, 10, 15, 20, 25 MAP etc.

See image where only the RPM, MAP and LTFT colums are left (I deleted all the others). The two extra columns of RPM and MAP labels were created using the formulas:
=+TRUNC(A2/400)*400 (for RPM, 400 defines the step size)
=+TRUNC(B2/5)*5 (for MAP, 5 defines the step size)

The create a pivot table (see image) which shows the +/- percentages you should add to the VE table to bring your fuel trimes closer to zero.

Note, you can't use this method to tune power enrichment (PE) mode because the PCM does not use/updatre LTFT in PE mode. For that you need a wide band O2 sensor.

Regards
Paul

Blacky
September 14th, 2006, 06:53 PM
I don't believe it stayed in Open Loop all the time.
It did stay in open loop, the column headed FUEL1 shows the Open Loop flag: bit 2 = "1" when in closed loop.

Unfortunately Excel is brain dead when it comes to bitwise logic. To see the breakdown of the FUEL1 column, you have to use the following formulas:

O2 Sensor Ready =+IF(MOD($L2,2)>0,1,0)
Closed Loop =+IF(MOD($L2,4)>1,1,0)
Learning =+IF(MOD($L2,8)>3,1,0)

See image.

Regards
Paul

Chuff
September 14th, 2006, 06:54 PM
Thanks Paul,

My bad. I said I logged via Open Loop when in actual fact it was closed loop.

What you posted in the previous post I already understand. What I would like to know is what data is valid as being in a closed loop, so I can make sure I only use that data and no other. That's why I uploaded a copy of my log file.

From what I can gather I should be using data based on the FUEL1 value, but I am getting 5 different values. This is a summary of the FUEL1 data:

FUEL1 CountOfFUEL1
17 8
21 2
81 2412
83 9
85 1808

As you can see, most are either 81 or 85. Which represents Open Loop data, or is it another field/value altogether?

Thanks for all your help.

Blacky
September 14th, 2006, 06:56 PM
I realised I did not answer you question, see my post before yours.
Paul

Chuff
September 14th, 2006, 06:58 PM
Got it. Too quick for each other. :D

Thanks.

Blacky
September 14th, 2006, 06:59 PM
Just for clarity, to break down ANY bit field use the following formulas:



BIT 0 =+IF(MOD($L2,2)>0,1,0)
BIT 1 =+IF(MOD($L2,4)>1,1,0)
BIT 2 =+IF(MOD($L2,8)>3,1,0)
BIT 3 =+IF(MOD($L2,16)>7,1,0)
BIT 4 =+IF(MOD($L2,32)>15,1,0)
BIT 5 =+IF(MOD($L2,64)>31,1,0)
BIT 6 =+IF(MOD($L2,128)>63,1,0)
BIT 7 =+IF(MOD($L2,256)>127,1,0)


That will result a "1" when the bit in the bit-field is "1" and a "0" when the bit in the bit-field is "0".

The BIT numbers come from the EFILive V4 flag definitions - see image.

Regards
Paul

Chuff
September 14th, 2006, 07:02 PM
Just for clarity, to break down ANY bit field use the following formulas:



BIT 0 =+IF(MOD($L2,2)>0,1,0)
BIT 1 =+IF(MOD($L2,4)>1,1,0)
BIT 2 =+IF(MOD($L2,8)>3,1,0)
BIT 3 =+IF(MOD($L2,16)>7,1,0)
BIT 4 =+IF(MOD($L2,32)>15,1,0)
BIT 5 =+IF(MOD($L2,64)>31,1,0)
BIT 6 =+IF(MOD($L2,128)>63,1,0)
BIT 7 =+IF(MOD($L2,256)>127,1,0)


That will result a "1" when the bit in the bit-field is "1" and a "0" when the bit in the bit-field is "0".

The BIT numbers come from the EFILive V4 flag definitions - see image.

Regards
Paul


JACKPOT!

That's everything I need to know in order to proceed.

Woo-hoo!

Thanks.

Chuff
September 14th, 2006, 07:19 PM
Doh!

1 more question.

Assuming Fueling Mode is in 'Closed Loop', should I exclude data where Fuel Learning status is not Learning, or is this valid data aswell?

Thanks.

Blacky
September 14th, 2006, 10:38 PM
Almost all data is valid, even when the PCM is not learning it is still using the most recent LTFT values. And those values are what you want to apply to your VE table.

The issue with dropping data is to remove all data frames where the PCM is modifying the fuel ratio that is calculated from the VE using factors other than *just* the VE table. For example, during deceleration fuel cutoff and during large throttle changes.

Actually, now that I think about it for a bit, it is probably best *not* to override the open/closed loop of the PCM. When the PCM goes into open loop, you should probably discard all those frames. Open loop will be (should be) active during wide open throttle and decel fuel cut and other non-LTFT controlled fueling situations.

Regards
Paul

Chuff
September 14th, 2006, 10:54 PM
Hi Paul,

Just so I understand are you saying that I should not use your Closed Loop macro and just log data as per normal. Once I have gathered the data I should only use frames that are marked as Closed Loop?

What about Learning mode? Should I only use frames where the value is TRUE or should I not filter on this value at all?

Right now I'm writing some Excel VBA code to delete all unnecessary columns & rows, as well as add additional columns representing the FUEL1 bit values, as well as the MAP & RPM Labels as you have already detailed. Once I have this, I intend transposing the data into a pivot table and update the VE Tables with the results. Until I know what has to be excluded I can't complete the spreadsheet.

So which values should I filter on?

Sorry for all the questions, but if I start making assumptions, and get it wrong, things may go bad.

Thanks.

Blacky
September 14th, 2006, 11:20 PM
I would use all frames where the PCM is in closed loop mode. In that mode the PCM is operating from the VE table AND using fuel trim corrections. So the fuel trim corrections that are being logged in those frames will be true and accurate (well as accurate as the narrow band O2 sensors are functioning - which is not very accurate).

When the PCM is in open loop, the fuel trims logged in the scan tool are usually frozen at their last value in closed loop before entering open loop. i.e. you should see that when you stand on the throttle and accelerate hard. The PCM enters Power Enrichment mode and (obviously open loop) and freezes the LTFT values. No learning takes place, no trims are updated, no O2 feedback is taken into account. The PCM is just running off the VE table with no LTFT correction applied. However, without a wide band O2 sensor you don't get any feedback on the fuel status during that PE mode. So the data is useless for VE tuning.

I would not be concerned at differentiating between learning and not learning. The "Not Learning" condition will coincide with open loop 99% of the time. Some of the other times will be during evap purge and failed O2 sensor conditions.

Even if the PCM is not learning (assuming the O2's have not failed) the PCM will still be using the already learnt LTFT values and so the data logged for LTFT will still be valid.

Bottom line: discard all high throttle transients*, and all open loop data.

* For example, EFILive V7 has a filter that removes all frames where the throttle has changed by more than 10% in 100ms (i.e. since the previous frame).

Regards
Paul

Chuff
September 14th, 2006, 11:26 PM
Thanks Paul.

You've been very patient with my questioning, and have provide very thorough answers.

I can now proceed confident that I am using the logged data correctly.

Much appreciated.

PS: Will the new EFILive release early next year work on the older GMH ECUs?

Thanks

Blacky
September 14th, 2006, 11:45 PM
PS: Will the new EFILive release early next year work on the older GMH ECUs?Thanks

We will have ALDL scanning support (back to the VR Commodore) in FlashScan V2. When it will be available, I can't tell you. All I can say is FlashScan V2 is designed to scan the older GM vehicles and it is our plan to offer a complete tuning package as part of the EFILive V8 release.
Mid-2007 might be too optimistic, second half of 2007 would be more likely.

Regards
Paul