Elmo HARmonica Network Hardware User Manual


 
HARSFEN0602
Table 15-3: Programming sets of controller parameters for gain schedulilng
Only a subset of the controller parameters can be schedualed.
The KG[] parameters can program sets of KP,KI gains, as well as one scheduled double-lead
block at the high order filter.
The other elements of the high order filter cannot be gain scheduled.
The scheduling is automatic for GS[2]=64.
GS[2]=0 selects the controller parameters of KP[2],KI[2],and KP[3].
For other values of GS[2], the value of GS[2] selects directly which of the available sets of controller
parameters is used.
Example:
If GS[2]=1, the proportional gain of the speed loop will be SpeedKpTable[1].By Table
15-3,
SpeedKpTable[1]=KG[64].
15.6 Automatic Controller Gain-Scheduling
The speed reference controls the controller gain scheduling. The goal of the algorithm is to decrease the
gains when the speed is low, since when speed is low, large delay is added to the encoder measurement,
forcing low bandwidth.
The gains are scheduled according to the reference speed. If the desired speed is high, then the encoder data
is updated at high rate, so that the speed sensing delay will be low. If the desired speed is low, then encoder
pulses shall be slow. For example, suppose that a speed of 200 count/sec is required. Then we have a new
encoder count once per 5 msec. The calculated speed will have an average of 2.5msec delay that may kill the
stability of the control algorithm. For that reason, if the speed is low, the controller bandwidth must be
narrowed, so that the extra sensing delay becomes tolerable.
The speed command is filtered, and the filtered value of the speed command serves to fetch the relevant
controller scheduled parameters, KP and KI and some of the advanced filter parameters, from a table.
The filtering is required to avoid abrupt changes of controller parameters, since abrupt changes can spoil the
guaranteed stability of the gain-scheduled controller (Assuming that each of the selection sets of speed
controller parameters is stable controller for its goal speed)
The speed range where the scheduling is effective is about 0..20000 count/sec.
The tabulated gains are not tabulated linearly by the commanded speed, since the dependence of the
parameters in the speed is very nonlinear. The controller parameters are very sensitive to the command speed
about the zero speed (At zero speed the feedback delay approaches infinity). Close to the upper end of the
table, at about 20000 count/sec, the controller parameters become insensitive to the speed. For this reason,
the speed command does not index the gains table directly. Instead, the parameter tables are indexed by a
nonlinear, monotone, function of the commanded speed. This indexing function is tabulated in the vector
SpeedIndexTable(0:63).
The actual parameter indexing process goes as follows:
Saturate speed command
)count/sec 20000,reference speedmax(=X
Filter commanded speed.
Note that the filter does not
respond symmetrically to rising
and falling speed commands.
High-speed commands are
responded immediately, for swift
response, where as low speed
XmYmY )1()()1(
β
β
+=+
where
<
=
)(,
)(,
mYXifGainGsFilterDn
mYXifGainGsFilterUp
β