| 00:00 |
The first step of our 10 step process is to configure our Haltech Elite ECU, so that it knows what engine it's essentially going to be controlling, and the inputs and outputs that are associated with it, and essentially make sure these are also calibrated correctly, reading sensibly, and as far as our outputs work out, that these are operating as expected.
|
| 00:20 |
This is made a little bit easier in our case here because this is a plug and play ECU, so, we do have the ability to simply select a base map and upload this to the ECU.
|
| 00:30 |
Despite this, and I'll show how that is done, I will also go through each of the individual inputs and outputs and the configuration, so that if you are wiring this up as a universal wire and ECU to essentially any engine, this worked example is still going to be beneficial to you.
|
| 00:46 |
So, we'll jump into our software for a moment here, and what we'll do is we'll come up to our file menu and we'll click on that, and we can come down to import or upload, I've got some changes to this map which I don't mind about, and what we want to do is come to our base maps here, and of course we'll come down to Mitsubishi, and in this case Evo 8 MR and Evo 9, we can choose a suitable map here.
|
| 01:10 |
So, that is the process we'd go through if we're starting from a blank piece of paper here and we want to just upload a Haltech's base file for the Evo 9.
|
| 01:19 |
As I mentioned though, we'll go through this anyway.
|
| 01:22 |
So, what we want to do is start over here on the left hand side and essentially go through a bit of a workflow starting with our engine configuration and we can click on that and also expand everything out here.
|
| 01:34 |
Now, the first part we need to go through is our engine configuration and we'll start here with our engine capacity.
|
| 01:41 |
Now, this is important if we are going to be using the volumetric efficiency tuning model because both the engine capacity as well as the fuel system does get taken into account.
|
| 01:51 |
If we've got this incorrectly set, that's going to affect the accuracy of the VE numbers that we end up with in our VE map.
|
| 01:59 |
And we will be using the VE tuning method for this worked example because it is essentially the common go to option these days.
|
| 02:08 |
Next up we have our piston four stroke or engine type I should say, this is piston four stroke of course.
|
| 02:13 |
We have piston two stroke and rotary as another option.
|
| 02:17 |
Then moving down we have our number of cylinders and then our aspiration.
|
| 02:20 |
In this case of course we are turbocharged, but we'll just choose whatever is relevant to our application.
|
| 02:27 |
And then maximum cranking speed.
|
| 02:29 |
By default this really doesn't need to be changed in most instances, this is essentially the engine RPM where the ECU will transition from cranking across to running.
|
| 02:38 |
On the right hand side here we've got our engine configuration and engine geometry.
|
| 02:44 |
At the top we have a little radio button if we have got an odd fire engine.
|
| 02:48 |
That's going to be a limited number of applications where we'd need to worry about this.
|
| 02:52 |
In the case of our 4G63 it is definitely not odd fire and we have our firing order here, typical four cylinder, inline four cylinder firing order of 1342.
|
| 03:04 |
So, that takes care of our main or key elements here.
|
| 03:07 |
The next one down in our menu structure is our trigger system, but we're going to come back to that in the next step of our process, so we'll just skip ahead here to our fuel system.
|
| 03:17 |
There's a few configurations here that I'll just quickly cover off.
|
| 03:20 |
We've got our injection timing method.
|
| 03:22 |
So, essentially what the numbers in our injection timing table mean, whether these are end of injection, we drop this down, or start of injection.
|
| 03:30 |
Personal preference there, I'm going to leave that with end of injection.
|
| 03:33 |
Next up we have our number of injection stages and in our instance this is a simple engine and we only need one stage of injection with our four injectors but of course for more powerful engines with fuels like ethanol or methanol, it's quite common to need multiple stages of injection.
|
| 03:52 |
We won't go further into that because we are trying to keep this particular worked example quite simple.
|
| 03:58 |
Now, we'll move back over to our menus over on the left here and the next one is our primary fuel density.
|
| 04:04 |
Now, this is one that on face value might seem a little bit tricky.
|
| 04:07 |
Where are we going to come up with our fuel density? We can see that is currently set to 737.2 kg per cubic metre.
|
| 04:16 |
This is easy enough to get though, if we press F1 this will bring up our help file and we can see that the common densities for most of the fuels that we're likely to come across are listed, so we don't have to guess there.
|
| 04:28 |
We are running on petrol so 737.2, that's what we're going to be running there.
|
| 04:35 |
We can turn on some injector diagnostics if you would like to.
|
| 04:39 |
This can set up a DTC if we exceed 90% duty cycle and it can also look at open and short circuits on our injector outputs.
|
| 04:48 |
Moving down we've also got our wiring, so we can see the wiring configuration for our different injectors and make sure that these are wired correctly.
|
| 04:56 |
Now, this is one of the areas where I think the current Elite ECUs are quite limited in that we don't actually have the ability to do a test output on any of our outputs here.
|
| 05:07 |
If you are running the Nexus based ECUs then you do have an injector output test function and you'll see that in this menu tree right here.
|
| 05:17 |
However, as stated, we don't have that functionality on the Elite.
|
| 05:21 |
And within the next few months after this worked example has been released, the Nexus based ECUs will have test output functionality on every output of the ECU.
|
| 05:32 |
So, currently that is a little bit limiting.
|
| 05:34 |
Let's move on and we'll have a look at our ignition system.
|
| 05:38 |
We'll click on that and also just open up our other options.
|
| 05:41 |
So, we've got our injection mode here and we can see that that's set to waste spark which is the standard option for a Mitsubishi Evo 9.
|
| 05:49 |
It uses two coil packs in a waste spark configuration, but of course from our drop down menu we can choose whatever is suitable for your particular application.
|
| 05:58 |
Next we have the edge for our ignition system.
|
| 06:02 |
And this is really important to be careful with here.
|
| 06:04 |
In almost all instances this is going to be falling edge.
|
| 06:09 |
However, there are some outliers here, MSD and some Honda ignition systems will require rising edge.
|
| 06:17 |
If you get this wrong, it is going to damage and destroy your coil pack.
|
| 06:21 |
So, you do need to be very careful of this.
|
| 06:23 |
I'd actually advise while the ECU is being initially configured to have your coils unplugged.
|
| 06:29 |
If you are not sure what the correct setting is for your particular coil, then Haltech's tech support will be able to guide you with that.
|
| 06:37 |
Likewise we have the dwell mode and again in almost all instances we're going to be constant charge, but we also have the option of constant duty.
|
| 06:46 |
Next we come down to our dwell time here and again this is the default map, so I don't really need to make any changes, this has been configured by Haltech to suit the stock Mitsubishi coils.
|
| 06:57 |
However, if you're using known aftermarket coils then typically these will come with dwell time data and again this is something where we do need to be a little bit careful because if we get the dwell time wrong, particularly if it's too high, we can end up melting our coils or damaging them permanently.
|
| 07:13 |
Likewise if we have our dwell time too low, it's not going to damage the coil, but we're likely to run into problems with ignition misfires, particularly under high load.
|
| 07:21 |
Typically, what we're going to expect is to see the dwell time at about 14 volts which is where the battery voltage should be with the alternator charging and the engine running.
|
| 07:30 |
Would typically expect this to be somewhere in the region of about maybe 3.5 to 4.5 milliseconds, this is actually a little bit higher than I'd expect at 4.7, but on this basis I'll expect that Haltech know more than me about these Mitsubishi coils.
|
| 07:46 |
Let's move on.
|
| 07:48 |
We've still got a little bit more work to do to set up our fuel system correctly and we want to do this by coming into our fuel tuning and clicking on stage one.
|
| 07:58 |
So, this is of course our only stage of injection here and we can see that our injector impedance is set to high, again this comes from our base map, but we can choose 1 to 3 ohm, 3 to 8 ohm or we can set high or custom.
|
| 08:11 |
So, in our case we actually have a low impedance injector on this particular vehicle but this was in an era where the ECUs still weren't equipped with peak and hold injector drives and instead there's a ballast resistor pack which essentially brings the impedance of the resistor up to the same as a high impedance injector.
|
| 08:29 |
So, this is the correct setting for our injectors.
|
| 08:32 |
Now, if we expand on stage one here we can see we've got settings for our injector dead time.
|
| 08:37 |
Now, this can be a little bit tricky to find for factory injectors of this era, it's difficult to get really solid information on the dead time.
|
| 08:47 |
Of course, if we're dealing with aftermarket injectors from the likes of maybe Injector Dynamics, this will come with your injector, so you can find it online based on your base fuel pressure.
|
| 08:57 |
In our case this is again the base map, so we're going to go with Haltech's values here and we can see at 14 volts we've got a dead time of .632 seconds or 630 milliseconds.
|
| 09:11 |
Alright, so moving down, the next is our flow rate.
|
| 09:14 |
And this is our injector flow rate at our rated pressure, in this case three bar or 43.5 psi and 550 cc's again from the base map.
|
| 09:25 |
This is really important information again because this plays into the volumetric efficiency fuel model.
|
| 09:31 |
If the engine size which we've already covered off is incorrect or our injector specifications and flow rate aren't correct, then essentially we're going to be baking in errors into our VE map.
|
| 09:42 |
Again we're going with numbers from the base map here for the Evo 9, but if you're using injectors of a known quantity then of course you're just going to add in the data from your injector data tables.
|
| 09:54 |
With our basic engine configuration completed here, we'll close down that menu structure to keep things simple and we'll have a look at our sensors.
|
| 10:02 |
We'll start here with our manifold absolute pressure sensor.
|
| 10:05 |
And we can see we've got the calibration data here of voltage to kPa.
|
| 10:11 |
And that's also represented graphically down below.
|
| 10:14 |
Now, we can choose to load this from a file here and we can see that there are quite a wide range of calibrations, default calibrations here that we can choose from.
|
| 10:24 |
So, if we scroll down to map and we will find that we do have Mitsubishi in here.
|
| 10:30 |
Right here, this is our Evo 9 map sensor, so we can open that up and of course we should see no changes at all.
|
| 10:38 |
You can of course make your own custom calibration if required.
|
| 10:43 |
We've got a few other options here under map sensor.
|
| 10:46 |
We're not gonna go into too much detail here, we have the option to filter the map sensor output.
|
| 10:51 |
This needs to be treated carefully, we can see quite a bit of noise on some map sensor signals.
|
| 10:57 |
However, as with any filtering, we always want to use the minimum possible to get a clean signal.
|
| 11:03 |
If we over filter this, it does end up degrading the signal itself.
|
| 11:07 |
Likewise we have a derivative filter and again I'm just using the default values here.
|
| 11:12 |
We've also got some diagnostics that we can set up if required and then finally we've got the wiring, so we can assign this to an output here when we're first setting up the ECU.
|
| 11:23 |
Of course, in our instance because this is a plug and play ECU, this is predefined.
|
| 11:28 |
It will show you that we are using analogue voltage input nine and that should be a yellow wire, it shows us that that is pin A15 on the ECU.
|
| 11:38 |
We also have the ability to enable a pull up resistor for temperature inputs where we are using a two wire negative temperature coefficient thermistor.
|
| 11:49 |
Alright, that takes care of our map sensor, but what we also want to do is just look up here at our reading from our map sensor and we're reading minus 0.5 kPa which fits with our atmospheric pressure here in Queenstown at the moment, so I'm comfortable that that is reading correctly.
|
| 12:06 |
We'll go through a couple more of these and we'll look at our intake air temp sensor.
|
| 12:10 |
Again we have the ability to manually enter a calibration here or load from file.
|
| 12:17 |
It's essentially exactly what you've just seen, so I won't go through this again.
|
| 12:20 |
Again we can set up some diagnostics as required and again we have our wiring.
|
| 12:25 |
Now, what I'd like to do here once I've got my intake air temperature sensor and coolant temperature sensor both configured is just as a bit of a sanity check, take a look at the two values and make sure for an engine that hasn't been running that these are within a couple of degrees of each other and make sense with the ambient temperature of wherever we are.
|
| 12:44 |
Now, at the moment we can see that's not the case, we've got a coolant temp of 38 and an air temp of 54 simply because I have had the engine running prior to recording this.
|
| 12:54 |
So, if I was seeing these normally I'd be a little bit concerned about them.
|
| 12:59 |
Now, I just want to quickly cover off our coolant temp bias here, this is getting a little bit beyond the scope of our pure worked example, but just to explain how this works.
|
| 13:08 |
This table defines how the ECU will bias between the intake air temperature sensor and the coolant temperature sensor based on both RPM which we've got on our vertical axis here and also our fuel load or manifold absolute pressure on the horizontal axis.
|
| 13:24 |
The premise behind this table is that we're trying to more accurately model the actual charge temperature.
|
| 13:31 |
What we need to know for the fuel model to work accurately is we want to know the air temperature as it goes past the intake valve and enters the cylinder.
|
| 13:41 |
And at very low air speeds such as idle, light throttle, cruise, because of the low air speed, there's a lot more time for the air to pick up heat from the intake manifold, the intake ports.
|
| 13:52 |
So, we bias slightly more towards our coolant temperature because that's heating up the intake ports and the intake manifold.
|
| 14:01 |
At higher air speeds, so high RPM and high airflow, we're going to find that there's less time available for that heat to make its way into the intake air, so we can bias more towards the intake air temperature sensor.
|
| 14:16 |
So, we can see for example at high vacuum and low RPM down here, numbers of 60 and 75%, essentially we're biasing 70% towards our coolant temperature sensor.
|
| 14:28 |
However, at high RPM and higher loads out here, we can see we're sitting at 0-5%.
|
| 14:33 |
So, if we've got a number of 0%, the ECU is using purely the intake air temperature sensor value.
|
| 14:39 |
If we've got a value of 100%, it's purely the coolant temperature sensor and of course 50%, it's exactly halfway between the two values.
|
| 14:48 |
Again this is a default table and I've found it to work quite well.
|
| 14:53 |
This is a tricky table for you to actually calibrate yourself, so I would suggest, unless you're a more advanced user, stick to the default values in the bias table initially.
|
| 15:03 |
At this point we've covered the main sensor inputs that I just wanted to demonstrate but we also have some engine functions that I want to just go through as well.
|
| 15:12 |
So, if we open up engine functions and we're going to start with our throttle.
|
| 15:17 |
And first of all we need to define what sort of throttle we are using here.
|
| 15:21 |
So, in this case it's a cable throttle, a little bit older with the Mitsubishi Evo 9 but of course we can select drive by wire for more modern engines.
|
| 15:29 |
And as part of this we also set up our user demand minimum and maximum.
|
| 15:33 |
Basically, when we're below the minimum, the ECU considers the throttle to be close and we're above the maximum, it considers us to be at wide open throttle.
|
| 15:43 |
Now, I just want to also go through the calibration process here.
|
| 15:48 |
So, what we want to do is click on start and it'll just tell us what to do.
|
| 15:52 |
So, first of all we want to be off the throttle, we're at 0% and we click calibrate and then we simply go through to wide open throttle and again click calibrate.
|
| 16:02 |
And now just as a bit of a sanity check here, we can see our TPS value being displayed and I'm just going to smoothly move the throttle through and we want to make sure that we are in fact getting smooth movement, there's no jerkiness and that we are actually registering both 0% at closed throttle and 100% at wide open throttle.
|
| 16:21 |
Again we've got some diagnostics and we can check our wiring, but I won't cover those again.
|
| 16:27 |
Next we'll come to our fuel pump here.
|
| 16:30 |
And again this is a little tricky because we don't have a dedicated test output mode in the Elite software.
|
| 16:37 |
Looking at our primary pump mode we can see we've got digital switched output here, we've got some options, be it duty cycle or a can output as well.
|
| 16:47 |
In this case we can see the output is assigned to DPO5, digital pulse output five and that is black with a yellow trace and it is pin A24 on our ECU header.
|
| 17:00 |
Now, a way we can test this output here, I'm just going to key off, there is a hold power function that'll just take a few seconds.
|
| 17:08 |
And what we want to do here is once the ECU has properly powered down, which it's just done, as I key on we should be able to hear that fuel pump run so, let's just check that now.
|
| 17:19 |
I can audibly hear the fuel pump running, so we know that that's working correctly.
|
| 17:24 |
This is a little tricky when we don't have this test output function, but you can always go through and just do a continuity check to the fuel pump relay and essentially make sure that you do have the correct output going to the correct relay.
|
| 17:37 |
Likewise with your injectors and your ignition coils, you can also do a continuity test and make sure that you have in fact got the correct output wired up to the correct injector and coil.
|
| 17:48 |
That's going to save yourself a lot of frustration later on if the order is accidentally incorrect.
|
| 17:56 |
The last output that we want to have a quick look at here is our thermo fan setup and we can see we've actually got three options here, three thermo fan outputs and we are using all three of these.
|
| 18:06 |
First of these here is our thermo fan one.
|
| 18:09 |
This particular one is actually frequency and duty cycle based, so we can control the duty cycle of the fan based on the coolant temperature, we'll have a look at that in a second.
|
| 18:19 |
We can see that the frequency here is set to 250 Hz.
|
| 18:22 |
And our trigger source unsurprisingly is set to coolant temperature sensor although we can choose from a fairly extensive list of other options.
|
| 18:30 |
Now, importantly here we do have the option to disable the fan when the engine is stopped.
|
| 18:35 |
By default this is actually set to on in the base map, however I've turned this off just, so I can actually test this output.
|
| 18:44 |
And if we open up our menu structure here, we can see we've got our duty cycle table and this is just our duty cycle versus coolant temperature.
|
| 18:53 |
So, we can see that below 87°C the fan is not going to operate at all.
|
| 18:58 |
So, what I can do here is just come into the 87°C cell and let's just set that to 80% and we should hear the fan operate.
|
| 19:08 |
And I can audibly hear it operating now.
|
| 19:10 |
So, we know that that's working, we'll set that back to the default value.
|
| 19:13 |
Likewise we can also set this for our thermo fan too.
|
| 19:17 |
As long as the disable when engine stopped is not ticked, we can come into our enable above and we can set this to let's say 30° and we also need to set our disable below to something a little bit below that.
|
| 19:36 |
And again our fan should run.
|
| 19:38 |
And we wanna take the values back to how they were and we can actually use this undo function or control Z and that will undo our last change.
|
| 19:47 |
It's quite handy, if you make a change irrespective of what you've just changed and you don't like it, you can use the undo and of course beside that we also have the redo function as well, so this makes it a little bit easier going.
|
| 20:00 |
Alright, so that's covered most of our setup, I do wanna just mention a few other aspects here before we move on though.
|
| 20:06 |
At the top here we can see that we have enable or disable functions.
|
| 20:10 |
So, when you're getting started setting this up, you may find that a certain function that you want to use isn't there and this is just to make sure that you're not being displayed a whole bunch of different parameters that just are not relevant to your particular application.
|
| 20:26 |
So, you can choose to only display the functionality that you actually want.
|
| 20:31 |
So, for example here we've got our air conditioner control, obviously on a turbocharged engine we want boost control.
|
| 20:38 |
You can go through and enable exactly what you want, then those functions will show up over here on our left hand side menu structure.
|
| 20:46 |
So, if you're wondering where something is that you think should be there, there's a good chance that you do not have that function currently enabled.
|
| 20:55 |
And of course you can also search for this, so if we want to enable cam control, we can type in cam and everything related to cam control will show up.
|
| 21:04 |
So, we have cam control which is enabled at the moment, this is for continuously variable cam control and then we have switched cam control if we've got a Honda VTEC style switched cam control.
|
| 21:15 |
So, nice and easy to select the functionality that you personally need.
|
| 21:20 |
Now, the other thing that I'll just mention here is if we come up to our preferences menu, we can come down to our unit options and you can set this up to display units however you personally prefer.
|
| 21:31 |
I prefer to work in metric units, so that's what I've chosen.
|
| 21:35 |
Particularly here for our air fuel ratio or lambda, I do prefer to work in units of lambda, so I will just change that over to lambda and now we will see that our target lambda number is displaying in lambda instead of air fuel ratio units.
|
| 21:51 |
So, at this point we've got our basic ECU configuration complete and we're ready to move on with the next step of our process.
|