Measurement of motor rotor position or speed

09989384 ยท 2018-06-05

Assignee

Inventors

Cpc classification

International classification

Abstract

A measurement circuit includes first and second inputs for receiving first and second input signals which vary cyclically with the rotational position of a rotor of an electric motor; a phase detector circuit; and an observer circuit that estimates the frequency and phase of the first and second input signals. The phase detector circuit determines a phase difference between first and second estimated signals with a phase difference dependent on the phase difference indicated by the estimates, the first and second estimated signals varying in quadrature with each other and the first and second input signals by adding a multiplicative combination of the first input signal with the first estimated signal to a multiplicative combination of the second input signal with the second estimated signal to result in a sum signal dependent upon the phase difference, The observer circuit varies the estimates dependent upon the sum signal.

Claims

1. A measurement circuit for measuring at least one of the rotational position and rotational speed of the rotor of an electric motor, the circuit comprising: first and second inputs for receiving first and second actual rotor position input signals which vary cyclically with the rotational position of the rotor, the first and second actual rotor position input signals at the first and second inputs varying in quadrature with each other; a phase detector circuit; and an observer circuit; in which the observer circuit is arranged to generate estimates indicative of the frequency and phase of the first and second actual rotor position input signals; in which the phase detector circuit is arranged to determine the phase difference between first and second estimated signals, varying cyclically and at the frequency indicated by the estimates with a phase dependent on the phase indicated by the estimates, the first and second estimated signals varying in quadrature with each other, on the one hand and the first and second actual rotor position input signals on the other by adding (1) a multiplicative combination of the first actual rotor position input signal with the first estimated signal to (2) a multiplicative combination of the second actual rotor position input signal with the second estimated signal to result in a sum signal dependent upon the phase difference; and in which the observer circuit is arranged to vary the estimates dependent upon the sum signal, further comprising a velocity estimation circuit, which is arranged to take the first and second actual rotor position input signals and to output a velocity signal indicative of the rotational speed of the motor rotor by determining the rate of change of one of the first and second actual rotor position input signals and dividing the rate of change by the other of the first and second actual rotor position input signals.

2. The measurement circuit of claim 1, in which the velocity estimation circuit is arranged such that the first or second actual rotor position input signal used to divide the rate of change is the larger of the first and second input signal.

3. The measurement circuit of claim 1, in which the observer circuit is arranged so as to generate the estimates based upon the phase difference and the output of the velocity estimation circuit.

4. The measurement circuit of claim 1, comprising a normalisation circuit, arranged so as to normalise the first and second actual rotor position input signals.

5. The measurement circuit of claim 4, in which the normalisation circuit is arranged to divide each of the first and second actual rotor position input signals by the square root of the sum of the squares of the first and second actual rotor position input signals.

6. A motor control circuit for controlling an electric motor having a rotor, the motor control circuit comprising: a measurement circuit, the measurement circuit comprising: first and second inputs for receiving first and second actual rotor position input signals which vary cyclically with the rotational position of the rotor, the first and second actual rotor position input signals at the first and second inputs varying in quadrature with each other; a phase detector circuit; and an observer circuit; in which the observer circuit is arranged to generate estimates indicative of the frequency and phase of the first and second actual rotor position input signals; in which the phase detector circuit is arranged to determine the phase difference between first and second estimated signals, varying cyclically and at the frequency indicated by the estimates with a phase difference dependent on the phase difference indicated by the estimates, the first and second estimated signals varying in quadrature with each other, on the one hand and the first and second actual rotor position input signals on the other by adding (1) a multiplicative combination of the first actual rotor position input signal with the first estimated signal to (2) a multiplicative combination of the second actual rotor position input signal with the second estimated signal to result in a sum signal dependent upon the phase difference; and in which the observer circuit is arranged to vary the estimates dependent upon the sum signal, the measurement circuit further comprising a velocity estimation circuit, which is arranged to take the first and second actual rotor position input signals and to output a velocity signal indicative of the rotational speed of the motor rotor by determining the rate of change of one of the first and second actual rotor position input signals and dividing the rate of change by the other of the first and second actual rotor position input signals; the motor control circuit further comprising: a sensor arranged to output first and second actual rotor position input signals, which vary cyclically with the rotational position of the rotor, to the first and second inputs of the measurement circuit; and at least one output indicative of an electric current to be applied to the electric motor; in which the motor control circuit is arranged so as to vary the output dependent upon the estimates output by the measurement circuit.

7. A combination of an electric motor having a rotor and a motor control circuit comprising: a measurement circuit, the measurement circuit comprising: first and second inputs for receiving first and second actual rotor position input signals which vary cyclically with the rotational position of the rotor, the first and second actual rotor position input signals at the first and second inputs varying in quadrature with each other; a phase detector circuit; and an observer circuit; in which the observer circuit is arranged to generate estimates indicative of the frequency and phase of the first and second actual rotor position input signals; in which the phase detector circuit is arranged to determine the phase difference between first and second estimated signals, varying cyclically and at the frequency indicated by the estimates with a phase difference dependent on the phase difference indicated by the estimates, the first and second estimated signals varying in quadrature with each other, on the one hand and the first and second actual rotor position input signals on the other by adding (1) a multiplicative combination of the first actual rotor position input signal with the first estimated signal to (2) a multiplicative combination of the second actual rotor position input signal with the second estimated signal to result in a sum signal dependent upon the phase difference; and in which the observer circuit is arranged to vary the estimates dependent upon the sum signal, the measurement circuit further comprising a velocity estimation circuit, which is arranged to take the first and second actual rotor position input signals and to output a velocity signal indicative of the rotational speed of the motor rotor by determining the rate of change of one of the first and second actual rotor position input signals and dividing the rate of change by the other of the first and second actual rotor position input signals; the motor control circuit further comprising; a sensor arranged to output first and second actual rotor position input signals, which vary cyclically with the rotational position of the rotor, to the first and second inputs of the measurement circuit; and at least one output indicative of an electric current to be applied to the electric motor; in which the motor control circuit is arranged so as to vary the output dependent upon the estimates output by the measurement circuit, in which the motor control circuit is arranged so as to control the motor dependent on the output of the motor control circuit, with the sensor of the motor control circuit being arranged so as to sense the rotational position of the rotor.

8. An electric power assisted steering system comprising: a steering wheel, a steering mechanism which operatively couples the steering wheel to road wheels of a vehicle, a electric motor being arranged so as to apply in use a force to part of the steering mechanism, a torque sensor which, in use, provides a torque signal indicative of the torque carried by part of the steering mechanism and a motor control comprising: a measurement circuit, the measurement circuit comprising: first and second inputs for receiving first and second actual rotor position input signals which vary cyclically with the rotational position of the rotor, the first and second actual rotor position input signals at the first and second inputs varying in quadrature with each other; a phase detector circuit; and an observer circuit; in which the observer circuit is arranged to generate estimates indicative of the frequency and phase of the first and second actual rotor position input signals; in which the phase detector circuit is arranged to determine the phase difference between first and second estimated signals, varying cyclically and at the frequency indicated by the estimates with a phase difference dependent on the phase difference indicated by the estimates, the first and second estimated signals varying in quadrature with each other, on the one hand and the first and second actual rotor position input signals on the other by adding (1) a multiplicative combination of the first actual rotor position input signal with the first estimated signal to (2) a multiplicative combination of the second actual rotor position input signal with the second estimated signal to result in a sum signal dependent upon the phase difference; and in which the observer circuit is arranged to vary the estimates dependent upon the sum signal, the measurement circuit further comprising a velocity estimation circuit, which is arranged to take the first and second actual rotor position input signals and to output a velocity signal indicative of the rotational speed of the motor rotor by determining the rate of change of one of the first and second actual rotor position input signals and dividing the rate of change by the other of the first and second actual rotor position input signals; the motor control circuit further comprising: a sensor arranged to output first and second actual rotor position input signals, which vary cyclically with the rotational position of the rotor, to the first and second inputs of the measurement circuit; and at least one output indicative of an electric current to be applied to the electric motor; in which the motor control circuit is arranged so as to vary the output dependent upon the estimates output by the measurement circuit.

9. A method of measuring at least one of the rotational position and rotational speed of the rotor of an electric motor, the method comprising: receiving first and second actual rotor position input signals which vary cyclically with the rotational position of the rotor, the first and second actual rotor position input signals varying in quadrature with each other; generating first and second estimated signals, the first and second estimated signals varying cyclically and having the same frequency but varying in quadrature with each other; determining the phase difference between the first and second estimated signals on the one hand and the first and second actual rotor position input signals on the other by adding (1) a multiplicative combination of the first actual rotor position input signal with the first estimated signal to (2) a multiplicative combination of the second actual rotor position input signal with the second estimated signal to result in a sum signal dependent upon the phase difference; varying the frequency of the first and second estimated signals dependent upon the sum signal; and estimating the velocity of the motor rotor by determining the rate of change of one of the first and second actual rotor position input signals and dividing the rate of change by the other of the first and second actual rotor position input signals.

10. The method of claim 9, comprising determining which of the first or second actual rotor position input signal is the larger and using the larger of the first and second actual rotor position input signals to divide the rate of change.

11. The method of claim 9, comprising estimating at least one of the rotational position and the rotational speed of the motor rotor based upon the phase difference and the output of the velocity estimation circuit.

12. The method of claim 9, comprising normalization of the first and second actual rotor position input signals.

13. The method of claim 12, in which the normalization comprises dividing each of the first and second actual rotor position input signals by the square root of the sum of the squares of the first and second actual rotor position input signals.

14. The method of claim 9, in which the first and second actual rotor position input signals are indicative of the inductance of the motor, and as such depend upon or are the derivative of the current flowing at least one phase winding of the motor.

15. The method of claim 9, comprising generating the first and second actual rotor position input signals by differentiating the current flowing through at least one phase of the motor.

Description

BRIEF DESCRIPTION OF THE DRAWINGS

(1) FIG. 1 shows an electric power assisted steering (EPAS) system having a measurement circuit according to an embodiment of the invention;

(2) FIG. 2 shows a cross section through the motor of the EPAS system of FIG. 1;

(3) FIG. 3 shows schematically the function of the measurement circuit of the EPAS system of FIG. 1;

(4) FIG. 4a shows a graph of estimated and actual rotor position in a test procedure carried out according to the embodiment of FIG. 1;

(5) FIG. 4b shows a graph of the difference between the estimated and actual rotor position of FIG. 4a; and

(6) FIG. 4c shows the current applied to the motor in the test procedure of FIG. 4a.

DETAILED DESCRIPTION OF THE INVENTION

(7) An electric power assisted steering assembly is illustrated in FIG. 1 of the accompanying drawings. The apparatus comprises an electric motor 1 which acts upon a drive shaft 2 through a gearbox 3 of the rack and pinion type. The drive shaft 2 terminates with a worm gear 4 that co-operates with a wheel (not shown) provided on a portion of a steering column 5 or a shaft operatively connected to the steering column.

(8) The steering column 5 carries a torque sensor 6 that is adapted to measure the torque carried by the steering column 5. This torque is produced by the driver turning the steering wheel, either to turn a corner or to counter pull of the vehicle to one side. An output signal T from this sensor 6 is fed to a signal processing means in the form of a signal processor 7, which takes the torque input signals T and outputs commands to a drive circuit 9 for the motor 1 over line 8a. The drive circuit 9 in turn, returns a signal indicative of the current flowing in the windings of the motor 1 over line 8b.

(9) The motor 1 is shown in more detail in FIG. 2 of the accompanying drawings. The motor 1 is a three phase brushless motor, which comprises a rotor 12 having six embedded magnets 14 which, in this instance, are arranged so as to provide six poles which alternate between north and south around the rotor 12.

(10) A stator 16 comprises a nine slot copper wound element having three groups of three teeth 18A, 18B, 18C each group of teeth having a common winding (example shown as 13) forming a respective phase. There are therefore three electrical cycles in each full rotation of the rotor 12, as the rotor 12 and its magnets 14 have threefold circular symmetry, meaning that each 120 degree rotation of the rotor 12 leaves it in an equivalent position.

(11) In order to determine the rotational position of the rotor 12 within an electrical revolution (that is, to one of three rotational positions of the rotor 12, spaced apart by 120 degrees), the signal processor 7 is provided a measurement circuit 19 with the functionality shown in FIG. 3 of the accompanying drawings.

(12) The measurement circuit 19 is provided with a di/dt sensor 20, which takes the currents flowing through the motor (typically through a ground return in common to each of the phases) and differentiates them, in order to arrive at two cyclically varying indications of the rate of change of current. These signals are indicative of the inductance of the phase windings 13 at that particular instant.

(13) The two signals, which will be indicated as Asin(.sub.1t+.sub.1) and Acos(.sub.1t+.sub.1), vary in quadrature with each otherthat is, they are a quarter cycle out of phase. A suitable di/dt sensor can be found in the PCT publication WO2004/023639, the contents of which are hereby incorporated by reference. In that document, Park's transformation is used to generate these two signals, therein referred to as L.sub.and L.sub.(from equation 7, page 15). In these two signals, t is time, A is the amplitude of the two signals (which will be the same), .sub.1 is the angular speed of the rotor (in radians per second) and .sub.1 is a phase offset (again in radians) from an arbitrary datum.

(14) The di/dt sensor 20 outputs the two signals Asin(.sub.1t+.sub.1) and Acos(.sub.1t+.sub.1) to a normalisation circuit 22. In order to prevent the transient response of the circuit depending on the amplitude of the currents, the two signals are normalised to an amplitude of unity. This is done by dividing each of the signals by the square root of the sum of the squares of the two signals; this divisor will always be A as follows:
{square root over (A.sup.2sin.sup.2(.sub.1t+.sub.1)+A.sup.2cos.sup.2(.sub.1t+.sub.1))}={square root over (A.sup.2(sin.sup.2(.sub.1t+.sub.1)+cos.sup.2(.sub.1t+.sub.1)))}={square root over (A.sup.2)}=A

(15) which makes use of the trigonometric identity that sin.sup.2 x+cos.sup.2 x=1, sin.sup.2 x and similar terms meaning (sin x).sup.2 and so on.

(16) Thus, the output of the normalisation circuit 22 will be the original two signals, normalised to unity, and thus can be represented by sin(.sub.1t+.sub.1) and cos(.sub.1t+.sub.1).

(17) The output of the normalisation circuit 22 is passed to a phase detector circuit 24. This determines the phase difference between estimates of the phase difference and frequency calculated by an observer circuit 28 discussed below and the normalised signals from the normalisation circuit 22. The estimates are provided to the phase detector circuit as a motor position estimate =.sub.2t+.sub.2, from which the phase detector circuit determines first and second estimated signals as sin(.sub.2t+.sub.2) and cos(.sub.2t+.sub.2).

(18) The phase detector circuit then calculates the difference between the two products generated by multiplying the sine term of one signal with the cosine term of the other signal, thusly:
y(t)=sin(.sub.1t+.sub.1)cos(.sub.2t+.sub.2)cos(.sub.1t+.sub.1)sin(.sub.2t+.sub.2)

(19) Applying the trigonometric identity

(20) sin cos = sin ( + ) + sin ( - ) 2
to both terms of the subtraction:

(21) y ( t ) = 1 2 ( sin ( 1 t + 1 + 2 t + 2 ) + sin ( 1 t + 1 - 2 t - 2 ) - sin ( 2 t + 2 + 1 t + 1 ) - sin ( 2 t + 2 - 1 t - 1 ) ) y ( t ) = sin ( 1 t + 1 - 2 t - 2 ) = sin ( ( 1 - 2 ) t + 1 - 2 )

(22) Thus, the two terms that vary at the sum of the frequencies .sub.1+.sub.2 cancel each other out, leaving only a term that varies at the difference of the frequencies .sub.1.sub.2 and that depends upon the phase difference .sub.1.sub.2 between the estimated and measured signals. As such, when the estimated signals correctly estimate .sub.2 and .sub.2, the signal y(t) will be zero; if the frequency or the phase deviate slightly, the signal y(t) can be used to indicate the error as explained below.

(23) Unlike prior art phase lock loop (PLL) techniques, there is no higher frequency term that requires filtering. Given that it is desirable to be able to use the present circuit with a motor with wildly varying speed and so frequency, prior art PLL techniques would have required that a variable frequency filter be used to eliminate the higher frequency terms, which is no longer needed with the present invention.

(24) The output of the normalisation circuit is also passed to a velocity detector 26. This determines the speed .sub.1 of the motor by differentiating one of the normalised signals and dividing the differentiated signal by the other. Taking, for example, the sine component as the component to be differentiated:

(25) ( d ( sin ( 1 t + ) ) dt ) cos ( 1 t + ) = 1 cos ( 1 t + ) cos ( 1 t + ) = 1

(26) However, to avoid a possible loss of precision or outright error when calculating the division, the velocity detection circuit will differentiate the smaller in magnitude of the two signals, and use the larger magnitude signal as the divisor.

(27) The observer circuit 28 is provided which takes the output of the phase detector and the difference (as calculated by a difference circuit 30) between the measured speed .sub.1 and the speed .sub.2 predicted by the observer circuit 28. The observer circuit then takes the inputs and uses them to determine new estimates of the speed .sub.2 and rotational position =.sub.2t+.sub.2 of the rotor 12 (within an electrical revolution); these are then used to generate the two estimated signals sin(.sub.2t+.sub.2) and cos(.sub.2t+.sub.2).

(28) It is to be noted that the phase difference circuit outputs a value that is dependent upon the sine of the phase difference (measured in radians). The system uses the small angle approximation to avoid needing to carry out an inverse sine operation; when the phase difference is small, the sine of the phase difference will be approximately equal to the phase difference; as the difference increases, the error in the phase difference will increase, but will still have the same sign and will therefore cause the estimate to be corrected in the correct direction. As such, the output of the phase difference circuit is used directly as the phase difference below.

(29) The estimates .sub.2 and are updated in two ways: firstly, in accordance with the physical dynamics of a rotating motor; and secondly according to the phase difference and speed measurement estimate already determined. According to the physical dynamics, the position is increased or decreased in proportion to the current speed estimate .sub.2. Next, is updated according to phase difference =.sub.1.sub.2 and speed measurement estimate and in proportion to the phase difference and speed measurement difference calculated as follows:
(t+1)=(t)+a.sub.12.sub.2(t)+b.sub.11+b.sub.12(.sub.1.sub.2(t))

(30) where (t+1) is the new observer estimate of the position (t) is the current observer estimate of the position is the phase difference .sub.1.sub.2(t) is the speed measurement difference calculated .sub.1 is the measured speed estimate .sub.2(t) is the current observer estimate of the speed a.sub.12 is the proportion of the current speed estimate, usually set equal to the time between samples b.sub.11 is the proportion of the phase difference used to update the position estimate, usually set less than one. b.sub.12 is the proportion of the measured speed estimate used to update the position estimate, usually set less than the time between samples

(31) The speed estimate can be computed in a similar way:
.sub.2(t+1)=.sub.2(t)+b.sub.22(.sub.1.sub.2(t))

(32) Where .sub.2(t+1) is the new observer estimate of the speed b.sub.22 is the proportion of the measured speed estimate used to update the observer speed estimate

(33) The values of the a and b coefficients can be adjusted to control and adapt the performance of the observer as desired.

(34) The estimated values of the motor rotor rotational position and the rotor speed .sub.2 are then output, and can be used in the signal processor 7 in order to control the switching of the phases 13 in any suitable manner.

(35) Some graphs showing the results of a prototype system can be seen in FIGS. 4a to 4c of the accompanying drawings. FIG. 4c shows the current applied to the phases of a test motor over an approximately 37 second long test run. FIG. 4a shows both the actual motor position (measured by a suitable position encoder, the trace shown as enc) and the estimated value determined by the observer circuit (est). From FIG. 4a, the two traces appear practically indistinguishable.

(36) FIG. 4b shows the difference between the actual and estimated measurements, and as such represents the difference between the enc and est traces of FIG. 4a. This shows that there is some error in the measurement, but it is generally at a low level, but increasing as the current applied to the motor increases.

(37) Whilst the embodiment above has been described with the functions shown in FIG. 3 described as circuits and the like, the method could be implemented in a suitable microprocessor such as field programmable gate array or even any general purpose microprocessor suitably programmed.

(38) 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.