Reading a narrowband o2 sensor

I am working on a project and need to read the voltages produced by the heater and sensor element on a narrowband oxygen sensor. I need to have ability to test if the sensor’s heater and sensor element is working properly. I have read several postings on how to read small voltages with the Arduino, but sill am not quiet understanding. Maybe someone has done this previously and can provide a bit of input on my project.

I have read that I might need an op amp to do this, but do not know which I might need. I need to read the sensor at a fairly high resolution. I am fairly new to the arduino, but do know basic coding with it. My main issue is understanding the correct circuit to read the sensor.

For the heater: I have a resistor connected on the low side of heater and was thinking that I could get a reading from the heater by probing on either side of the resistor. I believe if the heater is bad, open circuit, then I should not get any voltage on either side of the resistor. I have attached a picture below.

EDIT: I forgot to draw the 2 leading coming out of the SENSOR element, so just pre tent their are 4 wires coming out of the sensor.

Photo on 2-11-14 at 12.05 PM.jpg

Perhaps you have a datasheet on the actual sensor?

Are you testing the sensor in situ, or in isolation? If it's in the vehicle you can do a very quick and easy sanity test just by looking for the output state cycling high/low when the engine is (supposed to be) running closed loop. This will also give you advance warning when the sensor is getting dirty and starting to lag since the feedbacl loop runs slower and tends to overshoot more which you see as increased cycling times on the output. If the engine is cycling as expected then this is evidence that all the emissions control hardware is working correctly. If it isn't there is probably a fault somewhere - not necessarily in the O2 sensor.

This sensor is not in a vehicle. It is a new type of sensor that is being manufactured and needs to be tested. I figured out how to test the heater'a current, but I haven't figured out how to read the voltage the actual o2 sensor puts out. I believe it is between 200 to 500 mV.

Perhaps you have a datasheet on the actual sensor?

Hi, if you are testing a new type that is in production stage then go back to the designers and see what sort of circuit the ECU should have to read the sensor, and make a benchtop copy. The designers are who you should be talking too as they are supposed to know all about narrowband sensors.

Tom...... :slight_smile:

rrankin8801:
I believe it is between 200 to 500 mV.

So you want to be able to read changes between 0.2 and 0.5 volts? I think that is hard.

Maybe what you want is to have a reference voltage and then run that and your sensor ouput voltage though some sort of op-amp to give you a wider voltage range you can read and act on.

That might be a hardware solution. I don't know enough to know if you could use some sort of software scaling to go that way.