Reported Bugs

  • Status Researching
  • Percent Complete
    50%
  • Category 07K ME17.5 (2009+)
  • Assigned To
    Jason
  • Priority High
Attached to Project: Reported Bugs
Opened by Jason - 08.04.2026

FS#10 - ME17.5.6 Idle controller instability on some 2.5T setups

On some 2.5T using the Bosch ME17.5.6, the idle controller can be unstable once it has reached operating temperature. Although the same vehicle with an earlier ME17.5 experience a more stable idle

ME17.5 vs ME17.5.6

  • %LIGov_Governor% has been confirmed to be different, and therefore the changes between these two engine management can hardly be implemented without extensive R&D
  • On the ME17.5, it targets a lower throttle angle at idle, and it relies more on the torque path intervention through ignition advance than the airflow path (throttle again). This handle overshoot more easily and leads to stable control on setups with unsteady idle
  • The ME17.5.6 is not lenient enough, the control loop is too aggressive and becomes quickly unstable as it tries to adjust the idle speed

Initial approach

  • The idle control has been made "more lazy" to avoid this aggressive control loop. It has helped for most setups, although it can still enter an unstable loop (see attachment)
  • Since the unstable loop mostly arise from the throttle intervention, an attempt at capping the throttle angle to force the ECU to use ignition advance intervention (similar to ME17.5) has been done. This work, although the angle limitation should be tied to the engine temperature to avoid cold start issues, and it should allow free intervention when the idle speed gets lower than 600-650rpm to prevent stalls. While this is a viable solution without a lot of R&D, deeper research should be conducted.

Literature from the FR

The idle speed control then adjusts to the slowly decaying value of the
low-pass filter. During tracking, a weighting factor FNSNF and a threshold
value KNSNF ensure that the target speed nsol_w always remains slightly below
nmot. This is necessary to allow for settling at engine speeds close to the
steady-state target speed nstat. Without this measure, the target speed would
be tracked even with a slight overshoot, and the control loop would be
unstable.
Speed tracking is deactivated at idle when the target speed nsol_w has
reached the steady-state value nstate and the magnitude of the speed
deviation from the steady-state target speed is below a threshold. This
prevents the target speed from being incorrectly tracked during an idle speed
overshoot.
The idle speed controller's task is to maintain a constant idle speed when no
torque is required, or to adjust it to the target idle speed as quickly as
possible and with minimal overshoot. For this purpose, the speed deviation
between the target value (HLSDem_nSetPTrck) and the actual value is used in
the "LIGov_Governor" function.

The controller parameters are selected depending on the operating state
(LIGov_SelPar).

The controller compares the current speed with the idle speed target speed and
adjusts the engine speed via its output. The target idle speed is
vehicle-specific and dependent on the operating state. The idle speed
controller requires the transmission characteristics of the entire
drivetrain. Since the transmission behavior is a very complex quantity, and
since automatic adjustment of the controller parameters to the current
transmission behavior cannot be implemented, the idle speed controller is
forced to obtain the dynamic information that is important for the
transmission behavior:
• Gear / Neutral / Power transmission
• Engine temperature (water temperature)
• Underbraking For a given vehicle, the current transmission behavior and the
  corresponding set of controller parameters are thus fixed. The idle speed
  controller only receives the information about which set of controller
  parameters to use (LIGov_numPar).

The output of the function is the idle speed controller torque LIGov_trq for
the set path and LIGov_trqLead for the air path. Additionally, the components
LIGov_trqI (I-component), LIGov_trqP (P-component for PTO), and
LIGov_trqPLead (P-component for air path) are provided.

Idle speed control torque = f(Idle speed control setpoint, engine speed,
current engine state, limit for internal torque, initialization torque for
I-component after start, Idle speed control state, transmission state via
CAN).
Admin
Jason commented on 08.04.2026 05:29

The following are being logged:

  • Air path, torque path, PreControl, Ramp, PID
Admin
Jason commented on 10.04.2026 09:29

Investigate the Proportional of LIGov

Loading...

Available keyboard shortcuts

Tasklist

Task Details

Task Editing