1989 325i Engine parts & what they do The peripheral engine components on the 1989 325i consist of a fuel delivery system, an ignition distribution system and the Motronic engine managment system. The ecu assumes that the fuel delivery and ignition systems are functioning properly, and uses all of its sensors to generate only 2 signals: open the injectors (simultaneously or in 2 batches) or fire the coil (relying on the ignition secondary to get the signal to the correct spark plug). Fuel delivery system The pupose of the fuel delivery system is to provide fuel to the engine. It is composed of an electric fuel pump, a filter, a pressure regulator, a fuel rail, and six fuel injectors. The ecu assumes that if it holds the injectors open for a certain time, a specific amount of fuel will flow into the intake manifold. In order for this relationship to hold, the fuel system must be operating at the proper pressure and be able to deliver an adequate supply of fuel at that pressure. component: fuel pump purpose: deliver fuel at an adequate volume and pressure location: in fuel tank. Access under rear seat. description: a submersible pump that screens the fuel and pumps it under pressure to the rest of the fuel delivery system. The pump relies on fuel in the tank for cooling. component: fuel filter purpose: remove particles from fuel location: in front of driver's side rear wheel well description: a large cylindrical filter located in fuel line just before the left rear wheel. component: fuel pressure regulator purpose: maintain a fixed fuel pressure in the fuel rail relative to the intake manifold. location: top/front of engine description: The regulator has connections to the fuel pump, fuel rail, and gas tank. It receives pressurized gas from the fuel pump/filter and manifold pressure information via a short rubber tube from the intake manifold, then maintains a constant pressure in the in fuel rail relative to the pressure in the intake manifold. Excess fuel is recirculated to the gas tank. This 'fixed' pressure assures that a specific volume of fuel will be supplied when the injector is opened for a fixed time. This way, the computer can deliver the appropriate amount of fuel simply by opening the injectors for an appropriate amount of time. There is no need to measure the volume of fuel delivered. name: fuel injectors purpose: meter fuel to the engine location: under the intake manifold on the right side of the engine description: a fuel injector is a solenoid-controlled valve that opens when a voltage is applied. The 325i has six injectors, one per cylinder, that are supplied gas at a fixed pressure via the fuel rail. They inject gas into the intake manifold in the vicinity of the intake valve. On the 325i, the injectors are fired in two batches using the signal from the inductive pickup located on the sparkplug wire for cylinder #6. If this signal is not available, all injectors are fired simultaneously once per crank revolution, as they are on the 325e. (??? I think some special modes might fire twice per crank revolution) Ignition distribution system This system consists of the coil, the distributor, interconnecting wires & spark plugs name: coil purpose: generate a high voltage sufficient to fire the spark plugs location: right side of engine on fender wall description: When the ignition key is in the run position, 12 volts are supplied to the + terminal of the coil. The computer computes the appropriate spark advance for each cylinder and provides a ground at the coil primary's negative terminal at the correct time. The coil amplifies this voltage and sends it to the distributor. name: distributor purpose: distribute the generated voltage to the correct cylinder. location: front right side of engine description: the secondary voltage generated by the coil is distributed mechanically by the distributor to the appropriate cylinder. Note: the computer knows what cylinder is firing and calculates the 'optimum' advance for that cylinder, but is unable to fire the plug directly. It relies on the mechanical distributor to get the secondary voltage to the right place. name: spark plugs purpose: ignite the air/fuel mixture in the combustion chamber location: one per cylinder, above exhaust manifold on the right side of the engine description: receives a high voltage from the distributor, and creates a spark in the pressurized combustion chamber. Motronic Engine Management system This system consists of the input components (sensors), the computer with its engine management software, and the controlled outputs (fire injectors & fire coil). Sensors name: rpm / tdc purpose: determine the engine speed & position (#1 top dead center (TDC)) location: front of crankshaft description: On the 89 325i: A toothed wheel with 2 teeth missing at #1 TDC. The toothed wheel is fastened to the front of the crankshaft and a sensor sends the rpm/tdc signal to the computer. RPM is used to generate the basic pulse time for the fuel injectors and to look up basic information in 'maps' stored in the computer. TDC is used to calculate when to fire the coil. Note: on the 325e models, there are two separate sensors. The RPM sensor looks at the teeth on the flywheel and the TDC sensor looks at a pin fastened to the flywheel. name: Air Flow Meter & air temperature sensor pupose: determine the mass of air flowing to the engine location: just down stream from the air filter (top of engine on drivers side) description: a hefty cast housing holding a temperature sensor and a spring-loaded flap suspended in the incoming air flow. As more air flows through the meter, the flap is deflected further. The flap is designed to over-swing to provide acceleration enrichment (similar to the accelerator pump on a carbureted engine). name: throttle position switch purpose: signal throttle closed (idle), throttle wide open (wot) or neither (cruise) location: under the throttle body description: a housing containing 2 switches, one of which closes when the throttle plate is closed & another which closes when the throttle plate is almost fully open. The throttle plate is controlled by the driver via a cable from the gas pedal. The computer uses these signals to determine 3 special engine modes: idle, cruise, and wide open throttle (wot). The way it controls the engine is different in each mode. name: engine temperature purpose: signal engine temperature location: front, top of engine near thermostat. description: There are two temperature sensors mounted in this area. The one with a single electrical contact in the plug sends temp info to the temp gage in the dash, the other (with 2 contacts in the plug) provides temp info to the computer. The computer uses engine temperature to enrich the fuel mixture when the engine is cold. name: oxygen sensor (lambda control) purpose: monitor exhaust gas for incomplete ignition location: at the bottom of the exhaust manifold. Can be easily seen from the passenger side fender by looking down at the top of the of the manifold. description: During cruise conditions, the computer fine-tunes its air/fuel mix based on the information provided by the lambda sensor. This sensor generates a voltage based on how much oxygen is seen in the exhaust gas. An excess of oxygen in the exhaust means the engine could burn more fuel if it was available. In this case, the engine is running lean & the sensor is generating a low voltage (about .2 volts). The opposite condition is a lack of oxygen in the exhaust gas. This means that even if more fuel were supplied to the engine, it would not be able to burn due to the lack of oxygen. In this case, the engine is running rich, and the sensor is generating a 'high' voltage (about 1 volt). name: cylinder identification purpose: used to synchronize fuel injections location: an inductive pickup on the #6 cylinder spark plug wire description: Bentley states that this is used to 'sequence' fuel injections. ??? Since the 6 injectors fire simultaneously once per crank revolution, and the #6 cylinder fires every 2 crank revolutions there must be some doubling going on somehow. This information should also be calculable from the rpm/tdc signal, but perhaps the computer is overburdened as it is, and this was just an easy way to do things. Outputs name: injector pulse purpose: release fuel into the intake manifold location: ecu fires all injectors (1 injector per cylinder) by triggering 2 stages simultaneously description: the computer calculates the amount of fuel to release based on rpm further modified by engine load (air mass) and other sensor readings (and different engine modes: idle, cruise, wot). This fuel is released twice during a 4 stroke cycle (or once per crank revolution). All injectors are fired simultaneously by the computer by activating two separate stages. (Probst states that both output stages on the 6 cylinder engine are fired simultaneously... there is no sequencing. Sequential injection came later.) name: primary ignition purpose: generate the signal to fire a cylinder location: computer provides/removes a ground in the coil primary circuit description: the computer uses rpm to look up proper ignition timing, then modifies that value based on other sensor readings & engine modes. It calculates dwell and energizes the coil by providing a ground at the proper time. It fires the coil by removing the ground from the primary windings. The computer generates the ignition signal for each cylinder firing. name: idle control valve (ICV) purpose: make large changes in idle rpm location: top of engine near throttle body. description: The ICV is a cylindrical air valve that allows metered air to bypass the throttle plate. When the throttle position switch indicates that the throttle plate is closed, the computer uses the ICV to make gross corrections in idle speed. Fine control of idle speed is maintained by modifying ignition timing. (this is what is happening when your idle speed is steady, but the engine fires hard a few times in sequence. It gives you an uneasy feeling at first) name: canister purge valve purpose: burn gas vapor from the fuel tank location: under throttle body in a rubber boot description: a pipe from the gas tank leads to a charcoal canister mounted near the driver's side front fender. This canister gathers gas fumes until they can be efficiently burned. When the computer opens the canister purge valve, fumes are drawn into the throttle body for combustion. The computer burns this gas during cruise conditions under closed loop control, while disabling the adaptive memory. +++ Engine Management Software +++++++++++++++++++++++ There is a fair amount of guesswork in this section. The guesses are based on information contained in Probst's "Bosch Fuel Injection & Engine Management", a demo program called DME edit, and general knowledge about how computers work. I've divided this description into two parts below, the first called 'Data' that describes the information available to the computer and the second called 'Functions' that describe the different algorithms used by the computer based on the engine's operating condition. +++ Data +++ The computer must calculate an appropriate air/fuel ratio and ignition timing, which will keep the engine running well in a variety of conditions. It does this by looking up basic values stored in its Read Only Memory then modifying these values based on engine temperature and adaptive parameters (determined while the engine was running 'closed loop'). The basic values are tabular data that was put together by BMW when the car was designed. These maps are stored in ROM and include maps for optimum lambda, ignition timing, dwell time, & warmup correction. name: lambda maps purpose: determine basic fuel rate description: There are three lambda maps, one each for idle, cruise & wot. (??? Note: the DME edit program pulls up separate maps for these items; however, it seems that all the maps could be combined in one. Idle would pull you to the 750rpm portion, cruise to the majority of the map values, and wot to the full load values.) The idle & cruise Lambda maps are a function of engine load and rpm. The wot lambda map is a function of rpm only. The computer selects the appropriate map for the current engine condition, then looks up the basic fuel rate. During idle & cruise, this basic fuel rate is then modified based on engine temperature or oxygen sensor readings. name: ignition timing maps purpose: determine the optimum ignition timing description: There are three ignition maps, one each for idle, cruise & wot. (??? see note under lambda maps above. same thing applies here) The Ignition timing maps for idle & cruise are a function of engine load and rpm. The wot ignition map is a function of rpm only. The computer selects the appropriate map for the current engine condition, then looks up the basic ignition timing. During idle & cruise, the basic timing value is then modified based on engine temperature. The computer then calculates the time of the next cylinder firing, and begins charging the coil at that time minus the calculated ignition advance, minus the dwell time. name: dwell map purpose: determine the optimum dwell time description: The dwell map is a function of voltage & rpm. The computer selects the appropriate dwell and applies it to it's ignition timing calculations. name: warm-up correction map purpose: modify basic operating parameters based on current engine temperature description: The warm-up correction map is a function of rpm & load (larger corrections for low rpm & low load). Warm-up corrections are retrieved from this map and applied to the basic parameters based on the current engine operating temperature. An engine at full operating temp would get no correction, whereas a cold engine would receive full correction. name: adaptive control parameters purpose: modify basic operating parameters based on closed-loop measurements taken from this engine description: The adaptive control parameters are determined by the computer while it is operating closed loop (with feedback from the O2 sensor). It compares the difference between its looked-up values and the closed-loop, corrected values and stores the difference as an adaptation for this engine. Probst states that it is a 10 minute average of values. Since maps are stored for each mode, I'd assume there is an adaptation for idle, and cruise and that they are a function of rpm & load. WOT values are (according to Probst) only a function of rpm -- I guess the computer probably doesn't fudge them for temp or adaptation. +++ Functions ++++++ Probst lists several operating conditions (I may have referred to them as modes in the description above) that represent the computer's different ways of controlling the engine: Start, Post Start, Idle, Warm-up, Closed loop, part-throttle acceleration, full-throttle acceleration, rpm limit, coasting cut- off For all modes described below, the rpm/tdc is always used as an input, and outputs always include injectors & ignition. To reduce clutter these items may not be listed in the information below, but are always used. name: Start trigger: key is in the crank position inputs: engine temp outputs: ICV open description: warm engine: injection pulses 'longer' than normal, but at normal frequency (once per crank revolution). Timing retarded. cold engine: during the first 'n' revolutions, the injectors are fired multiple times per revolution. After 'n' revolutions, gas delivery is cut back to once per crank revolution. Timing near TDC at low rpm, slightly advanced at higher rpm. observations: An engine in good condition will start reliably within 2 seconds between temps of 25 degrees and 90 degrees. name: Post Start trigger: within 30 seconds of start, idle switch closed inputs: engine temp output: ICV description: cold engine: additional fuel injected with more timing advance. Idle control active. name: Idle control trigger: idle switch closed inputs: engine temp outputs: ICV description: An attempt is made to stabilize rpm by modifying ignition timing. If this fails, the ICV signal is corrected and timing changes re-tried. Closed loop fuel control is done. Name: Closed loop Trigger: (o2 sensor active) and (wot open) Inputs: rpm/tdc, afm, temp, o2 Outputs: ignition & fuel Description: using rpm & afm values, the ecu looks up the basic flow rate. This rate is modified based on temperature then by current o2 sensor readings. Ignition is triggered based on rpm & load. Name: rev limit trigger: (engine rpm = maximum permissable value inputs: pre-programmed max rpm outputs: injectors description: when rpm reaches red line, the computer cuts fuel flow in half, making 1 injection every other crank rotation, thus reducing engine speed. name: coasting cut-off trigger: (idle switch closed) and (rpm > idle) inputs: rpm, engine temp outputs: description: computer cuts off all fuel flow and ignition signals. Flow is resumed as rpm approaches idle. Resumption of flow is earlier the colder the engine. Also, timing is gradually advanced in the transition from cutoff. Ove:About the cutoff: I disconnected the throttle switch, and it still cut the fuel. I think it is triggered by the AFM somehow.