O2 Input 0-5v Modification

29,538

O2 Input 0-5v Modification
O2 Input 0-5v Modification

Software available on PGM-Fi.org and from Hondata utilizes the Honda ECU's oxygen sensor input to facilitate real-time display and data logging of wideband oxygen sensors. This process involves connecting the analog output from the wideband sensor's controller to the stock (narrowband) O2 input. The established relationship between voltage and air-fuel ratio (AFR) is then input into the software being used, enabling it to log actual values. The wideband setup purchased from Innovate Motorsports features two independent programmable outputs with a maximum operational range of 5V. This allows configuration of each output to provide a voltage between 0-5V in a linear relationship to AFR within the controller's operating range, typically from 10:1 to 20:1 AFR. The optimal configuration would be 0V for 10:1 and 5V for 20:1, but limitations of the stock ECU restrict this. The stock Honda O2 sensor input can only read a maximum of around 3.8V, which is not an issue when using the stock narrowband O2 sensor, as it operates around the 1V level. While it is possible to configure the wideband controller to output from 0-3.8V for 10:1 to 20:1 AFR, achieving a 5V readout would enhance accuracy. Another challenge arises because many wideband O2 controllers (such as AEM and TechEdge) do not permit modification of the wideband signal output, leading to any AFR above the 3.8V threshold being unreadable. Various individuals have previously employed operational amplifiers (op-amps) to rescale the 0-5V output of these wideband controllers to comply with the ECU's constraints. Although this method is functional, a more refined solution is preferable. To address this limitation, tracing of the input stage for the O2 sensor input was initiated, as most other analog inputs on the ECU can accommodate up to 5V. A block diagram of the O2 sensor input stage of the USDM P28 ECU is provided below, confirming that many other OBD-1 ECUs operate similarly. The diagram highlights three main components: an operational amplifier (NJM2904), a multiplexer (MC14051), and one of the analog-to-digital converter (ADC) inputs from the 66207. The diagram is simplified and focuses on relevant components. The analog multiplexer functions as a multi-pole switch with multiple inputs and a single output directed to the ADC. The multiplexer includes pins that allow the ECU's processor to select the input to be read at any moment, cycling through all inputs rapidly. This enables the ECU to capture snapshots of various inputs using only one ADC input, optimizing cost by converting a single input channel into multiple channels. The time taken by the CPU to scan all inputs and return to the start is not a concern, as the signals being read do not change rapidly. The CPU switches between inputs quickly compared to the speed of input signal changes, making it effectively similar to a direct ADC input. The ADC converts the analog voltage (0-5V in this case) into a numerical representation that the CPU can process and store in memory. It is important to note that the ADC is designed to read from 0-5V, although the O2 input is processed to limit the maximum voltage observed by the ADC to 3.8V. A straightforward method to identify the issue would be to apply 5V to the O2 input and monitor for changes along the signal path. Upon doing so, it was found that the op-amp stage was limiting the voltage perceived by the ECU. Consequently, the op-amp was bypassed by lifting a resistor and applying 5V directly to the multiplexer, resulting in the ECU registering values up to 5V (or as close as possible) — a significant improvement.

The described circuit involves careful consideration of voltage levels and signal processing within the Honda ECU's architecture. The use of a wideband O2 sensor in conjunction with the stock ECU necessitates a thorough understanding of the analog input processing stages. The operational amplifier (NJM2904) serves to amplify the signal, but its limitations require strategic modifications to achieve optimal performance. The multiplexer (MC14051) efficiently routes the selected input to the ADC while maintaining signal integrity. The ADC, typically configured to convert voltages from 0 to 5V, is crucial for translating analog signals into a digital format that the ECU can utilize for engine management purposes.

In practical applications, ensuring compatibility between the wideband output and the ECU input is paramount. Modifications to the circuitry, such as bypassing the op-amp, demonstrate the necessity for iterative testing and validation of circuit behavior. The implementation of a feedback loop or additional filtering may further enhance the stability and accuracy of readings, particularly in dynamic operating conditions. Overall, this circuit exemplifies the intersection of analog signal processing and digital control systems in automotive applications, highlighting the importance of careful design and adaptation to meet specific performance criteria.Software such as that available on PGM-Fi. org and from Hondata make use of the Honda ECU`s oxygen sensor input to allow real time display and data logging of wideband oxygen sensors. This involves feeding the analogue output of the wideband sensor`s controller in through the stock (narrowband) O2 input.

The known relationship of voltage to AFR is then entered into the software package you are using to allow it to log a real world value. The wideband set-up I purchased a while ago from Innovate Motorsports features two independent programmable outputs with a maximum 5v range of operation. This allows you to set each output to supply a voltage of 0-5v in almost any linear relationship to AFR in the controller`s operating range, typically 10:1-20:1 AFR.

The most logical way to configure the unit would be 0v for 10:1 and 5v for 20:1, but there is a limitation with the stock ECU that prevents us from doing this. The stock Honda O2 sensor input will only read to a maximum of around 3. 8v, this does not present any problem when the stock narrowband O2 sensor is used as hovers about the 1v area in operation.

While you could just configure your WB controller to output from 0-3. 8v from 10:1 to 20:1 AFR, it would be a lot more accurate if you could read to 5 volts. Another problem is that many WB O2 controllers (like the AEM, TechEdge etc) do not allow you to alter the wideband signal output - this means any AFR above the 3. 8v threshold will not be read! Various people in the past have used op-amps to rescale the 0-5v output of these wideband controllers to meet the restraints of the ECU, and while it gets the job done it would be nice to have everything done properly.

To get around this limitation I started tracing the input stage to for the O2 sensor input, as most other analogue inputs on the ECU will read to 5 volts. A block diagram of the O2 sensor input stage of the USDM P28 ECU is shown below - I have checked many other OBD-1 ECU`s and they all operate in a similar fashion.

Three main components are shown, an Op-Amp (NJM2904), Multiplexer (Mux) (MC14051) and the ubiquitous 66207, or more correctly one of the 66207`s analogue to digital converter (ADC) inputs. The diagram is simplified and only shows what we are concerned with. The analogue Mux is best thought of as a multi-pole switch with many inputs and one output (which is fed to the ADC) as the switching action does not affect the signal on its way through.

The Mux has pins that allow the ECU`s processor to select which input it wants to read at any one time, and the ECU cycles through all of the inputs very fast - this allows it to take a snapshot of many different inputs, with only one ADC input. This saves money, as what would be one input channel now becomes many. The time the CPU takes to scan all of these inputs and get back to the start does not worry us here, as the signals it is reading do not change fast enough to be a concern - the CPU "switches" between inputs very fast compared to the speed of change of the input signal, so for all intents and purposes its as good as a direct ADC input.

The ADC is converts the analogue voltage of 0-5v in this case into a numerical representation of that voltage that the CPU can understand, and store in its memory. Notice I say 0-5v - this is because the ADC is actually configured to read from 0-5v although the O2 input is processed so to limit the maximum voltage the ADC sees to 3.

8v. The most simple way to find out what the problem is would be to apply 5v onto the O2 input, and watch for it becoming altered along the route. That done it was discovered that the Op-Amp stage was limiting the voltage seen by the ECU. This being the case I bypassed the op-amp by lifting a resistor and applied 5v directly to the Mux, and without much surprise we now see the ECU reading to 5v (or as close as it will ever get) - great stuff!

That done, another problem reared its head. I 🔗 External reference