Wide Ratio O2 meter

Bruce Bowling bowling at cebaf.gov
Wed Mar 11 16:54:54 GMT 1998


> 
> I put forward the idea that there is enough info to build one from the
> bosch data sheet as long as we keep the temp around 260 degree celcius.
> Ie the sensor near the end of the exhaust and use the built in  heater
> to stabilise the temp. I beleive it would be fairly easy using a 12 bit
> A to D and a micro to do the correction from S shape curve to linear
> display of AF ratio. 

What I am gathering from the various posts is that the goal is to
create a O2 sensor, looking at the sensor in linear mode.
I have missed many of the detailed posts (my manual post weeding
filter has been at max saturation lately for this list) on this subject,
but I will enter my input (opinion) anyway, addressing the data acquistion
and display parts.

Is the goal to have a hand-held instrument (complete), or
to sample and display on some laptop?

If one is designing a encapsulated hand-held unit, one important
question is at what level does one want to perform the perform
the transfer-function conversion of the o2 sensor? What I am
hearing (and have seen), the curve is "S"-shaped, and is
different for different temperatures. If the goal is a simple
linear transfer function estimation, then a PIC could easily
be employed as the processor. If one wants to maintain the
"S"-shape transfer, and/or use differing curve as a function
of temperature, then one would be wise to pick a processor with
a little more computational power, like a 6805, 68HC11, or
similar. These chips also have on-board A/D converters (8 bit),
and if one references the low and high references to the
signal range from the O2 sensor (I assume is something like 1 volt),
then one can get roughly 4 millivolts/count, which should
be sufficient. 

For first "stabs" at this, however, I would recommend constructing
a simple A/D circuit interfaced into a PC (or laptop), and reduce
much of the problem to software. A extremely simple and cheap
8 bit A/D circuit which interfaces into a PC is to use a SPI-based
A/D converter, and connect to the PC via. the parallel port. I
have used the ADC0831 chip in this mode with good results (this
is a 8 bit, single channel ADC, and is inexpensive). You use only
three signals (clk, data, and gnd) to the PC parallel port. I have 
actually seen this circuit assembled in a shell of a DB25 connector!
The software interface to the parallel port is trivial (simple
reads and writes to a port address), and simply generates the
clock signal and reads the data pin in a serial fashion. I have
done this in simple BASIC programs, and can get sample
rates up to about 50 hz (this was on a 386 computer). I can
post a simple circuit and software driver if interested.
Once again, if you set your ADC scale range to the dynamic
range of the O2 sensor, then a 8 bit unit is sufficient.
There are also 12 bit ADC chips with the SPI interface which
would work (but the driver S/W would have to be modified
to handle the extra bits, and maximum sample rate would probably
reduce some).

On the S/W driver that reads the ADC, to make the sample periods
repetitive at a constant rate, I have put this driver within
a PC ISR (Interrupt Service Routine), chained to the
interrupt which services the clock/time-of-day update, which gets triggered
at the rate of 18 Hz (if I recall correctly). Now that I am sampling
at a fixed repetition, I can "do" things to the data, such
as DSP filtering, etc. Just be sure to unchain this ISR when the
program is finished, or the PC may not end up with the correct
date and time! 

Once one can get the data into a PC, then you can spend your nights 
and weekends analyzing, determining transfer curves, filters, etc. Then,
one could actually come up with a complete unit..............

- Bruce

--
-----------------------------------------------------
<<<<<<<<<<<<<<<<<<<<<<<>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
-----------------------------------------------------
                 Bruce A. Bowling
                 Staff Scientist
   Thomas Jefferson National Accelerator Facility
    12000 Jefferson Ave - Newport News, VA 23606
                 (804) 249-7240
bowling at cebaf.gov  http://devserve.cebaf.gov/~bowling
-----------------------------------------------------
<<<<<<<<<<<<<<<<<<<<<<<>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
-----------------------------------------------------



More information about the Diy_efi mailing list