From owner-diy_efi  Thu Nov  3 01:30:21 1994
Received: by coulomb.eng.ohio-state.edu (920330.SGI/920502.SGI)
	 id AA20559; Thu, 3 Nov 94 01:30:21 GMT
Received: from localhost.eng.ohio-state.edu by coulomb.eng.ohio-state.edu via SMTP (920330.SGI/920502.SGI)
	for /usr/local/mail/majordomo-1.92/wrapper resend -p bulk -M 10000        -l Diy_Efi -f Diy_Efi-Owner -h coulomb.eng.ohio-state.edu -s        -r DIY_EFI diy_efi-outgoing id AA20554; Wed, 2 Nov 94 20:30:19 -0500
Message-Id: <9411030130.AA20554@coulomb.eng.ohio-state.edu>
To: DIY_EFI
Subject: Re: The files... 
In-Reply-To: Your message of "Wed, 02 Nov 94 07:49:49 CST."
             <9411021338.AA07764@sbctri.sbc.com> 
Date: Wed, 02 Nov 94 20:30:19 -0500
From: John S Gwynne <jsg>
Sender: owner-diy_efi
Precedence: bulk
Reply-To: DIY_EFI

--------

   In message <9411021338.AA07764@sbctri.sbc.com> , you write:
 
| Could you share more information about your development environment?
| What you're using, any changes you needed to make, etc.

Ok, here's a list of m68k *specific* tools that were built:

m68k-sun-sunos4-ar	archive and library maintainer
m68k-sun-sunos4-as	assembler
m68k-sun-sunos4-c++	c++
m68k-sun-sunos4-c++filt	demangle C++ symbols
m68k-sun-sunos4-g++	GNU project C++ Compile
m68k-sun-sunos4-gcc	GNU project C
m68k-sun-sunos4-ld	the GNU linker
m68k-sun-sunos4-nm	list symbols from object files
m68k-sun-sunos4-objcopy	copy and translate object files
m68k-sun-sunos4-objdump	display information from object files
m68k-sun-sunos4-ranlib	generate index to archive
m68k-sun-sunos4-size	print the section sizes of an object file
m68k-sun-sunos4-strings print the strings of printable characters in files
m68k-sun-sunos4-strip	remove symbols and relocation bits

Of course other key components, like the pre-processor, are configured
for the host and are not included in this table. As you see, a typical
unix setup with make, emacs,...

Most of these tools now build with almost no effort (I recall having
more trouble making cross-development configurations on older versions).

Also, check the archive. I walked through the process of compiling and
loading a C program into my board for both a RAM and EPROM memory
model. It's all automated :). (I had to write a few things like a
loader script etc...)

                                       John S Gwynne
                                          Gwynne.1@osu.edu
_______________________________________________________________________________
               T h e   O h i o - S t a t e   U n i v e r s i t y
    ElectroScience Laboratory, 1320 Kinnear Road, Columbus, Ohio 43212, USA
                Telephone: (614) 292-7981 * Fax: (614) 292-7292
-------------------------------------------------------------------------------

From owner-diy_efi  Thu Nov  3 01:49:39 1994
Received: by coulomb.eng.ohio-state.edu (920330.SGI/920502.SGI)
	 id AA20615; Thu, 3 Nov 94 01:49:39 GMT
Received: from localhost.eng.ohio-state.edu by coulomb.eng.ohio-state.edu via SMTP (920330.SGI/920502.SGI)
	for /usr/local/mail/majordomo-1.92/wrapper resend -p bulk -M 10000        -l Diy_Efi -f Diy_Efi-Owner -h coulomb.eng.ohio-state.edu -s        -r DIY_EFI diy_efi-outgoing id AA20609; Wed, 2 Nov 94 20:49:36 -0500
Message-Id: <9411030149.AA20609@coulomb.eng.ohio-state.edu>
To: DIY_EFI
Subject: Re: The files... 
In-Reply-To: Your message of "Wed, 02 Nov 94 09:03:16 CST."
             <m0r2hTT-000uGoC@twisto.eng.hou.compaq.com> 
Date: Wed, 02 Nov 94 20:49:36 -0500
From: John S Gwynne <jsg>
Sender: owner-diy_efi
Precedence: bulk
Reply-To: DIY_EFI

--------

   In message <m0r2hTT-000uGoC@twisto.eng.hou.compaq.com> , you write:
 
| John S Gwynne <jsg@coulomb.eng.ohio-state.edu> Wrote:
| | Large? Just wait till version 1.0 comes out next month :). The ps
| | file is indeed a schematic, but not a complete controller yet. The
| | file prints five pages that, when taped together, yield a D-sized

                ^^^^ oops, that should be ten.

| | drawing of the CPU portion of what will be a controller.  For more



| Speaking of RTEMS, how big is it?  I know you posted this before, but where i
| s 
| it available?  If I ever get my linux machine back up and running, I'd like t
| o 
| set these tools up myself....

On this system, the distribution (and nearly all of the build) is 
using 4.3 Meg. On the embedded controller it uses between 11k and 27k
of RAM/ROM depending on how it is configured.

You can ftp it from lancelot.gcs.redstone.army.mil in /pub/rtems. Look
for version 3.1.03.

                                       John S Gwynne
                                          Gwynne.1@osu.edu
_______________________________________________________________________________
               T h e   O h i o - S t a t e   U n i v e r s i t y
    ElectroScience Laboratory, 1320 Kinnear Road, Columbus, Ohio 43212, USA
                Telephone: (614) 292-7981 * Fax: (614) 292-7292
-------------------------------------------------------------------------------

From owner-diy_efi  Thu Nov  3 02:10:27 1994
Received: by coulomb.eng.ohio-state.edu (920330.SGI/920502.SGI)
	 id AA20820; Thu, 3 Nov 94 02:10:27 GMT
Received: from eigen.ee.ualberta.ca by coulomb.eng.ohio-state.edu via SMTP (920330.SGI/920502.SGI)
	for /usr/local/mail/majordomo-1.92/wrapper resend -p bulk -M 10000        -l Diy_Efi -f Diy_Efi-Owner -h coulomb.eng.ohio-state.edu -s        -r DIY_EFI diy_efi-outgoing id AA20815; Wed, 2 Nov 94 21:10:24 -0500
Message-Id: <9411030210.AA20815@coulomb.eng.ohio-state.edu>
Received: by eigen.ee.ualberta.ca
	(1.37.109.4/15.6) id AA13147; Wed, 2 Nov 94 19:10:17 -0700
From: Dale Ulan <ulan@ee.ualberta.ca>
Subject: Re: Fuel injected lawn mower
To: DIY_EFI
Date: Wed, 2 Nov 94 19:10:17 MST
In-Reply-To: <199411022331.AA29173@access3.digex.net>; from "Andy Harrah" at Nov 2, 94 6:31 pm
Mailer: Elm [revision: 70.85]
Sender: owner-diy_efi
Precedence: bulk
Reply-To: DIY_EFI

> drive electronics that watches the current ramp until the inductance saturates
> and then back the current down to a 'hold' level.  There are some decent
> discussions of this in that blue Bosch injection book. Also, the Motorola
> and National Semiconductor linear databooks describe chips to control
> injectors.  Not that we can get them, but they talk about how they work.

You can get the Motorola MC3484 series from ElectroSonic up here.
Last time I asked for them they had the lower current 2A injector
drivers in stock, but not the TBI drivers.

-Dale

From owner-diy_efi  Thu Nov  3 03:08:08 1994
Received: by coulomb.eng.ohio-state.edu (920330.SGI/920502.SGI)
	 id AA22709; Thu, 3 Nov 94 03:08:08 GMT
Received: from smtp.utexas.edu by coulomb.eng.ohio-state.edu via SMTP (920330.SGI/920502.SGI)
	for /usr/local/mail/majordomo-1.92/wrapper resend -p bulk -M 10000        -l Diy_Efi -f Diy_Efi-Owner -h coulomb.eng.ohio-state.edu -s        -r DIY_EFI diy_efi-outgoing id AA22700; Wed, 2 Nov 94 22:08:05 -0500
Received: from mail.utexas.edu (mail.utexas.edu [128.83.126.1]) by smtp.utexas.edu (8.6.7/8.6.6) with ESMTP id VAA17916 for <DIY_EFI@coulomb.eng.ohio-state.edu>; Wed, 2 Nov 1994 21:04:10 -0600
From: BigBrother@mail.utexas.edu
Received: from [128.83.111.86] (slip-3-6.ots.utexas.edu [128.83.111.86]) by mail.utexas.edu (8.6.7/8.6.6) with SMTP id VAA17699 for <DIY_EFI@coulomb.eng.ohio-state.edu>; Wed, 2 Nov 1994 21:01:37 -0600
Message-Id: <199411030301.VAA17699@mail.utexas.edu>
Mime-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Date: Wed, 2 Nov 1994 21:02:03 -0600
To: DIY_EFI
Subject: more mower
Sender: owner-diy_efi
Precedence: bulk
Reply-To: DIY_EFI

> All four-stroke cycle lawn mower engines and almost all four-stroke motorcycle
> engine fire every revolution.  All the newer distributor-less microprocessor
> controlled car ignitions do as well.  That extra spark just flaps in the
>breeze.

I'm going to end up using a Ford DIS coil to accomplish this.  I don't
know if I'll have a chance to put it on the mower, I'll probably just wait
for the real application.  The Ford coils use the dual fire setup.
Lexus (LS 400) and some Nissans have a single coil for each cylinder.

> My system takes interrupts off the TDC reference and calculates the RPM.
> Based on the RPM, it looks up the advance from a centrigual advance type
>table.
> This value is then used to predict when to fire the next time, in advance of
> actually receiving the TDC reference pulse.  The reference pulse actually is
> set to about 6 degrees BTDC so that it can be used to fire the coil directly.
> This is used before the micro is up to speed, or if it crashes.
> Currently there is no load input to calculations.  The TTL level output of the
> micro drives the ignition coil through a VW Rabbit amplifier module.

That's neat.  Does the VW Rabbit amplifier work well?  Any noise problems?

> By the way, that scheme of one pulse per revolution isn't accurate on any
> engine that can rev very quickly.  I read somewhere that Ford had trouble
> with the controllers for the Taurus SHO because that motor can rev at
> 20000 rpm / second which was too fast for their systems to keep up with.
> I guess that's why all the Motronic systems take pulses off the flywheel
> ring gears as well as a TDC reference pulse.

True, but hey its just a lawn mower!  It wont be pulling off any SHO rev
rates. Although, it would be pretty easy to put more indexing (notch,
magnet, metal) on the flywheel.  But, then it would need to be indexed
again with another setup to reference the actual crank angle.

> I believe the minimum pulse length for the injectors is about 1 to 2 ms.
> There are also considerations on the electrical drive for the injector.  They
> come in different forms.  Some are designed to be used with an external
>current
> limiting resistor, and some are supposed to be connected to more intelligent
> drive electronics that watches the current ramp until the inductance saturates
> and then back the current down to a 'hold' level.  There are some decent
> discussions of this in that blue Bosch injection book. Also, the Motorola
> and National Semiconductor linear databooks describe chips to control
> injectors.  Not that we can get them, but they talk about how they work.

I like the Motorola SEFI ones. The MC33293 or MC33295.
Motorola distributors are supposed to be able to sample these.

Later,
Jeff





From owner-diy_efi  Thu Nov  3 04:40:15 1994
Received: by coulomb.eng.ohio-state.edu (920330.SGI/920502.SGI)
	 id AA22944; Thu, 3 Nov 94 04:40:15 GMT
Received: from localhost.eng.ohio-state.edu by coulomb.eng.ohio-state.edu via SMTP (920330.SGI/920502.SGI)
	for /usr/local/mail/majordomo-1.92/wrapper resend -p bulk -M 10000        -l Diy_Efi -f Diy_Efi-Owner -h coulomb.eng.ohio-state.edu -s        -r DIY_EFI diy_efi-outgoing id AA22938; Wed, 2 Nov 94 23:40:12 -0500
Message-Id: <9411030440.AA22938@coulomb.eng.ohio-state.edu>
To: DIY_EFI
Subject: Re: more mower 
In-Reply-To: Your message of "Wed, 02 Nov 94 21:02:03 CST."
             <199411030301.VAA17699@mail.utexas.edu> 
Date: Wed, 02 Nov 94 23:40:12 -0500
From: John S Gwynne <jsg>
Sender: owner-diy_efi
Precedence: bulk
Reply-To: DIY_EFI

--------

   In message <199411030301.VAA17699@mail.utexas.edu> , you write:
 
| > By the way, that scheme of one pulse per revolution isn't accurate on any
| > engine that can rev very quickly.  I read somewhere that Ford had trouble
| > with the controllers for the Taurus SHO because that motor can rev at
| > 20000 rpm / second which was too fast for their systems to keep up with.

My 350 SBC seems to be about 11000 rpm/sec with no load near the
(estimated) peak torque RPM (based on the graph in counter.ps).

Let see...

velocity = acceleration * time;

velocity_error = acceleration * delta_time;  delta_time=time between
						RPM measurements

time_spark = 60/RPM/4;	for a 4-cycle 8 cyl

Now,

degrees_error_crank = (1/2)*acceleration_degs*time_spark^2+
	+velocity_error_deg*time_spark
		; acceleration_degs=360*acceleration/60
		; velocity_error_deg=acceleration_deg*delta_time

degrees_error_crank = acceleration*(360/60)*( 1/2*time_spark^2 + 
	+delta_time*time_spark

degrees_error_crank = acceleration*( 6/2*(60/4/RPM)^2 + 6*60/4/RPM*delta_time)

degrees_error_crank = acceleration*( 675/RPM^2 + 90/RPM*delta_time )

	;worst case acceleration = 11k RPM/S

degrees_error_crank = 11k * ( 675/RPM^2 + 90/RPM*delta_time );

	;worst case RPM is just off idle, say 1000 RPM
	;assume RPM measurement every 10mS.

degrees_error_crank = 17.3 deg. (yea, but this acceleration at this
				 RPM is not realistic; even at no-load)

degrees_error_crank(RPM=4000) = 2.9 deg. (much better :) )




We need some realistic data (RPM-vs-time over the usable RPM range) for 
both no-load and loaded conditions. It could take a couple a days 
for me to get it. Does anyone else have this?


                                       John S Gwynne
                                          Gwynne.1@osu.edu
_______________________________________________________________________________
               T h e   O h i o - S t a t e   U n i v e r s i t y
    ElectroScience Laboratory, 1320 Kinnear Road, Columbus, Ohio 43212, USA
                Telephone: (614) 292-7981 * Fax: (614) 292-7292
-------------------------------------------------------------------------------

From owner-diy_efi  Thu Nov  3 09:11:49 1994
Received: by coulomb.eng.ohio-state.edu (920330.SGI/920502.SGI)
	 id AA23423; Thu, 3 Nov 94 09:11:49 GMT
Received: from kaiwan.kaiwan.com by coulomb.eng.ohio-state.edu via SMTP (920330.SGI/920502.SGI)
	for /usr/local/mail/majordomo-1.92/wrapper resend -p bulk -M 10000        -l Diy_Efi -f Diy_Efi-Owner -h coulomb.eng.ohio-state.edu -s        -r DIY_EFI diy_efi-outgoing id AA23418; Thu, 3 Nov 94 04:11:45 -0500
Received: from kaiwan009.kaiwan.com (1300@kaiwan009.kaiwan.com [192.215.30.9]) by kaiwan.kaiwan.com (8.6.9/8.6.5) with ESMTP 
	  id BAA27787; Thu, 3 Nov 1994 01:11:34 -0800
	  *** KAIWAN Internet Access ***
Received: (from patriot@localhost) by kaiwan009.kaiwan.com (8.6.9/8.6.9)
	  id BAA18639; Thu, 3 Nov 1994 01:11:39 -0800
	  *** KAIWAN Internet Access ***
Date: Thu, 3 Nov 1994 01:11:38 -0800 (PST)
From: Nate <patriot@kaiwan.com>
To: DIY_EFI
Cc: Jim Conforti <jec@us.dynix.com>
Subject: Re: Mustang mass air flow sensors
In-Reply-To: <Pine.3.05.9411021543.B124891-9100000@cpu.us.dynix.com>
Message-Id: <Pine.SUN.3.91.941103010412.16212G-100000@kaiwan009.kaiwan.com>
Mime-Version: 1.0
Content-Type: TEXT/PLAIN; charset=US-ASCII
Sender: owner-diy_efi
Precedence: bulk
Reply-To: DIY_EFI

On Wed, 2 Nov 1994, Jim Conforti wrote:

> 
> Does anyone know anything about the Hitachi air mass sensors used on
> some of the mustangs ..
> 
> They have an analog voltage (v. PWM) output to the ECU ..
> 
> Any info/specs greatly appreciated
> 
> I'm going to interface this sensor to the Bosch Motronic system

I went through a whole bunch of Oxygen sensors (if that's what you are 
taking about) and they are all 0 to 1 V types mostly. Some have two wires 
so that one is a ground reference, some silly cars use the chassis ground 
for the signal, really stupid on a 1V sensor signal!

I tested it by putting it in a vice and blowing my propane torch at it. 
you have to heat them up to 700 degrees or more for them to start 
working, then if you hold the propane torch close to it, there is NO 
oxygen available and it will read out as such.

They are fun to play with, I added some electronics to minitor my car's 
electronics, and I'm convinced that these guys either didn't spend more 
than 2 minutes writing code, or they want the darn thing to only get 40 MPG.

I bet with some mods and good programming you could get 70 MPG out of it!

(well, I may be pushing it a bit...)

Oh, I called all over and tried to get these technical types at the car 
parts places (factory) and they don't know what a Volt is. They were 
giving me all sorts of crap about it giving special types of pulses and 
stuff. Geezzzz, I guess they think we are all really stupid. Put it on 
the bench, get it hot, and it works. Even their little circuit exposes 
how it puts out the voltage.

Most of these guys had no clue. America is in trouble


From owner-diy_efi  Thu Nov  3 13:32:15 1994
Received: by coulomb.eng.ohio-state.edu (920330.SGI/920502.SGI)
	 id AA23673; Thu, 3 Nov 94 13:32:15 GMT
Received: from access4.digex.net by coulomb.eng.ohio-state.edu via SMTP (920330.SGI/920502.SGI)
	for /usr/local/mail/majordomo-1.92/wrapper resend -p bulk -M 10000        -l Diy_Efi -f Diy_Efi-Owner -h coulomb.eng.ohio-state.edu -s        -r DIY_EFI diy_efi-outgoing id AA23668; Thu, 3 Nov 94 08:32:13 -0500
Received: by access4.digex.net id AA16538
  (5.67b8/IDA-1.5 for DIY_EFI@coulomb.eng.ohio-state.edu); Thu, 3 Nov 1994 08:32:10 -0500
From: Andy Harrah <andyb@access.digex.net>
Message-Id: <199411031332.AA16538@access4.digex.net>
Subject: Oxygen sensors
To: DIY_EFI
Date: Thu, 3 Nov 1994 08:32:10 -0500 (EST)
X-Mailer: ELM [version 2.4 PL24beta]
Mime-Version: 1.0
Content-Type: text/plain; charset=US-ASCII
Content-Transfer-Encoding: 7bit
Content-Length: 1236      
Sender: owner-diy_efi
Precedence: bulk
Reply-To: DIY_EFI

When I first got interested in O2 sensors, I went down to the Patent Office
to do some research.  Its about 10 miles from me.

I found an interesting GM patent (no. 4,130,095 Dec. 1978) that describes
how they can tell of the sensors are hot enough to be given reliable data.
The model of the O2 sensor is like a battery.  The terminal voltage is a
function of the CO or oxygen content, and the internal resistance is a function
of the temperature.  These things are really high impedance devices.  GM uses
a clever approach that alternates between taking samples with a high impedance
input, and one that loads down the sensor.

I built such a circuit with two TLC25L2C op-amps.  I switches a 100K load
across the sensor to take the 'heat' measurement.  The output of the thing is
an the analog voltage from the sensor, buffered by the op-amp, and a digital
clock at about 100 Hz that indicates whether the output is straight or loaded.
The micro then compares the output between load and unloaded.  If the loaded
voltage is within some fraction of the unloaded voltage, you can assume
the sensor is hot enough to use.

This is how GM controllers know when to go into closed-loop mode.

Hope this is helpful to somebody.../Bill Lewis


From owner-diy_efi  Thu Nov  3 14:52:04 1994
Received: by coulomb.eng.ohio-state.edu (920330.SGI/920502.SGI)
	 id AA24180; Thu, 3 Nov 94 14:52:04 GMT
Received: from eigen.ee.ualberta.ca by coulomb.eng.ohio-state.edu via SMTP (920330.SGI/920502.SGI)
	for /usr/local/mail/majordomo-1.92/wrapper resend -p bulk -M 10000        -l Diy_Efi -f Diy_Efi-Owner -h coulomb.eng.ohio-state.edu -s        -r DIY_EFI diy_efi-outgoing id AA24175; Thu, 3 Nov 94 09:52:00 -0500
Message-Id: <9411031452.AA24175@coulomb.eng.ohio-state.edu>
Received: by eigen.ee.ualberta.ca
	(1.37.109.4/15.6) id AA29600; Thu, 3 Nov 94 07:51:57 -0700
From: Dale Ulan <ulan@ee.ualberta.ca>
Subject: Re: Oxygen sensors
To: DIY_EFI
Date: Thu, 3 Nov 94 7:51:56 MST
In-Reply-To: <199411031332.AA16538@access4.digex.net>; from "Andy Harrah" at Nov 3, 94 8:32 am
Mailer: Elm [revision: 70.85]
Sender: owner-diy_efi
Precedence: bulk
Reply-To: DIY_EFI

> I built such a circuit with two TLC25L2C op-amps.  I switches a 100K load
> across the sensor to take the 'heat' measurement.  The output of the thing is
> an the analog voltage from the sensor, buffered by the op-amp, and a digital
> clock at about 100 Hz that indicates whether the output is straight or loaded.
> The micro then compares the output between load and unloaded.  If the loaded
> voltage is within some fraction of the unloaded voltage, you can assume
> the sensor is hot enough to use.

How I saw it done in the controller in the 1991 GMC pickup truck
is the O2 chip has an internal voltage divider that places the output
of the O2 sensor at 0.450 volts until it warms up. Once its internal
resistance drops below a certain point, the size of the O2 amplitude
indicates primarily temperature.

The O2 amplitude is used in several tables to operate a PID controller.
Airflow is also used in a few tables. I was surprised, but the D term
appears to be used... and I've never seen it referenced in any papers
I've read.

Similar principle, but simpler hardware and software.

-Dale

From owner-diy_efi  Thu Nov  3 14:56:43 1994
Received: by coulomb.eng.ohio-state.edu (920330.SGI/920502.SGI)
	 id AA24215; Thu, 3 Nov 94 14:56:43 GMT
Received: from abacus.gsfc.nasa.gov by coulomb.eng.ohio-state.edu via SMTP (920330.SGI/920502.SGI)
	for /usr/local/mail/majordomo-1.92/wrapper resend -p bulk -M 10000        -l Diy_Efi -f Diy_Efi-Owner -h coulomb.eng.ohio-state.edu -s        -r DIY_EFI diy_efi-outgoing id AA24210; Thu, 3 Nov 94 09:56:41 -0500
Date: Thu, 3 Nov 1994 9:53:38 -0500 (EST)
From: Dirk Broer <OADDAB@abacus.gsfc.nasa.gov>
To: DIY_EFI
Message-Id: <941103095338.20b6@abacus.gsfc.nasa.gov>
Subject: Re: Mustang mass air flow sensors
Sender: owner-diy_efi
Precedence: bulk
Reply-To: DIY_EFI

>> I'm going to interface this sensor to the Bosch Motronic system
>
>I went through a whole bunch of Oxygen sensors (if that's what you are 
>taking about) and they are all 0 to 1 V types mostly. Some have two wires 
>so that one is a ground reference, some silly cars use the chassis ground 
>for the signal, really stupid on a 1V sensor signal!

>Oh, I called all over and tried to get these technical types at the car 
>parts places (factory) and they don't know what a Volt is. They were 
>giving me all sorts of crap about it giving special types of pulses and 
>stuff. Geezzzz, I guess they think we are all really stupid. Put it on 
>the bench, get it hot, and it works. Even their little circuit exposes 
>how it puts out the voltage.

When installed in an exhaust system you can actually 'see' individual pulses 
from the individual cylinders (at least at idle).

As for gas milage - I heard spark timing was more of a factor than air/fuel 
ratio (as long as you in the ball park of 14.7:1).

Dirk

From owner-diy_efi  Thu Nov  3 15:13:57 1994
Received: by coulomb.eng.ohio-state.edu (920330.SGI/920502.SGI)
	 id AA24505; Thu, 3 Nov 94 15:13:57 GMT
Received: from abacus.gsfc.nasa.gov by coulomb.eng.ohio-state.edu via SMTP (920330.SGI/920502.SGI)
	for /usr/local/mail/majordomo-1.92/wrapper resend -p bulk -M 10000        -l Diy_Efi -f Diy_Efi-Owner -h coulomb.eng.ohio-state.edu -s        -r DIY_EFI diy_efi-outgoing id AA24500; Thu, 3 Nov 94 10:13:52 -0500
Date: Thu, 3 Nov 1994 10:10:49 -0500 (EST)
From: Dirk Broer <OADDAB@abacus.gsfc.nasa.gov>
To: DIY_EFI
Message-Id: <941103101049.20b6@abacus.gsfc.nasa.gov>
Subject: Re: Oxygen sensors
Sender: owner-diy_efi
Precedence: bulk
Reply-To: DIY_EFI

>I found an interesting GM patent (no. 4,130,095 Dec. 1978) that describes
>how they can tell of the sensors are hot enough to be given reliable data.
>The model of the O2 sensor is like a battery.  The terminal voltage is a
>function of the CO or oxygen content, and the internal resistance is a function
>of the temperature.  These things are really high impedance devices.  GM uses
>a clever approach that alternates between taking samples with a high impedance
>input, and one that loads down the sensor.

According to one of the shop manual - GM biases the O2 sensor through a high 
impedance with .450V.  The computer sees this and assumes either the engine is 
cold or the engine is in tune - and therefor makes no changes based on the O2 
sensor.  When the O2 sensor heats up the voltage starts to vary - the output of 
the O2 sensor is enough to exceed the high impedance voltage source.  With this 
arrangement GM has three error codes:
Too long rich ( computer cannot lean out the engine )
Too long lean ( computer cannot richen the mixture )
Too long with changing ( the O2 sensor is at or near .45V and hasn't gone rich 
or lean for a while - indicating bad O2 sensor or broken wire )

This assumes that the O2 sensors output will vary - and judging from what I saw 
with a DVM at idle it does.  I wouldn't try to close loop tight control with an 
O2 sensor since there are just too many variables - different cyclinders may 
have different effective length runners, different rpms and throttle positions 
may have different time constants and last but not least - as the engine wears 
you'd have to recalibrate.

According to the shop manual, when the computer is running closed loop and sees 
a rich or lean condition it incraments or decraments a ajustment variable.  
This variable is 8bit.  When the variable gets to close to an extreem - (255 or 
0) The computer adjusts the learned table and resets the variable to 125.  The 
adjust should be done to the NVRAM and is a learning function.  Personally, I 
think the computer should differentiat between what was learned at idle and 
what was learned at part throttle.

Dirk



