BACKGROUND OF THE INVENTION1. Field of the Invention

The present invention relates to improvements in a speed estimation
observer which is applied to a speed control system using a rotary encoder and
operated in an extremely low speed range.

2. Description of the Background Art

Generally, in a speed control system for controlling a speed of a
motor by using a rotary encoder of a relatively low resolution, when the motor
is rotated in an extremely low speed, an encoder pulse interval becomes longer
than a speed control period, and therefore accurate speed information cannot be
obtained during such a speed control period. Such a relationship between the speed
control period and encoder pulse is shown in Fig. 9. In Fig. 9, Ts is a speed control
period, Tp is a period of a pulse encoder, and Td is a difference between Ts and
Tp. Accordingly, when the encoder pulse is inputted, an average value of a speed
is derived by using a pulse period Tp from the following equation:

n_{M} = 60/pp&peseta;1/ T_{p}

where pp is the number of pulses per rotation of the encoder [P/R], Tp is an encoder
pulse period [sec], and n_{M} is an average value of the rotation
speed of the motor [rpm].

As is clear from the above equation, in an extremely low speed range,
that is, when the encoder pulse period becomes extremely large, the average speed
becomes indefinite. Accordingly, the speed control system tends to be unstable,
and responsibility thereof is degraded. In order to solve such difficulties, there
is proposed a control system in which a speed during an interval between adjacent
encoder pulses is estimated by using a speed estimation observer. Such a control
system is shown in Fig. 11. A speed estimation observer 10 applied to the control
system is shown in Fig. 10 and includes a load torque observer block of a minimum
dimension. As shown in Fig. 10, a deviating block 110 receives a torque command
τ_{M}*_{(i)} and a load torque estimate

_{(j)}, and outputs a deviation output therebetween. The deviation
output is supplied to a first calculating block 120. The first calculating block
120 includes a division block 120a in which the speed control period Ts is divided
by a model machine time constant T_{M}*, an integrator 120c, and an adder
120b which adds an output of the division block 120a to an output of the integrator
120c. The model output speed estimate
'_{(i)}
derived in the first calculating block 120 is supplied
to a second calculating block 130. The second calculating block 130 derives an
average value during pulse interval and outputs the calculated result
_{(j)}
to a plus input end of a first deviating block 140. A minus
input end of the first deviating block 140 receives an average value
n_{M}_{(j)} which is of a speed detection output from the
pulse encoder 15. The deviation output of the first deviating block 140 is supplied
to an observer gain block 160 and multiplied by a predetermined (generally proportional)
gain. The multiplied value is outputted as a load torque estimate _{(j)}
to
the deviating block 110. In addition, the deviation output of the first deviating
block 140 is supplied to a minus input end of a second deviating block 170. A pulse
input end of the second deviating block 170 receives the model output estimate
'_{(j)}. The second deviating block 170 outputs
the speed estimate _{(i)}. Since in the speed
estimation observer shown in Fig. 10 the speed estimate _{(i)}
and
the load torque estimate _{(j)}
are simultaneously
obtained, a disturbance compensation is carried out for obtaining a disturbance
suppressing effect. As shown in Fig. 11, the speed estimation observer block 10
outputs a speed estimate _{(i)}
and a load torque
estimate _{(j)}. The speed estimate
_{(i)}
and the speed set value τ_{M}*_{(i)}
are supplied to a minus input end and a plus input end of a third deviating block
18, respectively. The deviation output therefrom is supplied to a speed amplifier
19 of a proportion gain K_{WC}. An adder 20 adds the output from the speed
amplifier 19 and the load torque estimate _{(j)},
and outputs a torque command τ_{L}*. A fourth deviating block 21 receives
the torque command τ_{L}* and the actual load torque τ_{L},
and outputs a deviation therebetween. The deviation is supplied to a motor 22 for
its control. A speed detection block 23 receives a signal from a pule encoder 15
and outputs the averaged value to the speed estimation observer 10.

The manner of operation of the speed estimation observer 10 applied
to a motor speed control system shown in Figs. 10 and 11 will be discussed.

A model output estimate '_{(i)}
is
obtained in a manner that the deviation between the torque command τ_{M}*_{(i)}
and the load torque estimate _{(j)}
is integrated
with respect to the observer model machine time constant T_{M}*. Following
this an average speed value _{(j)}
during each
pulse interval Tp is obtained from the model speed output estimate '_{(i)},
and a deviation between the average speed value n_{M}_{(j)}
and the average speed value _{(j)}
is obtained.
Multiplying the deviation by the observer gain (g), the load torque estimate
_{(j)}
is obtained. Then, the speed estimate
_{(i)}
is derived by subtracting the deviation at
the first deviating block 140 from the observer model output estimate
'_{(i)}. The derived speed estimate
_{(i)}
is supplied to the speed control amplifier
19 for executing the control of the motor 22. Also, it becomes possible to execute
a load disturbance compensation by obtaining the torque command upon adding the
load torque estimate _{(j)}
and the output of the
speed amplifier 19 in the adder 20.

However, if the observer gain is set at a relatively large value
for obtaining the disturbance suppressing effect in a condition that an encoder
pulse interval is smaller than a speed control period, such a large observer gain
tends to invite a unstableness of the speed control system in a condition the
encoder pulse interval is longer than the speed control period. Therefore, the
observer gain should not be set at a large value. However, on the other hand, if
the observer gain is set at a relatively small value, the disturbance suppressing
effect in a high motor speed range may be degraded.

SUMMARY OF THE INVENTION

It is an object of the present invention to provide a speed estimation
observer applied to a motor control system which observer enables the switching
of an observer gain to be carried out without generating the transient phenomena
of the control system.

A speed estimation observer according to the present invention is
applied to a system for controlling a motor speed. The speed estimation observer
is arranged to receive a torque command and an averaged motor speed value detected
by a speed detector and to output a speed estimate. The speed estimation observer
comprises a first calculating block which receives a deviation between the torque
command and a load torque estimate and outputs a model output speed estimate by
integrating the deviation with respect to an observer model machine time constant.
A second calculating block receives a corrected model output speed estimate and
outputs an averaged model output speed estimate during a pulse interval of the
speed detector. A first deviating block receives the averaged model output speed
estimate from the second calculating block and the averaged motor speed value detected
by each speed detected period of the speed detector, and outputs a first deviation
between the averaged model output speed estimate and the averaged motor speed
value. An observer gain block receives the first deviation and outputs a load torque
estimate by multiplying the first deviation with an observer gain. A second deviating
block calculates a second deviation between the corrected model output estimate
and the first deviation. A difference calculating block calculates a difference
between two speed deviations of adjacent two speed detected periods and supplying
the difference for adding the reference to the model output estimate outputted
from the first calculating block for obtaining the corrected model output estimate.

BRIEF DESCRIPTION OF THE DRAWINGS

In the drawings, like reference numeral designate like part and elements
throughout all figures, in which:

Fig. 1 is a circuit block diagram of an embodiment of a speed estimation observer
according to the present invention;

Fig. 2 is a circuit block diagram of another embodiment of the speed estimation
observer according to the present invention;

Fig. 3 is characteristics graphs showing the results of the simulation of the
speed estimation observer according to the present invention of Fig. 1;

Fig. 4 is characteristics graphs showing the results of the simulation of a
model where only the observer gain was switched and other correction was not carried
out;

Figs. 5, 6 and 7 are explanatory views for explaining averaging processes;

Fig. 8 is a circuit block diagram of another embodiment of the speed estimation
observer according to the present invention;

Fig. 9 is a signal timing chart for explaining a relationship between a speed
control period and encoder pulse;

Fig. 10 is a circuit block diagram including a conventional speed control observer;
and

Fig. 11 is a circuit block diagram showing a motor speed control system to
which the speed estimation observer is applied.

DETAILED DESCRIPTION OF THE INVENTION

Referring now to Fig. 1, there is shown an embodiment of a speed
estimation observer according to the present invention.

The embodiment shown in Fig. 1 is generally similar to that of Fig.
10 except that a difference calculating block 31 is further provided. The explanation
of the other part except for the difference calculating block 31 is similar to
that of Fig. 10. Furthermore, the speed estimation observer according to the present
invention is applied to the control system as shown in Fig. 11.

As shown in Fig. 1, a deviating block 11 receives a torque command
τ_{M}*_{(i)} and a load torque estimate _{(j)},
and outputs a deviation output therebetween. The deviation output is supplied
to a first calculating block 12. The first calculating block 12 includes a division
block 12a in which the speed control period Ts is divided by a model machine time
constant T_{M}*, an integrator 12c, and an adder 12b which adds an output
of the division block 12a to an output of the integrator 12c. The model output
speed estimate '_{(i)}
derived in the first calculating
block 12 is supplied to a second calculating block 13. The second calculating block
13 derives an average value during a pulse interval and outputs the calculated
result _{(j)}
to a plus input end of a first deviating
block 14. A minus input end of the first deviating block 14 receives an average
value n_{M}_{(j)} which is of a speed detection output from
the pulse encoder 15 as shown in Fig. 11. The deviation output of the first deviating
block 14 is supplied to an observer gain block 16 and multiplied by a predetermined
(generally proportional) gain. The multiplied value is outputted as a load torque
estimate _{(j)}
to the deviating block 11.

The difference calculating block 31 comprises an observer gain inverse-number
block 32, a deviating block 33 and an adder 34. The observer gain inverse-number
block 32 receives the predetermined gain from the observer gain block 16 and switches
the observer gain (g_{j+1}) at a next sampling time (j+1). The deviating
block 33 which receives an integrated output from the observer gain inverse-number
block 32 and a deviation output of a first deviation block 14 to its plus and minus
input ends, respectively. The adder 34 receives a deviation output of the deviation
block 33 at its first end, and an integrator 35 which integrates the output of
the adder 34 and supplied it to a second input end of the adder 34. The integrated
output of the observer gain inverse-number block 32 is supplied to a minus input
end of the second deviation block 17. The output Δn_{c}'_{(j)}
(integral element) and the output of the adder 12b are added in an adder 36.

Hereinafter, the process for constructing the speed estimation observer
according to the present invention will be discussed.

When the load torque τ_{L} is applied to the speed estimation
observer according to the present invention, a speed deviation Δn_{(j)}
is generated between an average value of an actual motor speed n_{M(j)}
and either of a model output speed estimate '_{(j)}
or
an averaged model output speed estimate _{(j)}.
The speed deviation is derived from the following equation:

Consider the change of the observer gain (g_{j})
to (g_{j}') at a time j, wherein it is assumed that an estimation of the
load torque has already finished and is converging to a predetermined value
_{(j-1)}. Further, it is assumed that the load
torque does not varied during the switching of the observer gain and therefore

In case that the speed deviation Δn_{(j)} during a
period between the time (j-1) and the time (j) is obtained at the time (j) from
the equation (1), it is impossible to switch the observer gain from g_{j}
to g_{j}' at the time (j) without changing the relationship

The reason is because the following equation must be satisfied:

wherein τ&supand;_{L(j)}, g_{j}
and

are constant. Therefore, consider to delay the switching of the gain
at a next time (j+1). That is, at the time (j) (g_{j}) is used as an observer
gain, and the observer gain is switched as
(g_{j}')= (g_{j+1})
at the time (j+1). Assuming that the observer gain is switched from (g_{j})
to (g_{j+1}) at the time (j+1), the speed deviation Δn_{(j+1)}
at the time (j+1) can be expressed by the following equation (2):

If the load torque is not varied, the speed deviation
Δn_{(j)} at the time (j) is kept constant. However, if the switching
of the gain is carried out at the time (j+1), it is necessary that the speed deviation
Δn_{(j)} is corrected with respect to the difference between the
speed deviation Δn_{(j+1)} at the time (j+1). Such a difference between
the speed deviations at the time (j+1) and the time (j) is derived from the equations
(1) and (2) as follows.

where it is assumed that

Therefore, the following equation (4) is obtained.

where since the speed deviation Δn_{(j)} has been integrated
and multiplied to the observer model output estimate '_{(j)},
it is necessary to correct the observer model output estimate '_{(j)}
with
respect to the difference of the equation (3).

Fig. 1 shows a speed estimation observer taking the switching of
the observer gain into consideration.

Since a correction block of the speed deviation Δn_{(j)}
is included in the difference calculating block 31, it becomes possible to switch
the observer gain during a calculation in the speed control period j. The calculation
at the time (j) is carried out as follows:

(1) calculating

(2) assuming that the observer gain is switched from (g_{j}) to (g_{j+1})
at the sampling time (j+1), and executing a calculation of the equation (3),

(3) in order to hold a correction data Δn at a gain switching time, executing
a calculation of the integral element (multiple of the difference), and obtaining
a correction data Δn_{c}'_{(j)},

(4) in order to correct '_{(i)}
by Δn_{c}'_{(j)},
outputting
to the minus input end of the deviation detector 17.

The above-mentioned operation in paragraph (4) is carried out by
the following reasons: Because the observer gain is switched to (g_{j+1})
at the time (j+1), by adding Δn_{c}'_{(j)} to '_{(i)}
which
is adjusted so as to correspond to the observer gain (g_{j+1}) during a
period between the time (j) and the time (j+1). Therefore, it is necessary to set

Fig. 2 shows a second embodiment of the speed estimation observer
according to the present invention. The second embodiment is generally similar
to the first embodiment except the integral element for calculating Δn_{c}'_{(j)}
is moved to the side of the speed control period. That is, as shown in Fig. 2,
the output Δn_{c}'_{(j)} of the deviating block 33 is supplied
to the adder 36 through a switch 37 which is turned on only at a first time (i)
next of the time (j).

Figs. 3 and 4 show the results of simulation relating to the above
mentioned embodiment. Fig. 3 shows the result of the simulation of the embodiment
of the speed estimation observer according to the present invention. Fig. 4 shows
the simulation result of a model in which only the observer gain is switched and
the corrections of Δn_{c}'_{(j)} does not executed. These
simulations were carried out under the following conditions:

(a) A set speed value n_{M}* was changed from 0 to 1/2000 PU (1/2000
of 1500 rpm).

(b) The load torque τ_{L} was set at 100PU (τ_{L} =
100PU).

(c) The switching of the observer gain was executed 50→100→50 within
o.4 -0.6 second.

(d) The motor machine time constant T_{M} was set at 2 seconds (T_{M}
= 2 seconds).

(e) The observer model machine time constant T_{M}* was set at 2 seconds
(T_{M}* = 2 seconds).

In Fig. 3, graph A is a set speed n_{M}*, graph B shows a
load torque τ_{L}, graph C shows the observer gain g, graph D shows
a torque command τ_{M}, graph E shows a load torque estimate
_{(j)}, graph F shows an actual speed n_{M},
graph G shows a speed estimate , graph H shows a speed
selected value n_{M}. As is clear from Fig. 3, even if the observer
gain is switched during a time period from 0.4 second to 0.6 second, the torque
command, load toque estimate, motor actual speed, speed estimate and the speed
detected value are almost not varied and are stable. In contrast, as shown in
Fig. 4, in case of the model in which only the observer gain is switched and the
corrections of the Δn_{c}'_{(j)} does not executed, the torque
command and the like occur transient phenomena.

Fig. 5 shows an explanatory view of a method for deriving the average
value n_{M}'_{(j)}. It is noted that for explanation purpose the
time between j and (j+1) will be explained. It is also noted that as appreciated
from Fig. 5, the average value n_{M}'_{(j)} is derived from the
average value for each speed control period whose total sum of areas is divided
by a time.

First, the average value from the time (j,0) to (j,n) is derived
from the following equation:

where '_{j0}, ---, and
'_{jn}
denote model output estimate of (j,0) through
(j,n) number; and _{j0∼jn}
denotes the average
value.

Next, the average value during a time lag
(Ts-ΔT_{Ej-1})
between the encoder pulse signal j and the speed control period signal i will be
derived. Until the encoder pulse is inputted at the time (j+1) as shown in Fig.
6, the torque estimate _{(j)}
estimated at the
time j is used for estimating the model output estimate '_{(i)}.
Accordingly, the average value n_{M}'_{(j+1)} at the time
(j+1) is derived from the following equation:

The average value during the time period ΔT_{Ej} is
derived by using a torque command τ_{Mjn}* in the order of the (j,n)
number from the following equation:

Since the torque estimate _{(j+1)}
at
the time (j+1) is obtained by the input of the encoder pulse at the time(j+1),
the average value '_{j+10}
is derived from the
following equation:

Referring to Fig. 7, the average value
_{(Ts-ΔTEj-1)}
during the time period (T_{S}-ΔT_{Ej-1})
can be derived from the following equations:

As described above, the average value
_{(j+1)}
of the model output estimate
'_{(i)}
during the time period Tp_{(j+1)}
can be derived from the following equation:

When the observer model output average value
_{(j)}
is calculated from the equation (12), the
deviation between the timing between the speed control period signal i and speed
detection period signal j can be compensated. Further, in the low speed range,
a variable gain Kc at a time no encoder pulse is not derived during the speed control
period can be obtain from the following equation:

The equation (13) represents a ratio between
the encoder pulse interval T_{P(j+1)} and speed control period T_{S},
and the observer gain becomes reduced as the speed becomes low. It is, then noted
that if approximately the deviation of the timing between i and j is neglected,
the equation (13) may be represented by the following equation:

K_{C} = 1/n (14)

Referring to Fig. 8, there is shown a circuit block diagram
of another embodiment of the speed estimation observer according to the present
invention. In Fig. 8, an averaging process block 100 is used instead of the second
calculating block 13 in Fig. 1. The averaging process block 100 calculates the
equation (12). The averaged output from the averaging process block 100 is supplied
to the plus input end of the first deviation block 14, the minus input end thereof
receiving the average value n_{M(j)} of the speed detection output detected
form the pulse encoder. The deviated output of the first deviating block 14 is
supplied to the variable gain (Kc) block 101 to execute the calculation of the
equation (13). As the speed becomes low, the gain is reduced so that the observer
gain is supplied form the variable gain block 101 to the observer gain block 16.
Thereafter, the same operation as in the first preferred embodiment is carried
out.

With the thus arranged system, it becomes possible to eliminate error
due to a time lag between the speed control period and the speed detection period.
This improves the accuracy and stability of the speed estimation. Furthermore,
since the variable gain is applied to the speed estimation observer, it becomes
possible to keep the stability of the control system within a range from a low
speed to a high speed to ensure the disturbance suppressing effect in a high speed
range.

It will be fully be appreciated by those skilled in the art that
the foregoing description has been made to the preferred embodiment and various
changes and modifications may be made without departing from the scope of the present
invention which is to be defined by the appended claims

Anspruch[en]

A speed estimation observer applied to a system for controlling a motor speed,
said speed estimation observer receiving a torque command and an averaged motor
speed value detected by a speed detector, and outputting a speed estimate, said
speed estimation observer comprising:

a first calculating block receiving a deviation between the
torque command and a load torque estimate and outputting a model output speed
estimate by integrating the deviation with respect to an observer model machine
time constant;

a second calculating block receiving a corrected model output
speed estimate and outputting an averaged model output speed estimate during a
pulse interval of the speed detector;

a first deviating block receiving the averaged model output
speed estimate from said second calculating block and the averaged motor speed
value detected by each speed detected period of the speed detector and outputting
a first deviation between the averaged model output speed estimate and the averaged
motor speed value;

an observer gain block receiving the first deviation and outputting
a load torque estimate by multiplying the first deviation with an observer gain;

a second deviating block calculating a second deviation between
the corrected model output estimate and the first deviation; and

a difference calculating block calculating a difference between
two speed deviations of adjacent two speed detected periods and supplying the difference
for adding the reference to the model output estimate outputted from said first
calculating block for obtaining the corrected model output estimate.

A speed estimation observer as claimed in claim 1, wherein said difference
calculating block includes an observer gain inverse-number block for switching
an observer gain at a next sampling time; a third deviating block which receives
an integrated output from the observer gain inverse-number block and the first
deviation to its plus and minus input ends, respectively; and an adder which receives
the third deviation at its first end, and an integrator which integrates the output
of the adder and supplies it to a second input end of the adder, the integrated
output of the observer gain inverse-number block being supplied to a minus input
end of said second deviating block.

A speed estimation observer as claimed in claim 1, further comprising an adder
which receives the model output speed estimate and the difference of said difference
calculating block and outputs the sum of them to said second calculating block
and said second deviating block.

A speed estimation observer as claimed in claim 3, wherein the third deviation
of the third deviating block is supplied to the adder through a switch which is
turned on only at a first control time in next of the speed detected time, the
output of the adder being feedbacked to an integrator of said first calculating
block.

A speed estimation observer as claimed in claim 1, wherein said observer gain
block is arranged to change the observer gain from a first predetermined value
to a second predetermined value when the motor speed becomes larger than a predetermined
speed.

A speed estimation observer as claimed in claim 5, wherein said observer gain
block includes an observer gain which is a multiple of a fixed gain and a constant.

A speed estimation observer as claimed in claim 5, wherein said observer gain
block includes an observer gain which is a multiple of a fixed gain, a constant
and a compensation gain.