Difference between revisions of "LDR PID controller (LDRPID)"
From Nefmoto
MattDanger (Talk | contribs) m (Added category) |
MattDanger (Talk | contribs) m |
||
Line 264: | Line 264: | ||
''Special thanks to [http://www.nefariousmotorsports.com/forum/index.php/topic,555.0title,.html phila_dot] for translating this section.'' | ''Special thanks to [http://www.nefariousmotorsports.com/forum/index.php/topic,555.0title,.html phila_dot] for translating this section.'' | ||
− | [[Category: | + | [[Category:ME7]] |
Revision as of 05:54, 2 June 2011
This is a translation from the Funktionsrahmen
LDRPID abbreviations
Parameter | Source-X | Source-Y | Type | Designation |
---|---|---|---|---|
CWLDIMX | FW | Code word for application procedures KFLDIMX / KFLDIOPU | ||
FTLDIA | FW | Factor for Debounce adaptation release | ||
FTLDIAP | FW | Factor for Debounce positive fast tracking | ||
KFLDIMX | NMOT_W | PLSOLR_W | KF | Map LDR I-control limit |
KFLDIOPU | NMOT | PU | KF | Correction of TV values by the amount influence |
KFLDIWL | TMST | IMLATM | KF | Correction LDR I-limitation in the warm-up |
KFLDRL | NMOT_W | LDTVR_W | KF | KF for linearizing boost pressure = f (TV) |
KFLDRQ0 | NMOT | LDE | KF | LDR-control parameters Q0 |
KFLDRQ1 | NMOT | LDE | KF | LDR controller parameter Q1 (Integrator coefficient) |
KFLDRQ2 | NMOT | LDE | KF | Map LDR controller parameter Q2 |
KFRBGOF | NGFIL | NMOT | KF | Offset for I-component limit LDRPID |
LDAMN | FW | Minimum limitation of the adaptation LDR I-adaptation | ||
LDDIAN | FW | Increment per program run for negative-tracking I-limit | ||
LDDIAP | FW | Increment per program run for positive tracking I-limit | ||
LDDIMNN | NMOT_W | KL | Safety distance LDR I-controller limit negative | |
LDDIMXN | NMOT_W | KL | Safety distance LDR I controller limitation | |
LDEIAO | FW | Upper deviation threshold for negative adjustment | ||
LDEIAP | FW | Deviation threshold for positive adaptation I controller | ||
LDEIAPS | FW | Deviation threshold for fast Positive-tracking | ||
LDEIAU | FW | Deviation lower threshold for negative adjustment | ||
LDHIA | FW | Hysteresis for LDR I-adaptation curve | ||
LDIATA | TANS | KL | Correction I-boundary LDR PID controller as a function of TANS | |
LDMXNN | FW | Limiting max tracking. LDR negative for controller adaptation | ||
LDMXNP | FW | Limiting max tracking. LDR adaptation positive range change | ||
LDRQ0S | FW | Controller parameters Q0 LDR-PID controller in stationary mode | ||
LDRQ1ST | NMOT | KL | Controller parameters Q1 PID controller in stationary mode (coefficient Integrations) | |
LDRVL | FW | Full load detection threshold LDR | ||
NLDIAPU | PU | KL | Speed threshold for adaptation I-limit | |
SLD04LDUB | LDE | SV (REF) | Reference points distribution for boost control | |
SNG08LDUB | NGFIL | SV (REF) | Reference points distribution of ngfil in LDR | |
SNM08LDUB | NMOT | SV (REF) | Reference points distribution for boost control | |
SNM08LDUW | NMOT_W | SV (REF) | Reference points distribution for boost control | |
SNM16LDUB | NMOT | SV (REF) | Reference points distribution for boost control | |
SNM16LDUW | NMOT_W | SV (REF) | Reference points distribution for boost control | |
SPL08LDUW | PLSOLR_W | SV | Reference points distribution for boost control | |
SPS08LDUW | PSSOL_W | SV (REF) | Reference points distribution for boost control | |
SPU08LDUB | PU | SV (REF) | Reference points distribution for boost control | |
STA08LDUB | TANS | SV (REF) | Reference points distribution for boost control | |
STLDIA1 | FW | Reference point 1 for LDR adaptation characteristic | ||
STLDIA2 | FW | Reference point 2 for LDR adaptation characteristic | ||
STLDIA3 | FW | Reference point 3 for LDR adaptation characteristic | ||
STLDIA4 | FW | Reference point 4 for LDR adaptation characteristic | ||
STV10LDSW | LDTVR_W | SV | Reference points distribution for boost control | |
SY_TURBO | SYS (REF) | Turbocharger system constant | ||
TLDIAN | FW | Debounce time for tracking I-negative adaptation | ||
TLDIAPN | NMOT | KL | Debounce time for tracking I-positive adaptation | |
TVLDMX | FW | Upper limit for duty cycle LDR | ||
UMDYLDR | FW | Switching threshold dynamics LDR | ||
Variable | Source | Type | Designation | |
B_ADRLDRA | PROKONAL | EIN | Boost adaptation values at delete of fault memory | |
B_LDDY | LDRPID | LOK | Flag for dynamic operating condition LDR | |
B_LDIMXA | LDRPID | LOK | Condition for adaptation limit value I portion LDR | |
B_LDIMXN | LDRPID | LOK | Condition for negative correction ldimxr | |
B_LDIMXP | LDRPID | LOK | Condition for positive correction ldimxr | |
B_LDR | BBLDR | EIN | Flag for condition LDR active | |
B_LDVL | LDRPID | LOK | Full load condition for LDR | |
B_PWF | EIN | Power fail condition | ||
B_STLDW | LDRPID | LOK | Condition Reference points LDR change adaptation | |
DFP_LDRA | LDRPID | DOK | SG int error path no deviation boost | |
E_LDRA | LDRUE | EIN | Error flag: boost pressure control error | |
IMLATM | ATM | EIN | integr. Air mass flow from engine start to max value | |
IRBGOF_W | LDRPID | AUS | Offset for I controller limitation LDRPID depending on speed gradient | |
LDE | LDRPID | AUS | LDR-control error (set point - process value) | |
LDIMN_W | LDRPID | LOK | Current value to the minimum value limit I component LDR | |
LDIMXA | LDRPID | LOK | Adaptive correction of the LDR I controller maximum limit | |
LDIMXAK_W | LDRPID | AUS | Current corrected limiting value I share LDR | |
LDIMXRK_W | LDRPID | LOK | LDR I max. Limiting value (corrected reference value) | |
LDIMXR_W | LDRPID | LOK | Current reference value for the maximum limit I component LDR | |
LDIMX_W | LDRPID | LOK | Current value to the maximum limit I portion LDR | |
LDITV_W | LDRPID | LOK | LDR, duty cycle of I-controller (word) | |
LDPTV | LDRPID | LOK | LDR, duty cycle of the P-controller | |
LDRDTV | LDRPID | LOK | LDR duty cycle of the D controller | |
LDRKD_W | LDRPID | LOK | LDR-control parameters for D-term | |
LDRKI_W | LDRPID | LOK | LDR-control parameters for I-share | |
LDRKP_W | LDRPID | LOK | LDR-control parameters for P component | |
LDTV | LDRPID | AUS | LDR duty cycle | |
LDTVR_W | LDRPID | LOK | LDR duty cycle from the controller | |
NGFIL | BGNG | EIN | filtered speed gradient | |
NMOT | BGNMOT | EIN | Motor speed | |
PLGRUS_W | BGPLGU | EIN | Base boost pressure set point | |
PLSOL | FUEDK | EIN | Reference boost pressure | |
PLSOLR_W | LDRPID | LOK | Relative target boost pressure LDR | |
PLSOL_W | FUEDK | EIN | Reference boost pressure | |
PU | GGDSAS | EIN | Ambient pressure | |
PVDKDS | GGDSAS | EIN | Pressure upstream of throttle valve pressure sensor | |
RLMAX_W | LDRUE | EIN | maximum possible load, for Turbo | |
RLSOL_W | MDFUE | EIN | Nominal charge | |
STLDIA | LDRPID | LOK | Current Reference point for LDR adaptation | |
TMST | GGTFM | EIN | Engine starting temperature |
LDRPID Functions
With active LD regulation (B_ldr) is used to calculate deviation charging the difference between plsol and pvdkds (Pressure at throttle) is formed, while with inactive LD-control lde is set to 0.
PID controller: This control scheme uses a PID controller of type 3PR2 (3 parameters-controller with 2 output parameters to be optimized) with adaptive semi-pilot I component. The I-component is in the form of a MIN / MAX limitation within an applicable tolerance limits of the adaptive after-run steady TV-requirements conducted. To use the entire TV range (very different slopes), it is necessary to control SW-side to linearize so that results from the perspective of the regulator is a linear behavior. This is achieved with the map KFLDRL, which is a control of duty cycle incoming opposed to an applied Nonlinearity transformed so that from control point of view, the controlled system appears linear.
Control algorithms:
P-portion: ( LDRQ0DY ( or LDRQ0S ) - KFLDRQ2 ( or 0 ) ) * lde = ldptv I-portion: lditv(i-1) + KFLDRQ1 ( or LDRQ1ST ) * lde(i-1) = lditv D-portion: ( lde - lde(i-1) ) * KFLDRQ2 ( or 0 ) = ldrdtv
Operation: There are basically two different operating modes distinguished:
- ! B_lddy: Quasi Stationary operation with PI control and the corresponding control parameters (relatively weak control intervention) Application of the controller parameters are on the engine test stand(dyno?) by a oscillation test according to Ziegler-Nichols.
- B_lddy: dynamic performance with PID controller and the corresponding control parameters (strong control intervention), the application Controller parameters are Einschwingversuch (Transient experiment?) by the Engine Laboratory(dyno?).
The distinction between these operating states via the control error, ie above a positive threshold deviation the dynamic control intervention and activated only at the change of sign of the deviation (actual value overshoots) withdrawn. The settling is done with the aim of not a oscillation, overshoot in the entire range in the quasi stationary mode. In this quasi-steady-state operation, the D component of the corresponding parameter setting signal is switched off to prevent unnecessary noise to avoid. In the dynamic operation, with the help of the highly engaging P component to achieve a minimum settling time.
The control is strong up to perform and improve the transient response further, the I-component with an adaptive Limit provided. This limitation is a function of n, plsol, pu, tans and additively superimposed 5 Range Adaptation. This limitation prevents reliable I-controller-related overshoot conditions, as a result of greater integration of an applicable Safety distance LDDIMXN above or below the small LDDIMN stationary integration needs to be prevented. The structure the limitation is interpreted as follows:
Means-tested tracking and adaptation:
- negative tracking
- Since the quasi-steady state is under full load (B_ldvl) at B_ldr the end of the debounce TLDIAN the current limit value ldimxr with the step size LDIAN as long as to smaller TV-values through corrections to the corrected value the current I-Share (lditv) is achieved.
- If in the dynamic operation under full load, an overshoot greater than LDEIAU for more than TLDIAN found so also reduced ldimxr.
- positive follow-up
- If the current limit value is too low order to correct fully (deviation> LDEIAP (-20 mbar)), lditv (> = ldimxr + ldimxak), closed-loop B_ldr), the stop is after a nmot dependent debounce TLDIAPN with the Increment LDDIAP per program run, the current limit value ldimxr as long as corrected to higher values out to The current need for integration is now covered and the predetermined safety margin of the integrator to limit value is maintained. The engine speed must always be above NLDIAPU. In addition to the o.g. Conditions, the only slight deviation (lde <LDEIAPS, for example 60 mbar), then it will be that FTLDIAP reduced debounce previously tracked positive.
- Adaptation read
- When you enter B_ldr (lditv> 0) or reference points change the adaptation range is read, and the change between is limited to the current adaptive value and the current adjustment value to LDMXNN or LDMXPN. This discontinuity in the driving behavior can be prevented.
- Leave adaptation
- The storing of this adjustment value (Leave adaptation) is only after the debounce time TLDIAPN event of a recognized Full load (B_ldvl) and above a speed threshold (NLDIAPU).
LDRPID Application Notes
Interpretation:
- 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.
- 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)
- 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.
- Stationary control parameters
- 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.)
- 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!
- 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!
- 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
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%
- UMDYLDR: about 5% of the maximum reference value
- 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!
- LDDIMXN: about 15% below NLDIAPU (highest speed) and about 3% above this speed (the same safety distance around fully to control from)
- 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.