Silicon ChipUsing A Wideband O₂ Sensor In Your Car, Pt.1 - September 2009 SILICON CHIP
  1. Outer Front Cover
  2. Contents
  3. Publisher's Letter: Low sunspot activity presages solar cooling
  4. Project: High-Quality Stereo Digital-To-Analog Converter, Pt.1 by Nicholas Vinen
  5. Project: Using A Wideband O₂ Sensor In Your Car, Pt.1 by John Clarke
  6. Feature: Introducing OLED Displays by Mauro Grassi
  7. Review: At Last . . . An Affordable Logic Analyser by Geoff Graham
  8. Feature: Pebble: PICAXE Electronic Bread Board Layout Emulator by Wayne Geary
  9. Project: Build A Simple Seismograph On A Protoboard by Stan Swan
  10. Project: Autodim Add-On For The 6-Digit GPS Clock by Jim Rowe
  11. Project: 3-Channel UHF Rolling-Code Remote Control, Pt.2 by John Clarke
  12. Vintage Radio: The Kellogg TRF receiver by Rodney Champness
  13. Book Store
  14. Advertising Index
  15. Outer Back Cover

This is only a preview of the September 2009 issue of Silicon Chip.

You can view 33 of the 104 pages in the full issue, including the advertisments.

For full access, purchase the issue for $10.00 or subscribe for access to the latest issues.

Items relevant to "High-Quality Stereo Digital-To-Analog Converter, Pt.1":
  • 4-Output Universal Regulator PCB [18105151] (AUD $5.00)
  • High-Quality Stereo DAC Input PCB [01109091] (AUD $10.00)
  • High-Quality Stereo DAC main PCB [01109092] (AUD $10.00)
  • High-Quality Stereo DAC front panel PCB [01109093] (AUD $7.50)
  • ATmega48 programmed for the Stereo DAC [0110909A.HEX] (Programmed Microcontroller, AUD $15.00)
  • ATmega48 firmware and C source code for the Stereo DAC [0110909A.HEX] (Software, Free)
  • Stereo DAC Digital/Control board PCB pattern (PDF download) [01109091] (Free)
  • Stereo DAC Analog board PCB pattern (PDF download) [01109092] (Free)
  • Stereo DAC Switch board PCB pattern (PDF download) [01109093] (Free)
Articles in this series:
  • High-Quality Stereo Digital-To-Analog Converter, Pt.1 (September 2009)
  • High-Quality Stereo Digital-To-Analog Converter, Pt.1 (September 2009)
  • High-Quality Stereo Digital-To-Analog Converter, Pt.2 (October 2009)
  • High-Quality Stereo Digital-To-Analog Converter, Pt.2 (October 2009)
  • High-Quality Stereo Digital-To-Analog Converter, Pt.3 (November 2009)
  • High-Quality Stereo Digital-To-Analog Converter, Pt.3 (November 2009)
  • A Balanced Output Board for the Stereo DAC (January 2010)
  • A Balanced Output Board for the Stereo DAC (January 2010)
Items relevant to "Using A Wideband O₂ Sensor In Your Car, Pt.1":
  • PIC16F88-I/P programmed for the Wideband Oxygen Sensor Controller [0511009A.HEX] (Programmed Microcontroller, AUD $15.00)
  • PIC16F88 firmware and source code for the Wideband Oxygen Sensor Controller [0511009A.HEX] (Software, Free)
  • Wideband Oxygen Sensor Controller PCB pattern (PDF download) [05110091] (Free)
Articles in this series:
  • Using A Wideband O₂ Sensor In Your Car, Pt.1 (September 2009)
  • Using A Wideband O₂ Sensor In Your Car, Pt.1 (September 2009)
  • Using A Wideband O₂ Sensor In Your Car, Pt.2 (October 2009)
  • Using A Wideband O₂ Sensor In Your Car, Pt.2 (October 2009)
Items relevant to "Autodim Add-On For The 6-Digit GPS Clock":
  • 6-Digit GPS Clock Autodim Add-On PCB [04208091] (AUD $5.00)
  • 6-Digit GPS Clock Driver PCB [07106091] (AUD $15.00)
  • 6-Digit GPS Clock Main PCB [04105091] (AUD $25.00)
  • PIC16F877A-I/P programmed for the 6-Digit GPS Clock [0410509E.HEX] (Programmed Microcontroller, AUD $20.00)
  • PIC16F877A firmware and source code for the 6-digit GPS Clock [0410509E.HEX] (Software, Free)
  • 6-Digit GPS Clock Autodim Add-On PCB pattern (PDF download) [04208091] (Free)
Items relevant to "3-Channel UHF Rolling-Code Remote Control, Pt.2":
  • PIC16F88-I/P programmed for the 3-Channel Rolling Code UHF Remote Control Transmitter [1500809A.HEX] (Programmed Microcontroller, AUD $15.00)
  • PIC16F88-I/P programmed for the 3-Channel Rolling Code UHF Remote Control Receiver [1500809B.HEX] (Programmed Microcontroller, AUD $15.00)
  • PIC16F88 firmware and source code for the 3-Channel UHF Rolling Code Remote Control [1500809A/B.HEX] (Software, Free)
  • 3-Channel UHF Rolling Code Remote Control Transmitter PCB pattern (PDF download) [15008091] (Free)
  • 3-Channel UHF Rolling Code Remote Control Receiver PCB pattern (PDF download) [15008092] (Free)
  • 3-Channel UHF Rolling Code Remote Control Receiver front panel artwork (PDF download) (Free)
  • 3-Channel UHF Rolling Code Remote Control Transmitter front panel artwork (PDF download) (Free)
Articles in this series:
  • A 3-Channel UHF Rolling-Code Remote Control, Pt.1 (August 2009)
  • A 3-Channel UHF Rolling-Code Remote Control, Pt.1 (August 2009)
  • 3-Channel UHF Rolling-Code Remote Control, Pt.2 (September 2009)
  • 3-Channel UHF Rolling-Code Remote Control, Pt.2 (September 2009)

Purchase a printed copy of this issue for $10.00.

Using a wideband O2 sensor in your car, Pt.1 For accurate measurement of air/fuel ratios This Wideband Controller is intended to be used with a Bosch Wideband LSU4.2 oxygen sensor and our Wideband Sensor Display to accurately measure air/fuel ratios over a wide range from rich to lean. It can be used for precise engine tuning and can be a permanent installation in the car or a temporary Main Features connection to the tailpipe of the exhaust. • • • • • • • • • • Accurate lambda measurements Pre-calibrated sensor S-curve output S-curve response rate adjustment Heat indicator LED Data indicator LED Engine started detection option Correct sensor heat-up rate implemented Heater over-current and undercurrent shutdown Optional fast heat-up if correct conditions are met 26  Silicon Chip By JOHN CLARKE F OR PRECISE ENGINE tuning and mod­ification an accurate air/fuel ratio meter is a “must have”. An engine that runs rich will use excessive fuel and cause air pollution while an engine that runs too lean may be damaged. Unfortunately, trying to diagnose engine mixture problems with the standard narrowband oxygen sensor fitted to all cars is quite difficult. While it is good enough to indicate the stoichiometric mixture for use by the ECU, it is only accurate over a very narrow band; that it why it is called a narrowband sensor. Typically, most engines should run with a stoichiometric mixture except when accelerating where the mixture may go richer. Alternatively, during cruise conditions and engine overrun, the mixtures might go lean. In contrast, siliconchip.com.au some engines run at stoichiometric continuously, regardless of engine load. So why do you need a controller for a wideband oxygen sensor? In brief, it’s because a wideband sensor is very different from a narrowband sensor. In its most basic form, a narrowband sensor has only one wire and this is the sensor output. There is another connection via the metal frame of the unit. Other narrowband sensors have an internal heater and these units may have three or four wires. Fig.1 shows a cross-section of a typical narrowband sensor. By contrast, a wideband sensor has six wires. This is because it comprises a narrowband oxygen sensor, a heater and an oxygen ion pump which diffuses oxygen ions into or out of the chamber which is monitored by the narrowband sensor. Fig.2 shows the basic set-up for a wideband oxygen sensor installation. At left is the wideband sensor with its six leads which are all connected to the wideband controller module. The controller module then has two outputs. First, there is an S-curve output which simulates the output of a narrowband sensor and can be used by the car’s ECU to control fuel delivery to the engine. Second, there is a linear 0-5V output which drives the Wideband Display Unit (as published in the November 2008 issue of SILICON CHIP). S-curve characteristic The S-curve characteristic is shown in the graph of Fig.3 while the linear 0-5V output is shown in Fig.4. A voltage of 0V indicates a rich mixture (lambda 0.7) while 5V indicates a lean mixture (lambda 1.84). Lambda values for other voltages are calculated using the equation: Lambda = V x 0.228 + 0.7 Note that a multimeter could be used to measure the wideband output voltage instead of the Wideband Display unit. However, most readers will want the combined bargraph and digital display of the latter. Note also that the lambda value is simply the ratio of the air/fuel ratio compared to the stoichiometric air/ fuel ratio. For petrol, it is generally accepted that the stoichiometric air/ fuel ratio (the mass of air required to completely burn a unit mass of fuel) is 14.7:1 but this can drop to 13.8:1 when 10% ethanol is added. siliconchip.com.au Fig.1: what’s inside a narrowband zirconia oxygen sensor. It consists of a zirconia ceramic sensor element with thin platinum electrodes on both sides. A lambda of 0.7 for petrol is the same as an air/fuel ratio of 0.7 x 14.7 or 10.29:1. Similarly, a lambda of 1.84 is an air/fuel ratio of 27.05:1. The stoichiometric air/fuel ratio is typically 15.5:1 for LPG and 14.5:1 for diesel. These values can differ depending on the actual fuel composition and for diesel it varies between the winter and summer fuels. In fact, lambda is probably the best measure of air/fuel mixtures since it is a universal value and not dependent on the specific fuel. Before we describe how a wideband sensor and its associated controller work it is best to become familiar with the operation and characteristics of the narrowband sensor. If you are not sure how narrowband oxygen sensors work we had a full description of this topic in the November 2008 issue of SILICON CHIP. As noted above, wideband sensor design is based on the narrowband Zirconia oxygen sensor but it includes a clever method to obtain a more linear response. This involves a second chamber incorporating a pump cell where exhaust gas enters via the diffusion gap. The oxygen measurement is made within this diffusion gap. The pump cell moves oxygen ions into or out of the diffusion gap in order to maintain a stoichiometric measurement for the sensor cell. If the measured mixture is lean, then the sensor cell detects excess oxygen. The pump cell then drives oxygen ions out of the diffusion gap until the Fig.2: here’s how the Wideband Controller is used with a wideband oxygen sensor and with the Wideband Display described in November 2008 to provide accurate air/fuel mixture monitoring. As shown, the Wideband Controller has both a wideband output and a narrowband (S-curve) output. September 2009  27 Fig.3: the S-curve output from the Wideband Controller simulates a narrowband sensor output (the response follows the Bosch LSM11 narrowband sensor curve). Note the steep slope in the curve at stoichiometric (ie, lambda = 1). sensor cell measures a stoichiometric mixture. Conversely, if the mixture is rich, oxygen ions are pumped from the surrounding exhaust gas into the diffusion gap until the sensor cell reaches its stoichiometric measurement. As a result, the current applied to the pump cell can be either positive or negative, depending on whether oxygen is pumped into or out of the diffusion gap. At this point, it may seem as though the oxygen pump Fig.4: the wideband output from the Wideband Con­ troller is linear with respect to lambda values from 0.7-1.84. The resulting signal is ideally displayed on the SILICON CHIP Wideband Display Unit from the November 2008 issue. actually tricks the narrowband sensor into “thinking” that the mixture is stoichiometric. This might seem to defeat the purpose of having the narrowband sensor at all but bear with us; all will be revealed. Wideband controller Fig.5 shows the basic scheme for a wideband controller. Vs is the output voltage from the oxygen sensor cell while Ip is the current into or out of the pump cell. At the stoichiometric Fig.5: the basic scheme for a wideband oxygen sensor and its associated controller circuit. 28  Silicon Chip point, Vs is 450mV and this is compared against a 450mV reference. If Vs is higher than the 450mV reference, the mixture is detected as “rich” and the Vs sense comparator output goes high. This “informs” the controller that Ip needs to change, to pump oxygen ions into the diffusion gap in order to regain a stoichiometric measurement. Similarly, if Vs is lower than the 450mV reference, the exhaust mixture is detected as “lean” and the comparator output goes low. As a result, the controller adjusts Ip to pump oxygen out of the diffusion gap. Note that if there is no Ip control, the sensor cell behaves like a standard narrowband sensor with an output voltage above 450mV for rich mixtures and below 450mV for lean mixtures. However, with current control, the pump current is adjusted to maintain a 450mV reading from the sensor cell. Variations in the sensor cell voltage indicate the change in mixture in either the rich or lean direction, while the Ip current shows whether the mixture is actually rich or lean. A negative Ip current indicates a rich mixture and positive current a lean mixture. The amount of current indicates the lambda value. Fig.6 plots oxygen content against pump current Ip for lean mixtures. siliconchip.com.au Note that the graph is almost linear. The controller converts Ip current to an equivalent lambda value for display on the Wideband Display Unit. Ip is sensed by measuring the voltage across the 62Ω 1% resistor (in parallel with Rcal). However, during the manufacture of each sensor, the actual resistor used by Bosch is 61.9Ω (a 0.1% tolerance value from the E96 range). Rcal is trimmed so that the voltage across this resistor, measured against lambda, is the same for each sensor. In fact, Rcal can vary from 30Ω to 300Ω, depending on the characteristics of the individual sensor. Hence, the value for Ip shown on the vertical axis of Fig.6 (and Fig.9 which we will come to later) is not the total pump current. Ip in these graphs only relates to the voltage across the 62Ω resistor. So while Fig.6 shows Ip varying between zero and about 2.55mA, the actual range could vary from 0mA to 3.07mA if Rcal is 300Ω or up to about 7.8mA if Rcal is 30Ω. This is really only of academic interest but we mention it for the sake of completeness. The same convention is used by Bosch in its application literature on the LSU4.2 wideband oxygen sensor. Oxygen Concentration 0.0% 3.0% 6.0% 8.29% 12.0% 20.9% Measured Ip 0.00mA 0.34mA 0.68mA 0.95mA 1.40mA 2.55mA Fig.6: this graph plots the oxygen concentration against the Ip current for the lean measurement region where there is 0% or more remaining oxygen. Note that the current with respect to oxygen content is almost linear. The marked points on the graph have the values shown in the table. Fig.7: the temperature of the sensor cell is monitored by measuring its impedance using the circuit configuration shown here. Heater element control Apart from controlling the oxygen pump, the Wideband Controller also controls a heater element so that the sensor’s temperature is maintained at approximately 750°C. In fact, the sensor doesn’t provide accurate readings until this temperature is reached. There is no temperature probe within the sensor and so the temperature is measured by monitoring the impedance of the sensor cell. This has an impedance above 5kΩ at room temperature, falling to 80Ω at 750°C. We measure the impedance of the sensor cell by applying an AC signal to it. Fig.7 shows the circuit arrangement. A 5Vp-p (5V peak-to-peak) AC signal is applied to the sensor cell via a 220nF capacitor and 10.5kΩ resistor. The capacitor ensures that the sensor receives AC with no DC component and the resistor forms a voltage divider in conjunction with the impedance of the sensor cell. When the sensor cell is 80Ω, the voltage swing across the sensor cell is 37.8mVp-p. Amplifier IC5a has a gain of 4.7 so its output is 177mV peak-peak. The microcontroller maintains that value by controlling the heater current. siliconchip.com.au Fig.8: the heater element is controlled by a Mosfet that switches the power on and off. Temperature control is achieved by driving the Mosfet with a PWM signal to vary its duty cycle. Fig.8 shows how the heater is controlled. The gate of Mosfet Q1 is driven with a pulse width modulated (PWM) signal to control the heater current over a wide range. The Mosfet current is monitored via a 0.1Ω resistor in series with its source. The voltage across this resistor is filtered via a 22kΩ resistor and 100µF filter capacitor and fed to the microcontroller (input AN5). Should the heater become disconnected or open circuit, the lack of current will be detected and this will switch off the Wideband Controller functions. Similarly, if the heater current is excessive, the controller will switch off the heater. Note that when the Wideband Controller is first switched on, the heater must heat up gradually to minimise thermal shock to the ceramic sensor. Our circuit uses an initial effective heater voltage of 7.4V that rises at a September 2009  29 Fig.9: this diagram shows the general arrangement for the pump sensor control and the sensor cell measurement. Buffer stage IC4b supplies current to the pump cell via trimpot VR5 and the paralleled Rcal and 62Ω resistors. The other side of the pump cell connects to a 3.3V supply (formed using buffer stage IC2b and set by trimpot VR3 – see Fig.12). this higher effective heater voltage at start up will shave three seconds off the preheat period. This faster heat up requires a software change and this will be discussed next month. Note that we use the term “effective heater voltage” rather than “voltage” because the effective heater voltage is the RMS value of the pulse waveform applied by the Mosfet. In order to monitor the heater voltage, we also have to monitor the battery voltage which can be from around 12V before the engine starts up to more than 14V when the engine is running. As shown in Fig.8, the battery voltage is measured using a voltage divider comprising 20kΩ and 10kΩ resistors, together with a 100nF capacitor to filter out voltage spikes. To sum up, the impedance of the sensor cell is constantly monitored and as soon as it reaches 80Ω the preheat is complete and power to the heater is controlled to maintain this value. Once the sensor has reached operating temperature (750°C), the pump control circuit begins to operate. Pump sensor control Fig.10: this graph plots the Ip current versus lambda for the wideband sensor. The curve in the lean region (lambda = 1-1.84) was developed from the oxygen concentration graph shown in Fig.5 and the equation ((Oxygen percentage/3) +1)/(1 - 4.76 x Oxygen percentage) to give a 20-step piecewise linear graph. The intermediate values were then calculated by interpolating between adjacent calculated values. For the rich region, the 4-step graph provided by Bosch is used. rate of 73.3mV every 187.5ms. This is 0.390V/second and just under the maximum rate of 0.4V/s specified by Bosch. The initial effective heater voltage depends on the sensor temperature and ranges from 7.4V at -40°C to 8.2V at 20°C. The Wideband Controller 30  Silicon Chip always starts at the -40°C value. For a permanently installed sensor, heating can begin from a higher initial effective voltage of 9V at -40°C. This is provided that the sensor is installed in accordance with the mounting requirements specified by Bosch. Using Fig.9 shows the general arrangement for the pump sensor control. Buffer op amp IC4b supplies current to one side of the pump cell via trimpot VR5 and the paralleled Rcal (inside the wideband sensor) and 62Ω resistors. The other side of the pump cell connects to a 3.3V supply. When the output of IC4b is at 3.3V, there is no current through the pump cell. For positive current through the pump cell, IC4b’s output goes above 3.3V. Conversely, when IC4b’s output is below 3.3V, the pump cell current is negative. IC4b can swing between 5V and 0V, to allow for the current range required for the 1.84 to 0.7 lambda extremes of measurement. The pump cell current (Ip) is monitored using op amp IC5b which has a gain of 25.45. Fig.10 shows a graph of Ip versus lambda for the wideband sensor. The curve in the lean region (lambda from 1-1.84) was developed from the oxygen concentration graph shown in Fig.6 and the equation: ((Oxygen% ÷ 3) +1)/(1 - 4.76 x Oxygen%) to give a 20-step linear graph. For the rich region, the 4-step graph provided by Bosch is used. Another calculation is made to consiliconchip.com.au A Look At Narrowband Oxygen Sensors Narrowband oxygen sensors are installed on most modern cars. They are used to monitor the air/fuel ratio from the engine exhaust but they really are only accurate for measuring the stoichiometric mixture value. The stoichiometric mixture is where there is just sufficient oxygen for the whole of the fuel to be completely burnt. Under these conditions, a car’s catalytic converter can work best at converting combustion byproducts to less harmful compounds. Carbon monoxide (CO) is converted to carbon dioxide (CO2), unburnt hydrocarbons to carbon dioxide (CO2) and water (H2O) and nitrous oxide (N0) to nitrogen (N2). When a vehicle is running with a stoichiometric mixture, the engine management unit is constantly monitoring the oxygen sensor and altering the fuel so the mixture remains constant. The sensor output under this controlled condition tends to rise to around 480mV as the mixture goes ever so slightly rich before the ECU reduces fuel so that the mixture becomes very slightly lean at about 420mV. The sensor output therefore oscillates about the stoichiometric output at 450mV. Under these oscillations the system is said to be in closed loop. Richer or leaner mixtures from stoichiometric result in the sensor output voltage going much higher or lower than 450mV. However, the response from the sensor is very steep at stoichiometric such that the vert the lambda value to the voltage required at the wideband output as shown in Fig.4. Similarly, the lambda value is converted to an S-curve response for the narrowband S-curve output. This curve is shown in Fig.3. A further complication with the pump current is that it is dependent on exhaust back pressure. Fig.11 graphs the change in Ip versus pressure. This can be matched with the Lambda vs. Ip graph (Fig.10) to determine the effect on the readings. Note that exhaust pressure does not have an effect on stoichiometric readings because the Ip current is zero. Op amp IC5a monitors the sensor cell voltage. Its gain is 4.7. Trimpot VR4 is used to provide an offset voltage which is buffered by IC4a. VR4 is set so that IC5a’s output is 2.5V when the sensor cell voltage is 450mV. The misiliconchip.com.au sensors output can range from 150mV through to about 750mV with very little change in the mixture. The output response for a typical narrowband sensor is shown in Fig.3. For other mixtures (ie, when it is rich or lean), the sensor output can only be used as a guide to the actual air/fuel ratio. For rich mixtures there is unburnt fuel in the exhaust and a narrowband sensor produces a voltage that can vary from typically 0.75V to 0.9V, depending on the fuel mixture. For lean readings where there is excess oxygen in the exhaust, the sensor output will generally be below 150mV. When a vehicle is running in the rich or lean region, the control is said to be open loop where the mixture is not controlled. Rich mixtures are often set to provide improved acceleration response, while lean mixtures are often initiated during cruising to reduce fuel consumption. Additionally, the response within the rich region is very temperature dependent and can vary by several hundred millivolts between when the sensor is cold compared to when heated by the exhaust. Some sensors include a heater element but unless it is controlled to maintain a constant temperature, the mixture readings are inaccurate. For accurate rich and lean readings off stoichiometric, some other way of measuring the mixture is required. The Bosch LSM11 narrowband “lean” sensor provides a more accurate response to air/ fuel mixtures than most other narrow­band sensors and has been called a wideband sensor. However, this sensor is not a true wideband sensor and has the characteristic steep curve response at stoichiometric. It was the recommended sensor for use with our Air-Fuel Mixture Meter described in September and October 2000. Wideband sensors, however, introduce a new era for accurate air/fuel ratio measurements. Fig.2 shows how a narrowband zirconia oxygen sensor is made. It’s typically about the size of a spark plug and is threaded into the exhaust system so that the sensor is exposed to the exhaust gasses. The assembly is protected using a shield that includes slots so that the exhaust gasses can pass through into the sensor. The sensor itself is made from a zirconia ceramic material that has a thin layer of porous platinum on both sides. These platinum coatings form electrodes to monitor the voltage produced by the zirconia sensor as the exhaust gas passes through it. The device operates by measuring the difference in oxygen content between the exhaust gas and the outside air. The oxygen content of the air (about 20.9%) serves as the reference. In operation, a voltage is produced between the electrodes because the zirconia sensor has a high conductivity for oxygen ions at high temperatures. Fig.11: this graph shows how the Ip current changes with pressure. This can be used in conjunction with the Ip Current vs Lambda graph (Fig.10) to determine the effect on the readings. September 2009  31 32  Silicon Chip siliconchip.com.au 10 100 F 22k G A K 4 1k 5 Vss IN 100nF RB1 RB2 AN0 RA7 AN6 RA6 RB5 RB4 PWM 7 8 B Q2 BC327 A D1 HEAT LED1 470 17 16 13 15 B 100 F K K  C E E K DATA  LED2 470 A B TP1 A 2.2k A A ZD1 K K 11 12k 82k 4.7k K A K A 1 7 22pF 2 3 10k +5V 470k LEDS TP5V E +5V Vs B C 8 TP7 4 IC4b 9 10 13 12 2 3 G D S IRF540N Vs/Ip 100k IC4, IC5: LMC6482AIN 2.2k BC327, BC337 470k 100k TP8 6 5 100nF 220nF 220nF Vs/Ip 22 F IC2: LMC6484AIN 220nF 150 IC5a 8 100nF 10nF 100nF D4 –2.5V 100k 100k (10.5k) 100 F D3 220nF D2 K 8 4 IC2b 100nF 6 5 D2-D4: 1N4148 K A 7 14 15 '3' 11 12 '0' E Vss Vee 6 A IC3 '1' 4052B '2' VR3 10k 16 Vdd COM 10 F 9 C 10 13 10 A 1nF 4.7k 100 F +5V 10 F 10 F 120 11 9 Vdd 18 AN1 2.2k Q3 BC337 VR1 500 ADJ OUT REG1 LM317T 100 F 16V 14 IC1 PIC16F88I/P AN5 RA4 RB0 AN2 MCLR AN3 TP GND 12 3 6 1 2 ZD1 16V 1W 10 OXYGEN SENSOR CONTROLLER 0.1  5W S 13V TO START TP2 JP1 IMMEDIATE OUT START JP1 IN JP1 K 7 D TP4 7 IC2c IC2d +3.3V IC2a IC5b GND IN TP0 3.3nF 560k 4 TP3 VR5 1k 8 14 1 OUT +8V OUT 7808 1 6 5 62 GND IC4a TP6 22k TP5 150 150 GND 22k IN REG2 7808 OUT ADJ 2 3 +5V IN LM317T VR4 5k 560k Ip Rcal WIDEBAND OUTPUT S-CURVE OUTPUT 10 F +8V Fig.12: the full circuit uses microcontroller IC1, several CMOS op amps (IC2, IC4 & IC5) and a multiplexer (IC3). The microcontroller monitors & controls the wideband oxygen sensor and drives the Wideband Display Unit. It also provides a narrowband (S-curve) signal output. SC 10k A D1 1N4004 S-CURVE VR2 RESPONSE 5k RATE 100nF 20k Q1 D IRF540N 2009 H– GND2 GND1 H+ +12V F1 5A OUT crocontroller monitors this voltage and varies the pump current accordingly. LED indicators Two LED indicators, Heat & Data, show the operation of the wideband sensor. During preheat, the Heat LED is continuously on until the sensor is up to operational temperature (750°C). After that, the Heat LED flashes once a second to indicate normal control. If the LED is not illuminated, then the sensor temperature is above 750°C which can occur for very high exhaust gas temperatures. The Data LED flashes each time the wideband output is updated. With constant data updates, this LED will be constantly lit. However, it may extinguish during an exhaust gas mixture change before current control is restored. If this LED flashes at a regular 1Hz rate then the data is in error. This could be because the lambda reading is over-range or the heater has become disconnected. In this later case, the wideband output defaults to a lambda value of 1 and the S-curve output is set at 450mV. Circuit description The full circuit is shown in Fig.12 and it is based on a PIC18F88-I/P microcontroller (IC1). Its features include a 10-bit PWM output and 10-bit analog to digital conversion. It runs with an internal 8MHz clock oscillator. The op amps used in the circuit are special. We have specified one LMC6484AIN quad op amp (IC2) and two LMC6482AIN dual op amps (IC4 & IC5). These have a typical input offset of 110µV, a high input impedance of more than 10 Teraohms (>10TΩ), a 4pA input bias current, an output to within 10mV of the supply rails with a 100kΩ load, and a wide common mode input voltage range that includes the supply rails. An LM317T adjustable regulator (REG1) supplies 5V to the whole circuit except for IC4. VR1 is adjusted so that REG1’s output is exactly 5.00V. The battery voltage is measured at the AN3 input of IC1 via a 20kΩ and 10kΩ voltage divider connecting between the 12V input and 0V. This divider results in a maximum of 5V at the AN3 input for a battery voltage of 15V. 5V is the upper limit for analog-to-digital conversion by IC1 to the maximum 10-bit digital value. siliconchip.com.au Specifications Power requirements: 11V to 15V. Nominally 12V at 5.7A peak at start up maximum. Typically 16W when heated. Sensor ageing: lambda at 1.70 ±0.15; lambda at 0.8 ±0.04. Reading accuracy: ~1%. Measurement range: 0.7 (rich) to 1.84 (lean) lambda. Sensor Heating: begins at an effective 7.4V and ramps up at 73.3mV/187.5ms and is equivalent to 390mV/s. Heat up period: < 22s from initial 20°C. Heater over current: 4A. Heater open circuit detection: if current is less than 390mA at initial power up. Heater PWM frequency: during ramp up, 15.26Hz; during heat control >2Hz. Heater maximum effective voltage: 12V after initial preheat and at 13V for <1 minute. Sensor temperature: Controlled at ~750°C using the 80Ω at 750°C impedance of sensor cell for the measurement. Sensor cell measurement: AC drive at 1.953kHz and 473µA. Sensor cell DC loading: <10µA. Wideband output: Linear 0-5V output for 0.7 to 1.84 lambda. S-curve output: simulates a 0.8-1.17 range following the Bosch LSM11 sensor curve. S-curve response: Adjustable from the wideband response rate to 1.2s more than the wideband response rate. Reading variation with pressure: see graph of change in Ip versus pressure. Reading response: 250ms to a 5% change in oxygen. WHERE TO FIND DATA • • Data for the LSM11 and the LSU4.2 sensors mentioned is available. For Bosch LSM11 and Bosch LSU4.2 sensors see http://www.bosch.com.au/ content/language1/downloads/Section_D.pdf Further data on the Bosch LSU4.2 is at http://www.ontronic.com/products/ doc/Bosch_LSU_4_2.pdf 15V converts to a digital value of 1023 while 8V converts to a value of 545. Trimpot VR3 provides the reference voltage of 3.3V which is buffered by op amp IC2b. This op amp drives one side of the pump cell, the Vs/Ip connection, via a 150Ω resistor which isolates the op amp output from the 22µF capacitor which is included to remove ripple on the Vs/Ip supply reference. A 10kΩ resistor provides DC feedback while the 10nF capacitor is included to prevent instability. Multiplexer drive signals IC1 delivers a 7.843kHz PWM signal to the common input pin of the 4052 multiplexer IC3 via a 4.7kΩ resistor. The 1nF capacitor to ground provides some filtering of this signal, removing the high-frequency components of the square-wave above about 33kHz. This reduces crosstalk between the three output channels at pins 11, 14 & 15. IC2d actually provides the DC voltage, after the PWM signal is filtered, to drive the S-curve output. IC2c provides the wideband (0-5V) output and IC4b provides the pump cell drive. Let’s look at this in more detail. The micro drives the A and B inputs, pins 9 & 10, of IC3 to select its output. With both A and B at 0V, the selected output is “0” (pin 12) which is not connected. However, this “0” output is selected each time the duty cycle of the PWM signal is changed to suit the three selected outputs at pins 11, 14 & 15. So the switching sequence for IC3 is 0, 1, 0, 2, 0, 3 and so on. Each output has a low-pass filter to convert the PWM signal to a DC voltage and this is buffered using the respective op amps. September 2009  33 cell voltage, Vs. As already noted, IC5a is set so that when Vs is at 450mV, its output is 2.5V. To do this, VR4 provides an offset voltage which is buffered using op amp IC4a. This means that IC5a can swing symmetrically above and below this level to drive pin 17, the AN0 input of IC1. Link settings All the parts except for the oxygen sensor and its input socket are mounted on a single PC board which fits inside a diecast case. The full assembly details are in Pt.2 next month IC2c & IC2d buffer the voltages for the wideband lambda output and Scurve signals respectively, while IC4b buffers the voltage for the pump cell current. The 220nF filter capacitors at the inputs to these op amps store the voltage during the periods when the respective outputs from IC3 are not selected. Extra supply rails IC4b is a special case because its output is required to swing from 0-5V to drive the pump cell. To ensure this, IC4’s positive supply rail needs to be more than +5V and the negative rail needs to be less than 0V. Hence REG2 provides 8V and a negative supply is produced using transistors Q2 & Q3, diodes D2 & D3 This is the Bosch LSU 4.2 wideband sensor that’s used in conjunction with the Wideband Controller 34  Silicon Chip and the associated capacitors. The circuit is driven by the RA6 output of IC1 generates a 1.953kHz square wave signal. Q2 & Q3 buffer this signal to drive the diode pump consisting of D2 & D3. The resulting negative supply is -2.5V. This means that op amp IC4 is not operating with symmetrical supply rails but that doesn’t matter; the supply rails are adequate to guarantee that IC4b can swing its output positive and negative as required by the micro. Diode D4 is there to hold the negative supply rail at +0.6V when the negative supply generator is not working, ie, when IC1 is not in circuit. Op amp IC5b is connected as a differential amplifier to monitor the voltage across the paralleled 62Ω and Rcal resistors. Its gain of 25.45 is set by the two sets of 560kΩ and 22kΩ resistors at pins 5 & 6, respectively. A 3.3nF feedback capacitor rolls off high frequencies and prevents amplifier instability. The output of IC5b is referenced to the Vs/Ip voltage (+3.3V) by the 560kΩ resistor between its pin 5 input and the output of op amp IC2b. As a result, when 0V is across the 62Ω resistor, IC5b’s output sits at 3.3V. Note that the Vs/Ip voltage is continuously monitored by the AN1 input (pin 18) of IC1. Op amp IC5a monitors the sensor Link J1 selects the in-car installation mode. This requires that the engine starts before any electrical heating of the sensor begins. This ensures that any water condensation in the sensor is blown out before electrical heating. This prevents thermal shock and possible damage to the sensor. Basically, the battery voltage must rise above 13V before heating begins. 13V indicates that the engine has started and the alternator is running to charge the battery. Once heating begins, the battery voltage can fall below 13V without switching off the heater. Without link J1 installed, the heater is driven as soon as power is applied. This is suitable when the wideband controller is used as a portable air/ fuel ratio instrument. This means that the sensor MUST be protected from moisture ingress and from physical shock when not in use. Mosfet Q1 drives the heater with a DC voltage derived from the PWM signal delivered from the RA4 output, pin 3, of IC1. Its source current is monitored via the AN5 input, pin 12. Note that the circuit uses two earths. One earth (GND2) is for the heater and the other (GND1) is for the rest of the circuit. These two grounds are connected to the car chassis via separate wires. Without this separate earthing, the switching current applied to the heater would cause inaccuracies in the measurements of voltage and current and for the wideband output. LEDs1 & 2 are driven via the RB1 & RB2 outputs of IC1 via 470Ω resistors. The MCLR-bar input to IC1 is the reset input and ensures IC1 is reset on power up. The S-curve output response rate is set using trimpot VR2. This can apply a voltage ranging from 0-5V on AN2 (pin 1) of IC1, corresponding to no delayed response when set at 0V through to a 1.25s response at 5V. That completes the circuit description. Next month, we will move onto construction and describe the settingSC up procedure. siliconchip.com.au