Found something intriguing in the plots. When the O2 Sensor voltage is oscillating nicely, it is possible to compare each 'lean' trough and 'rich' peak with the corresponding fuel injector pulse width (which should have a steady mean value when idling). Using the latest set of data:
injector duty.jpg
So as the sensor voltage falls, heading to 'lean, the Injector pulse width is increased by the ECU to get it back to around 0.5V. As that takes effect and the O2 overshoots that 0.5V point, heading to rich, the injector pulse width is reduced to cause the O2 voltage to decrease, and then repeats. So up to 516 sec all makes sense and looks good. But at 517 sec the O2 voltage is starting to rise but falls abruptly, not clear what causes that step change, but from this point on, the ECU does not increase the injector pulse width to get the O2 voltage back up. So one conclusion is that this really is a 'lean' condition, the O2 sensor is giving valid voltages for that condition and an anomaly is that the ECU did not try to increase the fuel delivery to correct it.
Not clear why the O2 voltage changes abruply, but the Air/Fuel plot shows at this point the slowly ramping ratio snaps to the magic 14.7, so is it that in this warm-up phase the ECU flags that its in closed loop, but infact its in open loop until the coolant temp reaches 35 degC then actually goes closed loop and sets the Air/Fuel ratio to the 14.7 target. Then at that point it is truely closed loop and closed loop just doesn't work, some other input or ECU or ECU connection (maybe CO pot?) is at fault? But I think this does show that the O2 Sensor is working correctly and showing a true lean condition. What do you think?
injector duty set.jpg
injector duty set-temp.jpg
injector duty set-closedloop.jpg
You do not have the required permissions to view the files attached to this post.