BACKGROUND

In systems which are controlled by a motor, it is desirable to accurately sense the current that is being driven through the motor. Typically, the current along with several other parameters is monitored and input to a feedback control loop which refines the operation of the motor. For example, in a DC motor, the current, shaft position, speed and direction of the rotating motor may all be measured, and those measurements input to a motor control circuit, which forms control inputs to the driver to adjust the operation of the motor.

A current sense resistor can be used to measure the driving current of a motor. A shunt resistor is placed in the motor drive line such that it receives the driving current prior to the motor. The voltage drop across the resistor is measured, for example by a differential amplifier, thereby yielding the driving current. Current sense resistors are resistant to thermal changes in their surroundings and to external electromagnetic fields.

However, power is dissipated in a shunt resistor, thus the current sense resistor is an intrusive current sensing mechanism: the current output from the current sense resistor to the motor is lower than that input to it. The power dissipated in the shunt resistor increases quadratically as the resistance increases. At the high currents typically used to drive motors, the waste heat generated by a current sense resistor can exceed the temperature threshold to which the motor and/or surrounding circuitry can safely be exposed. Additionally, the motor and surrounding circuitry is typically subject to a power limit, which is exceeded by the current sense resistor at high currents.

To satisfy the power limit and reduce the intrusiveness of the sensor, the resistor can be reduced in size. However, the output signal of the current sense resistor increases linearly with resistance, so by reducing the resistance, the sensitivity of the current sense resistor is reduced. Very small currents cause a very small voltage drop, which may be undetectable over the background noise level. Thus, current sense resistors having low resistance have output signals with low signal to noise ratios. Smaller resistors are more inaccurate, which leads to an increased error in the output signal. Additionally, motors are typically driven with high frequency current. At low resistance, the impedance of a resistor is dominated by inductance rather than resistance. Thus, the driving current cannot be derived as straightforwardly as described above.

An alternative sensor to a current sense resistor is a Hall sensor. A Hall sensor is a magnetic current sensor which is activated by an external magnetic field acting on it. It is thus able to provide a non-intrusive measurement of the current being driven through a motor by detecting the magnetic field generated by the current flow. The Hall sensor produces an output voltage which varies as a function of the magnetic field density around it. Hence, by measuring the output voltage of a Hall sensor located in close proximity to the path of the driver output, the driving current of the motor is determined. None of the measured driving current is dissipated by the Hall sensor. Hall sensors thus do not suffer from the waste heat and power problems of current sense resistors.

Large Hall sensors are available which are insensitive to changes in their thermal surroundings and external electromagnetic fields. However, these are not suitable for small, lightweight applications. In such applications, it is desirable for the footprint of the current sensor to be as small as possible, and the weight of the current sensor to be minimised. Small Hall sensors are available which can be packaged into a small IC. However, these Hall sensors suffer from the problem that their operation is very sensitive to their thermal surroundings and to external electromagnetic fields, for example those from magnets in the motor. As a motor is driven, the circuit boards on which the motor and the Hall sensor are located increase in temperature to levels outside of the narrow temperature window at which the Hall sensor provides an accurate current measurement.

There is thus a need to provide a non-intrusive current sensor for accurately measuring the driving current of a motor which is suitable for small, lightweight applications.

SUMMARY OF THE INVENTION

According to an aspect of the invention, there is provided a circuit for sensing the driving current of a motor, the circuit comprising: a driver configured to generate a driving current for each phase of a multiple-phase motor, the instantaneous sum of all the driving currents being zero; a current sensor for each phase of the multiple-phase motor, each current sensor configured to measure the driving current of that phase; and a controller configured to, for each phase of the multiple-phase motor, generate an estimate of the driving current of that phase to be the measured driving current of that phase minus 1/n of the total of the measured driving currents for all phases, n being the number of phases of the multiple-phase motor.

The driver may be configured to generate a succeeding driving current of each phase of the multiple-phase motor in response to a control input, the control input comprising the estimate of the driving current of each phase.

The controller may be configured to generate an estimate of the error of each measured driving current to be equal to 1/n of the total of the measured driving currents for all phases.

The multiple-phase motor may have three phases.

Each current sensor may comprise a plurality of current sensor elements, each current sensor element configured to measure the driving current of the phase thereby generating a driving current reading, the measured driving current of that phase being a combination of the driving current readings of the current sensor elements.

The plurality of current sensor elements of each current sensor may be arranged with respect to each other such that each current sensor element has the same magnitude of driving current systematic error due to magnetic fields external to the driving current to be measured.

The plurality of current sensor elements of each current sensor may comprise two current sensor elements arranged in an opposing orientation.

The controller may be configured to calculate the measured driving current of that phase to be half the sum of the driving current readings of the two current sensor elements.

The plurality of current sensor elements of each current sensor may comprise two current elements arranged in the same orientation and wired in series in opposition.

The controller may be configured to calculate the measured driving current of the phase to be half the difference of the driving current readings of the two current sensor elements.

The plurality of current sensor elements of each current sensor may comprise two current elements arranged in an opposing orientation and wired in parallel.

The controller may be configured to calculate the measured driving current of the phase to be the sum of the driving current readings of the two current sensor elements.

Each current sensor element may be a Hall sensor configured to output a Hall voltage, the driving current reading being a function of the Hall voltage.

The circuit may further comprise a temperature sensor configured to measure the circuit temperature, and output a measured circuit temperature to the controller.

The controller may be configured to: receive a first calibration temperature measurement from the temperature sensor and a first calibration Hall voltage from a current sensor element of a phase of the multiple-phase motor, both measurements taken concurrently during circuit disconnection; receive a second calibration temperature measurement from the temperature sensor and a second calibration Hall voltage from the said current sensor element, both measurements taken concurrently during circuit connection; and derive a thermal calibration profile of the Hall voltage of the said current sensor element from the received calibration measurements.

The controller may be configured to calibrate the measured driving current of a phase prior to generating an estimate of the driving current of that phase.

The thermal calibration profile may be linear, and the controller may be configured to calibrate the measured driving current of a phase by deducting a linear offset from each driving current reading of the current sensor elements of that phase in accordance with the thermal calibration profiles of those current sensor elements.

The controller may be configured to receive the first calibration temperature measurement and the first calibration Hall voltage which were taken during circuit disconnection at start-up.

The controller may be configured to receive the first calibration temperature measurement and the first calibration Hall voltage which were taken during a period of motor disconnection during use.

The controller may be configured to receive the second calibration temperature measurement and the second calibration Hall voltage which were taken during circuit connection when the driving current of that phase was momentarily driven to zero by the driver following a period of higher driving current of that phase.

The circuit may further comprise a magnetic shield which encompasses all the current sensors.

The magnetic shield may comprise two shield layers arranged on either side of the current sensors.

The magnetic shield may comprise a further shield element located between the motor and the current sensors.

The magnetic shield may be composed of Mu-metal.

