GM VE tuning with Gen 3 P59 PCM

GM VE tuning with Gen 3 P59 PCM

If you are needing to calibrate your speed density tune / VE table then you have come to the right place. I cannot tell you how long I’ve been working to dial in my VE table for my LQ9 build. My biggest challenge is getting the VE table to settle out. Seems every time I start up a new logging session the table moves in another direction. This post is to document the challenges I’ve faced and how I sorted them out.

Absolutely ZERO issues in your drivetrain

I spent better part of a year sorting out issues with fuel pressure, leaky injectors, and plugged exhaust. You may encounter other issues in your build whatever they are you need them 100% handled before you tune. Here’s how I tackled my specific issues:

Fuel Pressure:

My fuel rail was at the wrong pressure and blead down too fast. I spent over a year troubleshooting issues with it. Completely dismantled the ENTIRE system, fuel tank, evap, sending unit, rail, pressure regulator and injectors. I mean EVERYTHING. I ensured each piece was performing correctly. If I suspected it I either replaced or upgraded the part. In this process I discovered an out of spec fuel regulator, leaky injectors, and upgraded the fuel pump.

Plugged Exhaust:

Your vehicle should have at least one catalytic converter. Most have two now. After much additional troubleshooting I discovered mine was plugged. The outlet should be hotter than the inlet by 20%. I was able to unplug my converter using a Sodium Hydroxide solution. After which the temperatures fell into spec, where outlet was 20% hotter than engine side. Throttle response was much improved as well.

Calibrated wideband sensor:

They sell wideband sensors that come pre calibrated. I encourage you not to buy one of these. I started out with a pre calibrated wideband and ran into all sorts of issues. In fact, the system I bought couldn’t be calibrated. You have to buy brand new, expensive, sensor when the calibration goes bad and you’ve no way to know the calibration went bad.

I now I have a Bosch 4.2 wideband. They run under $30 for a replacement and you can calibrate them in the open air. Remove the sensor from the exhaust with vehicle cold and ignition off. Then follow your wideband monitor’s instructions to perform the calibration. Now you know your sensor is calibrated!

REMINDER Fix Your Gremlins:

You are wasting your time and fuel if you tune with pending drivetrain issues. Make sure you have sorted out every single bug! You need a perfectly healthy drivetrain. I cannot stress that enough. I wasted untold amounts of time, money, and energy tuning when I had fuel and exhaust problems that needed sorted out. Worse yet I could have blow up my engine build. Don’t make my same mistakes!

Filtering your Data

This time I plan to not only force the PCM into Speed Density mode but also filter data. Here’s a few things that come to mind:

  • Dynamic Throttle Changes (Over 5% change in 500ms)
  • COT enabled
  • DFCO enabled, Injector Pulse Width < 1ms
  • Closed Loop Enabled
  • Engine not to operating temperature < 175F
  • Timing retard < 0
  • AFR commanded (Lambda = 1) if not tuning PE (can leave PE enabled then)

I might even filter on what gear I’m in and or if the torque converter clutch is applied so I’ll be adding those to my list of PID’s to log in the VCM scanner.

How to create HPT VCM filters

I’m specifically referring to the Graphs layout. There under the “Graph Display Layout Editor” you will see a field titled “Filtering” for each graph you have created. You can add various “New Variables” so long as they’re in your Channels / PID log for the scan.

HP Tuners documentation on creating filters is somewhat lacking. I it is simply enough to figure out how to combine conditions with AND statements though. Unfortunately, I’m not seeing any way to create filters of Boolean and enumerated PIDs. That means, COTs on/off and TCC apply modes are not directly filterable.

Here’s an example of a filter for throttle change < 5% in 500ms AND Bank 1 Injectors > 1ms duty cycle:

[50090.156.slope(500)]<0.05 AND [50151.254 > 1]

Here’s a more detailed filter; TPS 500mS Delta < 5%, Injector Pulse Width < 2.0mS, ECT >185F, Knock Retard = 0 Degrees.

([50090.156.slope(500)]<0.05) AND ([50151.254] > 2.0) AND ([50010.242] > 180) AND ([50111.160] = 0.0)

Force speed density mode in PCM config

The ideal setup would be one where I could avoid modifying the config to tune VE. One where the PCM could be forced into speed density (VE) through the VCM scanner alone. It appears for time being that HPT and or the P59 is unable to support such a scenario. Dynamic airflow appears to affect the speed density calculations even below the set threshold. Long story short, you need to disable everything in the config as well as filter in the scanner.

Deceleration Fuel Cutoff: this cuts fuel when you are slowing down.

Disable in Config:

Change the value to a temperature your engine will never see say 250F.

Filter out from data:

Log injector pulse width on either side (bank one, two, or both). Filter out data with injector pulse width under 2.0ms. I tried 1.0ms but didn’t work. Boosting to 2.0ms worked and my vehicle never really seems to dip under 2.0ms under normal operation unless DFCO is enabled.

Another tip, DFCO only affects low pressure cells, under 20kPa and is easily removed manually from your tune adjustments by not selecting low pressure cells. You’ll see very lean cells in your tune towards the top of the graph (low pressure areas) if you forgot to account for DFCO otherwise.

Catalyst Protection: This enriches fuel mixture, essentially dumping fuel out the exhaust and into the catalytic converters to cool them.

Disable in Config:

Set COT dropdown to Disabled.

Filter out from data:

I’ve yet to find a good way to filter this out of the data.

Note: I damaged my catalectic converters, possibly by disabling this. During tuning you can get them VERY hot especially for WOT tuning. Part of my motivation for filtering data was to leave COT / thermal protection on and filter out data accordingly.

Dynamic Airflow: General Motors tuned the P59 PCM up to an RPM threshold over which fuel is adjusted via the Mass Airflow Sensor (MAF). This fuel system is referred to as dynamic airflow which calculates fuel demand off how much air is coming in the intake along with the temperature of that air.

Disable in Config:

We can disable dynamic airflow and force the computer to calculate fuel from the VE table by setting a low value (say 1 hrz) for the “MAF Frequency Fail High”

On my PCM config the computer continued to operate in dynamic airflow mode until I performed this step and failed the MAF sensor. I also completed the next step too. You may have to do both of them to disable dynamic airflow. My VE data wasn’t changing when only disabled dynamic airflow per next step.

This will trigger a check engine light for MAF failure. If you plan to run speed density all the time then you may like to disable the corresponding DTC P0103.

Filter out from data:

I’ve no way to filter this. Some people unplug the MAF sensor however, this is not possible on my vehicle which as an integrated Intake Air Temp sensor in it. You’ll need a separate IAT sensor if you unplug yours.

Dynamic Airflow (High RPM Disable): over this RPM the engine will use MAF data for Dynamic Airflow fuel calculation.

Disable in Config:

Change value to say 10,000 RPM a speed your engine will never see.

Filter out from data:

I’ve no way to filter this. It maybe there’s a fixed threshold at that disable RPM for which you can filter above when Dynamic Airflow is certainly enabled. However, you’ll be unable to calibrate your Speed Density tune for anything above that threashold.

Disable closed loop: closed loop is a system where the computer looks at oxygen in the exhaust and adjusts the fuel accordingly to obtain a complete fuel burn.

Disable in Config:

Open “Closed Loop Enable->ECT vs. IAT” change all values to 284F a temperature your engine will never see and thus closed loop won’t turn on.

Change LTFT to “Disabled” via drop down

Filter out from data:

There’s a setting in the Vehicle Control & Special Functions to disable closed loop, disable trims, and reset the trims. I typically do it there as apposed to the config file. Additionally, you can log the PID for “Closed Loop Active” and filter out data when it’s active in case you forget to turn it off.

To sum it up

I was able to collect data in the VCM scanner

Matthew Jeschke

Comments are closed.