These days more and more cars are running closed loop at all engine loads. (‘Closed loop’ means that the output of the oxygen sensor effectively controls the mixtures.) In many cars this results in the air/fuel ratio always being around 14.7:1. It also means that making modifications to the air/fuel ratio becomes very difficult – the system will learn its way around changes made to airflow meter outputs, increased fuel pressure and so on.
In this story we take a look at the strategies that were used to modify the high load air/fuel ratios of a 1999 Toyota Prius, a hybrid petrol/electric car. (They are also strategies of relevance to anyone with a car always in closed loop!) The Prius runs closed loop all the time – the air/fuel ratio is 14.7:1 from the initial moments after a cold start, through to idle and then to full load. The upside of this is that the economy/emissions compromise is kept pretty well as optimal as possible, but the downside is that the maximum available power from the internal combustion engine is much lower than it could be.
In the case of my Prius, which has only a 43kW internal combustion engine and weighs around 1250kg, the result in one driving circumstance is terrible performance. That circumstance is when the high voltage battery that feeds the 30kW electric motor gets depleted. In the real world, that occurs only after holding full throttle for perhaps 40 seconds – so, a top speed event, or climbing a long, steep open road hill.
It’s the latter case which concerns me – I climb a long and very steep country road hill nearly every time I drive home.
When the high voltage battery is down in charge (shown by a warning turtle illuminating on the dashboard!), the performance is solely dictated by the 1.5-litre, 4000 rpm redline petrol engine. And the engine is so handicapped by its lean full-throttle air/fuel ratio that it’s fighting a losing battle. Not only is an air/fuel ratio (AFR) of 14.7:1 way leaner than is ideal for maximum power, but the combustion temperatures at this full-load AFR must be very high. I don’t know for certain, but I suspect that when held in this condition, detonation occurs and the knock sensor pulls back ignition timing, further increasing the temp of combustion. The vicious circle results in a full-throttle speed at the top of my hill that can be as low as 47 km/h...
It needs to be stressed that in normal driving the Prius is no slug – the combination of petrol and electric torque makes it respectable off the line and while no performance car, in normal country road use it is adequate. But not up this hill...
Therefore, the purpose of the modification was to provide a more power-friendly AFR at very high loads. In normal use, including at idle and in moderate acceleration, the factory AFR is fine.
So, how to change the AFR to achieve this outcome? Be warned: the effort took four days and lots of different techniques, most of which ended in failure. I suspect that the same may be the case when trying to modify other cars that are always in closed loop.
Oxygen Sensor Simulation
The Prius uses two narrow-band oxygen sensors. ‘Narrow band’ means that the sensors are designed to measure mixture strength only around 14.7:1 AFRs. That is, they are not designed to be able to accurately measure air/fuel ratios of say, 12.5:1. The output of the sensor is high when the AFR is richer than 14.7:1, and low when the AFR is leaner than 14.7:1. (For more on oxygen sensors, see The Technology of Oxygen Sensors.)
When the output of the oxy sensor is high (eg 800 millivolts) the ECU leans out the mixtures. When the output of the oxy sensor is low (eg 200 millivolts) the ECU richens the mixture. The result is that in closed loop a car has mixtures (and so an oxy sensor output) that rises and falls, a bit like a sine wave. The average AFR, however, hovers around stoichiometric, the chemically correct ratio of air to fuel that ensures best combustion. (And also allows the cat converter to work most efficiently.)
In the case of the Prius, as with many cars, one oxy sensor is located in front of the cat converter and the other after the cat. The ECU compares the waveforms of the oxy sensors to ensure that the cat converter is still working adequately. The way in which the waveforms differ is that the voltage fluctuations, and the frequency of those fluctuations, are lower for the sensor located behind the cat.
My initial idea was to enrich the mixtures by: (1) replacing the ECU input signals from the oxygen sensors with artificially simulated signals, and then when the system was in this condition, (2) change the airflow meter ECU input signal.
However, before the latter could occur, I needed to successfully replace the oxy sensor input signals without the ECU realising that it was no longer receiving the correct feedback.
With the help of Silicon Chip magazine’s John Clarke, this circuit was devised. It spits out an up/down waveform that can be varied for span (the distance from the top to the bottom of the waveform), offset (what the centre voltage of the waveform is) and frequency (how many up/down movements per second). The waveform is more triangular than sine-shaped, but in this application we didn’t think that would matter.
Two of these devices were built and then calibrated in frequency, span and offset so that their outputs matched (as much as possible, anyway) the output of the oxygen sensors. The oxy sensor outputs were monitored on a Fluke 123 Scopemeter digital oscilloscope, with the measurement made when the Prius was idling. However, a problem was then discovered. While the air/fuel ratio didn’t alter when these signals were switched-in at idle, at higher engine loads the story was quite different. In those conditions, switching in these simulated signals resulted in the air/fuel ratio immediately going very rich, eg 11.5:1. (Air/fuel ratios were being monitored with a Motec air/fuel ratio meter.)
The Scopemeter was then used to measure the front oxy sensor output at load. This waveform (the lower of the two shown here) looked quite different to the almost symmetrical waveform of the idling oxy sensor output. Instead of being a bit like a sine wave, it was very much a square wave – most of the time being spent with the voltage at about 850 millivolts with just very quick dashes down to low voltages! Yes, despite the fact that this output would appear to indicate that the mixture was rich, that’s apparently exactly how the Prius ECU liked it – the measured mixtures were still at 14.7:1.
Another circuit was then built. It was based on the variable duty cycle test board that is supplied with the LED Duty Cycle Meter kit now available. Knowing now that the oxygen simulator signal was going to be tricky to get right, great care was taken that the output of this simulator looked as much as humanly possible like the measured output of the front oxy sensor at high engine loads. The rear oxy sensor was temporarily reconnected (I only had one of the square wave output boards) and the new simulated oxygen sensor signal fed into the ECU in place of the front oxy sensor.
The result was the same: rich mixtures.
I then changed almost every aspect of the input signal, trying different duty cycles, different frequencies, etc. Nothing made any difference – the mixtures always went rich. (The exception was when the signal was kept permanently high – then they went lean.)
Frustrated, I then simply disconnected the oxygen sensors to see what would happen – there’d be no closed loop occurring then! What did happen was very interesting – the mixtures went precisely as rich as they had when I was simulating the sensors with the different circuits. In other words, none of my simulated oxygen sensor signals had ever been accepted by the ECU as meaningful (except perhaps at idle).
Luckily, in the case of this model Prius, no Check Engine light or similar comes on with the oxy sensors disconnected, although it is certain that some fault codes are lodged. So what about an alternative – and more primitive – strategy? That is, at times of high load, simply disconnect the oxy sensors? That would result in rich mixtures, and testing showed that when the sensors were reconnected, it took only a few seconds for the ECU to recognise their presence and bring mixtures back to 14.7:1.
A prototype of the Simple Voltage Switch kit (now available from the AutoSpeed shop) was used to monitor airflow meter output voltage. The set-point of the switch was adjusted so that it triggered only at high loads. The on-board DPDT relay was used to disconnect the two oxygen sensors when the relay tripped. In this way, high load mixtures were automatically enriched.
However, in this system the setpoint of the voltage switch then became critical. Set it too high and you had to be absolutely nailed to the floor to get the mixtures to go rich. That’s not really what was wanted, because in that situation having the throttle flat-strap flattens the high-voltage battery at the maximum rate. Instead what was wanted was very much like that which occurs in most cars – mixtures gradually sliding from 14.7 through to mid-13s through to (say) 12.5:1 or richer at full load. However, set the switch-point too early and there was a clear penalty in fuel consumption as the mixtures went straight to 11:1.
The solution was to use the Digital Fuel Adjuster kit. This device allows the alteration of the airflow meter signal either up or down, based on load sites derived from the actual signal. In other words, it takes the voltage signal coming from the airflow meter and allows adjustment of this voltage up or down in very small steps. It interpolates between the steps (ie smooths the curve of the adjustments) and when no changes are made to the signal, the input exactly equals the output.
In this case, at medium/high loads the Digital Fuel Adjuster (DFA) was used to lean-out the mixtures over the no-oxygen-sensor default of 11:1 to around 13.5:1, to about 12.5:1 at higher loads, and then at full load to actually set the air/fuel ratios to richer than resulting from the disconnection of the oxy sensors.
The Final System
So the final system works in this way:
This approach results in the AFR going progressively richer than standard as the load rises above the switch point. When the driver backs off, the ECU then needs to learn back to stoichiometric mixtures, which takes about 4-5 seconds.
The on-road performance results of the alteration to the air/fuel ratio have exceeded my most optimistic expectations. With two people on-board and in ‘turtle mode’ (ie with the high voltage battery exhausted), at the top of the long country road hill the Prius used to be as slow as 47 km/h. Further, the engine could always be felt to be straining – not running sweetly.
With the revised air/fuel ratio, the Prius can now do 67 km/h at the top of the same hill. That’s a stunning 43 per cent faster!
Further, the turtle is less likely to come on as early because once the engine load is greater than the switch-point (ie the transition to open loop has occurred), there is more power available from the petrol engine and so there is less load on the electric motor. In transient use (after all, the most common need for power is very short-lived), the engine is sweet and strong.
Economy? It’s very little changed. I assume that’s because the engine was previously working so hard at the top of the hill with retarded timing and lean mixtures that its economy in that situation was poor anyway. In normal use away from the killer hill, the Prius is using factory mixtures for the vast majority of the time – probably over 98 per cent of the running time. Emissions? Yes, the CO and HC emissions will be higher, but the oxides of nitrogen emissions are almost certainly lower. Either way, in an Australian context, the Prius would have no problems in passing an emissions test as the change to open loop mixtures occurs only at very high loads – which aren’t used in the test. Further, the real-world change in emissions is tiny, because the increased emissions occur for such a small proportion of the running time.
Lessons for Other Cars
I doubt if any Prius owners will follow in my footsteps – most Prius owners don’t seem to be much interested in modification! However, this story has important implications for those modifying cars that are normally always in closed loop.
Firstly, I couldn’t devise an oxygen sensor replacement signal that fooled the ECU into thinking it was in closed loop when it actually wasn’t. Secondly, disconnecting the oxy sensors might result in a harmless transition to rich mixtures in other cars as well – it’s the obvious factory safety strategy when the oxy sensor feedback signal is lost. Fine-tuning of those open-loop mixtures can then be carried out on cars with voltage outputting airflow meters by using the Digital Fuel Adjuster. The transition to open-loop can be by the voltage switch working on the airflow meter signal (before it’s intercepted by the DFA!) or by something as simple as a throttle switch.
Certainly, the performance that was realised in this case by using more appropriate high-load mixtures is startling....