Patent Publication Number: US-7583049-B2

Title: Sensorless control systems and methods for permanent magnet rotating machines

Description:
CROSS-REFERENCE TO RELATED APPLICATIONS 
   This application is a divisional of U.S. application Ser. No. 11/293,744 filed Dec. 2, 2005, now U.S. Pat. No. 7,342,379 and claims the benefit of U.S. Provisional Applications No. 60/694,077 and No. 60/694,066 filed Jun. 24, 2005. The entire disclosures of the above applications are incorporated herein by reference. 

   FIELD 
   The present disclosure relates generally to control of rotating machines, including but not limited to sensorless control of permanent magnet rotating machines. 
   BACKGROUND 
   Permanent magnet machines, such as brushless permanent magnet motors, have been conventionally provided with position sensing devices. Such devices indicate, for use in controlling the motor, the rotor position with respect to the stator. However, rotor position sensors can be quite expensive, occupy space within a motor housing, and sometimes fail. To eliminate the need for position sensors, various “sensorless” motor constructions and methods have been developed with varying degrees of success. As recognized by the present inventors a need exists for improvements in sensorless control systems for rotating permanent magnet machines. 
   SUMMARY 
   According to one aspect of the present disclosure, a method is provided for estimating rotor position in a sensorless control system for a permanent magnet rotating machine. The machine includes a stator and a rotor situated to rotate relative to the stator. The stator has a plurality of energizable phase windings situated therein. The method includes sampling energization feedback from the machine to obtain a plurality of samples, averaging a pair of the plurality of samples to produce an average sample value, and estimating the rotor position using the average sample value. 
   According to another aspect of the present disclosure, a method is provided for controlling a permanent magnet rotating machine. The machine includes a stator and a rotor situated to rotate relative to the stator. The stator has a plurality of energizable phase windings situated therein. The method includes producing a first rotor speed estimate, producing a second rotor speed estimate, and calculating a trim-adjusted speed error using the first rotor speed estimate and the second rotor speed estimate. 
   Further aspects of the present disclosure will be in part apparent and in part pointed out below. It should be understood that various aspects of this disclosure may where suitable be implemented individually or in combination with one another. It should also be understood that the detailed description and drawings, while indicating certain exemplary embodiments, are intended for purposes of illustration only and should not be construed as limiting the scope of this disclosure. 

   
     BRIEF DESCRIPTION OF THE DRAWINGS 
       FIG. 1  is a block diagram of a rotating permanent magnet (PM) machine system according to one exemplary embodiment of this disclosure. 
       FIG. 2  is a block diagram of a PM machine system configured to operate primarily in a torque control mode according to another exemplary embodiment of this disclosure. 
       FIG. 3  is a block diagram of a PM machine system configured to operate primarily in a speed control mode according to another exemplary embodiment. 
       FIG. 4  is a graph illustrating how gain values can be varied with respect to rotor speed so as to maintain the poles of an observer employed by the estimators of  FIGS. 2 and 3  in desired locations. 
       FIGS. 5   a  and  5   b  illustrate how estimator gain values approach excessive values as the rotor speed approaches zero. 
       FIG. 6  is a block diagram illustrating how estimator gain values can be stored in and accessed from lookup tables. 
       FIG. 7  is a flow diagram of a method implemented by the gain schedulers of  FIGS. 2 and 3  according to another exemplary embodiment. 
       FIG. 8  is a flow diagram of a method of calculating a Qr-axis current based on a given dr-axis current injection to produce a desired rotor torque according to another exemplary embodiment. 
       FIG. 9  is a block diagram of a speed loop controller, a torque to IQdr Map block, and a Idr injection block according to another exemplary embodiment. 
       FIG. 10  is a block diagram of the torque and Idr to IQr map block of  FIG. 9  according to another exemplary embodiment. 
       FIG. 11  is a block diagram illustrating how saturation effects can be compensated for in the measurement path of an observer according to another exemplary embodiment. 
       FIG. 12(   a ) is graph illustrating how two energization feedback samples are collected at the beginning and end of an exemplary sampling interval according to the prior art. 
       FIG. 12(   b ) is a graph illustrating how two energization feedback samples can be collected and averaged to produce an estimated rotor position/angle according to another embodiment of this disclosure. 
       FIG. 13  is a block diagram of an exemplary speed trim mechanism for producing a speed trim value that can be provided to the estimator of  FIG. 3  according to another exemplary embodiment of this disclosure. 
   

   Like reference symbols indicate like elements or features throughout the drawings. 
   DETAILED DESCRIPTION OF EXEMPLARY EMBODIMENTS 
   Illustrative embodiments are described below. In the interest of clarity, not all features of an actual implementation are described in this specification. It will be appreciated that in the development of any actual embodiment, numerous implementation-specific decisions must be made to achieve specific goals, such as performance objectives and compliance with system-related, business-related and/or environmental constraints. Moreover, it will be appreciated that such development efforts may be complex and time-consuming, but would nevertheless be a routine undertaking for those of ordinary skill in the art having the benefit of this disclosure. 
     FIG. 1  illustrates a rotating permanent magnet machine system  100  according to one embodiment of the present disclosure. The machine system  100  includes a rotating permanent magnet electric machine  101 , such as a permanent magnet alternating current (PMAC) motor or a hybrid permanent magnet/switched reluctance (PM/SR) motor. For simplicity, the term “motor” is often used in this specification. However, one skilled in the art having the benefit of this disclosure will understand that it is applicable to other types of rotating electric machines, including generators. The PM machine  101  shown in  FIG. 1  includes a stationary component (stator)  102  and a rotating component (rotor)  104 . The machine  101  can have an inner rotor or an outer rotor construction. In this exemplary embodiment, the PM machine  101  is a three phase machine having an inner rotor construction with energizable phase windings  106 A,  106 B,  106 C wound about the stator  102 , which are energized through the application of electric power to the motor terminals. 
   A drive  108  is coupled to the terminals of the machine for providing electric power. The drive  108  receives control inputs from a controller  110  that receives energization feedback  112  from the machine (such as the currents and/or voltages at the motor terminals), or that assumes the actual voltage supplied to the motor is that which was demanded by the controller  110  (e.g., in the form of PWM duty cycle), from which the electrical angle and electrical speed can be determined (i.e., estimated sensorlessly). From these estimates, rotor speed can be inferred, as can rotor angle (to the extent the estimates are based upon electrical angle). The controller  110  of  FIG. 1  is shown as receiving an input demand  114  that may be, for example, a torque demand or a speed demand. 
   While the drive  108  of  FIG. 1  is illustrated in exemplary form as energizing three power terminals of a three phase machine  101 , it should be understood that more or fewer power terminals may be provided to accommodate machines with greater or less than three phases, or if various types of inverters (e.g., with neutral connections) are used. The drive may be of conventional design and configured to provide, for example, sine wave excitation to the motor terminals or square wave excitation using conventional pulse width modulation (PWM) excitation. 
     FIG. 2  illustrates additional details of the system of  FIG. 1  as configured to operate primarily in a torque control mode. For this reason, a torque demand input  214  is shown in  FIG. 2 . The torque demand input may be received directly by the system  200  as an external command or alternatively, may be derived from an external command. For example, the torque demand input may be derived from a speed demand input or from an air flow demand input (e.g., where the system of  FIG. 2  is embodied in an air handler/blower for a climate control system). Additional details regarding the embodiment of  FIG. 2  are provided in U.S. Application No. 11/293,743 filed on Dec. 2, 2005] titled Control Systems and Methods for Permanent Magnet Rotating Machines and filed [on even date herewith], the entire disclosure of which is incorporated herein by reference. 
     FIG. 3  illustrates additional details of the system of  FIG. 1  as configured to operate primarily in a speed control mode. Further information regarding operating in speed control modes is set forth in U.S. Pat. No. 6,756,753. 
   Described below are several additional improvements in controlling a PM machine according to various aspects of the present disclosure. It should be understood that each improvement can be advantageously implemented by itself or in combination with one or more other improvements disclosed herein. 
   As shown in  FIGS. 2 and 3 , the controller of  FIG. 1  can include an estimator  202 ,  302  for estimating the machine&#39;s electrical speed and angle. In some embodiments, the estimators  202 ,  302  employ a Luenberger Observer. However, other types of observers, including the Kalman Estimator, may be employed. 
   According to one aspect of the present disclosure, the gain of an estimator—such as the estimators  202 ,  302  shown in FIGS.  2  and  3 —can be varied (e.g., using the gain schedulers  204 ,  304  shown in  FIGS. 2 and 3 ) as a function of either a demanded rotor speed (including a filtered demanded speed) or an estimated rotor speed. In this manner, control system poles (i.e., poles of the observer) can be positioned at desired locations, including maintaining the poles at desired and not necessarily fixed locations to improve control system and machine stability. 
   In a torque control mode of operation, there is no demanded speed. Therefore, the estimator gains are preferably varied as a function of the estimated rotor speed so as to position the control system poles at desired locations. The estimated rotor speed used in the gain scheduling may be pre-processed in a suitable manner before being used in the gain scheduling scheme, typically being passed through a low pass filter. 
   In one embodiment of a speed control mode of operation, the pole locations of the estimators  202 ,  302  are increased as speed increases, with the slowest pole locations occurring as the system is switched from open loop operation to closed loop operation. 
   The gain values can be calculated for a range of speeds. This may be done on the fly by the gain scheduler  204 ,  304  of  FIG. 2  or  3  using a closed form set of equations. Alternatively, the gain values may be retrieved by the gain scheduler from one or more look-up tables or from a fitted curves characterizing the gain-speed profile for a specific motor. 
     FIG. 4  illustrates how gain values are varied with respect to the electrical speed in one exemplary embodiment so as to maintain observer poles at desired locations. 
     FIGS. 5   a  and  5   b  illustrate how gain values approach excessive values as the electrical speed approaches zero. For this reason, gain values are preferably not calculated as described within a range of values around zero electrical speed. At low or zero speeds, predetermined gain values which are sufficiently high, but not excessive, are preferably used, thereby improving control system stability. 
     FIG. 6  illustrates how gain values may be stored in and accessed from lookup tables. In the particular embodiment of  FIG. 6 , two columns of gain values are constructed through a multiplexer and then concatenated together to form a 4×2 gain matrix. 
     FIG. 7  is a flow diagram  700  illustrating one preferred implementation of the gain schedulers  204 ,  304  of  FIGS. 2 and 3  in which the speed used by the gain scheduler, referred to as the scheduled speed, is set to the drive speed (i.e., a demanded rotor speed) at lower rotor speeds and to the estimated electrical speed at higher rotor speeds. 
   In step  702 , the controller transforms state variables into a rotating frame of reference. In step  704 , the controller reads the estimated electrical speed and then reads the drive speed (i.e., the demanded speed) in step  706 . In step  708 , the controller compares the drive speed to a predetermined threshold speed. The predetermined speed threshold parameter can be selected, as needed, for any given PM machine. 
   If the drive speed is greater than the predetermined threshold speed, the scheduled speed used by the gain schedulers  204 ,  304  ( FIGS. 2 and 3 ) is set equal to the estimated electrical speed in step  710 . If the drive speed is less than the predetermined threshold speed, the scheduled speed used by the gain schedulers  204 ,  304  is set equal to the drive speed in step  712 . Subsequent to controller selection of the appropriate scheduled speed, the selected schedule speed is used by gain schedulers  204 ,  304  to look up or calculate the estimator gains in step  714  to maintain the system poles at desired positions. The estimator uses the scheduled gain factors and the updated observer states in step  716  to calculate an updated estimated electrical angle in step  718  and an updated estimated electrical speed in step  720 . The updated electrical speed estimate is filtered in step  722  and the filtered speed estimate is integrated in step  724  to produce an updated electrical angle demand. 
   According to another aspect of the present disclosure, a Qr-axis current can be selected that, in conjunction with a given value of dr-axis current, will produce a desired rotor torque. This aspect is particularly well suited to hybrid PM/SR motors, where the dr-axis current component contributes to the amount of torque produced, and especially hybrid PM/SR motors employing a dr-axis injection current. 
     FIG. 8  is a flow diagram  800  illustrating a method of calculating a Qr-axis current based on a given dr-axis current injection to produce a desired rotor torque according to one exemplary embodiment. In this embodiment, the dr-axis current injection is calculated off-line in accordance with a dr-axis current injection method described in co-pending U.S. Application Ser. No. 11/293,743 noted above. These values are typically stored in a lookup table but may also be described as a mathematical function in alternative embodiments. The motor speed and the value of the dc-link are used to calculate the value of the dr-axis injection current to be applied at any given moment in time. 
   In step  802 , the controller reads the demanded electrical speed  802  and then reads the estimated electrical speed in step  804 . In step  806 , the controller calculates a speed error. The controller uses the calculated speed error from step  806  to update the control action in step  808 . After updating the control action, the controller reads the intended dr-axis injection current in step  810 , calculates the Qr-axis current required to produce a demanded torque in step  812  and outputs the demanded Qr- and dr-axis currents in step  814  to a pair of current controllers, such as current controllers  206 ,  208  of  FIG. 2  or current controllers  306 ,  308  of  FIG. 3 . 
     FIG. 9  is a block diagram of a speed loop controller  902 , a torque to IQdr Map block  904 , and a Idr injection block  906  according to another exemplary embodiment. As shown in  FIG. 9 , the selected Qr-axis current and the dr-axis injection current are multiplexed and provided to a pair of current controllers, preferably as a multiplexed demand signal, IQdr demand  908 . In this embodiment of the Idr injection block  906 , the required Idr current is calculated from the speed error, assuming that Idr is for the moment nominally zero. 
     FIG. 10  is a block diagram of the Torque and Idr to IQr map block of  FIG. 9  according to another exemplary embodiment of this disclosure. In this embodiment, using the motor-specific constants noted, the Iqr_demand is calculated as:
   Iqr _demand=(54.5*Torque demand+0.4373* Idr )/(22.54− Idr ) 
   The decoupling of IQdr components in the production of torque can be applied within either a sensorless control system or a sensor-controlled system. If a given motor does not show any discernible hybrid behavior, the control technique can default to that classically used with a PM motor (i.e., Idr torque contribution is assumed to be zero) where the torque contribution comes from IQr. 
   According to another aspect of this disclosure, the flux estimate produced by a flux estimator  202 ,  302 , such as the estimators shown in  FIGS. 2 and 3 , can be compensated for saturation effects when the motor operates in the nonlinear saturation regions of stator magnetic flux. In this manner, errors in the flux estimate can be reduced, thus reducing errors in rotor position and/or rotor speed estimates produced from the flux estimate. As a result, the stability of the control system is improved under stator saturation operating conditions. This improvement is particularly important when the structure of the drive control is based upon manipulating variables generated using transformations having values dependent on the machine electrical angle. This aspect of the disclosure is particular well suited for hybrid PM machines, PM machines having embedded rotor magnets, and PM machines employing highly magnetized material. 
   The compensated flux estimate can be produced using nonlinear correction terms including, for example, dominant angle invariant terms associated with saturation, including cubic terms. Dominant angle-varying terms may also be used to produce the compensated flux estimate. Terms may also be present that include quadratic current expressions when they have a dominant effect on the flux estimate. In one embodiment of this disclosure directed to an air handler for a climate control system, the dominant terms are cubic. 
   In one exemplary embodiment, a flux estimate is first produced using energization feedback  112  from the machine. This flux estimate is then compensated for saturation effects, with the flux estimate becoming significant as the saturation effects themselves become significant 
     FIG. 11  is a block diagram illustrating how saturation effects are compensated for in the measurement path of an Observer (e.g., embodied in a flux estimator) according to one exemplary embodiment of this disclosure. When the controller detects saturation operation of the stator, the compensated flux estimate is used by the estimator to estimate rotor speed and rotor position. 
   According to another aspect of the present disclosure, a rotor position (i.e., angle) estimator—such as the estimators  202 ,  302  shown in FIGS.  2  and  3 —can average samples of the energization feedback  112  from the machine and estimate the rotor position using the average sample values. In this manner, the magnitude of the potential error within each sampling interval is reduced in half, resulting in more accurate control of the machine when control of the machine is dependent on accurately estimating the rotor position. Although the magnitude of the potential error within each sampling interval increases as the sampling rate decreases, it should be understood that this aspect of the present disclosure can be advantageously used with any sampling rate to improve the accuracy of the estimated rotor position. The estimate calculation effectively compensates for time delays resulting from use of the angle estimate in the drive. 
   Preferably, each successive pair of samples (including the second sample from the immediately preceding successive sample pair) is averaged to produce a series of average sample values which are used to estimate the rotor position. 
     FIG. 12(   a ) illustrates how two samples are collected at the beginning and end of an exemplary sampling interval according to the prior art, where each sample is treated as representing the actual rotor position/angle at the time such sample was obtained.  FIG. 12(   b ) illustrates how two samples are collected and averaged to produce an estimated rotor position/angle. Collectively,  FIGS. 12(   a ) and  12 ( b ) illustrate that while the range of error ( 2   e ) remains the same, the absolute value of the potential error about the average angle estimate in  FIG. 12(   b ) is reduced in half (+/−e) as compared to  FIG. 12(   a ), where the angle error estimate could be as large as  2   e.    
   According to another aspect of the present disclosure, a trim-adjusted speed error can be calculated and provided, e.g., to a speed controller—such as the speed controller shown in  FIG. 3 . An exemplary method includes producing a first rotor speed estimate, producing a second rotor speed estimate, and calculating a trim-adjusted speed error using the first rotor speed estimate and the second rotor speed estimate. Preferably, a trim value is produced by calculating a difference between the first rotor speed estimate and the second rotor speed estimate. Additionally, a raw speed error is preferably produced by calculating a difference between a demanded rotor speed and an estimated rotor speed (which may be the first rotor speed estimate or the second rotor speed estimate, and preferably the more reliable one of such estimates, which may depend, e.g., on the PWM rate of the motor drive). The trim-adjusted speed error is preferably calculated by adding the trim value to the raw speed error. 
   The first rotor speed estimate can be produced using modeled motor parameters, and the second rotor speed estimate can be produced using zero crossings detected from energization feedback from the machine. In this manner, the trim value and thus the trim-adjusted speed error can account for potential variations between modeled motor parameters and actual parameters of a production motor. 
     FIG. 13  is a block diagram of an exemplary trim mechanism for producing a trim value that can be provided, e.g., to an estimator such as the estimator shown in  FIG. 3 . In this embodiment, the trim error  1302  is filtered using a first order low pass filter  1304 . The filtered trim error signal  1306  is then added directly to the error signal driving the speed loop controller.  FIG. 9 , discussed above, illustrates an exemplary speed controller that includes an input  910  for such a trim value. The trim mechanism can be used to improve the performance of an estimator-based sensorless control system.