Alfa Romeo/Alfa Romeo Digest Archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[alfa] Re: how did you test the mixture
In response to Simon Body's comments about O2 sensor functioning (AD-V9#855):
Simon,
despite a lot of self doubt your answer seems to me to be pretty accurate. Even the guess you made about the rapidly cycling O2 sensor voltage is pretty close to the truth. The reason that the voltage oscillates is because the O2 sensor is a highly non-linear device. The change in the air/fuel ratio required to cause it to swing between the minimum and maximum voltage is extremely small, meaning that the sensor gives an accurate measurement of the mixture only when it is very close to the target mixture (not sure this is necessarily stochiometric - it may actually be the best compromise point between emissions and performance).
Because the working range is so narrow, the sensor cannot be used to measure and correct the mixture with a proportional feedback loop, the normal method applied to simple control systems using linear sensors. Now, there is such a device as a "wideband" O2 sensor, accurate over a much wider range of mixture ratios. You'll find these used in F1 motors and the like. However, go price out a wideband fuel injection system and you will understand why these are not typically, if ever, used on mass produced street vehicles!
The "brain" does not pay much attention to the actual O2 voltage, since it is not very representative of actual mixture conditions, but instead monitors the bias voltage crossover events. By tracking the percentage of time a rich versus lean mixture is indicated, the computer can determine whether it needs to add or subtract fuel. In order to create these crossing points, the fuel mixture does have to vary up and down on a fequent basis. The exact algorithm may vary between manufacturers, but it is not done at a preset frequency because this would cause the ECU to assume the mixture was always at the target (50% duty cycle). Instead, I suspect it is done simply by building in a certain amount of overcorrection so that you are always hunting back and forth instead of hitting the target mixture dead on.
In modern ECUs there will be a fuel map, which is used to determine the predicted fuel requirement under the current conditions, including (as you mentioned) engine temperature, throttle position, rpms, etc. The computer will modify this prediction based on what it has learned about the engine's tendency to run too rich or lean under certain conditions from monitoring the sensor over time. It may have both short term and long term averages, contained in a number of "cells" mapped to different conditions. Older, less sophisticated computers such as those used in the early EFI Alfas probably use something rather less complex than this, but I'm not sure how it is done. Either way, it is not as simple as maintaining stochiometric conditions because a rich mixture is needed for smooth acceleration. The more you read about this subject, the more you realize how complex it can be!
By the way, although the bench test method you describe can determine if you have a bad O2 sensor, it is not the whole story. The reaction speed of the sensor to mixture changes is critical. A common failure mode is for the sensor to become sluggish. Given the way the ECU works, it should be clear that this can play havoc with the mixture control even though the sensor passes the basic bench test. So when you heat the sensor, it should respond with a change in voltage very quickly. For more detail than you ever wanted to know about O2 sensor testing, try the following link:
http://www.f-body.org/oldfaq/html/tech/sect2.html#oxysensor
And now back to your regularly scheduled programming...
Dave J..
1987 Milano Verde (Bosch EFI)
1964 2600 Sprint (hydrodynamic analog fuel injection, AKA triple Solexs!)
1994 Chevy Camaro (GM multiport EFI, with aftermarket FMU for blower)
--
to be removed from alfa, see /bin/digest-subs.cgi
or email "unsubscribe alfa" to majordomo@domain.elided
Home |
Archive |
Main Index |
Thread Index