home next up previous
Следующий: Idle Advance В начало: Содержание Предыдущий: Контроль состава горючей смеси (AFR/EGO)


Idle Control

The MS3 firmware has several methods for controlling idle speed:

Each mode is described in detail below.

On/Off Valve

The On/Off Valve idle speed control option is the most simple control option included in the MS3 Firmware. It includes the following settings:

Общие настройки прогревочного и постоянно-повторяющегося режимов работы РХХ

The only common settings between Warmup-only and Closed-loop control methods are the cranking position curves. That curve sets the position of the PWM controlled idle valve during cranking, depending on the coolant temperature (PWM idle has nothing to do with cranking fuel pulsewidth):

Image crankpos

Common Settings for all PWM-based valves

All PWM-based modes have certain settings which are shared:

Warmup Only Modes

The Warmup Only options are open-loop modes that set the IAC/PWM valve to a specific position based on the Coolant temperature. The user must set each temperature and a corresponding valve position in a curve:

Image warmup

All warmup-only modes also have the following common setting:

The four warmup-only output options are detailed below.

IAC Motor Common Settings

The IAC Stepper modes all have several common settings. Those settings are detailed here.

IAC Warmup Moving Only

IAC Warmup Moving Only is an open-loop algorithm which sets the valve position based directly on coolant temperature. Keep in mind that this mode turns off the valve between each set of steps. If the valve does not work reliably in this setting, it may be necessary to use the Always On setting. In addition to the common IAC motor settings, this mode also has the following setting:

IAC Warmup Always On

This mode is exactly the same as IAC Warmup Moving only, but does not have the Initial Time Step Size setting since it leaves the valve turned on all the time.

15-minute IAC

This mode is exactly the same as the other IAC Warmup modes, but leaves the valve on for 15 minutes after start, then turns it off.

PWM Warmup

This mode works functionally the same as the IAC Warmup options, but for a PWM valve instead.

Closed-loop Modes

The MS3 firmware employs a PID (Proportional Integral Derivative) method of control for controlling idle speed to meet the user-specified target RPM. Target RPM is specified in a Coolant-temperature-based curve. Common settings for all closed-loop modes as well as options specific to each type of valve are listed below.

Closed Loop Common Settings

A curve for setting the target RPMs based on coolant temperature is used by all closed loop idle-speed control modes. All other idle-speed control settings are listed as well:

Image CLidle

Settings common between all modes are listed here:

PWM Closed Loop

This setting applies the above settings to a PWM Idle valve.

IAC Closed Loop Moving only

This setting applies the above settings to an IAC motor. In this mode the motor will only be turned on when it is commanded to move. The IAC motor common settings from the warmup-only section apply here as well.

IAC Closed Loop Always on

This setting applies the above settings to an IAC motor. In this mode the motor will be on as long as the MS3 has power. Use this setting if Moving Only gives unreliable results. The IAC motor common settings from the warmup-only section apply here as well.

Tuning Recommendations

Before trying to tune closed loop idle speed control, be sure to try tuning warmup only idle speed control. With warmup only control, a higher step-count or duty should yield higher RPM. Make sure that this is the case, and that smooth idle speed can be attained with warmup only before moving on to closed loop control.

There are two main things to tune when tuning closed-loop idle speed control:

It is recommended that tuning is done in stages. For example, PID cannot be tuned if the code is never entering the PID loop. Because of this it is a good idea to start by tuning the conditions for entering PID control.

These settings include:

To tell whether the code is entering PID idle control, the "CL Idle" indicator in TunerStudio must be used. If the current gauge cluster in TunerStudio does not include this indicator, temporarily switch to a cluster that does.

Most modern OEM cars enter idle speed regulation in a very similar manner. The MS3 idle speed control algorithm was designed to emulate this behavior. The sequence of events that the code was designed to follow are listed below:

  1. Throttle Lift - On throttle lift, the code opens the valve to the value learned in the last iteration of the PID loop + the dashpot adder. The logic here is that the last learned value should result in an RPM close to the target RPM. The dashpot adder is added so that when RPM settles, it settles to an RPM slightly higher than the target. This is in case the air conditioning was turned on or IAT increased or anything else that might make RPM lower than the last time the PID code ran.
  2. RPM settles - After throttle lift, eventually the clutch is pushed in and RPM drops to wherever it will settle given the learned value + the dashpot adder. Hopefully the idle has settled to an RPM that is less than the commanded target + the Idle Activation RPM adder. IF so, then the code will wait for the amount of time specified by the PID delay, and then enter PID control. If RPM settles above the commanded target + Idle Activation RPM adder, the code then starts checking the PID lockout detection conditions. Assuming those condtions are met, the code will still enter the PID loop after the amount of time specified by the PID delay.
  3. PID control activates, RPM starts dropping to target - After the PID delay expires, the PID code will be activated. RPM will slowly drop to the target over the number of seconds specified by the PID ramp to target time.
  4. Normal idle speed reached - RPM reaches the commanded target. PID continues regulating RPM until the throttle is pressed.

Once the code is reliably entering PID on every throttle lift, it is time to actually tune the PID code to reach and hold the RPM target.

The settings that are associated with or affect the operation of the PID algorithm are listed below:

The following basic steps should be used for tuning the PID controller gains:

  1. Zero all the gains - Set all the gains to 0%. This is so that the effects of tuning the I-term in the next step are not confused with the effects of any other setting.
  2. Tune the Integral (I) gain - The Integral gain is the only term that controls whether the code actually reaches its target. Higher values for Integral gain will result in the code being able to get closer to the commanded target; however, a value that is too high will result in oscillation. The easiest way to determine a good value for the I term is to keep increasing it until oscillation occurs, then slightly lower it. If this value is increased to 200% without reaching a point where oscillation occurs, then the RPM with valve opened setting can be decreased as far as necessary, and the open duty/steps setting and closed duty/steps setting can be made further apart to make the PID loop more sensitive.
  3. Tune the Proportional (P) gain - After tuning the I gain so that the RPM reaches the commanded target without oscillation, the P gain can be tuned. The best way to tune this is to set it as high as possible without getting any oscillation. After setting this, try turning on the air conditioning or other accessories that normally lower RPM or increase load. When these accessories are turned on, the RPM should dip a bit then recover (the valve position should increase significantly). Using longer PID ramp to target times can also make it so that when the PID algorithm engages, a higher P gain can be set without causing oscillation.
  4. Tune the Derivative (D) gain - For most users, use of the D gain should not be necessary. It substantially dampens the response of the loop.

Some final tips:

home next up previous
Следующий: Idle Advance В начало: Содержание Предыдущий: Контроль состава горючей смеси (AFR/EGO)
Free Web Hosting