Sie sind auf Seite 1von 6

SPEEDAM 2006

International Symposium on Power Electronics,


Electrical Drives, Automation and Motion
1-4244-0194-1/06/$20.00 2006 IEEE
Abstract-- This paper presents an interpolation scheme
for high-resolution rotor position estimation using data
from a low-resolution encoder. The estimator is produced
by incorporating a geometric polynomial equation into the
rotor movement profile. The low and transient speed
characteristics are examined and it is shown that the
technique can produce effective resolution improvements by
a factor of 16.
Index Terms-- discrete position, permanent magnet
machine, position estimation, resolution
I. INTRODUCTION
Permanent-magnet machines belong to the general
class of machines, in which the current flow in the
machine windings must be synchronised to the
instantaneous position of the rotor. In variable-speed
applications a power electronic converter is used to
control the machines winding currents (Fig. 1).
However, the current must be controlled in amplitude,
and applied according to the instantaneous rotor position.
For permanent-magnet machines in which the phase flux
linkage versus rotor position characteristic is sinusoidal,
the phase currents should be modulated sinusoidally with
respect to rotor position to ensure that the drive produces
a high output torque with low ripple [1]. Therefore, the
current controller in Fig. 1 must receive high resolution
information about the instantaneous position of the rotor.
Measurement of rotor position requires either an
auxiliary device attached to the motor shaft (e.g. an
optical encoder or resolver) or a device integrated into the
motor (e.g. a Hall-effect sensor or a capacitive
transducer). The high-resolution position measuring
device needed for sinusoidal permanent-magnet machines
can add substantially to the overall drive package cost.
Many researchers have attempted to eliminate the
position sensors using estimation techniques [2].
However a useful way of reducing encoder cost is to use
a low-cost, low-resolution encoder together with a
position interpolation algorithm, implemented in the
drive control processor [3-6]. This paper describes the
principles of a position interpolation scheme using a
polynomial approximation to the position / time
relationship and illustrates its performance during typical
drive operating cycles.
II. INTERPOLATION TECHNIQUE
The interpolation scheme receives low-resolution
position information from a set of three Hall effect
sensors, which define absolute rotor position with a
resolution of 60 electrical degrees (Fig. 2). This data is
used to deduce an appropriate polynomial approximation
to the position / time relationship and this approximation
is then used to generate a continuous estimate of rotor
position.
A. Characteristics of rotor motion
The mechanical equation of motion for a motor drive
can be written:
L 2
2
T T
dt
d
J =

(1)
where J is the system inertia, is the rotor position, T is
the motor torque and T
L
is the load torque. When the
motor and load torques are equal, the rotor acceleration is
zero and the drive runs at constant speed. The solution to
(1) can then be written in the form:
Interpolation Technique for Encoder Resolution
Improvement in Permanent Magnet
Synchronous Motor Drives
Z. Feng*, and P. Acarnley*
+
* School of Electrical, Electronic & Computer Engineering, University of Newcastle upon Tyne,
Newcastle upon Tyne NE1 7RU, (United Kingdom)
+
Research Engineering Education Services, 3 Ramsay Road, Stonehaven AB39 2HJ, (United Kingdom)
current control
power electronic
converter
torque
demand
load machine
current feedback
position feedback
Fig. 1. Permanent-magnet motor drive configuration
S36 - 23
t a a
1 0
+ = (2)
where a
0
and a
1
are constants, with a
1
being the rotor
velocity. However if there is a mismatch between the
motor and load torques the drive accelerates or
decelerates. If the motor and load torques are constant,
the position/ time relationship is:
2
2 1 0
t a t a a + + = (3)
where a
0
, a
1
and a
2
are constants, with a
2
being the rotor
acceleration. Therefore, provided the drive is operating
with motor and load torques which are substantially
constant between low resolution position sensor inputs, it
is sensible to approximate the position / time relationship
by a quadratic equation.
B. Quadratic fit of position / time data
A high resolution signal is generated by approximating
the input position / time data using a quadratic equation
of the form shown in (3).
The coefficients of the quadratic equation are derived
from the low resolution signals. If
k
,
k-1
, and
k-2
, are
the data from sensors at the times t
k
, t
k-1
, and t
k-2
respectively, as shown in Fig. 3, then substituting into (3)
yields the three equations:.

+ + =
+ + =
+ + =


2
2 k 2 2 k 1 0 2 k
2
1 k 2 1 k 1 0 1 k
2
k 2 k 1 0 k
t a t a a
t a t a a
t a t a a

(4)
which can be solved to give the quadratic coefficients:
a
0
= D
1
/D, a
1
= D
2
/D and a
2
= D
3
/D (5)
where
2
2 k 2 k
2
1 k 1 k
2
k k
t t 1
t t 1
t t 1
D


=
,
2
2 k 2 k 2 k
2
1 k 1 k 1 k
2
k k k
1
t t
t t
t t
D


=

2
2 k 2 k
2
1 k 1 k
2
k k
2
t 1
t 1
t 1
D


=

and
2 k 2 k
1 k 1 k
k k
3
t 1
t 1
t 1
D


=

III. SIMULATION RESULTS


The position interpolation scheme using (3) and (5)
has been implemented using Matlab-Simulink. Fig. 4
illustrates the performance of the scheme for both steady-
state and transient velocity profiles. For the result in Fig.
4a the machine is running at a constant velocity of +95
rpm. To contain the position data within the range 0
360
o
, the actual and estimated positions are reset to zero
every revolution. In this operating condition there is
close agreement between the actual and estimated
position signals. Position comparisons in Fig. 4b relate to
operation during a velocity transient, during which the
direction of rotation reverses (at time 0.8 s). There is a
significant error between actual and estimated position
for a short interval after the reversal of direction occurs.
The quality of the position estimation can be assessed
by evaluating the Integral Absolute Error:
dt . IAE
est act
=
(6)
Table I presents a comparison of Integral Absolute Error
(IAE) for various sensor configurations. With the original
three discrete Hall Effect sensors, in which the position
data is only updated at 60
o
intervals, there is a large error
in both steady-state and transient operation. Also shown
in the table (row 2) is the IAE arising from using a larger
number of discrete sensors: with 48 sensors (resolution of
96 pulses per revolution) the IAE is approximately 1.1
deg.s for both speed profiles. However, as shown in the
last row of Table I, comparable reductions in IAE can be
obtained with the quadratic position estimator. The
quadratic estimator produces negligible error with
constant velocity operation, but its performance is
reduced when operating through a velocity transient.
IAE (deg.s)
Sensor configuration
Steady Transient
3 discrete sensors 18.9 18.9
48 discrete sensors 1.1 1.1
interpolation estimator 0.0 1.1
Table I. Integral Absolute Error (IAE) between actual and
estimated rotor position using various sensor /
estimator configurations
Hall sensor signals
X
Y
Z
position
0
o
60
o
120
o
180
o
240
o
300
o
360
o
Fig. 2. Typical sensor outputs from a low-resolution, 3-
sensor system { indicates precisely-defined positions}
time
Fig. 3 Position / time data as the rotor
approaches a change of direction at P
0
position

k-1

k-2
P
0
t
k-2
t
k-1
t
k

S36 - 24
IV. EXPERIMENTAL SYSTEM
The experimental results were obtained using a novel
experimental system shown schematically in Fig. 5. A
high-resolution incremental encoder generating 1024
pulses per revolution quadrature signals provides the
reference rotor position. The encoder signals are passed
to a 10-bit up / down counter, which generates a 10-bit
digital word indicating the rotor position to a resolution
of 0.3
o
. The direction of the up / down count is dictated
by a forward / reverse direction signal derived from the
quadrature encoder signals. An analogue position
reference signal is produced by feeding the 10-bit digital
word into a D/A converter.
The interpolation technique is tested by first deriving
some low-resolution encoder signals by decoding the 10-
bit position reference using an appropriate logic circuit.
Thus the synthesised low resolution signals are exactly
synchronised to the position reference. These low
resolution signals are used to test the position
interpolation routine implemented in the digital signal
processor, comprising an Analog Systems DSP 21061
SHARC floating-point processor with a 40 MHz clock.
This DSP has an interval timer and 3 hardware interrupts.
However, it has only 3 I/O ports, so an external data bus
was used to allow the output of 10 bit data. The output of
the DSP is the estimated rotor position, with 10-bit
resolution, which is passed via the external data bus and a
latch to another D/A converter. An analogue estimated
position signal is therefore available for comparison with
the reference.
V. EXPERIMENTAL RESULTS
The interpolation scheme has been tested for a variety
of steady-state and transient operating conditions.
A. Constant velocity
Comparisons of the actual and estimated rotor
positions with the motor running at constant speeds of
390 pm and 4200 rpm are shown in Figs. 6 and 7
respectively. In both cases the motor is running in the
reverse direction with the position continuously reducing.
On the position and time scales used in the graphs, there
is little discernable difference between the reference and
estimated data: information about the integral of absolute
error is tabulated in sub-section D.
10-bit DAC
10-bit DAC
DSP running position
interpolation routine
decoding
logic
direction
detection
10-bit binary
up/down counter
synthesised low
resolution signals
3
10
10
2
1
fwd/rev
1024 ppr quadrature signals
from incremental encoder
high resolution
position reference
estimated
position
Fig. 5. Experimental system
Fig. 4a. Simulated operation at 95 rpm
0
90
180
270
360
0.0 1.0 2.0 3.0
time (s)
p
o
s
i
t
i
o
n

(
d
e
g
r
e
e
s
)
reference estimated
Fig. 4b. Simulated transient operation
0
90
180
270
360
0.0 1.0 2.0 3.0 4.0
time (s)
p
o
s
i
t
i
o
n

(
d
e
g
r
e
e
s
)
reference estimated
S36 - 25
B. Transient velocity
During transient operation, the interpolation scheme
again generates an estimated rotor position which follows
the actual position with satisfactory accuracy. Fig. 8
presents a comparison of the actual and estimated
position as the rotor speed increases from 420 rpm to
3000 rpm. Note in particular the shape of the curve
around t = 0.6 s, where the quadratic form of the position
/ time relationship is apparent. Fig. 9 compares the two
sets of data as the speed reduces from 3900 rpm to 420
rpm.
C. Sinusoidal variation of velocity
A sinusoidal time variation of the rotor position and
velocity is used in the standard two-axis circle test for
machine tools, because it requires the drives to operate
over their full range including speed reversals. Two tests
of this type have been performed using the position
interpolator..
Fig. 10 shows the results obtained for a large
amplitude sinusoidal variation in rotor velocity. The
velocity amplitude (3000 rpm) is sufficient to cause
movement of about 20 revolutions in each direction
between reversals in direction, which occur at t = 0.3 s
and t = 1.1 s.
Significant position estimation errors are apparent at
these reversal points, so Fig. 11 presents an expanded
view of the data around the reversal at t = 0.3 s. Here it is
apparent that major errors occur as the direction of
rotation is reversed. The reason for these errors lies in the
assumption, made in Section IIA, that the motor torque is
constant between the occurrence of low resolution sensor
signals if a quadratic function is to be a good fit to the
position / time data. At the reversal the rotor velocity is
zero, but the acceleration is a maximum and the motor
torque is changing. Furthermore, the low rotor velocity
causes a large time separation of the low resolution
encoder signals. The effect of the changing motor torque
can only be taken into account when low resolution
signals appear after the direction reversal.
The effect is even more noticeable in Fig. 12, which
illustrates operation with a much lower maximum
velocity, causing reversal of direction at every revolution.
To aid clarity in this graph, the rotor position has not
been constrained to the usual range of 0 360
o
. Major
estimation errors occur at almost reversal, though the size
Fig. 8. Operation from 420 to 3000 rpm
0
90
180
270
360
0.0 0.2 0.4 0.6 0.8 1.0
time (s)
p
o
s
i
t
i
o
n

(
d
e
g
r
e
e
s
)
reference estimated
Fig. 9. Operation from 3900 to 420 rpm
0
90
180
270
360
0.0 0.5 1.0 1.5
time (s)
p
o
s
i
t
i
o
n

(
d
e
g
r
e
e
s
)
reference estimated
Fig. 6. Operation at 390 rpm
0
90
180
270
360
0.0 0.2 0.4 0.6 0.8 1.0
time (s)
p
o
s
i
t
i
o
n

(
d
e
g
r
e
e
s
)
reference estimated
Fig. 7. Operation at 4200 rpm
0
90
180
270
360
0.00 0.02 0.04 0.06 0.08 0.10
time (s)
p
o
s
i
t
i
o
n

(
d
e
g
r
e
e
s
)
reference estimated
S36 - 26
of these errors is limited by comparing the estimated
position values to the low resolution encoder signals. If a
position estimate lies outside the 60
o
range defined by the
encoder signals, then the estimate is limited to the next
expected encoder-defined value.
D. Integral of Absolute Error
Values of Integral of Absolute Error (IAE) from the
six tests are shown in Table II. Because the tests are of
variable duration the IAE values have been normalised to
a 1-second duration test. Thus, for example, the IAE from
operation at 4200 rpm for 0.1 s (Fig. 7) has been
multiplied by 10, to obtain the IAE that would have been
obtained for a test lasting 1.0 s.
Operation IAE (degree.s)
constant 390 rpm 3.6
constant 4200 rpm 3.8
420 rpm to 3000 rpm 3.3
3900 rpm to 420 rpm 3.3
sine velocity: large amplitude 5.6
sine velocity: small amplitude 12.5
Table II. IAE values for operations shown in Figs. 6-12
The results in Table II indicate that the interpolation
scheme has an average error of 3.5 degrees when the
drive is operating at constant velocity or changing
velocity, but without reversing direction. Larger errors
occur when there is a speed reversal.
VI. CONCLUSIONS
The quadratic interpolation technique described in this
paper is able to take standard 60
o
resolution Hall-effect
signals and produce a position estimate with a typical
accuracy of 3.5
o
, provided the drives rotation is
unidirectional. Errors arise during speed reversals,
because the interpolator does not receive any information
about changing acceleration from the low-resolution
input signals.
REFERENCES
[1] Caricci, F.; Giulii, F.; Sinusoidal brushless drive with low-
cost linear hall effect position sensors. 32
nd
Annual IEEE
Power Electronics Specialists Conference, Vol. 2, pp. 799-
804, 2001.
[2] Acarnley, P.P.; Watson, J.F.; A review of position sensorless
operation of brushless permanent magnet machines. IEEE
Transactions on Industrial Electronics, Vol. 53, No. 2,
April 2006.
[3] Bu, J.; Xu, L.; Near-zero speed performance enhancement
of pm synchronous machines assisted by low-cost hall
effect sensors. Proceedings Thirteenth Annual IEEE
Applied Power Electronics Conference and Exposition,
Vol.1, pp. 64-8, 1998.
[4] Emura, T.; Wang, L.; A high resolution interpolator for
incremental encoders based on the quadrature PLL
method. IEEE Transactions on Industrial Electronics, Vol
47, No. 1, pp. 84-90, 2000.
Fig. 10. Sinusoidal variation of velocity
0
90
180
270
360
0.0 0.5 1.0 1.5
time (s)
p
o
s
i
t
i
o
n

(
d
e
g
r
e
e
s
)
reference estimated
Fig. 11. Detail from Fig. 10
0
90
180
270
360
0.1 0.2 0.3 0.4 0.5
time (s)
p
o
s
i
t
i
o
n

(
d
e
g
r
e
e
s
)
reference estimated
Fig. 12. Sinusoidal variation of velocity
-30
60
150
240
330
420
510
0.0 0.2 0.4 0.6 0.8 1.0
time (s)
p
o
s
i
t
i
o
n

(
d
e
g
r
e
e
s
)
reference estimated
S36 - 27
[5] Morimoto, S.; Sanada, M.; Takeda, T.; Sinusoidal current
drive system of permanent magnet synchronous motor with
low resolution position sensor. Conference Record of the
1996 IEEE Industry Applications Conference, Thirty-First
IAS Annual Meeting (Cat. No. 96CH25977) Vol. 1, pp. 9-
14, 1996.
[6] Brown, H.; Schneider, C.; Mulligan, G.; Analysis of
algorithms for velocity estimation from discrete position
versus time data. IEEE Transactions on Industrial
Electronics, Vol. 39, No. 1, pp 11-19, 1992.
S36 - 28