Abstract:
A motor control circuit for an electric motor of an electric power assisted steering system of the kind in which a measurement of torque carried by a part of the steering system is used to produce a torque demand signal indicative of a torque to be applied to the steering system by the motor, the control circuit comprising a switching circuit comprising a plurality of electrical switches, and a motor current controller that generates voltage demand signals to be passed to a drive circuit for the switches that in turn generates pulse width modulated switching signals for the switching circuit that cause the switches to selectively connect the phases to a power supply so as to cause current to flow through the phases of the motor. The current controller is responsive to an error signal that represents the difference between a current demand signal and an actual current signal, and a noise reduction circuit adapted to identify an operating condition of the system in which the motor is stationary or rotating at a very low speed, and in the event that the operating condition is identified the noise reduction circuit is adapted to reduce the response of the controller to variations in the error signal.

Description:
CROSS-REFERENCE TO RELATED APPLICATIONS 
       [0001]    This application is a national stage of International Application No. PCT/GB2014/050645 filed Mar. 5, 2014, the disclosures of which are incorporated herein by reference in entirety, and which claimed priority to Great Britain Patent Application No. 1304159.5 filed Mar. 7, 2013, the disclosures of which are incorporated herein by reference in entirety. 
     
    
     BACKGROUND OF THE INVENTION 
       [0002]    This invention relates to improvements in motor control circuits for use in electric power assisted steering systems, and in particular to pulse width modulation (PWM) control of multiple phase brushless motors in electric power assisted steering systems. 
         [0003]    Control systems for PWM controlled electric motors, especially DC motors, generally need to measure the current through the windings or phases of the motor and this can either be done by means of separate current sensors for each of the phases, or by means of a single current sensor that is placed in the circuit so as to measure the total instantaneous current flowing between a D.C. power supply and the bridge circuit and motor combination. In a single current sensor system, the multiple motor phase currents are derived by offsetting the PWM patterns of the switches which apply the required voltage to each phase, and sampling the current sensor at appropriate points. 
         [0004]    The measured currents are typically converted into the stationary d-q frame and then combined with a current demand signal, also in the d-q frame, indicative of the current that is demanded from the motor, to produce an error signal. The demand current in an electric power assisted steering system is generated as a function of the torque demanded from the motor. The torque demand signal is a principally a measure of the amount of torque the motor should apply to the steering to help the driver to turn the wheel. 
         [0005]    The error signal represents the difference between the current that is demanded and the actual measured current. The error signal is fed to a controller which produces a set of voltage demand signals, also typically in the d-q frame, representative of the voltage to be applied to the motor that will best drive the error signal towards zero. The d-q voltages are then converted into PWM signals for the motor phases depending on which PWM strategy is used. The controller therefore acts to vary the PWM phase voltages in order to try to constantly minimise the magnitude of the error signal thereby ensuring that the motor current is as close as possible to the demanded current. 
         [0006]    In a practical system the current controller will comprise a PI or PID or other type of feedback controller. The role of the current control is to modify the voltages applied to the motor with an aim of keeping the error signal value as small as possible. The controller forms a closed loop. Around the current controller the torque demand signal is produced by the torque controller, which forms another closed loop with a measurement or estimate of the torque in the steering as one input. 
         [0007]    Motor drive circuits using feedback control and PWM are well known in the art. For example, WO2006005927, discloses a typical system and the teaching of that document is incorporated herein by reference. 
       BRIEF SUMMARY OF THE INVENTION 
       [0008]    According to a first aspect the invention provides a motor control circuit for an electric motor of an electric power assisted steering system of the kind in which a measurement of torque carried by a part of the steering system is used to produce a torque demand signal indicative of a torque to be applied to the steering system by the motor, the drive circuit comprising:
       a switching circuit comprising a plurality of electrical switches,   a motor current controller that generates voltage demand signals to be passed to a drive circuit for the switches that in turn generates pulse width modulated switching signals for the switching circuit that cause the switches to selectively connect the phases to a power supply so as to cause current to flow through the phases of the motor,   in which the current controller is responsive to an error signal that represents the difference between a current demand signal and an actual current signal, and   a noise reduction circuit adapted to identify an operating condition of the system in which the motor is stationary or rotating at a very low speed, and in the event that the operating condition is identified the noise reduction circuit is adapted to reduce the response of the controller to variations in the error signal.       
 
         [0013]    By reducing the response of the controller to variations in the error signal, such as high frequency variations caused by quantisation errors in the output from a current sensor, the noise reduction circuit may make the controller insensitive to changes in the error signal or reduce the magnitude of any change in the output of the controller in response to a corresponding change in the error signal. In each case, the gain of the controller is effectively reduced when the operating condition in which the motor is stationary or rotating at very low speed. 
         [0014]    The applicant has appreciated that significant noise can be present at high frequencies in the actual current signal, typically output from a current sensor. This may be due to quantisation of the current signal where the sensor can only adopt a discrete number of output states, the value changing at a rate which depends on how often the sensor output is updated, or at the frequency of any noise in the sensor itself. If the actual current is somewhere between quantisation states it can oscillate rapidly between the states as the current signal is produced. This noise will be passed onto the error signal, and if left unchecked will cause the current controller to react because it cannot discriminate between noise and genuine changes in error that should be tracked. This noise can cause unwanted acoustic noise, especially when the motor is stationary—when it is rotating the quantization noise is disguised as the motor current will be sinusoidally varying. 
         [0015]    The noise reduction circuit may be adapted to reduce the response of the controller by disabling the current controller so that the output of the controller is not responsive to the error signal when the certain operating condition is met. When not responsive the current controller may maintain at an output the values that were provided before the noise reduction circuit disable the controller. The controller will no longer track changes in the error signal. 
         [0016]    Alternatively, the noise reduction circuit may include an attenuator and may be adapted to reduce the sensitivity of the controller to changes in the error signal by attenuating the error signal that is fed to the controller when the certain condition is met. When the error signal is attenuated the magnitude of the noise is reduced, so the reaction of the current controller to the noise is likewise reduced. The current controller will then respond to the attenuated error signal rather than the original, unmodified, signal. 
         [0017]    In a further alternative, the noise reduction circuit may include a filter and may be adapted to reduce the sensitivity of the controller to changes in the error signal by passing the error signal through a filter. This may comprise a low pass filter. The current controller will then respond to the filtered error signal rather than the original, unfiltered, error signal. 
         [0018]    The noise reduction circuit may include both an attenuator and a filter, the error signal being passed through the filter and attenuated. 
         [0019]    Where the noise reduction circuit comprises an attenuator it may be adapted to attenuate the error signal with a fixed gain or a variable gain. 
         [0020]    Where a variable gain is applied the gain may be function of magnitude of error signal, the magnitude of the attenuation being higher for a first error magnitude and lower for a second, higher, error magnitude. The attenuation may be varied continuously over a range of error values around zero error and up to a predefined maximum error above which no attenuation is provided. 
         [0021]    The noise reduction circuit may attenuate the error signal by multiplying the error signal by a gain term, or dividing it by an attenuation term, to provide a modified error signal that the current controller reacts to. 
         [0022]    The noise reduction circuit may determine that the certain operating condition is met in the event that the motor velocity is below a threshold motor velocity. 
         [0023]    The noise reduction circuit may, instead of using an absolute threshold, apply hysteresis to a signal indicative of motor velocity and compare the signal with hysteresis to the threshold to determine if the condition is met. The use of hysteresis may advantageously stop the noise reduction being switches on and off too rapidly. 
         [0024]    The noise reduction circuit may also determine that the condition is met if a speed of a vehicle to which the steering is fitted is below a threshold level. It may determine that the condition is met by using a measure of vehicle speed rather than motor velocity, or by using a combination of the two measures. 
         [0025]    The current controller may receive a current error signal that is expressed in the d-q axis frame, and the sensitivity of the current controller to the error signal may be in respect of the q-axis component only, or the d-axis component, or both. 
         [0026]    The apparatus may be adapted to determine that the motor is rotating slowly or is stationary by measuring or estimating the speed of the motor. It may therefore include means for receiving a signal indicative of the speed of the motor. 
         [0027]    According to a second aspect the invention provides a method of controlling an electric motor using a current controller of the kind that generates voltage demand signals to be passed to a drive circuit for the motor that in turn generates pulse width modulated switching signals for a switching circuit that cause the switches to selectively connect the phases of a motor to a power supply so as to cause current to flow through the phases of the motor, in which the current controller is responsive to an error signal that represents the difference between a current demand signal and an actual current signal, the method comprising the steps of identifying an operating condition of the system in which the motor is stationary or rotating at a very low speed, and in the event that the operating condition is identified reducing the response of the controller to variations in the error signal. 
         [0028]    The method may comprise reducing the response of the controller to variations in the error signal by at least one of the following:
       Disabling the current controller;   Attenuating the error signal and causing the current controller to respond to the attenuated error signal; and   Filtering the error signal.       
 
         [0032]    The method may comprise attenuating the error signal by a fixed or a variable amount. 
         [0033]    The method may comprise attenuating the error signal by a variable amount as a function of the magnitude of the error signal. The error signal may be attenuated by a higher amount as the magnitude of the error signal becomes closer to zero. 
         [0034]    The variable amount may be varied between a discrete number of levels, for example two or three levels, or may be continuously varied. It may, for example, vary linearly as a function of error magnitude. 
         [0035]    According to a third aspect the invention provides an electric power assisted steering system comprising a steering mechanism that connects a steering wheel to a road wheel, a torque sensor that produces a torque signal indicative of the torque carried by a part of the steering mechanism, an electric motor that is connected to the steering mechanism so that torque produced by the motor is transferred to the steering mechanism, a means for generating a torque demand signal indicative of a torque to be applied to the steering system by the motor that is a function of the torque measured by the torque sensor, and a motor control circuit that is responsive to a signal dependent on the torque demand signal, the motor control circuit being arranged in accordance with the first aspect of the invention. 
         [0036]    The motor may comprise a three phase brushless DC motor. 
         [0037]    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 
         [0038]      FIG. 1  is a block diagram showing a part of an embodiment of a motor control circuit of the present invention; 
           [0039]      FIG. 2  is an illustration of the effect of noise in the current feedback signal in an open loop control mode; 
           [0040]      FIG. 3  is an illustration of the effect of the same noise in a closed loop control mode of the current controller; 
           [0041]      FIG. 4  is an illustration showing the current measurement values obtained when the current in a three phase motor is varying sinusoidally; 
           [0042]      FIG. 5  shows a representative variation in current error signal value over time alongside a plot showing the noise reduction circuit switching noise reduction on and off over the same timescale as the magnitude of the error signal value crosses a threshold, hysteresis being applied; 
           [0043]      FIG. 6  is block diagram of a suitable structure of the noise reduction circuit  40  when switched on and attenuating the error signal; 
           [0044]      FIG. 7  is a corresponding block diagram showing the same noise reduction circuit  40  when switched off and applying no attenuation; 
           [0045]      FIG. 8  is a plot of absolute current error against gain for the noise reduction circuit with use of hysteresis; 
           [0046]      FIG. 9  is a plot of absolute current error signal value against gain for the noise reduction circuit; 
           [0047]      FIG. 10  shows a motor electrical circuit and switching circuit for a three phase DC brushless permanent magnet motor; and 
           [0048]      FIG. 11  is an overview of a complete electric power assisted steering system with a motor and motor control circuit in accordance with the present invention. 
       
    
    
     DETAILED DESCRIPTION OF THE INVENTION 
       [0049]    Referring to  FIG. 10  a three phase brushless motor  1  comprises three motor windings  2 ,  4 ,  6 , generally designated as phases A, B and C. The phases are connected in a star network but could be connected in another arrangement, such as a delta topology. One end of each coil is connected to a respective terminal. The other ends of the coils are connected together to form the star centre  7 . The free ends are connected to a switching circuit arranged as an H-bridge. 
         [0050]    The switching circuit comprises a three phase bridge  8 , one for each phase of the motor. Each arm  10 ,  12 ,  14  of the bridge comprises a pair of switches in the form of a top transistor  16  and a bottom transistor  18  connected in series between a supply rail  20  and ground line  22 . The motor windings  2 ,  4 ,  6  are each tapped off from between a respective complementary pair of transistors  16 ,  18 . 
         [0051]    The transistors  16 ,  18  are turned on and off in a controlled manner by a motor controller  21 , which is shown in detail in  FIG. 3  of the drawings, to provide pulse width modulation of the potential applied to each of the phase windings, thereby to control the potential difference applied across each of the windings  2 ,  4 ,  6  and hence also the current flowing through the windings. This in turn controls the strength and orientation of the magnetic field produced by the windings, which sets the torque produced by the motor. 
         [0052]    A current measuring device in the form of a resistor  24  is provided in the ground line  22  between the motor  1  and ground so that the controller  21  can measure the total current flowing through all of the windings  2 ,  4 ,  6 . In order to measure the current in each of the windings the total current has to be sampled at precise instances within the PWM period where the voltage applied to each terminal of the winding (and hence the conduction state of a particular phase) is known. If preferred a separate current sensor could be provided for each phase. 
         [0053]    The controller in this example uses a Space Vector Modulation (SVM) algorithm although any modulation technique can equally be used within the scope of the present invention and this should not be construed as limiting. 
         [0054]    Each winding  2 ,  4 ,  6  in a three phase system can only be connected to either the supply rail  20  or the ground line  22  and there are therefore eight possible states of the switches of the control circuit. Using 1 to represent one of the phases being at positive voltage and 0 to represent a phase connected to ground, state 1 can be represented as [100] indicating phase A at 1, phase B at 0 and phase C at 0, State 2 is represented as [110], state 3 as [010], state 4 as [011], state 5 as [001], state 6 as [101], state 0 as [000] and state 7 as [111]. Each of states 1 to 6 is a conducting state in which current flows through all of the windings  2 ,  4 ,  6 , flowing in one direction through one of them and in the other direction through the other two. State 0 is a zero volt state in which all of the windings are connected to ground and state 7 is a zero volt state in which all the windings are connected to the supply rail. 
         [0055]    During normal operation when the switching circuit is being controlled by the controller  21  to produce pulse width modulation, each of the phases  2 , 4 , 6  will normally be turned on and off once in each PWM period. The relative lengths of time that are taken up in each state will determine the magnitude and direction of the magnetic field produced in each winding, and hence the magnitude and direction of the total torque applied to the rotor. 
         [0056]    The motor control circuit of  FIG. 1  and  FIG. 11  can be used in many applications, and in this embodiment forms part of an electric power steering system. The steering system includes a torque sensor  26  that measures the torque in a steering column, and feeds this to a torque controller. The torque controller calculates a torque demand signal that is indicative of the torque that is to be produced by the motor. This is fed through into the current controller, which converts the torque demand into a current demand according to known characteristics of the motor. The controller then causes the motor to operate and provide the demanded torque. This torque is applied by the motor to the steering system, making it easier for a driver to turn the steering wheel. The system therefore has two closed loops—the torque controller loop and the current controller loop. 
         [0057]    The motor control circuit takes the demanded torque and a measure of the motor rotor position w and generates a current demand signal in the fixed d-q frame. This signal is then fed into a subtractor  32  of the current controller along with a measure of the actual current flowing in the motor, expressed in the d-q frame and derived from the output of the current sensor  24 . The output of the subtractor is an error signal indicative of the difference between the demanded d-q current and the actual measured d-q current. 
         [0058]    The error signal is then passed through a noise reduction circuit  30  and fed to the input of a proportional-integral (PI) controller stage  34  that converts the current error signal which is in the d-q frame into a voltage signal in the d-q frame, and this is then converted into three phase voltages UVW by a dq-UVW converter  36 . This is then converted into the required PWM voltage signals for each phase using the chosen SVM modulation technique by a PWM converter  38 . The controller constantly attempts to drive the error signal to zero, which ensures that the current in the motor phases matches the demanded current. 
         [0059]    The current controller within the EPS system requires a high bandwidth to achieve the desired steering performance. With a high bandwidth controller any noise that falls within the bandwidth of the controller will be reacted to—the controller does not know the difference between the true signal and the measurement noise. 
         [0060]    There are multiple sources of noise and for the current controller there are two main sources:
       1. Demand signal   2. Feedback signal       
 
         [0063]    The reaction of the controller to this noise is to attempt to cancel it out (in the feedback) or track it (in the demand) with the result that the control action applied to the motor contains the noise component. This injected noise can cause unwanted NVH effects, either through haptic or acoustic effects. 
         [0064]      FIG. 2  shows an open loop system where the controller is disabled and a constant voltage is applied to the motor. The current has no noise and is measured by the ECU; the measurement signal has noise added to it. Closing the loop and enabling the controller ( FIG. 3 ); the controller sees the measurement noise which appears an error between the demand and the measured signal. The controller, attempting to remove the noise, applies voltage demands to the motor containing this noise with result that noise is present in the real current. 
         [0065]    Typically this noise is only heard when the motor is stationary or rotating slowly, where the phase currents are almost constant, and will manifest as a rumble noise. When the motor is rotating the phase currents are sinusoidal and therefore the noise disappears as the currents are varying. 
         [0066]      FIG. 5  shows typical sinusoidal currents over one electrical revolution. As the motor rotates the currents change; when the motor is stationary the currents are static, an example high lighted at 1rad. Rotating the noise and quantisation levels of the current measurements are hidden as the currents sweep through the various levels. Stationary the small changes in ADC quantisation can be detected, small changes in current translate into small changes in torque which the driver is sensitive to. 
         [0067]    The applicant has appreciated that one of the main contributors to the noise in the feedback current is the resolution of the current measurement. Typically for an electric power assisted steering (EPS) application higher power motors are required which require large current levels. As the current range increases the resolution of the measurement is degraded, e.g. with a 10 bit ADC the measurement is quantised to 1024 levels. For an EPS system which can measure current up to ±150 A this means that the resolution is about 0.3 A. When the motor is stationary and the phase currents are constant this quantisation is an issue and the controller jumps between the levels, e.g. for a 10 A demand the measured current will be 9.7 A, 10 A and 10.3 A. It is these steps changes that the control reacts to. 
         [0068]    In this embodiment, a noise reduction circuit is provided that is only activated under specific circumstances when it is known that rumble can be present. At all other times, for full dynamic steering performance the noise reduction circuit is disabled. The algorithm only operates when particular conditions are fulfilled, signified by rumble conditions met, although this is not directly relevant to the patent application. The conditions are:
       Vehicle speed is below a threshold specified by rumble vehicle speed enable.   Motor speed is below a threshold specified by rumble motor speed enable.       
 
         [0071]    Hysteresis is optionally applied to both of these signals. An example implementation could be: 
         [0000]    
       
         
               
             
           
               
                   
               
             
             
               
                 IF (ABS(motor mechanical velocity) &gt;= (RUMBLE MOTOR SPEED 
               
               
                 ENABLE + RUMBLE MOTOR SPEED HYSTERESIS)) OR 
               
               
                 (vehicle speed &gt;= (RUMBLE MOTOR SPEED ENABLE + RUMBLEX 
               
               
                 MOTOR SPEED HYSTERESIS)) 
               
               
                    rumble conditions met = FALSE 
               
               
                 ELSE 
               
               
                    IF (ABS(motor mechanical velocity) &lt; RUMBLE MOTOR SPEED 
               
               
                 ENABLE) AND 
               
               
                               (vehicle speed &lt; RUMBLE VEHICLE 
               
               
                               SPEED ENABLE) 
               
               
                       rumble conditions met = TRUE 
               
               
                    ENDIF 
               
               
                 ENDIF 
               
               
                   
               
             
          
         
       
     
         [0072]    The noise reduction circuit operates on the controller error (e DQ in  FIG. 1 ), the signal that drives the current controller rather than the separate demand and actual feedback current signals. 
         [0000]        d  axis current error= d  axis current demand− d  axis current
 
         [0000]        q  axis current error= q  axis current demand− q  axis current
 
         [0073]    The rumble issue only occurs when the motor is stationary or rotating very slowly, which for the current controller is almost a steady state condition. This is used to activate the rumble compensation, i.e. when the error is almost zero then compensation can be activated, otherwise the control must react with full bandwidth to remove the error. Hysteresis can be applied to the enable threshold to minimise cycling in and of the condition as shown in  FIG. 5 . 
         [0074]    The compensation can be activated as: 
         [0000]    
       
         
               
             
           
               
                   
               
             
             
               
                 IF ( (ABS(q axis current error) &gt;= rumble motor control current disable) 
               
               
                 OR 
               
               
                              (rumble conditions met == FALSE) ) 
               
               
                      rumble motor control current active = FALSE 
               
               
                 ELSE 
               
               
                    IF ( (abs_q_axis_error &lt; RUMBLE MOTOR CONTROL 
               
               
                 CURRENT ENABLE) AND 
               
               
                              (rumble conditions met == TRUE) AND 
               
               
                              (rumble motor control current active == 
               
               
                              FALSE) ) 
               
               
                       rumble motor control current active = TRUE 
               
               
                    ENDIF 
               
               
                 ENDIF 
               
               
                   
               
             
          
         
       
     
         [0075]    When rumble motor control current active is TRUE there are a number of possible options:
       1. Disable the current controller   2. Attenuate the error signal by a fixed gain   3. Attenuate the error signal by a variable gain   4. Filter the error signal       
 
         [0080]    A combination of the above may be suitable, depending on the application, e.g. the filtered error signal may be used to drive the variable gain approach, e.g. as shown in  6  and  FIG. 7  (active in  FIG. 6  and inactive in  FIG. 7 ). 
         [0081]    The benefit of the provision of the novel noise reduction circuit within the current controller is that the compensation only becomes active when the current controller has reached the target demanded therefore the full bandwidth is present for dynamic situations. As shown a bypass switch  40  is opened and closed to activate and deactivate the noise reduction circuit. 
         [0082]    One option is to disable the current controller when rumble current control active is TRUE. By disabling the current controller the last voltage output by the controller is held, maintaining the set point until the absolute error exceeds rumble motor control current disable. Although this is the ultimate solution (the controller is frozen so no signal is propagated) in practice this can have an adverse effect on the steer-feel although for some applications where steer-feel is not an issue this may be an option. 
         [0083]    Another option is attenuate the error signal, i.e. when rumble motor control current active is TRUE reduce the error terms (D and Q) by RUMBLE PI ERROR GAIN which is a value between 0 and 1.0. A RUMBLE PI ERROR GAIN of 0 means that the error term is zero, effectively freezing the current controller. A RUMBLE PI ERROR GAIN of 1.0 has no effect and the PI controller operates as normal. Selection of a value in between reduces the error term and reduces the response of the controller with a subsequent reduction in rumble as shown in  FIG. 8 . 
         [0000]        d  axis current error= d  axis current error×RUMBLE PI ERROR GAIN
 
         [0000]        q  axis current error= q  axis current error×RUMBLE PI ERROR GAIN
 
         [0084]    Note that a RUMBLE PI ERROR GAIN of zero is the same as disabling the current controller. 
         [0085]    Another option within the scope of the present invention is to vary the level of attenuation depending on the level of error. As the error term approaches zero it is attenuated more strongly as illustrated in  FIG. 9  which is a plot of error magnitude against error gain. 
         [0086]    Another option is to filter the error signal, initialising the filter at activation with the last unfiltered measurement to provide a smoother transition into the filtered case. Unlike with the original strategy the filter is only active when the target current has been met therefore the destabilising effect of the filter lag is not an issue. 
         [0087]    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 embodiments. 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.