Well.... as per a request I'm going to chat a bit about engine management.
First of all, most systems use a decently powerful microprocessor.
Typically these processors have a wide array of "extras" built in when compared to the standard micro in your computer.
Many have analog to digital converters to measure voltages and convert them to digital numbers
Some have digital to analog converters which allow the microprocessor to take a digital number and convert it to a specific voltage.
So sensors will usually come in via several ADC's ( analog to digital converters )
In a piggyback system there will be several DAC's (digital to analog converters )
The speed and accuracy of the ADC's and DAC's is not extreemly important due to the fact that most input and output data can be off by a few percent and it will make no difference.
The speed of an automotive engine is actually quite slow compared to most microprocessors.
even at 10,000 RPM.... that's just 167 rotations per second.... given there are two cylinders firing per revolution that means there are at maximum just 334 events per second.
The management system really just has two things to worry about ..... fuel and spark.
So if we then say that there are 334 injector calculations and 334 spark calculations then that is still just 668 calculations per second.
Most microprocessors today have no problem running at a rate of 8,000,000 cycles per second.
8MHz is pretty slow.... the current Megasquirt systems use a Motorola Micro running at 24MHz... it's a spin off of the very commonly used 68HC11/68HC12 processors.
so my point is at 8MHz there is a reasonable amount of time to get things done.
Just imagine using something like a Playstation 3 for the task of running your car.... it has 8 IBM designed 64bit synergistic processing elements running at 4 GHz
Talk about overkill..... it can manage to process about 256,000,000,000 Flops per second ( Floating point operations per second )
So.... what I'm saying here is that the processors used in automotive engine management typcially are not that quick.... they don't need to be.
In most systems there is one single microprocessor and it takes care of everything.
Typcially each sensor is fed back to the main processor board and then analysed to determine the optimum on time for the injector ( injector duration) and the optimum time to fire the spark plugs.
In a speed density system the microprocessor looks parimarily at the MAP ( manifold absolute pressure ), IAT (intake air temp ) and TPS ( throttle position sensor )
These three sensors together give the computer a pretty decent idea of how much air is going into the cylinders.
The microprocessor will also look at other items such as the oxygen sensor and coolant temperature sensor to help the engine with emmissions and driveability.
The CTS ( cooland temp sensor ) will tell the microprocessor if the engine is cold, warm or hot.... since the engine burns air and fuel differently depending on how hot the car is.
If the car ignored the CTS it would still work.... but emissions would be very poor... and in all likelyhood you would have to wait a few minutes for your car to warm up before you could drive it ( or else it would stall )
The O2 sensor in most cars is a "narrow band" sensor but there are a few automotive manufactureres who spend a bit more and use a real "wide band" sensor.
A narrow band sensor is simply a switch.... at anything below 14:7 ( ratio of air versus fuel ) the sensor will indicate roughly 0V and at anything above 14.7:1 the sensor will indicate roughly 5V
The actual voltages aren't 0V and 5V .... and that depends on the sensor.... the point is that it simply switches between two voltages on each side of a 14.7:1 air fuel ratio.
A wide band on the other hand will give a relative voltage between 0V and 5V that indicates the actual air fuel ratio.
That is to say that typcially 2.5V = 14.7:1 air fuel..... a voltage of say 0.1V may indicate a ratio of 7:1 and a voltage of 4.9V may indicate a ratio of 22:1
In general a wideband is better because it gives you a direct feedback of the actual air fuel ratio.
A narrow band can't do that..... it simply switches.... so whether the air fuel is 13:1 or 8:1 the narrow band sensor will give you the same voltage which is slightly above 0V
And again... if you have 15:1 the narrowband will give you the same voltage as it would if the ratio was 22:1 which is slightly less than 5V
The strategy of a microprocessor using a narrow band is quite different than that of a wide band sensor.
Typcially there are two things in constant motion..... short term fuel trim and long term fuel trim.
The ECU has a basic knowledge of how much fuel is required but it uses the O2 sensor to help fine tune the engine and reduce fuel consumption.
short term fuel trim is simply a term related to how much fuel the ECU wants to add or subtract in the short term
As you may have guessed the long term trim is simply how much fuel the ECU wants to add or subtract in the long term.
So... lets say we are turning on the injectors for 10mS ( milliseconds ) at a time during each intake cycle.
If the ECU sees that the O2 sensor is reading close to 0V it knows the engine is running rich.... so in the short term it cuts fuel... which is called negative STFT ( short term fuel trim )
Then if the ECU sees the O2 sensor voltage turns to 5V it knows the engine is running lean... so in the short term it adds fuel.... which is called positive STFT
The LTFT ( long term fuel trim ) indicates a steady trend of the fuel injection.
Lets for example say that the actual fuel ratio is 14.5:1 then when the ECU adds a few percent of negative STFT the ratio goes to 14.9:1
The ECU is happy.... so it leaves the LTFT the same.... because it knows that it's pretty close to the ideal 14.7:1 ratio.
Now on the other hand if the actual fuel ratio is 12:1 and the ECU adds a few percent of negative STFT the ratio only goes to 12.5:1
When the ECU sees that this small negative STFT was not able to make the narrow band sensor flip from 0V to 5V it knows that the engine is too rich.
As such it then changes the LTFT by a negative percentage and also cuts more fuel with the STFT.
If again it only manages to rise the air fuel to 13.5:1 the engine again adds negative LTFT and STFT
It keeps doing this in larger jumps until it sees the narrow band O2 sensor flip from 0V to 5V again.
So basicly the engine guesses how much to change the injector duration by using a combination of the current STFT and LTFT to determine whether to inject more fuel, less fuel or to keep it exactly the same.
So the more negative or positive the LTFT the larger the jumps of the STFT.... which dictate the amount of fuel ( injector duration )
In a wideband system the ECU simply has to look at the sensor and it knows exactly how far it is out with respect to the air fuel ratio.
So if the Air fuel is at 14:1 the ECU knows that it must decrease the injector duration by roughly 4% to get the engine where it should be.
It can be a much simpler system, but widebands are quite a bit more expensive.
Think about it this way.... say a wideband costs them $50 more than a narrow band.... and they sell 2,000,000 cars a year.... then by using a narrow band vs wideband they will save themselves about $100 million dollars a year.......... which is quite a bit of money.... so you can't really blame them too much for using a less than ideal system.
Ideally a wideband sensor needs to be calibrated once in a while.... since it changes the voltage output versus air fuel over time.... so that is one negative of the wideband sensors.
At a dealer this can be done very quickly during routine servicing.... it's a simple matter of unscrewing the sensor....letting it hang outside and pressing a menu button on the diagnostic tool connected to the diagnostic port.
So if your tuning your car don't forget to follow the manufacturer's recomended calibration routine.
engine management electronics
Moderators: daewoomofo, Moderators Group
- PrecisionBoost
- Super Moderator
- Posts: 4437
- Joined: Thu Jun 19, 2003 5:59 am
- Location: Edmonton, Alberta, Canada
engine management electronics
2010 BMW 335D
1994 Opel Calibra 4X4 turbo ( C20LET 2.0L Turbo )
2002 Daewoo lanos
1994 Opel Calibra 4X4 turbo ( C20LET 2.0L Turbo )
2002 Daewoo lanos
- PrecisionBoost
- Super Moderator
- Posts: 4437
- Joined: Thu Jun 19, 2003 5:59 am
- Location: Edmonton, Alberta, Canada
That is a very quick basic look at fuel management..... there is quite a bit more but this is just a general description of what's going on.
Next time I get a chance I will talk about the difference between open loop and closed loop modes.
Next time I get a chance I will talk about the difference between open loop and closed loop modes.
2010 BMW 335D
1994 Opel Calibra 4X4 turbo ( C20LET 2.0L Turbo )
2002 Daewoo lanos
1994 Opel Calibra 4X4 turbo ( C20LET 2.0L Turbo )
2002 Daewoo lanos
Interesting read Chris, thanks for posting.
I've been having a slight issue with my car in terms of the fuel trims since I replaced the motor. We swapped in another spare motor from the same year (2004) Optra with 40,000km on it. Kept my original ECU, wiring harnesses, intake manifold with t/b, turbo etc. The car ran and still runs fine. I've noticed on my laptop obd2 program that the long term fuel trims show a constant positive value. At idle it seems to be the worst, showing an average LTFT of around +27%. At cruising its not so bad, only around +10-15%. I've tried resetting the ECU several times, but it doesn't help. As soon as the car is started again after reset you can hear it stumbling running lean (and see it on the wideband.... like 18:1 AFR) while it is in open loop relearning things. As soon as it switches back to closed loop, the STFT kicks in adding fuel and eventually the LTFT ends up at around +27% again.
The ECU uses the stock O2 sensor signal run through an O2 simulator that simulates 14.7:1 AFR under boost. The IAT signal is coming directly from the air after the intercooler.
Any ideas on whats causing this ?
I've been having a slight issue with my car in terms of the fuel trims since I replaced the motor. We swapped in another spare motor from the same year (2004) Optra with 40,000km on it. Kept my original ECU, wiring harnesses, intake manifold with t/b, turbo etc. The car ran and still runs fine. I've noticed on my laptop obd2 program that the long term fuel trims show a constant positive value. At idle it seems to be the worst, showing an average LTFT of around +27%. At cruising its not so bad, only around +10-15%. I've tried resetting the ECU several times, but it doesn't help. As soon as the car is started again after reset you can hear it stumbling running lean (and see it on the wideband.... like 18:1 AFR) while it is in open loop relearning things. As soon as it switches back to closed loop, the STFT kicks in adding fuel and eventually the LTFT ends up at around +27% again.
The ECU uses the stock O2 sensor signal run through an O2 simulator that simulates 14.7:1 AFR under boost. The IAT signal is coming directly from the air after the intercooler.
Any ideas on whats causing this ?
2004 Optra/Forenza/Lacetti - 225whp - Haltech Sprint500 - CT12B - Getrag F28 6spd - KW V3 Coilovers - FX35 Retrofit
2002 IS300 5MT - 615whp - AEM EMS - GT4088R - Built 9.5CR - R154 - TRD LSD - SupraTT T/B - Varex - LS430 Retrofit
2002 IS300 5MT - 615whp - AEM EMS - GT4088R - Built 9.5CR - R154 - TRD LSD - SupraTT T/B - Varex - LS430 Retrofit
- PrecisionBoost
- Super Moderator
- Posts: 4437
- Joined: Thu Jun 19, 2003 5:59 am
- Location: Edmonton, Alberta, Canada
I wish I had your problem..... my LTFT is allways hugely negative because the engine runs so rich at idle.... which causes significant problems.
Sounds like the airflow adjustment on the Greddy Emanage is to blame...... it modifies the signal to make the car think there is a different level of air going into the cylinders.... which will definitly change the LTFT.
I would assume that perhaps your tuners increased the airflow a little too much and the ECU is unhappy in open loop.
I have my airflow turned way down but with the current configuration I still idle at close to 11:1 most of the time.... which isn't overly healthy.... but with the current setup that's as best as I can do.
You should take a picture of the hardware adjustment pots on the Greddy Emanage box..... and take a screen capture of the software adjustments ( via laptop and support tool if you have it )
It would be interesting to see where your levels are at...... and perhaps even the add injector map... and sub injector map.
I'd love to compare the Optra ECU to the Nubira/Leganza ECU
18:1 AFR at idle isn't going to kill your engine since it's not under load... and it's only for the first bit until the O2 sensor warms up and the ECU switches over to Closed loop control.
I suppose you could also go into the add injector map and add 20% more fuel to the stock injectors.....that would get rid of your LTFT issues..... but it might make the car run like crap in closed loop..... it's hard to say.... screwing with idle conditions can sometimes lead to stumbling and loss of power under light load while your driving.
Sounds like the airflow adjustment on the Greddy Emanage is to blame...... it modifies the signal to make the car think there is a different level of air going into the cylinders.... which will definitly change the LTFT.
I would assume that perhaps your tuners increased the airflow a little too much and the ECU is unhappy in open loop.
I have my airflow turned way down but with the current configuration I still idle at close to 11:1 most of the time.... which isn't overly healthy.... but with the current setup that's as best as I can do.
You should take a picture of the hardware adjustment pots on the Greddy Emanage box..... and take a screen capture of the software adjustments ( via laptop and support tool if you have it )
It would be interesting to see where your levels are at...... and perhaps even the add injector map... and sub injector map.
I'd love to compare the Optra ECU to the Nubira/Leganza ECU
18:1 AFR at idle isn't going to kill your engine since it's not under load... and it's only for the first bit until the O2 sensor warms up and the ECU switches over to Closed loop control.
I suppose you could also go into the add injector map and add 20% more fuel to the stock injectors.....that would get rid of your LTFT issues..... but it might make the car run like crap in closed loop..... it's hard to say.... screwing with idle conditions can sometimes lead to stumbling and loss of power under light load while your driving.
2010 BMW 335D
1994 Opel Calibra 4X4 turbo ( C20LET 2.0L Turbo )
2002 Daewoo lanos
1994 Opel Calibra 4X4 turbo ( C20LET 2.0L Turbo )
2002 Daewoo lanos
- PrecisionBoost
- Super Moderator
- Posts: 4437
- Joined: Thu Jun 19, 2003 5:59 am
- Location: Edmonton, Alberta, Canada
14.7:1 is technically the ideal.... but honestly.... if it's within 5% it's not going to make much of a difference.
In your case your pretty close to sea level.... so 14.7:1 ( or 14.6:1 ) is good.
For someone in the mountains the ideal air fuel might actually be somthing closer to 16:1 since each liter of air is less dense.
That is also the reason why some manufacturers go out of their way to take barometric pressure into account when running the vehicle.... in order to get the correct air/fuel ratio.
When it comes down to it.... it's all about density.... hot air is less dense.... cold are is more dense.... sea level is more dense.... mountains less dense.
In a perfect world they would tune your car for your specific location.... but that is just too hard to keep track of.... consider what happens if you live in a place live Vancouver, Canada where the coast is at sea level and within 30 minutes of driving your high up into the rocky mountains.
So 14.7:1 doesn't matter that much.... it just happens to be a nice safe ratio..... if you ran 15:1 the car would be just as happy and you'd use less fuel..... but manufacturers are more concerned with keeping a safety margin with respect to octane content, barometric pressure, individual cylinder efficencies, intake temperatures.
In your case your pretty close to sea level.... so 14.7:1 ( or 14.6:1 ) is good.
For someone in the mountains the ideal air fuel might actually be somthing closer to 16:1 since each liter of air is less dense.
That is also the reason why some manufacturers go out of their way to take barometric pressure into account when running the vehicle.... in order to get the correct air/fuel ratio.
When it comes down to it.... it's all about density.... hot air is less dense.... cold are is more dense.... sea level is more dense.... mountains less dense.
In a perfect world they would tune your car for your specific location.... but that is just too hard to keep track of.... consider what happens if you live in a place live Vancouver, Canada where the coast is at sea level and within 30 minutes of driving your high up into the rocky mountains.
So 14.7:1 doesn't matter that much.... it just happens to be a nice safe ratio..... if you ran 15:1 the car would be just as happy and you'd use less fuel..... but manufacturers are more concerned with keeping a safety margin with respect to octane content, barometric pressure, individual cylinder efficencies, intake temperatures.
2010 BMW 335D
1994 Opel Calibra 4X4 turbo ( C20LET 2.0L Turbo )
2002 Daewoo lanos
1994 Opel Calibra 4X4 turbo ( C20LET 2.0L Turbo )
2002 Daewoo lanos