Proportional-Integral Fueling Capability Question
Typically, the goal of any PI or PID loop is to reach a targeted stead state - such as idle speed for example. There is Proportional, Integral, and Derivative air to control idle speed. Simply put, the idea of proportional air is "I'm instantaneously off by 'x' RPM right now, so I need to change air by 'y' grams/second." The idea behind integral air is "I'm off by average 'x' RPM over 't' amount of time, so I need to change overall air by 'y' grams per second to move the average." The idea behind derivative air is "based on the slope of the idle speed I'm predicting I'll be off by 'x' RPM, so I'm preemptively going to change air by 'y' g/s to prevent over/undershoot." but the end goal is a steady idle speed.
For some reason, fueling is not approached this way. With NB oxygen sensors, for some reason, the goal is to oscillate back and forth and NEVER settle on the desired NB O2 switch point mV. In fact, if the NB readings aren't bouncing around, the assumption is something is wrong. There is proportional fueling, which adds and cuts fuel to keep the NB switching, which is analogous to proportional idle air. There is integral fueling to correct long-term errors over time, analogous to idle integral air. There is no derivative fueling control, but there are plenty of PI loops out there that maintain good process control without a derivative control.
So the REAL question is -- is it possible to set the proportional and idle fueling parameters to achieve and maintain a steady state 450-mV NB reading similar to what is almost always the goal for any PI or PID controller? Understanding of course there would be some amount of fluctuation, but not the constant bouncing from top to bottom.
I drew these two charts to illustrate the nature of the question, which is basically, can proportional and idle fueling be configured to result in the bottom chart instead of the typical top chart for NB O2 readings?
but my understanding is that narrowbands work that way on purpose as they are a switching type sensor
and even cruder still is my understanding of catalytic converters but i'm pretty sure they need that switching to operate too.
The longer answer is.... the whole thing is designed so that the O2 sensors oscillate between rich and lean. The PCM is expecting the fueling to go rich and then lean and then rich again. From the rich and lean readings it then calculates if the average fueling is too lean or too rich and makes the necessary adjustments (fuel trims). The fueling parameters are a PID controller (just like the airflow PID controller) but they control how much and how fast your fuel trims change in order to maintain stoich AFR.
Trending Topics
The Best V8 Stories One Small Block at Time
you chemistry guys are smart.
My proportional fuel while cruising at steady state was wandering from AFR 13-16 like a sine wave with a 3-second period. So I kept working with the closed loop proportional fuel adders and also idle, and it seems more steady. It greatly reduced the amount of air and spark correction necessary to maintain idle. It also got my STFT bouncing between -5 and zero vs -20 and +15.
But my values are down around 30% of stock
My proportional fuel while cruising at steady state was wandering from AFR 13-16 like a sine wave with a 3-second period. So I kept working with the closed loop proportional fuel adders and also idle, and it seems more steady. It greatly reduced the amount of air and spark correction necessary to maintain idle. It also got my STFT bouncing between -5 and zero vs -20 and +15.
But my values are down around 30% of stock
My proportional fuel while cruising at steady state was wandering from AFR 13-16 like a sine wave with a 3-second period. So I kept working with the closed loop proportional fuel adders and also idle, and it seems more steady. It greatly reduced the amount of air and spark correction necessary to maintain idle. It also got my STFT bouncing between -5 and zero vs -20 and +15.
But my values are down around 30% of stock
Enjoy!
I might cut proportional even more and cut the error time also.
Trying to make smaller quicker changes vs longer slower changes.
The proportional fuel moves the base BPW around to find the 14.7 crosspoint with the O2 sensor. The higher the number, the more fuel gets added OR subtracted.
The integral is how much time must pass if the 14.7 point is not found before it can make a fuel correction. If the time values in base table are exceeded, the VCM makes a short term fuel correction. While the table time can go up to seconds before making an adjustment, keep it in the millsecond range.
Both tables use an offset vs O2 error to speed things up if the error is greater.
So as long as your VE table is pretty spot on, you want the CL system to only make the bare-minimum adjustments... so I'm going to play with this to see if it helps my return to idle...
I'm also going to turn off the idle proportional to see if it does anything.
Of course, I've made adjustments there anyway. I locked in my switchpoints at 450 across the board and made some adjustments to the proportional based on some idle adjustments I found on HPT back in the day. Haven't changed anything since and it seems to be close.
One thing to note - I do have James Short looking at my airflow now. He's made a lot of adjustments and it's started to behave like a car again. Waiting on him to analyze my latest log and provide more feedback. So maybe I'll be close after that. Still bouncing off the idle and surging up as I come to a stop. But less so now.
And the answer is effectively - No, that's not the way the proportional fueling controller is designed to work.









