# Patent

## Title
Decoupling of cross coupling for floating reference frame controllers for sensorless control of synchronous machines

## Abstract

A synchronous motor controller and method of controlling a synchronous motor without using rotor position sensors are provided. In a floating synchronous reference frame controller, phase currents are measured and a current Park vector is determined. The error between an initially arbitrary floating reference frame is reduced with a control loop. Decoupling terms based on the estimated speed of the rotor and the stator winding inductance are used to generate decoupled voltage terms in the v- and u-axis of the floating synchronous reference frame. The decoupled voltage command is converted back to a stator reference frame and applied to the synchronous motor via a power electronic converter. As a result u-axis current is minimized during transients, and a robust and accurate estimation of the current vector to be used in coordinate transformation for controlling the machine are achieved and the need for overrating of motor and inverter components is avoided.

## Background
REFERENCE TO RELATED APPLICATIONS
Related subject matter is disclosed in U.S. Pat. No. 6,301,136, issued on Oct. 9, 2001, entitled “Floating Frame Controller”, the entire contents of which is incorporated herein by reference.
FIELD OF THE INVENTION
The invention relates to a method and apparatus for performing electrical power conversion, and more particularly, to a position sensorless method and apparatus for controlling a power converter such as an inverter.
BACKGROUND OF THE INVENTION
A conventional synchronous motor typically uses rotor position sensors to provide information regarding the position of the motor's rotor with respect to the motor's stator windings. Rotor position sensors such as Hall effect devices are typically mounted in the stator, proximate the stator windings. The rotor position sensors provide rotor position information, which allows for proper control for the conversion of power that is supplied to the stator windings of an electrical machine.
However, rotor position sensors can be unreliable due to mechanical alignment problems (e.g., problems caused by bearings) and temperature incompatibility problems between the stator windings and electronic components such as the Hall effect devices. Moreover, the rotor position sensors can be difficult to mount to the motor during motor assembly, especially for multi-pole motors. In multi-pole motors, the electrical misalignment angle is equivalent to the angular mechanical misalignment angle multiplied by the number of pairs of poles.
In response to the problems with rotor sensors, position sensorless control techniques have been developed for controlling the speed of the synchronous machines.
U.S. Pat. No. 6,301,136 to Huggett et al., which is incorporated herein in its entirety, discloses a floating synchronous reference frame controller, which advantageously provides a floating synchronous reference frame for controlling an inverter to drive a synchronous motor. However, due to the coupling impact of the motor circuitry in floating synchronous reference frame (as will be described later) delays exist during transients during which the estimated angle of the current Park vector differs from the actual angle of the current Park vector. Also, the coupling impact of the motor equivalent circuit in floating synchronous reference frame forces the gain of the regulator used for angle estimation to be kept small which slows down the system response. A further result of using a small gain is a significant delay in reducing the error between the estimated angle of the current Park vector and the actual angle of the current Park vector during slow transients, such as acceleration and deceleration, as well as fast transients, such as step changes. Because undesirable imaginary axis current flows in the machine during these delays, longer delays may require substantial overrating of the inverter and electrical machine.
Ideally, only real-axis current flows in the machine, as the floating synchronous reference frame is by definition aligned with the real axis component of the current Park vector.
Thus, there is a need for faster, more robust, more accurate sensorless estimation of the angle of the current Park vector that minimizes imaginary axis component of the current Park vector, and avoids the need for overrating of inverters and PM machines.
SUMMARY OF THE INVENTION
The above disadvantages are avoided and other advantages are realized in embodiments of the present invention. According to one aspect of the invention, a synchronous motor controller includes a direct-axis current decoupler adapted to generate a decoupled direct-axis signal based on a quadrature-axis signal and an estimated rotor speed. The controller also includes a quadrature-axis current decoupler adapted to generate a decoupled quadrature-axis signal based on a direct-axis signal and said estimated rotor speed. The decoupled signals can further be based on the inductance of the stator winding.
According to another aspect of the invention, a method of controlling a synchronous motor is provided. The method includes the steps of measuring at least two phase currents and determining a current Park vector based on said two phase currents. The method also includes the steps of estimating a position of a current Park vector, estimating an angular velocity of said current Park vector (which is approximately equal to rotor speed for two pole machines); and generating a decoupled voltage command based on a floating synchronous reference frame current Park vector and said estimated angular velocity.
According to yet another aspect of the present invention, a method of starting a synchronous motor is provided. The method includes the steps of delivering an initial voltage command to said motor; determining whether an initial torque is negative, and reversing a polarity of said voltage command is said initial torque is negative. The method can also include the steps of measuring at least two phase currents, determining a current Park vector based on said phase currents, estimating a position of a current Park vector of said motor, estimating an angular velocity of said current Park vector (which is approximately equal to rotor), and generating a decoupled voltage command based on a floating synchronous reference frame current Park vector and said estimated angular velocity.



BRIEF DESCRIPTION OF THE DRAWINGS
The invention will be more readily understood with reference to the embodiments illustrated in the attached drawing figures, in which:
FIG. 1 is a block diagram of a floating synchronous reference frame controller;
FIG. 2 illustrates Park vector representing a reference frame and a line current;
FIG. 3 illustrates a relationship between a stationary reference frame axis and a floating synchronous reference frame axis, and components of a vector current in both reference frames;
FIG. 4 illustrates an equivalent circuit for a synchronous motor according to an embodiment of the present invention;
FIG. 5 illustrates a model for a floating synchronous frame controller and a motor according to an embodiment of the present invention;
FIG. 6 illustrates a model for a floating synchronous frame controller and a motor in vector format according to an embodiment of the present invention;



In the drawing figures, it will be understood that like numerals refer to like features and structures.
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
The preferred embodiments of the invention will now be described with reference to the attached drawing figures. A system and method for estimating the angular position of a current Park vector and hence controlling the electrical machine without the need for position sensors is described in U.S. Pat. No. 6,301,136, the contents of which is incorporated herein by reference in its entirety.
Park vectors inherently contain information on both the instantaneous magnitudes and the phase relationship of three phase rotating fields with respect to a reference coordinate system. A Park vector, in general, is a mathematical representation that describes the locus of an electrical quantity in the complex space domain (where time is a parameter). A current Park vector is defined with the vector's amplitude and the vector's direction in spatial relation to the three phases. A general discussion of Park vectors is provided in P. K. Kovacs, “Transient Phenomena in Electrical Machines,” Elsevier Science Publishing Co. (1984).
FIG. 1 illustrates a synchronous machine drive system 10 including a three-phase synchronous machine 12, an inverter 14 and a power source 16 for supplying dc power to the inverter 14. During operation of the synchronous machine 12, the inverter 14 converts the dc power to three-phase ac power and supplies (via a power line 18) currents to all three stator windings of the machine 12. These currents flow through the windings and create a rotating magnetic field.
Because of the spatial relationship of the stator windings and the temporal relationship of the phase currents, the Park vector representing the phase currents may be represented by a two-dimensional complex number (provided that the neutral of the stator windings is not galvanically tied to any point in the inverter 14). Similarly, voltages and rotor flux can be represented by their own voltage and flux Park vectors.
The rotating magnetic field interacts with main field flux provided by the machine's rotor, resulting in a torque. The torque is constant if the main field flux Park vector and the current Park vector are maintained at a constant angle relative to one another and the amplitude of the current Park vector is constant. Maximum torque occurs at a ninety degree angle and minimum torque occurs at a zero degree angle.
If a rotor reference frame (that is a reference frame that coincides with the magnetic axis of the rotor) is known, the current Park vector can be converted from a stationary reference frame to a synchronous reference frame with respect to the rotor, and the inverter 14 can be controlled by Q-D current regulation in the synchronous reference frame. The objective is finding the reference frame without the use of rotor position sensors.
The system 10 estimates the reference frame without using position sensors. The system 10 further includes a set of current sensors 20 for sensing current on the power line 18 and a floating synchronous reference frame controller 22 for controlling the inverter 14 to convert the dc power to suitable three-phase ac power. Each current sensor 20 is synchronously and periodically sampled. Thus, a set of at least two current samples are produced periodically.
Each time a set of current samples (ia, ib, ic) is produced, the controller 22 computes a current Park vector from the current samples (block 24). The current Park vector (is) can be decomposed into a direct-axis component (id) and a quadrature-axis component (iq) in the stationary reference frame. Thus, isqd=isq−jisd.
After the line current is sampled, the controller 22 selects a reference frame for the current Park vector. The reference frame may be represented by a unit amplitude Park vector as a complex number in polar coordinates in the form of (e+jθest) or in Cartesian coordinates in the form of (cos θest+j sin θest). Initially, the reference frame is arbitrary. Afterwards, however, the reference frame will be adjusted to be synchronous with the rotor, but not congruent with magnetic axis of the rotor. A Park vector 104 representing the reference frame and a Park vector 102 representing the line current are illustrated in FIG. 2.
The controller 22 performs a multiplication (block 26) of the reference frame (e−jθest or cos θest−j sin θest) and the current Park vector (isqd=isq−jisd). The result of the multiplication, a current Park vector in a synchronous frame, may be expressed as:

ivu=iv−jiu=isqde−jθest=(isqcos θest−isdsin θest)−j(isdcos θest+isqsin θest)

Where

iv=(isqcos θest−isdsin θest)

iu=(isdcos θest+isqsin θest)

The controller 22 rotates the reference frame so that the u-axis component iu=(isdcos θest+isqsin θest) equals a predetermined value. The predetermined value is typically zero or some other predetermined value.
The reference frame may be rotated as follows. The controller 22 generates an error signal (block 28) from a predetermined value (DES) and the u-axis component (isdcos θest+isqsin θest) and operates upon the error signal (ERR1) in a proportional-integral (“PI”) controller or current regulator (block 30) to obtain an estimated angular rate (ω) of the rotor. The controller 22 integrates the estimated angular rate (ω) (block 32) to obtain an estimated angle (θest). The estimated angle (θest) is used to generate the reference frame in the form of e+jθest (block 40), and the complex conjugate of the reference frame e−jθest (block 34).
When the u-axis component is equal to the predetermined value (DES), a synchronous floating reference frame is established. Once the angle of the current Park vector is known, the controller 22 uses the magnitude of the v-axis component (isqcos θest−isdsin θest) to control the amplitude of the voltage applied to the inverter 14. The controller 22 generates a second error signal (ERR2) from the real portion (iqcos θest−idsin θest) of the v-axis component and a current command (i*) (block 36). The current command (i*) may be derived from a higher level control loop (e.g., power transfer, speed of a machine), which is usually application specific.
The second error signal (ERR2) is regulated by a v-axis current regulator (block 38) to produce a voltage command (V). The unit vector eiθest of the unit amplitude Park vector is taken (block 40) and multiplied by the voltage command (V) (block 42). This multiplication converts the voltage command (V) from the synchronous floating frame (v-u coordinates) to the stationary frame (qs-ds) coordinates.
The vector (G) resulting from this product is supplied to gate logic 44. The gate logic 44 uses this vector (G) to turn on and off power switches of the inverter 14 in a sequence that causes the inverter to selectively energize the stator windings and create a motor torque. The frequency of the switching is usually fixed at 20 kHz, the gating sequence is calculated at this frequency and is well understood by those skilled in the art. The modulation could be a pulse width modulation (PWM) topology such as space vector PWM or sine PWM.
During normal operation of the synchronous machine 12, speed can be changed by changing the value of the current command Park vector (i*). Thus, the synchronous machine may be operated at variable speeds.
Because of the transformation between the stationary reference frame and the floating synchronous reference frame (v-u coordinate system), cross coupling is introduced between the u- and v-axes. The cross-coupling of the two equivalent circuits can be understood by transforming the equivalent circuit of one of the synchronous machines from the stationary reference frame to a floating synchronous reference frame (v-u) according to transformation equations. Referencing FIG. 5, this cross coupling is represented by blocks 526–529 in 510.
For purposes of illustration, it is assumed that a surface mounted PM synchronous machine is represented by phase resistance, synchronous inductance, and back emf in the stationary reference frame, as shown in FIG. 4. Thus,

vsqd=esqd+L disqd/dt+isqdR 

where vsqd is the Park vector of inverter voltage, esqd is the Park vector of back emf, isqd is the Park vector of phase current, all in stationary reference frame. L is the synchronous inductance, and R is the phase resistance of the synchronous machine.

FIG. 3 shows a vector diagram illustrating the relationship between the stationary and floating synchronous reference frames. The qs-ds axis represents the stationary reference frame. The phase currents are represented by a current Park vector that is composed of direct and quadrature components. The current Park vector in stationary reference frame is preferably constructed using the measured phase currents ia, ib and ic and is represented as:

isqd=2/3(ia+aib+a2ic)=isq−jisd 

isq=2/3(ia−0.5(ib+ic))

isd=−2/3*0.866(ib−ic)

where:

a=ej2π/3 and a2=e−j2π/3 

The v-u axis of FIG. 3 represents the floating synchronous reference frame that is aligned with the estimated angle of the phase current Park vector. Based on the relationship between the two sets of axis, the following transformation equations are derived:

ivu=iv−jiu (Current Vector in Floating Synchronous Reference Frame)

Current Transformation Equations

isqd=ivuejθest or ivu=isqde−jθest 

iv=−isdsin θest+isqcos θest 

iu=isdcos θest+isqsin θest 

isq=iusin θest+ivcos θest 

isd=iucos θest−ivsin θest 

Voltage Transformation Equations

vsqd=vvuejθest or vvu=vsqde−jθest 

vv=−vsdsin θest+vsqcos θest 

vu=vsdcos θest+vsqsin θest 

vsq=vusin θest+vvcos θest 

vsd=vucos θest−vvsin θest 

As will be appreciated by those skilled in the art, cross coupling between the u and v axes causes interference in the control loops comprised of regulator 38 and regulator 30 (reference FIG. 1). Embodiments of the present invention significantly improve the estimation of the rotor position by introducing decoupling terms in the floating synchronous reference frame controller 22. This ensures that when there is a transient in either the u- or v-axis component of the current Park vector, the cross coupling between the current regulation loop and the position estimation loop is cancelled out. As a consequence, the gain of the current regulation loops can be increased significantly. Because higher gain in the current regulation loops is permitted, more accurate tracking of the angle of the current Park vector in stationary reference frame is enabled, which significantly reduces the u-axis current component during transients. Consequently, the decoupling feature permits more robust, reliable and efficient sensorless control. Furthermore, because u-axis current is minimized, inverters and synchronous machines employing embodiments of the present invention can be rated for lower currents, thereby advantageously decreasing their necessary size and cost.
The cross-coupling terms in the floating synchronous reference frame are:

−j(dθest/dt)Liu and +j(dθest/dt)Liv 

or

−jωestLiu and +jωestLiv 

According to an embodiment of the present invention, the cross-coupling is decoupled by commanding +j(dθest/dt)Liu and −j(dθest/dt)Liv voltage terms in the respective loops of the floating synchronous reference frame controller.

FIG. 5 is a block diagram illustrating a controller model and machine model according to an embodiment of the present invention. Controller 512 controls and regulates two voltage command loops to generate v- and u-axis voltage commands. Machine model 510 which is represented in floating synchronous reference frame receives the voltage commands. Machine model 510 illustrates the cross-coupling of the v- and u-axis current loops in floating synchronous reference frame. Adders 514 and 516 receive respective v- and u-axis voltage command signals from controller 512, where they are combined with respective back emf component signals (Ev and Eu) and cross-coupling signals. The output of adders 514 and 516 is received by stator windings in the machine, as indicated by (1/(Ls+R)) blocks 518 and 520 to generate stator winding currents iv and iu. As shown, multiplication blocks 527 and 529 and inductance blocks 526 and 528 generate respective cross-coupling feedback loops within machine model 510 that feedback to adders 514 and 516. Multiplication block 527 receives input from current iv and the estimated angular rate of the rotor (ωest), and the resultant signal is fed back to the u-axis loop at adder 516. Similarly, multiplication block 529 receives input from current iu and the estimated angular speed of the rotor (ωest), and the resultant signal is fed back to the v-axis loop at adder 514. The output of adders 514 and 516 are operated upon by blocks 518 and 520 and currents iv and iu are generated in the stator windings of the machine.
The decoupling feature of floating synchronous frame controller 512 will now be described. The v-axis current command ivref is received at comparator 530, and compared to the actual v-axis current iv to generate a current error signal Δiv, all in floating synchronous reference frame. Δiv is operated upon by PI regulator 532 to generate voltage command signal Vv—m. The v-axis voltage command is decoupled at adder 534 which adds the output of multiplication block 536 and inductance block 538 to voltage command signal Vv to generate decoupled voltage command signal Vv—m 540. Multiplication block 536 multiplies current iu with estimated rotor angular speed signal ωest. The output of multiplication block 536 is received by inductance block 538 to generate the decoupling command term j(dθest/dt)Liu.
Similarly for the u-axis, which attempts to command zero current, multiplication block 542 multiplies the v-axis current iv with estimated rotor angular speed signal ωest. The output of multiplication block 542 is received by inductance block 544 which generates decoupling command term −j(dθest/dt)Liv.
FIG. 6 is a block diagram illustrating a controller model and machine model according to an embodiment of the present invention in Park vector format. Controller 610 controls and regulates a the machine current Park vector by generating a voltage Park vector Vsqd. Machine model 612 receives and utilizes the voltage command. Adder 614 receives the voltage Park and compares it to a back-emf (Esqd) Park vector of the machine. The resultant signal drives a current Park vector through the stator windings according to [1/(Ls+R)] block 618. The output of block 618 is received by vector product block 620. Block 620 also receives a signal generated by the back-emf vector multiplied by (−jKf) in block 622. The output of vector product block 620 is electrical torque produced by the machine T, and is subtracted from the load torque TL at adder 624. The output of adder 624 is received by [1/Js] block 626 which outputs angular velocity signal ω (J is inertia). Angular velocity signal ω is received by integral [1/s] block 628 and Ke block 630. The output of integral [1/s] block 628 is an angular position signal θ. The angular position signal θ is received by block 632, which multiplies the angular position signal by ejθ. The outputs of block 632 and block 630 are received by multiplication block 634, which generates back emf Park vector Esqd.
Floating synchronous Frame Controller 610 will now be described in greater detail. In floating synchronous reference frame current reference ivref is received by adder 636 and compared to measured v-axis current iv. Current error signal Δiv is output from adder 636 to PI Regulator 638. PI regulator 638 generates a non-decoupled v-axis voltage term, which is received by adder 640. Adder 640 also receives a decoupling term ωestLiv from multiplier block 652, and generates decoupled v-axis voltage term Vv—m. The decoupled v-axis and u-axis voltage terms are received by Complex block 642 to generate a floating synchronous reference frame voltage Park vector command. The floating reference frame voltage Park vector command is multiplied by ejθest at multiplication block 644 to generate the stator reference frame voltage command Vsqd imposed to the motor.
Similarly, adder 650 receives the u axis reference current, which is preferably zero, and a decoupling term ωestLiu from multiplier block 650. Decoupled u axis voltage term Vv—m is provided to Complex block 642 from adder 650.
Now the feedback and decoupling portion of floating synchronous frame controller 610 will be described. Stator reference frame current Park vector is constructed using at least two machine phase currents and received by multiplication block 646, where it is converted to the floating synchronous reference frame by multiplying the stator current vector by e−jθest where θest is the estimated angular position of the rotor. The output of multiplication block 646 is floating synchronous reference frame vector current ivu. Floating synchronous reference frame vector current ivu is received by Vector block 648, which generates v-axis and u-axis components of vector current ivu. v-axis current iv is received by decoupling term multiplication block 650, and also by adder 636. U-axis current iu is received by decoupling term multiplication block 652, and also by adder 654. U-axis current signal iu is compared to zero at adder 654, and the output of adder 654 is received by PI regulator 656. The output of PI regulator 656 is added to an initial angular velocity ω0 at adder 658 to generate an estimated angular velocity signal ωest. Estimated angular velocity signal ωest is amplified by L at block 660 to produce term Lωest (or L[dθest/dt]) which is input to multiplication blocks 650 and 652 to generate the decoupling terms. Velocity estimate ωest is also received by integration [1/s] block 662 to generate position estimate θest. θest is received by block 664 to generate ejθest, which is input to multiplication block 644 to convert from the floating synchronous reference frame to the stationary reference frame. θest is also received by block 666 to generate term e−jθest, used to convert from the stator frame to the floating synchronous reference frame.
Depending upon the initial position of the rotor, there may be zero-torque positions at zero speed. This means that there would be no finite angle between the flux Park vector and the applied current Park vector. The starting of the motor in this case can be difficult, and even more so due to the additional static friction of the bearings. There is also a potential situation in that based on the initial position of the rotor, the rotor may rotate backwards due to the negative torque applied by the initial current command. If this situation is not corrected by the control system the rotation cannot recover a positive direction.
The following method according to an embodiment of the invention provides the ability to correct an initial application of torque in a negative direction. Because embodiments of the present invention preferably do not require position sensors, the initial position of the rotor is not known. Therefore, there is a need for a scheme to achieve a positive rotation regardless of the initial rotor position. This means that rotor can rotate slightly in negative direction first, but the system recovers from the negative rotation to a positive rotation.
A low frequency (for example 10 rad/s) is injected to the summing junction via ω0 (FIG. 5 and FIG. 6) to achieve initial rotation. Both torque and rotation recover positive direction even if initial torque and rotation is in negative direction by setting the lower limit of the PI regulator to “zero”. The output of the PI regulator prevents the speed estimation from becoming a negative value which always guarantees positive rotation even after a short reverse rotation.
This low frequency injection can be taken out after a certain positive rotational speed is achieved or, alternatively, it can be left permanently because the dynamics of the PI regulator compensates for this error.
While the invention herein disclosed has been described by means of specific embodiments and applications thereof, numerous modifications and variations can be made thereto by those skilled in the art without departing from the scope of the invention as set forth in the claims.

## Claims

1. A synchronous motor controller comprising:
a direct current decoupler adapted to generate a decoupled direct signal based on a quadrature signal and an estimated rotor speed; and
a quadrature current decoupler adapted to generate a decoupled quadrature signal based on a direct signal and said estimated rotor speed.

2. A synchronous motor controller as in claim 1, wherein said decoupled direct signal is further based on a winding inductance.

3. A synchronous motor controller as in claim 1, wherein said decoupled quadrature signal is further based on a winding inductance.

4. A method of controlling a synchronous motor comprising the steps of:
measuring at least two phase currents;
determining a stationary reference frame current Park vector based on said phase currents;
transforming the stationary reference frame current Park vector to a floating reference frame current Park vector;
estimating an angular velocity of the stationary reference frame current Park vector using the floating reference frame current Park vector;
estimating an angle of the stationary reference frame current Park vector; and
generating a decoupled voltage command based on the floating reference frame current Park vector and said estimated angular velocity.

5. The method of claim 4, wherein said decoupled voltage command is further based on an inductance of at least one stator winding in said motor.

6. A method of starting a synchronous motor comprising the steps of:
delivering an initial voltage command to said motor;
measuring at least two phase currents in said motor;
constructing a stationary reference frame current Park vector based on said phase currents;
transforming said stationary reference frame current Park vector into a floating reference frame current Park vector;
comparing a u-axis component of said floating reference frame current Park vector to a predetermined value;
using a PI regulator to drive u-axis current towards said predetermined value;
if an output of said PI regulator is negative, forcing said output to be zero;
adding an initial low frequency to said output of said PI regulator;
estimating the velocity and angle of the stationary reference frame current Park vector based on the output of the PI regulator; and
modifying the voltage command based on the output of the PI regulator.

7. The method of starting a synchronous motor as in claim 6, wherein said predetermined value is zero.

8. The method of starting a synchronous motor as in claim 6, further comprising the step of delivering a final voltage command to said motor.

9. The method of claim 8, wherein said voltage command is further based on an inductance of at least one stator winding in said motor.

10. The method of claim 6, further comprising the step of removing the initial low frequency when the output of the PI regulator reaches a threshold.

11. The method of claim 10, wherein said threshold is greater than said initial low frequency.

12. A method of controlling a synchronous motor comprising the steps of:
calculating direct and quadrature voltage components for a floating reference frame based on at least two phase currents,
decoupling said direct and quadrature voltage components based on an estimated rotor speed; and
generating a voltage command based on said decoupled direct and quadrature components.