# LDRPID 25.10 (Charge Pressure Regulation PID Control)

### From Nefmoto

See the *funktionsrahmen* for the following diagrams:

LDRPID Main

LDRPID PID Parameters

LDRPID PID Control

LDRPID BB PID

LDRPID STLD

LDRPID BBLDRPID

LDRPID LDIMXAK

LDRPID SSTB

LDRPID Initialise

LDRPID E-LDRA

__LDRPID 25.10 Function Description__

When charge pressure regulation (B_ldr) is active, the control
error (lde) of the difference between ambient pressure (plsol) and the pressure
upstream of the throttle (pvdkds) is calculated; when charge pressure
regulation is inactive, lde is set to 0.

__PID-Control:__

This control scheme uses a type 3PR2 (three parameter
controller with two output parameters to be optimised) PID controller with
adaptive pilot-operated integral control. The integral component takes the form
of min/max limitation within an applicable tolerance band to give adaptive
tracking of duty cycle during steady-state running. To use the entire duty
cycle range (which has very different gradients) it is necessary to linearise
the control system software, so that the PID-controller gives a linear response.
This is achieved with the map KFLDRL which closely regulates the wastegate
controller duty cycle by applying an opposing non-linearity so that the
regulator-controlled system appears linear.

The control algorithms are defined thus:

Proportional component ldptv = (LDRQ0DY (or LDRQ0S) − KFLDRQ2 (or 0)) × lde

Integral component lditv = lditv(i−1) + KFLDRQ1 (or LDRQ1ST) × lde(i−1)

Derivative component ldrdtv = (lde − lde(i−1)) × KFLDRQ2 (or 0)

where lde is the charge pressure regulation control error, i.e. (set point − process value) or (DV − MV)

There are basically two distinct operating modes:

1. !B_lddy: Quasi steady-state operation with PI control
which gives a relatively weak control action. Derivation of the control
parameters is carried out via oscillation testing on an engine dynamometer using
the Ziegler-Nichols tuning method.

2. B_lddy: Dynamic performance with PID control which gives
a strong control action. Derivation of the control parameters is carried out via
oscillation testing on an engine dynamometer.

These operating states are distinguished via the control
error, i.e., a positive deviation above a threshold activates the dynamic
control intervention and it is only withdrawn when the deviation changes sign
(i.e. the actual value exceeds desired value). The transient is managed with
the aim of not causing overshoot over the entire region in the quasi
steady-state mode.

In the quasi steady-state operation, the derivative
component of the corresponding parameter is switched off to avoid unnecessary
control signal noise. In the dynamic mode, a minimum settling time is obtained
with the help of a strongly-intervening proportional component. The control is
robust up to run and to further improve the transient response of the integral
component, an adaptive limit is provided. This limiting factor is a function of
engine speed (nmot), ambient pressure (plsol), altitude (pu), intake air
temperature (tans) and the additively-superimposed 5 range adaptation.

These limits reliably prevent the integral controller
causing overshoot. An integral output above the applicable upper safety limit (LDDIMXN)
or below the lower limit (LDDIMN) will disable the steady-state integral
function. The structures of the limits are interpreted as follows:

__Real-Time Tracking and Adaptation:__

1. Negative Tracking

1.1 In the quasi-steady state at full load condition (B_ldvl)
with B_ldr (LDR active) after debounce time TLDIAN, the actual limiting value
ldimxr is adjusted down to smaller duty cycle values with the increment LDIAN until
the corrected value of the actual integral component (lditv) is achieved.

1.2 ldimxr will also be adjusted down if, during dynamic
operation under full load, an overshoot greater than LDEIAU for a period longer
than the debounce time TLDIAN occurs.

2. Positive Tracking

If the actual limiting value is too small order to correct
fully, i.e. (a) deviation > LDEIAP (approx. -20 mbar), (b) lditv is at its end
stop (i.e. >= ldimxr + ldimxak) or (c) closed-loop conditions (B_ldr) on
the expiry of a engine speed-dependent debounce time TLDIAPN with increments
LDDIAP per program run, the actual limiting value ldimxr is corrected to larger
values until the current demand for integration is just met, and
the prescribed safety margin to the integrator limiting value is maintained.
The engine speed must always be above NLDIAPU. In addition to the
aforementioned conditions, with only a slight MV-DV control error (lde < LDEIAPS,
for example, 60 mbar), the debounce time previously tracked positive will be
reduced by FTLDIAP.

3. Read Adaptation

When full load conditions B_ldr (lditv > 0) are met or
when the sample points change, the adaptation range is read, whereby the change
is confined between the current adaptation value and the current adjustment
values LDMXNN or LDMXPN. Discontinuity in the driving behavior can be prevented
via this method.

4. Write Adaptation

The stored adjustment value (write adaptation) occurs only
after expiry of the debounce time TLDIAPN, detection of full load condition (B_ldvl)
and above a speed threshold (NLDIAPU).

__LDRPID 25.10 Application Notes__

__Determining the Variables__

1. Linearization Map KFLDRL:

On the engine dynamometer, the course of the boost pressure
pvdkds is determined as a function of duty cycle. These efforts should fully open
the throttle plate such that the duty cycle (see CWMDAPP, code word for application
without torque functions) is driven significantly above the normal maximum. Charge
pressure can be driven out as far as possible (up to 300 mbar above the maximum
boost pressure) to determine the course as completely as possible. This is done
in 500 rpm increments starting at 1,500 rpm up to the maximum engine speed (Nmax).
The necessary linearization values listed below at any speed graphically (or
numerically) are determined as follows: In a graph of pvdkds as a function of
ldtvm, the values lie on a straight line between the first measuring point (0%)
and by the last measuring point (max. 95%). After that, e.g. starting at 10% duty
cycle, the pressure values belonging to the linear relationship and the
pressure values corresponding to the ldtvm value of the curve are determined.

These ldtvm values are now entered in each field in the
characteristic curve KFLDRL at the appropriate reference point (here 10%). Ensure
that the incoming duty cycle is equal to the outgoing at no later than 95% duty
cycle (= LDTVMX). The application target is to achieve the widest possible
linearization of the controlled system from the perspective of the regulator.

2. LDRQ0DY: by the process of so-called control variable
specification, i.e. in the lowest speed within full load conditions B_ldr, the
control value (duty cycle) should be equal to 100% for only a short time.
Including the project-specific boundary condition emax, the maximum possible
deviation (mean full load value - mean base boost pressure value) is
obtained as follows:

LDRQ0DY = 100% / emax (%Duty Cycle ¸ 100
mbar)

3. KFLDRQ2: when n < 2500 rpm = 0; for n > 2500 in the
range of medium-sized MV-DV control errors (lde) increase KFLDRQ2 incrementally
up to maximum 0.6 (maximum 0.9) × LDRQ0DY. When n > 2500 rpm and lde <
100 mbar or lde > 500 mbar, reduce KFLDRQ2 on a sliding scale to 0 if benefits
are observed. To counteract problems with overshooting caused solely by the
engine/turbocharger (using oscillation testing with pure control) large KFLDRQ2
values in conjunction with slightly larger LDRQ0DY values should
be tried.

4. Steady-state Control Parameters

4.1 LDRQ0S through an oscillation test with proportional
control by the Ziegler-Nichols method on the engine dynamometer: full load operating
points (possibly with overboost) in the speed range of the maximum engine
torque (i.e. nMdmax -100/+300 RPM) with PI control (initially
setting weak control action parameters!) to approach a control error equal to
zero. Thereafter, by changing LDRQ1ST to be equal to 0 in proportional control
and LDRQ0S appears to increase until distinct oscillation of controlled
variable occurs. By so doing, the controlled variable will be suitable to read
off an oscillation around the cycle time/period (Tcrit) (a clearly recognizable
sine curve is required!). With the two measured values Tcrit and
LDRQ0S(crit), the parameters LDRQ0S and LDRSTQ1 can be determined as follows:

Caution: UMDYLDR for this test is set to the maximum value!

LDRQ0S = 0.4 × LDRQ0S(crit.)

4.2 LDRSTQ1 = 0.5 × LDRQ0S(crit.) × T_{0}/T_{crit};
T_{0} = sample time (usually = 0.05 s) for all parameters über n i.d.R.
same values apply.

The three values determined below can (and should) be
reduced if advantages are observed in driving performance. An increase is not
acceptable for reasons of stability!

5. Determination of the Integral Limits:

KFLDIMX specifies the steady-state duty cycle values.

KFLDIOPU specifies the duty cycle correction values as a
function of altitude (pu).

LDIATA specifies the correction values as a function of
intake air temperature (tans).

Integral Limit Adaptation:

Detection of full-load charge pressure regulation occurs
about 2% from the actual pedal stop B_ldvl.

LDEIAU: ca. -100 mbar

LDAMN: -15... -20 %

LDEIAO: 20...30 mbar

LDEIAP: ca. -20 mbar

LDEIAPS: ca. 60 mbar

TLDIAN: ca. 0.3 s

TLDIAPN: ca. 1.5 × respective
T95-time

FTLDIAP: ca. 0.1...0.2

FTLDIA: ca. 0.5...1

NLDIAPU: response speed (highest full load pressure that can
be regulated) as a function of pu + ca. 250/min

Caution: Ensure that the lowest learning cell in the
altitude correction is writable otherwise, when starting from a low speed, the
initial adaptation value of the lowest learning cell (= 0%) will be removed and
the overlying cells for correcting the adjustment limit (false) will be
overwritten!

STLDIA 1 > NLDIAPU (Max.)

LDMXNN: ca. -5%

LDMXNP: ca. 5%

6. UMDYLDR: ca. 5% of the maximum desired value.

7. Adjust KFLDRQ1 until the transient responses of the
integral component resulting from load jumps from medium load to full load
towards the end of the short-term attack time just reach the actual limiting
value ldimx (at all speeds!). In this application, LDDIMXN increments should be
no more than 2 to 3%!

8. LDDIMXN: about 15% below NLDIAPU (high speed) and about
3% above this speed (simultaneously fully regulating the safety margin)

9. LDDIMNN: apply in the case of transitory problems arising
from lighter dynamic response of around 5%, otherwise use the maximum value to deaden/nullify
the function.

Parameter |
Description |

CWLDIMX |
Codeword for application procedures KFLDIMX/KFLDIOPU |

FTLDIA |
Factor for enabling debounce adaptation |

FTLDIAP |
Factor for debounce time for tracking positive integral adaptation |

KFLDIMX |
Map specifying the integral control limits for charge pressure regulation |

KFLDIOPU |
Correction for altitude influences on the duty cycle value |

KFLDIWL |
Correction charge pressure regulation integral limits during warm-up |

KFLDRL |
Map for linearising charge pressure as a function of duty cycle |

KFLDRQ0 |
Map for PID control parameter Q0 (proportional coefficients) in charge pressure regulation |

KFLDRQ1 |
Map for PID control parameter Q1 (integral coefficients) in charge pressure regulation |

KFLDRQ2 |
Map for PID control parameter Q2 (derivative coefficients) in charge pressure regulation |

KFRBGOF |
Offset for the integral control limit in charge pressure regulation PID control |

LDAMN |
Minimum limiting value in charge pressure regulation integral adaptation |

LDDIAN |
Increment per program run for the negative tracking integral limit |

LDDIAP |
Increment per program run for the positive tracking integral limit |

LDDIMNN |
Safety margin integral control negative limit in charge pressure regulation |

LDDIMXN |
Safety margin integral control limit in charge pressure regulation |

LDEIAO |
Upper control error threshold for negative adjustment |

LDEIAP |
Control error threshold for positive adaptation integral control |

LDEIAPS |
Control error threshold for fast positive tracking |

LDEIAU |
Lower control error threshold for negative adjustment |

LDHIA |
Hysteresis for the charge pressure regulation integral adaptation curve |

LDIATA |
Integral limit correction as a function of intake air temperature (Tans) in charge pressure regulation PID control |

LDMXNN |
Maximum tracking limit for negative control adaptation in charge pressure regulation |

LDMXNP |
Maximum tracking limit for positive control adaptation with range change in charge pressure regulation |

LDRQ0S |
Control parameter Q0 in steady-state operation for charge pressure regulation PID control |

LDRQ1ST |
Control parameter Q1 in steady-state operation (integral coefficients) for charge pressure regulation PID control |

LDRVL |
Full load detection threshold in charge pressure regulation |

NLDIAPU |
Speed threshold for integral limits adaptation |

SLD04LDUB |
Sample point distribution for charge pressure regulation |

SNG08LDUB |
Sample point distribution for filtered speed gradient (ngfil) in charge pressure regulation |

SNM08LDUB |
Sample point distribution for charge pressure regulation |

SNM08LDUW |
Sample point distribution for charge pressure regulation |

SNM16LDUB |
Sample point distribution for charge pressure regulation |

SNM16LDUW |
Sample point distribution for charge pressure regulation |

SPL08LDUW |
Sample point distribution for charge pressure regulation |

SPS08LDUW |
Sample point distribution for charge pressure regulation |

SPU08LDUB |
Sample point distribution for charge pressure regulation |

STA08LDUB |
Sample point distribution for charge pressure regulation |

STLDIA1 |
Sample point 1 for charge pressure regulation adaptation characteristic curve |

STLDIA2 |
Sample point 2 for charge pressure regulation adaptation characteristic curve |

STLDIA3 |
Sample point 3 for charge pressure regulation adaptation characteristic curve |

STLDIA4 |
Sample point 4 for charge pressure regulation adaptation characteristic curve |

STV10LDSW |
Sample point distribution for charge pressure regulation |

SY_TURBO |
Turbocharger system constant |

TLDIAN |
Debounce time for tracking negative integral adaptation |

TLDIAPN |
Debounce time for tracking positive integral adaptation |

TVLDMX |
Upper duty cycle limit for charge pressure regulation |

UMDYLDR |
Cut-off threshold for dynamic charge pressure regulation |

Variable |
Description |

B_ADRLDRA |
Condition flag for deleting charge pressure adaptation values by deleting memory errors |

B_LDDY |
Condition flag for dynamic mode in charge pressure regulation |

B_LDIMXA |
Condition flag for adaptation limiting value in charge pressure regulation integral control |

B_LDIMXN |
Condition flag for negative correction ldimxr |

B_LDIMXP |
Condition flag for positive correction ldimxr |

B_LDR |
Condition flag for activating charge pressure regulation |

B_LDVL |
Condition flag for full load charge pressure regulation |

B_PWF |
Condition flag for power fail |

B_STLDW |
Condition flag for sample point change in charge pressure regulation adaptation |

DFP_LDRA |
Intake manifold error: boost deviation |

E_LDRA |
Errorflag: charge pressure control deviation |

IMLATM |
Integration of mass air flow from engine start to maximum value |

IRBGOF_W |
Offset for the LDRPID integral controller limit dependent on speed gradient |

LDE |
Charge pressure regulation control error (desired value – measured value) |

LDIMN_W |
Current value for the minimum limit in charge pressure regulation integral control |

LDIMXA |
Adaptation correction for the maximum limit in charge pressure regulation integral control |

LDIMXAK_W |
Current corrected limit in charge pressure regulation integral control |

LDIMXRK_W |
Maximum limiting value (corrected reference value) in charge pressure regulation integral control |

LDIMXR_W |
Actual reference value for the maximum limit in charge pressure regulation integral control |

LDIMX W |
Actual value of the maximum limit value in charge pressure regulation integral control |

LDITV_W |
Charge pressure regulation duty cycle from the integral controller (word) |

LDPTV |
Charge pressure regulation duty cycle from the proportional controller |

LDRDTV |
Charge pressure regulation duty cycle from the derivative controller |

LDRKD_W |
Charge pressure regulation (derivative control parameter) |

LDRKI_W |
Charge pressure regulation (integral control parameter) |

LDRKP_W |
Charge pressure regulation (proporational control parameter) |

LDTV |
Charge pressure regulation duty cycle |

LDTVR_W |
Charge pressure regulation duty cycle from the controller |

NGFIL |
Filtered speed gradient |

NMOT |
Engine speed |

PLGRUS_W |
Basic charge pressure desired value |

PLSOL |
Target (desired) charge pressure |

PLSOLR_W |
Relative target (desired) charge pressure (charge pressure regulation) |

PLSOL_W |
Target (desired) charge pressure |

PU |
Ambient pressure |

PVDKDS |
Pressure before the throttle pressure sensor |

RLMAX_W |
Maximum achievable cylinder charge with turbocharger |

RLSOL_W |
Target (desired) cylinder charge |

STLDIA |
Current sample point for charge pressure regulation adaptation |

TMST |
Engine starting temperature |