From owner-diy_efi  Thu Nov  3 15:47:01 1994
Received: by coulomb.eng.ohio-state.edu (920330.SGI/920502.SGI)
	 id AA24889; Thu, 3 Nov 94 15:47:01 GMT
Received: from gold.tc.umn.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 AA24884; Thu, 3 Nov 94 10:46:58 -0500
Received: from dialup-3-180.gw.umn.edu by gold.tc.umn.edu; Thu, 3 Nov 94 09:45:47 -0500
Date: Thu, 3 Nov 94 09:46:27 GMT
From: "Matthew Lee Franklin" <fran0054@gold.tc.umn.edu>
Message-Id: <16841.fran0054@gold.tc.umn.edu>
X-Minuet-Version: Minuet1.0_Beta_11
X-Popmail-Charset: English
To: DIY_EFI
Subject: Briggs-sized injectors, drivers, and pleasant development environments
Sender: owner-diy_efi
Precedence: bulk
Reply-To: DIY_EFI

An injector that may work well for a Briggs application is a BOSCH 
280 150 210.   The parts guy at the BMW motorcycle dealer said is is used 
in a 1985 and newer K75 with the 750cc three cylinder.  I have succesfully 
used one in a small Briggs-based research setup.  Another student here is 
currently using one on a 350cc Onan generator for a research project.  I 
think list on it was about $130.24.  Its internal resistance is about 
16.3ohms, so I think it is meant to be driven with a saturation driver.  

However, I use a Motorola MC3484-S4 driver since that's what I had on 
hand, it works just like a saturation driver at 12V and 16.3 ohms, and it 
is a nice, integrated package.  ALSO, I tend to let the magic smoke out of 
most of the lone transistors I touch, so in the long run the integrated 
driver chip saves me money.  They cost about $4.50 each from Hamilton-
Avnet, but you have to buy at least 40 or 50 at a time.

I'm using one of the most pleasant environments for developing and 
debugging engine management systems.  It started with a prototype card 
stuffed with six Intel 8254 programable counter timer chips and some 
supporting logic.  The card is plugged into an 486-25 IBM compatable PC and 
is programmed in QuickBASIC in the pseudo-interpreted mode.  The system 
has been used for the last couple of years to study optimization strategies 
for air-fuel ratio and ignition timing on port fuel injected natural gas 
engines in our dyno lab.  I know many will be disappointed that the system 
is not done with a lone 68-something processor or microcontroller and 
programmed assembly language or C, but I'm only an ME with just enough EE 
in me to be dangerous.  Besides, the system really shortens the development 
cycle, and if you ever have to explain a program to anyone else, BASIC is 
the one common language that all can understand.

Later,
Matt

Matthew L. Franklin     
University of Minnesota     
Department of Mechanical Engineering
111 Church Street Southeast
Minneapolis, MN 55455-0150
Phone: (612)625-4074                       
FAX:   (612)624-1398
Home Phone/FAX: (612)331-3511

From owner-diy_efi  Thu Nov  3 15:55:09 1994
Received: by coulomb.eng.ohio-state.edu (920330.SGI/920502.SGI)
	 id AA24986; Thu, 3 Nov 94 15:55:09 GMT
Received: from gold.tc.umn.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 AA24981; Thu, 3 Nov 94 10:55:06 -0500
Received: from dialup-3-180.gw.umn.edu by gold.tc.umn.edu; Thu, 3 Nov 94 09:54:10 -0500
Date: Thu, 3 Nov 94 09:54:49 GMT
From: "Matthew Lee Franklin" <fran0054@gold.tc.umn.edu>
Message-Id: <17299.fran0054@gold.tc.umn.edu>
X-Minuet-Version: Minuet1.0_Beta_11
X-Popmail-Charset: English
To: DIY_EFI
Subject: EGO and airflow sensors
Sender: owner-diy_efi
Precedence: bulk
Reply-To: DIY_EFI

From some of the messages I saw flying around yesterday, I got the 
impression that some think an airflow sensor and an oxygen sensor are the 
same thing.  I hope my impression is wrong.  Everyone knows the difference, 
right?

Later,
Matt

Matthew L. Franklin     
University of Minnesota     
Department of Mechanical Engineering
111 Church Street Southeast
Minneapolis, MN 55455-0150
Phone: (612)625-4074                       
FAX:   (612)624-1398
Home Phone/FAX: (612)331-3511

From owner-diy_efi  Thu Nov  3 15:58:47 1994
Received: by coulomb.eng.ohio-state.edu (920330.SGI/920502.SGI)
	 id AA25005; Thu, 3 Nov 94 15:58:47 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 AA25000; Thu, 3 Nov 94 10:58:45 -0500
Message-Id: <9411031558.AA25000@coulomb.eng.ohio-state.edu>
To: DIY_EFI
Subject: Re: Oxygen sensors 
In-Reply-To: Your message of "Thu, 03 Nov 94 07:51:56 MST."
             <9411031452.AA24175@coulomb.eng.ohio-state.edu> 
Date: Thu, 03 Nov 94 10:58:45 -0500
From: John S Gwynne <jsg>
Sender: owner-diy_efi
Precedence: bulk
Reply-To: DIY_EFI

--------

   In message <9411031452.AA24175@coulomb.eng.ohio-state.edu> , you write:
 
| 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.

ok, so if its cold the output voltage stays between, say, .3V and .6V
for an extended period of time. Once it exceeds these thresholds, we
declare it's hot enough to use.

If we aren't trying to meat emission standards, I suppose a simple
warmup period is enough. (?)

| 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.

If the amplitude primarily indicates temperature, wouldn't a
correction based on expected temperature have to be applied *before*
a PID controller? I imagine that is, in part, what the tables
do. Can you give us a better description of the tables?

What do you think of the approach of just hard-limiting the sensor
output once it warms-up and integrating?

Do the PID coefficients look like it's dominated by I?


                                       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 16:27:35 1994
Received: by coulomb.eng.ohio-state.edu (920330.SGI/920502.SGI)
	 id AA25180; Thu, 3 Nov 94 16:27:35 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 AA25175; Thu, 3 Nov 94 11:27:31 -0500
Message-Id: <9411031627.AA25175@coulomb.eng.ohio-state.edu>
Received: by eigen.ee.ualberta.ca
	(1.37.109.4/15.6) id AA27565; Thu, 3 Nov 94 09:27:20 -0700
From: Dale Ulan <ulan@ee.ualberta.ca>
Subject: Re: Oxygen sensors
To: DIY_EFI
Date: Thu, 3 Nov 94 9:27:18 MST
In-Reply-To: <941103101049.20b6@abacus.gsfc.nasa.gov>; from "Dirk Broer" at Nov 3, 94 10:10 am
Mailer: Elm [revision: 70.85]
Sender: owner-diy_efi
Precedence: bulk
Reply-To: DIY_EFI

>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.

As a matter of fact, it does. This is the 'BLOCK LEARN' function.
Don't ask how I know this..... :-)


   Block Learn (the value stored in NVRAM) is divided into
     16 'blocks', each which vary a different part of the
     operating curve. The intercept points are re-programmble
     in the PROM, as is the 'slop' value used to determine
     which block should be used.

  ALDL - 8192 ports usually give not only the BLM but also the BLM
    cell, which indicates which cell the ECM is running on now.

The BLM number is changed when the INTEGRATOR reaches preset
limits, which are normally in the 64 and 190 area, but these again
depend on the engine application. 128 is the happy medium.

The integrator is changed when the O2 sensor is oscillating slower in
one direction than in the other. The O2 driver routine attempts to
keep the duty cycle of the O2 sensor at a programmed value, which is
based on predicted engine airflow and on the estimated oxygen
sensor temperature and response time. If the O2 sensor does not
respond quickly enough, the INTEGRATOR will start to oscillate instead
of the PD controller (next section), and in some applications, this
will set off a DEGRADED O2 SENSOR trouble code.

The PD controller uses a decaying exponential function and a step
adjustment, which, when combined, create an oscillator, with the
engine and sensor delays being the 'phase shift' required for
oscillation. The tables are calibrated to keep the oscillator going
at a critical value. If the oscillator becomes too damped, the above
INTEGRATOR correcion tried to fix this up. ie. the calibration of
the computer in this section is critical. This is the mystery
section that you never see in scanning tools because it goes faster
than the INTEGRATOR or BLM, and the serial data link isn't
fast enough to keep up with it. The 'CROSS COUNT' increments whenever
one half cycle of oscillation occurs. This number is visible on
the scanner, and should go up at a fairly fast rate... and it
should vary with engine speed and load. It wraps around at 255, and
goes back to 0. This last bit is a bit complicated, but that's how
it appears to work. Normally, a PD controller shouldn't oscillate, but
the engine performs the work of a delay line, and the engine
computer performs the function of an inverter. This is a lot like a
transmission-line oscillator in radios.

-Dale

From owner-diy_efi  Thu Nov  3 16:35:24 1994
Received: by coulomb.eng.ohio-state.edu (920330.SGI/920502.SGI)
	 id AA25250; Thu, 3 Nov 94 16:35:24 GMT
Received: from us.dynix.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 AA25245; Thu, 3 Nov 94 11:35:21 -0500
Received: from cpu.us.dynix.com by dnxjcit.us.dynix.com with SMTP id AA07128
  (5.65c/IDA-1.4.4 for <DIY_EFI@coulomb.eng.ohio-state.edu>); Thu, 3 Nov 1994 09:40:10 -0700
Received: by cpu.us.dynix.com (AIX 3.2/UCB 5.64/4.03)
          id AA27418; Thu, 3 Nov 1994 09:33:07 -0700
Date: Thu, 3 Nov 1994 09:19:30 -700 (MST)
From: Jim Conforti <jec@us.dynix.com>
Subject: Re: EGO and airflow sensors
To: Matthew Lee Franklin <fran0054@gold.tc.umn.edu>
Cc: DIY_EFI
In-Reply-To: <17299.fran0054@gold.tc.umn.edu>
Message-Id: <Pine.3.05.9411030928.C25965-a100000@cpu.us.dynix.com>
Mime-Version: 1.0
Content-Type: TEXT/PLAIN; charset=US-ASCII
Sender: owner-diy_efi
Precedence: bulk
Reply-To: DIY_EFI



On Thu, 3 Nov 1994, Matthew Lee Franklin wrote:

> >From some of the messages I saw flying around yesterday, I got the 
> impression that some think an airflow sensor and an oxygen sensor are the 
> same thing.  I hope my impression is wrong.  Everyone knows the difference, 
> right?

  I do hope so..

  And the question still stands unanswered ...

  Does any one have any info on the Mustang Hot Film/Wire used in the 
  earlier EFI Mustangs ... sensor is man. by Hitachi ..

  Jim Conforti



From owner-diy_efi  Thu Nov  3 16:48:08 1994
Received: by coulomb.eng.ohio-state.edu (920330.SGI/920502.SGI)
	 id AA25353; Thu, 3 Nov 94 16:48:08 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 AA25348; Thu, 3 Nov 94 11:48:04 -0500
Message-Id: <9411031648.AA25348@coulomb.eng.ohio-state.edu>
Received: by eigen.ee.ualberta.ca
	(1.37.109.4/15.6) id AA03544; Thu, 3 Nov 94 09:47:58 -0700
From: Dale Ulan <ulan@ee.ualberta.ca>
Subject: Re: Oxygen sensors 
To: DIY_EFI
Date: Thu, 3 Nov 94 9:47:55 MST
In-Reply-To: <9411031558.AA25000@coulomb.eng.ohio-state.edu>; from "John S Gwynne" at Nov 03, 94 10:58 am
Mailer: Elm [revision: 70.85]
Sender: owner-diy_efi
Precedence: bulk
Reply-To: DIY_EFI

> ok, so if its cold the output voltage stays between, say, .3V and .6V
> for an extended period of time. Once it exceeds these thresholds, we
> declare it's hot enough to use.

Something like that, anyways. There are a couple timers in there
as well.

> If the amplitude primarily indicates temperature, wouldn't a
> correction based on expected temperature have to be applied *before*
> a PID controller? I imagine that is, in part, what the tables
> do. Can you give us a better description of the tables?
> 

***************************************************************************
*
* Airflow dependant INTEGRATOR rate
*

KO2INTEG1       time12  180
		time12  110
		time12   79
		time12   55
		time12   40

 
KO2MEANTRIP
 db     $64,$60,$5E,$5E,$5E             ;Mean trip value

KO2RICHSTEP
 db     $73,$68,$5E,$5E,$5E             ;rich step trip

KO2NORMTRIP
 db     $5A,$5C,$5E,$5E,$5E             ;centre step trip

TO2AFFILT       ;airflow filter to slow ramp of O2 sensor
 db     $07,$0A,$10,$16,$1A

****************************************************************************
*
* Differentiator step size based on O2 osc size
*
*

TO2PK           fac256  47      ;
		fac256  47      ;
		fac256  47      ;
		fac256  47      ;
		fac256  51      ;
		fac256  63      ;
		fac256  63      ;
		fac256  71      ;
		fac256  86      ;
		fac256  110     ;
		fac256  125     ;
		fac256  141     ;
		fac256  157     ;
 

****************************************************************************
*
* Maximum allowed cross time. If the sensor is slower, than try to
* correct by using the INTEGRATOR. Uses O2 osc size as a scale.
*

TO2CROSSTIME
		time12  10
		time12  16
		time12  24
		time12  24
		time12  32
		time12  40
		time12  64
		time12  94
		time12  188
		time12  376
		time12  752
		time12  1876
 
****************************************************************************
*
* Oxygen Sensor expected cross-time adjustment for airflow
* 

TO2CROSSTIMEADJ ;airflow adjustable O2 cross-time
		time12  0       ; 0 Counts
		time12  0       ;10 Counts
		time12  10      ;20 Counts
		time12  10      ;30 Counts
		time12  0       ;40 Counts

****************************************************************************
*
* Decay rate of the D section of the PID controller (max: 1.000)
*
*

TO2IRATE        fac256  137     ; 0 Counts
		fac256  176     ;10 Counts
		fac256  273     ;20 Counts
		fac256  313     ;30 Counts
		fac256  375     ;40 Counts

****************************************************************************
*
* Integrator Time in ms.
*
* indexed by O2 osc size This is the integrator holdoff time.
*

TO2INTEG2       time12  2000
		time12  2000
		time12  2000
		time12  1750
		time12  1500
		time12  1250
		time12   876
		time12   750
		time12   750
		time12   876
		time12  1500
		time12  1500
 
****************************************************************************
*
*  O2 trip voltage adjustment
*

TO2ECTTBL       ;voltage effects vs. engine temperature
		db      $c0             ;header

		db      0               ;HOT            Engine Temp
		db      0               ;138.5 C
		db      0               ;108.5 C
		db      0               ;92.0 C
		db      4               ;80.5 C
		db      4               ;71.5 C
		db      4               ;63.5 C
		db      4               ;56.5 C
		db      4               ;49.7 C
		db      4               ;43.7 C
		db      4               ;37.3 C
		db      4               ;31.0 C
		db      0               ;24.0 C and colder



> What do you think of the approach of just hard-limiting the sensor
> output once it warms-up and integrating?

It'll work but won't be that good.

> Do the PID coefficients look like it's dominated by I?

Actually, the I section is kinda wierd, as the coefficient is 0 until
the D section has timed out. This time is in the order of 2 seconds,
as in the table above...

PID controllers become wierd when you start putting holdoff timers
all over the place. I can't simulate this very easily in Matlab, but
I certainly can run it on my HC11 board and figure out what's happening.

It looks as though the 'D' section is the dominating factor. As far
as I can tell from the source code, anyways. I don't think it's legal
for me to post source code in here, though.  The source I have is disassembled
from ROM, and any comments are those that I figured out...

-Dale

From owner-diy_efi  Thu Nov  3 17:05:59 1994
Received: by coulomb.eng.ohio-state.edu (920330.SGI/920502.SGI)
	 id AA25481; Thu, 3 Nov 94 17:05:59 GMT
Received: from mn.ecn.purdue.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 AA25476; Thu, 3 Nov 94 12:05:57 -0500
Received: from mn.ecn.purdue.edu (armfield@localhost)
	by mn.ecn.purdue.edu (8.6.9/3.5davy)
	id MAA03244; Thu, 3 Nov 1994 12:05:56 -0500
Message-Id: <199411031705.MAA03244@mn.ecn.purdue.edu>
Date: Thu, 3 Nov 1994 12:05:56 -0500
From: Jeffrey S Armfield <armfield@ecn.purdue.edu>
To: DIY_EFI
Subject: Hitachi MAF Calibrations
Sender: owner-diy_efi
Precedence: bulk
Reply-To: DIY_EFI


I have cal's for Hitachi MAFs that reside in :

a) 2.3L Mustang
b) Full size Ford vans and trucks

No 5.0L Mustang stuff, though

Jeff Armfield

From owner-diy_efi  Thu Nov  3 17:54:14 1994
Received: by coulomb.eng.ohio-state.edu (920330.SGI/920502.SGI)
	 id AA25750; Thu, 3 Nov 94 17:54:14 GMT
Received: from tomcat.al.noaa.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 AA25745; Thu, 3 Nov 94 12:54:11 -0500
Received: from aztec.al.noaa.gov by tomcat.al.noaa.gov with SMTP id AA08596
  (5.65c/IDA-1.4.4 for <DIY_EFI@coulomb.eng.ohio-state.edu>); Thu, 3 Nov 1994 11:00:48 -0700
Message-Id: <199411031800.AA08596@tomcat.al.noaa.gov>
Date: 3 Nov 1994 11:55:30 -0700
From: "Ciciora Steve" <sciciora@al.noaa.gov>
Subject: FW: Injected Briggs
To: DIY_EFI
Sender: owner-diy_efi
Precedence: bulk
Reply-To: DIY_EFI

  Isn't it cool how great minds think alike? :-)  I, too have been thinking of
hotrodding a briggs lawn mower.  First step, get an alternator and motorcycle
battery running on the mower, next add an ignition system.  My 'stock' lawn
mower seems to have fixed advanced igniton, so shouldn't be too hard to do
better.  Centrifical and vaccum would be nice.  Next, fuel inject it.  Then
play w/ higher compression ratios, porting the heads, etc.  Stuff I'm too
chicken to do on my daily driver.  I don't think a 10 horse dyno would be that
hard either (my lawn mower engine started out as a 3 and 1/2 horse engine).  I
would use a break rotor, a disc brake caliper, and measure the force about a
foot out on a lever arm off of the caliper.  Garden hose for cooling the break
rotor.
  Anyway... On to small injectors.  I spent a lot of time trying to figure out
how to get a small injector.  Realized that my brother's 1990 K75S BMW
Motorcycle is fuel injected.  3 Cyl., 750 cc, 250 cc per injector.  $118.40
each, though.  I called (303) 936-2317.  Wonder if the D.U.M.P. (Denver Used
Motorcycle Parts) has any used?  If you have not read it yet, get a copy and
read John DeArmond's articles on a fuel injector flow bench, in the only two
issues of Performance Engineering Mag.  He mentioned stratigies on how to get
injectors to fire quicker, like running almost enough current for it to fire,
so when you want it to, it won't take as long to build up the magnetic field.
  Speaking of John... Anybody hear from him, or know how to get a hold of him? 
He promised refunds on his mag., but I'd just like to get a copy of the small
free issue instead (I lost mine :-{).  I wonder how's his BBQ business?
________________________________________________________

Jeff,

I've been interested in trying to inject a small engine, too.  I've rigged up
an gutted alternator from a VW Rabbit to a 5 HP Tecumseh to use as a brake for
a dyno.  I've kludged the thing by shorting the three legs of the windings to
form an eddy-current brake.  The load is easily adjusted via the field current.
The problem, of course, is the heat produced.

I have successfully run the ignition from a magnetic TDC reference sensor.

Anyway, exactly what injector have you found that is small enough to work
on these small displacement engines.

.../Bill Lewis






