achris
More fish than mountain goat
- Joined
- May 19, 2004
- Messages
- 27,468
First up...
With EFI/MPI engines, trying to find problems without the diagnostic software is a very, very difficult. And because so many problems display EXACTLY the same symptoms, 2 beeps every minute for example, trying to diagnose one engine based on what another one’s fault is, is a fool errand…Tacking onto someone else’s thread because you ‘have the exact same symptoms’ is unwise, and unhelpful, most likely you have a completely different cause.
Please, please start your own thread, always. And remember to give us, engine serial number, and if you know, which ECU you have (MEFI1, 2, 3, 4, ECM/PCM555 etc)...
I know most people don’t like reading multiple pages of facts and data, so I will make this as brief and ‘to the point’ as possible.
--------------------
Whether it’s a ‘no start’ issue or a run quality issue, there are a few basics with EFI/MPI engines.
Understanding the basics of how the system works and what affects what is a best place to start.
For any engine to run it requires a fuel/air mixture to be compressed and fired at the right time. In the old points/carb engines that was achieved with a fixed distributor and carb. Pretty simple, but horribly inefficient. With the advent of tighter emission rules, engines needed to become more efficient, hence more electronics became involved (this is a good thing, not bad!). As most mechanical people are ‘if I can’t see it moving, I don’t understand it’, with regards to electrics/electronics they tend to be a little ‘dear in the headlights’… So I will try to explain as simply as possible.
Ok, to start an EFI/MPI engine, you still need compression, and fuel/air, and a spark at the right time. But the fuel is injected directly into the manifold, electrically. That requires input from various sensors, so the engine control unit (ECU) can determine how much and when to inject. The timing and duration of the injection is based on the engine speed, from the crank sensor and/or the cam angle sensor (if fitted), and the engine temperature sensor (from the ECT, engine coolant temperature). If the engine is cold, more fuel gets injected (like a ‘choke’ on a carb). Some engines will also have an air flow sensor and that will also be factored into the fuel calculations. Fortunately, marine engines don’t have exhaust oxygen sensors, yet.
Many other sensors come into play once the engine is running. The MAP sensor senses the engine manifold pressure (vacuum) to determine the load on the engine. Some engines also run a MAT (manifold air temperature sensor) and that is also factored into the amount of fuel injected....
Within the ECU coding will be a value for the ‘idle’ position. This is based on the TPS (Throttle position sensor). If the TPS output is within the limits specified in the ECU, then the engine is assumed to be at idle. For idle, the ECU will control the revs, to the speed programed in as ‘idle’ by setting the amount of fuel injected based in the current engine speed, and adjusting the amount of air coming into the engine with the IAC (Idle Air Control) valve. Should the IAC fail, or the ECU can’t get the speed right with just IAC control, then the engine spark timing will be adjusted.
The amount of fuel (the duration the injector is fired for) is determined by the ECU internal ‘map’. It’s a 3D graph, and amounts to a lookup table. With x revs, y engine temperature and z load, I should inject for n milliseconds. That’s assessed almost every revolution of the engine, and adjusted accordingly.
Likewise the spark, from the crank angle sensor and the ECUs internal lookup table, the ECU determines when to fire the spark. Another function of the ECU is to advance the timing as much as possible to increase power and reduce fuel usage. The amount of advance is controlled by the ‘knock sensor’ on the side of the engine which detects spark knock. It’s usually a piezo device that generates a voltage in the presence of the right frequency, that of a detonation event. The ECU will continue to advance the timing, based again on its internal lookup tables, until it receives a signal from the knock sensor, then it will start to retard the spark timing to stop the knock. This will be the maximum point that the timing can be advanced before engine damage occurs. This can be effected by many things, including fuel quality.
Failures.
One of the functions of the ECU is to monitor all the sensors, obviously for values so the right amount of fuel can be injected and the spark fired at the right time, but also to monitor the health of those sensors.
Most sensors are now ‘3 wire’. The sensor has (usually) +5volts and ground (often NOT the same as engine ground), and the output is a value between 0 and 5 volts. This style of sensor is called a ‘voltage divider’. Within the ECU will be programmed acceptable values, and if the sensor input is outside those values, the ECU will report that the sensor is LOW or HIGH. Often the ECU will revert to a ‘default’ value so the engine will run and you can get home, usually with a reduced power output, or a lower rev limit, but not always… This is often called 'Guardian mode', or (incorrectly) 'Limp home' mode...
The other style of sensor is the ‘resistor’ type. Usually a 2 wire sensor, it is just a resistance value. ‘3 wire’ is more common now because of repeatability and reliability… It’s also easier internally to build an ECU that uses voltage, not resistance inputs.
Diagnostic software and code scanners….
Code readers do exactly what it says on the can, read codes. If the ECU has ‘set a code’, meaning it has found something out of spec, it will be displayed when the ECU is asked to report codes. But that is all the code reader can do. It can’t tell you exactly what each sensor is reporting, in real time. That is where the diagnostic software comes into its own. Loaded onto a laptop and plugged into the engine, it gives a real time read out of all the values the ECU is currently seeing. The software can also read the current, and historic, list of fault codes, and reset them.
While the code reader is useful, and the software far more useful, they may not tell you what is wrong, but they most definitely can tell you what isn’t wrong, and may even lead you towards what is wrong… And knowing what isn’t wrong goes a long way to finding a problem, especially with such a high level of electronics.
Just on the diagnostic software. For MerCruisers, a OBD-II reader will not work. Only Diacom from Rinda will work. It’s expensive, but after you use it the second time, it’s paid for itself.
I hope this helps…
Chris……….
(comments welcome)
With EFI/MPI engines, trying to find problems without the diagnostic software is a very, very difficult. And because so many problems display EXACTLY the same symptoms, 2 beeps every minute for example, trying to diagnose one engine based on what another one’s fault is, is a fool errand…Tacking onto someone else’s thread because you ‘have the exact same symptoms’ is unwise, and unhelpful, most likely you have a completely different cause.
Please, please start your own thread, always. And remember to give us, engine serial number, and if you know, which ECU you have (MEFI1, 2, 3, 4, ECM/PCM555 etc)...
I know most people don’t like reading multiple pages of facts and data, so I will make this as brief and ‘to the point’ as possible.
--------------------
Whether it’s a ‘no start’ issue or a run quality issue, there are a few basics with EFI/MPI engines.
Understanding the basics of how the system works and what affects what is a best place to start.
For any engine to run it requires a fuel/air mixture to be compressed and fired at the right time. In the old points/carb engines that was achieved with a fixed distributor and carb. Pretty simple, but horribly inefficient. With the advent of tighter emission rules, engines needed to become more efficient, hence more electronics became involved (this is a good thing, not bad!). As most mechanical people are ‘if I can’t see it moving, I don’t understand it’, with regards to electrics/electronics they tend to be a little ‘dear in the headlights’… So I will try to explain as simply as possible.
Ok, to start an EFI/MPI engine, you still need compression, and fuel/air, and a spark at the right time. But the fuel is injected directly into the manifold, electrically. That requires input from various sensors, so the engine control unit (ECU) can determine how much and when to inject. The timing and duration of the injection is based on the engine speed, from the crank sensor and/or the cam angle sensor (if fitted), and the engine temperature sensor (from the ECT, engine coolant temperature). If the engine is cold, more fuel gets injected (like a ‘choke’ on a carb). Some engines will also have an air flow sensor and that will also be factored into the fuel calculations. Fortunately, marine engines don’t have exhaust oxygen sensors, yet.
Many other sensors come into play once the engine is running. The MAP sensor senses the engine manifold pressure (vacuum) to determine the load on the engine. Some engines also run a MAT (manifold air temperature sensor) and that is also factored into the amount of fuel injected....
Within the ECU coding will be a value for the ‘idle’ position. This is based on the TPS (Throttle position sensor). If the TPS output is within the limits specified in the ECU, then the engine is assumed to be at idle. For idle, the ECU will control the revs, to the speed programed in as ‘idle’ by setting the amount of fuel injected based in the current engine speed, and adjusting the amount of air coming into the engine with the IAC (Idle Air Control) valve. Should the IAC fail, or the ECU can’t get the speed right with just IAC control, then the engine spark timing will be adjusted.
The amount of fuel (the duration the injector is fired for) is determined by the ECU internal ‘map’. It’s a 3D graph, and amounts to a lookup table. With x revs, y engine temperature and z load, I should inject for n milliseconds. That’s assessed almost every revolution of the engine, and adjusted accordingly.
Likewise the spark, from the crank angle sensor and the ECUs internal lookup table, the ECU determines when to fire the spark. Another function of the ECU is to advance the timing as much as possible to increase power and reduce fuel usage. The amount of advance is controlled by the ‘knock sensor’ on the side of the engine which detects spark knock. It’s usually a piezo device that generates a voltage in the presence of the right frequency, that of a detonation event. The ECU will continue to advance the timing, based again on its internal lookup tables, until it receives a signal from the knock sensor, then it will start to retard the spark timing to stop the knock. This will be the maximum point that the timing can be advanced before engine damage occurs. This can be effected by many things, including fuel quality.
Failures.
One of the functions of the ECU is to monitor all the sensors, obviously for values so the right amount of fuel can be injected and the spark fired at the right time, but also to monitor the health of those sensors.
Most sensors are now ‘3 wire’. The sensor has (usually) +5volts and ground (often NOT the same as engine ground), and the output is a value between 0 and 5 volts. This style of sensor is called a ‘voltage divider’. Within the ECU will be programmed acceptable values, and if the sensor input is outside those values, the ECU will report that the sensor is LOW or HIGH. Often the ECU will revert to a ‘default’ value so the engine will run and you can get home, usually with a reduced power output, or a lower rev limit, but not always… This is often called 'Guardian mode', or (incorrectly) 'Limp home' mode...
The other style of sensor is the ‘resistor’ type. Usually a 2 wire sensor, it is just a resistance value. ‘3 wire’ is more common now because of repeatability and reliability… It’s also easier internally to build an ECU that uses voltage, not resistance inputs.
Diagnostic software and code scanners….
Code readers do exactly what it says on the can, read codes. If the ECU has ‘set a code’, meaning it has found something out of spec, it will be displayed when the ECU is asked to report codes. But that is all the code reader can do. It can’t tell you exactly what each sensor is reporting, in real time. That is where the diagnostic software comes into its own. Loaded onto a laptop and plugged into the engine, it gives a real time read out of all the values the ECU is currently seeing. The software can also read the current, and historic, list of fault codes, and reset them.
While the code reader is useful, and the software far more useful, they may not tell you what is wrong, but they most definitely can tell you what isn’t wrong, and may even lead you towards what is wrong… And knowing what isn’t wrong goes a long way to finding a problem, especially with such a high level of electronics.
Just on the diagnostic software. For MerCruisers, a OBD-II reader will not work. Only Diacom from Rinda will work. It’s expensive, but after you use it the second time, it’s paid for itself.
I hope this helps…
Chris……….
(comments welcome)
Last edited: