Talking about Oxygen sensor, we are talking about the "mixture": rich or lean. Rich means less oxygen, lean will have more oxygen, and the O2 sensor must be placed to measure the gas in the exhaust manifold.
Oxygen sensor can be considered to be more complex and more advance comparing to other types of sensor. Instead of position, air flow, pressure etc... this senses only one type of gas: oxygen. So how do they do this? Answer: Must be a special material and some configurations.
Narrow band O2 sensor: 1-4 wires. Most advanced narrow band is the one with 4 wires: 2 heater wires, one positive one ground; 1 signal wire, one signal ground. Signal wire is normally with "live" colors, ground wire is often brown or black, 2 heater wires are the same, white or black etc...
Two common alternative materials are zirconium and titanium. These materials need to be in operating temperature in order to sense and conduct signal therefore having a 4-wire will save the car from having trouble waiting to be warmed up. The heater wires heat the material up quickly as soon as the car start to minimize the lack of oxygen sensing at the beginning minutes, which will eventually save some fuel, "healthier" emission and engine components.
This is how it works:
Taking the outside air as reference, the zirconium is sensitive to any incoming O++ molecules from the combustion. Then, the O++ molecules difference between the exhaust gas and reference air is balanced out when O++ from air churns through the zirconium sensor to the lacking O++ gas that the exterior platinum electrode is experience. Basically, this means that the interior platinum has more contact with O++ while the exterior has less contact with O++. Because zirconium is conductive when hot, and in term of positive/negative charges the interior is always more positive than the exterior, so here goes our voltage signal generated by this difference.
When the mixture is rich, less Oxygen left out the exhaust, hence chances of O++ is less, the difference is GREATER, the zirconium conducts a greater voltage signal. When the mixture is lean, more Oxygen left out means more O++ likeliness, the O++ difference is lessened, hence smaller voltage signal.
(An example of narrow band O2 sensor's signal behaviors in different load conditions will soon be added)
Oxygen sensor on vehicle:
First, locate the oxygen sensor. Old cars usually have 1 oxygen sensor and that is before the catalytic converter, so the raw, toxic exhaust gas is accurately measured. Plus, they also have narrowband O2 sensors as common, and this one on a 1993 Daihatsu by Toyota is 4 wired, black-black-white-blue for heater+_heater-_GroundE2_Signal+. Oxygen sensor like this, is pretty old and the signal will be slow and inaccurate. Although, a 4-wire narrow band can heat up faster until it reaches its operating temperature. With an oscilloscope, we can still determine the signal's behaviors at different engine loads which bring different mixtures to the test.
Setting up the oscilloscope is as simple as setting up a multimeter. But there is some configs need to be adjusted like time range, voltage range, because what it gives us not only voltage signal but also the behavior graph.
As we all now aware, the high signal indicates rich mixture/low 02 and low signal is lean mixture/high 02. But in reality, what streaming through the O2 contact layer is not clearly rich or lean, it is fluctuating from rich to lean rapidly and normally about 8-10 fluctuations per 10 seconds. It is also hard to tell if it's zirconia or titania, since their signals behave slightly different:
Zirconia signal is cycling just like titania, same basic amplitude and frequency, but their shapes are different:
Zirconia:
Titania
This is the signal recorded at warmed idle:
Note that the amplitude varies between 0-1 V, and the shape is more likely sharp ended, not as clear and digital likeliness as titiania. So we can conclude this one as an old little inefficient zirconia O2 sensor. In 10 seconds there are only 4 cross counts, so the data is not rapid enough for the ECU to decide quicker and more accurate, hence efficiency is loss. Plus the shapes are irrational, harder for ECU to cross-counts.
Warming up at 2500rpm: this is the condition that the engine is not fully warmed up and not completely into closed loop, intermittent O2 reading experienced:
Note that there is a high cross count that reaches nearly 1V that lasted about 2 seconds, this is the fast flow of mixture that helps increase the engine speed to 2500 rpm, then it doesn't take much because the engine stop accelerating. The rest of the pattern seems acceptable but low amplitude suggests that the engine is not fully in closed loop, meanwhile there are about 15 cross counts in 10s.
Reving up several times after warm idle:
While range of amplitude is not much different that what of idling, the cross counts seem to accumulate much faster in 2 seconds. This indicates that the mixture reaches maximum voltage more frequently hence the engine is putting more fuel to burn. The average voltage will also be much higher than what of ilding, as we can see the minimum voltage gradually increases as we keep this up. This behavior is different than keeping the engine @ 2500 rpm because we rapidly accelerate, hence the load is more frequently pressed.
Sudden deceleration from 3000rpm
@ 3000rpm, the waves look similar to 2500rpm, except for the higher minimum. The recession gap in between,note that the minimum goes as low as 0V, is the sudden deceleration indicating that the ECU has sensed this and put suddenly less fuel for that moment, then the reading is back to its long moment of recovery. And soon enough the graph will shape like warm idle.
Sensor respond time: should be <100 ms (almost instantly)
This shows that the sensor's respond to sudden load change is still acceptably quick
Overall, this oxygen sensor has still been able to shown at least the basic characteristics of each load condition, although it lacks a lot of accuracy and consistency as data is quite intermittent in general.