Originally Posted by DNMakinson
1) In the VE table you posted above, is MS fueling equation, "Include AFR", or is the enrichment included in the table.
You know, I forgot about that setting. I just checked and it's on. The AFR target table is in mid 11's under boost, but closed loop authority turns off once it gets out of what I'd consider cruising boost range.
If I had thought about it earlier I would have just turned turned include AFR off, but the numbers are working out right now and there's no sense in going through the work of turning it off and messing with it. I never touched the AFR target table in that area, so by my understanding those are just constant multipliers and not having a big effect. To a certain extent it doesn't matter insofar that you want a final result and they're all just multipliers.
I don't use autotuning functionality either--not that it doesn't work, but you need to filter a lot of crap data out to not get craters in your VE map. You can manually tune a few cells and interpolate everything else if you understand the engine's response curves to various factors.
I've seen remarks about having a very smooth VE table. The vast majority of this table was extrapolated and interpolated. It took about an hour to make this table initially on the street, and then about an hour and a half for final tweaking on the dyno. It was created by me using a sort of simplified Design of Experiments method mostly performed in my head and in MS Tuner Studio.
Design of experiments is kind of a catch-all thing, but it's a way to drastically cut down the time and effort needed to tune something. It's used on the OEM level. There are a gazillion combinations of air, fuel, spark, etc parameters that can be used under any engine condition. So for a VE map, what you do is tune certain cells and take what you learn to train a model of the engine. The model then populates the rest of the cells. Commercial software like ASMO by ETAS will do this for you, and much of it is designed for engine dynos in expensive labs. In your own mind, you just have understand sensitivity of the engine to certain parameters and use that to help you interpolate and extrapolate.
What I did was this:
1. Scale even breakpoints in as much of the map as possible. This is important. It's to keep from having the interpolation produce wacky values. It's different from the "have fine resolution in a certain area" approach. So I might go in even 500rpm steps for the speed axis as much as possible, and only change spacing once if that's needed at all.
2. Tune a few cells in the low load and cruising range. You can use auto tuning if you want to, but you have to hold the engine pretty steady at the speed and load. It's easiest with a loading dyno but that's often not an option.
3. Tune a few cells in the low boost range.
4. Figure out % difference in fuel requirements (VE values) between cells, trying to hold boundary conditions consistent (similar charge air temperature for example). This is the key. Ever used a boost compensation table in AEM EMS? It works off this principle.
If I need 55% VE at 2500rpm and 50kPa MAP to achieve a 14.0:1 AFR, and I need 58% VE setting at 3000rpm and 50kPa, what does that tell me? 58 divided by 55 is 1.05 . So if I take all my values at 2500rpm, copy them into 3000rpm column, and multiply by 1.05, I now have a smooth transition in VE with rpm.
It's actually easiest to do this with RPM, because the cylinder filling is directly related to the intake valve closing timing, and a normal even-fire I4 engine doesn't have too many weird exhaust tuning effects.
With boost, well I am now answering the question - if I go from 100kPa MAP to 110 kPa, what is the percent difference between the two values? I go ahead and tune 2500rpm at 100kPa and 110 kPa to say 13:1 AFR. I get 80% VE at 100kPa 81% at 110kPa. Divide the two numbers, and I get 1.0125 . So if I want to keep the same AFR, I can estimate that I need to add 1.25% fuel per 10kPa of boost. So I take all the VE values at 100kPa MAP, copy them to 110kPa, and multiply by 1.0125 . Take that new set of values, go to 120 kPa, paste them in, multiply by 1.0125.
Now here's where it gets tricky. We know we want to get richer with boost eventually, so it's easiest to bias the slope of the VE table. I may take my values at 140 kPa, copy them to 150 kPa, and multiply by 1.02 . Now I'm biasing rich.
You jump back and forth among actually capturing datalogs, adjusting VE vs RPM slopes, and adjusting VE vs MAP slopes. I pretty much do it in my head because I've been doing it for a long time. There are more meticulous ways to do it.
So then you go look back at your VE table and do the following checks:
1) does my VE increase with rpm, up to the point of best cylinder filling according to the valve timing? If it doesn't, I'm going to get lean spots. On this stock 1.6 Miata cam, best cylinder filling is at about 4500rpm. Later intake valve closing timing (longer duration cam or more retarded intake cam phasing on VVT engines) changes the point of max cylinder filling. After that rpm, VE should be flat or start to go down. if it doesn't, you will go rich.
2) does my VE increase with MAP? If it doesn't, I'm going to get lean spots. It should get richer (VE # % increase higher) at a faster rate as you get into heavier and heavier loads. This accounts for airflow from the turbocharger.
3) If I drive around without wideband o2 feedback, is my AFR jumping around like crazy? if it is, you probably have too many dips in the VE table.
4) If it's smooth with O2 feedback off, but AFR's get jumpy with it on, look at your AFR table setpoint and look at your controller games. I usually tune the gains for slow, steady response, with a smaller P gain
2) In either case, what AFR targets are you shooting for?
It's working out to be a flat 11.0:1 at full boost. Now, that's not because I am strongly wedded to that. It's just that the resources aren't available to do a more detailed study of optimum AFR for this engine, and a certain safety factor needs to be incorporated in.
Question 2 is of interest to me mostly because we have lots of conversations here with some successful tuners using a somewhat lean approach, and other a somewhat rich one. The question is important because a dyno tune that is set up to hit the targets presumes those targets.
Question 2 also because I see in step 4 you tuning spark for max torque, but I don't see that in step 2 for fuel.
It just depends how much time you want to spend, and what your assumption for AFR drift over time is going to be. I usually assume 0.5:1 fluctuation throughout a year's worth of driving in 4 seasons. You can get it tighter than that if you have load-based air density correction, to account for things like the "I stopped at 7 Eleven for a Slurpee and my manifold air temp sensor is now heatsoaked" scenario.
The engine held up to a bunch of Tail of the Dragon runs before it ever made it to the dyno, so I consider that a success. The more engines you have to mess with the more you can study these factors, because you're not afraid to blow one up catastrophically or wear it out by beating on it. Race teams might have a couple engines, and OEMs have dozens if you include all the development phases.
For example, take knock control. Severe knock is obvious, but at the margins, Knock control is pretty much one guy's opinion on how much is too much. That applies whether you are using detcans, microphones, the naked ear, cylinder pressure traces on an oscilloscope, or calculated knock metrics from cylinder pressure (knock peak and intensity).
I've done knock sensor studies before and you really need to go through a whole procedure just to set the knocking frequency and the placement of the sensors. Then you need to set the gains and the knocking thresholds.
This really has to be done initially on an engine dyno by inducing knock in the engine and comparing accelerometer data, cylinder pressure data, and knock sensor data. You can't do that on your home project. The resources aren't available. So maybe you go off what somebody else's frequency is, and you look for spikes or unusual knock activity, or you attempt to tune with detcans. You could even induce some knock on a loading dyno at low speeds at least where it's less risky. Even then, you gotta make a judgment call.
Hope that helps. Just remember that there's physics and then there's the fudge factor built into the tune. You have to be able to understand and mess with both.