took the car for a run the weekend and she ran fautless,
cold start is near perfect now just a few tweeks needed here and there, and warm running is also near spot on,
one thing i have though is under light throttle acceleration my vems gauge reads 1.02-1.09 briefly until i squeeze the throttle a bit further then she drops to about 0.82,
you think i should drop the (0) to around 3 instead of 5???
my accel bins are as follows.
(0) 5
[1] 25
[2] 44
[3] 104
accel amount.
(0) 0.9
[1] 1.7
[2] 2.0
[3] 2.5
duration [ms] 2.9
Nice to hear that things are coming together, the suggested bin values are:
1
5
20
40
Rob
cheers Rob,
will change them shortly
shall i leave the accle amounts as are for now,?
yeah things are coming together and the more i play the quicker the car feels,
i used around 1/4 of a tank to Uxbridge and back, and we got caught in a bit of traffic too, was well pleased with the fueling,
at cruise the af gauge is reading 0.99. shall i go leaner?
leave the amounts as they are, I'd expect a little bit of tweeking will be required.
0.99 seems pretty good, you can try and take it to 1.0 but I'm not sure what gains in fueling you'll see. It will be interesting to see what dnb gets in the way of improvement when he tries his leaning experiments.
I'd suggest 1,5,20,40 may be a problem on the Rover if you're using the standard throttle position sensor - it's quite noisy on mine (by one LSB), and always triggers the accel enrichment.
I use 3,7,20,40 instead.
cheers guys, i'll try your settings Dave as im using the rover tps unit.
im hoping to be sorting a rolling road day on my v8 forum soon in uxbridge, any one local to there who maybe able to give mine a look over and a possible tweek after its power run????
I've just looked at my latest log and it shows very clearly some of the things Cliff has talked about here. I'll post it up tonight :)
It means I have a fighting chance of getting accel enrichment right now.
Keep me posted dave please,
as it may also help me out
Quote from: dnb on July 16, 2007, 06:54:31 PM
I'd suggest 1,5,20,40 may be a problem on the Rover if you're using the standard throttle position sensor - it's quite noisy on mine (by one LSB), and always triggers the accel enrichment.
I use 3,7,20,40 instead.
I am having a head ache over this as well :-\
I have just come back from a holidy in Cornwall in the Mini and encountered little problems other than the engine cutting out in the second lane on the up side of the Avon bridge crossing on the M5, lol, thats another story. Whit this did allow me to do is watch what was going on, when the screen wasnt playing up, again, another story.
It was clear that the suggested 1 5 20 40 bins were causing AE when the throttle was almost stationary. The Mini is not the smoothest of rides and every small bump caused AE unnecisaraly. Having read this topic before we left, I altered the bins to that that you suggested and the problem dissapeared. I do however still need to sort out the transient fuel amounts.
Slow acceleration is almost perfect, only issue with sudden WOT situations where a massive lean period causing the engine to cut and recover. Im finding it difficult to tune as i really dont know which bit im altering.
So, in AE for dummies, can some one help me understand, its a real killer on the drag strip and its showing on times.
OK so far i understand the acc bins as the rate of acceleration, small number gentel acceleration, large numbers hard acceleration. I also mildly understand the acc amount as being the extra, added ontop PW?? to that of the base PW??
Im thinking the acceleration duration is the time the 'lean' peariod lasts??
Now after messing about, the larger duration time i use, the larger the rich dip is on gentel acceleration, the better it gets on hard acceleration, so the duration and amount need to be tuned together.
Am i correct in thinking as I increase the duration to get the hard acc sorted, i need to reduce the lower acc amount to stop the rich dip.
Or do i just increase the hard acc amounts, in which case where dose the duration fit in :-\
the longer i think about it the more i'll understand it ::), i now have a week to play with it without relying on the car to get us home :D
mines running real sweet after setting my accel bins to daves settings,
just need to drop the fuel table at WOT now as she is reading 0.75 now
or change the accel enrichment, but it runs good so may tweek the table instead.
Tony - tweak the VE table if it holds the 0.75 lambda for a decent period of time. If it's only a spike at 0.75 then drop the accel enrichment amount a little.
Sprocket - You're about there with your understanding.
The 4 bins determine how much the fuelling pulses are extended when you're accelerating. So if you have a base pulsewidth of 2ms in a given cell, and you accelerate through that cell then the pulsewidth will be 2ms + whatever the accel enrichment is set to.
The duration is how long the pulses are extended for. MT says the units for this are ms. (I think they are actually seconds!) So yes, this should be the same length as the lean excursions you are seeing in the log. (Well, give or take a bit)
The amount of extension should then be set so that you achieve your target fuelling as soon as the accelerator is used.
Have a read of the accel enrichment thread in the config (I think) forum and see if it makes a bit more sense.
BTW, I am using 2 as my lower accel bin instead of 3 now and this seems to work a bit better.
cheers dave,
i will have a look in the week as the car is away now,
i will try dropping to 2 also.
Right then, not happy with this.
I can get the AE about right for 90% of driving, but when you floor it the engine stumbles. I can also replicate this with tiny, quick throttle movements. No good with heal and toe down shift, engine response is piss poor with no load on engine.
I have tried and tried, either way the engine stumbles rich one way or lean the other, there is no happy medium. Bloody SPI, wish i ditched in the first place, low ohm injectors and wet manifold, royal PITA.
So, I am looking at the pressure based rather than throttle based, my thinking on this that small Dv at low RPM generates large Dp.
Trying to fully understand the Acc bins, is this number caculated by multiplying dv and dt, or is it divided. The side bars show divide, as delta volts 'over' delta time [dv/dt] or the bin value an actual rate, so if dv was 4, dt would be 10ms, all seems backwards as shorter dt would give small number and less fuel yet rate of throttle increased. I assume the number is a factor rather than a rate, but how is this factor calculated in the firmware
Need to know this to try the pressure based, I suspect not many are using it.
Also, the 'agreed' acc bin values, how and why are these suitable for all aplications. Every engine is different as is the throttle and its rate
What do the OEM guys do that we are not, the principle cant be that complicated.
this is starting to put me off as throttle response is unpredictable. :-[
Please hurry with the new AE firmware :P ::)
I doubt you'll get any better results from the pressure based system,
The agreed rates are based on throttle opening speeds - change in TPS sensor voltage/time. They're based on a
Normally its not as bad as you're seeing with your engine, have you tried adjusting the enrichment time?
The 1.1.26 firmware has improved accel enrichment, development is afoot.
Are you TOTALLY sure your VE & lambda maps are correct? (I'm not questioning ability here, but it's really easy to overlook something if you are trying to map alone or based on datalogs alone)
AE is only intended to make the richening effect of this into a "step" response (ie an instantanious change from say lambda=1.0 to lambda=0.88) to throttle, instead of a more gradual rise. It isn't there to ensure you hold a rich mixture during the car itself accelerating. (Perhaps "acceleration enrichment" is the wrong phrase - I like Cliff's "tip-in".)
Can you put up a plot of RPM, MAP, TPS, Lambda & pulsewidth against time for a couple of your acceleration tests? Or better yet, chop them out of a log file and put them in an excel sheet.
Appologies if I'm giving you lessons in removing the innards of eggs without breaking the shells... ;) ;)
have dropped my first bin to 2 also now, and she seems to be ok with this, (cheers Dave)
as a rule of thumb for a setting up setting, what would an ideal accel duration be? mines at 2.9ms
accelbins now are:
0 - 2
1 - 6
2 - 20
3 - 40
accel amount:
0 - 1.2
1 - 1.5
2 - 1.8
3 - 2.2
accel duration 2.9ms
is any one got anything similar??? or can any one see somewhere that could need tweeking etc,
ta again for a good forum Rob.
Almost the same as my set-up! The only way to tweak is to do detailed analysis of the log files.
I think I can write some perl to do this, but I haven't had chance yet.
cool im glad im getting the hang of the settings and seat of the pants feel when tuning :D
keep me posted on the perl Dave,
Wouldn't it make more sense to normalize these numbers (in ms) against the value req_fuel? So the settings wouldn't vary as much from engine to engine.
Quote from: antonch on August 18, 2007, 01:22:29 AM
Wouldn't it make more sense to normalize these numbers (in ms) against the value req_fuel? So the settings wouldn't vary as much from engine to engine.
Nice idea, but unfortunately it doesn't work quite like that.
The req fuel value is basically an injector characteristic value. However accel enrichment is required due to intake design factors - distance from injector to valve, port shape, air velocity plus some others. Therefore if you had two engines that were identical except for different sized injectors, then your idea would work. However, if you have two different engines, but that use the same size injectors (i.e. the same req fuel) then it won't, since the amount of additional fuel required to form and maintain the wall film will be different.
Quote from: cliffb75 on August 18, 2007, 09:53:22 PM
Quote from: antonch on August 18, 2007, 01:22:29 AM
Wouldn't it make more sense to normalize these numbers (in ms) against the value req_fuel? So the settings wouldn't vary as much from engine to engine.
Nice idea, but unfortunately it doesn't work quite like that.
The req fuel value is basically an injector characteristic value. However accel enrichment is required due to intake design factors - distance from injector to valve, port shape, air velocity plus some others. Therefore if you had two engines that were identical except for different sized injectors, then your idea would work. However, if you have two different engines, but that use the same size injectors (i.e. the same req fuel) then it won't, since the amount of additional fuel required to form and maintain the wall film will be different.
Right but if we look at todays accel. enrichment model its just dVoltage dtime, which is pretty weak in my opinion. As an example, it doesn't take wall wetting or air speed into the account. A tau-X model takes into account all the factors that you have mentioned. In fact, it is so great it can also deal with cold enrichment.
So a normalized number is a step up. At least you are removing the injector characteristic out of the equation.
I really do wish that VEMS would improve its accel enrichment model....
The enrichment model is being worked on, 1.1.26 has a number of improvements regarding enrichment decay and retriggering.
There are many methods of calculating enrichment X-Tau has quite a large map which will be in reality difficult for people like us to set up and use properly, we have our eyes on quite a simple to use method which is used in a number of aftermarket ECUs.
Rob
Quote from: cliffb75 on August 18, 2007, 09:53:22 PM
Quote from: antonch on August 18, 2007, 01:22:29 AM
Wouldn't it make more sense to normalize these numbers (in ms) against the value req_fuel? So the settings wouldn't vary as much from engine to engine.
Nice idea, but unfortunately it doesn't work quite like that.
The req fuel value is basically an injector characteristic value. However accel enrichment is required due to intake design factors - distance from injector to valve, port shape, air velocity plus some others. Therefore if you had two engines that were identical except for different sized injectors, then your idea would work. However, if you have two different engines, but that use the same size injectors (i.e. the same req fuel) then it won't, since the amount of additional fuel required to form and maintain the wall film will be different.
The req fuel is still a good reference, we work with engines that are improved over time and many engines see injector changes in the middle of it's life and we as tuners also tend to reuse base maps from one engine on an other similar engine.
I have used a system that use something similar to a req_fuel based acc enrich. Even with default settings it has been very good on all engines I have used it for. There can always be improvements but the engines I have tried it on has been very different and they have worked very well.
We know that many users will not do the acc enrich setup properly and a req_fuel based setup is much more likely to work ok on their engine.
I'm also thinking about generic scalers to handle the acc enrich demand over rpm and load. Something that is used in addition to the 3d rpm and load tables for decay and amount. I like flat tables and anything that can be flattened by using hidden scalers and compensations is good. Most likely with the option to turn the hidden optimizations on and off.
Cliff, can you offer any imput on the general acc enrich demand over rpm and load? I have seen that the acc enrich has to be more or less removed whenever you are on boost and that high rpm also decrease the demand.
The lambda at the load site we are comming from also affects the amount needed. That should be considered in the new implementation.
Jörgen
I thought some parts of these graphs might be useful to study acceleration enrichment. Here's a few graphs from the dyno run. The contents should explain themselves quite well. MAP rises very quickly compared to TPS - should I consider MAP based enrichment? There's plenty more data if you want it. (Note that I am now fairly sure there are no settings for accel enrich for my engine which cover everything with the current implementation.)
Also note the lack of power but silly torque from the car - the results feel right, as it's useless beyond 3500 RPM ;) Most of this is down to lousy standard TVR induction, and the fix for this is in hand.
(http://www.aqyz05.dsl.pipex.com/dyno.jpg)
(http://www.aqyz05.dsl.pipex.com/power.jpg)
Quote from: Jorgen on August 20, 2007, 11:57:36 PM
Quote from: cliffb75 on August 18, 2007, 09:53:22 PM
Quote from: antonch on August 18, 2007, 01:22:29 AM
Wouldn't it make more sense to normalize these numbers (in ms) against the value req_fuel? So the settings wouldn't vary as much from engine to engine.
Nice idea, but unfortunately it doesn't work quite like that.
The req fuel value is basically an injector characteristic value. However accel enrichment is required due to intake design factors - distance from injector to valve, port shape, air velocity plus some others. Therefore if you had two engines that were identical except for different sized injectors, then your idea would work. However, if you have two different engines, but that use the same size injectors (i.e. the same req fuel) then it won't, since the amount of additional fuel required to form and maintain the wall film will be different.
The req fuel is still a good reference, we work with engines that are improved over time and many engines see injector changes in the middle of it's life and we as tuners also tend to reuse base maps from one engine on an other similar engine.
I have used a system that use something similar to a req_fuel based acc enrich. Even with default settings it has been very good on all engines I have used it for. There can always be improvements but the engines I have tried it on has been very different and they have worked very well.
We know that many users will not do the acc enrich setup properly and a req_fuel based setup is much more likely to work ok on their engine.
I'm also thinking about generic scalers to handle the acc enrich demand over rpm and load. Something that is used in addition to the 3d rpm and load tables for decay and amount. I like flat tables and anything that can be flattened by using hidden scalers and compensations is good. Most likely with the option to turn the hidden optimizations on and off.
Cliff, can you offer any imput on the general acc enrich demand over rpm and load? I have seen that the acc enrich has to be more or less removed whenever you are on boost and that high rpm also decrease the demand.
The lambda at the load site we are comming from also affects the amount needed. That should be considered in the new implementation.
Jörgen
Right, lets get to the basics of it then. Transient fuelling (and this is both accel and decel) is required for 2 reasons.
First is the ECU. In order to calculate the required injection pulsewidth, the ECU needs to take a measurement of the load some time before the injector is required to open. When the engine is steady state, this all works nicely. However, under transient conditions, the time between this measurement being taken and the actual point at which the inlet valve opens allows for the actual load to increase. At low engine speeds and loads this is significant, since the lower air flows involved mean that the air has less inertia (able to accelerate quicker) and low speed means there is a longer time between measurement at valve opening (the ECU normally calculates at an angle before TDC, therefore time increases with decreasing speed). Therefore, the amount of fuel calculated as required is actually quite a bit less than is really needed. As engine speed increases, the available time decreases, and the inertia of the air increases, so that the measurement error is reduced. In the case of turbo engines on boost, the limiting factor becomes the inertia of the turbo system itelf (i.e. turbo lag) so that again the required amount reduces.
Second is the wall film. This is a physical phenomenon, which I don't fully understand - but I do know it exists and have seen its effects :). Basically the required wall film increases as load increases. Therefore there is a requirement to add some extra fuel for a short duration in order to build up this wall film as you increase in load. The amount required is dependant on various factors such as the location of the injector, its spray pattern, air temperature and so on.
These two requirements led to the dual stage nature of transient fuel - a quick spike to initially compensate the calculation error, and a smaller longer addition to build up the wall film. By getting both the total amount of fuel and the relative split of these parts correct we can achieve a stable lambda profile during the transient.
The size and duration of these parts are dependant on a number of factors. We've already mentioned engine speed (time between measurement and valve opening) and airflow (inertia). It may be possible to deal with these in the background since the ecu knows how long before TDC it has to perform the calculation. However, it doesn't know what the valve timing is, so some compensation may be required. You still need to predict how fast the load is changing though, either by looking at MAP or pedal angle rate of change. You can also help yourself out by setting up the system to make the fuelling calculation as late as possible (so there is less time for the load to change).
Next is the relative change in load. The wall film increases exponentially with load. therefore a small change in load at low load requires less additional fuel than a similar change in load at high load (if you see what I mean). However, a small change in load at low load produces a quicker response than at high load (air inertia again), so the measurememnt error is greater. Therefore the net fuel effect may balance out, but the split between first and second part varies, depending on the load at the point you tipped in.
For that you can see that the worst case is a tip in from idle to WOT. In this case, the initial engine speed is low (long time between measurement and valve opening), the airflow is low (low inertia, so load builds rapidly with time) and the wall film is small, with a final requirement to be large. Therefore the first place to try and play with transient fuelling is by doing 'throttle blips' from idle.
The VEMS system, like others, triggers the required additional fuel based on what throttle opening you start at, and how quickly you open it. However, it then uses fairly crude strategy to calculate the additional fuel to add, which doesn't really fit the physica effects.
Modern OEM systems perform a more complex load prediction based on various engine factors, and also use a simple wall film model to calculate the required additional fuel. With those two bits of info the amount of fuel and the split between first and second parts is calculated.
It is worth remembering that things in a modern system are always calculated in real quantities (mg of fuel, kg/h or air etc) and then the required injection time is calculated from this through the injector characteristic model (which may include compensations for fuel pressure, fuel temperature, flow, port conditions etc etc).
So what should we do for tranisent fueling strategy? In a system such as this, we probably don't need all that level of detail - we are not so concerned with catalyst breakthrough or CAFE tax. We just want good transient reponse without any stumbles caused by excessive rich or lean mixtures, so we can cope with being a little bit rich or not having the perfect split ratio.
I hope this is a good starting point. I need to leave it to someone else to actually suggest a strategy that will cover these requirements. (as I've said before, I need to be a bit careful about IP) I hope it makes sense, but let me know if I need to explain anything a bit further :)
Quote from: cliffb75 on August 23, 2007, 10:32:01 PM
I have to respectfully disagree with a few points that you pointed out.
I am not really sure why you are talking about air inertia as that only applies during modeling of engine resonance.
A MAP sensor has a response time on the order of milliseconds. As you mention earlier most of AE problems are at low engine speeds. We can measure the system as fast as its happening.
The reason why AE is not really needed at higher engine speed is because at higher engine speeds airflow increases in turbulence. Higher turbulance decreases the boundary layer between the air flow and the wet patch. This results in higher "evaporation" rates. Note that evaporation rates depend on wetted area and not the thickness.
A good AE model is need not just for local emissions testing. It nice to have a system that can accurately predict the required fuel based on coolant temp, air intake temp, etc. So instead of just plugging random numbers in that work sometimes, you have a robust system that is able to work well in different environments. CARBs can work well but take them to a new environment and they show their weaknesses. The ability of a modern EFI system to adapt to environmental changes is where its at.
Quote from: antonch on August 24, 2007, 01:38:06 AM
Quote from: cliffb75 on August 23, 2007, 10:32:01 PM
I have to respectfully disagree with a few points that you pointed out.
I am not really sure why you are talking about air inertia as that only applies during modeling of engine resonance.
A MAP sensor has a response time on the order of milliseconds. As you mention earlier most of AE problems are at low engine speeds. We can measure the system as fast as its happening.
The reason why AE is not really needed at higher engine speed is because at higher engine speeds airflow increases in turbulence. Higher turbulance decreases the boundary layer between the air flow and the wet patch. This results in higher "evaporation" rates. Note that evaporation rates depend on wetted area and not the thickness.
A good AE model is need not just for local emissions testing. It nice to have a system that can accurately predict the required fuel based on coolant temp, air intake temp, etc. So instead of just plugging random numbers in that work sometimes, you have a robust system that is able to work well in different environments. CARBs can work well but take them to a new environment and they show their weaknesses. The ability of a modern EFI system to adapt to environmental changes is where its at.
Perhaps air inertia is not a brilliant analogy, since in reality the air has to keep stopping and starting every time the valve opens and closes. But in a conceptual sense it works for me to think that lower loads there is less air and hence less inertia, therefore the rate of change can be faster, which means the potential for a larger error for a given time period.
I take your point about the sensor - but that isn't the issue. The problem is that we have to make a calculation for the injected pulsewidth before the injection occurs. Rob can probably correct me on the actual numbers, but for example, say the ECU is set up to trigger at 60 degrees BTDC. So at that point the ECU measures the MAP, looks up the appropriate VE site, and multiplies it by req_fuel to calculate the injection pulsewidth. This needs to be done fairly early in order to cover large pulsewidths at high load. If we use a fixed injection start strategy then we can calculate later, but if we use a fixed end angle then we obviously need some headroom.
Because we do all this based on an angle, there is obviously a larger time between calculation of pulsewidth and valve opening at low speeds than at high speeds. Therefore at low speeds, and low loads, there is the possibility for the load to continue increasing after the point at which the calculation for the injection pulsewidth was made. You are right that we could (and do) continue to measure the load, but the amount of fuel to be injected has alredy been decided by the time the valve opens, because the injection has probably already occurred by that point.
Thanks for the explanation of boundry layer effects. I'd not heard that explanation before, but it makes sense. But is that the reason why AE isn't needed at high speed, or is it the reason that a larger quantity of wall film is required at high loads, or more probably high airflows. If you've got any more information on this I'd be interested to know about it :)
I think your last statement shows that you think more like me that we should be given the ability to calibrate the system if we choose, which means a more complex strategy. But the VEMS team approach seems to be more of a 'minimum calibrateable' approach, on the basis that if the box isn't there, someone can't put the wrong numbers in it. Therefore we need to find a balance somewhere in the middle, and the first part of that is to be realistic about what we actually need for the kind of engines this system will be fitted to, and for the kind of end users that we will see. In reality, if we put a fully featured system out there most tuners would simply ignore 80% of the boxes as it would be simply too expensive for them to map it. Some of them would use them and get good results, and some would put semi-random numbers in them and end up blaming the ECU for the poor transient control. So from that point of view I can see the VEMS team point of view that in some cases simpler is better - up to a point ;D
For the kind of engines these ECU's are fitted to, we really don't need the very fine level of control that OEM's need. Therefore a more generic curve shape with only 2 or 3 calibrateable parameters does make sense.
Quote from: cliffb75 on August 24, 2007, 01:02:32 PM
For the kind of engines these ECU's are fitted to...
You wouldn't be insinuating that my old Rover is agricultural woud you? ;) ;)
BTW are you still up for that dyno time? Not done anything about it yet since the new inlet manifold is still not finished...
if he is on about your RV8 Dave then hes on about mine too :D :D
did some one say dyno ;D is it open to any one??????
Tony - I don't see why not, other than I don't know when it'll be, and that I'm planning to do quite a bit of tinkering and testing of new bits - so I could hog the thing most of the day!
I designed these to see if I could squeeze a bit more air in the engine:
(http://www.mez.co.uk/dcam/preview/DSCF2180.JPG)
They caused a bit of interest at the Griff Growl.
Oh, and I had the car on the rollers there - 320 ftlbs @ 3000 RPM and 260 bhp @ 5000 RPM. Clearly there's a problem somewhere.
that looks very interesting mate,
im still thinking about turbo (single or twins) or a super charger,
But its a lack of funds at the moment :(
not had mine on the rollers yet so not sure what mines at,
be handy having someone on hand who knows and has tuned with the vems more than what i have to advise/correct what i have now.
Quote from: dnb on August 24, 2007, 01:46:06 PM
Quote from: cliffb75 on August 24, 2007, 01:02:32 PM
For the kind of engines these ECU's are fitted to...
You wouldn't be insinuating that my old Rover is agricultural woud you? ;) ;)
BTW are you still up for that dyno time? Not done anything about it yet since the new inlet manifold is still not finished...
Well I wasn't, but now that your mention it........ ;D
No, what I mean is that these are generally 'special use' vehicles, which only have to comply with SVA / MOT emissions regs. We tend not to be too worried about fuel economy (though obviously we don't want to throw money down the exhaust if we can help it) so basically we only have one aim and that is driveability. That means we can get away with a simpler approach and a less than perfect calibration (from an emissions and fuel economy point of view) than an OEM engine.
Still up for the dyno day. Just give me a bit of notice where and when.
Intake system looks good. :)
Not sure how you've set the ignition timing at the moment but could there be more to come from there too? Although I would agree that from the graphs you've shown it looks like you are air limited.
Are you also changing the cam. Do you have any way of adjusting the timing of it (vernier pulley)?
:)
The cam is already changed. It should produce peak torque MUCH higher up the rev range.
Yes, I have a vernier pulley of sorts. It allows 2 degree increments.
Ignition is pretty close to ideal based on a couple of other people's runs. Maybe there's another 5 bhp from this, but that's about it.
Quote from: cliffb75 on August 24, 2007, 01:02:32 PM
Perhaps air inertia is not a brilliant analogy, since in reality the air has to keep stopping and starting every time the valve opens and closes. But in a conceptual sense it works for me to think that lower loads there is less air and hence less inertia, therefore the rate of change can be faster, which means the potential for a larger error for a given time period.
What conceptually makes sense is fine when you try to understand something. But if you use the wrong model then you don't really understand how the system works. The driving force for mass transfer in this case is a pressure differential between cylinder and manifold. I still fail to see how inertia plays any role in here. When you talk about inertia I think of pressure waves sloshing back and forth in the runner due to resonances.
Quote from: cliffb75 on August 24, 2007, 01:02:32 PM
I take your point about the sensor - but that isn't the issue. The problem is that we have to make a calculation for the injected pulsewidth before the injection occurs. Rob can probably correct me on the actual numbers, but for example, say the ECU is set up to trigger at 60 degrees BTDC. So at that point the ECU measures the MAP, looks up the appropriate VE site, and multiplies it by req_fuel to calculate the injection pulsewidth. This needs to be done fairly early in order to cover large pulsewidths at high load. If we use a fixed injection start strategy then we can calculate later, but if we use a fixed end angle then we obviously need some headroom.
Because we do all this based on an angle, there is obviously a larger time between calculation of pulsewidth and valve opening at low speeds than at high speeds. Therefore at low speeds, and low loads, there is the possibility for the load to continue increasing after the point at which the calculation for the injection pulsewidth was made. You are right that we could (and do) continue to measure the load, but the amount of fuel to be injected has alredy been decided by the time the valve opens, because the injection has probably already occurred by that point.
I understand what you are saying but lets take a look on the order of time scales here. How fast can an average person "punch" the throttle? How long does it take to fill the manifold? My guess that this takes on the order of 200ms or so. If you have a large turbo this number can increase significantly.
At even speeds of 2000 revolution per minute, the time per revolution is on the order of ~10ms or so.
If none of the fuel would ever condense on the port's surface, you wouldn't need acceleration enrichment. As you would be able to precisely calculate how much you need.
Quote from: cliffb75 on August 24, 2007, 01:02:32 PM
Thanks for the explanation of boundry layer effects. I'd not heard that explanation before, but it makes sense. But is that the reason why AE isn't needed at high speed, or is it the reason that a larger quantity of wall film is required at high loads, or more probably high airflows. If you've got any more information on this I'd be interested to know about it :)
I think your last statement shows that you think more like me that we should be given the ability to calibrate the system if we choose, which means a more complex strategy. But the VEMS team approach seems to be more of a 'minimum calibrateable' approach, on the basis that if the box isn't there, someone can't put the wrong numbers in it. Therefore we need to find a balance somewhere in the middle, and the first part of that is to be realistic about what we actually need for the kind of engines this system will be fitted to, and for the kind of end users that we will see. In reality, if we put a fully featured system out there most tuners would simply ignore 80% of the boxes as it would be simply too expensive for them to map it. Some of them would use them and get good results, and some would put semi-random numbers in them and end up blaming the ECU for the poor transient control. So from that point of view I can see the VEMS team point of view that in some cases simpler is better - up to a point ;D
For the kind of engines these ECU's are fitted to, we really don't need the very fine level of control that OEM's need. Therefore a more generic curve shape with only 2 or 3 calibrateable parameters does make sense.
I like to tinker and perfect things. I think this is where you are coming from as well. However, I understand what the VEMS team is trying to do. The less detail the better. I don't quite remember the mission statement--can't find the wiki at the moment. But its all about purpose. Autronic units do a lot of the calculations in the background so you don't have to. Which is a nice thing.
You could have a complex model with a predefined map. If a user wants to mess with it, its up to him. If he doesn't, it wouldn't work perfect but my guess is that it'd work.
I am eager to see how the new simpler model will work out.
I see what you're saying. You're right that the driving force is pressure differential. I simplify the thing in my head to being equivalent to f=ma, where f= atmospheric pressure which is constant, m= load, and therefore 'a' decreases with increasing load. I guess in reality you're right that actually m is relatively constant and f decreases since the differential pressure reduces - kind of the same effect really, i.e. 'a' reduces as load increases.
I'm also simplifying the whole thing as we are concerned with load increasing over a number of cycles, therefore the airflow isn't smoothly increasing, since it has to keep stopping and starting as valves open and close, but then air is compressible and therefore we get pressure pulsations as stuff happening - it gets too complicted for my little brain, so I try and simplify it back to something more basic that appears to fit the evidence.
As far as the time scales are concerned, and the error that causes, I know for example that I have a log from Friday showing it took 145ms to open the throttle from 0 - 100% on a 0-60 test. Unfortunately I didn't have MAP logging fast enough to be useful. Maybe dnb could enlarge his dyno run which shows TPS and MAP as an example?
But lets do a quick calculation using your numbers. Say we are at idle - 1000rpm and 25kPa, and we 'punch' the throttle to WOT, 100kPa. It takes 200ms to fill the manifold. Thats 0.375kPa/ms. But the manifold filling isn't linear (my dodgy inertia analogy again) - it flattens off as we approach 100kPa, so in reality the pressure rise is greater during the first few moments. Still, lets take 0.375 for now.
Next, lets assume we calcuate the injection PW at 60 degrees before valve opens. At 1000rpm, thats 10ms before the valve opens.
So, 0.375*10 = 3.75 kpa error between the calculation and the actual load at the point the valve opens. depending on where in the cycle we opened the throttle thats up to a 15% error for that injection, before we even consider the additional fuel required for the wall film.
Now there are a lot of assumptions in there I know, but I'm just trying to make the point that although 10ms doesn't sound like much, in engine terms a lot can happen in that time.
I'll try and get some real data to show the effect :)
Quote from: dnb on August 15, 2007, 11:42:43 AM
Are you TOTALLY sure your VE & lambda maps are correct? (I'm not questioning ability here, but it's really easy to overlook something if you are trying to map alone or based on datalogs alone)
AE is only intended to make the richening effect of this into a "step" response (ie an instantanious change from say lambda=1.0 to lambda=0.88) to throttle, instead of a more gradual rise. It isn't there to ensure you hold a rich mixture during the car itself accelerating. (Perhaps "acceleration enrichment" is the wrong phrase - I like Cliff's "tip-in".)
Can you put up a plot of RPM, MAP, TPS, Lambda & pulsewidth against time for a couple of your acceleration tests? Or better yet, chop them out of a log file and put them in an excel sheet.
Appologies if I'm giving you lessons in removing the innards of eggs without breaking the shells... ;) ;)
Hi mate, sorry for the delay in getting back to this, but life's been a little fast paced recently for me to do anything.
I think I understand the theory that acceleration enrichment is there to compensate for the wall films that dry out with sudden throttle openings. the injector is reponding to what happened earlier via feedback from the lambda sensor. With sudden throttle openings a transient lean condition exists that the lambda sensor has not yet seen and cannot compensate for and the engine stumbles. The acceleration enrichment simply adds fuel to prevent this short lean period in relation to the amount the throttle is opened and only exists for the period that it would take for the lambda to feedback. It does not last the duration that the engine is accelerating.
Update, I spent a good two to three hours doing laps between two roundabouts on the dual caridge way just up the road from home. Its ideal as there is a layby on each side almost halfway between each roundabout. I set the low numbers to what i knew was good from previous MSQ's, with low duration times. Starting at 0.3s duration and working up. anyway, cutting a long story short i achieved good results at 1.2s in nearly every situation except for the odd time that i get a flat spot acompanied by a reguar judder (rich missfire?) I can sometimes generate this situation, it would apear to only hapen at low RPM high throttle rates and then backing off ever so slightly, or a double bump of the throttle would sometimes cause this, sudden acceleration minor pause and then a little more.
I think that the agorythm is seing two seperate acceleration events, adding the PW to PW yet the actaul MAP has not changed signifficantly to justify the extra fuel so a overly rich situation occurs.
I am thinking in my situation where I have a huge wall film to compensate, that fairly large values are needed on sudden throttle transients. Low rpm 100kpa happens at less than 100% TPS, i recon it could be in the region of 60 - 70%. Accelerating from cruse 15%TPS to 60% 100kpa, AE is fine and If at the point of 100kpa the throttle is depressed further, thereby going from 60%tps to 100%tps, more AE is added thereby causing an overly rich condition, yet there is no difference in MAP, wall films have not changed. It all happens very quickly, LOL. I'll try find some logs.
I can stall the engine from idle by quickly blipping the throttle, the engine just dies, its flooded!
While there, i think i may have found a bug in the software? If the engine has stalled and you try and restart without resetting, in some instances, the engine backfires and blows the filter clean off the injection manifold, LOL, its funny but its not if you know what i mean :P. I believe this is because as the engine stalls, it can counter rotate, the primary triger is counting teeth in both directions and gets VERY lost. Is it not a simple matter to reset the primary trigger algorythms when zero RPM is seen? Yes granted you can switch the ignition off and back on, but surely this is not a complicated thing to work in? Something to think about if its not already been addressed? I think i will post this seperately so it gets full exposure, for discussion ;)
This is one reason i suggested trying the MAP based AE as it only adds PW when MAP changes the configured amounts??? TPS based for Alpha N and pressure based for MAP? this would make sense? :-\
Quote from: dnb on August 24, 2007, 05:20:30 PM
I designed these to see if I could squeeze a bit more air in the engine:
(http://www.mez.co.uk/dcam/preview/DSCF2180.JPG)
I hope you are not intending to expose those blue silicon hoses to Manifold depression?? if that is indeed where I think they are installed and not reinforced?? :-\
I know two people who did and i was oing the same route, untill my welder said hang on. LOL, it was so obvious once it was pointed out.
Quote from: cliffb75 on August 25, 2007, 10:49:48 PM
I see what you're saying. You're right that the driving force is pressure differential. I simplify the thing in my head to being equivalent to f=ma, where f= atmospheric pressure which is constant, m= load, and therefore 'a' decreases with increasing load. I guess in reality you're right that actually m is relatively constant and f decreases since the differential pressure reduces - kind of the same effect really, i.e. 'a' reduces as load increases.
I'm also simplifying the whole thing as we are concerned with load increasing over a number of cycles, therefore the airflow isn't smoothly increasing, since it has to keep stopping and starting as valves open and close, but then air is compressible and therefore we get pressure pulsations as stuff happening - it gets too complicted for my little brain, so I try and simplify it back to something more basic that appears to fit the evidence.
As far as the time scales are concerned, and the error that causes, I know for example that I have a log from Friday showing it took 145ms to open the throttle from 0 - 100% on a 0-60 test. Unfortunately I didn't have MAP logging fast enough to be useful. Maybe dnb could enlarge his dyno run which shows TPS and MAP as an example?
But lets do a quick calculation using your numbers. Say we are at idle - 1000rpm and 25kPa, and we 'punch' the throttle to WOT, 100kPa. It takes 200ms to fill the manifold. Thats 0.375kPa/ms. But the manifold filling isn't linear (my dodgy inertia analogy again) - it flattens off as we approach 100kPa, so in reality the pressure rise is greater during the first few moments. Still, lets take 0.375 for now.
Next, lets assume we calcuate the injection PW at 60 degrees before valve opens. At 1000rpm, thats 10ms before the valve opens.
So, 0.375*10 = 3.75 kpa error between the calculation and the actual load at the point the valve opens. depending on where in the cycle we opened the throttle thats up to a 15% error for that injection, before we even consider the additional fuel required for the wall film.
Now there are a lot of assumptions in there I know, but I'm just trying to make the point that although 10ms doesn't sound like much, in engine terms a lot can happen in that time.
I'll try and get some real data to show the effect :)
That's pretty interesting. Never thought about it like that. Today I made a few pulls anyway so I have some datalogs. Actually, I wouldn't be surprised if most ECU's perform the fueling calculation once every revolution. I think only someone from the development team can answer that for us.
Some data for you from a pretty fast roll-on the throttle at 2000rpm:
10% TPS -> WOT took ~430ms
58kpa -> 101 kpa took ~210ms
The gradient for MAP increase is almost linear. Actually looks like a 2nd order system if you ever studied microcontrollers.
This suggests that your assumptions are correct. I actually heard of a system that 'guesses' your manifold pressure based on the TPS sensor data. Could this be why?
Here is the problem i now suffer, sometimes.
Its a funny one. I recon its rich, yet the Lambda reads lean. A missfire dumpuing oxygen into the exhaust giving this 'lean' condition.
Anyway, i narrowed it down to hard acceleration then back off slightly. I experience a flatspot acompanied by regular juddering (missfire) and the LCD reports lambda as ??? (rich) there is also an aroma of raw fuel.
Help please, what can i do to work round this?
(http://freespace.virgin.net/colin.milne/AEissue.jpg)
Quote from: Sprocket on August 27, 2007, 06:58:27 PM
Its a funny one. I recon its rich, yet the Lambda reads lean. A missfire dumpuing oxygen into the exhaust giving this 'lean' condition.
This is one of the unfortunate things about a rich misfire - it does exactly what you have described and shows lean on the lambda trace since the O2 sensor cannot see the raw fuel. Rob has noted a similar effect on another engine, and used an HC analyser to help verify the problem
Looking at your trace it appears that on a tip out you are not using decel fuel shut off or decel enleanment. Therefore you are going rich. Its not clear to me if the step to lean just after this is due to you getting back on the throttle before the full tip in, of if it because you are getting misfire on the overrun.
So, try the following
Perform you tip ins from a longer light load cruise conditions so that everything is stable before you start. This will tell you if the problem is purely tip in related or has some element of the previous overrun involved.
Try using decel fuel cut or reducing the VE table on the overrun load line to minimise the richness during the decel.
The pulsewidth trace for the last tip in is interesting too. Where does that huge increase come from that suddenly drops away (where the '400' is shown). Is this from accel fuel or closed loop lambda or a bit of both? May be worth turning closed loop off for a few tests to see what goes on when you are not involving the controller.
:)
Quote from: antonch on August 27, 2007, 12:15:42 AM
I actually heard of a system that 'guesses' your manifold pressure based on the TPS sensor data. Could this be why?
Yep. We call it 'predicted load' and its calculated based on the TPS, MAP and MAF data, which feed into the aircharge model for the engine to predict the airmass that will be waiting when the valve opens so that we calculate the correct basic fuelling. This is imortant since we complivate things further by hving things like inlet and exhaust fully variable VVT, inlet manifold switching (different lengths), which may (and often do) also change during the transient, so we need to predict their effect before they actually happen. The approach is pretty similar in both DENSO and Bosch systems I've worked with. The additional fuel for changes to wall wetting then comes from a seperate model. This is all fed into the injector calculation along with the target lambda value, and the correct PW calculated.
The nice thing about modern stuff I work with is that they are torque based control systems - i.e. the throttle pedal is 'fly by wire', and generates a request for an amount of torque. We can then open the throttle blade at a rate we choose, normally for driveability reasons to avoid driveline shunt, but that means we can slow down the airpath, hence allowing us to predict the load much better and hence have more control over the fuelling. :)
For your testing, try letting the car drive along at idle in the highest gear it will take (3rd or 4th usually, depending on the engine size/car mass) and then stamp on the throttle. The inertia of the car will hold the revs pretty steady and you are left with purely a load transient. Also try a similar thing, but holding the throttle just out of idle control. Shouldn't be a huge difference butmay be smoother as the ignition timing won't move as you exit idle. At the other end of the scale, try some aggressive throttle blips out of gear, but be careful with your rev limit - use the rev limiter if you can to protect the engine.
Cliff, over run fuel cut is switched on, just not bellow 2000rpm
over run Lambda set to 1.00, but dont forget that there is a huge wall film on the TBI manifold, so sudden negative throttle changes will caus a rich period.
The first event you can see i backed off so the missfire period was short. the second event i did not back off, and drove through it. EGO only comes back on at the end of that large PW event.
RPM is high at 4500 at the point of acceleration and my thought is that the fast throttle rate activating the largest AE bin,TPS going from 14% to 58% and MAP going from 14kpa to 95kpa. The large PW event is the same duration as the set duration period, yet the PW is too much. The car drives and feels excellent other than this and its not every time, maybe could do with a little more PW on some acceleration events, but its not too far off, I get close to getting it sorted and then it starts going te other way with no happy medium, LOL.
I think i may revisit the AE bin numbers, the 2 7 20 and 40. I dont think the 40 is big enough resulting in this situation?
Can only do but try
When you talk about deceleration enleanment, where do I configure this, i cannot find anything in Megatune to do such
40 is the speed at which you open the throttle, I've been told that this is already a faster rise than you'd ever see, the values suggested provide a spread of breakpoints that should provide a tunable range from slow throttle opening (across bins 1 to 5), medium (5 to 20) and fast (20 to 40), anything faster than 40 will be enriched with the value at 40
There is no decel enleanment in the current firmware, such a thing did exist but badly configured systems caused more problems with lean running (and suggested that damage could be done to an engine) that it was dropped in favour of the overrun fuel cut.
It has been suggested that you will see some improvements with the accel enrichment in 1.1.26 which I can convert your configs to and test on my test bench.
Right then, a quick log I took today especially for you guys ;)
I'm slightly nervous about posting it, as it may well create as many questions as answers, but here goes.
This is an aggressive throttle blip from idle with the car fully warm and in neutral. Its a large capacity V engine with a supercharger, and using the latest generation DENSO EMS with full torque based control. The channels are logged at a 1ms rate, which in the case of the throttle and pedal signals is actually faster than they are being processed (the raw input is seen quite quickly but the % converted variable that I chose to log is updated every 8ms, hence the steps)
(http://i36.photobucket.com/albums/e8/cliffb75/VEMS/Throttleblip.jpg)
The important bits.
This was about as fast as I could stamp the pedal. Closed to fully open takes 70ms
The time to get from 30kPa to atmospheric pressure is around 200ms, but....
There is a significant delay (around 90ms) before anything happens in the manifold
This means that the fastest rate of change of MAP is actually around 1kpa/ms
The engine speed has barely risen from idle speed before the MAP has reached atmospheric.
Now the slightly more tricky bits....
The throttle plate initially opens to 20% very quickly, and then holds at a level. In fact, you can see that this doesn't have a significant impact on the MAP at first. This is your introduction to the concept of 'effective wide open throttle', which means that at low airflows you only need to open the throttle a small amount for it to stop being a restriction. In this case 20% is effective WOT, and anything over this makes no difference. As revs and MAP begin to rise, so the throttle is required to open more in order to avoid choking the flow, which you can see it doing. The EMS does this in order to minimise response time to keep the best control - i.e. if the pedal is released again the throttle will instantly start to close and be a restriction, rather than having a 20 or 30ms delay. This is important for things like auto box gear shifts or traction control events where torque has to be reduced and reinstated very quickly and accurately to be 'seamless'.
Once things get moving and the engine speed starts to rise you can see the charger starts doing its stuff and boost increases past atmospheric. But the really difficult bit (for transien fuel comp) is past by now, so we don't really care (hence I've cropped the log).
Lastly you can see the MAP curve, and how it takes a bit to get going (inertia) and slows down as it approaches atmospheric (less delta P). However this is all a bit clouded by the throttle moving and the charger being attached, so this is by no means the same shape of curve for every engine. Upstream pipework, throttle size, plenum and runer volumes etc will all play their part in the particular shape of this curve for your engine.
So if you perform that same test with PW and lambda being logged, having already measured the lambda transport delay so that you can offset it correctly, you can look at calibrating transient fuelling in the most logical way :)
Hope thats useful :-\
That's how I've been trying to do it, but usually working without too many tools... ;)
(In the graphs I've posted, I haven't corrected for the lambda transit but I do know what it is)
It also explains nicely why the TVR is much happier when you are more gentle with the throttle and why my friend's extremely modded Griff totally changed (for the better) when he fitted bigger springs to close the throttle quicker.
Plenty to think about...
Here are pretty much the "base" values that I am using. Found it on a vems wiki page. They weren't perfect but they worked to the point that I hadn't had to tweak them yet.
dv/dt %of req_fuel
2 0
5 10
20 20
40 40
Then I set my duration to ~1.5ms. As someone pointed out, that value is probably actually in seconds though.
Using these generic values on a base tune is much better than a lean condition while tuning, that's my opinion though.
The amount added is not in %, it addad pulse width so your 40 is an added 40ms pulse width
Yes i too realised that the duration was in seconds, but i remember cliff or dnb saying something before i realised this, so at least i had it in the back of my mind.
In comparison, the addad PW values i am using at 1.2s duration are 0.1, 0.2, 0.7 and 3.0, so it realy does depend on the required fuel calculation
You enter the amount in ms in MegaTune. To get those numbers, you take a percentage of req_fuel. If your req_fuel is 10ms, 10% of that is 1.0 ms.
Quote from: Sprocket on August 29, 2007, 11:24:36 PM
The amount added is not in %, it addad pulse width so your 40 is an added 40ms pulse width
Yes i too realised that the duration was in seconds, but i remember cliff or dnb saying something before i realised this, so at least i had it in the back of my mind.
In comparison, the addad PW values i am using at 1.2s duration are 0.1, 0.2, 0.7 and 3.0, so it realy does depend on the required fuel calculation
Oopsie, sorry :-[, i see where you are coming from :), though confusing at first ::)
Still depends on how you have set the Required fuel calculation, if like me you have halved the required fuel and doubled the VE entries, you need to double the values if using the method above.
just for refference.
:thumsup:
Revalation :D
I now see what this all means now :-X
http://www.megamanual.com/v22manual/mtune.htm#accel