U.S. patent application number 14/211208 was filed with the patent office on 2014-11-06 for position sensorless drive system and method for permanent magnet motors.
This patent application is currently assigned to Texas Instruments Incorporated. The applicant listed for this patent is Texas Instruments Incorporated. Invention is credited to David P. Magee, Shih-Chin Yang.
Application Number | 20140327379 14/211208 |
Document ID | / |
Family ID | 51841108 |
Filed Date | 2014-11-06 |
United States Patent
Application |
20140327379 |
Kind Code |
A1 |
Yang; Shih-Chin ; et
al. |
November 6, 2014 |
POSITION SENSORLESS DRIVE SYSTEM AND METHOD FOR PERMANENT MAGNET
MOTORS
Abstract
A position sensorless drive systems for a permanent magnet
motors are disclosed. An embodiment includes a square wave voltage
source connectable to an input of a permanent magnet motor. At
least one current sensor is connectable to the motor, wherein the
current sensor is configured to sense the current in at least one
power line to the motor in response to the square wave input to the
motor. The position of the rotor relative to the stator may be
determined based on the current resulting from the square wave
voltage.
Inventors: |
Yang; Shih-Chin; (Dallas,
TX) ; Magee; David P.; (Allen, TX) |
|
Applicant: |
Name |
City |
State |
Country |
Type |
Texas Instruments Incorporated |
Dallas |
TX |
US |
|
|
Assignee: |
Texas Instruments
Incorporated
Dallas
TX
|
Family ID: |
51841108 |
Appl. No.: |
14/211208 |
Filed: |
March 14, 2014 |
Related U.S. Patent Documents
|
|
|
|
|
|
Application
Number |
Filing Date |
Patent Number |
|
|
61819267 |
May 3, 2013 |
|
|
|
Current U.S.
Class: |
318/400.02 ;
318/400.11; 318/400.32 |
Current CPC
Class: |
H02P 6/183 20130101;
H02P 21/24 20160201; H02P 21/32 20160201; H02P 6/185 20130101; H02P
6/18 20130101; H02P 6/181 20130101; H02P 21/13 20130101 |
Class at
Publication: |
318/400.02 ;
318/400.32; 318/400.11 |
International
Class: |
H02P 21/00 20060101
H02P021/00; H02P 6/18 20060101 H02P006/18 |
Claims
1. A position sensorless drive system for a permanent magnet motor,
the motor comprising a rotor and a stator, the drive system
comprising: a square wave voltage source connectable to an input of
a permanent magnet motor; at least one current sensor connectable
to the motor, wherein the current sensor is configured to sense the
current in at least one power line to the motor in response to the
square wave input to the motor; wherein the position of the rotor
relative to the stator may be determined based on the current
resulting from the square wave voltage.
2. The drive system of claim 1, wherein the system is adapted to
determine the position of the rotor when the rotor is stationary
relative to the stator, and further comprising a position observer,
wherein the position observer is adapted to determine the position
of the rotor relative to the stator based on the current input
resulting from the injected square wave.
3. The drive system of claim 1, wherein the position observer is
adapted to determine that the rotor is in a first orientation when
the current input resulting from the square wave voltage is greater
than an average current, and wherein the position observer is
adapted to determine that the rotor is in a second orientation when
the current input resulting from the square wave voltage is less
than the average current.
4. The drive system of claim 1, wherein the position of the rotor
relative to the stator may be determined when the rotor is moving
relative to the stator by analyzing reflected current ripples
resulting from the square wave voltage.
5. The drive system of claim 4, wherein the square wave voltage is
adapted to be injected into the d-axis of the motor.
6. The drive system of claim 4, wherein the position of the rotor
relative to the stator may be determined by analyzing the current
ripples in the q-axis of the motor.
7. A position sensorless drive system for a permanent magnet motor,
the motor comprising a rotor and a stator, the drive system
comprising: a voltage input for the q-axis of the motor; a voltage
input for the d-axis of the motor; a square wave voltage source
adapted to generate an injected voltage, to be added to the voltage
input for the d-axis of the motor; at least one current sensor
adapted to measure the current in at least one power line to the
motor, the current being generated in response to the injected
voltage; an extraction device coupled to the at least one current
sensor that is adapted to generate an error signal based on current
in the d-axis and current in the q-axis; and a position observer
coupled to the extraction device, wherein the position observer is
adapted to determine the position of the rotor based on the error
signal.
8. The drive system of claim 7 further comprising a dq/abc device
coupled between the first and second inputs and the motor, wherein
the dq/abc device is adapted to transform the voltage inputs for
the q-axis and the d-axis into a three phase input signal to drive
the motor.
9. The drive system of claim 8, wherein the at least one current
sensor is adapted to measure the current on at least one of the
three phases of the three phase input signal.
10. The drive system of claim 8, wherein the position of the rotor
as determined by the position sensor is adapted to be input to the
dq/abc device.
11. The drive system of claim 7 further comprising an abc/dq device
coupled between the motor and the extraction device, wherein the
abc/dq device monitors the current measured by the at least one
current sensor and generates currents representative of the current
in the d-axis and current in the q-axis.
12. The drive system of claim 11 further comprising a filter
coupled between the abc/dq device and the extraction device,
wherein the filter is adapted to pass high frequency components of
the currents representative of the current in the d-axis and the
current in the q-axis to the extraction device.
13. The drive system of claim 13 wherein the filter is adapted to
pass low frequency representations of the current in the d-axis and
the current in the q-axis, wherein the representation of the
current in the d-axis is at least partially adapted to generate the
voltage input for the d-axis and wherein the representation of the
current in the q-axis is at least partially adapted to generate the
voltage input for the q-axis.
14. The drive system of claim 11 wherein the position of the rotor
as determined by the position observer is adapted to be input to
the abc/dq device.
15. The drive system of claim 7, wherein the currents
representative of the current in the d-axis and the current in the
q-axis are reflected ripple currents generated in response to the
injected voltage.
16. The drive system of claim 15, wherein the currents
representative of the current in the d-axis and the current in the
q-axis are second harmonics of reflected ripple currents generated
in response to the injected voltage.
17. The drive system of claim 7, wherein the error signal is
proportional to the amplitude of the injected voltage multiplied by
the ratio of the difference in inductance in the q-axis and the
d-axis over the difference between the average inductance squared
and the difference in inductance in the q-axis and the d-axis
squared.
18. The drive system of claim 7, wherein the position observer is
adapted to generate a first signal of the error signal multiplied
by the proportional constant of the motor and second signal of the
error signal multiplied by the integral constant of the motor and
integrated, and wherein the first signal and the second signal are
added together.
19. A method of determining the position of a rotor in a permanent
magnet motor, the method comprising: injecting a square wave
voltage into the motor; monitoring the input current in response to
the injected square wave when the rotor is not moving, wherein the
average current is greater than the differential current when the
rotor has a first orientation and wherein the average current is
less than the differential current when the rotor has a second
orientation.
20. The method of claim 19 further comprising: measuring current
reflected from the motor in response to the square wave when the
rotor is rotating at a low speed; and determining the position of a
rotor based on the reflected current.
Description
[0001] This patent application claims priority to United States
provisional patent application 61/819,267 filed on May 3, 2013 for
INITIAL POSITION AND VELOCITY ESTIMATION ALGORITHM FOR SALIENT
PERMANENT MAGNET MOTORS which is incorporated for all that is
disclosed therein.
BACKGROUND
[0002] A permanent magnet motor represents a type of motor where a
fixed stator causes rotation of a movable rotor. The rotor
typically includes multiple magnets embedded in or connected to the
rotor, and the stator typically includes multiple conductive
windings. Electrical signals in the windings generate a rotating
magnetic field that interacts with the magnets of the rotor,
causing the rotor to rotate. Because the stator has multiple
windings, the input to the stator, which is the input to the motor,
is inductive.
[0003] "Sensorless" motor control refers to an approach where one
or more characteristics of a motor, such as motor speed or rotor
position, are mathematically derived. Sensorless motor control
typically avoids the use of separate speed and position sensors
that are mechanically attached to a motor, which might
detrimentally affect the performance of the motor.
SUMMARY
[0004] Position sensorless drive systems for permanent magnet
motors are disclosed. An embodiment includes a square wave voltage
source that is connectable to an input of a permanent magnet motor.
At least one current sensor is connectable to the motor, wherein
the current sensor measures the current in response to the square
wave input to the motor. The position of the rotor relative to the
stator is determined based on the current resulting from the square
wave voltage.
BRIEF DESCRIPTION OF THE DRAWINGS
[0005] FIG. 1 is a cross-sectional view of a permanent magnet motor
that illustrates the magnetic flux property when an injected
voltage is injected in the direction of the north pole and augments
the magnetic flux.
[0006] FIG. 2 is a block diagram of an embodiment of a sensorless
drive system for permanent magnet motors.
[0007] FIG. 3 is a cross-sectional view of the motor of FIG. 1 with
the rotor in the opposite direction and the resulting magnetic flux
property when the injected voltage is injected in the direction of
the south pole and decreases the magnetic flux.
[0008] FIG. 4 is a diagram showing an embodiment of a square wave
voltage injected into the motor of FIGS. 1 and 3 in relation to a
pulse width modulated signal used to drive the motor.
[0009] FIG. 5 is a set of graphs showing current into and out of
the motor when the injected voltage is injected in the direction of
the north pole and augments the magnetic flux.
[0010] FIG. 6 is a set of graphs showing current into and out of
the motor when the injected voltage is injected in the direction of
the south pole and decreases the magnetic flux.
[0011] FIG. 7 is a block diagram of an embodiment of a motor
controller.
[0012] FIG. 8 is a graph showing the relationship between the
estimated and real dq planes in the motor of FIG. 1.
[0013] FIG. 9 shows an embodiment of average inductance, n, and
differential inductance, .DELTA.L, in the d axis of the motor of
FIG. 1.
[0014] FIG. 10 is block diagram of an embodiment of the speed and
position observer of
[0015] FIG. 7.
[0016] FIG. 11 is a block diagram of an embodiment of the dq/abc
device of FIG. 7.
[0017] FIG. 12 is a block diagram of another embodiment of the
dq/abc device of FIG. 7.
[0018] FIG. 13 is a block diagram describing an embodiment for
determining the position of the rotor in the motor of FIGS. 1 and
3.
DETAILED DESCRIPTION
[0019] Sensorless drive systems and methods of driving salient
motors or permanent magnet motors that overcome the above-described
problems are described herein. The systems and methods that are
used vary slightly depending on the speed of the motor. When the
motor is stationary, or more specifically, when the rotor is
stationary relative to the stator, the position of the rotor is
determined by injecting a square wave voltage into the motor and
measuring the location and direction of magnetic flux. When the
motor is operating at low speed, the rotor position is determined
by injecting or superimposing a square wave onto a driving voltage
of the motor and measuring reflected current. When the motor is
operating at high speed, conventional systems and methods may be
used to determine the position of the rotor. The systems and
methods for determining the position of a stationary rotor will be
described followed by descriptions of systems and methods for
determining the position of a slow moving rotor.
[0020] A cross-sectional view of an embodiment of a permanent
magnet motor 100 is shown in FIG. 1. The motor 100 has a fixed
stator 102 and a rotatable rotor 104 that rotates relative to the
stator 102. A permanent magnet or a plurality of permanent magnets
are fixed to the rotor 104. In FIG. 1, the permanent magnet is
noted by its poles of north and south. The stator 102 has a
plurality of teeth 108 that extend to locations proximate the rotor
104. The teeth 108 are wound by coils 110 that create magnetic
fields in the teeth 108 when current passes through the coils 110.
The rotor 104 rotates as the magnetic field in the stator 102 is
changed so as to attract or repel the magnets in the rotor 104.
Therefore, by controlling the current input to the motor 100, which
is input to the stator 102, the speed and torque of the motor 100
is controlled.
[0021] The maximum torque of the motor 100 is generated when the
position of the input current waveform is perpendicular to the
position of the flux waveform in the rotor 104. For permanent
magnet motors, such as the motor 100, the flux position is equal to
the rotor position. As a result, the maximum torque is achieved in
the motor 100 if the instantaneous position of the rotor 104 is
known so that the input current can be positioned accordingly. By
using the devices and methods disclosed herein, the position of the
rotor 104 is quickly determined, which enables a motor controller
to maximize the torque output of the motor 100.
[0022] An embodiment of a sensorless drive system 200 for salient
motors or permanent magnet (PM) motors that overcomes the
above-described problems is shown in FIG. 2. There are several
types of motors that can be referred as salient motors, such as
surface mount PM motors with saturation-induced saliencies or teeth
on their rotors, and interior PM motors with magnets buried in
their rotors. The system 200 drives the motor 100 using a power
source 204 that is coupled to an input 206 of the motor 100. In
some embodiments, the power source 204 is a voltage source. A
square wave generator 210 generates a square wave voltage V.sub.INJ
that is added to the input 206 by way of an adder 212. A current
analyzer 214 analyzes the current reflected from the motor 100. The
reflection is a result of the square wave voltage V.sub.INJ being
injected into the coils 110, FIG. 1, which are primarily inductive.
In some embodiments, the second order harmonics of the square wave
voltage V.sub.INJ generated by the square wave generator 210 are
reflected from the motor 100 and are analyzed by the current
analyzer 214. A position observer 216 determines the position of
the rotor 104 based on the analysis of the reflected current. In
some embodiments, the position observer 216 also determines the
velocity of the rotor 104, FIG. 1, relative to the stator 102.
[0023] The description commences with determining the position of
the rotor 104 when it is stationary. The rotor 104 will be measured
to be at an angle relative to the stator 102, however, the polarity
of the motor 100 or rotor 104 must also be known. Additional
reference is made to FIG. 3, which shows the motor 100 of FIG. 1
with the rotor 104 in the opposite direction, which is referred to
as having the opposite polarity. More specifically, the rotor
north/south pole direction of FIG. 1 is opposite that of FIG. 3.
The angle of the rotor 104 relative to the stator 102 in both
configurations of the motor 100 will be calculated as the same. The
methods described herein determine the polarity of the motor 100 in
addition to the angle of the rotor 104 relative to the stator
102.
[0024] In order to determine magnet polarity in the motor 100, the
square wave voltage V.sub.INJ is injected in the d-axis, which is
also referred to as the direct axis. The motor 100 has two axes,
the d-axis and the q-axis. Current commands are generated for each
axis to operate the motor 100. The d-axis is used to control the
magnetizing flux of the motor 100 and the q-axis is used to control
the torque of the motor 100.
[0025] The injected square wave voltage V.sub.INJ either augments
or detracts the flux in the motor 100, which increases or decreases
the reflected wave from the motor 100 that is caused by the
inductance of the coils 110. Accordingly, the reflected wave that
results from the injected square wave voltage V.sub.INJ contains
the magnetic polarity information. By analyzing the reflected
alternating waveform over a time average, the polarity is
determined, which is indicative of the position of the rotor 104.
The magnetic polarity is identified, as described in greater detail
below, based on the flux saturation reflected current resulting
from the square wave voltage injection V.sub.INJ. By using a time
average method, the initial position estimation of the rotor 104 is
insensitive to the current measurement offset and signal-to-noise
ratio. In some embodiments, low square wave injection voltage
magnitude is used, which results in reduced injection induced
losses. In some embodiments, the methods described herein can
accurately estimate the initial position of the motor 100 with a
1.088 (L.sub.q/L.sub.d) saliency ratio by utilizing 26% DC bus
voltage for injection. The saliency ratio is defined as the
inductance in the q-axis divided by the inductance in the d-axis.
It is this difference in inductance that is used to determine the
polarity.
[0026] In the embodiments of the controller 200 described herein,
the power source 204 uses pulse width modulation (PWM) to drive the
motor 100. FIG. 4 shows an embodiment of an injected square-wave
voltage V.sub.INJ with respect to a PWM pattern. The PWM operates
or switches at a first frequency, such as 10-kHz, which is shown by
the arrows in FIG. 4. The injected square wave voltage V.sub.INJ is
at a second frequency, which is typically lower than the PWM
switching frequency. In the embodiment of FIG. 4, the second
frequency is half of PWM first frequency, so the frequency of the
injected voltage V.sub.INJ is 5-kHz in the example provided above.
FIG. 4 also shows the injection reflected current I.sub.INJ in the
d-axis that results from the injected voltage V.sub.INJ. Because
the input to the motor 100 is inductive, the injected current
I.sub.INJ is the integral of the injected voltage V.sub.INJ.
[0027] In order to determine the position of the rotor 104, the
injected voltage V.sub.INJ is injected in the direction of an
estimated d-axis. Depending on the position of the rotor 104, the
injected voltage V.sub.INJ will either augment or detract the
magnetic flux .lamda. of the motor 100 as described in greater
detail below. As described above, FIGS. 1 and 3 are schematic cross
sectional embodiments of the motor 100 in two configurations. In
the configuration of the motor 100 of FIG. 1, the rotor 104 is
oriented with the south pole to the left and in FIG. 3, the south
pole is oriented to the right.
[0028] The polarity is identified based on the different saturation
conditions between the north and south poles of the rotor 104
relative to the stator 102. FIG. 1 illustrates the magnetic flux
property when the injected voltage V.sub.INJ is injected in the
direction of the north pole. As shown in FIG. 1, the magnetic flux
k.sub.m resulting from the injected voltage V.sub.INJ augments the
magnetic flux of the motor .lamda..sub.PM. The augmented magnetic
flux .lamda. (.lamda..sub.PM+.lamda..sub.INJ) drives the coils 110
on the stator teeth 108 further into saturation, which lowers the
inductance in the motor 100. By contrast in FIG. 3, the injected
voltage V.sub.INJ is injected in the direction of the south pole,
which detracts or subtracts from the magnetic flux of the motor
.lamda..sub.PM. The result is an overall magnetic flux .lamda. of
.lamda..sub.PM-.lamda..sub.INJ. The decrease in the overall
magnetic flux .lamda. leads the stator teeth 108 out of saturation,
which increases the inductance of the motor 100.
[0029] As shown by the graphs in FIG. 4, when the square wave
injected voltage V.sub.INJ is injected into the motor 100, a nearly
triangular current I.sub.LINEAR results because the impedance of
the motor 100 is dominant. The current I.sub.LINEAR of FIG. 4 does
not account for the increased or decreased inductance caused by the
injected flux .lamda..sub.INJ. FIG. 5 shows three graphs of the
current associated with the motor 100 when the injected voltage
V.sub.INJ is injected in the direction of the north pole and
augments the magnetic flux .lamda. as shown in FIG. 1. Graph A of
FIG. 5 shows the ideal injected current I.sub.LINEAR that would
occur without the magnetic flux .lamda. affecting the inductance of
the motor 100. Graph B illustrates an example of the saturation
current I.sub.D.sub.--.sub.SAT that occurs due to the saturation of
the stator 102. Graph C shows the injected current I.sub.INJ when
the injected voltage V.sub.INJ is injected in the direction of the
north pole. As shown in graph C, the injected current I.sub.INJ has
a slightly positive offset during the positive portion of its
period. The positive offset is caused by the saturation of the
stator 102, which causes the absolute value of the maximum peak
injection current of I.sub.INJ to be slightly greater than that of
minimum peak injection current I.sub.INJ. In the example of graph
C, the injection current I.sub.INJ has a maximum value of I.sub.MAX
and a minimum value of I.sub.MIN. The average of I.sub.MAX and
I.sub.MIN is positive indicating that the injected current
I.sub.INJ is flowing from south to north, which indicates that the
polarity of the rotor 104 is in the position shown in FIG. 1.
[0030] The opposite occurs when the injected current I.sub.INJ is
injected in the direction of the south pole as shown by the motor
configuration of FIG. 3. The graphs of FIG. 6 show the currents
resulting from the injected voltage V.sub.INJ. Graph A shows the
linear current I.sub.LINEAR, which is the same as the linear
current of FIG. 5. As shown in graph B, the current
I.sub.D.sub.--.sub.SAT induced by the injected voltage V.sub.INJ is
slightly negative. The negative current I.sub.D.sub.--.sub.SAT
causes the negative peaks of the injected current I.sub.INJ to have
negative offsets as shown in graph C. Therefore, the average of the
values of I.sub.MAX and I.sub.MIN will be negative indicating that
the injected current I.sub.INJ is flowing from north to south,
which indicates the polarity of the rotor 104 is as shown in FIG.
3.
[0031] At this point, the polarity of the rotor 104 relative to the
stator 102 is known. The following description focuses on the
rotational position of the rotor 104 relative to the stator 102.
Additional reference is made to FIG. 7, which is a block diagram of
a motor controller 700. The motor controller 700 of FIG. 7 is a
more enhanced version of the motor controller 200 of FIG. 2. The
controller 700 supports the use of field-oriented control (FOC),
which generally includes controlling the voltages provided to the
motor 100 while representing those voltages with a vector. The
motor 100, as a three-phase, time-dependent and speed-dependent
system, can be transformed via projection into a two-coordinate
time-invariant synchronous system. As described above, the two
coordinate axes are referred to as the d and q axes. The motor 100
is controlled by generating i.sub.d.sup.e* and i.sub.q.sup.e*
current commands (sometimes referred to as "currents") for the d
and q axes, respectively. The i.sub.d.sup.e* current command is
used to control the magnetizing flux of the motor, and the
i.sub.q.sup.e* current command is used to control the torque of the
motor 100. These current commands are then converted to
v.sup.d.sup.e* and v.sub.q.sup.e* voltage commands (sometimes
referred to as "voltages") for the d and q axes, respectively. The
v.sub.d.sup.e* and v.sub.q.sup.e* voltage commands define a voltage
vector that is used to generate a three-phase voltage for the motor
100 as described in greater detail below.
[0032] The controller 700 receives a command speed signal
.omega..sub.e.sup.* that is input to an adder 704. The adder 704
also receives an estimated speed signal {circumflex over
(.omega.)}.sub.e that represents feedback identifying an estimate
of the actual speed of the rotor 104 relative to the stator 102,
which is referred to as the speed of the motor 100. The adder 704
outputs a difference between these signals, which identifies the
error between the commanded speed signal .omega..sub.e.sup.* and
the estimated speed signal {circumflex over (.omega.)}.sub.e. The
adder 704 includes any suitable circuit for combining signals.
[0033] A speed controller 706 receives the output of the adder 704
and uses the error identified by the adder 704 to generate the
current command i.sub.q.sup.e* to control the torque of motor 100.
The current command is proportional to the output of the adder 704
and a speed setting set by the speed controller 706. The speed
controller 706 includes any suitable circuit or device for
converting a speed error into a current command. Another adder 708
combines the current command i.sub.q.sup.e* with a feedback signal
i.sub.q.sub.--.sub.f.sup.e, which represents a measurement of the
actual current in the q axis. The adder 708 generates an output
identifying the difference or error between the feedback signal
i.sup.q.sub.--.sub.f.sup.e and the current command i.sub.q.sup.e*.
The adder 708 includes any suitable circuit for combining
signals.
[0034] A current regulator 710 receives the output of the adder 708
and uses the output of the adder 708 to generate the voltage
command v.sub.q.sup.e* for the motor 100. The current regulator 710
includes any suitable circuit for converting a current into a
voltage command. An adder 712 combines a current command
i.sub.d.sup.e* with a feedback signal i.sub.d.sub.--.sub.f.sup.e*,
which represents a filtered measurement of the actual current in
the d axis. The adder 712 generates an output identifying the
difference or error between the feedback signal
i.sub.d.sub.f--.sub.f.sup.e* and the command current
i.sub.d.sup.e*. The adder 712 includes any suitable circuit for
combining signals. A current regulator 716 receives the output of
the adder 712 and uses the error identified by the adder 712 to
generate a voltage command v.sub.d.sup.e* for the motor 100. The
current regulator 716 includes any suitable circuit for converting
a current error into a voltage command and a current.
[0035] As shown in FIG. 7, the current regulator 716 generates a
voltage command V.sub.d.sup.e* that is used to power the d-axis of
the motor 100. An adder 718 receives the voltage command
V.sub.d.sup.e* and the square wave voltage V.sub.INJ generated by
the square wave generator 210. The adder 718 mixes the voltage
command V.sub.d.sup.e* with the square wave voltage V.sub.INJ. The
current ripples resulting from the square wave voltage V.sub.INJ
are used to determine the position of the rotor 104, FIG. 2, in the
motor 100 as described further below. The adder 718 includes any
suitable circuit for combining or mixing signals.
[0036] A dq/abc device 720 receives the mixed voltage command v and
the voltage command v.sub.q.sup.e* that collectively define the
voltage vector for the motor 100. The dq/abc device 720 converts
the voltage vector into three-phase voltage signals Va, Vb, and Vc
for field oriented control of the motor 100. In some embodiments,
the dq/abc device 720 uses direct-quadrature transformations to
generate the three-phase voltage signals. In field oriented
control, the dq/abc device 720 holds the current vector
perpendicular to the rotor flux vector in order to maximize torque.
In order to achieve the field oriented control, the rotor position
must be known to control the direction of the current vector. The
three-phase voltage signals define the voltages to be applied to
the coils 110 of the stator 102 in the motor 100. Although not
shown, the three-phase voltage signals Va, Vb, and Vc can be
converted into PWM signals for driving the motor 100. The dq/abc
device 720 includes any suitable circuit or device, including a
microprocessor or microprocessor-controlled device, for converting
a voltage vector into three-phase voltage signals.
[0037] Two current sensors 724 and 726 measure the currents in two
of the three-phase current signals. In the embodiment of FIG. 7,
the sensors 724 and 726 measure the current in the Va and Vb
phases. The sensors 724 and 726 measure the current ripple
resulting from the injected square wave voltage V.sub.INJ produced
by the square wave generator 210. The current ripples are used to
estimate the position and speed of the rotor 104. Each of the
current sensor 724 and 726 includes any suitable structure or
circuit for measuring current.
[0038] An abc/dq device 728 receives the current measurements from
the sensors 724 and 726 and converts the measurements into the dq
domain. In some embodiments, the abc/dq device 728 performs
direct-quadrature transforms. In doing the transforms, the abc/dq
device 728 generates signals i.sub.q.sup.eand i.sub.d.sup.e, which
represent the measurements of the actual currents in the d and q
axes. The abc/dq device 728 includes any suitable circuit or
device, including a microprocessor or microprocessor-controlled
device, for converting current measurements associated with
three-phase voltage signals into currents associated with the dq
axes.
[0039] The signals i.sub.q.sup.e and i.sub.d.sup.e are input to a
band-pass filter 730. The band-pass filter 730 outputs the low-pass
filtered current signals i.sub.d.sub.--.sub.f.sup.e and
i.sub.q.sub.--.sub.f.sup.e to the adder 712 and to the adder
708.
[0040] The band-pass filter 730 also outputs high-pass filtered
current signals i.sub.q.sub.--.sub.hf.sup.e .sub.hf and
i.sub.q.sub.--.sub.hf.sup.e to an extraction circuit 734. The
signals i.sub.q.sub.--.sub.f.sup.e and i.sub.d.sub.--h.sub.hf.sup.e
are the high frequency components of the current signals
i.sub.q.sup.e and i.sub.d.sup.e and have ripples due to the
injected square wave voltage V.sub.INJ generated by the square wave
generator 210. The band-pass filter 730 filters out other signals
and components so that the ripple currents can be analyzed as
described below. The band-pass filter 730 includes any suitable
circuit for filtering signals.
[0041] The i.sub.q.sub.--.sub.hf.sup.e and
i.sub.d.sub.--.sub.hf.sup.e signals are input to the extraction
circuit 734 as described above. The extraction circuit 734 performs
functions on the signals as described below to yield a signal
I.sub..DELTA.L2.theta..sub.ERR that contains the position error of
the rotor 104. The signal 2I.sub..DELTA.L.theta..sub.ERR is output
to the position observer 216 which determines the velocity
{circumflex over (.omega.)}.sub.e and position {circumflex over
(.theta.)}.sub.e of the rotor 104. The position {circumflex over
(.theta.)}.sub.e is transmitted to both the dq/abc device 720 and
the abc/dq device 728 because position information is required in
order to fix the current vector perpendicular to the rotor magnet
flux vector to yield the maximum torque. The rotor speed
{circumflex over (.omega.)}.sub.e is input to the adder 704 as
described above. Both the extraction circuit 734 and position
observer 216 include circuits or devices for performing the
functions described herein to yield their respective outputs. In
some embodiments, the extraction circuit 734 and/or the position
observer 216 are microprocessors or include microprocessors to
perform the mathematical functions described below.
[0042] The operation of the controller 700 with respect to
determining the position and speed of the rotor 104 at low speed
operation will now be described. An embodiment of the injected
voltage V.sub.INJ as shown in FIG. 4 is superimposed onto the
voltage V.sub.d.sup.e* to create saliency reflected current ripples
I.sub.RIPPLE. Due to the properties of a square waveform, the
frequency of the injected voltage V.sub.INJ can increase up to half
of the PWM switching frequency. If the PWM switching frequency is
10 KHz, the frequency of the injected voltage V.sub.INJ may be as
high as 5 KHz. High frequency injection has the advantage of
reducing acoustic noises. In this embodiment, the injected voltage
V.sub.INJ has an amplitude of +-V.sub.SQ. The voltage V.sub.INJ is
defined by equation (1) as follows:
V INJ = .+-. V SQ = L s .times. I RIPPLE T = L S ( .theta. )
.times. .DELTA. I RIPPLE .DELTA. T Equation ( 1 ) ##EQU00001##
[0043] where L.sub.S is the saliency-reflected inductance that
contains the position information, I.sub.RIPPLE is the resulting
current ripple, and T is the sampling period of a microprocessor as
shown by the arrows in FIG. 4 that performs the analysis of
equation (1). The current I.sub.RIPPLE contains the position
information due to the inductance variation caused by the position
of the rotor 104 relative to the stator 102. Based on equation (1),
the incremental current ripple .DELTA.I.sub.RIPPLE is determined by
equation (2) as follows:
.DELTA.I.sub.RIPPLE=.+-..DELTA.TL.sub.S.sup.-1(.theta.)V.sub.SQ
Equation (2)
[0044] The following algorithms describe the extraction of position
and speed from the voltage induced current ripple I.sub.RIPPLE. As
shown in FIG. 7, the square wave voltage is superimposed on the
rotor-referred d-axis by way of the voltage V.sub.d.sup.e*. The
superimposed voltage is given by equation (3) as follows:
[ V q e * V d e * ] = [ .+-. V INJ 0 ] Equation ( 3 )
##EQU00002##
where e* is the estimated dq frame, e is the real dq frame, and
.theta..sub.ERR is the corresponding position error of the rotor
104. FIG. 8 shows a graph of the relationship between the estimated
and real dq planes and the reference to the error O.sub.ERR. As
described above, the inductances in the coils 110 of the teeth 108
on the stator 102 are dependent on the location of the rotor 104.
The inductance matrices are depicted by the terms L.sub.dq.sup.e*
and L.sub.dq.sup.e and are shown by the equations (4) and (5)
below, which are also referred to as reference frames:
L dq e * = [ L - .DELTA. L cos ( 2 .theta. ERR ) - .DELTA. sin ( 2
.theta. ERR ) - .DELTA. sin ( 2 .theta. ERR ) L + cos ( 2 .theta.
ERR ) ] Equation ( 4 ) L dq e = [ L - .DELTA. L 0 0 L + .DELTA. L ]
Equation ( 5 ) ##EQU00003##
where .SIGMA.L and .DELTA.L are the average inductance and
differential inductance of the rotor 104. An embodiment of .SIGMA.L
and .DELTA.L in L.sub.d.sup.e* is shown by the graph of FIG. 9. The
average inductance .SIGMA.L is shown by the dashed line. The
differential inductance .DELTA.L is the difference from the average
inductance .SIGMA.L to a peak and a trough. The average inductance
.SIGMA.L is much greater than the differential inductance .DELTA.L.
When .theta..sub.ERR is equal to zero, the estimated inductance
L.sub.dq.sup.e* is equal to the actual or real inductance
L.sub.dq.sup.e. With additional reference to FIG. 7, the ripple
current I.sub.RIPPLE is related to the estimated d and q currents
I.sub.d.sup.e* and I.sub.q.sup.e* and the estimated voltages
V.sub.d.sup.e* and V.sub.q.sup.e* by equation (6) as follows:
I RIPPLE = [ .DELTA. I d e * .DELTA. I q e * ] = .DELTA. TL dq e *
- 1 [ V d e * V q e * ] Equation ( 6 ) ##EQU00004##
[0045] By further substitution, I.sub.RIPPLE is related to the
error .theta..sub.ERR as shown by equation (7) as follows:
I RIPPLE = .DELTA. T [ L - .DELTA. cos ( 2 .theta. ERR ) - .DELTA.
L sin ( 2 .theta. ERR ) - .DELTA. L sin ( 2 .theta. ERR ) L +
.DELTA. L cos ( 2 .theta. ERR ) ] - 1 [ .+-. V INJ 0 ] I RIPPLE =
.+-. .DELTA. TV INJ [ L + .DELTA. L cos ( 2 .theta. ERR ) L 2 -
.DELTA. L 2 .DELTA. L L 2 - .DELTA. L 2 sin ( 2 .theta. ERR ) ]
.apprxeq. .+-. [ I L I .DELTA. L ( 2 .theta. ERR ) ] Equation ( 7 )
##EQU00005##
when .theta..sub.ERR.apprxeq.0, sin(2 .theta..sub.ERR) and
where
I L = .+-. .DELTA. TV INJ L + .DELTA. L L 2 - .DELTA. L 2 and I
.DELTA. L = .+-. .DELTA. TV INJ .DELTA. L L 2 - .DELTA. L 2
##EQU00006##
[0046] By superimposing the square wave voltage V.sub.INJ on the
estimated d-axis voltage V.sub.d.sup.e* as shown in FIG. 7,
saliency-reflected current with the position dependent signal
appears in the estimated q-axis, 2I.sub..DELTA.L.theta..sub.err, as
shown in equation (7) under the assumption
.theta..sub.err.apprxeq.0. As a result, the error .theta..sub.err
is manipulated to zero to find the position of the rotor 104, which
is the real dq axis in FIG. 8.
[0047] The position observer 216 of FIGS. 2 and 7 receives the
signal 2I.sub..DELTA.L.theta..sub.err and performs the functions
above to determine position and velocity of the rotor 104. A block
diagram of an embodiment of the position observer 216 is shown in
FIG. 10. The position observer 216 has an input 1002 that receives
the signal 2I.sub..DELTA.L.theta..sub.err, which is the reflected
current ripples or is proportional to the reflected current ripples
generated in response to the injected square wave voltage
V.sub.INJ. The signal 2I.sub..DELTA.L.theta..sub.err is split and
multiplied by Ki and Kp constants in blocks 1004 and 1006. Ki is
the integral gain of the motor 100 and Kp is the proportional gain
of the motor 100. The signal resulting from the integral gain 1004
is integrated over time by an integrator 1006. The integrated
signal resulting from the integrator 1006 and the signal resulting
from multiplication by the proportional gain Kp are added by an
adder 1008 wherein the result is the estimated velocity of the
rotor 104. The measured velocity is determined by multiplying the
estimated velocity output by the adder 1008 by the number of pole
pairs in the motor 100 using the multiplier 1010. The number of
pole pairs refers to the number of pole pairs or pairs of teeth 108
in the stator 102 of the motor 100. The position of the rotor 104
is determined by integrating the estimated velocity over time using
the integrator 1012.
[0048] The position information is input to the dq/abc device 720,
FIG. 7, where it is used to generate the Va, Vb, and Vc signals. By
knowing the position of the rotor 104, the Va, Vb, and Vc signals
are generated to maximize the torque generated by the motor 100.
The velocity information is fed back to the adder 704, FIG. 7.
[0049] The controller 700 of FIG. 7 uses two current sensors 724
and 726 to measure the current ripple of the motor 100. An
embodiment of a portion of the dq/abc device 720 that uses two
current sensors 724 and 726 in the controller 700 is shown in FIG.
11. The dq/abc device 720 controls a plurality of switches or
transistors to generate the voltages Va, Vb, and Vc. The respective
currents or proportional currents are shown as Ia, Ib, and Ic. The
current sensors 724 and 726 of FIG. 7 are shunt resistors wherein
the voltages across the resistors are measured to determine the
currents Ib and Ic. Using Kirchoff s Law, the sum of the currents
is equal to zero for the dq/abc device 720. Therefore, the current
Ia is equal to -Ib-Ic.
[0050] In some embodiments, a single current sensor is used to
determine the current. Reference is made to FIG. 12, which is an
embodiment of the dq/abc device 720 that uses a single shunt
resistor 1202 to measure the current Isum, which is equal to the
sum of Ia, Ib, and Ic. In this embodiment, the abc/dq device 728
may use different algorithms to determine the currents Ia, Ib, and
Ic. In some embodiments, the abc/dq device 728 makes the average of
the currents Ia, Ib, and Ic equal to the sum Isum.
[0051] The methods described above can be summarized by the flow
chart 300 of FIG. 13. In block 1302, the process commences with
injecting a square wave voltage V.sub.INJ into the motor 100. In
block 1304, the rotor position is determined by monitoring the
input current in response to the injected square wave when the
rotor is not moving. When the average current is greater than the
differential current, the rotor 104 has a first orientation and
when the average current is less than the differential current the
rotor 104 has a second orientation.
[0052] As described above, a square wave is injected into the motor
100, FIG. 1. In some embodiments, the square wave is a high
frequency wave that is in the human audible range of about 12 kHz
to about 20 kHz. As a result, audible noise may be generated. The
injection induced noise can be minimized by properly selecting the
square-wave frequency under different motor operations. When the
motor 100 is initially power up at zero speed, the high frequency
square-wave voltage is injected to find the motor polarity as well
as the rotor position. The motor polarity is identified based on
the injection reflected saturation in the motor magnetic material.
In order to achieve a measurable saturation effect on the current
ripples, the injection frequency may be inverter PWM frequency over
4 or 8 to increase the current ripples for the motor polarity
detection. Once the polarity is identified, the injection frequency
can be increased and the motor 100 is ready to control. In some
embodiments, the minimum injection duration for the motor polarity
detection is 200 ms. In some embodiments, the acoustic noise cannot
be avoided during the stage of zero speed operation. However, once
the motor polarity is identified, the injection frequency can be
increased beyond the audible range.
[0053] While illustrative and presently preferred embodiments of
integrated circuits have been described in detail herein, it is to
be understood that the inventive concepts may be otherwise
variously embodied and employed and that the appended claims are
intended to be construed to include such variations except insofar
as limited by the prior art.
* * * * *