Our VIP Package gets you every single course at 80% off the individual price. For a limited time, save an additional $100 with coupon code 100VIP. Learn more

Practical Reflash Tuning: Steady State Tuning

Watch This Course

$229 USD

Or 8 weekly payments of only $28.63 Instant access. Easy checkout. No fees. Learn more
Course Access for Life
60 day money back guarantee

Steady State Tuning


00:00 - While in many instances when we're re-flashing a factory ECU we're going to be able to concentrate solely on performing wide open throttle acceleration tests which we'll be looking at shortly.
00:11 In some instances, particularly when we're looking at rescaling a mass air flow sensor, correcting our calibration for a different set of injectors, or when we're calibrating a virtual volumetric efficiency or speed density subsystem, we are going to need to adopt some different driving techniques and that's what we're going to look at here.
00:32 What we're going to look at is how we can use the technique of left foot braking that we've just seen in order to help us calibrate a mass air flow sensor or speed density system.
00:43 Now before we head out on the track, let's just talk about what we're going to be achieving here and we'll also have a look at the scanner set up that we've got configured for this task.
00:53 We're going to look at two separate aspects.
00:55 We're going to look at how we can use our driving techniques for our mass air flow sensor calibration.
01:01 And then we're going to have a look at how we can use our driving techniques for the speed density subsystem.
01:08 So let's have a look at our VCM scanner.
01:10 And what we're going to be doing is using our equivalence ratio error, mass air flow sensor histogram or graph.
01:17 And what this is going to do is fill our histogram with any errors we've got between our commanded lambda or air fuel ratio, and our measured lambda or air fuel ratio.
01:28 So what we want to do here is head out on the road or the race track and we want to fill our histogram with as many sites as we can actually reach.
01:37 And this is going to require a combination of varying throttle position and varying engine RPMs so we can move through this.
01:45 Now just as we looked at on the dyno, I prefer to fill out this table in two ways.
01:51 First of all under closed loop operation or where the PCM is commanding an equivalence ratio or one or an air fuel ratio of 14.7 to 1.
02:01 And once we've done that we can look at performing some wide open throttle ramp runs in order to gather data in the power enrichment state.
02:11 Let's head out on the track and see how we can do this.
02:14 Now any time we are gathering data on the road or the race track, it's always a good idea to allow the engine to run for a period of time in order to get up to normal operating temperatures.
02:26 Particularly when we're re-flashing, what we find is that when the engine's sitting stationary and the bonnet or hood is closed, we're going to find that the engine will suffer from heat soak.
02:38 What this means is the engine coolant temperature, the intake air temperature and even the fuel temperature can be some way away from what we'd see under normal operating conditions.
02:50 So it's always a good idea to allow the engine to operate for a few minutes to get everything back down to the normal sort of operating temperatures that we'd realistically expect to see.
03:02 So at the moment we can see that our engine coolant temperature is sitting at 95 degrees centigrade and we can see our intake air temperature is sitting at 24 degrees.
03:13 So just continue to circulate.
03:15 When we're doing this though, what we want to do is once we get to a point where we're prepared to start scanning and making us of our data, it's always a good idea to reset the scanner so we're not going to be taking account of any of the data that we have collected while the engine has been heat soaked.
03:33 Alright so we're getting down to 93 degrees centigrade and 22 degrees intake air temp now so what I'm going to do is I will stop the scanner and restart it.
03:44 Now when I'm performing this sort of testing, I always want to start with as low a load or air flow as I can.
03:52 I want to come all the way down in the air flow and then move all the way through.
03:57 So at this point what we're looking at doing is filling this table in with as much data as we can but remember we want to fill this data in without the engine operating in power enrichment so we always want to be operating with our stoichiometric AFR target.
04:16 So when we're doing this, I tend to use a combination of a little bit of left foot braking to help control my engine RPM.
04:24 And a little bit of variable throttle to help adjust the engine load.
04:30 So what we want to do is move through here, in this particular case out to around about 5,500 hertz.
04:37 And what I'm doing is just allowing the engine RPM to come up now to about 2,000, I'm just barely touching the brake pedal.
04:45 And you can see we're out to 3,900 hertz.
04:47 I'm just going to apply a little bit of brake and a little bit of throttle.
04:51 And you can see that we're now moving out to about 4,400 4,500 hertz.
04:56 And you can see that at this point we've got a slight error as well.
05:01 We're slightly leaner than our target.
05:04 I've just got a corner coming up so I'm just going to slow back down.
05:06 And it's always important when we're doing this to maintain smooth throttle opening so that we're not bringing in any transient acceleration enrichment that can affect the accuracy of our data.
05:19 So we'll just come through now we're coming up to 5,100 hertz.
05:25 So just being again very smooth on my throttle application.
05:29 Alright we're through to 5,550 hertz so I'm just going to stop the scanner there.
05:34 Let's come back to the pits and we'll be able to talk about those results.
05:38 Okay so we're back in the pits now and let's look at our data.
05:41 You can see that we've got data in our histogram from around about 1,950 hertz all the way through if we move out to the right, out to around about 5,550 hertz.
05:54 So this generally covers the area that we know this particular engine is going to operate in under normal operating conditions when it's in closed loop mode.
06:03 So we can see that we've got a little bit of error here and we can correct these errors, we can use this data to correct these errors as we've already looked at in the dyno tuning section of the course.
06:16 When we're looking at this data though, it's always worthwhile clicking on the count icon just to see exactly how many counts we've got in each of the cells.
06:25 And if we move through, you can see that the minimum we have, 2,550 hertz we had only 57 counts.
06:33 Generally my rule is to have at least 50 counts in any particular cell so that we know we've got smooth and consistent data that we can rely on.
06:42 Let's go back and actually have a look at the values.
06:44 The other aspect that we want to take note of though as well when we're gathering this data on the road or a race track is we're looking for smooth transitions between adjacent cells here.
06:56 So you can see that all of the data that we've collected here is relatively consistent so particularly up to 2,850 hertz we can see that our data is all within about half a percent.
07:08 So we're not seeing any dramatic changes from one cell to the next.
07:11 And in fact the biggest change we've got here is around about 1% between two adjacent cells.
07:18 So again this tells me that my data is good.
07:20 It's sound and I can rely on it.
07:23 Okay so now we've seen how we can gather data in steady state using the left foot braking technique to vary our engine RPM as well as the throttle to vary our air flow.
07:33 We've transitioned through the area that the engine is going to operate in under closed loop mode.
07:39 We're gonna head back out on the track and we're going to do a full power acceleration test to gather some data under wide open throttle.
07:46 Let's do that now.
07:48 Okay for this particular test I'm going to use third gear.
07:50 I'm just coming up to the longest section of straight on our race track.
07:54 So we're just going to start our scanner now.
07:57 I'm gonna come around on to the straight and I'm going to go through to full throttle from about 1,500 RPM and smoothly accelerate all the way to the rev limiter.
08:06 So let's do that now.
08:16 Okay so that's our acceleration test finish there.
08:19 I've just stopped the scanner and we're going to go back to the pits and have a look at the data and see how we can interpret that.
08:25 Okay so first let's look at our data in our chart recorder.
08:29 And we can see our engine RPM at the top of our chart.
08:32 So you can see there at the point where I first went to full throttle which is around about here, we were at just below 2,000 RPM and you can see that I accelerated all the way through to 6,200 RPM where the engine hit the rev limiter.
08:46 So what we're interested in here is our measured air fuel ratio versus our commanded.
08:52 And in particular you can see there at low RPM we do have some discrepancy.
08:58 In fact our air fuel ratio is a little bit leaner that our target.
09:02 This is what we're trying to correct here anyway.
09:05 Now let's bring our equivalence ratio error histogram across and we'll have a look at what data we've got in this and how we can interpret it.
09:14 So if we move across into the area that we actually gathered data, remember what we're interested in is the area above 5,550 hertz, which is where we filled our scan data in to last time.
09:30 So we can see that we do have good solid data now all the way through to 9,750 hertz.
09:37 And again what I'm looking for here is consistency and smooth changes in the values, particularly if we've got any really irregular changes here, this may indicate that our data is not particularly solid.
09:52 In this case, there's couple of areas that I would have concern for in terms of their accuracy.
09:58 You can see if we look at 8,100 hertz, we have an error of 11.1%.
10:03 And when we get to 8,250 hertz we have an error of 0.65.
10:08 So a jump like that of 11% essentially between two adjacent cells is not particularly likely or not particularly believable and this may represent an error in our data which may require us to repeat our exercise until we've got smooth consistent data.
10:24 We have exactly the same sort of issue happening between 7,650 hertz and 7,800.
10:30 We see again we have a 10% jump.
10:32 It's always useful when we've got an error like this to just have a look at our counts and see how many counts we had in each of these cells.
10:40 And you can see part of the reason for the irregular data is we have got quite a low count number in this case, 28 counts at 7,650 hertz and 34 counts at 7,800 hertz.
10:54 So this can become an iterative process, particularly if we have sort of data like this where we do have some irregularities.
11:02 Another aspect that's worth considering, we need to understand is what data we can use.
11:08 And remember we've already looked at the area in closed loop where we're commanding an air fuel ratio of 14.7 to one.
11:15 We have data already up to 5,550 hertz and you can see particularly in this data set, we have data that comes down to 4,500 hertz.
11:26 Remember we started our scanner before we went to full throttle.
11:30 And as you can see here, in the area at 5,400 and 5,550 hertz, we have a very large error which shows that we were much leaner than our target.
11:42 So we want to disregard this and I'm going to show you why.
11:45 If we have a look at our chart again, what we can see is in the area where we first went to power enrichment or went into power enrichment, if we look at our commanded air fuel ratio, this drops to 0.80 lambda.
12:00 However there is a bit of lag or latency in our measured air fuel catching up.
12:04 And this is always what we're going to see as the engine transitions into power enrichment.
12:09 So what this means is that across this area we're going to end up with an unrealistic error while the air fuel ratio catches up.
12:17 And this is what causes those large errors that we saw in our histogram data.
12:21 This is important to understand how to interpret them and important to understand that we need to ignore these errors.
12:28 If we want to see whereabouts these errors were occurring, we can always look at our mass air flow sensor frequency which is in our parameter list on the left.
12:37 And you'll see that at this particular point that matches 5,479 hertz and if we bring our histogram back across again, we'll see that that's exactly where our large error is, right at this particular point.
12:52 So in this particular case, I'd be using the data that we've gathered here from about 5,700 hertz and above.
12:58 Now if you do end up with any gaps between the data that we collected in steady state and the data we collected under power enrichment wide open throttle operation, we can simply extrapolate any errors we were seeing to fill in our entire MAF calibration.
13:16 Now we're going to have a look at how we can calibrate and tune the speed density system or our volumetric efficiency tables using the road or race track.
13:25 Now here the technique we're going to use differs a little bit from what we saw on the dyno.
13:30 And the exact technique will depend a little bit on the engine you're tuning.
13:36 Now why I say this is as we've already seen on the dyno, as well as where we've just gone through our mass air flow sensor calibration on the track here.
13:45 As the engine or the PCM moves from closed loop mode with an air fuel ratio target of 14.7 to one, into power enrichment, we're going to momentarily see a large error while the measured air fuel ratio plays catch up.
14:02 There's always a lag or a latency there.
14:04 Now this is going to have a dramatic effect on the usefulness of the data that we're gathering using our histogram or graph out on the road.
14:14 So what I want to do here is approach this in two different ways.
14:18 And what we're going to do first of all is essentially prevent the PCM from moving into power enrichment mode.
14:25 And this is going to mean that we're always targeting lambda one or our stoichiometric AFR and we're not going to get that error as the PCM transitions into power enrichment mode.
14:38 Now before I talk a little more about that, let's see how we can achieve this.
14:43 In our VCM editor software here, if we come to the power enrichment tab, we can see that we have our power enrichment enable parameters.
14:53 So in this case what I've simply done is I've set our manifold absolute pressure enable to 200 kPa.
14:59 And my engine RPM enable to 8,000.
15:03 So essentially this means until we achieve more than 200 kPa manifold pressure and 8,000 RPM, there is no way the PCM can transition into power enrichment.
15:15 So this means we're always going to be targeting lambda one.
15:18 However there is a little bit more to consider here, because running with such a lean air fuel ratio under full wide open throttle operation with high boost pressure for our supercharged engine could potentially be dangerous.
15:31 So we need to apply a little bit of common sense here.
15:34 And what I'm going to do now is scan some data out to the point where the PCM would naturally progress into power enrichment anyway.
15:44 Which as we've seen is around about 130 kPa.
15:47 So this allows me to fill in most of my histogram with a consistent steady air fuel ratio target.
15:57 Let's head out on to the track now and we'll see how we can fill in our histogram.
16:02 As usual we want to start by allowing the engine coolant temperature and intake air temperature to reach our normal operating conditions.
16:09 And then we can simply drive the car and fill in as much of the histogram as we possibly can.
16:15 Now again for our supercharged application what I'm going to be doing is filling this particular histogram in out to about 125 130 kPa.
16:26 So beyond this we would be running in power enrichment.
16:28 And we'll be filling that in with our power enrichment active.
16:32 Remember at this point we won't be able to transition into power enrichment.
16:37 So all I'm doing is driving the car normally.
16:39 In order to fill in more of our table though, we can use out left foot braking technique.
16:45 And that's going to allow us to control our engine RPM as well as our load.
16:50 So you can see at the moment we're down at 1,400 RPM, just using a little bit of brake pressure.
16:55 And we can use a little bit more throttle in order to get us up to, in this case, we're sitting just on 125 130 kPa.
17:05 So by manipulating our throttle position as well as our brake pressure, you can see that we can fill in the histogram just about as completely as we could when we were on the dyno.
17:17 So I'm just going to continue filling in our histogram.
17:20 And I'm just using a combination of varying my engine RPM as well as my throttle position in order to allow me to drive through and fill in as much of this histogram as I possibly can.
17:32 And again remembering we're just wanting at this point to transition up to around about that 130 kPa.
17:39 At the point where we know that we would be transitioning into power enrichment normally.
17:45 So let's just fill in a little bit more of the table now.
17:54 Okay so now that we've got a reasonable amount of data gathered, let's go back to the pits and we'll talk about how we can use that data.
18:01 Okay now that we have gathered some data in steady state and we filled in most of our histogram up to the point where we're transitioning into power enrichment, we can come back into our VCM editor and we're going to revert to our factory settings for our power enrichment enable.
18:16 And this is just going to make sure that our PCM is able to transition back into power enrichment.
18:23 We're going to go back out on the track and we're going to look at filling in the rest of our histogram under power enrichment and under wide open throttle.
18:30 So let's flash this calibration into the PCM and head back on track.
18:34 Once we've got our engine back to normal operating conditions, we're going to perform a full throttle acceleration test.
18:41 Now in this case, it's not much different to what we've already looked at in our MAF scaling.
18:45 We're going to do a third gear acceleration test from as low down in the rev range as we possibly can, right the way through to the rev limiter.
18:52 And this is going to fill out as much of our histogram as we possibly can.
18:56 Again when we do this we want to smoothly roll into the throttle and we want to do this on the longest part of the track possible so that we don't need to worry about our terminal speed.
19:07 Now we're going to start the scanner just before we roll into the throttle.
19:12 So let's get that done now.
19:14 We're just coming down to third gear.
19:16 And I'll just start my scanner.
19:18 We're down at 1,500 RPMs.
19:20 Just coming on to the straight now.
19:22 And we'll just go to full throttle.
19:37 Alright so we've got some scan data.
19:39 Now let's go back to the pits and we'll have a look at the data as well as what we can use it for.
19:44 Okay let's start by looking at our charts.
19:46 We can see in our engine RPM here.
19:48 Went to full throttle at around about 1,700 RPM and you can see we've accelerated smoothly all the way through to 6,200 RPM.
19:57 What we're looking at here or what we're interested in is our air fuel ratio and how closely that's matched our target.
20:04 Now we want to also take note of this area here where there's a little bit of delay again in our air fuel ratio matching our target.
20:12 We want to ignore the data here because it won't be accurate.
20:16 So we can see that we want to really start taking notice of our data from about 2,000 RPM.
20:22 Let's bring our histogram over and we'll have a look at that now.
20:27 So again if we look at our data at 1,800 RPM, this is the area where we've transitioned into power enrichment and we have that large positive error and this isn't very real so we want to make sure we ignore this particular piece of data.
20:43 So we want to really look at our data from, in this case about 155 kPa and 2,000 RPM and above.
20:50 We can see that while in the higher rev range our air fuel ratio is relatively close to our target, we can see that at lower RPM we do have some error that we're going to want to correct.
21:03 So what we can do now is use this data and we can apply this to our volumetric efficiency table to correct any errors.
21:11 In this particular case, particularly because of the relatively small amount of data, rather than using the paste special function, and hand picking the areas so we don't end up using any of these large unrealistic errors or at the same time if we move across to the right hand side, we can see that we have again some unrealistic errors being shown here as well at 6,000 and 6,200 RPM.
21:37 We're more inclined to apply any error that we see in our histogram by hand to our virtual volumetric efficiency table.
21:45 And at the same time what we're also going to do because we know now we have data at, in this case let's say, 170 kPa and above, and we've tuned in steady state with our stoichiometric air fuel ratio target out to about 135 kPa, what we're going to do is fill in the blanks.
22:07 So in this case we're going to have some areas between about 140 kPa and 165 kPa where we haven't got any scan data.
22:16 What we can do is hand blend the errors that we were seeing to keep a consistent shape to our virtual VE table.
22:23 With a well tuned volumetric efficiency table we should expect a consistent and smooth shape to that table.
22:31 So once we've applied these changes we can flash the changes into the PCM and gather some more data.
22:38 Just as we saw on the dyno, we're not going to be able to correct out errors with our speed density system in one attempt.
22:45 In general it's going to take two or three attempts of scanning data, applying these changes to our VE table and then testing again until we get to a position where our error is very close to zero.