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

Variable Cam Control Tuning: ECU Configuration

Watch This Course

$149 USD

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

ECU Configuration


00:00 - In this module we're going to walk through some of the configuration steps required when we're going through the process of configuring our ECU.
00:08 And this is going to be relevant for those of you running continuously variable cam control systems as well as switched cam control systems and there are some significant differences between the setup options for both but we'll go through those.
00:21 For the purposes of our demonstration I will be using the Haltech Elite ESP tuning software and of course every tuning software is going to be a little bit different in the way they present these options and what specific options are available.
00:35 But this will give you a reasonable idea of the process involved.
00:39 Of course as we move into our library of worked examples, you're going to be able to get a little bit more specific with different systems.
00:46 Regardless though what we're going to learn in this module should be applicable to the wider range of ECUs.
00:53 So let's get started, we'll jump into our ESP tuning sofware.
00:57 At the moment we're on our main tuning tab and we're looking at an ignition table but what we're going to actually do is look at some of our setup functions, we're going to start by going to our main setup menu.
01:08 Now I'm going to start by looking at our trigger setup and this is relevant specifically for our cam control continuously variable cam control engines but of course we're going to need this done anyway, regardless of the type of engine we are tuning.
01:23 So to do this, we're going to come up to our engine options and then we're going to move across to our trigger tab which we can see here.
01:31 Now the trigger configuration or the main trigger configuration which is our trigger type, we can see here we can select this from a drop down menu.
01:40 If we open up that menu we can see that there is a reasonably extensive selection for a wide range of engines and this is again pretty common, this is what we could expect from most aftermarket ECU manfacturers, they're trying to make our job easy so for a lot of common engines they've already done the hard work of decoding the trigger pattern and once we do this, all we need to do is select that trigger pattern and everything's set for the ECU to understand the information that's coming through.
02:08 In this case our option that we are using here as we can see is Subaru EJ25 WRX, model year 06 so there is a little bit of variation here because we are actually running a Japanese domestic market EJ20 in this particular Subaru STi.
02:26 However what's relevant for our application here is that the trigger pattern is the same this is a quad AVCS which is Subaru lingo for continuously variable cam control engine.
02:38 If you're ever unsure of the specific trigger mode for your particular engine, then you can always contact your ECU supplier and they're going to be able to give you the information on what trigger mode to use for your specific engine.
02:52 So we've got our main work done here, we've got our EJ25 trigger mode selected so that's already set up our Haltech Elite to expect information that is relevant to quad variable cam control.
03:05 Moving down we have a little bit more information that we do need to set up here and this is really more specifically around general trigger mode setup, if you need more information around this then our Practical Standalone Tuning course covers this in much more detail than I'm going to do here.
03:21 But here for our trigger signal, our RPM input we have the sensor type so this is a reluctor sensor and we can also choose the trigger edge and we talked about this earlier in the course as well so we've got our falling edge which would be typical so that's going to make sure that we aren't going to get timing drift there if our pattern is incorrect, our trigger edge is incorrect.
03:43 We've also got in Haltech lingo here the home signal or synchronisation as it's often called and this is the engine position information.
03:52 And this also gives the ECU information about the cam position for the camshaft that this particular signal is coming from.
04:03 So we can see that this particular sensor is a hall effect sensor and we are triggering off the falling edge there.
04:11 Because it is a hall sensor, we have got the pull up enabled, otherwise we're not going to get a valid signal from this.
04:19 This setup alone should be enough to get our engine up and running, we should be getting synchronisation information, we should be able to crank the engine and see RPM and the ECU should be synchronising properly.
04:32 And that's going to confirm that we've got that information set up correctly.
04:36 Now that we've got our trigger setup done we're going to move down to our functions here in the menu structure and we're going to look at what we would need to do to set up the rest of our cam control.
04:49 So what we've got here is the cam control function.
04:53 We can click on that and that's going to give us all of the setup parameters around the cam control.
04:58 If you haven't already selected cam control as a function, then you're going to need to enable that first and you can do that by coming up and clicking on the add/remove functions and you can choose cam control and enable it.
05:11 I've already done that there so we start with our wiring tab and we can just work through this in order, that gives us a nice sensible workflow.
05:19 First of all we've got our options here so number of banks.
05:22 Pretty straightforward here, we're running a Subaru engine which is of course a boxer or horizontally opposed engine so we have 2 banks of cylinders, we've selected that.
05:31 Then we have our mode so we can have intake only, exhaust only or intake and exhaust, this is a quad variable cam control engine so obviously intake and exhaust is what we want to select.
05:43 Next we also have the option here of number of solenoids per camshaft.
05:47 It is most common that we would use one solenoid or actuator for a camshaft but certain engines do use an advanced and a retard solenoid so that will be dependent on your setup there.
06:00 Let's just move this up a little bit and we'll make the box a little bit larger so we can get a better idea of what's going on here with our wiring setup 'cause there are a few setups we need to go through here.
06:12 So first of all working down in order, we can see here that our intake cam one input which is our cam position for our intake cam one, where that's coming from and we can see that that is the home input which is what we've just looked at, in other words our synchronisation input as I mentioned, this does 2 tasks here in the Subaru engine, it gives the ECU information about the engine position, so which particular cylinder is firing at any time, critical for sequential fuel injection and direct fire spark but in this case it's doubling its duties here as also giving cam position information.
06:49 Now that's not always going to be the case, some engines provide both an engine synchronisation or engine position input plus a cam position sensor so it's just going to be specific to your engine there.
07:02 We then come down to our output for that particular cylinder, that particular camshaft I should say which here we can see we've got our cam one output, intake cam one output is on our injector 7 ouput.
07:15 Again the specifics of this will depend on the output you're using in the ECU.
07:21 Most of the time there will be auxiliary outputs that you can assign for a cam control solenoid or actuator or alternatively unused injector or ignition outputs can often be used as well.
07:35 It's important to also mention here the active state so whether the state when the solenoid is active is going to be low, that would be most common so it's going to be switched to ground or whether it's going to be switched high.
07:47 So the way these actuators work, one side of the actuator is wired to a 12 volt supply and then the ECU pulses the other side of the actuator to ground in order to activate it.
07:56 So we'll move through here, we've got our intake cam 2 input so cam position for our other intake cam.
08:06 So we've got that wired up here to SPI2 on our Haltech Elite.
08:10 We then need to set this up so this again needs to be specific to the input we have here a hall effect style sensor triggering on our rising edge, because it is a hall sensor we have our pull up enabled.
08:24 The rest of the process from here is really a rinse and repeat, we can see we've also got an actuator output assigned for our intake cam 2 and then we've got the same options available for our exhaust cam 1 and exhaust cam 2 inputs and outputs but essentially once you've got the process down it is just a case of assigning an input to the cam position and then assigning an actuator output for the cam solenoid.
08:51 Now it's also worth mentioning here as we discussed in the body of the course, particularly for a reluctor sensor, polarity is important.
09:00 If you've got the option and a lot of aftermarket standalone ECUs do these days, you can always do a trigger input capture which is essentially a built in oscilloscope and that will allow you to visualise all of those cam position inputs and make sure that regardless whether you're using a reluctor input or a hall sensor, that you're triggering on the correct edge and everything is working properly.
09:24 In the Haltech Elite we don't have the benefit of the trigger scope function so we can't do this, we could of course hook up a oscilloscope to the ECU and see what those signals are doing.
09:36 The other alternative though is with the cam control inactive, so our solenoids disabled, what we can do is start the engine up and we can watch what the cam position is reporting as we increase the RPM and it should be relatively stable, that's going to give us an indication that we don't have the polarity of those reluctor sensors around the wrong way.
09:59 Now that we've got our input and output set up correctly, we're going to move across to the next tab which is our cam control tab.
10:05 This gives us the ability to control some of the high level functionality of our cam control system.
10:12 So starting here we can define the maximum rate of change of our cam target so in this case we see that that's set to 90° per second and this is just to try and help the mechanical system keep up with our changing cam target and again if we've got sensible cam targets in our map, this is going to become less of an issue.
10:33 We've next up got our intake cam frequency so again this is going to be specific to the engine that we are tuning, the actuator, somewhere between 200 and 300 Hz as we've already talked about in the course is going to be pretty typical.
10:49 And you can also check, change that value, you can also change the frequency as you're going through your setup, particularly through the PID control setup stage and just see if a faster or slower frequency does improve the response of your system.
11:05 We then have our intake duty cycle minimum and maximum, so this essentially clamps the minimum and maximum duty cycles that will be used.
11:15 Obviously you can see there, 20 and 80%.
11:17 Generally we're going to find that our continuously variable cam control system when the cam is holding at a fixed angle, the actuator duty cycle is probably going to be somewhere pretty close to 50% and it doesn't necessarily need to have a massive swing to a positive or negative value from there in order to advance and retard the cam so basically limiting the maximum value there, maximum and minimum values that the actuator can provide, will help make sure that the system responds quickly so 20-80%, that's going to be a pretty good place to get started.
11:56 You can also monitor once you are setting up the cam control system and see what sort of minimum and maximum values the actuator is actually moving to and that's going to again give you a good guide on where you can set these minimum and maximum values.
12:10 For our intake cam here, we also have the direction of the cam movement and typically for an intake cam, it will start at the rest position will be the most retarded position.
12:22 So we're going to be advancing from there.
12:25 We've got exactly the same settings for our exhaust and we can see that when we get to our exhaust cam direction we again are starting there, the rest position is the most advanced and we're going to be retarding from there.
12:39 The Haltech also gives options around long term trims for a lot of functionality.
12:44 I'm not going to deal with that today though, it gets a little bit beyond the scope of our course in general.
12:51 So at this point we've got the main aspects of our cam control system dialled in.
12:56 Set up in the software.
12:58 In a lot of ECUs we do also need to set up the cam offsets.
13:05 So this is essentially very similar to the process of dialling in our base ignition timing, what we're doing is essentially adjusting an offset parameter in the ECU so that when the cam is in fact in its most retarded position for the intake cam for example, we are actually reading a value of 0°, likewise for the exhaust cam in the most advanced position we're going to be recording a value of 0°.
13:30 So that is pretty common across the board with most aftermarket standalone ECUs that are using cam control.
13:38 Haltech actually don't do it that way, instead what they do is calibrate the 0 position during the cranking process.
13:45 So we'll close our setup down by clicking OK and what we'll come over to is one of the tuning tabs I've set up here which is cam PID and we'll be looking at this in a further practical demonstration but for our purposes here, we've got a time graph that's showing us the cam control intake cam 1 angle vs target.
14:06 Obviously it's not doing anything at the moment because our engine isn't running.
14:09 The important part I want to take away from this though is we can see we've got our cam control intake 1 angle in a text box here and it's saying calibrated at the moment, what I'll do is we'll just power our ECU up and we've got it powered up now, going to start the engine and what you'll see is that once the engine is running, after a couple of seconds, this little box here is going to say calibrating and basically at this point the output actuator is not operating, the ECU's going to know that the cam is in its most retarded position and it's going to zero the offset at that point.
14:46 It will say calibrating and then it'll read the actual value so let's watch that process now, we'll start the engine.
14:55 Alright we've got our engine up and running, you can see it started by saying calibrating and then it's jumped to reading zero and now our cam control is functioning.
15:04 You can see that the cam target or the cam position I should say is moving around a little bit and that's pretty normal as well.
15:11 Important to point out here that we haven't got our PID set up which is why it's not tracking our current target exactly of 4° but that's the process that Haltech use, we'll shut the engine off now and continue.
15:27 So at this point with the continuously variable cam control engine we should be in a position where our inputs and outputs are set up, we've got our offsets set up if required and we'd be in a position to actually start the rest of the tuning process.
15:40 Before we finish this module though we'll just have a quick look at some of the aspects that go into a switched cam control system such as Honda's VTEC just for one example.
15:52 So what we'll do is we'll head back into our main setup tab, or main setup screen and we're going to look this time at a different function which I've already enabled here which is cam control switched.
16:06 Again, different ECU manufacturers will have different terminology around this but this is the way Haltech have done it.
16:13 Again what we'll do is come across to the first tab here which is our wiring tab so we need to assign a output for our switched cam control actuator and again just like our cam solenoids, our cam control solenoids, we can typically use an auxiliary output or digital pulsed output as Haltech refer to them or a spare ignition or injector output, in this case I'm using ignition 8 and again the active state there is low, we're switching the solenoid to ground.
16:47 So essentially this is identical in terms of its setup to a continuously variable cam control actuator.
16:53 Having said that though, with a switched cam system it's not pulse width modulated, it's simply switched on or off at a particular RPM point.
17:01 Now we also have the option here to set up our output mode so this is just again totally dependent on your engine.
17:09 You can see that at the moment I've got it set up to intake or shared output.
17:13 We can set this up to exhaust, intake and exhaust, two intake outputs etc depending on the particular setup so this is what we'd use here for something relatively straightforward.
17:25 It's just a single output.
17:28 We also have some pre conditions, so moving across here we'll look at our pre conditions tab.
17:33 So we can make sure that there is no chance of this switching outside of these conditions.
17:39 So in this case we've got 3 options available, we can set a minimum vehicle speed, minimum throttle position and a minimum coolant temperature.
17:48 Really this is up to you, if we look at the way someone like an OE manufacturer, such as Honda do this they do use some of these pre conditions so for example you won't be able to actually enable the VTEC system with the vehicle stationary under normal circumstances.
18:06 The coolant temperature is quite important because obviously this has a knock on effect to our oil temperature.
18:12 The switched cam control system is oil operated so there may be some reasoning behind making the cam control switching not occur below a certain engine temperture.
18:23 What we do need to be mindful of though is that if we are going to use these pre conditions, remembering back to the discussion we've had in the body of the course, if we are using a single ignition and fuel map, and we've tuned that and optimised them for a given switchover point, if we then eliminate that switchover point using some of these pre conditions, we need to understand that of course our fuelling and our ignition timing are no longer going to be optimised.
18:52 Can get around that of course by using dual maps, the choice of course is up to you and what you're trying to achieve, just need to understand the implications of those choices.
19:01 Moving on, we'll get into the meat of the tuning process here or the setup process here which is our intake tab and we can select here first of all whether we want to have an off RPM condition.
19:16 Sounds a little bit confusing, of course we want the system to turn off but in Haltech lingo, basically this is defining whether we are using a single point to switch the cam or whether we're switching the cam at two points, basically advancing the cam, let's say we're talking about an intake cam and then switching the system back off to retarded again higher in the RPM.
19:37 So let's look at our simple system first which would be likened to how Honda's VTEC system works.
19:44 So we'll leave the off RPM condition disabled.
19:46 Moving down we can see we've got our parameters here for our cam windowing or when we're going to switch on vs our engine load and our engine RPM.
19:58 So I've made this really simple here, we can see our minimum load here is -100 kPa and our maximum load is 0 kPa.
20:06 In reality we're probably going to not be at the extremes of the manifold pressure for a naturally aspirated engine but we can choose something suitable.
20:16 Maybe for our maximum load we're going to be wanting to switch the system when we're close to full throttle and that may be somewhere around about maybe -10 kPa or thereabouts, maybe our minimum load want to be a little bit above our cruise manifold pressure, maybe that's -50 or -60 kPa or thereabouts, again you're going to choose settings here just relevant to your particular application.
20:44 Then we've got our minimum load on RPM and our maximum load on RPM.
20:50 So essentially what this simply means is that when we are at our maximum load of 0 kPa our switchover point is going to be 4500 RPM.
20:59 When we are at our minimum load of -100 kPa, should be pretty difficult to get to.
21:04 Our switchover point is going to be 5000 RPM.
21:07 Now this can be a little bit difficult to visualise so Haltech have done the heavy lifting for us and we have this nice little graph of load vs RPM so we can see for any particular load point, exactly where we are going to be switching so for example here, -50 kPa, we can see that we're going to be switching around about 4750, maybe almost 4800 RPM.
21:30 This is a nice visual representation of how exactly that is going to work.
21:35 Alright so that's our simple VTEC style system, if we were running something like Nissan's VTC which common on some of their SR and RB engines, we may want to switch the system on and off, we can do that by coming back to our off RPM condition, currently disabled, of course we're simply going to select enable there.
21:56 And that then gives us this other set of parameters here which is our minimum load off RPM and our maximum load off RPM.
22:06 And again we visually see exactly what's happening here so if we were for example at our minimum load of -100 kPa and we come up through here, we can see that as we increase the RPM from idle, we're going to initially switch that cam system on, just below 5000 RPM or just at 5000 RPM I should say and then we're going to switch it off at 6500 RPM.
22:31 So makes it really easy to see visually exactly what's happening there.
22:35 The system that we've just looked at here is really set up to work on a single base map inside of the Haltech Elite and in fact Haltech don't really make it particularly easy to use a true dual map system however, there are workarounds and again this will depend a little bit on your specific ECU.
22:53 Let's have a look at that though, what we'll do is we'll head back to our engine options and we're on our fuel tab here and we can see that we've got a range of options for the fuel tables that we want enabled and we can choose these options depending on the specific functionality we want in the engine.
23:13 However if we were going to try a dual map setup one way we can do this in the Haltech Elite is to enable our generic corrections so we've actually got 4 generic correction tables here.
23:26 So if we enable generic correction one we can see we now get a new tab up here on the right hand side that says fuel generic one correction.
23:35 Let's click on that and what we want to do is set up our conditions that are going to enable this so we can click on conditions enable now you can see here that it's set to enable on RPM.
23:48 Now what we want to do here instead is click on select and we're going to type in switched cam and that's going to give us our switched cam output status.
23:58 So we'll double click on that and that's going to then allow us to use the state of our switched cam output to drive whether our generic correction is active or not.
24:10 So here we can see that it's set up to be greater than, we want to select equal to and we want to select one, so this is only going to move between 0 when it's off and one when it's active.
24:22 So that sets up when our correction is going to become active.
24:26 We can click OK now and when we select that we can see that we now have generic corrections out here on the left hand side, we'll click on that and we have our fuel gen 1 correction.
24:39 Now it is important here to understand that this is a correction, it's applied over and above our base map so this is a little bit of a clunky way of dealing with this.
24:51 Ideally we would have an option where we were simply using the system I've just gone through to switch completely between one fuel map and another and of course we'd be doing exactly the same for our ignition table.
25:03 In this case though this will be applied as a correction over and above our base fuel table so that's important to understand.
25:10 We can see at the moment as well that the setup is relatively unusual.
25:15 We've got our full throttle time on the horizontal axis and we've got gear on the vertical axis.
25:22 We can change our axes by coming up and clicking on the table axis setup and then we can enable more suitable axis so for example here, we'd probably replicate the axes that we are using for our main fuel table so in this case we would be selecting fuel load for our horizontal axis and we would be selecting RPM for our vertical axis.
25:49 We can then, once we've gone through and done this, we can then select suitable break points, again probably replicating as well as we can the break points from our main fuel table, noting that the maximum number of break points here is 16 for RPM and fuel.
26:08 Should be sufficient.
26:10 We'll close that down and we need to just talk about the way this will work.
26:13 So what we would want to do if we want to use this style of system on the Haltech Elite, we would start by essentially tuning the engine in the areas we want to run with the VTEC or switched cam control system completely disabled.
26:29 So from that basis we would be doing all of our tuning here in our fuel base table, our volumetric efficiency table and we would be dialling that in correctly.
26:41 Once we've done that, we can then enable our switched cam system, get that switching and remembering of course as soon as that switches, our fuel generic one correction will become active and we'd simply be making adjustments to this table in the areas relevant in order to get our tuning on point.
26:59 Whether you want to do this with just the fuel or the fuel and ignition is completely up to the individual.
27:05 As I've mentioned, it's a slightly clunky workaround that we've got here with the Haltech, most ECUs will give us the ability to just switch wholly between two fuel and two ignition maps.
27:15 It's important to make sure that we are using the output for our switched cam control to actually function between those 2 maps, that's going to make sure that we're always on the relevant map for our particular application.