Adaptronic Select ECU Manual
Adaptronic Select ECU Manual
Adaptronic Select ECU Manual
Web: www.adaptronic.com.au
Technical Enquiries: tech@adaptronic.com.au
List of Figures
Figure 1: New Hardware Wizard – step 1.............................................................. 7
Figure 2: New Hardware Wizard – step 2.............................................................. 8
Figure 3: New Hardware Wizard – step 3.............................................................. 8
Figure 4: Warning of conflict with base map settings ............................................ 9
Figure 5: Triggering tabsheet when using 440 Universal Select ECU .................. 11
Figure 6: Triggering tabsheet when using a Plug-In Select ECU.......................... 11
Figure 7: Choosing an engine for pre-defined triggering settings ......................... 12
Figure 8: After choosing an engine for pre-defined triggering settings................. 12
Figure 9: The Triggering Settings window .......................................................... 13
Figure 10: Choosing the load sensing option ..................................................... 20
Figure 11: External MAP sensor calibration ...................................................... 20
Figure 12: Internal MAP sensor offset............................................................... 21
Figure 13: Temperature sensor settings ............................................................. 21
Figure 14: Temperature sensor calibration......................................................... 22
Figure 15: TPS calibration................................................................................. 23
Figure 16: Preferences for Units........................................................................ 24
Figure 17: Water Injection Auxiliary Output Example....................................... 26
Figure 18: Shift Light Auxiliary Output Example.............................................. 26
Figure 19: Stall Saver Auxiliary Output Example.............................................. 27
Figure 20: Vehicle Speed Sensor calibration ..................................................... 29
Figure 21: Gear Options .................................................................................... 29
Figure 22: Pit Lane speed limiting..................................................................... 29
Figure 23: Launch Control panel ....................................................................... 30
Figure 24: Traction Control panel...................................................................... 31
Figure 25: Example tuning map......................................................................... 34
Figure 26: Rapid Learn Settings and Closed Loop Fuel Settings........................ 38
Figure 27: ECU Data window ........................................................................... 46
Figure 28: Firmware Flashing Utility ................................................................ 50
Figure 29: Tuning Mode panel .......................................................................... 59
Figure 30: Tuning modes and Volumetric Efficiency options ............................ 62
Figure 31: Spark split table................................................................................ 64
Figure 32: Predicted MAP table ........................................................................ 66
Figure 33: Classic transient throttle settings ...................................................... 66
Figure 34: Transient Throttle using Predicted MAP........................................... 68
Figure 35: Asynch Accelerator Pump using classic settings............................... 69
Figure 36: Flex Fuel tabsheet ............................................................................ 73
Figure 37: Series Mode turbo timer configuration ............................................. 78
Figure 38: Variable Valve Timing control panel................................................ 79
Figure 39: VVT live gauges .............................................................................. 82
Figure 40: Push-To-Pass settings....................................................................... 88
Figure 41: Ignition Waveforms in Different Modes ........................................... 90
Figure 42: Injector Firing Pattern Example........................................................ 90
Figure 43: 440 Universal Select ECU Wiring Diagram...................................... 94
Figure 44: Reluctor Waveform (correct)............................................................ 97
Figure 45: Reluctor Waveform (inverted, incorrect) .......................................... 98
Figure 46: Stripped back sheath and cut braid ..................................................101
Figure 47: Stripped back sheath and insulated braid .........................................101
Figure 48: Stripped back sheath and twisted braid ............................................102
Figure 49: Heatshrink over braid ......................................................................102
COPYRIGHT NOTICE
This document, and any and all associated publications and designs are copyright
Adaptronic, 2003-2011. No reproduction or distribution whatsoever is permitted,
whether for profit or not for profit, except where prior written permission has been
granted by an Adaptronic representative with authority to do so.
WARNING
Furthermore, if the product is to be put on a controlled vehicle (eg, a road going car),
you should check with local authorities about the legal implications of this. For
example you may need to get an emissions test done after tuning the engine, and/or an
engineering certificate/report.
This document assumes that the reader has a basic understanding of:
On the next window, you should click ‘Install from a specific location’, as shown
below:
At this point, if you see a warning you can click ‘Continue Anyway’.
The USB drivers for your Select ECU will then be installed. Once this is completed
you can click ‘Finish’. From this point on, your Select ECU should be able to
communicate with you laptop or PC using the tuning software, which will be
described shortly.
The Select ECUs can communicate with the WARI tuning software even if there is no
12V ignition power to the ECU (this is possible due to the 5V power wire inside a
USB cable).
Now, with WARI running and the ECU connected, you should verify that WARI can
see the ECU. You should see a message such as ‘ECU connected’ or ‘Reading
Settings’, rather than ‘No ECU connected’.
The status should then progress from ‘Reading Settings 0%’ to ‘Reading Settings
100%’ as the settings are extracted from the ECU.
Once all of the settings have been read out of the ECU, if you have connected a Plug-
In Select ECU with unsuitable settings in its memory, you may be presented with the
following dialog box (but not in most cases):
If this dialog box does appear, it means that WARI has spotted a potentially
troublesome discrepancy when comparing the ECU settings to the base map for
After this is done, your ECU is fully synchronised with the WARI tuning software,
and what you see on the screen is a representation of the settings in the connected
ECU.
Note: At any time, if the ECU connection status says anything other than ‘….. ECU
Connected’, this means that the settings in WARI and the settings in the ECU are
NOT completely synchronised (this could be because you have no ECU connected at
all, or it could be that settings are currently being written to the ECU or read from the
ECU).
Now, before setting up the ECU it would be advisable to have a walk through some of
the helpful extras in the software. At any time when there is 12V power to the ECU
and a particular sensor is connected, you can see the present value from that sensor by
selecting the menu option Windows -> ‘Gauges’, or by pressing F2. Also, by pressing
F11 or selecting the menu item Windows -> ‘ECU Data’, you can view all of the
current inputs, outputs and flags, another invaluable tool in diagnosing any problems
with your ECU settings.
Next, the steps of configuring the ECU to run on your vehicle will be explained.
On the Triggering tabsheet, you will find settings which may need to be adjusted for
the correct triggering, ignition and injection on your 440 Universal or Plug-in Select
ECU.
See the images below, where the top image shows an example of what you would see
if you had a 440 Universal Select ECU connected, and the bottom image shows what
you would see if you had a Plug-In ECU connected:
If you have connected a 440 Universal Select ECU, you will have access to many
more advanced triggering settings which are VITAL for the correct operation of the
engine. These settings can be complicated, so if you have a Plug-In Select ECU these
settings will already be done for you (this is why you can’t change these settings if
you have a Plug-In ECU).
If you have a 440 Universal Select ECU (for which you will need to specify the
correct triggering settings), you should click the button labelled ‘Choose Engine for
Triggering Settings’, and check if your engine is in the list. See below:
If you choose an engine from the list, you will see something like this:
Notice how the WARI software confirms the way that the crank/cam angle sensors
should be connected, as well as the ignition and injection outputs.
If your engine isn’t available in the list, that is not a problem, you will just need to set
it to ‘Custom’ so you can set the triggering settings yourself. To set the triggering
settings, click the button labelled ‘Triggering Settings’, and you will see something
similar to the image below. Note that the settings shown below are for a 4 cylinder
Toyota engine (with Toyota’s typical 24+1+1 reluctor triggering), running wasted-
spark ignition and sequential injection:
There are four ignition outputs on the Select ECUs. Note that if you are using Ignition
Output 4 then you won’t be able to use Aux Output 1.
The ‘Ignition Output Pattern’ can be set up in one of the following ways:
• Simultaneously, as on an engine with a distributor. The third ignition output
can then be configured as a tachometer function.
• Alternately, as on a 4 cylinder, wasted spark engine or a dual-distributor
engine (eg Toyota 1UZFE). The third ignition output can then be configured
as a tachometer function.
• In a cycle of three, as in a direct fire ignition on a three cylinder engine, or
wasted spark on a six cylinder engine. In this mode, the tachometer output, if
required, must be sourced from an auxiliary output, and the ign 3 output
function set to ign 3.
• Leading/Trailing, as in on a two rotor Wankel engine with an addressing mode
igniter. Currently in this mode the ECU can fire the leading/trailing spark
plugs (ign 1/ign 2) via addressing (ign 3 set to coil address) with the factory
addressing igniters or with a distributor.
• In a cycle of four, as in direct fire ignition on a four cylinder, or wasted spark
on an eight cylinder engine, (ign 3 set to ign 3) and aux 1 set to ign 4.
Ignition Output 1 will fire first after the reset pulse from the crank/cam trigger.
Each output will turn on a fixed amount of time (the ‘dwell time’, configurable on the
Triggering tabsheet) before the spark is to fire. The output will then turn off at the
angle at which the output is supposed to fire, discharging the coil and generating the
spark.
You can set the ‘Ignition Output Sense’ in one of two ways:
• Falling edge sensitive. Most igniters will be falling edge sensitive; that is, the
ECU ignition output goes high to begin charging the coil, and low again
(falling edge) to generate the spark.
• The rising edge option is only for certain igniters that were intended to work
with Kettering ignition (points), and are triggered by the rising edge. Some
Honda igniters seem to use this logical sense. If a rising edge ignition output
sense is selected, a warning message will be brought up.
CAUTION: Many igniters are not very intelligent. If you apply a constant ‘on’
signal to them, the output transistor will often stay on, which can cause damage
to the igniter or the ignition coil. A warning message will be brought up if the
ECU’s current state would cause the ECU to apply a constant “on”.
The dwell time is the time for which the coil is charged before firing. Typically values
between 3000µs (3ms) and 3500µs (3.5ms) are used successfully. If the dwell time is
set to be longer than the minimum period (eg. 5ms is one period at 6000 RPM), the
dwell will be shortened to the next available trigger pulse once the RPM becomes too
high. Some igniters (including all capacitor discharge ignition (CDI) systems)
generate their own dwell time, and so the dwell time asserted by the ECU is
unimportant.
In the case of alternating ignition outputs, the dwell time allowable is up to double the
period, as each output fires only once every two periods. This is one reason why a
wasted spark system (or coil-on-plug) is used on high revving engines rather than a
conventional single coil/distributor system. If you have not already set the dwell time
you should do so now (it may need to be adjusted later if you encounter spark
breakdown).
Crank/Cam angle sensors are traditionally the most difficult of sensors to configure
because of the multitude of different types available. Because of the flexibility of
Adaptronic ECUs, they can be configured to a myriad of different sensors. This
flexibility also makes the configuration process longer than that on a simpler system.
1. One sensor channel that gives a timing mark, for example, a multitooth wheel;
2. Another channel (or two) that give synchronisation information, for example,
a single pulse every 720°;
3. If the timing mark is too inaccurate, sometimes you may have another pulse
that occurs at the correct ignition timing during cranking.
1. Verify that the ECU is detecting the pulses from the sensor;
2. Find out at what angles the pulses occur;
3. Configure the ECU to suit.
The Timing Lock feature (on the Triggering tabsheet) allows the ignition timing to be
temporarily fixed while the engine is running, to verify the ignition timing (usually
with a timing light).
Also on the Triggering tabsheet, you can use the arrows labelled ‘Offset Trigger
Angles’ to shift the ignition timing so it lines up with the correct timing mark on the
crank pulley. This is described in more detail later.
Some hints:
• Usually the crank pulley is marked with timing marks only from 20° BTDC to
TDC. However, often pulses occurring outside this range are subdivisions of
one revolution. For example, if there are 12 pulses during cranking, they
appear to be evenly spaced, and one of the pulses is at 10° BTDC, you can be
pretty sure that the others are at 160°, 130°, 100°, 70° and 40° (and these plus
180°).
• When you crank an engine with the spark plugs installed, the ring-gear makes
a sound like ‘nyeh-nyeh-nyeh-nyeh-nyeh-nyeh’. Each ‘nyeh’ is a single
cylinder, which corresponds to 180° on a 4-cylinder 4-stroke engine. The
significance of this is that if you have a sensor that only triggers once every 4
‘nyeh’s, this occurs every 2 revolutions, or 720°. This will likely be a cylinder
reset marker.
NOTE: this requires that the ignition output has been set up and tested already.
Also recommended is that in a distributor system, the coil be connected directly
to a spark plug to avoid the angles where the distributor does not make a
connection. If you do not get regular pulses, you should check your wiring. If you
are using a reluctor input, remember that the polarity DOES matter (incorrect
You can now configure the ECU to suit the crank and/or cam angle sensors on your
engine.
Each ‘nyeh’ (the sound made during cranking) is called a "period". This period refers
to 180° on a 4-cylinder 4-stroke engine, 120° on a 6-cylinder and 90° on an 8-
cylinder. All the timing for the Select ECUs is calculated on a "per period" basis.
This is a throwback to the days of distributors, where a new ignition pattern would
occur every period. Each period, a new ignition pulse is generated, and a new
injection pulse is generated. The RPM is also measured between periods.
• The most highly accurate sensor (that is, the one with the most pulses per
revolution) should be used to measure the ignition timing and to fire the
injector. (Tick Inj and Ign) e.g. a multi tooth wheel (If it is has no missing
teeth, then ‘No missing tooth’ should be selected, and whether Cam or Crank
is selected makes no difference.)
• Using a multi-tooth wheel, the ECU can also reset its position within the
period by detection of missing teeth or an additional reset pulse. In the case of
a missing tooth system, a certain number of missing teeth should be selected
for the ECU to detect. The "reset type" should also be selected. This will be
‘Cam’ if there is a single missing tooth per camshaft revolution, ‘Crank’ if
there is a single tooth per crankshaft revolution, and ‘Period’ if there is a
missing tooth for each ignition event.
• Any other input triggers should be used to stabilise the timing by resetting the
count (tick ‘Reset’).
This is required because the timing sensor may generate several pulses per period, and
therefore the ECU needs a means of determining which pulse corresponds to which
angle measurement.
The ‘minimum pulses before generating any outputs’ should be set such that ECU
will know exactly where the engine is up to before any outputs occur.
The ‘Trail’ tickbox is generally only used in combination with some special trigger
modes (refer to the ‘Special System’ list on the Triggering Settings window).
The settings named ‘cylinder 1 pulses’ and ‘cylinder n/2 pulses’ allow the ECU to
detect cylinder 1 and the opposing cylinder using the ‘Trail’ option (these settings are
unused for many engines, but they are important for many Nissans and a few other
engines). The number of ignition trigger pulses between the period reset and the trail
event are counted for the purposes of generating a ‘cam’ or ‘crank’ reset condition.
The ‘Divide’ tickbox and the ‘Input divisor’ may need to be changed if the trigger
sensor generates more than 30 pulses per period (there are a maximum of 30 entries in
the timing mark table). The ‘Input divisor’ field determines the division ratio (for
example, if it was set to 2, this means that the ECU would ignore every 2nd trigger
pulse). If there are missing teeth on the trigger wheel in question, you should not tick
‘Divide’ on that channel, but instead set the Special System to ‘Divide with missing
teeth’.
Notice how the numbers ‘wrap around’ at 180 degrees because it is a 4 cylinder
engine, and the increment between each entry is 30 degrees (12 teeth * 30 degrees =
360 degrees of crank rotation).
Once you have set up the triggering, you should make sure all outputs are
disconnected, crank the engine, and verify that the RPM indicated in the gauge
window reads a steady and sensible value (usually around 150-250 RPM during
cranking). If you have set up the ignition outputs (see the appropriate section), you
should set the ‘Crank timing’ (on the ‘Corrections’ tabsheet) to a reasonable value
(eg. 10° BTDC), crank the engine and with a timing light, verify that the ignition
pulses occur at the appropriate angle.
The current for the injectors can be set, and the ECU will automatically maintain this
current (regardless of whether the injectors are high impedance or low impedance).
The injector current should typically be set at 0.9A (for one injector per output),
although higher currents can be used if more injectors are installed (for example, 1.9A
if 2 injectors are wired to a single output). The outputs can be set to peak-hold type or
constant current. Peak-hold is preferred, as it decreases the injector dead time. Some
injectors (the standard Suzuki Swift GTi come to mind) require a higher current
(1.5A) to open properly, even with only one injector per output.
Lastly, the ECU only ‘knows’ when it is cranking by the engine speed. Once the
engine has reached a certain speed, the ECU should switch over to normal (‘running’)
operation. However when it goes below a certain speed, the ECU should switch back
into cranking mode to ensure that it recovers. These two RPM points should be set in
the ‘Cranking RPM’ panel on the Triggering Settings window.
Note that if your car was originally naturally aspirated with a MAF sensor, but has
been converted to forced induction, then you must use a MAP sensor instead of the
stock MAF sensor!
As shown below, you must select your load sensing option in WARI on the
‘Analogue Calibrations’ tabsheet:
If you are using an external MAP sensor, the sensor must be calibrated. See the image
below:
If you are using the internal MAP sensor inside the Select ECU, you may need to
adjust the ‘Internal MAP sensor offset’, as shown below:
The default table in the ECU suits a common type of sensor. In practice, it is easiest to
do a ‘sanity check’ when the engine is stopped (and verify that it reads approximately
ambient temperature), and then verify the readings with a thermometer as the engine
warms up. This is most easily done with the water temperature sensor.
To calibrate the sensors properly, you must perform a temperature sweep, and
populate the calibration table (see below):
If you have a table or graph that gives the resistance values of the sensor at different
temperatures, the ADC value can be manually calculated from this resistance. The
formula is given below (for Resistance in Kilo Ohms):
Note that this must be performed for all temperature sensors in use (water temperature
sensor, air temperature and auxiliary temperature). There is no need to enter values
for a sensor which will not be connected.
Any output can be set to either of these. If the output is set to a specific behaviour,
some specific behaviour, as configured in the Special Functions window, will be
effected.
• PWM; and
• Digital.
For the PWM modes, the operator can select the high and low points of the measured
quantity over which the output will change its duty cycle. For example, if you wanted
a water injection pump to vary its injection rate based on MAP, from off completely
at 100 kPa to on completely at 150kPa, you would set it up as shown below:
Below 100kPa, the output will be off all the time, and above 150kPa, the output will
be on all the time. The PWM frequency will be 50Hz, and this can be changed as
well.
In digital modes, the two numbers represent hysteresis limits. Because all signals have
noise, the threshold at which the output should come on should differ from the turn-
off threshold. If you want a shift light, for example, you may want it to come on
above 5000 RPM, but if you turn it off below 5000 RPM, this means that the light
will flicker when the engine is around 5000 RPM due to the noise. Therefore, you
would configure it to turn off at a lower value, say 4900 RPM, as shown below:
After wiring the outputs, the first stage is to go to the Aux Out tabsheet and set all the
outputs to ‘None’, and deselect the ‘Invert’ and ‘PWM’. This ensures that all the
outputs are disabled.
The next step is to turn each output on in turn, and verify that it does what it is
supposed to do (start the fuel pump, activate the thermofan, open a purge valve etc).
This can be done by selecting the ‘Invert’ option with the type still set to ‘None’ (this
will activate the output).
Once this is done, the outputs should be configured as desired for the particular
installation. Some tips:
• One output should be configured as a fuel pump. This will normally be one of
the last four, and fed via a relay. The timing of the fuel pump (duration at start
and duration after receiving the last crank angle pulse) can be controlled in
Special Functions.
• One output would normally be configured as a purge valve for road going
cars. The behaviour of this can be controlled in Special Functions.
• If you are attempting adaptive fuel control, it may be beneficial to connect up
two or three LEDs to some of the outputs; the learning states (RPM OK, Load
OK and Wait) can be easily seen, which can help greatly in tuning quickly.
With 4x VSS inputs, this allows you to have separate master vehicle speed sensors on
each driven wheel, and separate slave vehicle speed sensors on each un-driven wheel
(this is only useful for traction control).
These wheelspeed signals can come from reluctor/inductive sensors (such as typical
ABS sensors) or from hall-effect digital sensors.
The ECU measures the period between pulses and divides this into a number to arrive
at a number proportional to road speed. If the ECU receives no pulses in a one second
period, the speed for that input is set to zero.
To calibrate the proportionality and achieve the VSS reading in km/h, either drive at
50km/hr and press the ‘Learn’ button (see below), or enter an arbitrary number and
adjust it until the vehicle speed indicated at the ECU corresponds to the actual vehicle
speed.
Note that the MVSS value on the gauge window will be the average of MVSS 1 and
MVSS 2, and the SVSS value will be the average of SVSS 1 and SVSS 2.
The signal on a VSS input will be ignored unless the corresponding tickbox is
checked on the Road Speed tabsheet. See below:
Alternatively, you can click ‘Learn’ for each gear (you do not have to be at 1000
RPM to do this).
Whenever a digital input (configured for pit lane speed limiting) is enabled, fuel will
be cut whenever the vehicle speed exceeds the specified value (as in the above
image).
This is set up in the panel shown below, from the Road Speed tabsheet in WARI.
This launch control feature is simply a secondary rev limiter. The ‘Rev limit’ setting
defines the RPM that the launch control rev-limiter aims for.
When the RPM is within 200 RPM of the rev-limit, half of the cylinders will be
killed. When the RPM exceeds the rev-limit, all of the cylinders will be killed. You
can choose to cut fuel and/or ignition to kill the cylinders.
You can specify a road speed above which the launch control rev-limit will be de-
activated.
If there is no slave-speed sensor installed, you can use a master-speed sensor to
determine an approximate road speed. It is also possible to use launch control with no
vehicle speed sensors fitted, but it would only work when the car is stationary (with
the disable speed set to zero), and you would need a switch to disable it.
NOTE: To avoid conflict between the launch control and flat shift rev-limits, it is
necessary to exceed a vehicle speed of 5 before any flat shifting can occur.
Note that there is an optional digital input type called ‘Launch Control Enable’, which
gets logically OR-ed with the ‘Enabled’ tick box shown in the above image. If you
wanted to use the digital input, you would normally disable the tick box so only the
input will have an effect.
There is also a ‘Launch Control Status’ Aux Output type, intended for an LED
indicator, which will be activated whenever the launch rev-limit is in effect.
This is set up in the panel shown below, from the Road Speed tabsheet in WARI.
The purpose of traction control is to prevent excessive wheel slip during hard
acceleration, and when exiting corners. This requires at least one master speed and
one slave speed sensors to be installed, but it is preferable to have 4x VSS signals so
the ECU can account for differences in wheel speed at the inside and outside wheels
during a corner.
The wheel slip is controlled via ignition retardation and/or killing of half the
cylinders, with a PID controller algorithm (refer to the idle control section for more
information on PID control).
- ‘Change-over road speed’ - when the vehicle speed is below or above this value,
different values can be applied for the ‘Maximum Retard’, ‘Target Slip’, ‘Effort to cut
timing by max retard’ and ‘Effort to kill half cylinders’. This allows the harshness of
the system to be increased/decreased at higher speeds.
- ‘Effort to cut timing by max retard’ - as the PID controller effort approaches this
value, the amount of ignition retard will be linearly increased up to the ‘Maximum
Retard’ value, and then it will be clipped. If, for example, the ‘Maximum Retard’ was
set to 20 degrees and the ‘Effort to cut timing by max retard’ was set to 100, a PID
control effort of 50 would generate 10 degrees of ignition retard.
- ‘Effort to kill half cylinders’ - Once the PID controller effort reaches or exceeds this
value, fuel or ignition will be cut in half of the cylinders. NOTE: if you only wanted
to use ignition retard to control the slip, you would set the ‘Effort to kill half
- Typically, one would specify moderate settings when below the ‘Change-Over Road
Speed’ (to control launching wheel-slip), and then have a higher ‘Maximum Retard’
and/or lower values for ‘Effort to cut timing by max retard’ and ‘Effort to kill half
cylinders’ when above the change-over speed (to control wheel-slip upon exiting
corners etc). You may want to set the ‘Effort to kill half cylinders’ to zero when
below the change-over speed, so cylinders will only be cut when slip occurs at higher
speeds.
- The target slip can also be ramped down to the ‘Target wheel slip at max turn’, as
the difference in slave vehicle speeds (on either side of the car) approaches the ‘Slave-
Speed difference at Max Turn’.
- If the ‘Slip adjustment via POT on external input’ tick box is enabled, the target slip
will be taken from the External input (this only applies when above the “min road
speed”), otherwise the value in “target slip” will be used. Typical target slip values
would be between 10% and 20% in normal dry conditions, or between 5% and 10% in
wet conditions, or around 5% in icy conditions.
- ‘Allowable wheel slip error’ - if, for example, this was set to 2%, the slip would be
considered to be on target if it was anywhere between the target and the target + 2.
- ‘Min engine speed’ -> this RPM must be exceeded before traction control starts to
do anything at all.
Note that there is an optional digital input called ‘Traction Control Enable’, which
gets logically OR-ed with the ‘Enabled’ tick box shown in the above image. If you
wanted to use the digital input, you would normally disable the tick box so only the
input will have an effect.
There is also a ‘Traction Control Status’ Aux Output type, intended for an LED
indicator, which will pulse on and off whenever the system is actively reducing slip,
or it will remain on when below the slip target. If traction control is disabled, the
traction control status output will be off.
If multiple inputs are configured to the same function, either input will activate the
same function. By this logic, if no inputs are configured to a particular function, the
function will not be enabled. This allows a neutral switch and a clutch switch to be
connected to separate inputs, and both can be selected as ‘Clutch’, effecting the same
behaviour. Similarly, many electrical loads can be connected to various inputs and
configured as electrical loads.
These are configured in the ‘Digital Inputs’ tabsheet.
The software will give a warning if the target AFR is set beyond the range of reading
of the selected oxygen sensor. In these conditions, the ECU will automatically go to
open loop mode.
The keys used to navigate the fuel and ignition maps are shown below:
Key Function
F5 Swap between the four maps
Cursor keys Move currently selected cell (cursor)
Space Move cursor to closest cell to current engine
operation condition (load and speed)
Page Up/Down Increase/decrease fuel duration by 0.1 ms.
Increase/decrease ignition timing by 1 degree.
Ctrl PgUp / Increase/decrease fuel duration by 0.01 ms.
Ctrl PgDn Increase/decrease ignition timing by 0.2 degree.
Shift + cursor Select a region of the map (as in Excel)
keys
Number keys Direct entry of new value
and decimal
point
Escape Abort entry of new value
Enter Confirm entry of new value (will confirm
automatically if all digits are entered)
You can also copy and paste values using Ctrl+C and Ctrl+V, but this can only be
done in a single instance of the WARI software application.
Additionally, the graphic maps have a green line that represents the current load, and
a red line that represents the current engine speed. The intersection is the current point
in the map being used by the ECU.
Assuming that is OK, you can try to start the engine. Switch both fuel and ignition
into open loop mode. Crank the engine with the throttle closed. Don't be disappointed
if it doesn't start first time; they often don’t.
If the timing is a normal amount (around 10°), and the engine never fires, chances are
you have far too much fuel, far too little fuel, or something trivial wrong (such as no
fuel pressure or stuck injectors).
If the engine fires occasionally but does not start, chances are that it's a fuel mixture
problem. Check that the ECU is still in cranking mode during cranking (check the
cranking heuristic RPM limits in the Triggering Settings window), and adjust the fuel
pulse width in the cranking table on the Corrections tabsheet. Try adjusting it upwards
at first. With too much fuel, the engine should start if the throttle is opened (unless
you gradually foul the plugs).
If the engine fires properly under cranking but stalls very soon (within a second or
two) after starting, chances are it's a fuel mixture problem in the map. Given that an
engine will still run with about double the ‘proper’ amount of fuel, but will misfire if
it's only given 70% or so of its required amount of fuel, it's often safer to increase the
mixture in the fuel map. If you have trouble reading all the gauges at once during the
time it takes to start and subsequently stall, you can hold down the space bar in the
fuel map to see which points it visits, or alternatively log the event to a file and open
the log in a spreadsheet. The most expedient method to experiment with fuel amounts
is to adjust the master trim value until you have a setting that works, and then to apply
this trim to the fuel map.
If you have trouble getting the engine to idle, it may be beneficial to adjust the throttle
bypass (or throttle stop, though this may require you to recalibrate your TPS later) so
Make sure that you either set the deceleration fuel cut to a fairly high RPM so that it
doesn't cut in, or set the minimum coolant temperature for the overrun fuel cut to a
very high value (eg 120 degrees).
The engine hunting at idle is usually due to poor tuning of the fuel map. As it cycles
through different parts of the map, it reaches rich parts and lean parts. Inspecting the
AFR reading in the gauge window should show the mixture oscillating wildly. If this
is not the case, we would expect to see the mixture either too rich all over the range
(expect to see 14.2 or less using a factory sensor, or 11.0 using a 4-wire ‘wideband’
sensor) or too lean all over the range (expect 15.3 or more using a factory sensor, or
17.0 using a 4-wire ‘wideband’ sensor). If the mixture is too lean over the entire
range, try adjusting the cells the ECU is visiting upwards (page up or type in a new
value) to see if it makes a difference. If the AFR reading stays on the lean side, there
may be a problem with the EGO sensor (eg: not connected, not heated type running
too cold, etc).
The idle is often best tuned by hand to minimise the hunting at idle. Unless it is tuned
properly at idle, the engine will hunt. This is due to mixture strength changing in
different parts of the map. Some experimentation with the four points closest the idle
condition will be necessary.
Remember that you can artificially load up the engine at idle by applying electrical
loads to bring the engine directly to a map point. This will enable you to set that value
precisely, and then adjust the load value on the other side of the idle condition.
After tuning the idle condition, the next logical step is to tune the no-load condition.
Gradually open the throttle to hold the engine at 1500 RPM, and tune this point. Then
do the same for 2000 RPM and so on up the rev range.
The next step is to tune the rest of the fuel map. With the engine still running, perform
the following steps:
1. Change the temperature range for the rapid learning mode so that the current
water temperature falls within the range
2. Set the minimum RPM required for learning to 1500 RPM
3. Set an AFR proportional constant of 0 and an integral constant of 4
4. Set the maximum integral correction to 8% (if you are using a tailpipe probe, a
maximum value of 4% may reduce wild hunting at idle)
5. Set the Rapid Learning RPM tolerance to 150 and the load tolerance to about
one third of your load step difference (for example, if your map has points
every 6 kPa, set the load tolerance to 2)
Figure 26: Rapid Learn Settings and Closed Loop Fuel Settings
Once you have enabled Rapid Learn mode, go back to the fuel map (press F5). You
can now attempt to drive the vehicle and see how much of the map has to be changed.
These constraints are fairly intuitive to the tuner as to whether they are met or not. In
addition, there are three other constraints which are not so obvious:
1. The current RPM must be ‘close enough’ to the RPM point in the map;
2. The load value must be ‘close enough’ to the load point in the map;
3. If the ECU has recently moved into a new cell in the map, a certain delay must
have expired.
The RPM and load tolerances are configurable in the Control Window. Rapid Learn
and Slow Converge have separate RPM and load tolerances. The tolerances range
from 0 to half the step size (250 for RPM, and the load step depends on the maximum
MAP value).
• Larger tolerances allow the ECU to learn more quickly, simply because the
engine spends a larger proportion of the time within the tolerance regions.
• Smaller tolerances allow the ECU to learn more accurately, because the
contribution from the adjacent cells is lower when the engine is closer to the
load point.
Thus, it is best to start off rough tuning with wide tolerances (say 150 - 200 RPM, and
1
/3 of the load step), but for normal driving, a lower values are recommended.
Once the engine reaches a new map point, the ECU delays a small amount of time to
wait for initial transients to settle before applying the adaptive fuel behaviour. This
delay is configurable. Similarly, you can set the interval between fuel map
corrections.
• Shorter time delays and intervals allow for more rapid tuning, because the
ECU can learn on transient conditions such as hunting at idle.
• Longer time delays allow the Adaptronic to learn more accurately, as any
contributions from transient conditions will be minimised.
It is best to start with very small time delays such as 150ms/150ms when initially
tuning. During normal driving, once tuned, a delay of 500ms and an interval of 200ms
are recommended.
Because it is very difficult to read the gauges on the window and tell at a glance
whether or not these tolerances are met, the ECU has special outputs intended to help
with tuning. If you configure an auxiliary output as a ‘Learning - RPM OK’ type
The adaptive fuel control mechanism is a form of a closed loop controller. The
parameters for the closed loop controller can also be configured in the Closed-Loop
Fuel Control window. These are the ‘proportional gain’ and ‘integral gain’ terms:
• High proportional gains lead to fast reactions of the ECU to AFR error.
• High proportional gains lead to large fluctuations in mixture strength.
• High integral gains lead to faster convergence of the mixture strength, both in
adaptive modes and normal closed-loop modes.
• Low integral gains lead to less overshoot in mixture strength.
• The maximum integral value, along with the integral gains and proportional
gains, controls the maximum amount of trim that can be added by the fuel
feedback mechanism.
• Proportional gain: 2
• Integral gain: 4
• Maximum integral correction: 4% - 8%
For normal driving, with a tuned map, the recommended values are:
• Proportional gain: 2
• Integral gain: 1
• Maximum integral correction: 4% - 8%
These of course may require some experimentation. For example, you may want to
reduce the constants if your EGO sensor is mounted a large distance from the exhaust
ports (as on a system with extractors, rather than a normal exhaust manifold).
NOTE: If you are having trouble getting the fuel map to converge, here are a few
tips that may help:
• Try using different gain values; if the map is changing too fast and oscillating
back and forward, try smaller gain values and/or smaller maximum integral. If
the map is not changing at all, try using higher gain values.
• Try using different tolerances. If the map is oscillating (that is, the ECU
changes the values one way, then revisits the site and changes them back
Now that the no-load conditions are relatively tuned, once the engine is warmed up, it
should be running properly in closed loop mode. That is, the AFR should be
oscillating about 14.7, but the engine should be running steadily. Save this map on
your laptop/PC!
Now that you know better what the no-load values of the fuel map are, you may want
to readjust some adjacent values by hand before putting the engine on a load.
Assuming you have done this, and that you can blip the throttle to raise the revs (at
least up to 2500 RPM), the next stage is to do some tuning with a load on the engine.
This is best done by leaving the engine at a constant speed, for example 1500 or 2000
RPM, and methodically stepping through the load table, tuning each site at a time.
Once this is done, you have a better estimate of the fuel map values for the given load
points. Unless you have a good reason not to, it would be advised to copy these values
across to the other RPM points for the same load points.
If you do not have access to a dyno, there is another means of achieving a similar
result:
• On a private road, start the vehicle and accelerate up to the desired engine
speed in whichever gear is suitable for the terrain.
• Hold the speed steady by controlling the throttle, over a wide range of load
conditions (hills).
This last method is not as methodical as the previous ones because the load sites are
not visited in turn and there is no guarantee that any load site has actually been
finished, or even visited. If you log the procedure using WARI, you will be able to see
the AFR that was achieved, and the load and RPM (and injector pulse width) at the
same time.
Once you have a basis for the pulse width as a function of load only, you can copy
this to the other RPM points in the fuel map. Then you can continue tuning the other
points.
Alternatively, once the values have been copied, you can try driving the vehicle (on a
private road) normally and have it tune itself. To speed up the process, you can
monitor the three tuning LEDs during driving and try to keep both the OK LEDs on
solidly for as high a proportion of the time as possible.
• For any given load and speed combination, there is an ignition timing that will
provide the optimum torque.
• Firing the ignition after or before this angle will cause a torque reduction.
• Around this peak, the timing is often not very sensitive. For example, at 2000
RPM on one engine a change of 5 degrees around the optimum torque point
only corresponded to a torque reduction of 2%
• At higher loads, there will often be an angle at which any greater ignition
advance will cause knocking. This may be less advanced or more advanced
than the maximum torque point.
• Tuning to the optimum torque peak will often lead to very high NOx
emissions.
Often the best means of tuning the ignition timing is the old-fashioned way; adjusting
it by hand and observing which gives greatest torque. This is best performed on a
dynamometer so that the torque can be measured.
The closed loop and adaptive ignition timing controls are described in the ECU
reference section.
Under the ‘Windows’ menu you can view the current ‘Live Gauges’ which are
important for engine tuning and general diagnosis (shortcut F2).
There is also an ‘ECU Data” window (shortcut F11) which provides some extremely
useful diagnostic information.
Many of the values in the Live Gauges window are self explanatory. Those that aren't
are given below:
The actual value used by the ECU for the closed loop calculations is given by xx.x.
This is taken from the wideband serial input, if connected and operating. Otherwise,
the input from the analogue input is used by default. The first figure (characterised by
xx.x in the above format) is the value used by the ECU. The second figure (yy.y in the
above format) is the value from the analogue input, irrespective of any wideband
serial devices connected. The third figure (zz.z) is the target AFR, and it will be red if
the ECU is currently in open-loop mode, or black if the ECU is in closed loop mode.
In normal operation, the two values (xx.x and yy.y) will read the same value, which is
the ignition timing in degrees before top dead centre. In rotary mode, the first value
The first value (xx.x) is the normal/primary injection duration, and the bracketed
values (yy.y/zz.z) are the secondary injection durations (for staged injection).
The first value (xx.x) indicates the angle sensed from the engine offset from the
reference value. The second value (yy.y) indicates the angle setpoint interpolated
from the VVT target position table. The third value (zz) indicates the duty cycle
applied to the VVT solenoid.
To jump to the fuel/ignition maps you can use the fuel/ign option under this menu, or
simply press F5. It is also possible to view some of the current technical information
by selecting ECU data, (shortcut F11) this can be very useful in diagnosing
installation problems.
As a more rigorous method of using the adaptive tuning function of the ECU, open
the fast tuner under this menu (shortcut F12), make sure adaptive tuning mode is on
(check your settings), and follow the steps on the left. At the bottom left of the screen
you will be able to see the points you have already tuned as they turn bright yellow.
• Upon loading a file, all settings are marked as needing to be written to the
ECU
• At start-up of the WARI software, the settings are marked as needing to be
read from the ECU (unless the first action is to load a file)
• When a setting is modified, that setting is marked as needing to be written to
the ECU
If any settings are marked as needing to be read from or written to the ECU, the status
line will indicate ‘Reading settings (xx%)’ or ‘Updating settings (xx%)’, where ‘xx’ is
100% minus the percentage that remains to be written or read (for example, if 99% of
the settings have been read and 1% remains, the status indicator will read "Reading
settings (99%)".
Any settings on the main form will change and be written automatically as they are
changed. Any settings in a dialogue box (a new window which is brought up in front
of the main form) will need to have ‘Apply’ selected before the changes are sent to
If the ECU is disconnected when the settings are changed, the ECU settings will not
be updated until the ECU is reconnected and a connection is re-established.
Label Meaning
Serial Number Serial number of the ECU hardware itself.
Firmware Version ECU Firmware version loaded into the ECU.
dTPS/dt Rate of change of throttle position (how quickly throttle is being
opened)
dMAP/dt Rate of change of MAP
Target idle (RPM) The target idle RPM (see idle function)
Target MAP (kPa) The target MAP (see boost control function)
The Calculation Trace Window is another useful diagnostic feature, and it can be
reached using the menu ‘Help -> Calculation Trace’. This is also a very useful
diagnostic tool, which incorporates a flow diagram to allow you to see where many
different calculated values originate from. For example, if you see an unexpected fuel
trim value, you can use the calculation trace to determine where it is coming from and
what is contributing to it.
During the firmware upgrade process, the auxiliary outputs will be in the ‘off’ state.
The ignition outputs will be ‘high impedance’: under normal operation they are
electrically the same as an open collector output pulled to 12V via a resistor, and
during flashing this open collector transistor is switched off and the 12V supply to the
resistor is disabled.
To upgrade the firmware of an Adaptronic ECU, you will need to run the Flashing
Utility (from the ‘Firmware’ menu). See below:
The utility will then attempt to reset the ECU automatically, which may take a few
seconds. The software should then display a boot/hardware version string and ECU
serial number. The Flashing Utility will not be able to successfully flash any new
firmware until you see the message saying that the ECU is connected, followed
by the serial number.
Next the firmware file should be loaded. The latest version can be downloaded from
the website, and there will also be a firmware file in the same directory as the WARI
application on the ‘C:’ drive of your laptop or PC. It will be in the form of an
encrypted ‘adf’ file.
The ‘Load’ button should be clicked, and the firmware file should be loaded. Once the
file has been loaded, the ECU can be programmed by clicking the ‘Program’ button.
After this completes, the programming should be verified by clicking the ‘Verify’
button. If there were no errors, the programming operation was successful. Click
‘Done’ so the ECU can resume normal operation. If the Flashing Utility window
disappears before you click ‘Done’, simply open the utility again from the main menu
and then you will be able to click the ‘Done’ button.
Sensor Interfaces
The basis of the ECU operation can be summarised into three parts:
1. Reading inputs
2. Performing calculations, control policies and special behaviour
3. Driving outputs
If the ADC value is less than 40 or greater than 4055, that temperature sensor input is
declared as invalid, and that input will have no reading.
If the measured voltage is outside the range in the table, but still within the acceptable
range of 40 - 4055, the reading is clipped rather than extrapolated.
The External/Spare 0-5V input is used as an alternative for analogue oxygen sensor
inputs and as a general purpose 0-5V input.
The TPS input is linearly interpolated in the same way as the temperature reading
above, however there are only two ADC values, fixed at 0% throttle and 100%
throttle. An example is shown below:
Within the ECU, there are two flags indicating throttle position extremes (one for
closed throttle, one for full open throttle). The closed throttle flag is activated when
the TPS value is less than the closed throttle threshold. For example, if the closed
throttle threshold is set to 1%, the ECU will consider the throttle is closed when the
TPS is 0% only. If the closed throttle threshold is set to 0%, the TPS can not activate
the closed throttle flag. The same condition occurs with the full throttle threshold.
The closed and full throttle flags can also be set by digital inputs. If any digital input
is set to be a closed throttle input and that input is active, the closed throttle flag will
The MAP sensor input is electrically the same as the TPS input. The calculations
performed by the ECU are similar, except for two differences. The first is that the
MAP sensor input has a large amount of filtering performed in the firmware. This
helps maintain faithful fuel metering despite air pulsations within the inlet manifold.
This is often required if there is no physical damper on the pressure line for the MAP
sensor.
The second is that the minimum and maximum values can be set by the user over the
range from 0 kPa to 400 kPa. This allows up to a 4-bar MAP sensor to be installed
and read accurately. A higher pressure MAP sensor could be used however the ECU
would not sense any pressure above 400kPa.
Again, the interpolation is clipped once the bounds of the ADC calibration values are
exceeded, and the thresholds of the detection of sensor or wiring failure are the same
as the other analogue inputs.
The external input also has upper and lower bounds in a similar manner to the MAP
sensor however the range of the external input is much greater.
The following sections show the calculations performed to obtain the AFR from the
oxygen sensor voltage, depending on the mode selected.
Note that if a serial-connected wideband oxygen sensor is selected and connected, the
AFR from it overrides the AFR calculated from the analogue input. This allows the
installer to configure the ECU with a standard oxygen sensor, tune it using their
wideband probe of choice and then disconnect the wideband probe without changing
any wiring.
Table 1: Calibration table used by the ECU in OEM Narrow Band mode
In practice, the actual AFR will vary by a much narrower range than this over this
voltage range, however for operating an engine at stoichiometry, the control algorithm
works effectively.
This mode can be used in conjunction with a 0-5V linearised wideband oxygen
sensor, provided a separate voltage divider is wired in (see the section on wiring the
oxygen sensor). Many aftermarket wideband sensors have a programmable output
which can be set up in this way. However with this mode there is no detection of a
sensor not being up to operating temperature.
This mode also has no detection of the state of the sensor, so may read lean for the
first minute or so as it heats up. Care should be taken when installing this sensor;
there have been reports that if it is mounted directly in the gas stream, the voltage
output will reduce as the exhaust velocity increases, leading to a leaner reading.
Below 0.4V, it is assumed that the sensor is disconnected or an invalid value, and so
the AFR reading is invalid.
This mode can be used in conjunction with a 0-5V linearised wideband oxygen
sensor. Many aftermarket wideband sensors have a programmable output which can
be set up in this way. However with this mode there is no detection of a sensor not
being up to operating temperature.
Each input also needs its function to be selected. If multiple inputs are selected as the
one function, they are logically OR-ed together.
The following table gives an example of this behaviour:
If no input is configured for any given function, that input is considered to be false.
For example, if no input is configured as a clutch/neutral switch, the ECU will always
consider the vehicle to be in-gear with the clutch engaged.
The input configurations for closed and full throttle are discussed in the TPS section.
The ECU will consider the throttle closed if the TPS is below the ‘Closed Threshold’
(typically 1%), or if a digital input configured as ‘Closed throttle’ is active. The same
goes for the full throttle condition, except that the TPS must be above the ‘Full
Throttle Threshold’ (typically 98%) or a digital input configured as ‘Full Throttle’
must be active.
• Clutch: Used as a trigger to enable the idle control or for flat shifting.
• Electrical Load/s: Used as a trigger to increase idle effort and target idle speed.
• A/C switch: Used as a trigger to increase idle effort and enable A/C output
• WOT switch: Used as a trigger for flat shifting, to disable the A/C or flood
clear.
• Closed Throttle Switch: Used as a trigger enable the idle flag and deceleration
fuel cut.
Because the reluctor input pulls the digital input low when triggered, the input must
be selected as a negative/falling digital/reluctor input to operate correctly with a
reluctor pickup.
Each trigger event is flexible in its function, as to whether it represents cylinder phase
information or triggers an ignition/injection event. This is explained earlier in this
manual.
While trigger events still occur, the ECU will consider that the engine is still running.
This will be the case even if trigger events occur on an input which is not selected to
perform any function.
A trigger event resets the fuel pump timer to keep the fuel pump running. Once this
timer has elapsed, the fuel pump is stopped and the RPM is set to zero.
While the engine is running, the RPM is calculated by measuring the time difference
over a ‘period’. This period is the angle between ignition and injection events, and for
a four stroke engine is 720° divided by the number of cylinders (180° for a four
cylinder, four-stroke engine). This is averaged over the previous two periods, that is,
one revolution on a four-cylinder engine, to reduce noise.
The ECU has a flag for whether it considers the engine to be in a ‘cranking’ mode or
not. This flag is set when the RPM falls below ‘Min Run RPM’, and is cleared when
the RPM rises above ‘Max Crank RPM’.
The ECU measures the period between pulses, this is then divided into the number
given by the user to arrive at a number proportional to road speed.
If the ECU receives no pulses in a one second period, the speed for that input is set to
zero.
4.2.0. Introduction
This section describes calculations and special behaviour performed by the ECU. This
is intended so that installers have a thorough understanding of how the ECU operates
and exactly what each of the settings refers to. You may need to periodically refer to
this section while reading other parts of this manual.
There are several different tuning modes that the ECU can use for the fuel and
ignition maps. Refer to the ‘Tuning Modes’ tabsheet in WARI, as shown below:
There are tickboxes to determine if Volumetric Efficiency (VE) tuning will be used
for fuel map 1 and/or fuel map 2, and the cranking fuel table. In VE mode, the values
in the corresponding fuel maps will be percentages of volumetric efficiency.
Otherwise, the values in the fuel maps will be milliseconds of fuel to inject.
In calculating the fuel to send to the injectors, the first step is to ascertain whether to
read the cranking table or the fuel map. This is based on whether the engine is
cranking or not (see section on RPM calculation).
If while cranking, the engine does not start in a certain number of counts, or the
throttle is at WOT, the fuel pulse width is changed to the override value, specified on
the Power Cut tabsheet. This only occurs if the feature is enabled.
Otherwise, if the engine is not in cranking mode, the fuel pulse width (or %VE) is
looked up from the fuel map based on RPM and load.
With the VE tuning mode, you must also specify an engine capacity and injector size
(on the same tabsheet as the tickboxes for enabling VE tuning), and of course you
must tune the VE map itself.
In VE mode, the ECU performs further calculations to determine how many
milliseconds of injector pulse width are needed, based on MAP, engine capacity,
injector size, number of cylinders, target AFR, and of course the Volumetric
Efficiency.
In other words, in VE mode, the value obtained from the fuel map is just one part
of a theoretical calculation of injector pulse width, rather than being the pulse
width itself.
So, the fuel pulse width has now been obtained from the cranking fuel table or fuel
map, incorporating VE where applicable, what happens next?
The calculated “fuel trim” value (in %) is applied on top of the value obtained from
the fuel map (after the Volumetric Efficiency calculation where applicable), and this
final figure is what gets applied to the injectors.
NOTE: This is the calculated fuel value. It may be the case that the fuel has been cut
for some reason, in which case there will be no fuel delivered. The calculated value
remains, however there is no fuel applied.
When the engine is running, the ignition figure is taken from interpolation of the
ignition map, as the fuel is taken from the fuel map. The ‘ignition trim’ is calculated
from the following inputs:
If the timing lock is enabled (see Triggering tabsheet), the calculated ignition angle is
replaced with the timing lock value.
NOTE: Being in Volumetric Efficiency mode will NOT have any affect on the
ignition angle calculation!
Refer to the image below, which shows the Spark Split table on the ‘Corrections’
tabsheet:
If the ignition output pattern is set to a rotary mode, the normal ignition timing value
corresponds to the timing of the leading plug. The spark split, defined as a function of
load and RPM in the Basic Setup tabsheet, is subtracted from the leading plug ignition
angle to arrive at the trailing plug advance angle.
Note: The ignition may be cut at some stage (see Power Cut tabsheet), however this
value will still be calculated.
When the throttle is moved quickly, the MAP sensor may not respond fast enough,
and this can cause a ‘lean spot’ or hesitation. This is why MAP prediction was
introduced. In MAP prediction mode, there is a table of predicted MAP values against
RPM and TPS, as shown below:
You will need to perform data-logs and/or monitor the values on the F2 Gauge
window to determine what MAP values occur at different RPM/TPS points, in steady-
state. During transient throttle events (or if the MAP sensor fails), the ECU will use
the values in this table to come up with a ‘predicted’ MAP value. When the throttle is
blipped at a significant rate (beyond hard-coded thresholds), the Predicted MAP value
will be used for the duration specified by the ‘Transition Time (ms)’, and then the
sensed MAP value will be used again (provided that the MAP sensor is working).
Note that the ‘MAP’ value on the F2 Gauge window will be the value obtained by
combining the Predicted and Sensed MAP values as described above, because this is
the MAP value that is actually used by the ECU.
See also the ‘Asynchronous Accelerator Pump’ section for more details.
Note: If the MAP sensor reading becomes invalid (eg. due to a sensor failure), and
MAP prediction is enabled, the ECU will also use the MAP prediction table for the
steady-state MAP reading until the sensor error is rectified.
With ‘MAP prediction’ disabled (not recommended, unless you don’t have a
potentiometer type TPS):
Refer to the image below (this panel is on the Corrections tabsheet in WARI), and
note that the ‘Asynch Accel. Pump’ in this image is explained separately in the
‘Asynchronous Accelerator Pump section.
In this case, there are two possible sources of acceleration enrichment. One is MAP,
the other is TPS. The time-derivative of each of these variables (how quickly each is
increasing) are multiplied by the appropriate numbers in the settings (‘TPS-based
Enrich’ and ‘MAP-based Enrich’, again in the Corrections tabsheet). This is then fed
Refer to the image below (this panel is on the Corrections tabsheet in WARI):
Refer to the small sub-panel on the right in the image below (this is on the Corrections
tabsheet in WARI):
The time-derivative of the TPS (how quickly the throttle is being opened) is
measured. The current RPM value is measured, and then the asynchronous accelerator
pump duration is interpolated from the table. This table has its own dialogue box, and
is accessed from the Corrections tabsheet. It gives the accelerator pump duration in
milliseconds as a function of the engine speed. This value is then corrected by the air
and water temperature trim percentages.
This is then scaled against the TPS rate. The effect of this is that the maximum fuel
pulse provided will be that in the table, but if the throttle is not being opened quickly
enough, this will be reduced (for example, it may only give half of this value).
The status of each injector is then checked. If the injector is currently ‘on’, then the
duration of this pulse is added to the pulse that the injector is currently performing. If
the injector is ‘off’, a new pulse is triggered. This is done on all injector outputs
simultaneously.
The cut-off of the asynchronous pump refers to the peak TPS percentage that will
allow the asynchronous pulse, i.e. any change starting above this point will not result
in an asynchronous pulse. If the cut-off value is set to 0, then any positive change in
the TPS value will result in an asynchronous pulse (provided the gain conditions are
also met).
The gain of the asynchronous pump refers to the change in TPS value that is required
to inject the squirt duration in the asynchronous table (so a larger gain in this case will
actually lead to shorter asynchronous pulses). If the gain is set to 0, then it is assumed
the gain has not been setup and is taken to be 30.
If all of the above conditions are met, the ECU will operate in closed loop fuel mode.
In closed loop mode, the target AFR is calculated from the target AFR lookup table as
a function of RPM and load (see Target AFR tabsheet). The actual AFR is measured,
and the difference between these two gives the AFR error.
The parameters for the control are given in the ‘Closed Loop Parameters’ dialogue
box. The error is multiplied by the proportional gain, and integrated using the integral
gain. The maximum integral value is calculated so that the maximum trim addition (in
percent) is that given in the dialogue box. For normal operation, the proportional gain
would normally be about 2 - 10, the integral gain about 1, and the maximum trim
about 10%. For fast tuning, the proportional gain should be 0, the integral gain about
4, and the maximum trim about 4%.
The values in the advanced parameters section ‘Closed Loop Parameters’ dialogue
box have the same effects as those listed above however they are four times as
sensitive, this is to allow greater control over large injectors at idle.
The delay before closed loop is the amount of time before the fuel control will go into
closed loop mode once all the conditions are met.
Injector dead is the amount of time it takes for the injector to start flowing after power
is applied, this is a function of the voltage applied to it and as such we can set the
dead time correction for both primary and secondary injectors as a function of battery
voltage under the corrections tab.
Once these conditions are met, the ECU will be in adaptive mode.
The ECU also checks the RPM and load values to check how close the engine is to
the actual map point. When they are within a certain tolerance (this tolerance is
specified in the Adaptive Mode Parameters dialogue box), the ‘Learning load OK’
and ‘Leaning RPM OK’ outputs will be enabled.
If the stabilise timer has elapsed, and both RPM and load are within the specified
tolerance, the ECU will sample the correction made to the trim based on the closed
loop correction, and apply this to the fuel map. The ECU will then reset the timer,
however rather than setting it to elapse after the ‘Stabilise time’, it will elapse after
‘Update period’. This figure then sets how often the ECU updates the fuel map with
corrections.
The selection ‘update other parts of map’ is used for tuning, it will give a base point
equal to the current value, for all untuned points of the same load as the one being
tuned. ‘Ensure higher loads have more fuel’ ensures the fuel curve vs load is
monotonic, by checking all values below the current point and trimming them if
necessary and all values above the current point and adding to them if necessary.
4.2.12.Adaptive Ignition
The adaptive ignition should be used as a tuning aid as in some cases left to its own
devices it can retard/advance ignition to non-optimum levels. It works by dithering
the calculated ignition timing by a fixed amount ‘angle’, and back to the calculated
value every set of ignition events (‘no. of engine periods’). Because the engine drives
a compliant load (through flexible engine mounts and tyres), a change in torque will
cause a phase shift in the engine's rotation. Over a small period of time this
corresponds to a small change in RPM. The RPM is sampled at the beginning, middle
and end of every ignition dither cycle. The difference is calculated; if the RPM is
greater when the ignition is more advanced, this corresponds to an increase in torque
during the advanced ignition period. If the RPM is the same, there is no torque
By default, the ignition dithering will only take place if the conditions for adaptive
ignition are met (that is, minimum/maximum engine speed and minimum/maximum
coolant temperature). When the ignition dithering is not in effect, the Advance Metric
will read zero. Under the ‘Always sense torque’ tickbox is enabled in the Adaptive
Ignition parameters, the dithering will always be active and the Advance Metric will
always be calculated. This is disabled by default as it has a poor effect on idle
smoothness.
Once the advance metric gets above the higher threshold, the advance metric is reset
and the current cell in the ignition map is advanced by 0.2 degrees (slow converge) or
1.0 degrees (rapid learning). The other adaptive parameters such as the RPM and load
tolerance are set as per adaptive fuel control parameters.
- The knock threshold determines the level of knock allowed before the ignition will
be retarded.
- The minimum and maximum rpm values set the conditions for entry into the
adaptive ignition loop.
- Always sense torque will dither the ignition regardless of the conditions, when it is
off dithering will only occur when in adaptive ignition mode.
- Update other parts of map will check that all loads and rpm’s higher are equal or
more advanced, all loads and rpm’s lower are equal or more retarded, if not they will
be changed.
The adaptive ignition system is noisy, to remove some of this noise, there is a filtering
option which uses the number set to determine the percentage that comes from the
sample taken, while the remaining percentage comes from the previous value. The
lower and higher thresholds set the minimum and maximum values that the adaptive
ignition can change the map, the stabilise time sets the time that the ecu needs to be
held at a set rpm and load for the adaptive ignition to occur.
The Select ECU range allows corrections to be made to suit Flex Fuel systems. This
requires a suitable Fuel Composition sensor to be fitted.
Note: If you are running a Flex Fuel system, you must use Volumetric Efficiency
tuning, and you must set up WARI to display lambda rather than AFR, or the
numbers won’t make sense. Refer to the section about Units Preferences.
The Fuel Composition sensor should generate a signal with variable duty cycle and
variable frequency, to represent the composition of the fuel. The sensor should be
connected to one of the last three VSS inputs (MVSS 2, SVSS 1, or SVSS 2), and the
chosen VSS input must be configured as digital, not reluctor.
On the ‘ECU Data’ window (F11), there are live values displayed for the Ethanol
Concentration (‘Eth %’), and the ‘base’ enrichment to achieve current Stoichiometric
AFR (‘Eth Enrich’). Note that the stoichiometric AFR will be 14.7:1 for 0% Ethanol,
and 9.0:1 for 100% Ethanol.
You can choose between two methods of Flex Fuel compensation. The options are:
1) No Correction, only adjust the stoichiometric AFR in VE mode
2) Fixed enrichment and advance (interpolated by ethanol content)
Option 1:
This simply changes the target AFR based on the target lambda specified by the user,
and the stoichiometric AFR derived from the ethanol concentration. This means that
with the same target lambda, the ECU will deliver more fuel to compensate for an
increase in ethanol concentration.
Option 2:
This will do the same as option 1, except that there are additional corrections that you
can set up.
When cranking, the ECU will interpolate between the ‘Additional enrichment on cold
cranking’ (20 degrees coolant temp) and the ‘Additional enrichment on hot cranking’
(60 degrees coolant temp) to arrive at an enrichment amount for 85% ethanol, and that
value will be scaled by the actual ethanol concentration. The Flex Fuel settings will
make no changes to the ignition timing when cranking.
When the engine is running, the ‘Enrichment at 85% ethanol concentration’ will be
scaled by the actual concentration to come up with an additional enrichment, and the
same will occur with the ‘Ignition advance at 85% ethanol concentration’ to come up
with an additional trim to the ignition timing.
1. Bringing the engine speed above the ‘Hard Rev Limit’ (engine speed must be
brought below this figure minus the ‘Hard Hysteresis’ to reinstate engine
power);
2. Bringing the engine speed above the ‘Soft Rev Limit’ will cause a partial cut
(every second cylinder, and then engine speed must be brought below this
figure minus the ‘Soft Hysteresis’ to reinstate engine power);
3. Bringing the engine speed above the ‘Cold Rev Limit’ when the water
temperature is below the ‘Cold Temperature’ (if there is no water temperature
input available, this test is skipped);
4. Bringing the engine speed above the ‘Turbo Timeout Rev Limit’ when the
turbo timer is in operation;
5. Bringing the engine speed above the ‘Flat Shift Min RPM’ when the engine is
at full throttle and a clutch/neutral input is active (if launch control is enabled,
a vehicle speed of 5 must also be exceeded for a flat shift power cut to occur);
6. Bringing the engine speed above the launch control ‘rev limit’, with launch
control enabled (a soft rev-limit will occur automatically within 200RPM of
the actual launch control rev limit);
7. Bringing the MAP above the ‘Instant Overboost power cut’ value;
8. Bringing the MAP above the ‘1 sec Overboost power cut’ value for 1 second;
9. Bringing the vehicle speed above the ‘Pit Lane speed limit’, with a
corresponding digital input activated;
10. Holding the WOT condition while cranking (if the feature is enabled, and
‘Don't cut but reduce fuel pulse width’ is disabled);
11. After the prescribed number of cranks if the engine does not fire (if the feature
is enabled, and ‘Don't cut but reduce fuel pulse width’ is disabled);
12. Under throttle-off conditions (see below).
The throttle-off power cut (also called overrun) requires that the following conditions
are met:
1. The engine speed must have gone above ‘RPM Higher’ (power will be
reinstated when the engine speed falls below ‘RPM Lower’);
2. The throttle must be closed (either by TPS being below the closed throttle
threshold, or a digital input configured as a Closed Throttle input being
active);
3. The water temperature must be above the ‘Minimum water temperature’ (if
there is no water temperature available, this test is skipped);
4. The air conditioner output must be disabled, if the ‘Not when A/C is on’
option is selected;
5. There must be no input configured as a clutch/neutral input which is active, if
the ‘Only when in gear’ option is selected;
A special power cut can also be added to cut fuel and ignition if the ignition switch is
off.
If this ‘trigger timeout’ figure is set less than the duration between triggers at the
lowest operational speed (ie, during cranking), the engine will not be able to start. A
value of about 200ms is recommended.
Then if an auxiliary output is set to be an air conditioner, that output will be activated
when the above conditions are met. The A/C output flag being set will also affect the
idle control and the throttle-off power cut.
1. The RPM must be above the ‘Minimum RPM’ (on the Special Outputs
tabsheet);
2. The TPS must be above the ‘Minimum TPS’ (on the Special Outputs tabsheet
- if there is no available TPS value, this test is skipped);
3. The water temperature must be above the ‘Minimum water temp’ (if there is
no available water temp value, the purge valve is disabled);
4. If any input is configured as a clutch/neutral input, none of them may be active
(ie, vehicle must be in gear if there is a clutch/neutral switch configured);
5. The manifold pressure must be atmospheric or less (ie. no boost).
On the Special Outputs tabsheet, there is an option for the duration, in seconds, of the
PRCV. Any auxiliary output selected as a PRCV output will be activated while the
engine is stopped, and for that duration after the engine fires (that is, leaves the
‘cranking’ state).
The normal state of the blow-off valve state machine is ‘cruising’. This happens at
light loads (including idle). When the MAP goes above the ‘MAP Prime’ value, a
transition is made to the ‘boosting’ state. During ‘cruising’ state, the blow-off valve
output is off. The state will always be ‘cruising’ if there is no valid MAP value.
In the ‘boosting’ state, the blow-off valve output is also off. If the MAP falls below
the ‘MAP Prime’ value, the TPS is checked. If there is no valid TPS reading, or the
TPS is below the ‘TPS threshold’, a transition is made to the ‘venting’ state.
Otherwise, if the MAP falls below the ‘MAP Prime’ value and the TPS is above the
‘TPS threshold’, the ECU returns to the ‘cruising’ state. If the MAP remains above
the ‘MAP Prime’ value, it remains in the ‘boosting’ state.
In the ‘venting’ state, the blow-off valve output is as the mode is selected. This can be
on (for ‘Normal’ mode), off (for ‘Off’ mode) or changing between on and off (for
‘Flutter’ mode). Any of the following events will take the ECU back to the ‘cruising’
state:
1. The blow-off valve has been venting for the specified duration;
2. TPS goes above the ‘TPS threshold’;
3. MAP goes above ‘MAP Prime’.
Note that during turbo timeout operation, the ECU can no longer detect the state of
the ignition switch, as the switch is being short circuited by the relay. If the user
wishes to reapply the ignition, he or she can do so, however the ECU will remain in
turbo timeout mode until it is taken out of turbo timeout mode.
For this mode to operate, no auxiliary input may be configured as an ‘Ignition Switch’
(doing so will cause the ECU to use Series Mode). An auxiliary output should drive a
relay coil, the contacts of which connect in parallel with the ignition switch contacts.
This auxiliary output should be configured as a turbo timer.
1. The water temperature falls below the specified ‘Minimum Water Temp’ (if
there is no water temperature value available, this test is skipped);
2. The auxiliary temperature falls below the specified value ‘Minimum Aux
Temp’ (if there is no auxiliary temperature value available, this test is
skipped);
3. The engine stalls;
4. The time period elapses;
Note that during a turbo timeout, an additional rev limit will apply. This is intended to
reduce risk of theft of the vehicle during turbo timeout, although this may have no real
benefit in practice.
The Select ECUs have two VVT channels. They each have their own target VVT
angles, but they share the same control parameters, and both must either be open loop
or closed loop. If a separate RPM-based open loop function is required in conjunction
with closed loop VVT, this can be effected by using the wastegate control output in
open loop mode.
Open loop VVT mode is selected by setting all P, I and D values equal to zero. The
VVT angles, as a function of RPM, then become the duty cycle that is output directly
to the VVT outputs.
All VVT outputs will be set to zero duty cycle when the engine is stationary.
There are four components of the closed loop VVT control algorithm in the Select
ECUs. These are as follows:
The setpoint is an angle, in degrees. This is a function of engine speed, and has set
points every 500 RPM (unless you choose to utilise one of the fuel or ignition maps).
It is calculated in degrees before top dead centre; hence higher values indicate a more
advanced camshaft. A value of zero is supposed to indicate the camshaft in its
‘neutral’ position, with no control effort applied.
The controller is a PID controller, which allows for different gains at different RPM.
The points where the gains can be set are 1000, 3000, 5000 and 7000 RPM. Between
these points, the gain values are interpolated. Below 1000 RPM, the 1000 RPM values
are taken, and above 7000 RPM, the 7000 RPM values are used.
The reason for having multiple gains is because the oil pressure (and therefore the
responsiveness of the VVT solenoid) will change with RPM.
The angle is detected by calculating the time difference between the index pulse on
the camshaft with respect to the crankshaft position. The crankshaft position is
determined in the usual manner by use of a trigger event angle table and a crankshaft
position sensor. Usually the home position will be marked on the crank angle sensor
by means of a missing tooth.
The camshaft angle for VVT channel 1 or 2 is detected by selecting the ‘VVT 1’ or
‘VVT 2’ option in the ‘Triggering Settings’ window for the input connected to the
camshaft sensor. Note that this angle must be in a constant position with respect to top
dead centre, for a given camshaft to crankshaft angle.
This is offset by the ‘Reference’ position for each channel. This reference position is
the nominal position of the timing pulse of the camshaft, with respect to the
crankshaft, in the camshaft's ‘home’ position (that is, with no control effort applied to
the solenoid).
1. Disable the VVT outputs (set the Aux Output type for each output to ‘None’)
2. Ensure that the triggering timing mark table is correct and that the correct
triggers for VVT 1 and/or VVT 2 are selected
3. Start the engine and allow it to idle with both camshafts in their ‘natural’
positions
4. Ensure that the base ignition timing is set correctly (by using the timing lock
feature or otherwise)
5. Zero the ‘Reference’ value in the appropriate VVT panel for this VVT channel
The control loop is a PID controller. This section will not explain how to set up the
gains of a PID controller.
The error term is calculated by taking the current VVT angle (which is offset from the
home position, as described above) and subtracting the angle setpoint (which is
interpolated from the table).
The PID gains are calculated by interpolating the PID gain table against the engine
speed, as described earlier.
From the error, the error history and the PID gains, a control effort output is
determined. This is a duty cycle.
The integrator within the PID controller will progress no further under the following
conditions:
1. The error is positive, and the output value for that channel is at the minimum
of its range
2. The error is negative, and the output value for that channel is at the maximum
of its range
The gain can be varied as a function of engine speed for the reason that as oil pressure
varies with engine speed and the dynamics of the system change, the gain that is
required to achieve acceptable response at low engine speeds causes instability at
higher engine speeds.
This control effort value is then added to the ‘default’ duty cycle to arrive at the
output duty cycle. This is clipped within the range of the minimum and maximum
duty cycle percentages before being applied to the relevant output.
The maximum and minimum values should be kept within a range so that the time for
the integrator to come out of saturation is minimised. For example, if the valve at 60%
duty cycle is completely shut off, there is no benefit to the controller to be able to
In this example, the timing sensed by each camshaft is 24.70°, advanced from the
reference position. The setpoint of VVT1 is 10°. Hence the camshaft is further
advanced than it should be. The 52% figure indicates the duty cycle applied to the
VVT 1 solenoid.
The setpoint of VVT2 is 0°, indicating again that the cam is too far advanced with
respect to the setpoint. The ECU will be attempting to drive that output at a higher
duty cycle. It is currently at 80%, which would be the limit set in the parameters.
The series 5 to series 8 MOP consist of a 6 wire stepper motor, and a 3-wire feedback
position potentiometer. The feedback position is wired as a 0-5V input, similar to a
TPS. The wiper of this potentiometer must be connected to the EXT input on the
ECU.
Being a stepper motor, it requires 4 auxiliary outputs from the ECU, however two of
these are merely logical inversions of the first two. The first two aux output types are
selected by selecting MOP1 or MOP2. These must connect to two separate windings
on the stepper motor. The inverse of each must connect to the other end of the
appropriate winding.
Then, the Ext In calibration can be adjusted for the oil position calibration for the
sensor. These values, for the Select ECUs, are:
The position of the oil metering pump then is a table of RPM vs MAP.
The tables below show the factory positions of the MOP settings:
Figure 40: MOP factory position for Series 5 (left) and Series 6 (right)
In PWM mode, the output will be at 0% duty cycle (ie, off) below the lower
threshold, and at 100% duty cycle (ie, on) above the upper threshold. Between these
two values, the duty cycle is linearly interpolated. This is shown graphically in the
software.
In hysteretic mode, the output will come on when the variable exceeds the upper
threshold, and will turn off when the variable falls below the lower threshold.
4.6.0.0. Introduction
Idle control is a difficult problem, because of the different amounts of idle air that an
engine will need under different conditions, the difficulty in knowing when to control
the idle speed, the number of different idle actuators available and the time delay
between making a change to idle bypass value and the engine changing speed.
Because the idle may be controlled using a PWM solenoid valve (which has a duty
cycle) or a stepper motor (which has a number of steps), the generic term ‘effort’ will
be used to refer to either duty cycle or step number.
1. Base idle effort - these are the default values and should be the basic values
that the engine needs to idle at the correct RPM with no electrical loads, this is
shown graphically in the software if the graph selected is ‘Open loop idle
effort vs temperature’. If the water temperature value is not available, this
extra effort will be added in full;
2. Extra effort after cranking - this allows the idle valve to open for a short
period of time after the engine is started. This figure will linearly decay to zero
over the set time period. During this time, closed loop idle speed control will
be disabled, as the engine will idle higher than the target idle speed. This is
shown graphically if the graph selected is ‘Open loop idle effort vs time’,
where zero seconds is the point of engine fire;
3. Extra effort for A/C - this allows some extra air to be admitted when the air
conditioner output is on, and will be added on top of any other idle effort
additions;
4. Extra effort for electrical loads 1-3 - these efforts will be added if any input
selected as an electrical load is active;
5. Extra effort for low batt - this effort will be added if the supply voltage at the
ECU input is less than 12.0V;
6. Throttle Cracker - if the ‘Throttle Cracker’ is enabled, a certain idle effort will
be added to the idle value when the vehicle is in motion (ie, MVSS is not
zero).
7. There is also an option to correct the idle effort based on the air temperature,
but this is not usually required.
The ECU will only actively control idle speed under the following conditions:
Once these above conditions are met, the closed loop idle speed will be controlled in a
closed loop mode by the ECU.
4.6.0.4. Closed Loop Idle Speed Parameters - Target Idle Speed
The target idle speed is governed by the following settings:
1. Target idle speed when engine is hot and cold, as a function of water
temperature (if there is no valid water temperature value, the cold target idle
speed is assumed);
2. An extra speed can be added for the case of electrical loads (this would
normally be about 100 RPM);
3. An extra speed can be added for the case of A/C being on
4. An extra speed can be added for the case of a low battery supply.
5.
Note that if you choose to use ignition timing for the PD part of the PID controller,
you should try to make the main ignition map as flat as possible around the idle speed
region of the map.
One way to configure the PID gain values is to first increase the proportional gain
until the system becomes unstable (idle speed hunts), then increase the differential
gain to stabilise the system until it is sufficiently stable. The integral gain can then be
increased as far as possible while maintaining stability - if necessary the differential
gain can be increased.
The limiting factor will be the maximum amount of differential gain that can be
added. If too much is added, the system will become unstable again. This places the
maximum limit on the amount of proportional and integral gain that can be set, which
ultimately limits how quickly and accurately the idle speed can be controlled.
Note that idle speed control should only be performed once the engine is tuned
properly at the idle condition. If the engine is not tuned properly, it will hunt in any
case, which makes idle control extremely difficult.
There are also two ‘Recovery’ conditions, which give an extra amount of air that will
be admitted when the engine speed is below a certain RPM. These should not be used
for actual idle control; they should really only be used to stop an engine from stalling.
These will react immediately, unlike the closed loop control algorithm
To drive a stepper motor, four auxiliary outputs will be required. There are currently
two output options in the ECU, whose step patterns are shown below. In the following
table, a ‘1’ corresponds to an activated output (that is, an output held low):
The step pattern for a standard 6-wire stepper motor (as used on Mitsubishi) is the
‘Hold’ type output, which always energises two coils at a time. The ‘Pulse’ type
output energises one coil at a time, however it does not keep the coil energised.
Each step will be at least the duration of the ‘Step Period’ specified in the Idle
tabsheet. This is typically 11ms for a Mitsubishi type idle motor, but some motors will
skip steps if the step period is too fast.
If the idle motor is at its end of travel, the ECU will deliver a pulse to it once every
few seconds, to ensure that the motor actually remains there. The purpose of this is
that if some poles are skipped during motor excursion, the position of the motor will
not be as the ECU thinks it is. The situation could occur that under closed loop
operation, the ECU may believe it has fully closed the idle valve, whereas the idle
valve is actually still slightly open (due to the skipped poles). Hence by continuing to
step in the ‘closed’ direction, the motor's position will eventually match up with that
expected by the ECU. It is only an issue at the ends of travel, because otherwise the
closed loop control can be used to compensate for any skipped poles.
As with fuel control, ignition control and idle speed control, a combination of feed-
forward and feedback is used.
If there is no valid MAP value, the closed loop operation is disabled and the open
loop mode only is used.
For a discussion on the operation of the PID controller, see the description for closed
loop idle control.
4.7.0.3. Push-To-Pass
This feature allows you to set up a ‘Push-To-Pass’ digital input, and whenever that
input is enabled you will get a temporary increase in boost. The settings for this
feature can be found on the ‘Special Functions’ tabsheet, as shown below:
The push-to-pass wastegate duty cycle will override all other wastegate duty cycle
calculations for the specified push-to-pass duration (when the input is enabled).
There are four dedicated ignition outputs. These can be configured to fire
simultaneously (as on an engine with a distributor) or alternately (as on a 4 cylinder,
wasted spark engine), leading/trailing as in a rotary. In some modes, the third ignition
output can be configured as a tachometer function. They can also be configured to fire
in a cycle of three, which is suitable for direct fire ignition on a three cylinder engine,
wasted spark on a six cylinder engine, or leading trailing with addressing on rotary
When using a two-rotor engine, with addressing igniters, the coil address sets the plug
to fire based on wether it is high or low, to offset this addressing so that it
encompasses when the plug should be fired, changing the offset address from 0 to 1, 1
to -3, -3 to -4, -4 to -5, -5 to -6 shifts the addressing right one trigger event, changing
the offset address from 0 to -1, 1 to -2, -3 to 2, -4 to 3, -5 to 4, -6 to 5 changes the
phase. The split between the leading and trailing sparks can be changed based on load
and rpm under the basic setup tab, the value entered will move the trailing plug back
the specified degrees.
Each output will turn on a fixed amount of time (the ‘dwell time’, configurable in the
Trigger/Output window) before the spark is to fire. The output will then turn off at the
angle at which the output is supposed to fire, discharging the coil and generating the
spark.
The outputs can be configured as rising edge or falling edge sensitive. Most igniters
will be falling edge sensitive; that is, the output goes high to begin charging the coil,
and low again (falling edge) to generate the spark. This option is left in for certain
igniters that were intended to work with Kettering ignition (points), and are triggered
by the rising edge. Honda igniters seem to use this less common logical sense.
Ign 1, "Alternate",
normal (falling edge)
Ign 2, "Alternate",
normal (falling edge)
Ign 1, "Sequential",
normal (falling edge)
The above example shows a configuration for a twelve cylinder engine, where each
injector output is fired once every three periods.
The current needed for most injectors is about 0.9 Amps. To achieve this, there are a
number of selections which the user can make based on how their injectors are wired
up. Normally one would select an injector current of 0.9 Amps for one injector per
output, or 1.9 Amps for two injectors paired together on each output. The other
injector current choices are not used often.
When using staged injection, you should only use the alternate full speed or batch
injection sequences.
The preferred method for tuning staged injection mode is VE tuning and covered
earlier in this document.
If you are running a 2-rotor Wankel engine with staged injection, the injector outputs
should be wired as follows:
Note: This section of the manual only applies to the 440 Universal Select ECU, which
needs to be wired up using a flying loom.
|If you have a Plug-In Select ECU, there are pinout tables available for each Plug-In
ECU model, which should provide sufficient information on how those ECUs operate
using the applicable factory ECU plug and harness (these pinouts can be accessed
from the menu ‘Help -> Open Pinout for this ECU’).
The pinout for the 440 Universal Select is shown below, along with a typical wiring
diagram:
• One 22-way dual-row connector, which accepts the plug for the first of the
two bundles in the 440 Universal Select flying loom;
• One 26-way dual-row connector, which accepts the plug for the second of the
two bundles in the 440 Universal Select flying loom;
• Two 2.5mm jacks, one for serial data in from peripheral devices (such as
wideband oxygen sensors), and the other for serial data out to external
dashboards or data-loggers;
• One 3.5mm headphone jack for listening to knock.
Each vehicle will be different, but what follows is a set of general guidelines that will
help with most vehicles and installations.
• Work out which loom you need to order in advance. There are two versions of
the loom available; a 0.5m long version and a 2m long version. The 0.5m
version is intended for installers connecting to the existing vehicle harness;
whereas the 2m version is intended for installers running a new harness. If in
doubt, it would be advisable to order the 2m version. The difference in price is
not four times because most of the cost is in the termination of the wires in the
plugs rather than the cable itself.
• If you are wiring into an existing harness, do your best to obtain a wiring
diagram of the existing wiring. This may include obtaining the wiring diagram
of the vehicle if it's a factory loom, or in the worst case, disconnecting the
wires and following them to find out which ones connect to which sensors and
actuators.
• Whether you intend running a new loom or adding to the existing loom, it will
help to draw a diagram of what you intend to do. For example, if you are
connecting to an existing harness, it may be sufficient to take the example
wiring diagram below and mark on it the factory loom colours. If you are
running your own loom, you may want to write down functions for the
auxiliary outputs.
• Do NOT connect one side of the thermistor to ground at the engine block - the
only connection to ground must be through the ECU. If poor grounding
conventions are followed, large amounts of noise will result, leading to
fluctuating temperature readings.
• It is most important to connect the water temperature sensor. Without it, there
will be no temperature-based enrichment, and the engine will be very difficult
to start when cold, or run very rich when hot.
• The air temperature sensor can be left disconnected if there is no sensor
available. It will however improve general drivability (idle quality, fuel
mixture consistency etc) if installed.
The ECU has a 5V supply output wire which can be used to power the TPS. The TPS
is traditionally wired so that full throttle gives the highest voltage on the signal wire,
and closed throttle gives the lowest voltage.
When using a standard Delco MAP sensor, the two outside terminals are the ground
and +5V connections and the centre is the signal output. Again, it is convention to
wire the unit so that the maximum pressure (atmospheric on a naturally aspirated car)
gives the highest voltage, and that vacuum delivers the lowest voltage.
If you have a MAP sensor of unknown pin configuration, remember that there are
only 6 possible permutations of the pins. To simplify the task, it may help to measure
the resistance between all the pairs of pins. The lowest reading (normally around
1.5k ) will likely be the +5V and ground connections. If the resistance reads the
same with either polarity of the multimeter, you can probably pick a polarity at
random and wire it up using alligator leads, and verify the voltage at the remaining
pin, under atmospheric and vacuum. On the Delco/GM sensors, the A pin is the
ground, B is the signal and C is the supply (as shown on the wiring diagram).
Hall Effect and optical sensors give a digital pulse to ground. The following tips may
be useful:
Reluctor sensors generate a voltage spike. The voltage across the reluctor coil
normally sits a zero Volts. As the tooth approaches the pickup, the voltage increases.
The peak voltage will be somewhere between 0.5V and 50V, depending on engine
speed and the type of reluctor. When the tooth passes the middle of the pickup, the
voltage suddenly swings negative. As the tooth recedes from the pickup, the voltage
increases back to zero. See below:
• For reluctor sensors, there will usually be two wires, where the positive side
should go to the appropriate CAS input on the ECU, and the negative side
should go to sensor ground.
• In many cases (eg B5 DOHC, 4AGE, 4EFTE), the reluctor will have three
pickups, whose grounds are already connected together. Therefore, the sensor
has a 4-wire connector. To determine which wire is which, one can use a
multimeter set to the resistance range (2k ). The resistance between any two
coil positive pins will be double that between a coil positive and the common
ground. For example if the following measurements are made:
o pin 1 to pin 2 is 170
o pin 1 to pin 3 is 170
o pin 1 to pin 4 is 170
o pin 2 to pin 3 is 340
o pin 2 to pin 4 is 340
o pin 3 to pin 4 is 340
then it would appear that pin 1 is the common ground, and pins 2, 3 and 4 are
the outputs.
• Make sure that the polarity is NOT as shown below. If the waveform is
inverted, the ECU will not trigger reliably from the pulse. If the reluctor has
all the wires coming out of it (eg 3 coils would require 6 wires), then it should
be possible to reconnect the common to the other side of the coils. Most
reluctors are not of this type, however Honda use inverted outputs (as shown
below).
• These inputs have an internal pull-up, so they are ‘high’ if left not connected.
In the settings, you can select whether the inputs are ‘active low’ (default -
used when an input is shorted to ground to turn it on) or ‘active high’ (used for
an input that is normally shorted to ground, and is raised when it is active).
• For example, to connect a clutch switch that shorts to ground, merely connect
the switch contact to the digital input.
• To connect a headlight (to increase the idle speed), find the side of the switch
that goes to +12V when the headlights are on, and wire this into the ECU
input. NOTE: you must also configure the settings for this input to be
‘active high’.
The outputs are current regulated, and the current is controlled by a setting. If you
intend connecting two injectors to a single output, you have two options:
The injector outputs have been designed so that they can be left ‘live" when the
ignition is switched off. However, there will be a small amount of current drain. This
is around 0.4mA in total. This current drain exists because of the voltage sensing
circuitry, for detection of injector failure.
The four wires, labelled Inj 1, Inj 2, Inj 3 and Inj 4, refer to the firing sequence, not
the cylinder numbers. Therefore, if your engine's firing order is 1-3-4-2, you will need
to connect the injectors as follows:
• The high current outputs have a maximum load of 7A resistive (simple loads
like globes) or 3A inductive (anything with coils in it, eg. motors and
solenoids).
• The low current outputs have a maximum current of 200mA, and so are
suitable for driving light loads such as relay coils and LED indicators (with
series resistors). None has PWM capability.
• They may be connected to outputs that are switched with ignition or always
powered up.
• These are open-collector outputs, so they also pull to ground when the output
is enabled. They are back-EMF suppressed, so are suitable for driving
inductive loads such as relay coils.
• The conventional method of wiring a relay output is to connect one side of the
coil to the ignition positive line, and the other side to the auxiliary output of
the ECU.
• Strip back the sheath on the EGO sensor cable from the ECU, and cut off the
braid, leaving just the centre conductor
• Insulate any loose strands of the braid, by shrinking a piece of heat-shrink over
the end of the sheath
• Connect the central conductor to the EGO sensor, either by crimping a spade
connector on the end or whatever is suitable for your particular sensor.
• Perform the same steps as above to prepare the end of the EGO sensor cable.
• Find out which wires are the heater wires on the sensor. This can be performed
by measuring the resistance between the pins on the plug. Usually, the heater
resistance will be around 6 , and the sensor will read open circuit when cold.
• Connect the EGO sensor wire from the ECU to the pin that measures open
circuit on the sensor.
• Confirm that both the other two pins are isolated from the body of the sensor
(using the resistance range of a multimeter). If so, connect a 12V ignition line
and Ground to the other two pins. If not, find which of the two pins is
connected to the sensor body (0 ), and connect this pin to Ground and the
other pin to ignition switched 12V.
• This assumes the standard colour codes - two white wires, one grey wire and
one black wire.
• First determine whether or not the sensor output is isolated from ground.
Measure the resistance between the grey wire and the sensor body. If it is open
circuit, you have a proper 4-wire sensor. If it is short circuit, your sensor is a
3-wire sensor with an extra wire. In this case, the black wire is the signal wire
and the two white wires are the heater wires. Do not connect the grey wire.
Connect the sensor as the 3-wire description above.
• Assuming you have a sensor with an isolated output, you should connect the
two white wires to switched +12V and ground.
• Strip back the sheath of the EGO sensor cable from the ECU, but do not cut
the braid. Instead, twist the braid so that it forms another conductor.
• Shrink a length of heatshrink around the braid, to insulate it from other
conductors.
• Shrink a length of heatshrink over the join, to insulate any exposed braid.
• Connect these to the sensor, either by using crimp terminals or whatever is
used on your sensor. The signal wire (central conductor of the EGO cable
from the ECU) should connect to the black wire on the sensor; the ground
(braid) should connect to the grey wire on the sensor, and the two white wires
connect to ignition positive and ground.
The secondary serial port is one of the 2.5mm jacks (Serial In).
The Innovate devices have a 2.5mm jack of their own, so they can be connected
straight through with the corresponding cable. However, most other types of
wideband oxygen sensor controllers have a ‘DB9’ 9-pin serial port, which means that
you may need to use a gender-changer and/or adaptor cable to be able to connect into
the 2.5mm Serial In jack on the Adaptronic Select ECUs.
The following serial protocols are currently supported through this serial port:
The serial connection is preferable to an analogue connection because the ECU can
determine if the sensor output is valid by other information in the serial packet (for
example, sensor temperature), and default to the analogue input (or indicate an invalid
reading) if no information is available. With an analogue input, there is not usually a
way for the ECU to determine if the sensor is giving valid information or not.
There are off-the-shelf devices available which contain an ELM327 chip, which is
basically an ‘OBD to RS232 Interpreter’. This device is designed to allow
communications between an OBD connector and an RS232 connection.
If one of these devices is connected to the secondary serial port of the ECU, and set to
‘ELM327 @ 38400 baud’, the ECU will periodically send a command every 11
seconds to clear any fault codes stored in the factory ECU, often before they can
cause the fault light to illuminate on the dashboard. This is useful for ‘piggyback’
installations whereby the factory ECU needs to be retained to control certain things on
the vehicle, such as an automatic transmission. There is also a similar secondary serial
port mode which only clears the fault codes once at startup (this is required in some
cases if the vehicle’s OBD/CAN bus doesn’t like to be ‘hogged’ continually).
An Innovate LC-1 wideband oxygen sensor can be chained in series with a TC-4
device. If you wish to do so, the TC-4 must be placed at the ECU end of the
chain.