The present invention relates to motor control systems for permanent magnet motors.
Electric motors are becoming increasingly common in a diverse range of applications. It is known, for example, to provide an electric power steering (EPS) system of the kind comprising an input shaft, an output shaft, a torque sensor adapted to measure the torque in the input shaft, and an electric motor adapted to apply an assistance torque to the output shaft dependent upon the torque measured by the torque sensor. This is one suitable application for the present invention. However the invention is equally useful for electric motors in many other applications.
A typical permanent magnet electric motor comprises a rotor that is magnetic, for example including a permanent magnet, and a stator including a plurality of phase windings on a yoke. Applying suitable voltages across each of the phase windings causes current to flow through the windings, generating a current flux vector in the air gap between the stator and the rotor. This flux interacts with the magnetic field of the rotor to cause the rotor to rotate towards a point of equilibrium in which the current vector is aligned with the axis of the rotor magnetic field. To cause the rotor to turn continuously, the current passed through the windings must be varied in a sequence. This causes the current vector to rotate. This can be achieved by modulating the voltages across each winding under the control of a motor drive circuit.
If the temperature of the permanent magnet rises too high in the presence of a magnetic field from the windings then the magnet can become demagnetised. This can be avoided by limiting the motor current at high temperatures to limit the rotor temperature. However the magnet or rotor temperature cannot be easily measured directly and so must therefore be estimated. Various methods of rotor temperature estimation are known, but there remains a need for improved rotor temperature estimation.
The present invention provides a drive system for a motor, the motor comprising a rotor and a stator. The rotor may comprise a permanent magnet.
The drive system comprises a drive stage, control means arranged to control operation of the drive stage to control the motor, for example by controlling the drive current to the motor. The system may further comprise sensing means arranged to generate a temperature output indicative of the temperature of the drive stage, or another stationary component of the motor system. The control means is further arranged to derive a rotor temperature indicator indicative of the temperature of the rotor. This may be derived from one or more inputs, which may comprise a current indicator, indicative of, or dependent upon, at least a component of the drive current, and the temperature output.
The at least one component of the drive current may be one, or both of a d-axis current and a q-axis current.
The stationary component may comprise a drive stage or a part thereof. For example it may comprise a circuit board or a heat sink, or an individual component such as a transistor or capacitor forming part of the drive stage. Alternatively it may comprise another component through which the drive current or a component of the drive current flows, such as a lead connecting the drive stage to the motor. It may comprise a component which is directly or indirectly heated by the current flowing in the motor, or indirectly heated by the rotor, such as a different part of the motor or motor housing. In one arrangement, it is preferred that the fixed component is not part of the motor, as that would require the motor to be fitted with a sensor. Also, the rotor may not heat up uniformly if the motor is stationary as each phase will carry different currents. The sensing means may comprise a temperature sensor, and may be mounted on, or in thermal contact with, the drive stage or a part thereof. Alternatively it may itself comprise an estimator arranged to estimate the drive stage temperature.
The drive stage may comprise a circuit board with a plurality of switches thereon arranged to control current to the windings of the motor. It may comprise a heat sink. The temperature sensor may be mounted on, or in thermal contact with, any of those components.
The control means may be arranged to determine a series of instantaneous values of the rotor temperature indicator and to apply a low pass filter to the series of values to obtain a filtered value of the rotor temperature indicator. The filtered value may be updated each time the instantaneous value is determined, or less frequently.
The drive current indicator may be indicative of an average of said at least one component of the drive current over a measuring period, or an average of the square of said at least one component, or of its magnitude. Where two or more components of the current are measured, it may be an average of the sum of the squares of those components. The drive current indicator may therefore be indicative of the electric power of the drive current, or at least a component thereof. It may therefore be a drive current power indicator. For example it may vary linearly with that electric power of the drive current.
The control means may be arranged to measure a series of instantaneous values of the magnitude, or the square of the magnitude, of said at least one component of the drive current over a measuring period, and to derive the drive current indicator from an averaging of the series of instantaneous values.
The control means may be arranged to derive the rotor temperature indicator from an averaged value of the temperature output. The control means may be arranged to measure a series of instantaneous values of said temperature output over a measuring period, and to derive an averaged value of the temperature output from the series of instantaneous values.
The control means may be arranged to derive the rotor temperature indicator as being the sum of two components, one of which is indicative of the temperature of the drive stage and the other of which is indicative of the electrical power of the motor current.
A rotor temperature estimation method can use a variety of inputs, which are generally measured or stored parameters. It has been found that the drive stage temperature can be used as one input to the estimator with motor current squared as another. The drive stage temperature provides a measure of the ambient temperature and rises and falls with the motor current much faster than the rotor. The square of the motor current provides a measure of the heat input to the motor (and hence rotor). The inputs vary much faster than the rotor temperature and therefore, to provide a good estimate, these inputs, or the value of the estimated rotor temperature, are preferably heavily filtered.
Other temperature inputs could be used but the drive-stage and rotor both appear to be heated by the motor current. Thus the drive-stage temperature is a good basis for the estimator whereas other temperatures appear to receive heat from different sources.
The system may further comprise any one or more features of the preferred embodiments which will now be described by way of example only with reference to the accompanying drawings in which:
a is a side view of the system of
b is a schematic section through the drive stage of the system of
Referring to
The controller 16 is arranged to control the drive stage switches 15 in the inverter 14 so as to provide pulse width modulation of the current to the motor windings 8. The controller 16 therefore has six switch control outputs 26 producing switch control signals to the control gates of the six switches. The controller 16 receives input signals from the current sensors 24 from which it can determine the three motor phase currents, and from a temperature sensor 30 arranged to measure the temperature of the drive stage 15. In practice it will receive other sensor inputs to enable it to determine motor speed, and the rotational position of the rotor 4 of the motor 2. The controller 16 also receives a torque demand input and is arranged to control the inverter 14 to drive the motor to produce the demanded torque.
Referring to
Referring to
In an alternative embodiment the temperature sensor can be mounted directly on the heat sink 34 rather than on the substrate 32.
During operation the controller 16 is arranged to generate a temperature indicator which is arranged to provide an indication of an estimated temperature of the rotor 4. The controller 16 is arranged to monitor the value of that temperature indicator and compare it with a limit value which is stored in memory in the controller 16. If the temperature indicator exceeds the limit value, then the controller is arranged to modify its operation to limit or reduce the rotor temperature. In this embodiment the controller is arranged to limit the motor current that it produces to a level that will be expected to allow the rotor temperature to fall, or at least prevent further increase in rotor temperature.
Referring to
It will be appreciated that the general method described above can be implemented in many different ways by the controller 16, and one example will now be described with reference to
drive stage temperature is a measured value of drive stage temperature rotor T heat input is an estimate of heat input to the rotor due to the motor current
rotor T drive stage T is an estimate of a component of rotor temperature that varies with the measured drive stage temperature
rotor T input temperature is an instantaneous estimate of rotor temperature
rotor T estimate is a low-pass-filtered value of rotor T input temperature which is taken as the estimated rotor temperature
rotor T execution count is a simple counter that is incremented on each instantaneous measurement of drive stage temperature
and fixed parameters which are stored in memory as follows:
ROTOR T HEATING FACTOR—a factor determining the relative effect of the drive current power on the estimated rotor temperature;
ROTOR T TIME CONSTANT—the time constant of the low pass filter used to filter the series of instantaneous temperature estimates;
ROTOR T INITIAL MARGIN—an assumed initial difference between the rotor temperature and the measured drive stage temperature;
ROTOR T COUNT MAX—the number of instantaneous measurements of drive stage temperature and drive current power used to generate an averaged measurement.
The first step in the process is an initialization step 410 which is performed when the motor is started. This comprises measuring the drive stage temperature to obtain an initial value of the drive stage temperature drive stage temperature and setting the value of rotor T estimate to an initial value
rotor T estimate=drive stage temperature+ROTOR T INITIAL MARGIN
Then at step 412 the values of rotor T execution count, and rotor T drive stage T and rotor T heat input are all set to zero. This forms part of the initialization when the motor is started but is also performed as the first step in a measurement cycle. The controller is then arranged to measure the instantaneous value of the drive stage temperature several times over a measurement cycle period, and derive an average value of the drive stage temperature for that period, and also to measure the instantaneous value of the motor current several times over the same measurement cycle period and derive an average value of the square of the motor current over the cycle period.
The measurement cycle comprises a count increase step 414 at which the counter rotor T execution count is increased by 1, and then a step 416 at which the variables rotor T drive stage T and rotor T heat input are each incremented by an amount dependent on the instantaneous measured values of motor current and drive stage temperature.
At step 418 the count rotor T execution count is compared to the maximum value ROTOR T COUNT MAX, which in this embodiment is 50, but again can be set to any appropriate number. If it has not reached the maximum value the controller returns to step 414, increments the counter rotor T execution count by 1 and repeats step 416. This is done once every 20 ms, though obviously other time periods can be used as appropriate. If at step 418 the count has reached the maximum value, then at step 420 an instantaneous value of estimated rotor temperature rotor T input temperature is derived from the averaged values of rotor T drive stage T and rotor T heat input. This is done using the equation:
Rotor T input temperature=ROTOR T HEATING FACTOR*Rotor T heat input+Rotor T drive-stage T
It will be appreciated that this will be calculated once every second in this embodiment, and these values are stored to form a series of values. This series of values is then filtered with a low pass filter to derive the final rotor temperature estimate rotor T estimate.
Once a new value of the estimated rotor temperature rotor T estimate is obtained, the controller returns to step 412 to start another measurement cycle.
In this embodiment, the fixed parameters can have a range of values from a minimum value up to a maximum, but are set to nominal values as follows:
It will be appreciated that various modifications can be made to the embodiments and variations described above. For example, the temperature sensor may be arranged to measure the temperature of a specific component of the drive stage such as a transistor or capacitor, or it may be arranged to measure the temperature of another component through which the drive current (or a component of the drive current) flows, such as one or more of the leads 23 connecting the drive stage to the motor. Also, the low pass filtering and averaging of the indicators may be enhanced to adapt the algorithm to other motor and controller embodiments.
Number | Date | Country | Kind |
---|---|---|---|
1206925.8 | Apr 2012 | GB | national |
Filing Document | Filing Date | Country | Kind |
---|---|---|---|
PCT/GB2013/051003 | 4/19/2013 | WO | 00 |