Ace Furnace Consulting Ltd


Ace Furnace

Budget multichannel O2 analyser based on automotive lambda probes and a Horner OCS PLC

Wideband automotive lambda probes provide a cheap and readily available sensor for oxygen measurement in combustion and furnace purge proving applications, particularly where measurements are needed in several places, or when cost considerations are paramount.


AceFurnace has developed a system based on off-the-shelf control components from Horner APG and readily available NTK zirconia cell lambda probes.


Using a single OCS (We have used the XLt ¼ DIN monochrome unit and the XL6 1 DIN colour OCS) and SmartMod analog input modules a cost effective multichannel analyser can be assembled. Up to 31 modules can be connected to one RS485 link, giving a theoretical maximum number of probe channels of 120. (15 x 8 channel HE359THM200 for mV and 15 x 8 channel HE359THM200 for temperature). The present unit is a 4 channel system using 2 x HE359THM100, one for the lambda probes and one for the temperatures.


Probe outputs are in the range -6 to +500 mV, so the -1000 to +1000 mV range on the THM module is ideal. Probe output varies with gas temperature, and calibration tables are provided for mV against O2 for temperatures of 20°C, 100°C and 200°C.


The lambda probe output is highly non-linear and approximates to the Nernst equation of the form mV = C log10[P1(O2)/P2(O2)] where C is a constant determined by the temperature and the probe characteristic. It is possible to decode the probe signal using a mathematical fit to the probe calibration data, and this is the method initially used. However, it did not prove possible to obtain a truly accurate fit to the probe data, particularly in the middle range around 8% oxygen, where the error was greatest, as the probe output deviates slightly from a theoretical fit. The controller was therefore programmed to use a 2D array look-up table method. In this method the probe calibration data was supplied to the OCS as a .CSV file on a microSD card. When the controller is initially powered up, it reads the data into the upper register ranges and then uses a recursive interpolation method to determine the value of oxygen from the mV input as follows:


1.   Place the first temperature and mV probe input values into the scan register.

2.   Call the decoder subroutine.

3.   Subroutine finds the values of mV bracketing the input value for the 30°C table, interpolates proportionally and uses this to interpolate               between the corresponding output O2 values. O2 value is stored.

4.   Repeat 3 for the 100 and 200°C tables.

5.   Subroutine finds the two temperature values bracketing the actual value, interpolates proportionally and uses this to interpolate between the stored values of O2 corresponding to the two bracketing tables.

6.   O2 value for channel 1 is stored and output to the display and network.

7.   Return to channel scanner.

8.   Channel scanner updates and places second temperature and mV probe input values into the scan register.

9.   Returns to 2 and decodes the next channel.

10.  Repeats for the maximum number of channels.


If desired, a calibration table with 2 or more points can be included where a similar interpolation method can be used to determine and add the error offset for a given measured O2.