LDR PID controller (LDRPID)

From Nefmoto

Revision as of 06:44, 9 September 2011 by TTQS (Talk | contribs)

Jump to: navigation, search

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

LDRPID Application Notes

Interpretation:

  1. Linearization map KFLDRL specify:
    • On the dyno the course of the boost pressure is pvdkds be determined as a function of duty cycle. This should be fully open, the duty cycle controlled DK (CWMDAPP) is significantly above the normal max. Boost pressure beyond will be moved (if possible up to 300 mbar over the max. turbocharging pressure) to determine the course as possible. This approach is starting at 1500 rpm in 500 rpm increments to Nmax performed. The necessary linearization values are below graphically at any speed (or calculated) determined as follows: In a chart pvdkds = f (ldtvm) is by the first measuring point (0%) and by the last measuring point (max. 95%) is a straight lay. Thereafter, for example starting at 10% TV of the corresponding pressure value of the line is determined and the value of this pressure belonging to ldtvm value of the curve. Ldtvm This value is now entered in each of the map KFLDRL at the corresponding reference point (here, 10%). At the latest when it reaches 95% TV (= LDTVMX) must be ensured that the incoming duty cycle is equal to the is outgoing. Application target the widest possible linearization of the controlled system from the perspective of the regulator.
  2. LDRQ0DY by the process of so-called manipulated variable set, ie in the lowest speed within B_ldr is under Full load, the control variable (TV) amount to just a short time equal to 100%. Including the project-specific boundary condition maximum deviation Emax (mean VI value - medium base boost pressure value) is calculated as follows to LDRQ0DY:
    LDRQ0DY = 100% / emax (% TV /100hPa)
  3. KFLDRQ2: at n <2500 rpm = 0, for n> 2500 in range of medium-sized deviations (lde) stepwise to max. 0.6 (max. 0.9) * LDRQ0DY increase, at n> 2500 rpm and lde <100 hPa and LDE> approximately 500 hPa KFLDRQ2 sliding to 0 to reduce if benefits result. For problems with overshooting - only by the motor / ATL due (check by Einschwingversuch with pure control) - should be tried by large KFLDRQ2 values related with slightly larger LDRQ0DY values to hold.
  4. Stationary control parameters
    1. LDRQ0S after a oscillation test with P controller by the Ziegler-Nichols on the engine test bench: VL-operating points (possibly with overboost) in Speed range of the maximum torque of the motor (nMdmax -100 +300 /min ) with PI controller (initially weak control of intervention parameters adjusted!) approach to control deviation is zero. Then change by LDRQ1ST = 0 to P-control and as long as LDRQ0S increase until significant overshooting of the controlled variable occurs. This controlled variable suitably keeps a record, of the cycle time (Tkrit.) to read an oscillation (clearly recognizable sinusoidal curve necessary). With the two readings is crit. and LDRQ0S (krit.) parameters LDRQ0S and LDRSTQ1 can now be determined as follows: Note: UMDYLDR for this test to the set maximum value!
      LDRQ0S = 0.4 * LDRQ0S (kit.)
    2. LDRSTQ1 = 0.5 * LDRQ0S(krit.) * T0 / Tkrit. ; T0 = sampling time (i.d.R. = 0.05 s) for all parameters over n i.d.R. same values apply. The determined values below 3 can (and should) be reduced if benefits are reflected in driving behavior. An increase is not permitted for reasons of stability!
  5. I-set limit:
    • KFLDIMX: describe the steady pulse duty factor.
    • KFLDIOPU: duty cycle correction needed as a function of height (pu) described. LDIATA: need for correction as a function of tans set
Adaptation of I-Limit
Recognition LDR full load applied so that about 2% is detected before the actual pedal stop B_ldvl.
LDEIAU: approximately  -100 mbar
LDAMN:                 -15...-20 %
LDEIAO:                20...30 mbar
LDEIAP:  approximately -20 mbar
LDEIAPS: approximately 60 mbar
TLDIAN:  approximately 0.3 s
TLDIAPN: approximately 1.5 * T95-time in each case
FTLDIAP: approximately 0.1...0.2
FTLDIA:  approximately 0.5...1
NLDIAPU: The response speed (Highest VL-pressure regulated) as f (pu) + approx 250/min
Caution: Make sure that lowest learning cell is described in the height, otherwise when starting from low
          Speed of adaptation initial value of the lowest learning cell (=0%) were removed and the cells overlying the
          Change limit corrected (wrong) are overwritten!
STLDIA 1> NLDIAPU (Max)
LDMXNN: about 5%
LDMXNP: about 5%
  1. UMDYLDR: about 5% of the maximum reference value
  2. KFLDRQ1: Set so that when the transient due to load jumps from medium load to full load the I component end of the transient short-term just the current limit value ldimx affected (at all speeds!). This Appl.-step LDDIMXN to max. 2 to 3% amount!
  3. LDDIMXN: about 15% below NLDIAPU (highest speed) and about 3% above this speed (the same safety distance around fully to control from)
  4. LDDIMNN: apply in the case of transitional problems in light dynamic about 5%, otherwise use the maximum value to function lay dead.

Special thanks to phila_dot for translating this section.