Sale ends todayGet 30% off any course (excluding packages)

Ends in --- --- ---

MoTeC M1 Software Tutorial: Idle Speed Control

Watch This Course

$229 USD $114.50 USD

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

Idle Speed Control


00:00 Before we discuss the idle speed control system on the M1, it is worth taking a minute to discuss what we are trying to achieve with idle speed control.
00:10 If we have no means of controlling idle speed, the actual engine rpm can fluctuate dramatically with changes in engine temperature as well as changes in load such as when the air conditioning switches in.
00:23 In order to prevent these fluctuations and provide a stable and controlled idle speed, the ECU needs a way of controlling the airflow into the engine.
00:33 Typically this is done with either an idle speed control solenoid that can bypass air around the throttle plate, or in drive by wire applications it can be achieved directly by moving the throttle plate.
00:46 The M1 also offers a separate system called ‘Idle Ignition Control’ which alters the ignition timing to effect a change in idle speed.
00:56 The idle ignition control element is used to correct instantaneous errors between the target and actual idle speed, then the air bypass element catches up and the ignition timing returns to normal.
01:09 For the best control of idle speed, both systems can be combined, however just using idle ignition control on its own has proven to be remarkably simple and effective in some race applications with no provision for an idle speed control solenoid.
01:25 Now we have some idea of how idle speed control is achieved, we will look at how it can be set up in the M1.
01:33 The idle speed control system is configured across three different worksheets ‘Idle Aim’, ‘Idle Ignition’ and ‘Idle Actuator’ and these can be found in the ‘Engine Systems’ workbook.
01:46 This module will look at how to configure and calibrate this system correctly.
01:52 The first place to start is on the ‘Idle Aim’ worksheet which defines the target idle speed as well as when the ECU will go into idle speed control mode.
02:02 Let’s start by looking at the ‘Idle Aim Main’ table.
02:06 This shouldn’t need too much explaining and is simply the target or desired engine speed we want at various coolant temperatures.
02:14 We can also use the ‘Engine Post Start Idle Aim Compensation’ table below to increase the target idle speed for a period of time after startup.
02:24 Note that this is a compensation table and adds to the ‘Idle Aim Main’ value.
02:30 Next we will look at the idle activation parameters.
02:33 These are the parameters that tell the ECU when idle speed control should be active.
02:39 Normally we would only want the idle speed control system to function when the throttle is closed and we can use the ‘Activate Throttle Pedal Threshold’ parameter to achieve this.
02:49 We need to set it high enough that idle speed control will be maintained as the TPS input naturally fluctuates a little.
02:57 A value of around one percent here is a pretty starting point.
03:01 If you are using a drive by wire throttle system, this should be set to zero.
03:07 The ‘Throttle Pedal Hysteresis’ defines how much the ‘Pedal Threshold’ will need to be exceeded by to exit idle speed control mode.
03:16 Normally a value of zero point two to zero point five would be a good starting point, although if you are using a drive by wire throttle system, this should be set to zero point one percent.
03:29 The ‘Throttle Pedal Offset’ parameters are only applicable to drive by wire throttle systems.
03:35 In these systems during idle control the actual throttle position will usually be higher than the actual pedal position.
03:42 This means that as we transition out of idle, there will be a period where the throttle pedal needs to catch up to the actual throttle servo position before normal operation can commence.
03:53 The ‘Throttle Pedal Offset’ parameters blend the transition from the idle throttle position as the pedal is moved to eliminate any dead areas in the throttle travel.
04:04 The way this function works is best summarised by this graph which describes throttle pedal position, throttle aim positions and the throttle pedal offset.
04:14 The M1 performs a background calculation for throttle aim that is used as the ECU enters and exits the idle state.
04:23 This calculation is half of the throttle pedal position plus the Idle Throttle Pedal Offset.
04:30 As the throttle pedal is closed and the engine speed approaches idle speed, the result of this calculation takes over the throttle aim.
04:39 Once the throttle pedal drops below the ‘Idle Activate Throttle Pedal Threshold’ the ‘Idle Throttle Position Offset Decay’ becomes active and the throttle aim is gradually decreased until the engine speed meets the idle aim.
04:54 At this point the idle state becomes active and controls throttle aim.
04:59 As the throttle is reopened past the ‘Idle Activate Throttle Pedal Threshold’ plus the ‘Idle Activate Throttle Pedal Hysteresis’, the idle state is disabled and the background calculation again controls the throttle aim, blending it to the point where the throttle pedal position matches the current throttle aim.
05:19 Next we can move down to the ‘Idle Ramp Down Parameters’, which control how the idle aim will ramp down towards the target idle speed when the throttle is closed.
05:29 These parameters can be used to help prevent the idle speed undershooting or stalling when the engine speed drops rapidly.
05:36 The idle ramp down system uses three parameters and we will discuss them out of order.
05:42 First we have the ‘Ramp Down Limit’ which is an offset of rpm that is applied to the current idle aim.
05:49 For example if the Idle Aim Main is currently eight hundred rpm, and the Ramp Down Limit was two hundred, when the ECU first enters idle speed control, the Idle Aim will be one thousand rpm.
06:01 The Idle Aim value is held here for the length of the ‘Ramp Down Delay’, before finally dropping to the Idle Aim table value at the ‘Ramp Down Rate’.
06:11 The default values should be a pretty good starting point and you can then fine tune to suit your particular engine.
06:18 An important point here is that idle control doesn’t begin until you reach the idle aim, so if you have no ramp at all it is common for the ECU to not enter idle control.
06:30 To prevent this it’s best to have a big ramp and a fast ramp down rate.
06:36 While it isn’t very common, some engines may include a switch to indicate to the ECU that it should be performing idle speed control.
06:44 In these engines, this can be set up and configured under the ‘Idle Switch Setup’ here.
06:50 While idle switches aren’t common we will still briefly look at the setup anyway.
06:55 As usual we need to start by assigning a resource to the idle switch from the drop down menu.
07:01 If the switch will connect to a ground when it is closed, we will need to enable the ‘Pullup Control’ here.
07:08 If the switch connects to a high voltage, the pullup control should be switched off.
07:13 We also need to configure the ‘Active Edge’, ‘Threshold’, ‘Hysteresis’ and ‘Debounce’ values so that the ECU can determine when the switch is open and when it is closed.
07:24 The channels will allow you to monitor the switch input voltage and once correctly configured, you will be able to see the switch state change from ‘Off’ to ‘On’ Now we can move on to the ‘Idle Ignition’ worksheet.
07:38 The idle ignition function uses variations in ignition timing to help offer more precise control over the engine idle speed.
07:46 This works on the principle that retarding the timing will reduce engine torque and hence the engine speed will reduce, while advancing the timing will increase torque and hence increase engine speed.
08:00 To simplify our view, let’s start by turning the channel values off.
08:05 We can see that the first parameter is the ‘Idle Aim Main’ table which is a repeat of what we saw in the last worksheet.
08:12 If you have filled this in, you won’t need to look at it again.
08:16 Next we have ‘Idle Ignition Advance Ramp’ defines how quickly the ignition timing is increased or decreased in degrees per second.
08:25 A value of twenty to thirty is a good starting point here.
08:30 The ‘Advance Target’ is the ignition timing we want the ECU to use during idle speed control.
08:36 This value needs to be set to a more retarded value than the normal ignition timing table value at the same combination of load and rpm as this gives the ECU some ability to control the engine torque and hence idle speed both up and down and a value of ten to fifteen degrees is pretty typical.
08:57 Next is the ‘Advance Minimum’ which limits how far the ECU can retard the timing at idle to reduce idle speed.
09:05 A value of zero to five degrees is pretty typical here.
09:09 There isn’t a parameter for maximum limit, but this comes from the ignition timing table and this along with the ‘Advance Minimum’ defines the range that the timing can vary across.
09:21 The ‘Proportional Gain’ and ‘Integral Gain’ parameters define how the ECU will deal with errors between Idle Aim and actual engine RPM.
09:31 These parameters need to be tuned so that the idle ignition control will track requested changes in target idle speed accurately without overshooting or oscillating.
09:42 We can now move on to the last worksheet which is the ‘Idle Actuator’ worksheet.
09:48 This worksheet defines how the idle actuator is configured and how it is used to achieve the desired idle target.
09:55 Let’s start by looking at the ‘Idle Actuator’ parameters.
10:00 The M1 can use either a drive by wire throttle body for idle speed control or it can use a conventional solenoid ands we can configure this here.
10:10 If you are using a drive by wire throttle body, one of the key parameters is the ‘Idle Actuator Throttle Aim Maximum’ which defines the maximum amount of throttle opening allowed for the drive by wire throttle under idle speed conditions.
10:24 The M1 ECU can control either a two wire or three wire isle speed control solenoid.
10:31 For a two wire solenoid, the ‘Idle Actuator Solenoid Normal Output Resource’ is used, while for a three wire solenoid you will also need to use the ‘Inverting Output Resource’.
10:43 These can both be configured to the appropriate resources here.
10:48 An idle solenoid will have a specific set of characteristics that you will need to configure with suitable values.
10:54 These include the ‘Output Frequency’, ‘Solenoid Minimum’ and ‘Solenoid Maximum’ values.
11:01 What you will find is that if you operate a solenoid with a frequency that is too low it won’t open, and likewise at high duty cycles the solenoid will just become fully open.
11:12 For most solenoids a practical minimum and maximum duty cycle of fifteen percent and eighty five percent respectively are fairly typical to ensure the valve will be operating within a region it can actually achieve good control.
11:26 If we move up the worksheet a little, we have the ‘Idle Mass Flow Feed Forward’ table.
11:31 In plain english, this table is the starting point for the idle speed control system and this needs to be tuned so that the values are close to the required idle mass flow at each point in the table.
11:43 This means the ECU won’t need to work so hard to achieve your target idle speed and the result will be more accurate idle speed control.
11:52 You can see that the table is set up as a two dimensional table with coolant temperature as the axis.
11:58 If we press the ‘A’ key to open up the ‘Axis Setup’ window, you can also see that we have the option of using ‘Idle Aim’ or ‘Ambient Pressure’ as an axis for this table.
12:08 The way this table works is that the numbers represent a percentage of the idle actuators range of movement.
12:15 For a drive by wire throttle system, this represents the percentage of the ‘Idle Actuator Throttle Aim Maximum’ value, so if we had entered a value of twenty percent here and the number in the ‘Idle Mass Flow Feed Forward’ table was fifty percent, the actual throttle opening would be ten percent.
12:33 If you are using a solenoid for idle speed control, a number of zero in the ‘Idle Mass Flow Feed Forward’ table will result in the ‘Idle Actuator Solenoid Minimum’ duty cycle, while a number of one hundred will result in the ‘Idle Actuator Solenoid Maximum’ duty cycle.
12:50 I find a good way of calibrating the ‘Idle Mass Flow Feed Forward’ table i s to start with the proportional and Derivative gains set to zero so that the idle speed control system is operating in open loop with no feedback.
13:03 We can then start the engine from cold and as the engine warms up, we can adjust the Idle Mass Flow table to achieve our target idle speed.
13:12 The ‘Idle Mass Flow’ table is correctly calibrated when the ‘Engine Speed’ equals the ‘Idle Aim’ and the ‘Ignition Timing’ is equal to the ‘Advance Target’ we discussed in the ‘Idle Ignition’ worksheet.
13:25 If the feed forward table values are too high, the idle speed will also be too high and the ECU will never enter idle control, so when setting up the feed forward table its advisable to use a value slightly lower than that required to achieve your target idle speed.
13:41 This will ensure the ECU will actually enter idle speed control As well as the main Idle Mass Flow table, there are two separate parameters that can be used to adjust the idle speed system for changes in engine load.
13:56 These are the ‘Air Conditioner Idle Mass Flow Feed Forward’ parameter and the ‘Steering Pressure Idle Mass Flow Feed Forward’ table.
14:04 These can be used to maintain stable idle speed control as the air conditioning switches or the power steering is actuated.
14:13 If we enlarge the ‘Idle Mass Flow’ element, we have the proportional and integral gains which can control the response of the idle speed control system in relation to any error between the target idle speed and current engine speed.
14:28 These gains need to be tuned to provide stable control without hunting or oscillating.
14:35 The most common problem if you are having trouble with the idle speed control not functioning as you expect, is that the ECU isn’t actually entering idle control as mentioned already.
14:47 You can always watch the State channel to confirm that the ECU is in fact in idle control mode.

We usually reply within 12hrs (often sooner)

Need Help?

Need help choosing a course?

Experiencing website difficulties?

Or need to contact us for any other reason?