Notes that should be in an EFI FAQ somewhere...


  1. DIS ignition systems (AKA a "wasted spark" system since 2 plugs are fired at once. One of them on the compression stroke and one on the exhaust stroke)
    1. Plugs are connected in series. "The cylinder on the exhaust stroke requires very little of the available voltage to arc, so the remaining high voltage is used by the cylinder in firing position (TDC compression)." (Ref Chilton)
    2. The firing of individual coils is not controlled directly by the ECM. The DIS module acts exactly like a distributor from the standpoint of the ECM. The DIS module monitors the crankshaft and camshaft sensors and communicates with the ECM primarily by the EST signal just like its distributor cousin. The EST signal controls timing advance/retard but does not control which cylinder gets a spark. A signal is sent to the ECM for timing of the fuel only.
  2. If my DIS fired spark plugs are wired in series, how can it fire one of the plugs with the other disconnected? "It is possible in a no-load condition, for one plug to fire even though the spark plug lead from the same DIS coil is disconnected from the other spark plug. The disconnected spark plug lead acts as one plate of a capacitor, with the engine being the other plate. The two 'capacitor plates' are charged as a current surge (the spark) jumps across the gap of the connected spark plug. The 'plates' are then discharged as the secondary energy is dissipated in an oscillating current across the gap of the spark plug still connected" (ref a GM document quoted in a DIY_EFI email by Garfield on 29 May 1998).
  3. How do I connect a GM ECM to my Ford distributor? To mix and match Mopar, Ford, and GM distributor pickups, see "Dr's Guide to Optimizing your Ignition System" (also known as "Performance Ignitions Systems" by Christopher Jacobs, PH.D., E.E.--ISBN 1-55788-306-8).
  4. How does CDI work? When you talk about a points ignition you use the coil in a different mode than a CDI. In the points ignition you saturate the coil core magnetically. When the points open the field collapses and generates the spark. In the CDI ignition you apply a short ~300 Volt pulse to the coil and use it as a stepup transformer to create the spark pulse (ref KenKelly -- DIY_EFI on 28 May 1998). Whether you have points, or a pickup running a module, they both basically do the same thing described above; namely they switch on to conduct current throught the primary until the coil primary is saturated, and then switch off/open the connection to fire the spark. I dunno exactly why someone first decided to call the "saturated coil" type of IGN, "inductive" IGN, cuz both schemes use magnetic induction fundamentally, but Bruce the reason why CDI is called "capacitive discharge" is that the short ~300-400V pulse Ken is refering to is created in the primary of the coil by "dumping" a capacitor that's already been charged up to that voltage, into the primary. Usually this is done with a FET or SCR or some kinda switching device that abruptly connects the charged capacitor across the primary. The capacitor discharging into the coil primary and producing this pulse, is where the name CDI comes from (ref Garfield -- DIY_EFI email on 28 May 1998).
  5. How do you tell if the pickup coil in the GM distributor is wired backwards? If the pickup up in the dist uses a coil+reluctor then it generates a A/C signal. The module has a specific theshold when it triggers. The faster you spin a reluctor in a coil, the greater the voltage, and the earlier the signal. IE in a GM HEI it's a bit over 1.5degrees per 1,000 rpm. So depending on how it's wired/triggered you now have a rpm sensitive advance or retard. Hook a timing light to a plug wire, and make the switch if the timing retards, then you know it's retarding as a function of rpm (ref Bruce Plecan -- DIY_EFI email on 23 Apr 1998).
  6. What's the GM "SmartCoil" used on the LS1? It is an entirely new system. They are NOT mere IGN coils, they're complete single-coil IGN "systems". They contain ALL the electronics for dwell control, current limiting, etc etc. These coils are DIRECTLY run from the ECM/PCM. There is NO module. They have 4 terminals (plus the HV terminal, that uses these ratchet style terminals I was tellin bout yesterday), two for Bat Gnd, and Bat +12V, and the other two are the digital EST signal and it's low-noise gnd return (ref Garfield -- DIY_EFI email on 29 May 1998).
  7. On the optispark how many pulses are there per crank revolution?. Is there a reference pulse?.
    There's a hi-res and a low-res signal that comes from the Optispark. The Opti is driven off the cam and there's 4 pulses per crank revolution (low-res) and 180 pulses per crank rev (hi-res).
    Anyone know of an on-line picture of this set up, "wheel" sensor, or what ever they got in there for crank posistion.
    http://www.charm.net/~mchaney/optisprk/optisprk.htm
    The 96/97 cars have a seperate crank position sensor on the crank itself for measuring crank velocity (for OBD-II misfire detection). One neat thing is that the PCM can detect timing chain wear/slack by comparing the the crank position sensor to data from the Optispark (ref Jody Shapiro -- DIY_EFI email on 22 May 1998).
  8. TPI uses batch firing of fuel injectors. Even though each intake manifold runner has an injector, the injectors for each cylinder bank (1,3,5,7 & 2,4,6,8) are all fired together once per crankshaft revolution. (Ref Chilton) "Hardware in the ECM divides the distributor reference pulses by 2 (L4), 3 (V6), or 4 (V8)" (ref Ludis Langens-- DIY_EFI email on 1 Apr 1 1998) and fires injectors from that signal, which would be twice per camshaft revolution or once per crankshaft revolution.
  9. TBI fires its injectors once per distributor reference pulse or 8 times per camshaft revolution (for a V8) and 4 times per crankshaft revolution. (ref Ludis Langens-- DIY_EFI email on 1 Apr 1 1998)
  10. What should my fuel pressure be? Around 10psi for TBI systems (shoot for 15psi at the pump) and may range from 28-50psi for various port injection systems. Aftermarket parts may raise fuel pressure to 75psi.
  11. My MAF equipped engine is running like crap. Any easy tests? 1) Tap (like with a pocketknife) the MAF sensor with the engine running. 2) Unplug the MAF. If either of these corrects the problem you probably have a bad MAF sensor.
  12. Is it possible to identify a bad injector without tons of special equipment? Try getting a piece of PVC or poly' pipe, and pointing the end at each injector, respectively. You should hear the ticking noise if it is in good order. if you hear more of a thudding noise, the injector is either no good, or it is blocked (ref Danny Barrett -- DIY_EFI email on 2 May 1998).
  13. How can I make a fuel rail? I made a fuel rail from 3/8 diameter .049 wall mild steel tube. It's called DOM (drawn over mandrell). I made the fittings out of free machining steel and then silver soldered the parts together using a locating fixture. It fits up to 5.0 liter Ford injectors with O-rings at the top onto a Rover 3.5 inlet manifold. No leaks. I'm not sure that the DOM is available universally, I get it from Pacific Machine and Tool Steel in Pdx, Oregon (ref Jon -- DIY_EFI email on 10 Jun 1998).
  14. I need an adapter (or fitting) to connect fuel line X to fuel rail Y. See fittings.txt. (ref Shannen Durphey -- DIY_EFI email on 05 May 1998). For custom hoses I often cut through the factory crimp and remove the ends I need, then take them to someone who makes hydraulic hoses to put them together (ref Shannen Durphey -- DIY_EFI email on 06 May 1998).
  15. What's a typical MAF reading? The 32 to 208 are load, They are measured in Grams/Sec. 32 is really light load and 208 is pretty high load. My 5.7 87 Vette hits 255 grams (Indicated) at between 4600-4700 rpm's. Cruising down the highway it reads 32-34 grams/sec at 70 mph (ref Mark Romans -- DIY_EFI email on 10 Jun 1998).
  16. GM MAP outputs variable voltage while Ford outputs variable frequency (ref Steven Gorkowski -- DIY_EFI email on 22 Apr 1998). Delco MAF sensors (black plastic) vary voltage with airflow. Hitachi (die cast aluminum) vary frequency with airflow. Hitachi is used on 3.8l Buick from about 92 or 93, and maybe others (ref Shannen Durphey -- DIY_EFI email on 23 Apr 1998).
  17. How does EGR work? See egr.txt (ref Clive Apps -- DIY_EFI email on 9 Jun 1998).
  18. How is an Oxygen (O2 or EGO) sensor read? It has an 'S' type curve, where the voltage is close to 0 when the exhaust contains exhaust from completely burned lean mixture. In a rich mixture, the sensor reads approximately 800 mV. Right around stoich, the sensor goes into its linear region. The height and slope of this linear region is highly dependant on temperature, even more so than on the mixture...
            + ----------- 800mV
          +      
          +      
          +      
    100 mV ----------- +        
    LEAN 14.8   14.7   14.6  

    > I thought it already read out the A/F ratio. What exactly are you saying
    > above? Is the "pump" a constant current source?
    The 'pump' is fed by a current source. The amount of current fed through the 'pump' cell controls when the sensing element does the above...for example, by feeding 5 mA into the pump cell, the trip point looks the same (more or less), but it is shifted... I'd suggest reading SAE paper860408, by Seikoo Suzuki, Takao Sasayama, Masayuki Miki, Minoru Ohsuga, Shigeru Tanaka, Sadayasu Ueno, and Norio Ichikawa of Hitachi. Also, papers 841250, 850378, and 850379 contain material on this topic.

            + ----------- 800mV
          +      
          +      
          +      
    100 mV ----------- +        
      10.7   10.6   10.5  

    About 1990, a few people from the EPA wrote an SAE paper on the subject of oxygen sensors. My copy of the paper is at school, so I can't quote the names or give you the SAE paper number. But I can summarize it, because I was suprised, too.
    The EPA was going to do a study of oxygen sensor aging and break-in periods, and quantify how this affects exhaust emissions. They built a test setup with a heater (which would heat up the sensor and the gas it was exposed to), and a valving system that would allow them to purge the test system with nitrogen gas, and then give samples of other gasses.
    The most obvious test is to see what temperature was required for the sensor to sense oxygen. So they cranked up the O2 flow, and started heating. The O2 sensor started to respond at about 800 or 900 degrees C. No exhaust system operates at that under normal road-load conditions.
    At this point, they decided that their study should concentrate on this lack of O2 sensor activity. What they discovered was that the O2 sensor would respond to carbon monoxide and hydrogen. At normal operating temperatures, they concluded that the O2 sensor is not capable of sensing oxygen at all. Few people seem to have read this paper, though, so most people out there think that the oxygen sensor actually senses oxygen in a vehicle. It *can* sense oxygen, but it'll have to be glowing pretty bright to do it.
    I would suggest going to your local technical library and finding this SAE article. It will be in one of the annual article abstract books, somewhere between 1989 and 1993, and may be present in either the big thick SAE publication hardcovers, and/or in 'Sensors and Actuators', an SAE special publication series (ref Dale Ulan -- DIY_EFI email on 28 Oct 94). The output from an O2 sensor is shown at http://www.bracken.co.uk/misc/ you will see a figure relating % O2, CO, H2, NOx etc to Lambda (ref Gus Cameron -- DIY_EFI email on 24 Apr 1998).

  19. Is it OK to connect the EGO sensor directly to the A/D input of a 68HC11 processor or do I need some filtering/conditioning circuitry ? Read the previous, and if you still must...You should protect the A/D input from voltage spikes on the EGO input. The highest frequency I've seen an EGO work at is about 3-4Hz. You could use a low pass rc combination with a cutoff frequency of 30Hz. Then diodes to vcc and ground of the uP. This will protect the A/D and also filter any noise coming in.
    You should also have a biasing circuit on the EGO input. This would consist of a reference voltage (.45-.5 or whatever voltage you have chosen as the 'reference') connected to the EGO input with a resistor of around 1Meg. This circuit will provide a voltage to the A/D when the EGO is cold, very high impedance and not generating any voltage. The uP then will know when the EGO is starting to work by noting when the voltage changes from your set reference.
    There are a couple of ways that I know of, of reading the EGO voltage.
    i) The EGO voltage is fed to two comparators. One has a threshold of reference + ~10 to 20mv with a high output when the EGO voltage is higher than the above. The other a threshold of ref - 10 to 20mv with a high output when the EGO voltage goes below this amount. The outputs of the comparators are fed directly to two uP digital inputs. This has the advantage of freing up an A/D.
    ii) After biasing and filtering the EGO is fed directly to an A/D input. If the A/D is 8 bits this will give you about 20mv resolution (based on 0-1v and A/D ref of 5v). It would be nice to have 20mv equal to 3 bits or 10 bit A/D.How many bits does the 68HC11 A/D have? (ref Walter Petermann -- DIY_EFI email on 11 Jun 1998).
  20. > 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.
    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 (ref Dale Ulan -- DIY_EFI email on 3 Nov 94).
  21. Can I make my own bar graph style A/F ratio display? There are several options. See the EGO led displays under "Projects" at DIY_EFI or...Connect a Radio Shack "bar graph" display to the sensor output (0 to 1V), through a resistor (10K I think) and put a CAP about 33uf on it (this takes out any varances). This gives you a idea of what the sensor is doing.
    Then conect a LED (1K resistor in series) to the "lean/rich" selenoid, and it will vary as the mixture is leaned out etc.... (you watch the pulse width modulation with your eye) (ref Nate -- DIY_EFI email on 4 Nov 1994).
  22. Diacom - This BASIC code can read in a diacom file from a car with the needed columns and load it into variables. If you had the diacom plus certain arrays would need to be enlarged to handle it. The program handles the data in whatever order diacom outputs it in, since order does not seem to be consistant. (ref Roger Heflin-- DIY_EFI email on 1 Apr 1998)
  23. Use 100ohm resistors as dummy loads for Delco ECM outputs. Seems to work for most solenoids, injectors, and such. (ref multiple DIY_EFI postings).
  24. How do I know if my car uses OBDII? All OBDII vehicles must have the connector defined by SAE J1962. The connector can always be found within 3 feet of the driver, usually low on the dash or behind the ashtray. If your vehicle is pre-1996, it could have the J1962 connector and not be OBDII. Follow the rules below to know for sure.
    First, you have to have the J1962 connector. This is a 16 pin, D shaped connector, not the rectangular ALDL connector.
    If the connector has pin 2, 7 or 10 then it is OBDII.
    If the connector has a pin 2, but no pin 7 or pin 10 it uses the J1850 VPW standard
    If the connector has pin 10, but no pin 2 or pin 7 it uses the J1850 PWM standard
    If the connector has a pin 7, but no pin 2 or pin 10 it uses the ISO 9141-2 standard
    I don't think any pre 1996 LT1's were OBDII. The 95 Fbodies and Impalla SS's were not OBDII, although I think some of the Fbodies had the J1962 connector.
    If anyone knows differently - please let me know. (ref Mike Fahrion -- DIY_EFI email on 2 Apr 1998)
  25. Can I find out more about ODBII? See http://www.odbii.com. Purchase SAE's HS-3000 1998. This is a bargain (relatively), it has *every* spec related to OBDII you'll ever need, except for the ISO 9141 stuff but Ford doesn't use that anyway. Three hardware layers are allowed for use in OBDII, from a hardware point of view, they have pretty much nothing in common with each other.
    SAE J1850 VPW - used by domestic GM's
    SAE J1850 PWM - used by domestic Fords
    ISO-9141 used by Chrysler and most imports (ref Mike Fahrion -- DIY_EFI email on 4 Jun 1998). For more free info, see http://chimera.acs.ttu.edu/~z7d23/research.html which seems to be a copy of J2201. This mentions that there are 3 possible communication protocols that a DLC can connect on (two of which are J1850 variants, the third is an ISO communications standard). There's also a mention of someone working on a scantool at http://www.diy-efi.org/diy_efi/archive/archive_num_60 (ref Clive Apps -- DIY_EFI email on 4 Jun 1998).
  26. VATS -- creating a fake VATS signal
    For 93 FBody, ECM 16159278, terminal A19 on the ECM needs a 30 Hz signal, 50% duty cycle.
    For 94 and possibly 95 with PCM 16188051 terminal A25 on the PCM needs a 50 Hz signal.
    Alan wrote "In my 94 Helms, it sez terminal A25 on PCM. The name of the wire going to this terminal is 229 DK BLU - it may be on your harness. If 40-60Hz is not present on this terminal, engine will stall after 1.7 seconds.", which is exactly what was happening on my motor. (ref Joe Gervais -- DIY_EFI email on 26 Apr 1998).
  27. VATS -- disabling it in the EPROM on a '7730. To do it right, Leave 0008 at &H8D, Sum up 0008 through the end of the PROM and write this checksum value at 06 and 07 (ref 13 John Hess -- DIY_EFI email on 13 May 1998).
  28. Here's what GM uses (on a 68xx) to interpolate in a one dimensional array. "scale" is usually 16 which means that a 17 byte table maps all input byte values. "scale" of 8 allows a 9 byte table. Other values are also possible.
  29. Is it possible to build my own EPROM programmer? Yes, but it doesn't support the 2732 used in older C3 ECMs. The URL for the EPROMr FAQ page is <http://www.zws.com/products/epromr_faq.html>, however most of you will want to go to <http://www.zws.com/products/bin/epromr.zip> and download the new version of the software archive (approx. 555K). This zip file also contains the FAQ document. (ref Derek Jewett -- DIY_EFI email on 28 Apr 1998).
  30. I'm building my own system and need to reduce ignition signal noise. How do other accomplish this? On the Jag (V12 80's) there are separate systems for the fuel injection and ignition. The fuel injection brain (ECU) uses the signal from the negative terminal of the ignition coil to generate the timing for the injectors. There are twelve injectors split into two banks of six. Every six 'ground pulses' that the ECU senses on the coil negative, it fires one bank of the six injectors.
    The ground pulse sensing cicuit is as follows: The negative coil terminal signal goes through a 22K resistor into both inputs of a nand/schmitt trigger gate. The output of the gate is tied directly to the microprocessor.This gives a positive pulse to the uP during the time the ignition system has the coil grounded. The inputs of the nand gate are protected by a 5.1V zener to ground, and a copacitor ( which is too small for me to read the numbers off of..) to ground. The nand gate chip is an RCA CD4093BE. (ref Walter Petermann -- DIY_EFI email on 03 May 1998).
  31. What is EGOR? The 5-wire UEGO sensor project, for getting the electronics to run a wide range Honda/NTK EGO sensor (part #36531-P07-003), that can actually be used to MEASURE A/F mixture within say plus-minus 0.1 AFR. Useful for AFR meters, or use in an engine management scheme where you wanna control AFR precisely, even at WOT (ref Garfield -- DIY_EFI email on 28 May 1998). This is especially useful for tuning, since a typical EGO sensor only measures "rich" or "lean". One issue with this project is that these sensors are temperature AND pressure sensitive (ref Garfield -- DIY_EFI email on 02 Jun 1998).
  32. What is ION? The project for getting electronics to be able to detect misfire and knock using the new "ionization current" detection scheme that Saab has pioneered this decade, which uses the spark plug as a sensor to measure the residual ionization current after the spark has fired. Absence of this ionization current, or it's presence outside proper time windows, or abnormal current, is used to detect preignition, misfire, and knock. Not subject to the usual vagaries that piezo/acoustic knock sensors are plagued by, especially a high rpms or noisy environments, like racing or aircraft engine apps.(ref Garfield -- DIY_EFI email on 28 May 1998). This method is hands down better than any accoustic method (such as that used by '80s and '90s GM systems). See http://www.mecel.se/my_html/body_Ion_Sense.htm, and http://www.vehicular.isy.liu.se/Research/activity96/node5.html. See also http://www.patents.ibm.com and look up the patents 4,862,093 and 5,293,129. The images comprising these 2 patents are also available at http://www.aces.edu/~gparmer/ion. The way it works is, after the spark is applied to the plug, a different circuit applies much lower voltage across the plug gap (80-400 volts, not enough to form an arc). Because of ions formed during combustion (a plasma), some small current flows across this gap. By looking at the amount of current, you can tell how if the mixture detonated or not (ref Steve Ravet -- DIY_EFI email on 28 May 1998;"Sanity Challenged" -- DIY_EFI email on 24 Jun 1998; or search DIY_EFI for "Crown Jewels").
  33. What is a Holden? It is one of GM's overseas cars. See http://www.thrasher-ep.com. Many similar parts to a regular GM, but very different too.
  34. How do I identify my ECM and its processor? Start by reading the Service Number printed on it. If that is gone, you can easily identify the ECM *type* by the type of EPROM carrier used. The EPROM will be hidden under a small 'sub-lid' of the ECM, and in some kind of carrier. A C3 PROM will be in a small black plastic chip carrier made by RN. A P4 PROM will be in a large long chip carrier with a dual-row header plug on the bottom. The new ECM (P5?) uses on-board FLASH memory.
    A C3 ECM is based on the Motorola 6801 processor. Different versions [service numbers] of the C3 have different I/O and software on them, depending on the application. They usually have the GM timer chip set, which does spark and injector timing.
    The P4 ECM is based on the Motorola 68HC11 processor. There are also many variations on this basic ECM type. Same applies as above... except that all of the software is contained in the 32k EPROM used in these ones... there is no on-board masked ROM in most P4 applications that I'm aware of. (ref Dale Ulan -- DIY_EFI email on 5 Oct 94).
  35. Is there a list of applications for each ECM service number? See Ludis Langen's web pages at http://www.cruzers.com/~ludis.
  36. Has anyone disassembled the code in a Delco ECM? Disassemblies are on Ludis Langen's web pages at http://www.cruzers.com/~ludis -- The real 'feature' is that for every instruction, the 6801 register contents are listed in a comment field. They are shown as if they were the source operand of a LDAA (or LDX) instruction. The "N register" is really the N flag. The listed contents are the values _before_ the instruction executes. If the contents are unknown, or there were too many possible values, this is indicated with a ? character. If a register is not listed, then it is not used in this or a subsequent instruction (until it gets loaded with a fresh value.) Subroutines that don't modify a particular register are a slight exception to this rule - the register might be used by the caller.
    I'm actually using a 680x0 assembler with macros handling the 6800/68HC11 mnemonics. I've had to change the syntax slightly - it isn't exactly Motorola 68xx standard (ref Ludis Langens -- DIY_EFI email on 26 Apr 1998).
  37. What algorithms do the OEMs use for EFI?
    Bosch...
    RPM is well .. rpm
    LOAD, however ... think MAP for the speed-density guys, and think MAF/RPM (airflow per rev or stroke) for the measured air guys ..
    Spark ..
    retard on accel
    adv. on decel
    main spark f(rpm, load)
    adapted by f(engt) and f(airt) [charge temp. for the turbo guys]
    Fuel .. = LOAD * Kbpw * VE(rpm, load)
    adapted by
    Decel Fuel cutoff
    Post Start Enrichment f(engt)*f(speed,load)
    Warmup enrichement f(engt)*F(speed,load)
    Accel enrich f(rpm)*f(engt)
    (ref Jim Conforti -- DIY_EFI email on 10 Nov 1994).
    Delco...
    PULSE_WIDTH = INJOPEN[battery] + AE + BFP where
    BFP= BASE_PULSE[rpm,map] * ADFACT[air_temp] * (POWFACT[rpm] + POWFACT[map])
    AE = DMAP_CONTRIB[dmap/dt] * TFDMAP[man_temp] + TPS_CONTRIB[dtps/dt] *TFDTPS[man_temp] * TPS_ADJ[tps] * RPM_ADJ[rpm]
    Other factors include (COLDENGFACT[ect] - TIMEOUT[engrunning])
    BASE_PW (BASE_PULSE) comes from the Load vs RPM table.
    The power enrichment (POWFACT) is like the metering rods in real carburetors (or the power valve in a Holley). In high load conditions, the EFI computer will add enrichment, and typically run the mixture at 13.0:1 or so.
    The accelerator pump (TPS_CONTRIB) is an additive pulse width, after the steady-state fueling has been calculated to open the injector 'X' us. AE is typically calculated by using a filtered delta-MAP contribution table (DMAP_CONTRIB) and temperature compensation table. This compensates for manifold dropout effects of TBI systems, where fuel will condense on the manifold walls when quick changes of MAP occur. In addition, to compensate for manifold filling effects and fuel evaporative rates, an additional AE is added, with its own dTPS table, a temperature-dependant decay rate, and another temperature dependant factor.
    AIR_DENS (ADFACT) comes from the air temp sensor (PV=nRT-ideal gas law).
    Cold Start is in part determined from coolant temperature, but also the change in coolant temperature since starting, time since start, and manifold vacuum: Coolant Temperature determines a 'COLD START' mixture, eg. 3.5:1 at -10 C.
    Delta coolant will indicate that the temperature has gone up by, say, 5 C since starting, so add (for example) 1.0:1--> Engine vacuum is at 30 kPa, so add 1.5:1--> The engine has been running for 20 seconds, so add 0.4:1-->final ratio = 6.4:1.
    Typically, the 'timer' is an exponential lag filter.
    There are also correction factors based on fuel return line backpressure, fuel pump voltage drop, canister purge vapor compensation, EGR feed compensation, and a great deal of other things. [I did a great deal of re-arranging of this data in an attempt to make it "standalone" and hope it's still accurate. To be sure, see the "ref"] (ref Dale Ulan -- DIY_EFI email on 10 Nov 94).
  38. What's this "Motorola" or "S19" format? "S16" format? It is an ascii file (so it is readable by any text editor) used by Motorola which represents the binary (or hex) file. See the glossary for more info.
  39. Has anyone built an injector cleaner/flow bench? See inj_fb.txt or Fuel Injector Flow Bench.
  40. How can I build a flow bench (air)? There's at least one DIY_EFI list partipant who's built one for $125. See Kelly Murray's flowbench. Then there are the following references:
    First, there's a section in a really excellent book on porting, by the famed autolizard David Vizard, "How to Build and Modify Chevrolet Small-Block V-8 Cylinder Heads". ISBN 0-87938-547-2 He has a diagram of a diy FB, but it's not a set of plans, per se. The book's a must-have, tho.
    Then, a pretty good "alternate perspective" book on same subject, by John Dalton, "Practical Gas Flow". ISBN 1-899870-08-3
    Also, a magazine article by Stephen Bogdan, "Go with the Flow: Build your own Flow Bench...", found in Issue #7 of Mopar Tech Special, a semi-annual magazine published by the editors of the monthly mag Mopar Action, a rag of Harris Publications, NY, NY (212) 462-9543, if you can't find it on the stands.
    Finally, there's some things to be learned about manometers, if you're gonna go the conventional style FB, that can be found at http://www.dwyer-inst.com. You should order their catalog. Some good info and explanations in there.
    And last but not least, order an Operator's Manual for the SF-300/600
    Flowbench, from SuperFlow http://www.superflow.com. In the back is a wiring diagram that shows how the motors are stacked and how many are used for which model.
    BTW, the way I learned about Quadrant Scientific, is that in David Vizard's book, he mentions a "flow bench computer program" available from them for computing orifice sizes, flows from pressure drops across said orifices, etc. So I called them explaining my interest, and got a huge earfull from the Pres. on where QuadSci's gone since the days of that book being written ('90). Do check these guys out at http://www.quadsci.com and root about until you find their flow bench listing; it's kinda a quirky web page design, but be persistent and you'll find your way inside. Here's the trap door incase you get too frustrated-- http://www.quadsci.com/products/engair/flwbnch/flwbnch.htm but a look around the whole site is worthwhile.
    Their benchtop 200cfm FB is VERY affordably priced, BTW, cuz it hooks to a normal PC for all it's smarts and controls; so all you buy is the blower box, with it's integral pressure & flow sensors. The motors are controlled by the PC directly (ref Garfield -- DIY_EFI email on 11 May 1998).
  41. How do I drive a 2ohm injector? Older GMs use a Nat'l Semi LM1949 with a few support chips. Another option is an MTP3055EL, clamp zener, and a big resistor. The resistor is necessary to prevent roasting of the injectors (ref Dale Ulan -- DIY_EFI email on 8 Feb 95).
  42. I've heard the 68xx processors start at address xFFFF. Can you explain? All processors have what is called the Restart or Reset Vector. When the processor starts up, it loads the program counter with address of the start of the code. For the Motorola's, this start up address is FFFE and FFFF (double byte). Located here is the address of the start of the program code. This address is loaded into the program counter and off it goes. If you look at any P4 256k binary, the last two bytes will be something like:
    - A0 00 (FFFE and FFFF). This means the start of code is address A000. The start of the code is almost alway located after the data (although having some data scattered in the middle of the code is not that unusual).
    The A000 start of code is not universal. It all depends on the size of the data. If it fits from 8000-9FFF (256k rom) or from C000-DFFF (128k rom), the start address will be in that area. Usually.
    What some people miss is the the code is "hanging" from FFFF backwards. Since the processor damn well expects the Restart Vector at FFFF, the program must but pushed up to this address. The processor has to start somewhere. And this is the somewhere.
    So a 128K rom is located from C000 to FFFF and a 256k is from 8000-FFFF (takes twice the space) (ref TerryK -- DIY_EFI email on 13 May 1998).
  43. Where's the "experimental" byte? It moves around a bunch. See the archives for a list (ref Ludis Langens -- DIY_EFI email on 16 May 1998).
  44. What's the maximum *angular* acceleration of an unloaded high performance engine? My 350 SBC seems to be about 11000 rpm/sec with no load near the
    (estimated) peak torque RPM (ref John S Gwynne DIE_EFI email on 02 Nov 94). Also see http://www.performancetrends.com/programs.html. (ref Walter Petermann -- DIY_EFI email on 16 May 1998).
  45. The tables aren't where they are supposed to be on my EPROM. Why? With the older C3's, part of the program is in ROM. That of course can't change (unless you go to a different numbered ECM.) Part of the program is in the EPROM. I have seen a few cases where this portion of the program code is changed.
    Most of the changes seem to be bug fixes. Or fixes relating to a "problem" that couldn't be calibrated properly without a program change. I have a Buick V6 PROM with a rather large bug fix. The letter code on the PROM implies it was released several years after the car was produced (ref Ludis Langens).
  46. Is there a way to guess my engine's HP based on ET? What size injectors will be needed for a 400hp V8? These and many other formulas are available at http://sura1.jlab.org/~grippo/auto.html.
  47. How can I make a PC board? How much? PADS is a fairly nice (for shareware) shareware circuit drafting / PCB layout package. Several companies can make the board based on your layout. Looks like the current (?) cost is $60 plus $0.85 per square inch.Canadian $... the exchange rate worked to my advantage... they billed in Canadian $. NAFTA regs means that there are no fees over the $25 Fed-Ex overnight charge. See http://www.apcircuits.com.
  48. What are the pinouts for my '7747 ECM? The best answer is something like Chilton, but http://www.aces.edu/~gparmer/efi/wiring.htm may be of help also.
  49. What is the density of gasoline? According to Bosch Automotive Handbook 2nd edition density in g/ml varies from .715 to .78 depending on time of year and reg/premium. See http://www.cs.ruu.nl/wais/html/na-dir/autos/gasoline-faq/part1.html
  50. What type of replacement parts can I use with my Holley TBI? The throttle body looks similar to the ones used on most 87 and up Chrysler products. Look under the hood of a 2.2 or 2.5 L 4 cyl powered Reliant, Spirit, Acclaim , a V6 Dakota or a V8 full size pick up.
    The fuel injector is built by Bosch and dosent seem to be used on any other
    cars, they are color coded.
    The Idle controll air valve, if this is the one that has 4 small flat
    electrical pins , is should be a Chrysler unit.
    O2 sensors:
    There are two basic types Titania and Zirconia.
    Zirconia is the most common It produces voltage ( 1 V when fuel mixture is rich, 0 V when fuel misture is lean) when the O2 content of the exhaust is low. The sensor output isn't linear, there is a sharp change in voltage when air/fuel mixture is around 14.7 to 1. One wire: No heater, the body of sensor is the ground. GM, Ford, Chrysler plus others usually 18 mm thread. Can swap among each other though a plug swap is needed. Two wire: No heater, one signal wire one ground wirebody also grounded Used by GM in the early 80's. Can be replaced with a one wire sensor. Three wire: Has a heater for quick warm up, once hot there isn't any performance difference than a one wire. One signal wire, two for the heater. The heater usually takes 12V and isn't polarity sensitive. Four wire: Has heater ( See three wire ) One signal Wire, One signal return, two for the heater.
    Titania is used on many 86 up Nissans, some 89 up Corolla turbos and MR2 turbos and 87-90 Jeeps. This sensor changes resistance as O2 levels change. High resistance ~20,000 when fuel is lean, ~ 1,000 when the fuel is rich. This sensor warms up quicker and can tolerate higher exhaust temps than zirconia.
    Splicing O2 wires works, though extra care must be used. Use a bare butt splice, crimp with plyers that give a indentation on one side and a curve on the other. Solder the wires then cover with shrink wrap.
    EGR valves - Someone listed a # for a Delco valve on a Jaguar. Here is the break down of the # DHZ ( Unknown)
    17089090 (170 denotes Delco fuel sys, 89 is the first year of use, 090 is
    the version
    203 32N ( 203 32 unknown, though I suspect it is a production date code, N Negitive back presure. Neg back persure means. . .. . . Well I can't remember, one gives more EGR as exhaust back presure increases and the other gives less as exhaust back presure increases.
    Most replacement EGR valves are semi universal ( as long as the base is the same) the main difference is max flow. The Borg Warner brand valves come with a bag of calibration washers, these are used to set up the valve though someone could fine tune the valve for their application (ref AL8001@aol.com -- DIY_EFI email on 7 Jun 1998).
  51. I need a VIN code for my scantool. See glossary.htm#vincodes. (ref Randy Braun -- DIY_EFI email on 13 Jun 1998).
  52. What is DERM? See glossary.htm#derm.
  53. Is anyone building a controller based on a PC? One is on the Projects page of the DIY_EFI website and others are described in the email archives.
  54. Rather than re-invent the wheel, is there an archive of some basic circuits? For starters, see the efi332 project hardware descriptions. For more generic circuits there is a circuit cookbook.
  55. What are the little red book, the little blue book, and the little pink book? The little red book is the "Automotive Electric/Electronic Handbook" by BOSCH. The little blue book is the "Automotive Handbook" by BOSCH. The little pink book is a reference book for Motorola 68xx processors. The little blue book has more about cars in general while the red has more fuel, ignition, starting and charging system stuff (ref Matthew Lee Franklin -- DIY_EFI email on 7 Jan 95).
  56. Anyone have ALDL info? From what I've seen on the 8192 format it should be:
    1 Byte message ID
    1 Byte Length (85 + 1 + N - The next byte counts too!)
    1 Byte Mode Specifier ( Usually ranges from 0 to 7)
    Data bytes
    1 Byte checksum (two's complement of sum of the previous bytes)
    List of device codes is defined in the Cal section of the PROM, and can be anything from 0-255. The ones I've seen seem to like to use 0xF0, and it normally will be the same as the value of the heartbeat sent out in normal mode (ref Dig -- DIY_EFI email on 22 Mar 95).
  57. What does it take to fire an MSD ignition box? The white wire (points) trigger is connected to a 40 ohm pull-up to +12 volts. Connecting a transistor between the white wire and ground will trigger the box. The transistor should be rated between 30 and 50 volts, and will need to be able to handle at least 300 mA. The engineer I talked to suggested an MJ520, but the requirements are so easy to meet that there are a large number of transistors that will do the job. Because the input is purely resistive, there is no need to add additional components to handle back EMF, etc.
    As for the trigger pulse, he suggested that the pulse be a positive going pulse of at least 0.5 mS duration. The duration is needed because (as Bruce suggested) there is a debounce circuit in the MSD box. So, normally the trigger will be at ground level, going high when the box is to fire, held high for at least 0.5 mS, and then returns to ground. To summarize some of the information from the catalog.
    Specifications (for MSD-6A, -6AL, and -6M-2):
    Operating Voltage: 12 VDC
    Operating Current: 10 A @ 10,000 RPM
    Maximum RPM: 10,000 (8 cyl)
    Spark Duration: 20 degrees (8 cyl)
    Energy Output: 600 milli-joules (Cap. Discharge)
    Output Voltage (to coil): 450 V
    Output Voltage (coil out): 40 kV
    Weight: Varies by model between 2 3/4 lbs and 4 lbs
    Size: Varies by model; max. 8"L x 4"W x 2 3/4"H
    A scope trace diagram (without units) shows the multi-spark output versus the output of a conventional ignition. The MSD box is shown as producing 5 sparks for each one produced by the conventional ignition, at 1,000 RPM. Each of the multiple sparks is shown as having similar voltage and duration to the conventional spark. As RPM increases, the number of sparks decrease. I can't find anything in the literature to confirm this, but I have heard it said that above 3,000 RPM, the MSD boxes are only giving one spark.
    For reference, MSD is manufactured by Autotronic Controls. They also manufacture a broad line of other ignition and fuel injection components.
    Autotronic Controls Corporation
    1490 Henry Brennan Drive
    El Paso, Texas
    Update 03/07/2005, jvandzura AT optimatech DOT net writes:
    From testing at work, we found the MSD 6AL had a maximum of 12 pulses for every one convensional at 12RPM. At 1500RPM and higher there is only one spark true spark. Above 3000RPM the spark starts to lose duration. At 6000RPM the current of the MSD unit is equivalent to that of a convensional high energy inductive ignition system. The inductive ignition systems appear to drop off exponetially as the MSD unit appears to lose power more linearly. Hope this helped.

References

{Search DIY_EFI mail archives for complete DIY_EFI email entries}

Chilton -- Chilton's Guide to Fuel Injection & Electronic Engine Controls-1984-88 Domestic Cars and Trucks

Performance Ignition Systems -- Drs Guide to Optimizing Your Ignition -- ISBN 1-55788-306.

Copyright

This information is made available for personal use only and may not be reproduced without written consent of the author(s). Any attempt to sell or use this information for personal gain or business purposes is expressly forbidden.