Difference between revisions of "Engine Control Unit"
m |
m |
||
(2 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
+ | {{X}} | ||
+ | |||
+ | |||
An '''Engine Control Unit (ECU)''' also known as an '''Engine Management System (EMS)''' or as an '''Engine Control Module (ECM)''' or '''Powertrain Control Unit/Module (PCU, PCM)''' if it controls both an engine and a transmission, is an [[electronic control unit]] which controls various aspects of an [[internal combustion engine]]'s operation. The most simple ECUs simply control the quantity of fuel injected into each cylinder each engine cycle. More advanced ECUs found on most modern cars also control the [[ignition timing]], [[Variable Valve Timing]] (VVT), the level of boost maintained by the [[turbocharger]] (in turbocharged cars), and control other peripherals. | An '''Engine Control Unit (ECU)''' also known as an '''Engine Management System (EMS)''' or as an '''Engine Control Module (ECM)''' or '''Powertrain Control Unit/Module (PCU, PCM)''' if it controls both an engine and a transmission, is an [[electronic control unit]] which controls various aspects of an [[internal combustion engine]]'s operation. The most simple ECUs simply control the quantity of fuel injected into each cylinder each engine cycle. More advanced ECUs found on most modern cars also control the [[ignition timing]], [[Variable Valve Timing]] (VVT), the level of boost maintained by the [[turbocharger]] (in turbocharged cars), and control other peripherals. | ||
Line 110: | Line 113: | ||
** VEMS genboard hardware versions up to 3.3 is somewhat limitedly open. Firmware has license restrictions see the Genboard Public Licence. Source code is available to registered developers only and modifications must be send back to authors. | ** VEMS genboard hardware versions up to 3.3 is somewhat limitedly open. Firmware has license restrictions see the Genboard Public Licence. Source code is available to registered developers only and modifications must be send back to authors. | ||
http://www.vems.hu/wiki/index.php?page=GenBoard%2FUnderDevelopment%2FFirmwareChanges | http://www.vems.hu/wiki/index.php?page=GenBoard%2FUnderDevelopment%2FFirmwareChanges | ||
+ | |||
+ | {{Automobile configurations}} | ||
+ | |||
[[Category:Embedded systems]] | [[Category:Embedded systems]] | ||
[[Category:Engine technology]] | [[Category:Engine technology]] |
Latest revision as of 06:30, 6 July 2009
An Engine Control Unit (ECU) also known as an Engine Management System (EMS) or as an Engine Control Module (ECM) or Powertrain Control Unit/Module (PCU, PCM) if it controls both an engine and a transmission, is an electronic control unit which controls various aspects of an internal combustion engine's operation. The most simple ECUs simply control the quantity of fuel injected into each cylinder each engine cycle. More advanced ECUs found on most modern cars also control the ignition timing, Variable Valve Timing (VVT), the level of boost maintained by the turbocharger (in turbocharged cars), and control other peripherals.
ECUs determine the quantity of fuel, ignition timing and other parameters by monitoring the engine through sensors. These can include, MAP sensor, throttle position sensor, air temperature sensor, oxygen sensor and many others.
Before ECUs most engine parameters were fixed. The quantity of fuel per cylinder per engine cycle was determined by a carburetor or injector pump.
ECU Operation
Control of Fuel Injection
For an engine with fuel injection, an ECU will determine the quantity of fuel to inject based on a number of parameters. If the throttle pedal is pressed further down, this will open the throttle body and allow more air to be pulled into the engine. The ECU will inject more fuel according to how much air is passing into the engine. If the engine has not warmed up yet, more fuel will be injected (causing the engine to run slightly 'rich' until the engine warms up).
Control of Ignition Timing
A spark ignition engine requires a spark to initiate combustion in the combustion chamber. An ECU can adjust the exact timing of the spark (called ignition timing) to provide better power and economy. If the ECU detects knock, a condition which is potentially destructive to engines, and "judges" it to be the result of the ignition timing being too early in the compression stroke, it will delay (retard) the timing of the spark to prevent this.
A second, more common source, cause, of knock/ping is operating the engine in too low of an RPM range for the "work" requirement of the moment. In this case the knock/ping results from the piston not being able to move downward as fast as the flame front is expanding.
But this latter mostly applies only to manual transmission equipped vehicles. The ECU controlling an automatic transmission would simply downshift the transmission were this the cause of knock/ping.
Control of Variable Valve Timing
Some engines have Variable Valve Timing. In such an engine, the ECU controls the time in the engine cycle at which the valves open. The valves are usually opened later at higher speed than at lower speed. This can optimise the flow of air into the cylinder, increasing power and economy.
Programmable ECUs
A special category of ECUs are those which are programmable. These units do not have a fixed behavior, but can be reprogrammed by the user.
Programmable ECUs are required where significant aftermarket modifications have been made to a vehicle's engine. Examples include adding or changing of a turbocharger, adding or changing of an intercooler, changing of the exhaust system, and conversion to run on alternative fuel. As a consequence of these changes, the old ECU may not provide appropriate control for the new configuration. In these situations, a programmable ECU can be wired in. These can be programmed/mapped with a laptop connected using a serial or USB cable, while the engine is running.
The programmable ECU may control the amount of fuel to be injected into each cylinder. This varies depending on the engine's RPM and the position of the gas pedal (or the manifold air pressure). The engine tuner can adjust this by bringing up a spreadsheet-like page on the laptop where each cell represents an intersection between a specific RPM value and a gas pedal position (or the throttle position, as it is called). In this cell a number corresponding to the amount of fuel to be injected is entered.
By modifying these values while monitoring the exhausts using a wide band lambda probe to see if the engine runs rich or lean, the tuner can find the optimal amount of fuel to inject to the engine at every different combination of RPM and throttle position. This process is often carried out at a dynamometer, giving the tuner a controlled environment to work in.
Other parameters that are often mappable are:
- Ignition: Defines when the spark plug should fire for a cylinder.
- Rev limit: Defines the maximum RPM that the engine is allowed to rev to. After this fuel and/or ignition is cut.
- Water temperature correction: Allows for additional fuel to be added when the engine is cold (choke).
- Transient fueling: Tells the ECU to add a specific amount of fuel when throttle is applied.
- Low fuel pressure modifier: Tells the ECU to increase the injector fire time to compensate for a loss of fuel pressure.
- Closed loop lambda: Lets the ECU monitor a permanently installed lambda probe and modify the fueling to achieve stoichiometric (ideal) combustion.
Some of the more advanced race ECUs include functionality such as launch control, limiting the power of the engine in first gear to avoid burnouts. Other examples of advanced functions are:
- Waste gate control: Sets up the behavior of a turbo waste gate, controlling boost.
- Banked injection: Sets up the behavior of double injectors per cylinder, used to get a finer fuel injection control and atomization over a wide RPM range.
- Variable cam timing: Tells the ECU how to control variable intake and exhaust cams.
- Gear control: Tells the ECU to cut ignition during (sequential gearbox) upshifts or blip the throttle during downshifts.
A race ECU is often equipped with a data logger recording all sensors for later analysis using special software in a PC. This can be useful to track down engine stalls, misfires or other undesired behaviors during a race by downloading the log data and looking for anomalies after the event. The data logger usually has a capacity between 0.5 and 16 Mbytes.
In order to communicate with the driver, a race ECU can often be connected to a "data stack", which is a simple dash board presenting the driver with the current RPM, speed and other basic engine data. These race stacks, which are almost always digital, talk to the ECU using one of several proprietary protocols running over RS232, CANbus]].
ECU 'flashing'
Many recent (around 1996 or newer) cars use OBD-II ECUs that are sometimes capable of having their programming changed through the OBD port. Automotive enthusiasts with modern cars take advantage of this technology when tuning their engines. Rather than use an entire new engine management system, one can use the appropriate software to adjust the factory equipped computer. By doing so, it is possible to retain all stock functions and wiring while using a custom tuned program. This should not be confused with "chip tuning", where the owner has ECU ROM physically replaced with a different one -- no hardware modification is (usually) involved with flashing ECUs, although special equipment is required.
Factory engine management systems often have similar controls as aftermarket units intended for racing, such as 3-dimensional timing and fuel control maps. They generally do not have the ability to control extra ancillary devices, such as variable valve timing if the factory vehicle was a fixed geometry camshaft or boost control if the factory car was not turbocharged.
History
Early ECUs
Early ECU designs were based more on analogue computer circuitry. It was not until around 1987 that digital electronics and embedded microprocessor systems became fast enough to process engine parameters in real time. The first such systems were introduced into racing engines such as those used for Formula One, but it was not long before these found their way into everyday cars. Haltech Engine Management Systems based out of Sydney Australia are generally credited as having pioneered the programmable engine management system. It was in 1986 that they released the first laptop programmable engine management system called the F3. This system was a fuel only controller meaning it controlled only the fuel injection, but fuel and ignition controllers were only a few short years away.
Hybrid digital designs
A hybrid digital design was popular in the mid-'80s. This used analogue techniques to measure and process input parameters from the engine, then used a look-up table stored in a digital ROM chip to yield precomputed output values. Later systems compute these outputs dynamically. The ROM type of system is amenable to tuning if one knows the system well. The disadvantage of such systems is that the precomputed values are only optimal for an idealised, new engine. As the engine wears, the system is less able to compensate than a CPU based system.
Sophisticated engine management systems receive inputs from other sources, and control other parts of the engine; for instance, some variable valve timing systems are electronically controlled, and turbocharger wastegates can also be managed. They also may communicate with transmission control units or directly interface electronically-controlled automatic transmissions, traction control systems, and the like. The Controller Area Network or CAN bus automotive network is often used to achieve communication between these devices.
Modern ECUs
Modern ECUs use a microprocessor which can process the inputs from the engine sensors in real time. An electronic control unit contains the hardware and software (firmware). The hardware consists of electronic components on a printed circuit board (PCB). The main component on this circuit board is a microcontroller chip (CPU). The software is stored in the microcontroller or other chips on the PCB, typically in EPROMs or flash memory so the CPU can be re-programmed by uploading updated code. This is also referred to as an (electronic) Engine Management System (EMS).
Other applications
Such systems are used for many internal combustion engines in other applications. In aeronautical applications, the systems are known as "FADECs" (Full Authority Digital Engine Controls). This kind of electronic control is less common in piston-engined aeroplanes than in automobiles, because of the large costs of certifying parts for aviation use, relatively small demand, and the consequent stagnation of technological innovation in this market. Also, a carburated engine with magneto ignition and a gravity feed fuel system does not require any electrical power to run, which is a safety bonus.
See also
External links
- Articles from Toyota Motor Sales, USA, Inc. at Autoshop 101
- Explanation of the SAE J2534-1 Standard for pass-thru programming of ECUs
- LabVIEW VIs for developing test systems with vehicle PassThru (J2534-1)
- Forum discussion of J2534 devices and software at Tuner Tools,llc
- Interesting tool used by ECU developers to electrically emulate four-stroke engine signals
Manufacturers of Aftermarket ECUs
- Adaptronic
- AEM
- Apex'i
- Autronic
- Bowling & Grippo (Makers of MegaSquirt open source ECU)
- EMS
- FAAR Industry
- Haltech Engine Management Systems
- Hondata
- Link
- Microtech
- Motec
- Performance Electronics, Ltd.
- Perfect Power
- Simple Digital Systems
Open source engine management systems:
- MegaSquirt Electronic Fuel Injection Computer
- CarDAQ-plus J2534 pass-thru hardware device
- Openecu tools for reflashing, logging, and tuning Subaru and Mitsubishi cars
DIY engine management systems:
- VEMS group
- VEMS genboard hardware versions up to 3.3 is somewhat limitedly open. Firmware has license restrictions see the Genboard Public Licence. Source code is available to registered developers only and modifications must be send back to authors.
http://www.vems.hu/wiki/index.php?page=GenBoard%2FUnderDevelopment%2FFirmwareChanges