SMHCC – Sliding mode heating/cooling controller
Block SymbolLicensing group: ADVANCED
Function Description
The sliding mode heating/cooling controller SMHCC is a novel high quality control
algorithm intended for temperature control of heating-cooling (possibly asymmetrical)
processes with ON-OFF heaters and/or ON-OFF coolers. The plastic extruder is a
typical example of such process. However, it can also be applied to many similar
cases, for example in thermal systems where a conventional thermostat is employed.
To provide the proper control function the block SMHCC must be combined with
the block PWM (Pulse Width Modulation) as depicted in the following
figure.
It is important to note that the block SMHCC works with two time periods. The first period is the sampling time of the process temperature, and this period is equal to the period with which the block SMHCC itself is executed. The second period is the control period with which the block SMHCC generates manipulated variable. This period is also equal to the cycle time of PWM block. At every instant when the manipulated variable mv is changed by SMHCC the PWM algorithm recalculates the width of the output pulse and starts a new PWM cycle. The time resolution of the PWM block is third time period involved with. This period is equal to the period with which the block PWM is run and generally may be different from . To achieve the high quality of control it is recommended to choose as minimal as possible ( as maximal as possible), the ratio as maximal as possible but should be sufficiently small with respect to the process dynamics. An example of reasonable values for an extruder temperature control is as follows:
The control law of the block SMHCC in automatic mode () is based on the discrete dynamic sliding mode control technique and special 3rd order filters for estimation of the first and second derivatives of the control error.
The first control stage, after a setpoint change or upset, is the reaching phase when the dynamic sliding variable
is forced to zero. In the above definition of the sliding variable, denote the filtered deviation error and its first and second derivatives in the control period , respectively, and are the control parameters described below. In the second phase, is hold at the zero value (the sliding phase) by the proper control "bangs". Here, the heating action is alternated by cooling action and vice versa rapidly. The amplitudes of control actions are adapted appropriately to guarantee approximately. Thus, the hypothetical continuous dynamic sliding variable
is approximately equal to zero at any time. Therefore the control deviation behaves according to the second order differential equation
describing so called zero sliding dynamics. From it follows that the evolution of
can be prescribed by the
parameters . For stable
behavior, it must hold . A
typical optimal value of
ranges in the interval
and about
is often a satisfactory
value. The optimal value of
strongly depends on the controlled process. The slower processes the lower optimal
. The recommended
value of for start
of tuning is .
The manipulated variable mv usually ranges in the interval
.
The positive (negative) value corresponds to heating (cooling). For example,
means
the full heating. The limits of mv can be reduced when needed by the controller parameters
hilim_p and hilim_m. This reduction is probably necessary when the asymmetry
between heating and cooling is significant. For example, if in the working zone the
cooling is much more aggressive than heating, then these parameters should be set as
and
. If we
want to apply such limitation only in some time interval after a change of setpoint (during the
transient response) then it is necessary to set initial value of the heating (cooling) action
amplitude u0_p (u0_m) to the suitable value less than hilim_p (hilim_m). Otherwise set
and
.
The current amplitudes of heating and cooling uk_p, uk_m, respectively, are automatically adapted by the special algorithm to achieve so called quasi sliding mode, where the sign of alternately changes its value. In such a case the controller output isv alternates the values and . The rate of adaptation of the heating (cooling) amplitude is given by the time constant taup (taum). Both of these time constants have to be sufficiently high to provide the proper function of adaptation but the fine tuning is not necessary. Note for completeness that the manipulated variable mv is determined from the action amplitudes uk_p, uk_m by the following expression
Further, it is important to note that quasi sliding is seldom achievable because of a process dead time or disturbances. The suitable indicator of the quality of sliding is again the output isv. If the extraordinary fine tuning is required then it may be tried to find the better value for the bandwidth parameter beta of derivative filter, otherwise the default value is preferred. In the manual mode () the controller input hv is (after limitation to the range ) copied to the manipulated variable mv.
Inputs
sp | setpoint variable | Double (F64) |
pv | process variable | Double (F64) |
hv | manual value | Double (F64) |
MAN | controller mode | Bool |
|
|
|
Outputs
mv | manipulated variable (position controller output) | Double (F64) |
mve | equivalent manipulated variable | Double (F64) |
de | deviation error | Double (F64) |
SAT | saturation flag | Bool |
|
|
|
isv | number of the positive () or negative () sliding variable steps | Long (I32) |
t_ukp | current amplitude of heating | Double (F64) |
t_ukm | current amplitude of cooling | Double (F64) |
t_sk | discrete dynamic sliding variable | Double (F64) |
t_pv | filtered control error -de | Double (F64) |
t_dpv | filtered first derivative of the control error t_ek | Double (F64) |
t_d2pv | filtered second derivative of the control error t_ek | Double (F64) |
Parameters
ipwmc | PWM cycle in the sampling periods of SMHCC () | Long (I32) |
xi | relative damping of sliding zero dynamics | Double (F64) |
om | natural frequency of sliding zero dynamics (0.0) | Double (F64) |
taup | time constant for adaptation of heating action amplitude in seconds | Double (F64) |
taum | time constant for adaptation of cooling action amplitude in seconds | Double (F64) |
beta | bandwidth parameter of the derivative filter 0 | Double (F64) |
hilim_p | high limit of the heating action amplitude 0.0 1.0 | Double (F64) |
hilim_m | high limit of the cooling action amplitude 0.0 1.0 | Double (F64) |
u0_p | initial value of the heating action amplitude after setpoint change and start of the block | Double (F64) |
u0_m | initial value of the cooling action amplitude after setpoint change and start of the block | Double (F64) |
sp_dif | Setpoint difference threshold 10.0 | Double (F64) |
tauf | Equivalent manipulated variable filter time constant 400.0 | Double (F64) |
[Previous] [Back to top] [Up] [Next]
2020 © REX Controls s.r.o., www.rexygen.com