Speed Density Implementation Discussion
#1
Speed Density Implementation Discussion
Hi All,
Firstly I am fully aware that Bez has patched some peoples ROM's with various versions of his SD/MAP code. I have had a look at a few of his ROM's and it's not immediately obvious to me how it all works - I have pm'd Bez in the hope he can help me out a bit here
So what does Speed Density mean?
Apparently SD is an alternative way of calculation 'Engine Load' - By taking MAP, IAT, RPM (engine speed) and the Volumetric Efficiency of the Engine we can calculate this new 'load' - which apparently is expressed by the 'weight of air'/time (ie g/s or lb/min)
How are we going to implement it? Now there are a few approaches we can use here:
1) We can replace the code that controls the MAF calculation with an new calculation, this calculation would take into account IAT to determine how many air molecules are making it into the engine
- Problem with this method is that the ECU already maintains various LOAD variables - RAW, TEMP corrected, BARO corrected, BARO+TEMP corrected. So replacing this global variable will mean the corrected variables become redundant but we still use them
2) Replace 'LOAD' axis lookup on the FUEL and IGNITION maps with something else, straight MAP or our airflow in g/s
- Ignition (and maybe Fuel) corrections are still being made (based on air temp and baro) but we have found these tables and can zero them out.
For either case I still don't understand how to come up with an IPW for the given airflow rate, presumably the current code will take care of this, but I would like to understand it nonetheless.
I still don't really understand the VE aspect of the calculation either, I have read a HEAP of webpages on the matter, but usually get bogged down in math and loose my train of thought.
I don't pretend to be an expert on SD, far from it - so hopefully we can come up with a decent solution. Also this probably comes second nature to some of you so please bear with me
I have been using the subaru SD guide as a bit of a reference:
http://forums.openecu.org/viewtopic....9e252025c74a5e
Hopefully it hasn't lead me astray
Cheers
D.
Firstly I am fully aware that Bez has patched some peoples ROM's with various versions of his SD/MAP code. I have had a look at a few of his ROM's and it's not immediately obvious to me how it all works - I have pm'd Bez in the hope he can help me out a bit here
So what does Speed Density mean?
Apparently SD is an alternative way of calculation 'Engine Load' - By taking MAP, IAT, RPM (engine speed) and the Volumetric Efficiency of the Engine we can calculate this new 'load' - which apparently is expressed by the 'weight of air'/time (ie g/s or lb/min)
How are we going to implement it? Now there are a few approaches we can use here:
1) We can replace the code that controls the MAF calculation with an new calculation, this calculation would take into account IAT to determine how many air molecules are making it into the engine
- Problem with this method is that the ECU already maintains various LOAD variables - RAW, TEMP corrected, BARO corrected, BARO+TEMP corrected. So replacing this global variable will mean the corrected variables become redundant but we still use them
2) Replace 'LOAD' axis lookup on the FUEL and IGNITION maps with something else, straight MAP or our airflow in g/s
- Ignition (and maybe Fuel) corrections are still being made (based on air temp and baro) but we have found these tables and can zero them out.
For either case I still don't understand how to come up with an IPW for the given airflow rate, presumably the current code will take care of this, but I would like to understand it nonetheless.
I still don't really understand the VE aspect of the calculation either, I have read a HEAP of webpages on the matter, but usually get bogged down in math and loose my train of thought.
I don't pretend to be an expert on SD, far from it - so hopefully we can come up with a decent solution. Also this probably comes second nature to some of you so please bear with me
I have been using the subaru SD guide as a bit of a reference:
http://forums.openecu.org/viewtopic....9e252025c74a5e
Hopefully it hasn't lead me astray
Cheers
D.
#2
Evolved Member
roughly speaking, and I am coming from a background of speed-density tuned engines, VE is an expression of the engines ability to "draw in" air in relation to the pressure in the intake manifold. Higher VE, higher the mass of air per second for any givven air pressure in the manifold (post throttle valve)
Your air mass per second would roughly be MAPxVExcorrection factors (air temp etc..)
Now, I do not know how feasible it is with regards to reprogramming of mitsu ECU, but you could change the load axis straight with MAP, and change the current A/F fields with injector timing... for example... but you will have to keep the correction factors, so your final injection time will be the time from the injector time map x correction (temp, etc..)
then by tuning, you will get the injection map that will represent the current VE of the engine.... However, the danger lies in the fact that any alterations to the engine (turbo, manifolds, cams) will lead to the change of the VE... and frankly speaking I am worried about the MIVEC timing as this will change the VE a lot..
best regards
vlado
Your air mass per second would roughly be MAPxVExcorrection factors (air temp etc..)
Now, I do not know how feasible it is with regards to reprogramming of mitsu ECU, but you could change the load axis straight with MAP, and change the current A/F fields with injector timing... for example... but you will have to keep the correction factors, so your final injection time will be the time from the injector time map x correction (temp, etc..)
then by tuning, you will get the injection map that will represent the current VE of the engine.... However, the danger lies in the fact that any alterations to the engine (turbo, manifolds, cams) will lead to the change of the VE... and frankly speaking I am worried about the MIVEC timing as this will change the VE a lot..
best regards
vlado
#3
Evolved Member
iTrader: (5)
This should help you out tephra.
http://www.marcintology.com/tuning/H...ityWorks16.doc
EDIT:
BTW if you guys just want a REALLY quick summary of this paper.
IPW (Injector pulse width) is simply a susbtitution of a couple calculations, BTW 1 injection for every 2 rotations.
Starting simple:
IPW = Fuel Mass needed / Injector flow rate
Now we subitute the Amount of fuel needed with a air required by the engine divided by the AFR we want
IPW = (Airmass / AFR) / Injector flow rate OR IPW = Airmass / (AFR * injector flow rate)
We can go a step further making the IPW calculation use the air density calculation
IPW = (Volume * VE *Air density) / (AFR * Injector flow rate)
Now we don't really know air density so we can derrive that off the sensors we have
R is gas constant, 287.05 J/(kg*K) for dry air
Air density = MAP / ( R * air temp)
Final calculation will look like
IPW = (Volume * VE * MAP) / (AFR * R * Temp * Injector flow rate)
I'm not going to get into the VE portion of the paper.
http://www.marcintology.com/tuning/H...ityWorks16.doc
EDIT:
BTW if you guys just want a REALLY quick summary of this paper.
IPW (Injector pulse width) is simply a susbtitution of a couple calculations, BTW 1 injection for every 2 rotations.
Starting simple:
IPW = Fuel Mass needed / Injector flow rate
Now we subitute the Amount of fuel needed with a air required by the engine divided by the AFR we want
IPW = (Airmass / AFR) / Injector flow rate OR IPW = Airmass / (AFR * injector flow rate)
We can go a step further making the IPW calculation use the air density calculation
IPW = (Volume * VE *Air density) / (AFR * Injector flow rate)
Now we don't really know air density so we can derrive that off the sensors we have
R is gas constant, 287.05 J/(kg*K) for dry air
Air density = MAP / ( R * air temp)
Final calculation will look like
IPW = (Volume * VE * MAP) / (AFR * R * Temp * Injector flow rate)
I'm not going to get into the VE portion of the paper.
Last edited by RoadSpike; Oct 21, 2008 at 12:32 AM.
#4
Vlado - the MAP axis change is what Bez has already done, so you are now targeting an AFR based upon the current MAP sensor...
But you are right tuning VE will be difficult, and also changes to the engine will also make this harder. Hopefully someone smarter than I am will be able to come up with a fool-proof way of doing this (ie Eric's injector scaling + latency trim resolution method)
I will read those posts again in a tick Just have to say the below b4 I forget
On the way home I thought about something, if we know the exact amount of 'air' going into the engine then can't we inject and exact amount of fuel to target an exact AFR?
But you are right tuning VE will be difficult, and also changes to the engine will also make this harder. Hopefully someone smarter than I am will be able to come up with a fool-proof way of doing this (ie Eric's injector scaling + latency trim resolution method)
I will read those posts again in a tick Just have to say the below b4 I forget
On the way home I thought about something, if we know the exact amount of 'air' going into the engine then can't we inject and exact amount of fuel to target an exact AFR?
Last edited by tephra; Oct 21, 2008 at 04:00 AM.
#5
EvoM Staff Alumni
iTrader: (16)
Vlado - the MAP axis change is what Bez has already done, so you are now targeting an AFR based upon the current MAP sensor...
But you are right tuning VE will be difficult, and also changes to the engine will also make this harder. Hopefully someone smarter than I am will be able to come up with a fool-proof way of doing this (ie Eric's injector scaling + latency trim resolution method)
I will read those posts again in a tick Just have to say the below b4 I forget
On the way home I thought about something, if we know the exact amount of 'air' going into the engine then can't we inject and exact amount of fuel to target an exact AFR?
But you are right tuning VE will be difficult, and also changes to the engine will also make this harder. Hopefully someone smarter than I am will be able to come up with a fool-proof way of doing this (ie Eric's injector scaling + latency trim resolution method)
I will read those posts again in a tick Just have to say the below b4 I forget
On the way home I thought about something, if we know the exact amount of 'air' going into the engine then can't we inject and exact amount of fuel to target an exact AFR?
#6
Well creating a VE Table from your MAF is probably the easiest way, but I would assume as soon as you take of your MAF then your VE table will change...
Thanks Roadspike - I did read that, the other problem is determining what the ECU is currently doing like units etc..
Thanks Roadspike - I did read that, the other problem is determining what the ECU is currently doing like units etc..
Last edited by tephra; Oct 21, 2008 at 05:10 AM.
Trending Topics
#8
Evolved Member
iTrader: (6)
Join Date: Jul 2005
Location: Charleston, SC
Posts: 1,228
Likes: 0
Received 0 Likes
on
0 Posts
There should be some variable calculated in the stock subroutines that is derived from the MAF/Baro/Airtemp to generate a value that is "The amount of air entering the engine". Why not take all of those, and remove/zeroout/change them to only use Airtemp/Baro/JDMMAP to calculate "The amount of air entering the engine" and replace it in the subroutines? (Of course it's probably not that easy seeing as though I don't know how to do all that wonderful stuff.
Seems like using the stock barometer, a GM AIT and a JDMMAP you have the sensors needed to calculate a variable you need, a number that represents the amount of air in the intake plenum/or intake system.
I am probably just rambling. I was up too dang long last night trying to figure out why my new motor is spitting out P0300's...
Seems like using the stock barometer, a GM AIT and a JDMMAP you have the sensors needed to calculate a variable you need, a number that represents the amount of air in the intake plenum/or intake system.
I am probably just rambling. I was up too dang long last night trying to figure out why my new motor is spitting out P0300's...
#10
Evolved Member
iTrader: (5)
Join Date: Dec 2003
Location: NW Georgia
Posts: 1,378
Likes: 0
Received 0 Likes
on
0 Posts
Fine tuning speed density is easy if your talking about traditional speed density systems such as AEM. All you have to do is map out a specific load point on the dyno (for example 0psi or 5 psi or 10 psi etc) across the rpm range then you can just extrapolate lower and higher load areas, which is why many tuners prefer to do a boost comp map on AEM.
This of course assume you have a dyno capable of steady state loading and an ems that allows you to make adjustments in real time.
I think the easiest approach to the map axis delima (from a tuning perspective) is to use rpm vs manifold pressure for both fuel and timing maps.
This of course assume you have a dyno capable of steady state loading and an ems that allows you to make adjustments in real time.
I think the easiest approach to the map axis delima (from a tuning perspective) is to use rpm vs manifold pressure for both fuel and timing maps.
#12
^ which is exactly why I am installing an IAT.
I don't know if baro is important, once the turbo has compressed the air then is it not irrelevant what the outside air pressure is?
BUT does the amount of fuel you are injecting depend on IAT as well? OR are you saying make Fuel map based on RPM/MAP and then leave the ECU to do its own IAT corrections like its doing now?
I don't know if baro is important, once the turbo has compressed the air then is it not irrelevant what the outside air pressure is?
BUT does the amount of fuel you are injecting depend on IAT as well? OR are you saying make Fuel map based on RPM/MAP and then leave the ECU to do its own IAT corrections like its doing now?
Last edited by tephra; Oct 21, 2008 at 05:46 AM.
#14
Evolved Member
iTrader: (6)
Join Date: Jul 2005
Location: Charleston, SC
Posts: 1,228
Likes: 0
Received 0 Likes
on
0 Posts
I would think it would be irrelevant because the baro is necessary as the air is traveling through the MAF so it can calculate the density of the air. Once it is Post MAF, it becomes "relatively speaking" irrelevant.
Basically, with a MAF system you are calculating the amount of air pre-turbo, with speed density, you are calculating it post turbo, at the intake manifold. You are essentially doing the same thing, calculating the air mass/volume, just at different locations.
For speed density to really work properly, you would need it calculated at the point just before it enters the engine, hence, the intake manifold because of the changes the turbo makes to the intake charge (Air temperature, density changes).