# LDR PID controller (LDRPID)

### From Nefmoto

*This is a translation from the Funktionsrahmen*

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/Tcrit; T = 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 |