Abstract:
A control system for an electric motor comprises processing means arranged to perform a control process which includes monitoring electrical voltages applied to the motor and electrical currents in the motor, and determining from them the rotational position of the motor. The system is further arranged to monitor at least one parameter of the control process thereby to detect a stall condition of the motor.

Description:
CROSS-REFERENCE TO RELATED APPLICATIONS 
       [0001]    This application is a national stage of International Application No. PCT/GB2008/002257 filed Jun. 30, 2008, the disclosures of which are incorporated herein by reference, and which claimed priority to Great Britain Patent Application No. 0713239.2 filed Jul. 7, 2007, the disclosures of which are incorporated herein by reference. 
     
    
     BACKGROUND OF THE INVENTION 
       [0002]    The present invention relates to the control of electric motors, and in particular to the detection of stalling in electric motors. It has particular application in permanent magnet AC motors but can also be used in other types of motor. 
         [0003]    In order to control an electric motor, for example using closed loop velocity control or closed loop current control, it is necessary to know the rotational position of the motor. It is well known to use a dedicated position sensor to monitor the rotational position of an electric motor. An overview of a closed loop velocity control system utilising a position sensor is shown in  FIG. 1 . The rotational position of the three phase motor  10  is monitored by a position sensor  12 , the output of which is use to determine the motor speed W by a speed calculation algorithm  14 . The system receives a motor speed request W* which is compared with the measured speed W by a comparator  16 . The difference between the measured and desired speed, or the speed error, is input to a velocity controller  18  which calculates target currents i*, which are calculated in terms of D and Q current vectors, which are required to bring the motor speed towards the desired speed. These are input to a current comparator  20 , which also receives measured D and Q current values generated by a current converter  22  from sensed currents in the three phases of the motor as measured by a current sensor  24 . The current comparator  20  outputs the current error, i.e. the difference between the measured currents and the desired currents, and inputs that to a current controller  26 . The current controller  26  outputs demanded D and Q voltage values, which are input to a converter  28 . The converter  28  converts the D and Q voltage demands into phase voltage demands, i.e. the required voltage in each of the phases of the motor. The phase voltage demands are input to a PWM driver  30  which applies PWM voltages to the motor phases to produce the demanded currents. 
         [0004]    For a number of applications a diagnostic may be required that can detect if the motor is stalled, i.e. not rotating, or not rotating at sufficient speed, in response to the current passed through it. This may be because the load on the motor is too high, or because it has become completely locked due to some physical obstruction. The position sensor can be checked directly to determine whether the motor is rotating, for example if the position sensor includes hall sensors, they will not change state if the motor is stalled. 
         [0005]    With a sensorless position determining system the position sensor is removed and the position determined by a sensorless position algorithm from knowledge of the voltage applied to the motor and the current measured in the motor. As there is no position sensor there is no method to determine directly if the motor is rotating. Therefore in order to monitor for stalling an alternative method of detection is required. 
         [0006]    As mentioned above, the basic requirement of stall detection is that the diagnostic can reliably detect that the motor has locked or otherwise stalled. One example of a stalled motor condition is where the load applied to the motor is greater than the torque that the motor can generate, causing the motor speed to fall to around zero. It may move very slowly or sporadically. If the load is removed the motor will operate as normal. Another example of a stalled motor condition is where the rotor has been mechanically locked, e.g. due to debris in the mechanics. The motor will not rotate at all and is unlikely to unless the cause of the locked rotor can be removed. 
         [0007]    Known sensorless position algorithms rely on the back EMF generated in the motor to allow the rotational position to be determined. At zero and low speeds there is no or little back EMF generated. The position generated at low speeds is therefore generally incorrect or very noisy as the algorithm attempts to operate without a sufficient level of back EMF. The estimated velocity derived from the position signal is therefore also extremely noisy and overly high in magnitude. The noise levels present on the estimated velocity signal are too high to allow a threshold to be used reliably, even with heavy filtering of the signal. Therefore these known algorithms are not suitable themselves for detecting stall conditions. 
       BRIEF SUMMARY OF THE INVENTION 
       [0008]    The present invention provides a control system for an electric motor, the system comprising processing means arranged to perform a control process which includes monitoring electrical voltages applied to the motor and electrical currents in the motor, and determining from them the rotational position of the motor, wherein the system is further arranged to monitor at least one parameter of the control process thereby to detect a stall condition of the motor. 
         [0009]    The at least one parameter may be one used within a position determining process, for example an algorithm, which determines the motor position. For example the at least one parameter may include an estimated velocity, speed, or acceleration of the motor, or the voltages applied to, or currents measured in, the motor. Alternatively, or additionally, the at least one parameter may include a parameter used on the broader control of the motor, such as a demanded current. Where a plurality of parameters are monitored, a stall condition may be detected when only one of them is within a predetermined range, or it may be detected only when all of them are within respective ranges. 
         [0010]    The control system may be arranged to monitor repeatedly for detection of a stall condition or fault, and to determine that a stall has occurred only if a stall condition or fault occurs a predetermined number of times within a predetermined period of time. 
         [0011]    The control system may be arranged to perform a stall response action in response to detection of a stall condition. For example the stall response action may include providing a warning, and/or generating a predetermined control input. 
         [0012]    A benefit of the locked rotor diagnostic of some embodiments of the present invention is that no additional hardware is required to fulfil the safety requirement of detecting a locked or otherwise stalled motor. Without additional hardware a cost saving will be made and potentially the reliability of the system increased. 
         [0013]    Other advantages of this invention will become apparent to those skilled in the art from the following detailed description of the preferred embodiments, when read in light of the accompanying drawings. 
     
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         [0014]      FIG. 1  is a diagram of a closed loop velocity motor control system that includes a position sensor; 
           [0015]      FIG. 2  is a diagram of a motor control system according to an embodiment of the invention; 
           [0016]      FIG. 3  is a flow chart of a stall detection algorithm used in the system of  FIG. 2 ; 
           [0017]      FIG. 4  is a diagram showing inputs and outputs to a sensorless observer forming part of the system of  FIG. 2 ; 
           [0018]      FIG. 5  shows samples of motor speed and acceleration as determined by the sensorless position determining algorithm of the system of  FIG. 2 , under normal operation; 
           [0019]      FIGS. 6   a  and  6   b  show the samples of  FIG. 5  on a compressed scale and with associated values of measured current; 
           [0020]      FIGS. 7   a  and  7   b  show samples corresponding to those of  FIGS. 6   a  and  6   b , but with the motor operating under stall conditions; 
           [0021]      FIG. 8  is a flow diagram showing how the system of  FIG. 2  responds to detection of a stall condition; 
           [0022]      FIG. 9  shows a response of the system of  FIG. 2  to detection of a stall condition; 
           [0023]      FIG. 10  shows the generation of a corrective action speed demand in response to detection of a stall condition in the system of  FIG. 2 ; 
           [0024]      FIG. 11  shows the generation of a corrective current demand in response to detection of a stall condition in the system of  FIG. 2 ; and 
           [0025]      FIG. 12  shows generation of a ramped position signal in response to detection of a stall condition in the system of  FIG. 2 . 
       
    
    
     DETAILED DESCRIPTION OF THE INVENTION 
       [0026]    Referring to  FIG. 2  a motor control system according to an embodiment of the invention includes all of the components of the system of  FIG. 1 , which are indicated by the same reference numerals increased by 100, except the position sensor  12  which is replaced by a sensorless position determining algorithm  112 . The position determining algorithm receives the demanded voltages applied to the motor, in this case the demanded phase voltages from the PWM driver  128 , and the measured currents in the motor, in this case the phase currents as measured by the current sensor  124 . From these the position determining algorithm  112  determines the rotational position of the motor. The basic operation of such a sensorless algorithm is well known. 
         [0027]    As previously stated when the motor stalls, for example if the rotor is locked, the sensorless algorithm, because of the negligible back EMF, is unable to operate correctly to determine the rotor position. Therefore the operating parameters of the sensorless algorithm will be different from normal operation. For example the measured motor position will vary in an unusual way, the estimated motor speed and acceleration will also vary in unusual ways, and the voltages generated by the control system to control the motor will also vary in unusual ways. It is this change in operation that the stall detection algorithm is arranged to detect. The sensorless algorithm normally operates within a particular range of values of these and other parameters, but when a stall condition occurs, the ranges over which these parameters vary change, allowing detection by the stall detection algorithm. 
         [0028]    Referring to  FIG. 3 , in general terms the stall detection algorithm starts at step  200  when the sensorless algorithm  112  starts to operate. It monitors the operation of the sensorless algorithm  112  at step  202  as that algorithm operates during control of the motor  110 . At step  204  it determines whether the sensorless algorithm  112  is operating correctly. If it is, then a measure of the stalled condition of the motor  110  is reduced at step  206 . If the sensorless algorithm  112  is not operating correctly, then the measure of the stalled condition is increased at step  208 . In either case the process returns to step  202  to check the operation of the sensorless algorithm again in a repeating process. It will be appreciated that the measure of the stall condition will increase if stall is detected repeatedly at a high enough frequency and fall if the stall condition is not detected frequently enough. If the measure of the stalled condition reaches a predetermined level, then the algorithm determines that the motor  110  has stalled, and appropriate action is taken, as will be described in more detail below. 
         [0029]    To perform step  204  and determine whether the sensorless algorithm is operating correctly a number of measures of performance can be used, and some of these will now be described. 
         [0030]    Internally, the sensorless algorithm  112  in this embodiment uses an observer, which includes a model of the motor  110  and is arranged to predict operating parameters of the motor  110  and compare them with measured values. The differences between these, referred to as residuals, are used as part of the overall motor control process, but can also be used for stall detection. This is because when the motor  110  is operating normally, the residuals should be small. Under abnormal operation, where the observer is not operating correctly, the residuals will change and this can be used to detect the stalled motor condition. 
         [0031]    Externally the inputs and outputs to the observer are shown in  FIG. 4 .  FIG. 4  shows the velocity calculation internal to the observer where it is derived from the position signal. However the velocity calculation can be performed externally of the observer as shown in  FIG. 2 . When the observer is not operating correctly due to stalling of the motor  110 , the electrical position, and therefore also the estimated velocity, will be incorrect and noisy. These incorrect measurements will in turn affect the voltage applied to the motor  110 , for example because using the D/Q to three-phase transformation the voltage applied will be applied at the wrong position. These incorrect applied voltages will result in noisy current measurements, which are then used to drive the observer. With a noisy velocity signal the estimated acceleration, which is the derivative with respect to time of the velocity signal, is generally far greater than the estimated acceleration under normal operating conditions, and indeed generally greater than the actual acceleration of the motor under any conditions. The stall detection algorithm detects these changes in operational state, as the operational parameters of the motor, e.g. current, voltage and estimated acceleration will be outside their normal range of values. 
         [0032]    Although the velocity signal may be used to detect stalling it has limitations. A more reliable method of detection is to use the estimated acceleration value. The estimated acceleration value is derived from the velocity measurement, which is in turn derived from the position signal. The jerk of the position estimate, i.e. the derivative of the acceleration with respect to time, can also be used as a parameter which provides useful information. 
         [0033]      FIG. 5  shows samples of estimated motor speed and acceleration generated by the sensorless algorithm  112  during normal operation of the motor  110 . As can be seen from this figure there is an even distribution of motor speeds over the normal control range of about 1000 to 5500 rpm, and accelerations are generally under about 200 rpm/ms.  FIG. 6   a  shows the same samples on a more compressed vertical scale and  FIG. 6   b  shows the distribution of current for the same sample times. The distribution of current is complex but it will be noted that the maximum current is between 80A and 90A. 
         [0034]      FIGS. 7   a  and  7   b  show corresponding samples when the motor  110  is experiencing a locked rotor condition. As can be seen, the estimated acceleration, shown on the vertical axis, is much greater when the rotor is locked and the sensorless algorithm  112  is not operating correctly. The velocity is displayed on the horizontal axis and it can be seen that, when the rotor is locked, a velocity is still generated because of the false variation in the position estimation. However, the majority of motor speed values are below 1500 rpm, and a large number are below 1000 rpm, i.e. below the normal operating speed range of the motor. Also a large proportion of the samples have acceleration values of 200 rpm/ms or greater. Also the values for current are much higher than those in  FIG. 6   b , with a large number of samples having currents above 100A. 
         [0035]    This change in estimated acceleration magnitude can be used as an indication of stalling, and a threshold placed on the acceleration signal. If the absolute acceleration exceeds this specific threshold then the stall detection algorithm detects a stall condition. The estimated acceleration of the motor is defined as the change in motor velocity since the previous calculation divided by the time since the last velocity calculation, i.e.: 
       Motor Acceleration=(Motor Velocity−Previous Motor Velocity)/TIME SINCE LAST ACCEL CALC 
     Previous Motor Velocity=Motor Velocity 
       [0036]    The stall detection diagnostic can then be defined as TRUE if the estimated acceleration exceeds a predetermined value: 
         [0000]    IF (absolute(Motor Acceleration)&gt;MOTOR STALL MAX ACCELERATION) 
         [0037]    Stalled Rotor Diagnostic=TRUE ELSE 
         [0038]    Stalled Rotor Diagnostic=FALSE ENDIF 
         [0039]    In the simplest case this could be the complete diagnostic. However, in this embodiment, the TRUE and FALSE values are used in the algorithm of  FIG. 3  to raise or lower a measure of the stalled condition, which in practice is a measure of the probability that stall has actually occurred. Stall is only taken to be detected, and responded to, when the measure reaches a predetermined value. 
         [0040]    To improve the robustness of the diagnostic and to prevent false triggers, the area of operation within which the diagnostic operates, i.e. the range of parameters over which the algorithm will detect a stall condition, can be reduced by means of a number of enhancements. Although each enhancement is applied cumulatively in this embodiment, they can be applied separately as required. 
         [0041]    Although the speed estimate generated by the algorithm is very noisy during stall, it does average to a value close to zero. Therefore if the normal operating range is above a particular speed value the diagnostic can be limited to only operate below this speed limit.  FIG. 6  shows the limited velocity range when the motor is stalled compared to the broader speed range of  FIG. 5  arising during normal operation. The diagnostic can therefore be extended to detect a stall condition only if the acceleration is above a predetermined limit and the speed is below a predetermined limit. The diagnostic then becomes: 
         [0000]    IF ((absolute(Motor Acceleration)&gt;MOTOR STALL MAX ACCELERATION) AND 
         [0042]    (absolute (Motor Velocity&lt;MOTOR STALL MAX VELOCITY)) THEN 
         [0043]    Stalled Rotor Diagnostic=TRUE ELSE 
         [0044]    Stalled Rotor Diagnostic=FALSE ENDIF 
         [0045]    An additional enhancement is to use the current to further reduce the operating range. For a speed controller, where the speed drops below the speed demand such as in a stall condition, the controller will be applying maximum current to attempt to remove the velocity error.  FIG. 7   b  shows this clearly with a large number of samples having demanded currents above 100A. Limiting the operation of the diagnostic to detect a stall condition only in operating conditions where a high current is being demanded can reduce the operating range and increase robustness. The diagnostic then increases to: 
         [0000]    IF ((absolute (Motor Acceleration)&gt;MOTOR STALL MAX ACCELERATION) AND 
         [0046]    (absolute (Motor Velocity)&lt;MOTOR STALL MAX VELOCITY) AND 
         [0047]    (absolute (Q Axis Current)&gt;MOTOR STALL MIN CURRENT)) THEN 
         [0048]    Stalled Rotor Diagnostic=TRUE ELSE 
         [0049]    Stalled Rotor Diagnostic=FALSE ENDIF 
         [0050]      FIG. 7   a  shows the operating area, i.e. the ranges of operating parameters, of the stall detection algorithm in which the stalled rotor diagnostic with the enhancements described above are included. The rectangle in the top left hand corner defines the area of operation, with the limiting maximum speed being 1000 rpm and the limiting minimum acceleration being 200 rpm/ms. 
         [0051]    Referring back to  FIG. 3 , to make the diagnostic robust a threshold can be placed on the number of stall conditions that must be detected before the diagnostic detects a stall an acts upon it. For example, if the number of faults seen within a predetermined time period, e.g. one second, exceeds a threshold then a stall is deemed to be detected. If less than the minimum number of faults is detected within a given period, they are ignored. This allows occasional glitches to be ignored and not accumulated. 
         [0052]    Once a locked or otherwise stalled motor has been detected there are a number of possible actions that the system can take in response, some of which attempt to overcome the stall condition, and some of which do not. Referring to  FIG. 8 , the process for responding to detection of a stall condition starts at step  300  when the sensorless algorithm  112  starts, and progresses to step  302  where the algorithm operates normally. The process then proceeds to step  304  where it checks for stall of the motor  110  using the process of  FIG. 3 . Provided stall is not detected, the process cycles back to step  302 . However, if stall is detected, then the process proceeds to stop  306  where a stalled, or locked, rotor action is performed. Once the action has been performed, the process checks at step  308  whether the sensorless algorithm has returned to normal operation. If it has, then the process returns to step  302 , but if not the process finishes at step  310 , in which case, for example, the irrecoverable stall condition may be reported. 
         [0053]    The stalled, or locked, rotor action can include any one or more of the following steps. 
         [0054]    A warning may be raised for external action. For example, referring to  FIG. 9 , in an electrically powered hydraulic vehicle steering system, where the motor is used to drive a pump to provide hydraulic steering assistance, the sensorless stall detection algorithm may generate an output warning signal, which is arranged to produce a warning on a display unit in the vehicle in the event of stall of the motor  110 . 
         [0055]    The motor control system may respond to stall detection by entering a predefined routine in an attempt to remove the stall condition. For example for a pump application the motor may be caused to change direction, to run, and hence drive the pump, in the opposite direction to normal or the opposite direction to that in which it was previously running, in an attempt to remove any potential debris. Other controlled variations in the operation of the motor could also be implemented to try to remove the debris. Referring to  FIG. 10 , this type of corrective action can be implemented by means of a corrective action speed demand which is input to the control system in place of the normal speed demand. The corrective action speed demand may be of a fixed nature, or could depend on, for example, recent operating parameters of the motor. Alternatively, as shown in  FIG. 11 , the corrective action can be implemented by means of a corrective action current demand, which is input to the current controller in place of the current demand from the velocity. Again this can be a fixed response or dependent on some parameters. As a further option it can be applied as a direct voltage to the motor but this is not preferred as there is limited control over the current that can be generated. 
         [0056]    Referring to  FIG. 12 , a further stalled rotor action which can be implemented is to apply a fixed ramped position signal in place of the position signal output by the sensorless algorithm. Such a ramped position signal, corresponding to rotation of the rotor at a constant velocity, can be used to rotate the voltage vector at a fixed frequency in an attempt to remove the stalled motor condition. 
         [0057]    As a further possibility, on detection of stall, the motor control may be disabled, i.e. power to the motor may be cut off. Alternatively the system may do nothing and continue to control the motor. 
         [0058]    The actions may be applied indefinitely, for a fixed period of time or until the stalled rotor diagnostic shows that normal operation has been resumed. 
         [0059]    In accordance with the provisions of the patent statutes, the principle and mode of operation of this invention have been explained and illustrated in its preferred embodiment. However, it must be understood that this invention may be practiced otherwise than as specifically explained and illustrated without departing from its spirit or scope.