From Majordomo@xxx.edu Tue Mar 7 17:27:49 1995 Date: Tue, 7 Mar 95 12:40:35 GMT From: Majordomo@xxx.edu To: wrm@xxx.za Subject: Majordomo file: list 'diy_efi' file 'archive_num_41' -- >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" Message-Id: <16841.fran0054@xxx.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" Message-Id: <17299.fran0054@xxx.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@xxx.edu> To: DIY_EFI Subject: Re: Oxygen sensors In-Reply-To: Your message of "Thu, 03 Nov 94 07:51:56 MST." <9411031452.AA24175@xxx.edu> Date: Thu, 03 Nov 94 10:58:45 -0500 From: John S Gwynne Sender: owner-diy_efi Precedence: bulk Reply-To: DIY_EFI -------- In message <9411031452.AA24175@xxx.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@xxx.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@xxx.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 Subject: Re: Oxygen sensors To: DIY_EFI Date: Thu, 3 Nov 94 9:27:18 MST In-Reply-To: <941103101049.20b6@xxx.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 ); 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 Subject: Re: EGO and airflow sensors To: Matthew Lee Franklin Cc: DIY_EFI In-Reply-To: <17299.fran0054@xxx.edu> Message-Id: 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@xxx.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 Subject: Re: Oxygen sensors To: DIY_EFI Date: Thu, 3 Nov 94 9:47:55 MST In-Reply-To: <9411031558.AA25000@xxx.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@xxx.edu> Date: Thu, 3 Nov 1994 12:05:56 -0500 From: Jeffrey S Armfield 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 ); Thu, 3 Nov 1994 11:00:48 -0700 Message-Id: <199411031800.AA08596@xxx.gov> Date: 3 Nov 1994 11:55:30 -0700 From: "Ciciora Steve" 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 ÿ