Does it have to learn to idle?

TJBaker57

Lifetime VIP Donor
Member
Aug 16, 2015
3,328
Colorado
I have been toying with the idea of setting some of my own fuel trim values to match your highly negative ones to see what would happen.

My experiments have brought me to know that I can set them wherever I desire.
 

Sqrly

Original poster
Supporting Donor
Member
Apr 2, 2024
269
Livingston CA
FYI, everyone who has contributed to thread, thank you and ...

As Xmas is rapidly approaching and all I have to do to keep the vehicle from stalling is remove the AC relay, which I don't really need anyways until it gets hot again, I plan to put my trouble shooting on hold.

After new years I will be getting back to trying to solve this issue with everyones help.
 
  • Like
Reactions: TJBaker57

TJBaker57

Lifetime VIP Donor
Member
Aug 16, 2015
3,328
Colorado
Please clarify for me, does disconnecting the battery (for 30 minutes or more) reset the fuel trims?

The period of time required to fully reset ALL fuel trims to zero by just removing PCM power alone is unknown to me at this time.

I know they will NOT reset right away upon removing PCM power (Fuse 10).

Grounding the PCM "hot at all times" power DOES reset all the fuel trims to zero.

This can be done by disconnecting the battery and joining the positive and negative battery cables together for a moment.



A curious discovery I have made is that when using a Tech 2 to "reset" fuel trims it does NOT reset ALL of them. Why? I have no idea.

It leaves 24 of 44 cells NOT reset.

To reset the trim cells that are currently at "-44.00" in your vehicle you would proceed similar to when we read the values.

Turn key to RUN, don't start.

Connect Car Scanner.

Select "Settings", then "Terminal".

Enter the following one line at a time.


ATH1
ATS1
ATSH6C10F1
3B6A808080

disconnect Car Scanner from vehicle.

Turn key OFF and wait maybe 30 seconds or more.

This will reset 8 different fuel trim cells.
 
Last edited:

TJBaker57

Lifetime VIP Donor
Member
Aug 16, 2015
3,328
Colorado
all I have to do to keep the vehicle from stalling is remove the AC relay


I will be curious if this actually stops the stalling.

Removing the relay does NOT stop the current fuel trim cell from changing. So the highly negative fuel trims will still be active with the relay removed.
 

TJBaker57

Lifetime VIP Donor
Member
Aug 16, 2015
3,328
Colorado
does disconnecting the battery (for 30 minutes or more) reset the fuel trims?


This I have not nailed down yet.

The question remains "how long does it take for the PCM to lose any residual power which retains certain memorys?"

At one time today I waited like 10 or 15 minutes with PCM power removed and the fuel trims did NOT reset.

I think I did this another time in the past 2 days, waiting a longer period, maybe 45 minutes or so and the trims DID reset to zero.

Today I also tried momentarily grounding the PCM "hot at all times" power at C1:20 and the trims all reset to zero.
 

TJBaker57

Lifetime VIP Donor
Member
Aug 16, 2015
3,328
Colorado
I will be curious if this actually stops the stalling.

Removing the relay does NOT stop the current fuel trim cell from changing. So the highly negative fuel trims will still be active with the relay removed.


I'm answering my own question here !!

I had to think this through a bit.


It centers around the system THINKING the compressor is running. NOT if the compressor is actually running here.

As long as the system is requesting compressor operation as determined by the A/C Relay control status, the current fuel trim cell in use at idle will be cells #18 if in gear, or #20 if in Park/Neutral.

Those trim cells are not highly negative per the data we read recently. (posts 106 & 108)

Only if the system requests the compressor be turned OFF, either by the manual control system or the low pressure cycle switch, will the currently selected fuel cell(s) change to either #19 in gear or #21 in Park/Neutral. And these are the cells that are so highly negative. Recently read at -44.00 (which equals -34.375%).

So with no relay inserted the compressor cannot run and thus the low pressure cycle switch will never cut off, stopping the compressor !! As long as the system thinks it needs to run the compressor the current trim cells at idle should stay in #18 and #20 which are presently fairly neutral.

The rich condition will still be there but at least the stalling should be mitigated for the time being.
 
  • Like
Reactions: Sqrly

Sqrly

Original poster
Supporting Donor
Member
Apr 2, 2024
269
Livingston CA
I'm answering my own question here !!

I had to think this through a bit.


It centers around the system THINKING the compressor is running. NOT if the compressor is actually running here.

As long as the system is requesting compressor operation as determined by the A/C Relay control status, the current fuel trim cell in use at idle will be cells #18 if in gear, or #20 if in Park/Neutral.

Those trim cells are not highly negative per the data we read recently. (posts 106 & 108)

Only if the system requests the compressor be turned OFF, either by the manual control system or the low pressure cycle switch, will the currently selected fuel cell(s) change to either #19 in gear or #21 in Park/Neutral. And these are the cells that are so highly negative. Recently read at -44.00 (which equals -34.375%).

So with no relay inserted the compressor cannot run and thus the low pressure cycle switch will never cut off, stopping the compressor !! As long as the system thinks it needs to run the compressor the current trim cells at idle should stay in #18 and #20 which are presently fairly neutral.

The rich condition will still be there but at least the stalling should be mitigated for the time being.
I believe you transposed a few numbers.

Idling in Drive it uses 19 when the compressor is (requested to turn) on and switches to 20 when it (is requested to) turn off.

Idling in park or neutral it does the same with 21 and 22.

Correct?

Capture.JPG

But then why does it stall in P/N but not in Drive?

Also, looking at my logs it appears to me its the sudden drop in LTFT that corresponds with the drop in RPM. The LTFT drops too much or too rapidly and the STFT can't compensate in time.

I don't see any LT "Idle, P/N, NO AC" cell in the spreadsheet you created.

Why would the ST and LT trims both be -44 at the same time? (20 and 43) I thought they were usually opposite, one goes up when the other drops.

Is there a way for me to log which trim cell is actually being used? So I could see it switch from A while cold, to B when warmed up and between C and D when the compressor turns on and off?

I would like to double and triple check and confirm which cell is which and then I'm thinking maybe change those 44's to 26's and see what happens.

PS Damn you know a lot of stuff I do not.
 
Last edited:

TJBaker57

Lifetime VIP Donor
Member
Aug 16, 2015
3,328
Colorado
Idling in Drive it uses 19 when the compressor is (requested to turn) on and switches to 20 when it (is requested to) turn off.


Nope. Refer to post #96. Look at top 2 graphs. A/C relay is ON when value is 1, OFF when value is 0.

Trim cells are #18 or #20 with compressor ON, #19 or #21 when compressor is OFF.

You may have been looking at the spreadsheet row number?? The cell number is contained in the names I gave the parameters.


Also, looking at my logs it appears to me its the sudden drop in LTFT that corresponds with the drop in RPM


The sudden drop in Fuel Trim(s) is the result of the "Current Fuel Cell" changing to either cell #19 or cell #21 in response to the A/C Relay Request turning OFF.




don't see any LT "Idle, P/N, NO AC" cell in the spreadsheet you created


Correct you are! That's because there are no values stored for Long Term Fuel Trim Cell numbers #21 or #22. Why?? I have no idea, I just see that there are no such values stored.

It gets a little weirder even but this is enough for now.



Is there a way for me to log which trim cell is actually being used? So I could see it switch from A while cold, to B when warmed up and between C and D when the compressor turns on and off?


Sure is! That's what is seen in post #96. There is a Sensor/PID called "Current Fuel Trim Cell" (or something close). I'll post that up here next.

In post #96 I also logged the status of the A/C Relay. I have not yet verified that sensors' details for a 2004 PCM but you can use the sensor for A/C High Pressure? That sensor you should have installed already. This would require the Relay to be installed though.

You would see something like this,,, pressure rises sharply when compressor turns on. Drops when compressor turns off. Current fuel cell seen in second graph.

Screenshot_20241201-223859.jpg


Damn you know a lot of stuff I do not.



I'm retired and have nothing else to do :wink: I can spend days studying this stuff.
 

TJBaker57

Lifetime VIP Donor
Member
Aug 16, 2015
3,328
Colorado
Is there a way for me to log which trim cell is actually being used?


Just looked and you should already have the sensor loaded in Car Scanner. It was included in the 1st file I linked on October 31 in private conversation.

Use the search in the sensor listing. Should appear like this:

Screenshot_20241201-225123.jpg
 

budwich

Member
Jun 16, 2013
2,204
kanata
You might consider looking at the engine load pid. It might provide a clue as the variability that the engine is seeing and it reflects a "combined contribution" of the sensors involved.
 

TJBaker57

Lifetime VIP Donor
Member
Aug 16, 2015
3,328
Colorado
You might consider looking at the engine load pid. It might provide a clue as the variability that the engine is seeing and it reflects a "combined contribution" of the sensors involved.


So I assume we are talking of the "Standard PID" mode 01, PID 04, right?

In trying to see a relationship with the selection of current fuel trim cell I have looked at MAP, Calculated Airflow, Throttle Position Indicated, Engine RPM and maybe some others.

I will add Engine Load to the roster though in the past I have seen weird values for that PID. Like a high load at idle while doing nothing?? Been a long time since I looked at that though. My memory is sketchy.
 

budwich

Member
Jun 16, 2013
2,204
kanata
I don't have the same "magic" that you do with pids... :smile: I just used the one in the torque either the base one or the GM added ones. There is two if I recall "absolute" and "actual". As you, the "magician" knows, torque equations might be "airy" ... as in "errory"... but I would expect "standard equations" to be correct and only the sensors that are reflected in said equations to be the problem. Hence, I would find that a "wacky load" is an indication of sensor issue. My reads on the "load" pids are basically only have MAP and IAT involved. Having said that, I am sure each maker has their own "adjustments" to "help" things.... such as throttle and coolant temp. Again, this is for the "speed density" fueling system.

One of my "reads".... https://mechanics.stackexchange.com/questions/17537/how-is-engine-load-determined. which I take as a general discussion around the topic as opposed to maker specific... and "taints" comment about basically only the MAP and IAT being a "driving force" of the pid output. As such, and based on my limited experience (as "tested using your vacuum pump test) with replacement MAP's, it is the weak link in the results.

ADDED: as far as a link between things... map, iat, etc... my guess would be LOAD is mapped in some form (ie. precentage, non-linear).... but certainly a large guess.
 
Last edited:

Sqrly

Original poster
Supporting Donor
Member
Apr 2, 2024
269
Livingston CA
You may have been looking at the spreadsheet row number?? The cell number is contained in the names I gave the parameters.

My bad!

~~~~~~~~~~~~~
Installed Sensors;
AC High pressure ✅
~Fuel Trim Cell ✅
~~~~~~~~~~~~~

The AC relay is still out and I blocked off the purge valve line at the TB. I'll run it that way for a week then resend those terminal commands so you can turn the results into trim values and see if they changed at all.

ATH1
ATS1
ATSH6C10F1
3B6A808080

I haven't tried this yet. What happens after they get reset?

Since I don't fully understand how it all works I'm afraid to brick my truck.
 
  • Like
Reactions: TJBaker57

TJBaker57

Lifetime VIP Donor
Member
Aug 16, 2015
3,328
Colorado
The AC relay is still out and I blocked off the purge valve line at the TB. I'll run it that way for a week then resend those terminal commands so you can turn the results into trim values and see if they changed at all.


This will very likely set a trouble code for the EVAP system. But as long as you don't have an emissions test in the near future.....


I haven't tried this yet. What happens after they get reset?


Well I would expect that the stalling may stop initially, but that the situation would come back in a few days.

I don't think the fuel trims got that low without there actually being either a rich mixture or an O2 sensor issue perhaps. Something is causing these trims to go negative under high intake manifold conditions.

A puzzling bit is why does it only happen so drastically in cells #19 and #21 at idle and not in cells #18 or #20 at idle?

In limited data of my own vehicle lately I see that my purge valve duty cycle is different with compressor ON vs compressor OFF. The difference is small in my case.



Since I don't fully understand how it all works I'm afraid to brick my truck.


Understandable. Maybe tomorrow it will be warm enough here mid-day and I can use my truck as guinea pig. I can mine to go negative like yours and see what happens. When I drive today it was too cold for the compressor to run!
 

Sqrly

Original poster
Supporting Donor
Member
Apr 2, 2024
269
Livingston CA
This will reset 8 different fuel trim cells.

Is the cell I don't see (#21LT) included in the 8 your referring to?

Should there be a #22LT?

Fuel Trim Cells.jpg

Understandable. Maybe tomorrow it will be warm enough here mid-day and I can use my truck as guinea pig. I can make mine to go negative like yours and see what happens. When I drive today it was too cold for the compressor to run!

That's above and beyond there. I can't thank you enough for helping, and teaching me, through this issue.
 

Sqrly

Original poster
Supporting Donor
Member
Apr 2, 2024
269
Livingston CA
Off Topic a bit ....

Did you know you can get a new mid level phone to run the scanner app on for $40? We buy them for the kids as toys. I just bought a Moto G 2024 from Walmart.

We get one of the pre paid android phones and pull the sim card out before turning it on. Then we setup it up over WiFi and leave it forever on airplane mode and never put the sim back in.

As they are kids we put an applocker app on it to keep them out of trouble too. They watch movies on them (from the SDCard) in the car with BT earbuds and play games on them. While connected to WiFi they can make video calls with google meet, but only to other people with google meet installed too.

My kids phone is way faster then mine LOL
 

TJBaker57

Lifetime VIP Donor
Member
Aug 16, 2015
3,328
Colorado
Is the cell I don't see (#21LT) included in the 8 your referring to?

Should there be a #22LT?


So for whatever reason, GM seems to have decided there would be no saved values for Long Term Fuel Trim Cells #21 and #22.

They are just not there with the other saved values.

Cell #21 appears to be used only at idle, in Park or Neutral, with the A/C compressor OFF.

Cell #22 I see in use only at large throttle openings, like when near Wide Open Throttle. Likely coinciding with a low vacuum, high MAP sensor reading.



Here is what I see in both recorded data and very specific tests I have recently done.

As you operate the vehicle the PCM looks at operating conditions and according to criteria set forth in the programming selects a given "Fuel Trim Cell#" to operate under.

During operation in the selected cell# the PCM begins with the stored values of the selected cell# and adds in the data it sees from the oxygen sensor to determine the fueling needs.

As it operates in the selected cell if the O2 sensor data indicates corrections are needed, at some point the PCM updates the value in the cell# in use. I have seen both short and long term cell values updated during a drive.

As operating conditions change a new cell# will become the "Current Fuel Trim Cell#" and again the PCM will switch to the stored values for that cell# and add in the corrections from the O2 sensor to determine fueling needs.

Again, if the O2 sensor indicates continuing adjustments are necessary the PCM will update the stored values for the now current Fuel Trim Cell#.

In this way when the operating conditions return the PCM back to a previously used Fuel Trim Cell# the values it then reads from the stored cell(s) will be the values it had updated when it was last there. Continuity for those operating conditions.

This seems like a good time for a graphic:

Screenshot_20241202-220723.jpg

What is seen here is the values stored in all those fuel trim cells plus the "Current Fuel Trim Cell#".

The red line starting at the top left at a value of "21" is the Current Fuel Trim Cell ## in use.

The engine has recently started and is at idle. The A/C compressor is OFF.

All the graph lines below are steady, no changes so the fueling seems pretty good.

Now the Current Fuel Trim Cell# switches to #20 because the A/C compressor has started.

Again, the fueling seems OK as we see no changes in the fuel trim cells represented directly below.

Continuing along the top red line (Current Fuel Trim Cell#) we see a drop from 20 to 18. This is when I shifted from Park to Drive. The A/C compressor is still ON and we are still at idle.

Look below this point and we see a line has begun a rather sharp increase in value. In was at 5 and rose to 12 in about 20 seconds. The PCM has seen O2 sensor data indicating the mixture was lean and in response increased the fuel trim value and updated the stored value for this cell# as well.

Just about the time the rising value reached 12 the Current Fuel Trim Cell# (red line up top) changed from 18 to 19. This is when the A/C compressor turned OFF.

Since we are now operating in a different cell# we see a different line down a little lower starts it own rise. The PCM is seeing a lean mixture condition here in this cell also and has increased fuel trims there as well. This cell begins at 2 and rises to 5 before the "Current Fuel Trim Cell#" changes yet again. This time to Fuel Trim Cell# 0.

And so it goes, the operating conditions cause a given cell# to be selected as the Current Cell in use and the PCM starts with the values previously stored in the cell and adjusts and updates the fueling and stored values as needed.

I avoided stating that these cell values we saw being updated were Short or Long Term values. Either can and will be updated as seen fit by the PCM programming. The cells we saw updated were Short Term values.



Now then, at the end of your drive you turn off the key. At the moment the key turns from RUN to ACC The PCM updates at least some of the stored Long Term Cell values, presumably incorporating data it obtained during the drive.

Shortly after the Long Term Cell values are updated the Short Term Cell values essentially copy the Long Term values of the same cell##. Often the copy is the very same value though sometimes I see the value increased by no more than 1. So far I have not yet seen or recorded any time when the copied value is decreased at all. Here is an example where the key was just turned from RUN to ACC and Long Term Cell #5 is updated from 4 to 5 and then copied to Short Term Cell #5.

Screenshot_20241202-225558.jpg

The result of this is that at the next startup The Long and Short Term Cell values will be about the same, or no more than a single bit different.

You can see this in your own cell values I have posted in the spreadsheet screenshot previously. Between Long and Short Term values they vary by no more than 1 and where there is a difference the Short Term is always more positive than the Long Term.


So you may be asking "What about Cells #21 and #22 where there is no Long Term Value to copy from?".

It gets weird there. Tests and recorded data show me that the value copied to Short Term Cells #20 , #21 and #22 come from Long Term Cells #18, #19 and #20 !!

I proved this by writing unique values to every cell, reading all the cells, then turning the key to ACC then reading back the cell values.

This is how changing just 3 cells values ends up changing 8 cells in the end.

It took me quite some time to get this straight.
 
  • Like
Reactions: azswiss

Sqrly

Original poster
Supporting Donor
Member
Apr 2, 2024
269
Livingston CA
@TJBaker57

How do you convert the hexdecimal data into the readable trim cell data? I would like to be able to do that myself.

Is there a file you could share that I can open with Libre Office suite?

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

This morning, after the 4th round trip to a local school with the purge valve line blocked at the TB and the vehicle fully warmed up I decided to look for any DTC as you mentioned driving it with the line blocked may cause some. No DTC.

Curious, I tapped "emissions tests", all passed.

Then it occured to me to look at the freeze frame. This function was not available on my old hand held scan tool so I was conditioned not to check it.

It has one entry, P000098.

I don't like to "throw parts at it" but for $20 I'm going to. The problem did start when winter temps came. We have a big range here, from lows of 30's in winter to highs of over 110 in the summer.
 
Last edited:

TJBaker57

Lifetime VIP Donor
Member
Aug 16, 2015
3,328
Colorado
How do you convert the hexdecimal data into the readable trim cell data? I would like to be able to do that myself.

So there are a few parts to this.

The data is transmitted in hexadecimal with 128 (decimal) added to it.

This allows for sending of negative values in hexadecimal without a lot of fuss.

At the receiving end the 128 (decimal) is then subtracted to get back to the original value.

So a zero trim value is reported as 128 decimal or $80 hexadecimal.

127 would be one "bit" negative trim and 129 would be 1 "bit" positive trim.

[[ Another way of doing negative values in hexadecimal is the two's complement method which is far more complicated and for automotive applications, unnecessarily complex. So we don't see that often. That method IS used for things like Torque Converter Clutch Slip. ]]

Converting hexadecimal (base-16) to decimal (base-10) is fairly straightforward. I would expect any spreadsheet to provide such a function. Normally the function is called "HEX2DEC".

Once converted to decimal and the offset applied there is still the matter of "resolution". How much "fuel trim" is "1 bit"?

In the spreadsheet screenshot of your trim cell values I left the value as "bits". To convert those values to actual fuel trim percentages requires a simple multiplier.

I am pretty sure it is done the same way as the Mode $01 "standard PIDs" 06 and 07 (short and long term fuel trims).

AFAIK, It goes something like this:

A single byte of hexadecimal has a range of 0 to 255 decimal. Including the "0" as a value that is a total of 256 values.

We want to report fuel trims in the range of -100% to 100%. We don't ever actually go that far but that is the formula they use.

The center of that 256 is 128. So we add that 128 to our value and use that as our "zero" point.

So from that "128" to the max at 256 is of course 128 and we want that to represent 100% so we divide the 100 by 128 arrive at our multiplier of 0.78125.

It works the same for the negative values, -128 * 0.78125 gives us -100%.

I've done a horrible job explaining this so here is a chart screenshot:

Column A is Hexadecimal, Column B is converted to decimal, Column C has the -128 offset applied, and Column D is the trim percentage after the multiplier.

In a spreadsheet all of this can be done in a single equation of course. An examlple using row 125 would be:
"(HEX2DEC(A125)-128)*0.78125"


Screenshot_20241203-110430_Sheets.jpg



There is of course another option and that is to have a full set of "Sensors" in Car Scanner that read out the individual Fuel Trim Cell values with all the math already done in the sensor definition !!

For test purposes I have macro I run that loads all of the values that @Sqrly posted into one of my benchtop PCMs. Tap that one button and I have duplicates his values in the test PCM.

I also have a file of PIDs for all the stored fuel trim cell values for import to Car Scanner (or Torque Pro).

Here they are displayed in Live Data in Car Scanner..

Screenshot_20241203-115439.jpg

This link is the file, made for the 2002-2005 P10 PCM.

 

TJBaker57

Lifetime VIP Donor
Member
Aug 16, 2015
3,328
Colorado
Confident in my ability to recover, if need be, from anything that might happen I went ahead and set my Long Term Fuel Cell 19 value to match @Sqrly reported value.

As expected the key off cycle copied that value to my Short Term Cells 19 and 21.

So in the end here I introduced highly negative fuel trims for idling conditions with the A/C compressor OFF.



Backing up a bit here is the sequence of operations:

I setup a logfile on an Android device using one of my Veepeak OBD2 adapters and began recording.

I then started Car Scanner ELM OBD2 on another Android device and connected to the vehicle using another Veepeak OBD2 adapter, this one an OBD Check BLE version. It may have been the "PLUS" version, I have those also :wink:

Car Scanner was set to display and record a host of data so the refresh rate is poor, but the data I was after would not be compromised by this.

Now I used yet another Veepeak OBD2 adapter and a thrid Android device to send the instruction to change the Fuel Cell Trim value for Long Term Cell #19.

[[ having so many Androids and Veepeaks aren't required, I just wanted to fully document everything in multiple formats ]]

Cycled the key and observed and recorded the Fuel Trim Cell values both before and after the change I made to Long Term Cell 19.

Everything thus far went as expected.

Started the engine, did not even think about touching the throttle or any other such intervention on my part. Just let it idle. I did adjust HVAC setpoints to coerce the compressor to be turned on.

When the compressor was OFF it idled like sh**. Chugged and shook the vehicle but did not stall. RPMs seem to have remained fairly steady looking at the data log.

I later found it set a "passed and failed" status for code P0300. (status bit 3) Did NOT set a pending status though. Another side effect of this low level code setting was the cruise control became inoperable until I reset the code(s).

Now back to the experiment: I just let it idle waiting to see what would happen, the compressor cycled on and the idle smoothed out. Then the compressor cycled off and the idle went in the toilet again. This continues for several minutes.

After a while I see the PCM begins to correct the fueling error I have introduced.

Whichever Fuel Trim Cell the system is operating in gets corrections applied as needed. Since my vehicle does not have the fueling issues that Sqrly is dealing with my PCM goes about cleaning up the mess I made.

In fairly short order, a half hour or so, including a short drive nearly everything is back in order. The negative values I introduced have been mostly corrected.

As a refresher:
Cells 18 and 20 are idle with A/C compressor ON.
Cells 19 and 21 are idle with A/C compressor OFF.
There is NO Long Term Cell 21 saved.

Compressor OFF is where I introduced the highly negative trim value.

And the values displayed here below are not trim percentages, they are the raw "bit" values stored in the cells. Multiply by 0.78125 for percentages.

Screenshot_20241203-173300~2.jpg

Looks like the PCM began making Short Term corrections after about 8 minutes of idling and Long Term corrections after say another ten minutes.

Leading up to this the standard PID short term fuel trims were going highly positive to smooth things out.


So if this experiment was performed on the @Sqrly vehicle it may do the opposite. That is he would remove the highly negative fuel trims and his vehicle would maybe again run too rich at idle with A/C compressor OFF and his PCM would then adjust the fuel trim back towards the negative they are currently at.


Of course, none of this answers why his mixture is going rich under high intake manifold conditions in the first place.

How can I say it happens under "high intake manifold" conditions??

By seeing which Fuel Trim Cells are going the most negative.

This experiment does provide some evidence of how quickly the PCM might adjust saved fuel trim values though.
 
Last edited:

TJBaker57

Lifetime VIP Donor
Member
Aug 16, 2015
3,328
Colorado
Here is a look at the Short term fuel trims trying to counter that strong negative trim I injected into the system.

Screenshot_20241203-185348.jpg
 

Sqrly

Original poster
Supporting Donor
Member
Apr 2, 2024
269
Livingston CA
The P0455 finally showed up. After reading another thread here about failing throttle bodies I know why. It wasn't until this afternoon that I had exceeded 35 mph since pluging the hose so the evap test didn't run until today.

@TJBaker57 How do you hookup more then one thing to the OBD2 at a time?

If you go back through all this, mine idles fine for a bit after a TB relearn. Then after a while it "learns to stall". Something is making it 'learn' those negative trims. (I have yet to double check this. I'll have to do another TB relearn and query the trim cell values when it's not stalling).

The TB comes off real easy, I think I'm going to pull it again and do a more in depth inspection of it.

After some of the 'repairs' I've had to correct on this vehicle, I can never rule out stupid.
 

TJBaker57

Lifetime VIP Donor
Member
Aug 16, 2015
3,328
Colorado
wasn't until this afternoon that I had exceeded 35 mph since pluging the hose so the evap test didn't run until today.


Not sure the 35 mph has anything to do with it. There are however quite a few pre-requisites for running the P0455 DTC. Maybe even more than listed?



How do you hookup more then one thing to the OBD2 at a time?


I own a number of different splitters and extension cables. I currently use this splitter block at the end of an extension cable.

17333717861506570563576641965177.jpg


If you go back through all this, mine idles fine for a bit after a TB relearn


I think I read where you disconnected the battery before the relearns, Also during the throttle body cleaning. Battery disconnected for sufficient time clears ALL of the stored fuel trim cell values. Sets everything to zero. And thus would clear out stored highly negative fuel trims that result in the stalling.




Then after a while it "learns to stall". Something is making it 'learn' those negative trims


Yes, I have also mentioned this a couple of times.

Somewhere, something is causing the PCM to adjust the fuel trims lower. But is it a real fueling issue or is something fooling the PCM/O2 sensor??

And whatever it is only seems to be present under very specific operating conditions.

If it is a true fueling issue then how can it cause this issue under the same idle conditions with the A/C compressor not enabled vs idling with the compressor enabled. That's the puzzle.

I see your fuel trims also are negative in fuel trim cells that are used at light throttle, low Manifold Absolute Pressure conditions other than at idle. Cells 5, 6 and 16 are all such cells.

I keep testing and poring over my recordings looking for anything that might explain it. Coming up empty thus far.
 

Sqrly

Original poster
Supporting Donor
Member
Apr 2, 2024
269
Livingston CA
Theory: Something must be fooling the pcm otherwise the negative trims would in fact be accurate and not cause the engine to stall.

Q: Is there a way to remove the AC from the system? Virtually of course.

I've searched for this exact issue, "2004 Envoy stalling when ac compressor turns off while in park or neutral after engine is warmed up", and others have had it but I've never seen a solution posted. Of course most search results are inaccurate but there are a few that describe the same specific problem.

Note: Very weak smell of gas from vehicle in the morning since I plugged the purge line at the TB. I can't smell it but my kid is a "super smeller" (Hyperosmia) and he notices it when he passes the left rear door in the morning, after it's been warmed up and turned off for 15 minutes.
 

TJBaker57

Lifetime VIP Donor
Member
Aug 16, 2015
3,328
Colorado
Note: Very weak smell of gas from vehicle in the morning since I plugged the purge line at the TB. I can't smell it but my kid is a "super smeller" (Hyperosmia) and he notices it when he passes the left rear door in the morning, after it's been warmed up and turned off for 15 minutes.


The EVAP vent solenoid/valve is always open to the atmosphere unless the PCM is running a leak test. Vapors from the fuel tank normally would pass through the charcoal canister then vent to the atmosphere sort of above the rear axle left of centerline of the vehicle.

While the engine is running and shortly after the warmup has begun the PCM would be opening the purge valve some to draw in fresh air through the vent valve, then through the canister picking up fuel vapors there and transporting them through the purge valve to the throttle body/intake manifold.

With the purge valve disconnected fuel vapors are building up in the system with nowhere to go but out the vent valve and possibly through the purge valve and into the engine compartment through the disconnected vacuum line.

So I would fully expect there to be fuel vapors detectable, especially when the fuel pump has been running and circulating fuel in the tank.




Q: Is there a way to remove the AC from the system? Virtually of course


In a word, NO. That would require significant reprogramming the PCM.






Theory: Something must be fooling the pcm otherwise the negative trims would in fact be accurate and not cause the engine to stall.


And whatever is the cause happens most strongly when the system has disabled the A/C compressor at idle. THAT is the really weird part.

That's what I have been hunting for. I have looked at things like "does the EVAP Purge valve open more or less with compressor ENABLED vs compressor DISABLED". In my truck there is a difference but it is very small.

I have looked at throttle opening, MAP values, calculated airflow, that sort of thing trying to uncover differences compressor enabled vs disabled.

On that last one, calculated airflow.... you mentioned seeing a P0068 in freeze frame records. That code is for "airflow greater than expected". This could indicate something is or was 'off' in the air delivery system. The troubleshooting charts suggest closely inspecting the throttle body, throttle blade, accuracy of and smoothness of the throttle positioning system and so on.

Though I don't see how any of that could be different with compressor disabled vs enabled.
 

Mooseman

Moderator
Dec 4, 2011
26,119
Ottawa, ON
Since it's plugged, it could be the gas cap venting extra pressure from the tank or because it's not purging, the charcoal is not capturing the vapours and letting them through to atmosphere. Charcoal could be saturated and letting vapours out. That would make sense as the location is about right and the vent valve opens to atmosphere from the charcoal canister when not running/off.

I may have missed it but does it still stall with the purge line disconnected?

Another place to look for extra fuel is in the oil. Pull the dipstick and take a whiff.
 
  • Like
Reactions: TJBaker57

Sqrly

Original poster
Supporting Donor
Member
Apr 2, 2024
269
Livingston CA
I may have missed it but does it still stall with the purge line disconnected?
Yes it does. I'm leaving it plugged off for a week after which I'm going to get the fuel trim cells again and look for any changes. I'm trying to check if the purge system is the cause of a rich condition.

On that last one, calculated airflow.... you mentioned seeing a P0068 in freeze frame records. That code is for "airflow greater than expected". This could indicate something is or was 'off' in the air delivery system. The troubleshooting charts suggest closely inspecting the throttle body, throttle blade, accuracy of and smoothness of the throttle positioning system and so on.

That's what I plan to do after I get the current trim cell values stored after a week of driving it with the purge line plugged off and the AC relay out. I do still set the HVAC to defrost in the morning then later to floor only every day. When I move it off defrost, the idle drops noticably for a moment so those negative cells are still in use, just not as often.

The new air temp sensor should arrive this weekend. I plan to replace it at the same time then once again get the trim cell values. This time right after the TB relearn but before ever turning the AC on. Then again with the hvac in defrost mode and everything hooked up.

If history repeats, it won't be stalling right after the TB relearn while in defrost mode. Any suggestion on what I should log during this time in which, it has in the past, learned those highly negative ac off values?

FYI: I have yet to wrap my head around how you get those values from the hexdecimal returns so I will be once again relying on your help to translate them.

Note: When the conditions are met to cause the stalling. It takes the compressor getting the "turn off" command 4 to 5 times before it actually stalls. The rpm drop is progressively greater until finally it drops enough to stall. I've seen this pattern every time it has stalled.
 
Last edited:
  • Like
Reactions: TJBaker57

Sqrly

Original poster
Supporting Donor
Member
Apr 2, 2024
269
Livingston CA
@TJBaker57

If you haven't already noticed, I re read and edit my own posts several times to try to and make them as accurate as I can.

I can see your on the site now. Any time you see me add a reply, you should probably wait like 20 minutes to read it :wink:
 
  • Like
Reactions: TJBaker57

TJBaker57

Lifetime VIP Donor
Member
Aug 16, 2015
3,328
Colorado
those negative cells are still in use, just not as often.

Those negative values may have changed already. My test indicated that the PCM can start correcting in less than 10 minutes of running in the affected cell and have completely altered/corrected the values in about another 10 minutes running in the affected cell.

And they will be used every time under the same conditions, it is not any sort of "optional" affair. Run at idle with the compressor disabled and it WILL operate in either cell 19 when in a drive gear or 21 when in Park/Neutral. Every time.

If you haven't already noticed, I re read and edit my own posts several times to try to and make them as accurate as I can.


I also edit,,, mostly for typos !!
 

Sqrly

Original poster
Supporting Donor
Member
Apr 2, 2024
269
Livingston CA
Those negative values may have changed already. My test indicated that the PCM can start correcting in less than 10 minutes of running in the affected cell and have completely altered/corrected the values in about another 10 minutes running in the affected cell.

And they will be used every time under the same conditions, it is not any sort of "optional" affair. Run at idle with the compressor disabled and it WILL operate in either cell 19 when in a drive gear or 21 when in Park/Neutral. Every time.




I also edit,,, mostly for typos !!

I ran the terminal queries this morning after my trip to the school. This is after five 10 minute morning warmups (with defrost on) at idle and 11 short trips at no more then 40 mph with the purge line plugged at the TB and the AC relay removed.

Please translate 🙏

Terminal Responses.11.06.24.png
 

TJBaker57

Lifetime VIP Donor
Member
Aug 16, 2015
3,328
Colorado
Please translate

I have included the values expressed as a fuel trim percentage here in column M this time. Column N shows the change in trim percentage vs the 1st record set.

Screenshot_20241206-132047_Sheets.jpg

Looks like the most negative cells, 19 and 21 moved slightly towards the positive. But the biggest shift seen is cell 16 moving twice as far towards the negative!?

I frequently see my own vehice enter cell 16 just after a coast/deceleration while I am just easing the throttle open to maintain speed. So something of a lower MAP value but not as low as during deceleration.

Not sure what to make of all this.
 

Sqrly

Original poster
Supporting Donor
Member
Apr 2, 2024
269
Livingston CA
I have included the values expressed as a fuel trim percentage here in column M this time. Column N shows the change in trim percentage vs the 1st record set.

View attachment 115298

Looks like the most negative cells, 19 and 21 moved slightly towards the positive. But the biggest shift seen is cell 16 moving twice as far towards the negative!?

I frequently see my own vehice enter cell 16 just after a coast/deceleration while I am just easing the throttle open to maintain speed. So something of a lower MAP value but not as low as during deceleration.

Not sure what to make of all this.
Thanks.

FYI When I pulled those there was a p098 in the freeze frame again.

I got the following off obd-codes.com The wiring is good and still has the factory clips routing it.


A code P0098 may mean that one or more of the following has happened:
  • Internally failed #2 IAT sensor
  • Faulty connection at #2 IAT sensor
  • Open in IAT ground circuit or signal circuit
  • Short to voltage in IAT signal circuit or reference circuit
  • IAT harness and/or wiring routed too close to high-voltage wiring (e.g. alternator, spark plug cables, etc.)
  • Faulty PCM (less likely but not impossible)

The new IAT actually just arrived, it was only $20 total. As I posted, I'm going to replace it when I pull the TB for an in depth inspection.

Then I'll reset everything and start again.
 

Sqrly

Original poster
Supporting Donor
Member
Apr 2, 2024
269
Livingston CA
@TJBaker57

Do you collect auto themed refridgerator magnets?

Capture.JPG
 

TJBaker57

Lifetime VIP Donor
Member
Aug 16, 2015
3,328
Colorado
Thanks.

FYI When I pulled those there was a p098 in the freeze frame again.

I got the following off obd-codes.com The wiring is good and still has the factory clips routing it.




The new IAT actually just arrived, it was only $20 total. As I posted, I'm going to replace it when I pull the TB for an in depth inspection.

Then I'll reset everything and start again.

As far as I can tell there is no such code in a 2004 GMC 4.2 PCM.



When I query my own P10 PCMs they report there is no such code P0098.

You previously stated you had a P0068 in freeze frames. ???

A word about freeze frames: they are not independently stored by themselves. Freeze frame data is only a snapshot of operating conditions that existed when a DTC has failed and set a current and/or history status.
 

Sqrly

Original poster
Supporting Donor
Member
Apr 2, 2024
269
Livingston CA
You previously stated you had a P0068 in freeze frames. ???

No, I wrote 98 last time too.

Now it is you with the good eyesight. I transposed the numbers, the actual code is "P089 Fuel Pressure Regulator 1 Performance". 🤦
 
Last edited:

TJBaker57

Lifetime VIP Donor
Member
Aug 16, 2015
3,328
Colorado
No, I wrote 98 last time too.

Now it is you with the good eyesight. I transposed the numbers, the actual code is "P089 Fuel Pressure Regulator 1 Performance". 🤦


Well how about that !!

No matter, they are bogus!!

I never used Car Scanner for freeze frame data before since I know the lingo I just ask the PCM myself first hand.

So now I just eavesdropped on Car Scanner while it requested freeze frame data and caught their error. I will report this as a bug to the developer.

They first ask for freeze frame number 0 and since the app is written for a variety of vehicles they ask over and over in many formats seeing what works and gets a response.

This is common practice with scanners that have to 'work' with a lot of different vehicles.

They do get an answer for frame 0 but they fumble it and report the "0000" where the code is supposed to be and include the checksum byte! In my case it is 89.

If there was really freeze frame data there the code would be where the 0000 is.

Screenshot_20241206-164122.jpg

Screenshot_20241206-164033_Serial Bluetooth Terminal.jpg


Hit the next icon to try for frames 1, 2, 3 etc. and they just come up blank. So the bug only affects the frame 0 for some reason.
 
  • Like
Reactions: AmpOverload

Sqrly

Original poster
Supporting Donor
Member
Apr 2, 2024
269
Livingston CA
Well how about that !!

No matter, they are bogus!!

I never used Car Scanner for freeze frame data before since I know the lingo I just ask the PCM myself first hand.

So now I just eavesdropped on Car Scanner while it requested freeze frame data and caught their error. I will report this as a bug to the developer.

They first ask for freeze frame number 0 and since the app is written for a variety of vehicles they ask over and over in many formats seeing what works and gets a response.

This is common practice with scanners that have to 'work' with a lot of different vehicles.

They do get an answer for frame 0 but they fumble it and report the "0000" where the code is supposed to be and include the checksum byte! In my case it is 89.

If there was really freeze frame data there the code would be where the 0000 is.

View attachment 115301

View attachment 115302


Hit the next icon to try for frames 1, 2, 3 etc. and they just come up blank. So the bug only affects the frame 0 for some reason.

How exactly do I duplicate the "eavesdropping" on my vehicle?

Are there more steps then shown in this screenshot?
 

Forum Statistics

Threads
23,724
Posts
642,673
Members
19,260
Latest member
rezha

Members Online

No members online now.