U.S. patent application number 15/810844 was filed with the patent office on 2018-03-08 for rotor position sensing system for three phase motors and related methods.
This patent application is currently assigned to SEMICONDUCTOR COMPONENTS INDUSTRIES, LLC. The applicant listed for this patent is SEMICONDUCTOR COMPONENTS INDUSTRIES, LLC. Invention is credited to Kazumasa TAKAI.
Application Number | 20180069495 15/810844 |
Document ID | / |
Family ID | 60408615 |
Filed Date | 2018-03-08 |
United States Patent
Application |
20180069495 |
Kind Code |
A1 |
TAKAI; Kazumasa |
March 8, 2018 |
ROTOR POSITION SENSING SYSTEM FOR THREE PHASE MOTORS AND RELATED
METHODS
Abstract
A system and method for sensing rotor position of a three-phase
permanent magnet synchronous motor (PMSM) includes a controller
coupled with the PMSM and causing a plurality of voltage pulses to
be applied thereto. A timer and/or an analog-to-digital converter
is coupled with the PMSM and measures a plurality of values
(measured values) from a three-phase inverter coupled with the
PMSM. Each measured value may correspond with one of the plurality
of voltage pulses and includes a current value or time value
corresponding with an inductance of the PMSM. One or more logic
elements calculates, based on the measured values and on one or
more position algorithms, a position of a rotor of the PMSM
relative to a stator of the PMSM. The system is configured to
calculate the position of the rotor when the rotor is in a stopped
configuration and when the rotor is in a rotating
configuration.
Inventors: |
TAKAI; Kazumasa;
(Kakamigahara City, JP) |
|
Applicant: |
Name |
City |
State |
Country |
Type |
SEMICONDUCTOR COMPONENTS INDUSTRIES, LLC |
Phoenix |
AZ |
US |
|
|
Assignee: |
SEMICONDUCTOR COMPONENTS
INDUSTRIES, LLC
Phoenix
AZ
|
Family ID: |
60408615 |
Appl. No.: |
15/810844 |
Filed: |
November 13, 2017 |
Related U.S. Patent Documents
|
|
|
|
|
|
Application
Number |
Filing Date |
Patent Number |
|
|
15219021 |
Jul 25, 2016 |
9831808 |
|
|
15810844 |
|
|
|
|
15215425 |
Jul 20, 2016 |
9831809 |
|
|
15219021 |
|
|
|
|
Current U.S.
Class: |
1/1 |
Current CPC
Class: |
H02P 6/183 20130101;
H02P 21/24 20160201; H02P 6/185 20130101 |
International
Class: |
H02P 6/18 20060101
H02P006/18 |
Claims
1. A system for sensing rotor position of a motor, the system
comprising: a controller configured to couple with a delta
configuration three-phase permanent magnet synchronous motor
(PMSM), the controller configured to cause a plurality of voltage
pulses to be applied to the PMSM; an analog-to-digital converter
(ADC) configured to be coupled with the PMSM and with the
controller and configured to measure a plurality of values
(measured values) from a three-phase inverter configured to couple
with the PMSM, each of the measured values corresponding with one
of the plurality of voltage pulses each applied for a predetermined
constant time interval and comprising a current value corresponding
with an inductance of the PMSM; and one or more logic elements
configured to calculate, using one or more position algorithms, a
position of a rotor of the PMSM relative to a stator of the PMSM;
wherein the one or more position algorithms employ a least squares
method with the measured values to calculate the position of the
rotor when the rotor is in a stopped configuration and when the
rotor is in a rotating configuration.
2. The system of claim 1, wherein the one or more logic elements
are coupled with one or more shunt resistors that are coupled with
the three-phase inverter.
3. The system of claim 1, wherein the system is configured to
calculate a position of a rotor of a PMSM that is not controlled
using vector control (field-oriented control).
4. The system of claim 1, wherein the PMSM comprises a surface
permanent magnet synchronous motor (SPMSM).
5. The system of claim 1, wherein the PMSM comprises an interior
permanent magnet synchronous motor (IPMSM).
6. The system of claim 1, wherein the one or more logic elements
calculate the position of the rotor within 30 degrees of
accuracy.
7. The system of claim 1, wherein the one or more position
algorithms include tan - 1 ( i = 1 N sin ( 2 .alpha. i ) y i i = 1
N cos ( 2 .alpha. i ) y i ) ##EQU00049## wherein each .alpha..sub.i
includes a value between 0 and 2.pi. and wherein each y.sub.i
includes one of the measured values.
8. The system of claim 1, wherein the system is configured to
calculate a position of a rotor of a PMSM that is controlled using
vector control (field-oriented control).
9. A system for sensing rotor position of a motor, the system,
comprising: a controller configured to couple with a delta
configuration three-phase permanent magnet synchronous motor
(PMSM), the controller configured to cause a plurality of voltage
pulses to be applied to the PMSM; a timer coupled with the at least
one shunt resistor configured to couple with the PMSM and also
configured to measure a plurality of values (measured values), each
of the measured values corresponding with one of the plurality of
voltage pulses and comprising a time value corresponding with an
inductance of the PMSM; and one or more logic elements coupled with
the timer and configured to calculate, using one or more position
algorithms, a position of a rotor of the PMSM relative to a stator
of the PMSM; wherein the one or more position algorithms employ a
least squares method with the plurality of measured values and a
plurality of measuring current vector phase values to calculate the
position of the rotor when the rotor is in a stopped configuration
and when the rotor is in a rotating configuration.
10. The system of claim 9, wherein the one or more logic elements
calculate the position of the rotor within 30 degrees of
accuracy.
11. The system of claim 9, wherein the system is configured to
calculate a position of a rotor of a PMSM that is not controlled
using vector control (field-oriented control).
12. The system of claim 9, wherein the system comprises the timer,
an analog to digital converter (ADC), a comparator, and a
multiplexer each coupled with the one or more logic elements.
13. The system of claim 9, wherein the system further comprises a
sample and hold element (S/H) and an analog multiplexer (AMUX)
coupled with the one or more logic elements.
14. The system of claim 9, wherein the one or more position
algorithms include tan - 1 ( i = 1 N - sin ( 2 .alpha. i ) y i i =
1 N - cos ( 2 .alpha. i ) y i ) ##EQU00050## wherein each
.alpha..sub.i includes a value between 0 and 2.pi. and wherein each
y.sub.i includes one of the measured values.
15. A method for sensing rotor position of a motor, the method,
comprising: providing a controller and one of a timer and an
analog-to-digital converter (ADC) configured to couple with a delta
configuration three-phase permanent magnet synchronous motor
(PMSM); applying, using the controller, a plurality of voltage
pulses to the PMSM; measuring, with the one of the timer and the
ADC, a plurality of values (measured values) from a three-phase
inverter coupled with the PMSM, each of the measured values
corresponding with one of the plurality of voltage pulses and
comprising one of a current value corresponding with an inductance
of the PMSM and a time value corresponding with an inductance of
the PMSM, and; calculating, with one or more logic elements coupled
with the PMSM, using one or more position algorithms, a position of
a rotor of the PMSM relative to a stator of the PMSM; wherein the
one or more position algorithms employ a least squares method with
the plurality of values to calculate the position of the rotor when
the rotor is in a stopped configuration and when the rotor is in a
rotating configuration; and wherein the one or more logic elements
are configured to calculate a position of a rotor of a PMSM that is
not controlled using vector control (field-oriented control).
16. The method of claim 15, wherein the one or more position
algorithms includes one of tan - 1 ( i = 1 N - sin ( 2 .alpha. i )
y i i = 1 N - cos ( 2 .alpha. i ) y i ) and tan - 1 ( i = 1 N sin (
2 .alpha. i ) y i i = 1 N cos ( 2 .alpha. i ) y i ) ##EQU00051##
wherein each .alpha..sub.i includes a value between 0 and 2.pi. and
wherein each y.sub.i includes one of the measured values.
17. The method of claim 15, further comprising calculating, with
the one or more logic elements, the position of the rotor relative
to the stator when the rotor is in the stopped configuration.
18. The method of claim 15, further comprising coupling the timer
with the PMSM and toggling the timer between a start configuration
and a stop configuration using a signal processor in response to an
input from a comparator.
19. The method of claim 15, further comprising coupling the ADC
with the PMSM, converting an analog signal from the three-phase
inverter to a digital signal using the ADC, and communicating the
digital signal from the ADC to the one or more logic elements.
20. The method of claim 15, wherein the measured values are
measured using one or more elements coupled with one or more shunt
resistors that are coupled with the three-phase inverter.
Description
CROSS REFERENCE TO RELATED APPLICATIONS
[0001] This application is a continuation of the earlier U.S.
Utility patent application Ser. No. 15/219,021, entitled "Rotor
Position Sensing System for Three Phase Motors and Related
Methods," listing as first inventor Kazumasa Takai, filed Jul. 25,
2016, which is a continuation-in-part application of the earlier
U.S. Utility patent application Ser. No. 15/215,425, entitled
"Rotor Position Sensing System for Three Phase Motors and Related
Methods," listing as first inventor Kazumasa Takai, filed Jul. 20,
2016, now pending, the disclosures of each of which are hereby
incorporated entirely herein by reference.
BACKGROUND
1. Technical Field
[0002] Aspects of this document relate generally to three-phase
motors. Specific implementations involve three-phase motors that
use a star (wye) (Y) configuration or a delta configuration.
Specific implementations involve permanent magnet synchronous
motors (PMSMs).
2. Background
[0003] Three-phase power system use three conductors each carrying
alternating current. The currents have the same frequencies and
amplitudes but are each one-third out of phase relative to the
other two. The phase difference results in a voltage peak on each
conductor one third of a cycle after the voltage peak an another
conductor (and so on), which effect may be used to product a
rotating magnetic field in a motor. Permanent magnet synchronous
motors (PMSMs) exist which utilize such a rotating magnetic field,
including surface PMSMs (SPMSMs) and interior/internal PMSMs
(IPMSMs).
SUMMARY
[0004] Implementations of system for sensing rotor position of a
motor (systems) may include: a controller coupled with a delta
configuration three-phase permanent magnet synchronous motor
(PMSM), the controller configured to cause a plurality of voltage
pulses to be applied to the PMSM; a timer and/or an
analog-to-digital converter (ADC) coupled with the PMSM and with
the controller and configured to measure a plurality of values
(measured values) from a three-phase inverter coupled with the
PMSM, each of the measured values corresponding with one of the
plurality of voltage pulses and including a current value
corresponding with an inductance of the PMSM or a time value
corresponding with an inductance of the PMSM, and; one or more
logic elements configured to calculate, based on the measured
values and using one or more position algorithms, a position of a
rotor of the PMSM relative to a stator of the PMSM; wherein the
system is configured to calculate the position of the rotor when
the rotor is in a stopped configuration and when the rotor is in a
rotating configuration.
[0005] Implementations of systems for sensing rotor position of a
motor (systems) may include one, all, or any of the following:
[0006] The one or more logic elements may be coupled with one or
more shunt resistors that are coupled with the three-phase
inverter.
[0007] The system may be configured to calculate a position of a
rotor of a PMSM that is not controlled using vector control
(field-oriented control).
[0008] The PMSM may be a surface permanent magnet synchronous motor
(SPMSM).
[0009] The PMSM may be an interior permanent magnet synchronous
motor (IPMSM).
[0010] The one or more logic elements may calculate the position of
the rotor within 30 degrees of accuracy.
[0011] The system may include the timer, a comparator coupled with
the timer, and a signal processor coupled with the timer and
configured to toggle the timer between a start configuration and a
stop configuration in response to an input from the comparator.
[0012] The one or more position algorithms may include
tan - 1 ( i = 1 N - sin ( 2 .alpha. i ) y i i = 1 N - cos ( 2
.alpha. i ) y i ) and / or tan - 1 ( i = 1 N sin ( 2 .alpha. i ) y
i i = 1 N cos ( 2 .alpha. i ) y i ) ##EQU00001##
wherein each .alpha..sub.i includes a value between 0 and 2.pi. and
wherein each y.sub.i includes one of the measured values.
[0013] The system may be configured to calculate a position of a
rotor of a PMSM that is controlled using vector control
(field-oriented control).
[0014] Implementations of systems for sensing rotor position of a
motor (systems) may include: a controller coupled with a delta
configuration three-phase permanent magnet synchronous motor
(PMSM), the controller configured to cause a plurality of voltage
pulses to be applied to the PMSM; at least three shunt resistors
coupled with a three-phase inverter coupled with the PMSM; a timer
and/or an analog-to-digital converter (ADC) coupled with the at
least three shunt resistors and configured to measure a plurality
of values (measured values), each of the measured values
corresponding with one of the plurality of voltage pulses and
including a current value corresponding with an inductance of the
PMSM or a time value corresponding with an inductance of the PMSM,
and; one or more logic elements coupled with the timer and/or the
ADC and configured to calculate, based on the measured values and
using one or more position algorithms, a position of a rotor of the
PMSM relative to a stator of the PMSM; wherein the system is
configured to calculate the position of the rotor when the rotor is
in a stopped configuration and when the rotor is in a rotating
configuration.
[0015] Implementations of systems for sensing rotor position of a
motor (systems) may include one, all, or any of the following:
[0016] The system may be configured to calculate a position of a
rotor of a PMSM that is not controlled using vector control
(field-oriented control).
[0017] The system may include the timer, the ADC, a comparator, and
a multiplexer each coupled with the one or more logic elements.
[0018] The system may further include a sample and hold element
(S/H) and an analog multiplexer (AMUX) coupled with the one or more
logic elements.
[0019] The one or more position algorithms may include
tan - 1 ( i = 1 N - sin ( 2 .alpha. i ) y i i = 1 N - cos ( 2
.alpha. i ) y i ) and tan - 1 ( i = 1 N sin ( 2 .alpha. i ) y i i =
1 N cos ( 2 .alpha. i ) y i ) ##EQU00002##
wherein each .alpha..sub.i includes a value between 0 and 2.pi. and
wherein each y.sub.i includes one of the measured values.
[0020] Implementations of methods for sensing rotor position of a
motor (methods) may include: coupling a controller and a timer
and/or an analog-to-digital converter (ADC) with a delta
configuration three-phase permanent magnet synchronous motor
(PMSM); applying, using the controller, a plurality of voltage
pulses to the PMSM; measuring, with the timer and/or the ADC, a
plurality of values (measured values) from a three-phase inverter
coupled with the PMSM, each of the measured values corresponding
with one of the plurality of voltage pulses and including a current
value corresponding with an inductance of the PMSM or a time value
corresponding with an inductance of the PMSM, and; calculating,
with one or more logic elements coupled with the PMSM, based on the
measured values and using one or more position algorithms, a
position of a rotor of the PMSM relative to a stator of the PMSM;
wherein the one or more logic elements are configured to calculate
the position of the rotor when the rotor is in a stopped
configuration and when the rotor is in a rotating configuration,
and; wherein the one or more logic elements are configured to
calculate a position of a rotor of a PMSM that is not controlled
using vector control (field-oriented control).
[0021] Implementations of methods for sensing rotor position of a
motor (methods) may include one, all, or any of the following:
[0022] The one or more position algorithms may include
tan - 1 ( i = 1 N - sin ( 2 .alpha. i ) y i i = 1 N - cos ( 2
.alpha. i ) y i ) and tan - 1 ( i = 1 N sin ( 2 .alpha. i ) y i i =
1 N cos ( 2 .alpha. i ) y i ) ##EQU00003##
wherein each .alpha..sub.i includes a value between 0 and 2.pi. and
wherein each y.sub.i includes one of the measured values.
[0023] Calculating, with the one or more logic elements, the
position of the rotor relative to the stator when the rotor is in
the stopped configuration.
[0024] Coupling the timer with the PMSM and toggling the timer
between a start configuration and a stop configuration using a
signal processor in response to an input from a comparator.
[0025] Coupling the ADC with the PMSM, converting an analog signal
from the three-phase inverter to a digital signal using the ADC,
and communicating the digital signal from the ADC to the one or
more logic elements.
[0026] The measured values may be measured using one or more
elements coupled with one or more shunt resistors that are coupled
with the three-phase inverter.
[0027] The foregoing and other aspects, features, and advantages
will be apparent to those artisans of ordinary skill in the art
from the DESCRIPTION and DRAWINGS, and from the CLAIMS.
BRIEF DESCRIPTION OF THE DRAWINGS
[0028] Implementations will hereinafter be described in conjunction
with the appended drawings, where like designations denote like
elements, and:
[0029] FIG. 1 is a diagram representatively illustrating elements
and axes of an implementation of a permanent magnet synchronous
motor (PMSM);
[0030] FIG. 2 is graph representatively illustrating magnetic
distribution of a PMSM having an assumed sine or cosine
waveform;
[0031] FIG. 3 is a graph representatively illustrating magnetic
saturation characteristics of a surface PMSM (SPMSM) with the
permanent magnet(s) of the SPMSM aligned with the d axis;
[0032] FIG. 4 is a graph representatively illustrating magnetic
saturation characteristics of an SPMSM with the permanent magnet(s)
of the SPMSM aligned with the q axis;
[0033] FIGS. 5A-5B representatively illustrates rotor magnetic flux
distribution corresponding with various rotor positions of an
SPMSM;
[0034] FIG. 6 representatively illustrates inductance sensing
waveforms for a PMSM;
[0035] FIG. 7 is a diagram representatively illustrating elements
and axes of an implementation of a PMSM having a star (wye) (Y)
configuration;
[0036] FIG. 8 is a diagram representatively illustrating an
interior/internal PMSM (IPMSM) with the permanent magnets not
aligned with a stator core (left image) and aligned with the stator
core (right image);
[0037] FIG. 9 is a diagram representatively illustrating an SPMSM
with poles of the permanent magnet not aligned with a stator core
(left image) and aligned with the stator core (right image);
[0038] FIGS. 10A-10B representatively illustrates rotor magnetic
flux distribution corresponding with various rotor positions of an
SPMSM having a star configuration;
[0039] FIGS. 11A-11B representatively illustrates rotor magnetic
flux distribution corresponding with various rotor positions of an
IPMSM having a star configuration;
[0040] FIG. 12 representatively illustrates magnetic flux
distribution and expected stator inductance distribution in an
SPMSM;
[0041] FIG. 13 representatively illustrates magnetic flux
distribution, permeability distribution, and expected stator
inductance distribution in an IPMSM;
[0042] FIG. 14 representatively illustrates an assumed inductance
(L) waveform of a PMSM generated using measured values y.sub.1
through y.sub.6;
[0043] FIG. 15 representatively illustrates an assumed time value
(Tmes) waveform of a PMSM generated using measured values y.sub.1
through y.sub.6;
[0044] FIG. 16 representatively illustrates an assumed current
value (Imes) waveform of a PMSM generated using measured values
y.sub.1 through y.sub.6;
[0045] FIG. 17 is a block diagram representatively illustrating
elements of an implementation of a system for sensing rotor
position of a motor;
[0046] FIG. 18 is a block diagram representatively illustrating
elements of another implementation of a system for sensing rotor
position of a motor;
[0047] FIG. 19 is a block diagram representatively illustrating
elements of another implementation of a system for sensing rotor
position of a motor;
[0048] FIG. 20 is a block diagram representatively illustrating
elements of another implementation of a system for sensing rotor
position of a motor;
[0049] FIG. 21 is a block diagram representatively illustrating
elements of another implementation of a system for sensing rotor
position of a motor;
[0050] FIG. 22 is a block diagram representatively illustrating
elements of another implementation of a system for sensing rotor
position of a motor;
[0051] FIG. 23 is a block diagram representatively illustrating
elements of another implementation of a system for sensing rotor
position of a motor;
[0052] FIG. 24 is a diagram representatively illustrating elements
of an implementation of a three-phase inverter and a shunt resistor
coupled therewith;
[0053] FIG. 25 is a diagram representatively illustrating elements
of another implementation of a three-phase inverter and three shunt
resistors coupled therewith;
[0054] FIG. 26 is a flowchart representatively illustrating a
method for sensing rotor position of a motor;
[0055] FIG. 27 is a flowchart representatively illustrating a
method for measuring a time value which is a portion of the method
of FIG. 26;
[0056] FIG. 28 is a diagram representatively illustrating elements
and axes of an implementation of a PMSM having a delta
configuration;
[0057] FIGS. 29A-29B representatively illustrates rotor magnetic
flux distribution corresponding with various rotor positions of an
SPMSM having a delta configuration;
[0058] FIGS. 30A-30B representatively illustrates rotor
permeability distribution corresponding with various rotor
positions of an SPMSM having a delta configuration;
[0059] FIG. 31 representatively illustrates magnetic flux
distribution and expected stator inductance distribution in an
SPMSM having a delta configuration;
[0060] FIG. 32 representatively illustrates magnetic flux
distribution, permeability distribution, and expected stator
inductance distribution in an IPMSM having a delta
configuration;
[0061] FIG. 33 representatively illustrates and assumed inductance
(L) waveform of a delta configuration PMSM generated using measured
values y.sub.1 through y.sub.6;
[0062] FIG. 34 representatively illustrates an assumed time value
(Tmes) waveform of a delta configuration PMSM generated using
measured values y.sub.1 through y.sub.6;
[0063] FIG. 35 representatively illustrates an assumed current
value (Imes) waveform of a delta configuration PMSM generated using
measured values y.sub.1 through y.sub.6;
[0064] FIG. 36 is a block diagram representatively illustrating
elements of an implementation of a system for sensing rotor
position of a motor;
[0065] FIG. 37 is a block diagram representatively illustrating
elements of another implementation of a system for sensing rotor
position of a motor;
[0066] FIG. 38 is a block diagram representatively illustrating
elements of another implementation of a system for sensing rotor
position of a motor;
[0067] FIG. 39 is a block diagram representatively illustrating
elements of another implementation of a system for sensing rotor
position of a motor;
[0068] FIG. 40 is a block diagram representatively illustrating
elements of another implementation of a system for sensing rotor
position of a motor;
[0069] FIG. 41 is a block diagram representatively illustrating
elements of another implementation of a system for sensing rotor
position of a motor, and;
[0070] FIG. 42 is a flowchart representatively illustrating a
method for sensing rotor position of a motor.
DESCRIPTION
[0071] This disclosure, its aspects and implementations, are not
limited to the specific components, assembly procedures or method
elements disclosed herein. Many additional components, assembly
procedures and/or method elements known in the art consistent with
the intended rotor position sensing system for three phase motors
and related methods will become apparent for use with particular
implementations from this disclosure. Accordingly, for example,
although particular implementations are disclosed, such
implementations and implementing components may comprise any shape,
size, style, type, model, version, measurement, concentration,
material, quantity, method element, step, and/or the like as is
known in the art for such rotor position sensing system for three
phase motors and related methods, and implementing components and
methods, consistent with the intended operation and methods.
[0072] Referring now to FIG. 1, a diagram representatively
illustrating elements and axes of an implementation of a permanent
magnet synchronous motor (PMSM) 2 are shown, including a rotor 4
and a stator 6 including windings 8 that are wrapped around stator
core elements (not shown). FIG. 1 shows a vector control (VC)
example wherein a stator current space vector may be defined in a
(d,q) coordinate system having orthogonal components along d
(direct) and q (quadrature, or 90 degrees offset) axes so that a
magnetic flux component of the stator current is aligned with the d
axis and a torque component of the stator current is aligned with
the q axis. In the representative examples that follow the d axes
are defined to align with the N/S poles of magnets while the q axes
are defined to be orthogonal thereto.
[0073] Interior/internal permanent magnet synchronous motors
(IPMSMs) exhibit salient-pole characteristics so that d-axis
inductance is smaller than q-axis inductance. In other words, when
the d-axis overlaps with a stator axis (u, v, or w) the inductance
is expected to be smallest. FIG. 8 representatively illustrates an
example of a PMSM 10 having an interior/internal permanent magnetic
synchronous motor (IPMSM) 12 configuration, and the salient pole
characteristics may be easily visualized. Only two stator cores are
shown, for ease of illustration and explanation. The rotor in this
representative example includes a pair of internal magnets and the
rotor is formed of silicon steel (or is bounded by a silicon steel
plate).
[0074] Other materials and configurations are possible, but in the
leftmost image the q-axis of the rotor is aligned with the stator
cores/windings and in the rightmost image the d-axis of the rotor
is aligned with the stator cores/windings. Inductance in this
example can be given by the equation:
L = .mu. N 2 S l ( Eq . 0 ) ##EQU00004##
where .mu. is the permeability, N is the number of coil turns, S is
the coil cross-section area, and l is the coil length.
[0075] The permeability of the silicon steel material is higher
than the permeability of the magnets, and accordingly the
permeability .mu.q when the q-axis is aligned with the stator
core/winding is higher than the permeability .mu.d when the d-axis
is aligned with the stator core/winding. Accordingly, inductance Lq
(when the q-axis is aligned with the stator core/winding) is higher
than inductance Ld (when the d-axis is aligned with the stator
core/winding), resulting in the salient-pole characteristic. As
described, the two-core example given in FIG. 8 is used for ease of
explanation, but the same characteristics apply to a three-core
stator as shown in FIG. 1 and used with a three phase motor, so
that a three phase IPMSM exhibits salient pole characteristics.
[0076] FIG. 9 shows a representative example of a PMSM 10 having a
surface permanent magnet synchronous motor (SPMSM) 14
configuration. As can be seen, whether the poles N/S of the surface
magnet are aligned with the stator cores/windings (rightmost
image), or orthogonal thereto (leftmost image), the permeability is
the same. Thus the permeability .mu.q when the q-axis is aligned
with the stator core/winding is the same as the permeability .mu.d
when the d-axis is aligned with the stator core/winding. Thus there
are no permeability differences to generate salient-pole
characteristics or, in other words, differences between the
inductance Lq (when the q-axis is aligned with the stator
core/winding) and the inductance Ld (when the d-axis is aligned
with the stator core/winding).
[0077] Nevertheless, with an SPMSM there is a difference in
inductance between the q-axis and d-axis alignments due at least in
part to the effect of rotor magnetic flux and stator magnetic
saturation characteristics. This is representatively illustrated in
FIG. 3 and FIG. 4, where .PSI.m is the permanent magnet flux,
.PSI.d and .PSI.q are components of the integrated magnetic flux
made by the permanent magnet and the stator current along the
d-axis and q-axis respectively, Id and Iq are stator current
components along the d-axis and q-axis respectively, and the
inductance L at any point on either graph is the slope, i.e., the
change in integrated magnetic flux divided by the change in the
stator current component. It can be seen from the example that Ld0
is greater than Ld1, and it can also be seen that Ld0 is equal to
Lq1, so it follows that Lq1 is greater than Ld1. In other words,
the inductance of an SPMSM is smaller at d-axis alignment than
q-axis alignment due to the effects of rotor magnetic flux and
magnetic saturation characteristics, despite an SPMSM being
considered to not have salient-pole characteristics. Thus when the
stator current vector overlaps with the d-axis, the inductance is
expected to be smallest.
[0078] Based on the characteristics shown in FIGS. 3-4 and
described above, rotor magnetic flux distribution at various rotor
positions of an SPMSM are given in FIGS. 5A-5B. In this
representative example the distribution shows an approximately
sinusoidal waveform which completes one cycle with one rotation of
electric angle of the rotor. The rotor position in FIGS. 5A-5B is
defined as 0 degrees when the u-axis overlaps or aligns with the
d-axis. The phases are represented so that, for example, uv
represents the current vector in which the energization is
performed in the direction from the u phase to the v phase, while
vu represents energization from the v phase to the u phase, and so
forth with the other designations wu, vw, wv, uw. For example, if
the rotor position is at 30 degrees, then if a wu current vector is
applied the inductance is expected to be smallest.
[0079] Inductance of a PMSM may be used to determine its position.
Inductance may be found using the equation L=Vdt/dI, where L is the
inductance, V is the voltage (unit function) and I is the current.
If V is constant (unit function) the relationship between
inductance and time/current is such that a small inductance could
be indicative of a small time in which a specified current
variation was exhibited or a large current variation within a
certain amount of time. Inductance may therefore be sensed by
applying a pulse voltage to a PMSM and measuring time or current as
representatively illustrated in FIG. 6, where Tc is a specified
constant time, Imes is a measured current, Ic is a specified
constant current, Tmes is a measured time, and CURM0 is an Ic
sensing flag
[0080] For example, a voltage pulse may be applied for a specified
constant time Tc, and at the end of that time the current may be
measured (Imes). In other implementations, a voltage pulse may be
applied until a specified current is reached (Ic) and the time to
reach that current may be measured (Tmes). As different voltage
pulses will be applied to the PMSM, when the current begins to
decay (or some point thereafter) the CURM0 signal may be generated
by one or more elements of a position sensing system to indicate
that the next pulse may be applied and/or to otherwise trigger
other elements of a position sensing system. The CURM0 signal may
trigger one or more events based on how quickly the current decays,
and as seen in FIG. 6 in some PMSMs current may decay quickly and
in others it may decay slowly. Accordingly, the rotor position
sensing system may be configured to wait to send the next pulse
until after the current from the previous pulse has fully decayed.
Thus CURM0 may be sent at the time when decay starts, and the
system may be configured to wait until decay will be complete
before generating the next pulse, or CURM0 may be sent when decay
is already complete.
[0081] Rotor position estimation may be done using a few
assumptions and mathematics as will now be described. If it is
assumed that rotor magnetic flux shows an approximately sinusoidal
waveform in ideal conditions, and the magnetic flux data are given
in some way, then the sinusoidal waveform may be estimated by curve
fitting, as representatively illustrated in FIG. 2, where a
plurality of measured values y.sub.1-y.sub.6 (or up to any y.sub.i)
are used to fit a curve. Some of the math that will be given below
is based on quadrature detection and a least squares method.
[0082] A model equation y=A sin(.omega.t+.theta.) may be used,
where A is amplitude, y is a measured value or measured data, w is
angular velocity, t is measured time, and .theta. is a phase, which
indicates rotor position. Since the curve fitting algorithm uses a
least squares method, any DC offset of y.sub.i may be ignored.
[0083] When the measured time and the measured data are defined as
(t.sub.1, t.sub.2, t.sub.3, . . . t.sub.N,) and (y.sub.1, y.sub.2,
y.sub.3, . . . y.sub.N,) the model equation may be written as
follows:
[ y 1 y 2 y N ] = [ A sin ( .omega. t 1 + .theta. ) A sin ( .omega.
t 2 + .theta. ) A sin ( .omega. t N + .theta. ) ] = [ A sin (
.omega. t 1 ) cos ( .theta. ) + A cos ( .omega. t 1 ) sin ( .theta.
) A sin ( .omega. t 2 ) cos ( .theta. ) + A cos ( .omega. t 2 ) sin
( .theta. ) A sin ( .omega. t N ) cos ( .theta. ) + A cos ( .omega.
t N ) sin ( .theta. ) ] = [ sin ( .omega. t 1 ) cos ( .omega. t 1 )
sin ( .omega. t 2 ) cos ( .omega. t 2 ) sin ( .omega. t N ) cos (
.omega. t N ) ] [ A cos ( .theta. ) A sin ( .theta. ) ]
##EQU00005##
[0084] The above equation may be written as Y=GP, where:
Y = [ y 1 y 2 y N ] G = [ sin ( .omega. t 1 ) cos ( .omega. t 1 )
sin ( .omega. t 2 ) cos ( .omega. t 2 ) sin ( .omega. t N ) cos (
.omega. t N ) ] P = [ A cos ( .theta. ) A sin ( .theta. ) ] ( Eq .
1 ) ##EQU00006##
[0085] If measurement error E is added, the equation may be written
as Y=GP+E or E=Y-GP. The least squares method finds the solution to
P which gives the extremum of square norm of E, as follows:
E 2 = E * E = ( Y * - P * G * ) ( Y - GP ) = Y * Y - Y * GP - P * G
* Y + P * G * GP = Y * Y - 2 Y * GP + P * G * GP .differential.
.differential. P E 2 = - 2 Y * G + 2 P * G * G = 0 Y * G = P * G *
G P * = Y * G ( G * G ) - 1 P = ( G * G ) - 1 G * Y P = G + Y ( Eq
. 2 ) ##EQU00007##
[0086] Where:
[0087] Y*, P*, G*; adjoint matrix
[0088] G.sup.+=(G*G).sup.-1G*; pseudo-inverse matrix
[0089] If G.sup.+ is found by what Eq. 1 is assigned to Eq. 2, then
P may be found.
P = G + Y ##EQU00008## P = ( G T G ) - 1 G T Y ; ##EQU00008.2## G T
= G * since G is a real number = ( [ sin ( .omega. t 1 ) sin (
.omega. t 2 ) sin ( .omega. t N ) cos ( .omega. t 1 ) cos ( .omega.
t 2 ) cos ( .omega. t N ) ] [ sin ( .omega. t 1 ) cos ( .omega. t 1
) sin ( .omega. t 2 ) cos ( .omega. t 2 ) sin ( .omega. t N ) cos (
.omega. t N ) ] ) - 1 [ sin ( .omega. t 1 ) sin ( .omega. t 2 ) sin
( .omega. t N ) cos ( .omega. t 1 ) cos ( .omega. t 2 ) cos (
.omega. t N ) ] [ y 1 y 2 y N ] = [ i = 1 N ( sin ( .omega. t i ) )
2 i = 1 N sin ( .omega. t i ) cos ( .omega. t i ) i = 1 N sin (
.omega. t i ) cos ( .omega. t i ) i = 1 N ( cos ( .omega. t i ) ) 2
] - 1 [ i = 1 N sin ( .omega. t i ) y i i = 1 N cos ( .omega. t i )
y i ] ##EQU00008.3##
[0090] The term of .SIGMA..sub.i=1.sup.N sin
(.omega.t.sub.i)cos(wt.sub.i) must be zero because the measured
period is only one electric cycle and each measured time interval
must be the same, so the equation becomes:
= [ i = 1 N ( sin ( .omega. t i ) ) 2 0 0 i = 1 N ( cos ( .omega. t
i ) ) 2 ] - 1 [ i = 1 N sin ( .omega. t i ) y i i = 1 N cos (
.omega. t i ) y i ] = 1 i = 1 N ( sin ( .omega. t i ) ) 2 .times. i
= 1 N ( cos ( .omega. t i ) ) 2 [ i = 1 N ( cos ( .omega. t i ) ) 2
0 0 i = 1 N ( sin ( .omega. t i ) ) 2 ] [ i = 1 N sin ( .omega. t i
) y i i = 1 N cos ( .omega. t i ) y i ] = 1 i = 1 N ( sin ( .omega.
t i ) ) 2 .times. i = 1 N ( cos ( .omega. t i ) ) 2 [ i = 1 N ( cos
( .omega. t i ) ) 2 .times. i = 1 N sin ( .omega. t i ) y i i = 1 N
( sin ( .omega. t i ) ) 2 .times. i = 1 N cos ( .omega. t i ) y i ]
= [ i = 1 N sin ( .omega. t i ) y i i = 1 N ( sin ( .omega. t i ) )
2 i = 1 N cos ( .omega. t i ) y i i = 1 N ( cos ( .omega. t i ) ) 2
] = [ A cos ( .theta. ) A sin ( .theta. ) ] ( Eq . 3 ) .theta. =
tan - 1 A sin ( .theta. ) A cos ( .theta. ) ( Eq . 4 )
##EQU00009##
[0091] Therefore, equations 3 and 4 give an estimated rotor
position and:
A= {square root over ((A cos(.theta.)).sup.2+(A
sin(.theta.)).sup.2)}
[0092] If, instead of using the model equation y=A
sin(.omega.t+.theta.) the model equation y=A cos(.omega.t+.theta.)
is used, the estimated rotor position is given as follows:
[ y 1 y 2 y N ] = [ A cos ( .omega. t 1 + .theta. ) A cos ( .omega.
t 2 + .theta. ) A cos ( .omega. t N + .theta. ) ] = [ A cos (
.omega. t 1 ) cos ( .theta. ) - A sin ( .omega. t 1 ) sin ( .theta.
) A cos ( .omega. t 2 ) cos ( .theta. ) - A sin ( .omega. t 2 ) sin
( .theta. ) A cos ( .omega. t N ) cos ( .theta. ) - A sin ( .omega.
t N ) sin ( .theta. ) ] = [ cos ( .omega. t 1 ) - sin ( .omega. t 1
) cos ( .omega. t 2 ) - sin ( .omega. t 2 ) cos ( .omega. t N ) -
sin ( .omega. t N ) ] [ A cos ( .theta. ) A sin ( .theta. ) ]
##EQU00010##
[0093] The above equation may be written as Y=GP, where:
Y = [ y 1 y 2 y N ] G = [ cos ( .omega. t 1 ) - sin ( .omega. t 1 )
cos ( .omega. t 2 ) - sin ( .omega. t 2 ) cos ( .omega. t N ) - sin
( .omega. t N ) ] P = [ A cos ( .theta. ) A sin ( .theta. ) ] P = G
+ Y P = ( G T G ) - 1 G T Y ; G T = G * since G is a real number =
( [ cos ( .omega. t 1 ) cos ( .omega. t 2 ) cos ( .omega. t N ) -
sin ( .omega. t 1 ) - sin ( .omega. t 2 ) - sin ( .omega. t N ) ] [
cos ( .omega. t 1 ) - sin ( .omega. t 1 ) cos ( .omega. t 2 ) - sin
( .omega. t 2 ) cos ( .omega. t N ) - sin ( .omega. t N ) ] ) - 1 [
cos ( .omega. t 1 ) cos ( .omega. t 2 ) cos ( .omega. t N ) - sin (
.omega. t 1 ) - sin ( .omega. t 2 ) - sin ( .omega. t N ) ] [ y 1 y
2 y N ] = [ i = 1 N ( cos ( .omega. t i ) ) 2 i = 1 N - cos (
.omega. t i ) sin ( .omega. t i ) i = 1 N - sin ( .omega. t i ) cos
( .omega. t i ) i = 1 N ( - sin ( .omega. t i ) ) 2 ] - 1 [ i = 1 N
cos ( .omega. t i ) y i i = 1 N - sin ( .omega. t i ) y i ] ( Eq .
1 A ) ##EQU00011##
[0094] The term of
.SIGMA..sub.i=1.sup.N-sin(.omega.t.sub.i)cos(wt.sub.i) must be
zero, so the equation becomes:
= [ i = 1 N ( cos ( .omega. t i ) ) 2 0 0 i = 1 N ( - sin ( .omega.
t i ) ) 2 ] - 1 [ i = 1 N cos ( .omega. t i ) y i i = 1 N - sin (
.omega. t i ) y i ] = 1 i = 1 N ( - sin ( .omega. t i ) ) 2 .times.
i = 1 N ( cos ( .omega. t i ) ) 2 [ i = 1 N ( - sin ( .omega. t i )
) 2 0 0 i = 1 N ( cos ( .omega. t i ) ) 2 ] [ i = 1 N cos ( .omega.
t i ) y i i = 1 N - sin ( .omega. t i ) y i ] = 1 i = 1 N ( - sin (
.omega. t i ) ) 2 .times. i = 1 N ( cos ( .omega. t i ) ) 2 [ i = 1
N ( - sin ( .omega. t i ) ) 2 .times. i = 1 N cos ( .omega. t i ) y
i i = 1 N ( cos ( .omega. t i ) ) 2 .times. i = 1 N - sin ( .omega.
t i ) y i ] = [ i = 1 N cos ( .omega. t i ) y i i = 1 N ( cos (
.omega. t i ) ) 2 i = 1 N - sin ( .omega. t i ) y i i = 1 N ( - sin
( .omega. t i ) ) 2 ] = [ A cos ( .theta. ) A sin ( .theta. ) ] (
Eq . 3 A ) ##EQU00012##
[0095] From FIGS. 5A-5B it can be seen that the term cut may have
the following values between 0 and 2.pi. (or between 0 and 5
.pi./3): .omega.t.sub.1=0, .omega.t.sub.2=.pi./3,
.omega.t.sub.3=2.pi./3, .omega.t.sub.4=.pi.,
.omega.t.sub.5=4.pi./3, .omega.t.sub.6=5.pi./3.
[0096] In summary, the estimation equations are able to be defined
as follows. When the model equation is y=A
sin(.omega.t+.theta.):
A cos ( .theta. ) = i = 1 N sin ( .omega. t i ) y i 3 A sin (
.theta. ) = i = 1 N cos ( .omega. t i ) y i 3 .theta. = tan - 1 ( A
sin ( .theta. ) A cos ( .theta. ) ) = tan - 1 ( i = 1 N cos (
.omega. t i ) y i i = 1 N sin ( .omega. t i ) y i ) ( Eq . 5 )
##EQU00013##
[0097] When the model equation is y=A cos(.omega.t+.theta.):
A cos ( .theta. ) = i = 1 N cos ( .omega. t i ) y i 3 A sin (
.theta. ) = i = 1 N - sin ( .omega. t i ) y i 3 .theta. = tan - 1 (
A sin ( .theta. ) A cos ( .theta. ) ) = tan - 1 ( i = 1 N - sin (
.omega. t i ) y i i = 1 N cos ( .omega. t i ) y i ) ( Eq . 5 A )
##EQU00014##
[0098] For example, FIG. 17 shows a representative implementation
of a system for sensing rotor position of a motor (system) 22. The
motor to which the system is coupled is a star configuration
three-phase permanent magnet synchronous motor (PMSM) 16 having a
rotor 18 and stator 20. A three-phase inverter 26 is coupled with
the PMSM and receives UH, VH, WH, UL, VL, and WL signals from a
pre-driver. The three-phase inverter may, by non-limiting example,
have the configuration shown of three-phase inverter 128 of FIG.
24, where the UH signal controls switch Q1H, VH signal controls
switch Q2H, WH signal controls switch Q3H, UL signal controls
switch Q1L, VL signal controls switch Q2L, and WL signal controls
switch Q3L to output three phase power to lines UOUT, VOUT, and
WOUT, which are coupled with the PMSM using a star configuration.
Three-phase inverter is coupled with voltage VM and a shunt
resistor 42 (labeled Rs) is also coupled therewith as part of
system 22.
[0099] The switches of three-phase inverter 128 may be controlled,
such as by the main-state controller controlling the normal drive
signal processor and/or the inductance measurement signal
processor, to accomplish the desired current vector. For example,
if the uv current vector is needed, Q1H and Q2L may be turned on
and all other switches turned off, so that the current shown is the
Rs voltage. The switches may be otherwise changed as desired to
accomplish the wu, wv, uw, vw, and vu current vectors.
[0100] FIG. 17 shows that two lines are coupled on either side of
Rs and are input to an amplifier (AMP) 40. A normal drive signal
processor is used to control the pre-driver, but system 22 includes
a multiplexer 36 coupled between the normal drive signal processor
and the pre-driver so as to receive signals from the normal drive
signal processor and from an inductance measurement signal
processor (signal processor) 44. The multiplexer 36 is controlled
by a main state controller (controller) 24 which also may
communicate with the normal drive signal processor. Accordingly, in
order to determine the position of the rotor of the PMSM, the
controller 24 may alter the input of the pre-driver using
multiplexer 36 so that inputs from signal processor 44 are used to
generate voltage pulses using the pre-driver.
[0101] In this representative example, the input from the normal
drive signal processor is not received by the pre-driver while the
signal processor 44 is driving the voltage pulses with the
pre-driver. However, in some implementations the multiplexer 36
could be toggled with the main state controller so that the
signal(s) from the normal driver signal processor to the pre-driver
is only briefly cut off while the signal from the signal processor
44 is passed through and then the signal(s) from the normal drive
signal processor is allowed to continue. In such an implementation
the normal driver signal processor signal could be toggled back on
(or in other words the multiplexer 36 toggled to allow that signal
to pass through) in between voltage pulses. In other
implementations the signal from the normal drive signal processor
to the pre-driver could be disallowed to pass through multiplexer
36 until all voltage pulses needed to establish the position of the
rotor have been accomplished. In other implementations the normal
drive signal processor could be controlled to drive the voltage
pulses directly instead of utilizing the signal processor 44 for
that purpose.
[0102] Each time a voltage pulse occurs a signal will be received
by AMP 40. In implementations this signal will be amplified by AMP
40 and passed on so that one signal will be passed to comparator 32
and another to an analog-to-digital converter (ADC) 30. In other
implementations the signal could be passed only to the comparator
or only to the ADC. The comparator is communicatively coupled with
a timer 28 and the timer is communicatively coupled with
multiplexer 34. The ADC 30 is communicatively coupled with
multiplexer 34 and is also communicatively coupled with the normal
drive signal processor.
[0103] A number of logic elements 38 are coupled with multiplexer
34 and with the normal drive signal processor and are used to
determine the rotor position. Either the time measurement (Tmes)
method or the current measurement (Imes) method, as described
above, could be used to determine rotor position. If the Tmes
method is used, then the timer is used in the process. For example,
the signal processor 44 may cause the timer to start when the
voltage pulse is initialized (or, in other implementations, may
cause the timer to start when the current reaches a first level as
communicated to the signal processor 44 from the comparator. When
the current reaches an Ic level (some predetermined current level)
as communicated from the comparator to the signal processor 44,
then the timer may be caused to stop by the signal processor 44
(though in other implementations one or more signals from the
comparator to the timer may be used to directly start and/or stop
the timer). In this way, the system 22 measures, in conjunction
with each voltage pulse, the time in which the current reaches a
specified current level. As discussed previously with respect to
FIG. 6, this may be used to determine inductance of the PMSM, which
may in turn be used, together with one or more algorithms, to
determine rotor position.
[0104] In representative examples there are six voltage pulses used
for rotor position calculation, though it may be understood that
fewer or more voltage pulses could be used in other
implementations. Each time a voltage pulse is applied a new y.sub.i
value, including a measured time Tmes (or a measured current Imes
if that method is used), the signal is communicated to the
multiplexer 34 from the timer. The multiplexer outputs the signal
through the Tmes/Imes-Magnetic Flux Distribution Data Converter 39
which then outputs further down the line. Since in this example
system 22 is using Tmes to calculate the rotor position the main
state controller 24 will control multiplexer 34 so that the signals
from the timer are passed through it. The measured values y.sub.i
in the representative example are therefore measured time values
Tmes.
[0105] The logic elements 38 are configured to calculate the
position of the rotor using the measured values y.sub.i. The
equation tan.sup.-1(.sigma..sub.b/.sigma..sub.a), for example, is a
simplified way of writing Equation 5, given above. Therefore,
.sigma..sub.b represents A sin(.theta.) and .sigma..sub.a
represents A cos(.theta.), but since each of these is a summation
(as indicated by Equation 5) it may be seen in FIG. 17 that each of
these values is calculated with one or more logic elements that
sums the individual values Za.sub.i and Zb.sub.i. The individual
Za.sub.i and Zb.sub.i values are communicated to the summing
elements using one or more logic elements that perform the
sine/cosine operations and/or any other needed operations as given
in Equation 5, which utilize the values .omega.t.sub.i and
y.sub.i.
[0106] The a.sub.i values shown in FIG. 17 are sin(.omega.t.sub.i)
or cos(.omega.t.sub.i) and the b.sub.i values shown in FIG. 17 are
cos(.omega.t.sub.i) or -sin(.omega.t.sub.i) depending on which mode
is being used (current or time measurement). Summations are
performed by logic elements 38 as indicated by Equation 5/5A. The
inverse tangent operation is performed to obtain the .theta. value,
indicative of the rotor position relative to the stator (within 30
degrees of accuracy in various implementations). This is
communicated to the normal drive signal processor. The
.omega.t.sub.i values have been described above and are constants,
they may be stored in memory, input by a user, or calculated by the
system based on the value of N.
[0107] The motor current Im is also communicated to the normal
drive signal processor from the ADC when the signal processor 44
controls the ADC to send that signal. In the implementation of FIG.
17 the PMSM is not being controlled with vector control, but
nevertheless the system 22 (which includes Rs, the AMP 40, the
timer, the comparator, the ADC, multiplexer 34, the logic elements
38, the main state controller, the inductance measurement signal
processor, and multiplexer 36), is able to determine the rotor
position of the PMSM rotor using voltage pulses and measuring the
time for the current to reach a certain level with each pulse (or
alternatively using the Imes method), as previously described. The
normal drive signal processor may use the initial rotor position
information .theta..sub.ini and the motor current information
I.sub.m to determine how to control the pre-driver to optimally
increase, maintain, or decrease the speed of the rotor as desired.
The system 22 may be used when the rotor is in a stopped
configuration and also when the rotor is in a rotating
configuration.
[0108] In other methods of use of system 22, a voltage pulse may be
applied for a specified amount of time and the current reached may
be measured (Imes) instead of the time. In this case a signal may
be communicated from the ADC to the Tmes/Imes-Magnetic Flux
Distribution Data Converter 39 through the multiplexer 34 with each
pulse. In some implementations the comparator could be used to
determine when the current peaks with each pulse and may
communicate this to the signal processor 44 which may then control
the ADC so that the ADC sends a signal indicative of the peak
current level to the Tmes/Imes-Magnetic Flux Distribution Data
Converter 39 through multiplexer 34 as the y.sub.i value. The math
is then performed by the logic elements using the relationships
described above in Equation 5A. In this operation condition the
controller 24 would control the multiplexer 34 so that the signal
from the ADC is passed through to the logic elements. Many
different configurations and organizations of logic elements may be
used to perform the operations of Equations 5 and/or 5A.
[0109] Descriptions and math related specifically to a PMSM with a
star (wye) (Y) configuration will now be given. Referring now to
FIG. 7, various axes may be defined. The u-axis, v-axis, and w-axis
are stationary axes having axes aligned with corresponding stator
cores. The a-axis is a stationary axis parallel to the u-axis and
the b-axis is the quadrature of the a-axis (in other words 90
degrees offset from the a-axis). The .eta.-axis is a stationary
axis having a phase difference of .delta. from the a-axis, and the
.xi.-axis is the quadrature of the .eta.-axis. The d-axis is on an
axis of the rotor magnetic flux and the q-axis is the quadrature of
the d-axis (these are rotating axes). The .theta. angle is the
phase difference between the a-axis and the d-axis. The rotor
position in this representative example is defined as 0 degrees
when the u-axis is parallel with the d-axis. The .phi. angle is
.theta.+.delta.. The north and south poles (N/S) of the permanent
magnet of the PMSM rotor may be seen at the center of the
figure.
[0110] The descriptions above with respect to the d-axis and q-axis
inductance of IPMSMs and SPMSMs apply, namely, that d-axis
inductance is smaller than q-axis inductance. FIGS. 10A-10B show
rotor magnetic flux distribution and rotor position of an SPMSM
which applies to an SPMSM having a star configuration, and the
distribution shows an approximate sinusoidal waveform completing
one cycle with one electric angle rotation of the rotor. This is
essentially the same as that shown in FIGS. 5A-5B previously. FIGS.
11A-11B show rotor permeability distribution and rotor position of
an IPMSM which applies to an IPMSM having a star configuration. The
distribution shows a sinusoidal waveform having a double cycle with
one electric angle rotation of the rotor. As described previously,
uv means the current vector phase in which the energization is
performed with direction from the u-phase to the v-phase, vu means
energization performed with direction from the v-phase to the
u-phase, and vw, wv, wu, and uw are similarly defined.
[0111] FIG. 12 shows an example of an SPMSM where the rotor
position is at 30 degrees. In this position, when the wu-current
vector is input, the stator inductance is expected to be smallest
due to the magnetic saturation characteristics, and when the
uw-current vector is input the inductance is expected to be second
smallest. FIG. 13 shows an example of an IPMSM where the rotor
position is at 30 degrees. When the wu-current vector is input the
inductance is expected to be smallest due to the .mu. distribution
and the magnetic saturation characteristics. When the uw-current
vector is input the inductance is expected to be second smallest.
The inductance distribution may be represented as a superimposed
distribution of .mu. and the magnetic saturation characteristics,
and the inductance distribution is seen to have a double frequency
of the flux distribution.
[0112] Rotor position estimation specifically for a PMSM having a
star configuration is done using the following assumptions: rotor
magnetic flux has a sinusoidal waveform even if there is some
distortion; inductance distribution has double the frequency of the
flux distribution; the phase of the sinusoidal waveform will
indicate rotor position, and; although the inductance distribution
shows double frequency of the magnetic flux distribution, magnetic
saturation characteristics solve double function issues. The
sinusoidal waveform is estimated by curve fitting.
[0113] The relation between the energization patterns vu, vw, uw,
uv, wv, and wu are defined as: .alpha..sub.1=wu, .alpha..sub.2=wv,
.alpha..sub.3=uv, .alpha..sub.4=uw, .alpha..sub.5=vw,
.alpha..sub.6=vu. Accordingly, .alpha..sub.i is the energization
current vector phase and has intervals of .pi./3. As shown in FIG.
7 and FIGS. 10A-11B, when .alpha..sub.i is defined on the ab-axis
the .alpha..sub.i values are as follows: .alpha..sub.1=.pi./6,
.alpha..sub.2=.pi./2, .alpha..sub.3=5.pi./6, .alpha..sub.4=7.pi./6,
.alpha..sub.5=3.pi./2, .alpha..sub.6=11.pi./6. They therefore range
between 0-2.pi. (or 0-11.pi./6).
[0114] When 2.alpha..sub.i is zero or an integral multiple of
.pi./2, the value of the sine or cosine function becomes zero. To
avoid this, the .eta..xi.-coordinate system and .phi. are
introduced. As described above:
.phi.=.theta.+.delta. (Eq. 1B)
[0115] Therefore, .alpha..sub.i is biased with .delta. and is
defined as follows:
.alpha. i = .pi. 6 + .delta. + .pi. 3 ( i - 1 ) ( Eq . 2 B )
##EQU00015##
[0116] Where i=1, 2, 3, 4, 5, or 6 (though in other implementations
more than six values could be used). The term .delta. is set to
avoid the condition where 2.alpha..sub.i becomes an integral
multiple of .pi./2 or zero (for example setting .delta. equal to
.pi./24 works). FIG. 14-16 show the relationship between inductance
(L), Tmes, Imes, and the measuring data (or measured values)
y.sub.i. FIG. 14 representatively illustrates an assumed inductance
(L) waveform of a PMSM generated using measured values y.sub.1
through y.sub.6. FIG. 15 representatively illustrates an assumed
time value (Tmes) waveform of a PMSM generated using measured
values y.sub.1 through y.sub.6. FIG. 16 representatively
illustrates an assumed current value (Imes) waveform of a PMSM
generated using measured values y.sub.1 through y.sub.6.
[0117] The below math is based on a least squares method. When the
measuring is performed using Tmes based on FIGS. 10A-11B, the model
equation is given as y=-A cos(2.alpha.-2.phi.) where A is
amplitude, y is measured data or a measured value, .alpha. is
measuring current vector phase on the .eta..xi.-coordinate system,
and .phi. is the phase, which indicates the rotor position on the
.eta..xi.-coordinate system. If .alpha. and y are known, then the
equation is solved by finding the solution to A and .phi.. On the
other hand, if measuring is performed with Imes, the model equation
is given as y=A cos(2.alpha.-2.phi.). The DC bias of y may be
ignored because the curve fitting algorithm uses a least squares
method.
[0118] When the curve fitting algorithm is y=-A
cos(2.alpha.-2.phi.), and each measuring current phase is defined
as (.alpha..sub.1, .alpha..sub.2, .alpha..sub.3, . . .
.alpha..sub.N,), the model equation is shown as follows:
[ y 1 y 2 y N ] = - [ A cos ( 2 .alpha. 1 - 2 .PHI. ) A cos ( 2
.alpha. 2 - 2 .PHI. ) A cos ( 2 .alpha. N - 2 .PHI. ) ] = - [ A cos
( 2 .alpha. 1 ) cos ( 2 .PHI. ) + A sin ( 2 .alpha. 1 ) sin ( 2
.PHI. ) A cos ( 2 .alpha. 2 ) cos ( 2 .PHI. ) + A sin ( 2 .alpha. 2
) sin ( 2 .PHI. ) A cos ( 2 .alpha. N ) cos ( 2 .PHI. ) + A sin ( 2
.alpha. N ) sin ( 2 .PHI. ) ] = [ - cos ( 2 .alpha. 1 ) - sin ( 2
.alpha. 1 ) - cos ( 2 .alpha. 2 ) - sin ( 2 .alpha. 2 ) - cos ( 2
.alpha. N ) - sin ( 2 .alpha. N ) ] [ Acos ( 2 .PHI. ) Asin ( 2
.PHI. ) ] ##EQU00016##
[0119] The above equation may be written as Y=GP, where:
Y = [ y 1 y 2 y N ] G = [ - cos ( 2 .alpha. 1 ) - sin ( 2 .alpha. 1
) - cos ( 2 .alpha. 2 ) - sin ( 2 .alpha. 2 ) - cos ( 2 .alpha. N )
- sin ( 2 .alpha. N ) ] P = [ Acos ( 2 .PHI. ) Asin ( 2 .PHI. ) ] (
Eq . 3 B ) ##EQU00017##
[0120] If measurement error E is added, the equation may be written
as Y=GP+E or E=Y-GP. The least squares method finds the solution to
P which gives the extremum of square norm of E, as follows:
E 2 = E * E = ( Y * - P * G * ) ( Y - GP ) = Y * Y - Y * GP - P * G
* Y + P * G * GP = Y * Y - 2 Y * GP + P * G * GP .differential.
.differential. P E 2 = - 2 Y * G + 2 P * G * G = 0 Y * G = P * G *
G P * = Y * G ( G * G ) - 1 P = ( G * G ) - 1 G * Y P = G + Y ( Eq
. 4 B ) ##EQU00018##
[0121] Where:
[0122] Y*, P*, G*; adjoint matrix
[0123] G.sup.+=(G*G).sup.-1G*; pseudo-inverse matrix
[0124] If G.sup.+ is found by what Eq. 3B is assigned to Eq. 4B,
then P may be found.
P = G + Y ##EQU00019## P = ( G T G ) - 1 G T Y ; ##EQU00019.2## G T
= G * since G is a real number = ( [ - cos ( 2 .alpha. 1 ) - cos (
2 .alpha. 2 ) - cos ( 2 .alpha. N ) - sin ( 2 .alpha. 1 ) - sin ( 2
.alpha. 2 ) - sin ( 2 .alpha. N ) ] [ - cos ( 2 .alpha. 1 ) - sin (
2 .alpha. 1 ) - cos ( 2 .alpha. 2 ) - sin ( 2 .alpha. 2 ) - cos ( 2
.alpha. N ) - sin ( 2 .alpha. N ) ] ) - 1 [ - cos ( 2 .alpha. 1 ) -
cos ( 2 .alpha. 2 ) - cos ( 2 .alpha. N ) - sin ( 2 .alpha. 1 ) -
sin ( 2 .alpha. 2 ) - sin ( 2 .alpha. N ) ] [ y 1 y 2 y N ] = [ i =
1 N ( - cos ( 2 .alpha. i ) ) 2 i = 1 N sin ( 2 .alpha. i ) cos ( 2
.alpha. i ) i = 1 N sin ( 2 .alpha. i ) cos ( 2 .alpha. i ) i = 1 N
( - sin ( 2 .alpha. i ) ) 2 ] - 1 [ i = 1 N - cos ( 2 .alpha. i ) y
i i = 1 N - sin ( 2 .alpha. i ) y i ] ##EQU00019.3##
[0125] The term of .SIGMA..sub.i=1.sup.N sin
(2.alpha..sub.i)cos(2.alpha..sub.i) must be zero because
.alpha..sub.i is the same interval and is within just one period of
the model equation, so the equation becomes:
= [ i = 1 N ( - cos ( 2 .alpha. i ) ) 2 0 0 i = 1 N ( - sin ( 2
.alpha. i ) ) 2 ] - 1 [ i = 1 N - cos ( 2 .alpha. i ) y i i = 1 N -
sin ( 2 .alpha. i ) y i ] = 1 i = 1 N ( - sin ( 2 .alpha. i ) ) 2
.times. i = 1 N ( - cos ( 2 .alpha. i ) ) 2 [ i = 1 N ( - sin ( 2
.alpha. i ) ) 2 0 0 i = 1 N ( - cos ( 2 .alpha. i ) ) 2 ] [ i = 1 N
- cos ( 2 .alpha. i ) y i i = 1 N - sin ( 2 .alpha. i ) y i ] = 1 i
= 1 N ( - sin ( 2 .alpha. i ) ) 2 .times. i = 1 N ( - cos ( 2
.alpha. i ) ) 2 [ i = 1 N ( - sin ( 2 .alpha. i ) ) 2 .times. i = 1
N - cos ( 2 .alpha. i ) y i i = 1 N ( - cos ( 2 .alpha. i ) ) 2
.times. i = 1 N - sin ( 2 .alpha. i ) y i ] = [ i = 1 N - cos ( 2
.alpha. i ) y i i = 1 N ( - cos ( 2 .alpha. i ) ) 2 i = 1 N - sin (
2 .alpha. i ) y i i = 1 N ( - sin ( 2 .alpha. i ) ) 2 ] = [ A cos (
2 .PHI. ) A sin ( 2 .PHI. ) ] ( Eq . 5 B ) ##EQU00020##
[0126] Therefore, .phi. is given as follows:
2 .PHI. = tan - 1 A sin ( 2 .PHI. ) A cos ( 2 .PHI. ) ( Eq . 6 B )
##EQU00021##
[0127] And:
A= {square root over ((A cos(2.phi.)).sup.2+(A
sin(2.phi.)).sup.2)}
[0128] When the model equation is y=A cos(2.alpha.-2.phi.) each
measuring current phase is defined as (.alpha..sub.1,
.alpha..sub.2, .alpha..sub.3, . . . .alpha..sub.N,), and the model
equation is shown as follows:
[ y 1 y 2 y N ] = [ A cos ( 2 .alpha. 1 - 2 .PHI. ) A cos ( 2
.alpha. 2 - 2 .PHI. ) A cos ( 2 .alpha. N - 2 .PHI. ) ] = [ A cos (
2 .alpha. 1 ) cos ( 2 .PHI. ) + A sin ( 2 .alpha. 1 ) sin ( 2 .PHI.
) A cos ( 2 .alpha. 2 ) cos ( 2 .PHI. ) + A sin ( 2 .alpha. 2 ) sin
( 2 .PHI. ) A cos ( 2 .alpha. N ) cos ( 2 .PHI. ) + A sin ( 2
.alpha. N ) sin ( 2 .PHI. ) ] = [ cos ( 2 .alpha. 1 ) sin ( 2
.alpha. 1 ) cos ( 2 .alpha. 2 ) sin ( 2 .alpha. 2 ) cos ( 2 .alpha.
N ) sin ( 2 .alpha. N ) ] [ A cos ( 2 .PHI. ) A sin ( 2 .PHI. ) ]
##EQU00022##
[0129] The above equation may be written as Y=GP, where:
Y = [ y 1 y 2 y N ] G = [ cos ( 2 .alpha. 1 ) sin ( 2 .alpha. 1 )
cos ( 2 .alpha. 2 ) sin ( 2 .alpha. 2 ) cos ( 2 .alpha. N ) sin ( 2
.alpha. N ) ] P = [ A cos ( 2 .PHI. ) A sin ( 2 .PHI. ) ] ( Eq . 3
C ) ##EQU00023##
[0130] If measurement error E is added, the equation may be written
as Y=GP+E or E=Y-GP. The least squares method finds the solution to
P which gives the extremum of square norm of E, as follows:
E 2 = E * E = ( Y * - P * G * ) ( Y - GP ) = Y * Y - Y * GP - P * G
* Y + P * G * GP = Y * Y - 2 Y * GP + P * G * GP .differential.
.differential. P E 2 = - 2 Y * G + 2 P * G * G = 0 Y * G = P * G *
G P * = Y * G ( G * G ) - 1 P = ( G * G ) - 1 G * Y P = G + Y ( Eq
. 4 C ) ##EQU00024##
[0131] Where:
[0132] Y*, P*, G*; adjoint matrix
[0133] G.sup.+=(G*G).sup.-1G*; pseudo-inverse matrix
[0134] If G.sup.+ is found by what Eq. 3C is assigned to Eq. 4C,
then P may be found.
P = G + Y ##EQU00025## P = ( G T G ) - 1 G T Y ; ##EQU00025.2## G T
= G * since G is a real number = ( [ cos ( 2 .alpha. 1 ) cos ( 2
.alpha. 2 ) cos ( 2 .alpha. N ) sin ( 2 .alpha. 1 ) sin ( 2 .alpha.
2 ) sin ( 2 .alpha. N ) ] [ cos ( 2 .alpha. 1 ) sin ( 2 .alpha. 1 )
cos ( 2 .alpha. 2 ) sin ( 2 .alpha. 2 ) cos ( 2 .alpha. N ) sin ( 2
.alpha. N ) ] ) - 1 [ cos ( 2 .alpha. 1 ) cos ( 2 .alpha. 2 ) cos (
2 .alpha. N ) sin ( 2 .alpha. 1 ) sin ( 2 .alpha. 2 ) sin ( 2
.alpha. N ) ] [ y 1 y 2 y N ] = [ i = 1 N ( cos ( 2 .alpha. i ) ) 2
i = 1 N cos ( 2 .alpha. i ) sin ( 2 .alpha. i ) i = 1 N sin ( 2
.alpha. i ) cos ( 2 .alpha. i ) i = 1 N ( sin ( 2 .alpha. i ) ) 2 ]
- 1 [ i = 1 N cos ( 2 .alpha. i ) y i i = 1 N sin ( 2 .alpha. i ) y
i ] ##EQU00025.3##
[0135] The term of .SIGMA..sub.i=1.sup.N
sin(2.alpha..sub.i)cos(2.alpha..sub.i) must be zero because
.alpha..sub.i is the same interval and is within just one period of
the model function, so the equation becomes:
= [ i = 1 N ( cos ( 2 .alpha. i ) ) 2 0 0 i = 1 N ( sin ( 2 .alpha.
i ) ) 2 ] - 1 [ i = 1 N cos ( 2 .alpha. i ) y i i = 1 N sin ( 2
.alpha. i ) y i ] = 1 i = 1 N ( sin ( 2 .alpha. i ) ) 2 .times. i =
1 N ( cos ( 2 .alpha. i ) ) 2 [ i = 1 N ( sin ( 2 .alpha. i ) ) 2 0
0 i = 1 N ( cos ( 2 .alpha. i ) ) 2 ] [ i = 1 N cos ( 2 .alpha. i )
y i i = 1 N sin ( 2 .alpha. i ) y i ] = 1 i = 1 N ( sin ( 2 .alpha.
i ) ) 2 .times. i = 1 N ( cos ( 2 .alpha. i ) ) 2 [ i = 1 N ( sin (
2 .alpha. i ) ) 2 .times. i = 1 N cos ( 2 .alpha. i ) y i i = 1 N (
cos ( 2 .alpha. i ) ) 2 .times. i = 1 N sin ( 2 .alpha. i ) y i ] =
[ i = 1 N cos ( 2 .alpha. i ) y i i = 1 N ( cos ( 2 .alpha. i ) ) 2
i = 1 N sin ( 2 .alpha. i ) y i i = 1 N ( sin ( 2 .alpha. i ) ) 2 ]
= [ A cos ( 2 .PHI. ) A sin ( 2 .PHI. ) ] ( Eq . 5 C )
##EQU00026##
[0136] Therefore, .phi. is given as follows:
2 .PHI. = tan - 1 A sin ( 2 .PHI. ) A cos ( 2 .PHI. )
##EQU00027##
[0137] Therefore, when the model equation is y=-A
cos(2.alpha.-2.phi.) the following algorithms may be used:
A cos ( 2 .PHI. ) = i = 1 N - cos ( 2 .alpha. i ) y i 3 A sin ( 2
.PHI. ) = i = 1 N - sin ( 2 .alpha. i ) y i 3 2 .PHI. = tan - 1 ( A
sin ( 2 .PHI. ) A cos ( 2 .PHI. ) ) = tan - 1 ( i = 1 N - sin ( 2
.alpha. i ) y i i = 1 N - cos ( 2 .alpha. i ) y i ) ( Eq . 7 A )
##EQU00028##
[0138] And when the model equation is y=A cos(2.alpha.-2.phi.) the
following algorithms may be used:
A cos ( 2 .PHI. ) = i = 1 N cos ( 2 .alpha. i ) y i 3 A sin ( 2
.PHI. ) = i = 1 N sin ( 2 .alpha. i ) y i 3 2 .PHI. = tan - 1 ( A
sin ( 2 .PHI. ) A cos ( 2 .PHI. ) ) = tan - 1 ( i = 1 N sin ( 2
.alpha. i ) y i i = 1 N cos ( 2 .alpha. i ) y i ) ( Eq . 7 B )
##EQU00029##
[0139] The following procedure is used to determine .theta. since
the model equation is a trigonometric function with double angle
variable.
.theta. a = .PHI. - .delta. ( Eq . 8 ) .theta. b = { .theta. a +
.pi. , .theta. a < 0 .theta. a , .theta. a .gtoreq. 0 ( Eq . 9 )
.theta. = { .theta. b , - .pi. 3 < .tau. < + .pi. 3 .theta. b
+ .pi. , .tau. < - .pi. 3 , .tau. > + .pi. 3 ( Eq . 10 )
##EQU00030##
[0140] Where
.tau. a = .theta. b - .alpha. k ##EQU00031## .alpha. k = { .alpha.
i which gives the least y i , model equation y = - A cos ( 2
.alpha. - 2 .PHI. ) .alpha. i which gives the largest y i , model
equation y = A cos ( 2 .alpha. - 2 .PHI. ) .tau. = { .tau. a ,
.tau. a > - ( 7 6 .pi. + .delta. ) .tau. a + 2 .pi. , .tau. a
< - ( 7 6 .pi. + .delta. ) ##EQU00031.2##
[0141] Equation 7A or 7B and Equations 8-10 are then used for the
actual operation. For example, referring now to FIG. 18, a
representative example of a system for sensing rotor position of a
motor (system) 46 is given. System 46 is coupled with a PMSM having
a star configuration, and is in many ways similar to system 22
described previously, except that logic elements 47 are configured
specifically to perform the operations of Equations 7A/7B and
Equations 8-10. As previously described, the PMSM has a star
configuration and voltage pulses may be used and then a time
measured (Tmes) or a current measured (Imes) in order to determine
the position of the rotor.
[0142] The multiplexer 34 is accordingly identical to that
previously described and allows the measured values y.sub.i
(whether Tmes or Imes values) to be passed through to logic
elements 47 so that the position of the rotor of the PMSM may be
calculated. The .alpha..sub.i values shown in FIG. 18 are
-cos(2.alpha..sub.i) or cos(2.alpha..sub.i) and the b.sub.i values
shown in FIG. 18 are sin(2.alpha..sub.i) or -sin(2.alpha..sub.i)
depending on which mode is being used (current or time
measurement). The value of .alpha..sub.i may also be described as
being equal to .pi./6+.delta.+(i-1)(.pi./3). The value of i is
greater than or equal to 1 and less than or equal to N (as
described, in some implementations i=1, 2, 3, 4, 5, 6). Summations
are performed by logic elements 47 as indicated by Equation 7A/7B.
The .phi. value is calculated using Equation 7A/7B and the .delta.
value is subtracted therefrom to obtain the .theta..sub.a value as
indicated by Equation 8. The .theta..sub.b value is then calculated
from the .theta..sub.a value using Equation 9. The .theta. value is
then calculated from the .theta..sub.b value using Equation 10.
System 46, similar to system 22, is thus used with a
non-vector-control PMSM.
[0143] FIG. 18 gives labels to some of the previously described
signals, which also apply to FIG. 17. The Mes_sel is the mode
selection signal which is communicated from the main state
controller to the multiplexer 34 to determine whether to allow Tmes
or Imes signals to pass through (depending on which is being
measured, the time or the current). The Mode_sel signal is
communicated from the main state controller to the multiplexer 36
to switch between normal operation and initial rotor sensor
position sensing operation. The Mes_pls signal is a measuring pulse
signal to perform the position sensing. In implementations the
Mes_pls signal could itself be the voltage pulse though in other
implementations it is only a signal used to effectuate the voltage
pulse. TIM_cnt is a control signal from the signal processor 44 to
the timer to start/stop the timer. ADC_cnt is a control signal for
the ADC to communicate the Imes value to the logic elements (and
the Im value to the normal drive signal processor). CMP_out is the
comparator output which is communicated to signal processor 44 and
to the main state controller. .theta..sub.ini represents the
initial rotor position as calculated by the system.
[0144] FIG. 19 shows a representative example of a system for
sensing rotor position of a motor (system) 48 that is similar to
system 46 except configured for vector control. An additional
amplifier and ADC element are included so that two motor current
signals Iv and Iu are sent to the normal drive signal processor for
vector control. Thus AMP 50 and AMP 52 are both coupled with the
single shunt resistor Rs. The output from AMP 50 is communicated to
the comparator for Tmes measuring (for when Tmes mode is used) and
the output from AMP 50 is also communicated to the ADC 54 which is
converted to a digital signal and then sent to the normal drive
signal processor as signal Iu for vector control. Additionally, the
output from ADC 54 is communicated to multiplexer 34 but is only
passed through to the logic elements 47 if the main state
controller has switched the multiplexer to Imes mode. The ADC 54
output is communicated to the multiplexer 34 and to the normal
drive signal processor when controlled to do so by the signal
processor 44 using the ADC_cnt signal. AMP 52 communicates an
analog signal to ADC 56 and ADC 56 coverts this to a digital signal
and forwards it to the normal drive signal processor as signal Iv
for vector control. The CMP_out signal is forwarded to both the
signal processor 44 and to the main state controller. The normal
drive signal processor thus uses the initial rotor position signal
.theta..sub.ini and the vector control current signals Iv and Iu to
optimally increase, maintain, or decrease the speed of the rotor of
the PMSM as desired.
[0145] FIG. 20 shows an implementation of a system for sensing
rotor position of a motor (system) 58 that is in many ways similar
to system 48, except that the three-phase inverter has a different
configuration and three shunt resistors Rsu, Rsv, and Rsw are used
for rotor position measurement. The three-phase inverter of FIG. 20
has the configuration of three-phase inverter 130 of FIG. 25. The
same signals are used to control the same switches, as previously
described with respect to three-phase inverter 128, but three shunt
resistors are coupled therewith as seen: Rsu, Rsv, and Rsw.
[0146] Additional amplifiers and multiplexers are used, and the
main state controller is used to control the additional
multiplexers. AMP 60 is coupled across Rsw, AMP 62 is coupled
across Rsv, and AMP 64 is coupled across Rsu. Multiplexer 66
determines whether the signal from AMP 60 or from AMP 62 is
forwarded, and multiplexer 68 determines whether the signal from
multiplexer 66 or from AMP 64 is forwarded. Furthermore, the output
from multiplexer 66 is communicated to ADC 70, which is controlled
by signal processor 44 to send the Iv signal to the normal drive
signal processor and to multiplexer 74. The output from AMP 64 is
communicated to ADC 72 which forwards a converted digital signal Iu
to the normal drive signal processor and to multiplexer 74.
[0147] The Ph_sel signal is a shunt resistor selection signal and
is used to determine which shunt resistors are used in the Tmes or
Imes measurement. For example, assuming the top input of each
multiplexer corresponds with a 1 position and the bottom input
corresponds with a 0 position, if the Ph_sel signal is a 1 then
multiplexer 66 will forward a Tmes or Imes value corresponding with
Rsw to multiplexer 68 and then this value will be further forwarded
to the comparator and to ADC 70, and from there to multiplexer 34
and it will also be forwarded as the Iv signal to the normal drive
signal processor. Additionally, AMP 64 will forward an amplified
signal corresponding with a Tmes or Imes value related to Rsu to
the normal drive signal processor as an Iu signal. Thus, in this
case, The Rsw and Rsu shunt resistors are used for measurement
(whether it is Tmes or Imes measurement).
[0148] On the other hand, if the Ph_sel signal is a 0 then
multiplexer 66 will forward a Tmes or Imes value corresponding with
Rsv to multiplexer 68 but multiplexer 68 will forward the Tmes or
Imes value corresponding with Rsu to the comparator. The Rsv Tmes
or Imes value will be forwarded to ADC 70 and will be used to
generate Iv, and the Rsu Tmes or Imes value will also be forwarded
to ADC 72 and from there to multiplexer 74 and onward to
multiplexer 34, and it will also be forwarded to the normal drive
signal processor as signal Iu. Thus, in this case, shunt resistors
Rsv and Rsu are used for measurement (whether it is Tmes or Imes
measurement). In either case, the normal drive signal processor
uses the received .theta..sub.ini value for rotor position and Iv
and Iu values for vector control. The PMSM is again, as with the
other examples, a PMSM having a star configuration and could be an
SPMSM or an IPMSM. The CMP_out signal is forwarded to both the
signal processor 44 and to the main state controller.
[0149] In other implementations other elements and configurations
may be used so that, for example, any of the shunt resistors Rsu,
Rsv, or Rsw may be used for the comparator and timing measurements
(Tmes) and/or current measurements (Imes).
[0150] Furthermore, the main state controller may be used to
control the signal processor 44 and/or the normal drive signal
processor to select which switches of the three-phase inverter are
on or off to accomplish the desired current vector. For example,
referring to FIG. 25, if the uv current vector is needed, Q1H and
Q2L are turned on, and all other switches are turned off, the
current is shown as the Rsv voltage. Other configurations will
result in the Rsu or Rsw voltage and in the wu, wv, uw, vw, and vu
current vectors.
[0151] FIG. 21 shows a representative example of a system for
sensing rotor position of a motor (system) 76 that is in many ways
similar to system 58 except that amplifiers 60 and 62 before
multiplexer 66 are replaced by a single amplifier (AMP) 78 after
multiplexer 82. Thus, one less amplifier is used, but the signal
selection and forwarding is as described above for system 58.
Multiplexer 82 forwards either a Tmes or Imes signal corresponding
with Rsw or Rsv, and this is amplified using AMP 78 on one line and
on another line is forwarded to ADC 86. AMP 80 amplifies a Tmes or
Imes signal corresponding with Rsu and forwards it to multiplexer
84 and ADC 88. Multiplexer 90 forwards either the input from ADC 86
or ADC 88 to multiplexer 34. Except for the placement of one
amplifier after a multiplexer instead of two amplifiers after that
multiplexer, the operation of the elements of system 76 is similar
or identical to similarly situated elements of system 58. The
CMP_out signal is forwarded to both the signal processor 44 and to
the main state controller. System 76 is thus used for rotor
position measurement or calculation of a vector-controlled star
configuration PMSM (whether SPMSM or IPMSM).
[0152] FIG. 22 shows a representative example of a system for
sensing rotor position of a motor (system) 92 which is in many
respects similar to system 76 except that ADC 88 and multiplexer 90
may be replaced with a single sample and hold element (S/H) 106 and
analog multiplexer (AMUX) 108. The S/H and AMUX elements may be
included in a single logic element or unit or may be a plurality of
elements. Thus AMP 94 receives a signal from multiplexer 98 and
forwards it to multiplexer 100 as well as to S/H 106/AMUX 108. AMP
96 forwards a signal to multiplexer 100 as well as to S/H 106/AMUX
108. ADC 102 forwards signals from S/H 106/AMUX 108 to multiplexer
34 and to the normal drive signal processor. The same line is thus
used to communicate the signals Iu, Iv to the normal drive signal
processor. Except for the replacement of one multiplexer and one
ADC with the combined S/H/AMUX element and the removal of one
communication line to the normal drive signal processor, the
operations of the elements of system 92 are similar or identical to
similarly situated elements of system 76. The CMP_out signal is
forwarded to both the signal processor 44 and to the main state
controller. The Ph_sel signal is used to control the S/H 106, AMUX
108, multiplexer 100 and multiplexer 98. System 92 is thus used for
rotor position measurement or calculation of a vector-controlled
star configuration PMSM (whether SPMSM or IPMSM).
[0153] FIG. 23 shows a representative example of a system for
sensing rotor position of a motor (system) 110 that is in many ways
identical to system 92, except that there are again three AMPs as
in previous examples instead of having one AMP after a multiplexer.
Thus multiplexer 118 receives signals from AMP 112 and AMP 114 and
forwards one of these to multiplexer 120, while the outputs from
AMPs 112 and 114 are also both communicated to stated hold element
(S/H) 124/analog multiplexer (AMUX) 126. The output from AMP 116 is
communicated to multiplexer 120 and also to S/H 124/AMUX 126. The
output from S/H 124/AMUX 126 is forwarded to ADC 122. Except for
the addition of one AMP and the relocation of one multiplexer after
two AMPS instead of before one AMP, the operations of the elements
of system 110 are similar or identical to similarly situated
elements of system 92. The CMP_out signal is forwarded to both the
signal processor 44 and to the main state controller. The Ph_sel
signal is used to control the S/H 124, AMUX 126, multiplexer 120
and multiplexer 118. System 110 is thus used for rotor position
measurement or calculation of a vector-controlled star
configuration PMSM (whether SPMSM or IPMSM).
[0154] FIG. 26 shows a flow chart representing a method for sensing
rotor position of a motor (method) 132 which may be used to sense
or calculate the rotor position of a star-configuration
vector-controlled or non-vector controlled PMSM (whether an SPMSM
or IPMSM). The flow chart method representatively illustrates a
method which utilizes the Tmes measuring (a similar flowchart with
some variations could be shown for Imes measuring). A comparator
threshold value is set (to determine when the Ic value is reached
for Tmes measuring or to determine when Imes peaks for Imes
measuring) and the first y.sub.i measurement y.sub.1 is done to
measure Tmes corresponding with the wu current vector. This
measurement corresponds with i=1. A second y.sub.i measurement
y.sub.2 is done to measure Tmes corresponding with the wv current
vector, which measurement corresponds with i=2. A third measurement
y.sub.3 is done to measure Tmes corresponding with the uv current
vector, which measurement corresponds with i=3. A fourth
measurement y.sub.4 is done to measure Tmes corresponding with the
uw current vector, which measurement corresponds with i=4. A fifth
measurement y.sub.5 is done to measure Tmes corresponding with the
vw current vector, which measurement corresponds with i=5. A sixth
measurement y.sub.6 is done to measure Tmes corresponding with the
vu current vector, which measurement corresponds with i=6. In an
Imes example the Imes values corresponding with each current vector
could instead be measured.
[0155] Position is then done using Equation 7A or Equation 7B
(depending on whether Tmes or Imes was measured--in this case Tmes
was measured) and then Equations 8-10 are used to calculate the
rotor position as has been described previously.
[0156] FIG. 27 representatively illustrates a method for measuring
time values (method) 134 that is a portion of each y.sub.i
measuring step of FIG. 26. The timer is cleared and then the
three-phase inverter output is switched to correspond with the
Ph_sel signal to select either the wu, wv, uv, uw, vw, or vu
current vector. The timer is then started. A wait time occurs until
the comparator outputs a signal indicative that a current level Ic
has been reached, at which point the timer is stopped. The
three-phase inverter output is turned off (i.e., the end of the
voltage pulse) and the measured Tmes value is the measured value
y.sub.i. A wait period then occurs to ensure full decay of the
stator coil energy, after which the process may be started again.
Although the current vectors are measured in this representative
example in a specific order, in other implementations they could be
measured in other orders.
[0157] A method similar to method 134, but for measuring Imes,
could include utilizing the comparator to determine when to control
one or more ADCs to forward an Imes signal to the multiplexer 34
for processing. For example, the comparator may determine when a
current peaks and, at that time, may signal the signal processor 44
to control the ADC to forward a signal to multiplexer 34. This may
be done for each current vector wu, wv, uv, uw, vw, and vu as
described above for Tmes measuring.
[0158] In implementations of systems for sensing rotor position of
a motor the timer and/or comparator may also be used, such as in
conjunction with signal processor 44 and/or one or more ADCs, to
provide the voltage pulses. In implementations the shunt voltages,
or in other words the voltages across shunt resistors, are measured
voltages or are reference voltages used in determining the position
of a rotor. In implementations the rotor position is sensed or
calculated without directly sensing the speed or position of the
rotor (as with all examples described herein).
[0159] Systems described herein for sensing rotor position of a
motor do not need to apply high frequency voltages for sensing
rotor position (for example a frequency lower than the actual
operation frequency of the motor may be used) and may have little
random noise. Because systems described herein are capable of being
used both with vector control and non-vector control motors, they
may be applied to legacy motor systems. When applied to non-vector
control motors there may not need to be any coordinate
transformation function(s) performed by the system. The systems may
sense rotor position with very few calculations, as has been shown
herein.
[0160] Systems described herein may be able to detect accuracy
within less than a 30-degree electric angle, and sample and hold
(S/H) elements, as shown, may or may not be used depending on the
configuration used. Measuring currents do not need to be large, and
no waveform data needs to be stored in memory in advance. Back
electromotive force (BEMF) is not needed to be used by the systems
described herein to determine the position of the rotor. Systems
described herein may be used for reliable and silent startup of a
motor, as a sinusoidal drive will have proper vector currents
applied right from the startup phase. Systems described herein may
allow sensor-less rotor drivers to be used with electric fans and
similar elements because rotor shaking at startup may be
eliminated. Systems described herein may increase product
reliability by making motor startup more robust.
[0161] Descriptions and math related specifically to PMSMs with a
delta configuration will now be given. Referring now to FIG. 28,
various axes may be defined. The vu-axis, vw-axis, and wu-axis are
stationary axes having axes aligned with corresponding stator
cores. The a-axis is a stationary axis parallel to the vu-axis and
the b-axis is the quadrature of the a-axis (in other words 90
degrees offset from the a-axis). The .eta.-axis is a stationary
axis having a phase difference of .delta. from the a-axis, and the
.xi.-axis is the quadrature of the .eta.-axis. The d-axis is on an
axis of the rotor magnetic flux and the q-axis is the quadrature of
the d-axis (these are rotating axes). The .theta. angle is the
phase difference between the a-axis and the d-axis. The rotor
position in this representative example is defined as 0 degrees
when the vu-axis is parallel with the d-axis. The .phi. angle is
.theta.+.delta.. The north and south poles (N/S) of the permanent
magnet of the PMSM rotor may be seen at the center of the
figure.
[0162] The descriptions above with respect to the d-axis and q-axis
inductance of IPMSMs and SPMSMs apply, namely, that d-axis
inductance is smaller than q-axis inductance. FIGS. 29A-29B show
rotor magnetic flux distribution and rotor position of an IPMSM
which applies to an IPMSM having a delta configuration, and the
distribution shows an approximate sinusoidal waveform completing
one cycle with one electric angle rotation of the rotor. FIGS.
30A-30B show rotor permeability and rotor position of an IPMSM
having a delta configuration, and the distribution shows an
approximately sinusoidal waveform completing two cycles with one
electric angle rotation of the rotor. Although flux distribution
and rotor position of an SPMSM having a delta configuration are not
shown, the reader may envision how these would differ from those of
an IPMSM based on differences between the SPMSM and IPMSM graphs of
previous figures related to motors having star configurations.
[0163] As described previously, vu means the current vector phase
in which the energization is performed with direction from the
v-terminal to the u-terminal, uv means energization is performed
with direction from the u-terminal to the v-terminal, and vw, wv,
wu, and uw are similarly defined.
[0164] FIG. 31 shows an example of an SPMSM where the rotor
position is at 0 degrees. In this position, when the vu-current
vector is input, the stator inductance is expected to be smallest
due to the magnetic saturation characteristics, and when the
uv-current vector is input the inductance is expected to be second
smallest. FIG. 32 shows an example of an IPMSM where the rotor
position is at 0 degrees. When the vu-current vector is input the
inductance is expected to be smallest due to the .mu. distribution
and the magnetic saturation characteristics. When the uv-current
vector is input the inductance is expected to be second smallest.
The inductance distribution may be represented as a superimposed
distribution of and the magnetic saturation characteristics, and
the inductance distribution is seen to have a double frequency of
the flux distribution.
[0165] Rotor position estimation specifically for a PMSM having a
delta configuration is done using the following assumptions: rotor
magnetic flux has a sinusoidal waveform even if there is some
distortion; inductance distribution has double the frequency of the
flux distribution; the phase of the sinusoidal waveform will
indicate rotor position, and; although the inductance distribution
shows double frequency of the magnetic flux distribution, magnetic
saturation characteristics solve double function issues. The
sinusoidal waveform is estimated by curve fitting.
[0166] For the delta configuration the relation between the
energization patterns vu, vw, uw, uv, wv, and wu are defined as:
.alpha..sub.1=vu, .alpha..sub.2=vw, .alpha..sub.3=uw,
.alpha..sub.4=uv, .alpha..sub.5=wv, .alpha..sub.6=wu. Accordingly,
.alpha..sub.i is the energization current vector phase and has
intervals of .pi./3. As shown in FIG. 28 and FIGS. 29A-30B, when
.alpha..sub.i is defined on the ab-axis the .alpha..sub.i values
are as follows: .alpha..sub.1=0, .alpha..sub.2=.pi./3,
.alpha..sub.3=2.pi.7/3, .alpha..sub.4=.pi., .alpha..sub.5=4.pi./3,
.alpha..sub.6=5.pi./3. They therefore range between 0-2.pi. (or
0-5.pi./3).
[0167] When 2.alpha..sub.i is zero or an integral multiple of
.pi./2, the value of the sine or cosine function becomes zero. To
avoid this, the .eta..xi.-coordinate system and .phi. are
introduced. As described above:
.phi.=.theta.+.delta. (Eq. 1D)
[0168] Accordingly, estimating operations are initially performed
on the .eta..xi.-coordinate system and afterwards .theta. is
calculated using .phi. and .delta.. Therefore, .alpha..sub.i is
biased with .delta. and is defined as follows:
.alpha. i = .delta. + .pi. 3 ( i - 1 ) ( Eq . 2 D )
##EQU00032##
[0169] Where i=1, 2, 3, 4, 5, or 6 (though in other implementations
more than six values could be used). The term .delta. is set to
avoid the condition where 2.alpha..sub.i becomes an integral
multiple of .pi./2 or zero (for example setting .delta. equal to
.pi./24 works). FIGS. 33-35 show the relationship between
inductance (L), Tmes, Imes, and the measuring data (or measured
values) y.sub.i. FIG. 33 representatively illustrates an assumed
inductance (L) waveform of a delta-configuration PMSM generated
using measured values y.sub.1 through y.sub.6. FIG. 34
representatively illustrates an assumed time value (Tmes) waveform
of a delta-configuration PMSM generated using measured values
y.sub.1 through y.sub.6. FIG. 35 representatively illustrates an
assumed current value (Imes) waveform of a delta-configuration PMSM
generated using measured values y.sub.1 through y.sub.6.
[0170] The below math is based on a least squares method. When the
measuring is performed using Tmes based on FIGS. 29A-30B, the model
equation is given as y=-A cos(2.alpha.-2.phi.) where A is
amplitude, y is measured data or a measured value, .alpha. is
measuring current vector phase on the .eta..xi.-coordinate system,
and .phi. is the phase, which indicates the rotor position on the
.eta..xi.-coordinate system. If .alpha. and y are known, then the
equation is solved by finding the solution to A and .phi.. On the
other hand, if measuring is performed with Imes, the model equation
is given as y=A cos(2.alpha.-2.phi.). The DC bias of y may be
ignored because the curve fitting algorithm uses a least squares
method.
[0171] When the curve fitting algorithm is y=-A
cos(2.alpha.-2.phi.), and each measuring current phase is defined
as (.alpha..sub.1, .alpha..sub.2, .alpha..sub.3, . . .
.alpha..sub.N,), the model equation is shown as follows:
[ y 1 y 2 y N ] = - [ A cos ( 2 .alpha. 1 - 2 .PHI. ) A cos ( 2
.alpha. 2 - 2 .PHI. ) A cos ( 2 .alpha. N - 2 .PHI. ) ] = - [ A cos
( 2 .alpha. 1 ) cos ( 2 .PHI. ) + A sin ( 2 .alpha. 1 ) sin ( 2
.PHI. ) A cos ( 2 .alpha. 2 ) cos ( 2 .PHI. ) + A sin ( 2 .alpha. 2
) sin ( 2 .PHI. ) A cos ( 2 .alpha. N ) cos ( 2 .PHI. ) + A sin ( 2
.alpha. N ) sin ( 2 .PHI. ) ] = [ - cos ( 2 .alpha. 1 ) - sin ( 2
.alpha. 1 ) - cos ( 2 .alpha. 2 ) - sin ( 2 .alpha. 2 ) - cos ( 2
.alpha. N ) - sin ( 2 .alpha. N ) ] [ A cos ( 2 .PHI. ) A sin ( 2
.PHI. ) ] ##EQU00033##
[0172] The above equation may be written as Y=GP, where:
Y = [ y 1 y 2 y N ] G = [ - cos ( 2 .alpha. 1 ) - sin ( 2 .alpha. 1
) - cos ( 2 .alpha. 2 ) - sin ( 2 .alpha. 2 ) - cos ( 2 .alpha. N )
- sin ( 2 .alpha. N ) ] P = [ A cos ( 2 .PHI. ) A sin ( 2 .PHI. ) ]
( Eq . 3 D ) ##EQU00034##
[0173] If measurement error E is added, the equation may be written
as Y=GP+E or E=Y-GP. The least squares method finds the solution to
P which gives the extremum of square norm of E, as follows:
E 2 = E * E = ( Y * - P * G * ) ( Y - GP ) = Y * Y - Y * GP - P * G
* Y + P * G * GP = Y * Y - 2 Y * GP + P * G * GP .differential.
.differential. P E 2 = - 2 Y * G + 2 P * G * G = 0 Y * G = P * G *
G P * = Y * G ( G * G ) - 1 P = ( G * G ) - 1 G * Y P = G + Y ( Eq
. 4 D ) ##EQU00035##
[0174] Where:
[0175] Y*, P*, G*; adjoint matrix
[0176] G.sup.+=(G*G).sup.-1G*; pseudo-inverse matrix
[0177] If G* is found by what Eq. 3D is assigned to Eq. 4D, then P
may be found.
P = G + Y P = ( G T G ) - 1 G T Y ; ##EQU00036## G T = G * since G
is a real number = ( [ - cos ( 2 .alpha. 1 ) - cos ( 2 .alpha. 2 )
- cos ( 2 .alpha. N ) - sin ( 2 .alpha. 1 ) - sin ( 2 .alpha. 2 ) -
sin ( 2 .alpha. N ) ] [ - cos ( 2 .alpha. 1 ) - sin ( 2 .alpha. 1 )
- cos ( 2 .alpha. 2 ) - sin ( 2 .alpha. 2 ) - cos ( 2 .alpha. N ) -
sin ( 2 .alpha. N ) ] ) - 1 [ - cos ( 2 .alpha. 1 ) - cos ( 2
.alpha. 2 ) - cos ( 2 .alpha. N ) - sin ( 2 .alpha. 1 ) - sin ( 2
.alpha. 2 ) - sin ( 2 .alpha. N ) ] [ y 1 y 2 y N ] = [ i = 1 N ( -
cos ( 2 .alpha. i ) ) 2 i = 1 N sin ( 2 .alpha. i ) cos ( 2 .alpha.
i ) i = 1 N sin ( 2 .alpha. i ) cos ( 2 .alpha. i ) i = 1 N ( - sin
( 2 .alpha. i ) ) 2 ] - 1 [ i = 1 N - cos ( 2 .alpha. i ) y i i = 1
N - sin ( 2 .alpha. i ) y i ] ##EQU00036.2##
[0178] The term of .SIGMA..sub.i=1.sup.N sin
(2.alpha..sub.i)cos(2.alpha..sub.i) must be zero because
.alpha..sub.i is the same interval and is within just one period of
the model equation, so the equation becomes:
= [ i = 1 N ( - cos ( 2 .alpha. i ) ) 2 0 0 i = 1 N ( - sin ( 2
.alpha. i ) ) 2 ] - 1 [ i = 1 N - cos ( 2 .alpha. i ) y i i = 1 N -
sin ( 2 .alpha. i ) y i ] = 1 i = 1 N ( - sin ( 2 .alpha. i ) ) 2
.times. i = 1 N ( - cos ( 2 .alpha. i ) ) 2 [ i = 1 N ( - sin ( 2
.alpha. i ) ) 2 0 0 i = 1 N ( - cos ( 2 .alpha. i ) ) 2 ] [ i = 1 N
- cos ( 2 .alpha. i ) y i i = 1 N - sin ( 2 .alpha. i ) y i ] = 1 i
= 1 N ( - sin ( 2 .alpha. i ) ) 2 .times. i = 1 N ( - cos ( 2
.alpha. i ) ) 2 [ i = 1 N ( - sin ( 2 .alpha. i ) ) 2 .times. i = 1
N - cos ( 2 .alpha. i ) y i i = 1 N ( - cos ( 2 .alpha. i ) ) 2
.times. i = 1 N - sin ( 2 .alpha. i ) y i ] = [ i = 1 N - cos ( 2
.alpha. i ) y i i = 1 N ( - cos ( 2 .alpha. i ) ) 2 i = 1 N - sin (
2 .alpha. i ) y i i = 1 N ( - sin ( 2 .alpha. i ) ) 2 ] = [ Acos (
2 .PHI. ) Asin ( 2 .PHI. ) ] ( Eq . 5 D ) ##EQU00037##
[0179] Therefore, .phi. is given as follows:
2 .PHI. = tan - 1 Asin ( 2 .PHI. ) Acos ( 2 .PHI. ) ( Eq . 6 D )
##EQU00038##
[0180] And:
A= {square root over ((A cos(2.phi.)).sup.2+(A
sin(2.phi.)).sup.2)}
[0181] When the model equation is y=A cos(2.alpha.-2.phi.) each
measuring current phase is defined as (.alpha..sub.1,
.alpha..sub.2, .alpha..sub.3, . . . .alpha..sub.N,), and the model
equation is shown as follows:
[ y 1 y 2 y N ] = [ Acos ( 2 .alpha. 1 - 2 .PHI. ) Acos ( 2 .alpha.
2 - 2 .PHI. ) Acos ( 2 .alpha. N - 2 .PHI. ) ] = [ Acos ( 2 .alpha.
1 ) cos ( 2 .PHI. ) + Asin ( 2 .alpha. 1 ) sin ( 2 .PHI. ) Acos ( 2
.alpha. 2 ) cos ( 2 .PHI. ) + Asin ( 2 .alpha. 2 ) sin ( 2 .PHI. )
Acos ( 2 .alpha. N ) cos ( 2 .PHI. ) + Asin ( 2 .alpha. N ) sin ( 2
.PHI. ) ] = [ cos ( 2 .alpha. 1 ) sin ( 2 .alpha. 1 ) cos ( 2
.alpha. 2 ) sin ( 2 .alpha. 2 ) cos ( 2 .alpha. N ) sin ( 2 .alpha.
N ) ] [ Acos ( 2 .PHI. ) Asin ( 2 .PHI. ) ] ##EQU00039##
[0182] The above equation may be written as Y=GP, where:
Y = [ y 1 y 2 y N ] G = [ cos ( 2 .alpha. 1 ) sin ( 2 .alpha. 1 )
cos ( 2 .alpha. 2 ) sin ( 2 .alpha. 2 ) cos ( 2 .alpha. N ) sin ( 2
.alpha. N ) ] P = [ Acos ( 2 .PHI. ) Asin ( 2 .PHI. ) ] ( Eq . 3 E
) ##EQU00040##
[0183] If measurement error E is added, the equation may be written
as Y=GP+E or E=Y-GP. The least squares method finds the solution to
P which gives the extremum of square norm of E, as follows:
E 2 = E * E = ( Y * - P * G * ) ( Y - GP ) = Y * Y - Y * GP - P * G
* Y + P * G * GP = Y * Y - 2 Y * GP + P * G * GP .differential.
.differential. P E 2 = - 2 Y * G + 2 P * G * G = 0 Y * G = P * G *
G P * = Y * G ( G * G ) - 1 P = ( G * G ) - 1 G * Y P = G + Y ( Eq
. 4 E ) ##EQU00041##
[0184] Where:
[0185] Y*, P*, G*; adjoint matrix
[0186] G.sup.+=(G*G).sup.-1G*; pseudo-inverse matrix
[0187] If G* is found by what Eq. 3E is assigned to Eq. 4E, then P
may be found.
P = G + Y ##EQU00042## P = ( G T G ) - 1 G T Y ; ##EQU00042.2## G T
= G * since G is a real number = ( [ cos ( 2 .alpha. 1 ) cos ( 2
.alpha. 2 ) cos ( 2 .alpha. N ) sin ( 2 .alpha. 1 ) sin ( 2 .alpha.
2 ) sin ( 2 .alpha. N ) ] [ cos ( 2 .alpha. 1 ) sin ( 2 .alpha. 1 )
cos ( 2 .alpha. 2 ) sin ( 2 .alpha. 2 ) cos ( 2 .alpha. N ) sin ( 2
.alpha. N ) ] ) - 1 [ cos ( 2 .alpha. 1 ) cos ( 2 .alpha. 2 ) cos (
2 .alpha. N ) sin ( 2 .alpha. 1 ) sin ( 2 .alpha. 2 ) sin ( 2
.alpha. N ) ] [ y 1 y 2 y N ] = [ i = 1 N ( cos ( 2 .alpha. i ) ) 2
i = 1 N cos ( 2 .alpha. i ) sin ( 2 .alpha. i ) i = 1 N sin ( 2
.alpha. i ) cos ( 2 .alpha. i ) i = 1 N ( sin ( 2 .alpha. i ) ) 2 ]
- 1 [ i = 1 N cos ( 2 .alpha. i ) y i i = 1 N sin ( 2 .alpha. i ) y
i ] ##EQU00042.3##
[0188] The term of .SIGMA..sub.i=1.sup.N
sin(2.alpha..sub.i)cos(2.alpha..sub.i) must be zero because
.alpha..sub.i is the same interval and is within just one period of
the model function, so the equation becomes:
= [ i = 1 N ( cos ( 2 .alpha. i ) ) 2 0 0 i = 1 N ( sin ( 2 .alpha.
i ) ) 2 ] - 1 [ i = 1 N cos ( 2 .alpha. i ) y i i = 1 N sin ( 2
.alpha. i ) y i ] = 1 i = 1 N ( sin ( 2 .alpha. i ) ) 2 .times. i =
1 N ( cos ( 2 .alpha. i ) ) 2 [ i = 1 N ( sin ( 2 .alpha. i ) ) 2 0
0 i = 1 N ( cos ( 2 .alpha. i ) ) 2 ] [ i = 1 N cos ( 2 .alpha. i )
y i i = 1 N sin ( 2 .alpha. i ) y i ] = 1 i = 1 N ( sin ( 2 .alpha.
i ) ) 2 .times. i = 1 N ( cos ( 2 .alpha. i ) ) 2 [ i = 1 N ( sin (
2 .alpha. i ) ) 2 .times. i = 1 N cos ( 2 .alpha. i ) y i i = 1 N (
cos ( 2 .alpha. i ) ) 2 .times. i = 1 N sin ( 2 .alpha. i ) y i ] =
[ i = 1 N cos ( 2 .alpha. i ) y i i = 1 N ( cos ( 2 .alpha. i ) ) 2
i = 1 N sin ( 2 .alpha. i ) y i i = 1 N ( sin ( 2 .alpha. i ) ) 2 ]
= [ Acos ( 2 .PHI. ) Asin ( 2 .PHI. ) ] ( Eq . 5 E )
##EQU00043##
[0189] Therefore, .phi. is given as follows:
2 .PHI. = tan - 1 Asin ( 2 .PHI. ) Acos ( 2 .PHI. )
##EQU00044##
[0190] Therefore, when the model equation is y=-A
cos(2.alpha.-2.phi.) the following algorithms may be used:
Acos ( 2 .PHI. ) = i = 1 N - cos ( 2 .alpha. i ) y i 3 Asin ( 2
.PHI. ) = i = 1 N - sin ( 2 .alpha. i ) y i 3 2 .PHI. = tan - 1 (
Asin ( 2 .PHI. ) Acos ( 2 .PHI. ) ) = tan - 1 ( i = 1 N - sin ( 2
.alpha. i ) y i i = 1 N - cos ( 2 .alpha. i ) y i ) ( Eq . 7 A )
##EQU00045##
[0191] And when the model equation is y=A cos(2.alpha.-2.phi.) the
following algorithms may be used:
Acos ( 2 .PHI. ) = i = 1 N cos ( 2 .alpha. i ) y i 3 Asin ( 2 .PHI.
) = i = 1 N sin ( 2 .alpha. i ) y i 3 2 .PHI. = tan - 1 ( Asin ( 2
.PHI. ) Acos ( 2 .PHI. ) ) = tan - 1 ( i = 1 N sin ( 2 .alpha. i )
y i i = 1 N cos ( 2 .alpha. i ) y i ) ( Eq . 7 B ) ##EQU00046##
[0192] The following procedure is then used to determine .theta.
since the model equation is a trigonometric function with double
angle variable.
.theta. a = .PHI. - .delta. ( Eq . 8 A ) .theta. b = { .theta. a +
.pi. , .theta. a < 0 .theta. a , .theta. a .gtoreq. 0 ( Eq . 9 A
) .theta. = { .theta. b , - .pi. 3 < .tau. < + .pi. 3 .theta.
b + .pi. , .tau. < - .pi. 3 , .tau. > + .pi. 3 ( Eq . 10 A )
##EQU00047##
[0193] Where
.tau. b = .theta. b - .alpha. k ##EQU00048## .alpha. k = { .alpha.
i which gives the least y i , model equation y = - Acos ( 2 .alpha.
- 2 .PHI. ) .alpha. i which gives the largest y i , model equation
y = Acos ( 2 .alpha. - 2 .PHI. ) .tau. = { .tau. a , .tau. a > -
( .pi. + .delta. ) .tau. a + 2 .pi. , .tau. a < - ( .pi. +
.delta. ) ##EQU00048.2##
[0194] Equation 7A or 7B and Equations 8A-10A are then used for the
actual operation. For example, referring now to FIG. 36, a
representative example of a system for sensing rotor position of a
motor (system) 142 is given. System 142 is coupled with a delta
configuration three-phase permanent magnet synchronous motor (PMSM)
136, and the rotor 138 and stator 140 are represented. System 142
is in many ways similar to system 46 described previously, except
that logic elements 144 are configured specifically to perform the
operations of Equations 7A/7B and Equations 8A-10A. As with
previously described systems, voltage pulses may be used and then a
time measured (Tmes) or a current measured (Imes) in order to
determine the position of the rotor. Three-phase inverter 26 has
the configuration of three-phase inverter 128 of FIG. 24.
[0195] The multiplexer 34 is accordingly identical to that
previously described and allows the measured values y.sub.i
(whether Tmes or Imes values) to be passed through to logic
elements 144 so that the position of the rotor of the PMSM may be
calculated. The a.sub.i values shown in FIG. 36 are
-cos(2.alpha..sub.i) or cos(2.alpha..sub.i) and the b.sub.i values
shown in FIG. 36 are sin(2.alpha..sub.i) or -sin(2.alpha..sub.i)
depending on which mode is being used (current or time
measurement). The value of .alpha..sub.i may also be described as
being equal to .delta.+(i-1)(.pi./3). The value of i is greater
than or equal to 1 and less than or equal to N (as described, in
some implementations i=1, 2, 3, 4, 5, 6). Summations are performed
by logic elements 144 as indicated by Equation 7A/7B. The .phi.
value is calculated using Equation 7A/7B and the .delta. value is
subtracted therefrom to obtain the .theta..sub.a value as indicated
by Equation 8A. The .theta..sub.b value is then calculated from the
.theta..sub.a value using Equation 9A. The .theta. value is then
calculated from the .theta..sub.b value using Equation 10A. System
142, similar to system 46, is thus used with a non-vector-control
PMSM.
[0196] Various labels are given to different signals. The Mes_sel
is the mode selection signal which is communicated from the main
state controller to the multiplexer 34 to determine whether to
allow Tmes or Imes signals to pass through (depending on which is
being measured, the time or the current). The Mode_sel signal is
communicated from the main state controller to the multiplexer 36
to switch between normal operation and initial rotor sensor
position sensing operation. The Mes_pls signal is a measuring pulse
signal to perform the position sensing. In implementations the
Mes_pls signal could itself be the voltage pulse though in other
implementations it is only a signal used to effectuate the voltage
pulse. TIM_cnt is a control signal from the signal processor 44 to
the timer to start/stop the timer. ADC_cnt is a control signal for
the ADC to communicate the Imes value to the logic elements (and
the Im value to the normal drive signal processor). CMP_out is the
comparator output which is communicated to signal processor 44 and
to the main state controller. .theta..sub.ini represents the
initial rotor position as calculated by the system.
[0197] FIG. 37 shows a representative example of a system for
sensing rotor position of a motor (system) 146 that is similar to
system 142 except configured for vector control. An additional
amplifier and ADC element are included so that two motor current
signals Iv and Iu are sent to the normal drive signal processor for
vector control. Thus AMP 50 and AMP 52 are both coupled with the
single shunt resistor Rs. The output from AMP 50 is communicated to
the comparator for Tmes measuring (for when Tmes mode is used) and
the output from AMP 50 is also communicated to the ADC 54 which is
converted to a digital signal and then sent to the normal drive
signal processor as signal Iu for vector control. Additionally, the
output from ADC 54 is communicated to multiplexer 34 but is only
passed through to the logic elements 144 if the main state
controller has switched the multiplexer to Imes mode. The ADC 54
output is communicated to the multiplexer 34 and to the normal
drive signal processor when controlled to do so by the signal
processor 44 using the ADC_cnt signal. AMP 52 communicates an
analog signal to ADC 56 and ADC 56 coverts this to a digital signal
and forwards it to the normal drive signal processor as signal Iv
for vector control. The CMP_out signal is forwarded to both the
signal processor 44 and to the main state controller. The normal
drive signal processor thus uses the initial rotor position signal
.theta.ini and the vector control current signals Iv and Iu to
optimally increase, maintain, or decrease the speed of the rotor of
the delta configuration PMSM as desired. The delta configuration
PMSM may be an SPMSM or an IPMSM.
[0198] FIG. 38 shows an implementation of a system for sensing
rotor position of a motor (system) 148 that is in many ways similar
to system 76, previously described, except configured for use with
a delta-configuration motor and using logic elements 144. The
three-phase inverter has the configuration of three-phase inverter
130 of FIG. 25. The same signals are used to control the same
switches, as previously described with respect to three-phase
inverter 128, but three shunt resistors are coupled therewith as
seen: Rsu, Rsv, and Rsw. The signal selection and forwarding is as
described above for system 58. Multiplexer 82 forwards either a
Tmes or Imes signal corresponding with Rsw or Rsv, and this is
amplified using AMP 78 on one line and on another line is forwarded
to ADC 86. AMP 80 amplifies a Tmes or Imes signal corresponding
with Rsu and forwards it to multiplexer 84 and ADC 88. Multiplexer
90 forwards either the input from ADC 86 or ADC 88 to multiplexer
34. Except for the configuration of the system for use with a delta
configuration PMSM (IPMSM or SPMSM) and the use of logic elements
144, the operation of the elements of system 148 is similar or
identical to similarly situated elements of system 76. The CMP_out
signal is forwarded to both the signal processor 44 and to the main
state controller. System 148 is thus used for rotor position
measurement or calculation of a vector-controlled delta
configuration PMSM (whether SPMSM or IPMSM).
[0199] FIG. 39 shows an implementation of a system for sensing
rotor position of a motor (system) 150 that is in many ways similar
to system 58, except configured for use with a vector-controlled
delta configuration PMSM (IPMSM or SPMSM) and having logic elements
144 for performing the operations of Equations 7A/7B and 8A-10A.
Otherwise the operation and elements are similar as those
previously described with respect to system 58.
[0200] FIG. 40 shows an implementation of a system for sensing
rotor position of a motor (system) 152 that is in many ways similar
to system 92, except configured for use with a vector-controlled
delta configuration PMSM (IPMSM or SPMSM) and having logic elements
144 for performing the operations of Equations 7A/7B and 8A-10A.
Otherwise the operation and elements are similar as those
previously described with respect to system 92.
[0201] FIG. 41 shows an implementation of a system for sensing
rotor position of a motor (system) 154 that is in many ways similar
to system 110, except configured for use with a vector-controlled
delta configuration PMSM (IPMSM or SPMSM) and having logic elements
144 for performing the operations of Equations 7A/7B and 8A-10A.
Otherwise the operation and elements are similar as those
previously described with respect to system 110.
[0202] FIG. 42 shows a flow chart representing a method for sensing
rotor position of a motor (method) 156 which may be used to sense
or calculate the rotor position of a delta-configuration
vector-controlled PMSM (whether an SPMSM or IPMSM). The flow chart
method representatively illustrates a method which utilizes the
Tmes measuring (a similar flowchart with some variations could be
shown for Imes measuring). A comparator threshold value is set (to
determine when the Ic value is reached for Tmes measuring or to
determine when Imes peaks for Imes measuring) and the first y.sub.i
measurement y.sub.1 is done to measure Tmes corresponding with the
vu current vector. This measurement corresponds with i=1. A second
y.sub.i measurement y.sub.2 is done to measure Tmes corresponding
with the vw current vector, which measurement corresponds with i=2.
A third measurement y.sub.3 is done to measure Tmes corresponding
with the uw current vector, which measurement corresponds with i=3.
A fourth measurement y.sub.4 is done to measure Tmes corresponding
with the uv current vector, which measurement corresponds with i=4.
A fifth measurement y.sub.5 is done to measure Tmes corresponding
with the wv current vector, which measurement corresponds with i=5.
A sixth measurement y.sub.6 is done to measure Tmes corresponding
with the wu current vector, which measurement corresponds with i=6.
For the Imes method the Imes values corresponding with each current
vector could instead be measured.
[0203] Position is then calculated using Equation 7A or Equation 7B
(depending on whether Tmes or Imes was measured--in this case Tmes
was measured) and then Equations 8A-10A are used to calculate the
rotor position as has been described previously.
[0204] FIG. 27 representatively illustrates a method for measuring
time values (method) 134 that is a portion of each y.sub.i
measuring step of FIG. 42. The timer is cleared and then the
three-phase inverter output is switched to correspond with the
Ph_sel signal to select either the wu, wv, uv, uw, vw, or vu
current vector. The timer is then started. A wait time occurs until
the comparator outputs a signal indicative that a current level Ic
has been reached, at which point the timer is stopped. The
three-phase inverter output is turned off (i.e., the end of the
voltage pulse) and the measured Tmes value is the measured value
y.sub.i. A wait period then occurs to ensure full decay of the
stator coil energy, after which the process may be started again.
Although the current vectors are measured in this representative
example in a specific order, in other implementations they could be
measured in other orders.
[0205] A method similar to method 134, but for measuring Imes,
could include utilizing the comparator to determine when to control
one or more ADCs to forward an Imes signal to the multiplexer 34
for processing. For example, the comparator may determine when a
current peaks and, at that time, may signal the signal processor 44
to control the ADC to forward a signal to multiplexer 34. This may
be done for each current vector wu, wv, uv, uw, vw, and vu as
described above for Tmes measuring.
[0206] In places where the description above refers to particular
implementations of rotor position sensing system for three phase
motors and related methods and implementing components,
sub-components, methods and sub-methods, it should be readily
apparent that a number of modifications may be made without
departing from the spirit thereof and that these implementations,
implementing components, sub-components, methods and sub-methods
may be applied to other rotor position sensing system for three
phase motors and related methods.
* * * * *