Abstract:
A motor monitoring and control circuit calculates a value parameter for a position of the motor at given instants. The same parameter (which may be position or speed of a rotor) is then measured at subsequent instants. These values are used to compute a future value of the parameter. The motor monitoring and control circuit is advantageous in that it can be used for any type of motor and can be easily and quickly fitted to a motor without the need for expensive and time consuming initial measurements and computations of characteristic properties of the motor in order to calibrate it. Similarly, automatic compensation is made during operation.

Description:
This application is a continuation of application Ser. No. 08/381,904 filed Feb. 13, 1995, abandoned, which was the national phase of International Application No. PCT/GB93/01703 filed Aug. 11, 1993. 
    
    
     FIELD OF THE INVENTION 
     This invention relates to a method of and apparatus for determining a rotor displacement parameter (such as position or speed) for an electric motor, and to an apparatus incorporating the electric motor. The invention has particular application to the continuous determination, by electrical rather than mechanical means, of rotor angular position, and the use of such position data in controlling the electric motor. 
     BACKGROUND OF THE INVENTION 
     Many types of electric motors incorporate an electronic commutator which adjusts the winding excitation according to the instantaneous position of the rotor. The position of the rotor may be determined mechanically, but is advantageously deduced from the motor&#39;s current and voltage waveforms. Mechanical determination can involve complex and expensive equipment, and may detrimentally affect the rotor&#39;s inertia and friction characteristics. 
     A paper entitled &#34;Application of stochastic filtering to a permanent magnet synchronous motor-drive system without electro-mechanical sensors&#34;, by Dhaouadi, R. et al. (Proc. ICEM, Boston, 1990) discloses a method of determining rotor position which involves detecting electrical characteristics (phase voltages and currents) of the motor at given instants and estimating rotor position from these characteristics using an extended Kalman filter algorithm. An initial estimate of rotor position is provided by solving the mechanical equation of motion for the rotor. Phase flux linkage, the value for which is utilised in the determination of rotor position, is modelled as being linearly dependent on phase current. 
     A paper entitled &#34;A state observer for variable reluctance motors: analysis and experiments&#34;, by Lumsdaine, A. et al. (Proc. ASILOMAR Conference on Circuits, Systems and Computers, Pacific Grove, 1985) discloses a similar method in which rotor position is estimated from the electrical characteristics using a state observer model. 
     The disadvantages with these techniques are that they are limited to specific types of electric motor and that they are limited to specific operating condition ranges. 
     The present invention seeks to solve these problems. In its various aspects, the invention provides techniques which can be applied to virtually any type of motor having phase flux linkage varying with rotor position. Such motor types include switched and variable reluctance motors, hybrid stepping motors, permanent magnet synchronous motors, brushless alternating and direct current motors, and sinusoidal and trapezoidal permanent magnet motors. In particular, the invention can be applied to any motor which is controlled in dependence on rotor position (so called &#34;rotor position switched drives&#34;). Other arrangements are described below. 
     International Patent Application No. PCT/SE90/00498 describes an arrangement in which magnetic flux in a motor is compared with tabulated values of a non linear function of magnetic flux with respect to current. 
     IEEE Transactions on Industry Applications Vol. 27 No. 5 pages 1005-1011 describes a controller for use to control motor speed without the need for a sensor. Two line voltages and stator currents are employed to compute a flux linkage space vector. An indication of angular velocity is then computed using the phase angle of the vector and the rate of change of flux linkage. 
     U.S. Pat. No. 5,107,195 describes an apparatus and method which simultaneously senses phase current and phase flux, determines the reluctance of the stator-to-rotor air gap and evaluates the position of the rotor phase with respect to the stator pole tips. 
     SUMMARY OF THE INVENTION 
     According to a first aspect of the present invention, there is provided a method of determining a rotor displacement parameter (such as position or velocity) of an electric motor, comprising detecting electrical characteristics of the motor at given instants, determining values of the parameter for previous instants in dependence on the characteristics of the motor at these instants, and predicting an updated value of the parameter by extrapolation from values for previous instants. 
     By predicting an updated value of the parameter by extrapolation, rather than, as in the prior art, by solving the equation of motion for the rotor, the present invention can provide an estimate of the value which is not dependent directly on the mechanical properties of the motor. This has several advantages. Firstly, these properties do not have to be predetermined at any stage. Secondly, if (as is often the case) the mechanical properties of the motor (such as inertia, friction or load torque) actually change during operation, account is automatically taken of these changes. 
     Preferably, the updated predicted parameter value is corrected in dependence on the difference between the actual value of an electrical characteristic and a value determined using the updated parameter value. It has been found that such a &#34;predictor/corrector&#34; technique can provide a simple and accurate estimate of the parameter. 
     For the sake of accuracy, the updated value may be predicted from respective values at at least three previous instants, preferably the three immediately preceding instants. It may be predicted in accordance with an equation of the form a k  =3a k-1  -3a k-2  +a k-3 , where a k  is the updated value, and a k-1 , a k-2  and a k-3  are the values of the parameter at three preceding instants. 
     According to a second aspect of the present invention, there is provided a method of determining a rotor displacement parameter for an electric motor, comprising detecting an electrical characteristic of the motor at a given instant, predicting a value representative of flux linkage from the characteristic, correcting the predicted flux linkage value in dependence on the difference between the actual value of the characteristic and a value estimated using the predicted flux linkage value, and determining the rotor displacement parameter sing the corrected flux linkage value. 
     This invention arises from the discovery, pursuant to the present invention, that such flux linkage correction can be important in reducing inaccuracies in the estimation of rotor position. This is because flux linkage is conventionally determined from measured voltage and current values by integration. Measurement and other errors can cause the flux linkage values to drift, unless corrected. 
     It will be appreciated that the corrected flux linkage value may not be used in the determination of the rotor displacement parameter at the given instant. In the preferred embodiment, in fact, the corrected value is not so used until the next instant at which a determination of the parameter is effected. 
     Two alternative ways of correcting flux linkage values are described later. One involves comparing directly measured values of current and values estimated using the predicted flux linkage value. The other involves a comparison between mechanical and electrical estimates of rotor position which implicitly involves a comparison between measured and predicted current values. 
     Whichever alternative is adopted, it is preferred that the correction is determined in dependence on said difference multiplied by the differential of flux linkage with respect to current. The dependence may either be directly on said difference multiplied by the differential of flux linkage with respect to current, or may be indirect, via the differential of flux linkage with respect to rotor position multiplied by the difference between the two estimates of rotor position. Such an arrangement can provide a simple but effective way of correcting flux linkage. 
     Preferably again the correction is determined from the difference between the actual and estimated values of such electrical characteristic for a plurality of phases of the motor. Employing information from some or possibly even all of the phases of the motor rather than just one phase can ensure a more accurate estimate of the rotor displacement parameter. 
     According to a third aspect of the present invention, there is provided a method of determining a rotor displacement parameter for an electric motor, including detecting an electrical characteristic of the motor at a given instant, and determining a value of the parameter in dependence on the detected characteristic, the determination taking into account magnetic saturation experienced by the motor. 
     This aspect of the invention arises from the discovery, pursuant to the present invention, that magnetic saturation is a phenomenon which may in many circumstances need to be taken into account if an accurate estimate of the rotor displacement parameter is to be made. Magnetic saturation manifests itself as a divergence at higher phase currents from the linear dependence of phase flux linkage on phase current at lower phase currents. Many motors are designed to operate at least partly in the saturation region. It has been discovered that for such motors a model of motor behaviour in which flux linkage is only a linear function of current can produce considerable inaccuracies in the estimates of the rotor displacement parameter. 
     Preferably, the parameter is determined in dependence on the differential of flux linkage with respect to current, since this is a particularly important way in which magnetic saturation can be taken into account. More preferably, the parameter is determined in dependence on the differentials with respect to current of the flux linkages for a plurality of phases of the motor. This can lead to a yet more accurate estimate of rotor position; information from some or all of the phases, including appropriate flux linkage cross-coupling terms, may in fact often need to be taken into account if an accurate estimate is to be made. 
     Values of the differential of flux linkage with respect to current can be provided by storing some representation of flux linkage, or its differential with respect to current, as a function of current and rotor position. Such information can also be useful in providing an estimate of current from calculated flux linkage values. This estimate can be compared with measured values of current and the comparison used in determining the value of the rotor displacement parameter. 
     The invention extends to a method, for controlling the electric motor, wherein the motor is controlled in dependence on the value of the rotor displacement parameter. The rotor displacement parameter information may alternatively or additionally be output as an output signal, for example, to be used for displaying rotor position or speed. 
     The invention also extends to a method, which could be independent of the other aspects of the invention, for determining a rotor displacement parameter for an electric motor having a plurality of windings sharing a common connection, wherein the electrical characteristics are detected from points other than the common connection. This aspect of the invention stems from the discovery, pursuant to the present invention, that, for determining the rotor displacement parameter, the electrical characteristics need only be detected at the external or outer nodes of the windings, and not at their common connection. This is advantageous since the common connection on motor windings is often inaccessible. This aspect of the invention has particular relevance to a motor having star-connected windings. 
     Apparatus features analogous to the method features described above are also provided by the invention. In particular, the invention extends to apparatus for determining a rotor displacement parameter for an electric motor and incorporating said electric motor. 
     The various aspects of the invention may be provided in any combination one with another. 
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS 
     Preferred features of the invention, the theory underlying the invention, and examples of the operation of the invention are now described with reference to the accompanying drawings, in which: 
     FIG. 1 is a block diagram of apparatus for determining rotor position for an electric motor; 
     FIG. 2 is a block diagram representing a method of determining rotor position; 
     FIG. 3 is a sketch of star-connected windings of an electric motor; 
     FIGS. 4 show experimental results obtained using the present invention for an electric motor accelerating from rest with no current control; and 
     FIGS. 5 show experimental results for the same electric motor but with current control. 
    
    
     DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS 
     A basic embodiment of the invention relating to a permanent magnet (PM) motor is first described, followed by a more generally applicable modified embodiment. In both embodiments, a predictor/corrector technique is employed to determine the angular position of the rotor of an electric motor. Such a technique requires a mathematical model (an &#34;observer&#34;) of the relevant characteristics of the motor. For each embodiment, the model is described first, and then the use of that model in the determination of rotor position is described. 
     MOTOR MODEL FOR THE BASIC EMBODIMENT 
     Considering firstly the model for the basic embodiment, the voltage equation for a 3-phase balanced PM alternating current motor are expressed in matrix form as: ##EQU1## where v 1 , v 2  and v 3  are the phase voltages, R is the resistance of the stator winding, i 1 , i 2  and i 3  are the phase currents, and ψ 1 , ψ 2  and ψ 3  are the phase flux linkages of the windings. 
     The general flux linkage variables may be defined in the form: ##EQU2## Here, θ is electrical angular position, λ m , the magnet flux linkage, is a function of θ, L xx  (θ) is the self inductance of winding x, and M xy  (θ) is the mutual inductance between two windings x and y. 
     It will be appreciated that the inductance matrix in Equation 2 describes the self and mutual inductance relationships of the stator phases of a symmetrical PM motor. Differentiating Equation 2, substituting it into Equation 1, and rearranging, ##EQU3## 
     For a machine which has no variable inductance, Equation 3 can be rearranged to give more simple system equations. Linear 3-phase coupled systems are magnetically symmetrical if the diagonal elements of the inductance matrix are equal. Assuming further that there is no change in the rotor reluctance with angle, then: 
     
         L.sub.11 =L.sub.22 =L.sub.33 =L.sub.1 
    
     
         M.sub.12 =M.sub.21 =M.sub.13 =M.sub.31 =M.sub.23 =M.sub.32 =M.sub.1 (4) 
    
     In the star-connected with isolated star point motor: 
     
         i.sub.1 +i.sub.2 +i.sub.3 =0                               (5) 
    
     Hence, ##EQU4## where L=L 1  -M 1  Differentating Equation 6, substituting into Equation 1 and rearranging, ##EQU5## As explained in later sections, position estimation based on the flux linkages is achieved by Equation 2 or Equation 6 according to whether the machine has variable winding inductances or constant inductances. Direct measurement of phase current and phase voltage can allow estimation of the flux linkage. If the terminal phase voltages of the motor are sensed and stator voltage drops are subtracted, the change of the flux linkage of each phase with time can be determined in terms of the rotor position, phase currents, and other motor parameters which appear in the right-hand side of Equation 3 and Equation 7. 
     ROTOR POSITION DETERMINATION FOR THE BASIC EMBODIMENT 
     The manner in which the above-described model is used to determine rotor position is now described with reference to FIGS. 1 and 2. 
     Referring first to FIG. 1, apparatus for determining rotor position for an electric motor and thence controlling the electric motor comprises a permanent magnet 3-phase motor 10, a set of current transducers 12, a set of voltage transducers and attenuators 14, a position estimator 16, and a controller 18 responsive to control inputs and including a 3-phase inverter circuit 20 for providing a 3-phase power supply. The inverter circuit 20 comprises three pairs of transistors T1-T6 and associated diodes D1-D6. In the preferred embodiment, the base or gate of each transistor is provided with control signals from a hysteresis current controller. The motor 10 is driven in response to the control inputs passed to the controller 18. The controller utilises rotor position information from the rotor position estimator 16 to determine how power should be distributed to the three phases of the motor. 
     The operation of the position estimator 16 is now illustrated with reference to FIG. 2. In overview, the position estimator provides, at each new time instant, fresh phase flux linkage and position estimates. In FIG. 2, estimated values of quantities are designated by subscript &#34;e&#34; whilst measured values are designated by subscript &#34;m&#34;. The position estimator 16 is implemented, in the present embodiment, either by a Digital Signal Processor (DSP), or by an Application-Specific Integrated Circuit (ASIC) in conjunction with appropriate means for storing the information required for the operation of the position estimator. The operation of the position estimator is now described in more detail. 
     Flux Linkage Prediction 
     Firstly (see the INTEGRATOR box) the phase currents i 1 , i 2  and i 3  and voltages v 1 , v 2  and v 3  measured using the current and voltage transducers 12 and 14 are used to predict the phase flux linkages ψ 1 , ψ 2  and ψ 3  of the motor. It is apparent from Equation 1 that the function of flux linkage to be evaluated is of the following form: ##EQU6## In general, the function of (v(τ)-Ri(τ)) does not have a closed form integral. Although, for cases where extremely high accuracy is required, different integration methods can be used, the relatively simple method employed in the present embodiment is integration by the rectangular rule: 
     
         ψ.sub.n(k) =ΔT[v.sub.n(k) -Ri.sub.n(k) ]+ψ.sub.n(k-1) n=1,2,3 k=1,2,                                                    (9) 
    
     where ΔT is the sampling interval and n is the number of phases in the motor. The estimates of flux linkage are designated on FIG. 2 as ψ 1e (k), ψ 2e (k), and ψ 3e (k). 
     Since the integration starts at k=1, ψ n  (O) plays the role of the initial condition. In PM machines, the initial value of flux linkage is defined by the position of the magnet. Therefore, to evaluate Equation 9 and to set up the initial condition, the rotor can be brought to a known position which defines the initial values (ψ n  (O)) of the integration. 
     Rotor Position Prediction 
     Next (see the POSITION CORRECTION AND POSITION ESTIMATION &amp; PREDICTION box) a first estimate (θ e (k)) of rotor position is provided for a new time k using an extrapolation technique. The mechanical equations of motion for the motor can be written: ##EQU7## where T is the motor torque, p is the number of rotor pole pairs, J is the motor inertia, B is the motor friction and T 1  is the load torque. It can be seen from the equation that the position of the rotor changes as a second order function. Therefore, a second-order polynomial in time is fitted to the previous known rotor positions θ e (k-1), θ e (k-2) and θ e (k-3) at times k-1, k-2 and k-3: 
     
         θ=at.sub.2 +bt+c                                     (11) 
    
     It will be appreciated that the fit is exact in the cases of constant speed and constant acceleration. Then, with t=0 at time step k-3: 
     
         θ.sub.e(k-3) =c; θ.sub.e(k-2) =a(ΔT).sup.2 +bΔT+c; 
    
     
         θ.sub.e(k-1) =4a(ΔT).sup.2 +2bΔT+c; and θ.sub.e(k) =9a(ΔT).sup.2 +3bΔT+c                         (12) 
    
     Eliminating the polynomial coefficients and solving for θ e (k) gives the first estimate for the latest rotor position: 
     
         θ.sub.e(k) =3θ.sub.e(k-1) -3θ.sub.e(k-2) +θ.sub.e(k-3)                                       (13) 
    
     It will be appreciated that alternative extrapolation techniques (for example, higher order polynomials) to that described above could be used. 
     Current Estimation 
     Next (see the first CURRENT ESTIMATION box) a first estimate of phase current (i 1 , i 2  and i 3 ) is made based on the first estimate of rotor position and the estimate of flux linkage. If the simplifying assumptions underlying Equation 6 hold, then phase current can be estimated as follows: 
     
         i.sub.1e =[ψ.sub.1e +λ.sub.m (θ.sub.e)]/L 
    
     
         i.sub.2e =[ψ.sub.2e +λ.sub.m (θ.sub.e -2π/3)]/L 
    
     
         i.sub.3e =[ψ.sub.3e +λ.sub.m (θ.sub.e -4π/3)]/L (14) 
    
     The relevant values of λ m  are determined from a stored representation (such as a look-up table or predetermined analytical function) which expresses λ m  in terms of θ. Often, λ m  varies sinusoidally or trapezoidally with θ. 
     Alternatively, phase current may need to be determined from the more general Equation 2, using stored representations of L xx  and M xy  as functions of θ as well as λ m  as a function of θ. 
     The first phase current estimates (i 1e , i 2e  and i 3e ) from the first CURRENT ESTIMATION box are compared with the actual measured phase currents to give a first estimate of the current errors: 
     
         Δi.sub.1 =i.sub.1m -i.sub.1e 
    
     
         Δi.sub.2 =i.sub.2m -i.sub.2e 
    
     
         Δi.sub.3 =i.sub.3m =i.sub.3e                         (15) 
    
     Rotor Position Correction 
     The next stage in the predictor/corrector technique (see again the POSITION CORRECTION AND POSITION ESTIMATION &amp; PREDICTION box) is to update the predicted rotor position value (the first estimate, θ e ) to yield a corrected rotor position value (the second estimate, θ e ). Assuming that the flux linkage estimate is correct, and that the errors in the estimated phase currents are due to errors in rotor position, then the corrected position is determined as that position which minimises the current errors. As can be seen from Equation 2, flux linkage is a function of several variables, such that ψ=ψ(θ,i 1 ,i 2 ,i 3 ). Changes in flux linkage occur as a result of changes in current and position, so that, for phase n: ##EQU8## where Δθ is the position error, equal to θ e  -θ e . Given the above assumption that the flux linkage estimate is correct (that is, Δψ ne  =0), we have, for each phase: ##EQU9## The partial derivatives of flux linkage with respect to current and rotor position are evaluated from stored representations (such as look-up tables or predetermined analytical functions) of the appropriate functions. For many types of motor, Equation 17 can be simplified by neglecting all the ∂ψ/∂i terms except ∂ψ ne  /∂i n . 
     It will be appreciated that, by determining the position error in dependence on the differential of flux linkage with respect to current, the effects of magnetic saturation (that is, non-linearities in the ψ versus i curve) can be taken into account. 
     Equation 17 yields a set of three position corrections (Δθ 1 , Δθ 2  and Δθ 3 ). A single revised position estimate is obtained by taking the average of the three corrections: ##EQU10## At certain phase current levels and rotor positions some of the phases are better indicators of position error than others. Therefore the position error averaging may incorporate weighting factors which are current and position dependent. The weighting factors may even be selected to neglect completely position correction information from certain phases at certain instants. A corrected position is calculated by adding the position error to the previous predicted position: 
     
         θ.sub.(k) =θ.sub.e(k) =θ.sub.e(k-1) +Δθ.sub.(k)                                   (19) 
    
     As clearly seen in FIG. 2, an outer current loop is used to estimate the phase current; predicted position is utilised with estimated flux linkage for the current estimation. A position prediction is obtained by extrapolation from position data at previous time intervals. 
     Flux Linkage Correction 
     The final stage of the algorithm is to pass updated, corrected flux linkage values to the INTEGRATOR box. Such values need to be updated because the continuous estimation of flux linkage using an integration process creates unwanted effects in the flux linkage waveform. Measurement errors, due to noise, offsets and the temperature dependence of the winding resistance produce flux linkage errors, which then contribute to position estimation errors. However, some filtering and error correction are provided by updating the flux linkage estimates after the position estimate has been corrected. This updating is provided in a loop comprising the second CURRENT ESTIMATION, the FLUX LINKAGE CORRECTION and the INTEGRATOR boxes. 
     Updating proceeds as follows. First (see the second CURRENT ESTIMATION box) a second, revised estimate of the current errors (Δi 1 , Δi 2  and Δi 3 ) is made in the same way as the first estimate of the current errors (that is, using Equations 2 or 6, 14 and 15), except that the corrected rotor position (θ e ) is employed instead of the predicted position (θ e ). Then (see the FLUX LINKAGE CORRECTION box) the flux linkage estimates (ψ 1e , ψ 2e  and ψ 3e ) are updated using the corrected rotor position (θ e ) and the second, revised estimate of the current errors, in accordance with the principles underlying Equation 16. Thus, assuming that the errors in the flux linkage occur only because of current estimation errors, the corrections Δψ 1e , Δψ 2e  and Δψ 3e  to the flux linkages are determined as follows: ##EQU11## The values of the estimated flux linkage error are then passed to the INTEGRATOR box to update the integration. 
     A simplified procedure for updating the flux linkage is to set the Δi&#39;s to zero in Equation 16 and determine the corrections to the flux linkages from the following equation: ##EQU12## where θ e  and Δθ n  refer to the corrected rotor position. It will be appreciated that the alternative procedures outlined in relation to Equations 20 and 21 are in fact closely related. 
     MOTOR MODEL FOR THE MODIFIED EMBODIMENT 
     A modified version of the basic embodiment is now described. This version is applicable to any class of motor for which flux linkage is a function of rotor position. Considering firstly the model for the modified embodiment, the voltage equation for an n-phase machine may be written in the general form (compare with Equation 1 of the basic embodiment): ##EQU13## where v j  is the voltage across m series-connected phase windings carrying currents i 1  . . . i m  and having resistances R 1  . . . R m , and ψ j  the total flux linking the m windings. Thus, for instance, in the star-connected three-phase winding configuration shown in FIG. 3 (the three windings having a common connection at node d), the three voltages v j  are v ab , v bc  and v ca  respectively. The currents i q  and resistances R q  are the currents i 1 , i 2  and i 3  and the resistances R 1 , R 2  and R 3  respectively. Thus no voltage or current information is required to be measured at node d if the formulation of Equation 22 is used. 
     In general, ψ j  is a function of the n phase currents i 1  . . . i n  and rotor position θ (compare with Equation 2 of the basic embodiment): 
     
         ψ.sub.j =ψ.sub.j (i.sub.1, . . . i.sub.n, θ) (23) 
    
     ROTOR POSITION DETERMINATION FOR THE MODIFIED EMBODIMENT 
     The above general model can be applied in the following way to determine rotor position. Equation 22 can be re-arranged to show how the flux linking the jth combination of m windings can be estimated, using measurements of the voltage, v j , and phase currents i 1  . . . i m  (compare with Equation 8 of the basic embodiment): ##EQU14## For sampling at discrete time intervals of duration ΔT, Equation 24 may be re-written (compare with Equation 9 of the basic embodiment): ##EQU15## so that the estimate of flux linkage ψ j (k-1) at time (k-1)ΔT can be utilised to estimate ψ j (k) at time kΔT. 
     Estimates of rotor position at time kΔT may be obtained by fitting a polynomial function to rotor position values at previous time intervals and extrapolating in exactly the same manner as described in relation to the basic embodiment (see the description relating to the POSITION CORRECTION AND POSITION ESTIMATION &amp; PREDICTION box). 
     At time instant k estimates of n flux linkages ψ j (k) (j=1 . . . n) are produced, together with a first estimate of rotor position, θ e . For any motor, the functional relationship between flux linkage, current and position, expressed by Equation 23, can be predetermined. Therefore, in the present embodiment, given the estimates of flux linkages ψ j  and position θ e , the set of phase currents i je  is estimated using stored representations of flux linkage as a function of rotor position and phase current. Where the functional relationship in Equation 23 is simple, this process may involve no more than the solution of a set of n simultaneous linear equations or an even simpler set of equations of the form given in Equations 14. However, more complex flux linkage functions may lead to a requirement for the iterative solution of a set of n non-linear equations. 
     It will be appreciated that, by estimating current using a stored representation of flux linkage as a function of phase current, the effects of magnetic saturation (that is, non-linearities in the ψ versus i curve) can be taken into account. 
     Given first estimates of phase current i je , a first estimate of the current errors is determined by comparing estimated and measured currents (see the first CURRENT ESTIMATION box and compare with Equations 15): 
     
         Δi.sub.j =i.sub.jm -i.sub.je                         (26) 
    
     Errors in current arise from errors in flux linkage and rotor position. It can be deduced from Equation 23 that: ##EQU16## where Δθ j  is the error in rotor position derived from consideration of winding set j. This equation is analogous to Equation 16. 
     Considering now the POSITION CORRECTION AND POSITION ESTIMATION &amp; PREDICTION box, assuming initially that the set of flux linkage estimates is correct (Δψ je  =0), Equation 27 leads to a set of n position corrections Δθ j  (j=1 . . . n). A single position correction can be derived by combining these corrections. A number of options are available, ranging from simple averaging: ##EQU17## to weighted averaging, with weighting dependent on instantaneous position and current. The second (corrected) estimate of rotor position at time kΔT (θ e (k)) is then given by Equation 19. 
     Finally, considering the FLUX LINKAGE CORRECTION box, the set of flux linkage estimates may be updated by using the corrected position estimate (θ e (k)) to obtain a set of correction Δψ je . From Equation 27, with Δi j  =0 (j=1 . . . n): ##EQU18## from which updated estimates of flux linkage can be determined and passed to the INTEGRATOR box. 
     It will be appreciated from the foregoing that the present invention requires some form of representation of various functions (for example, ψ as a function of i and θ) to be predetermined and then stored. The functions can be predetermined, for instance, by making the motor act as a generator and measuring the motional electromotive force which appears across the motor terminals. The representation of the function may, for instance, be a look-up table, or (if the function is amenable to such treatment) a Fourier series representation; the function may even be simply sinusoidal or trapezoidal, in which case its representation is trivial. 
     EXAMPLES 
     Experimental results obtained using the techniques of the present invention are now described with reference to FIGS. 4 and 5. The experiments were carried out on a commercial permanent-magnet brushless servo motor drive, with the following parameters: 
     phase inductance (L)=3.12 mH 
     phase resistance (R)=0.8 Ω 
     motor and load inertia (J)=0.008 kg.m 2   
     no. motor poles pairs (p)=4 
     peak phase flux linkages due to the permanent magnet=71 mWb.t 
     Measurements of phase voltage, phase current and rotor position were recorded at intervals of 10 μs as the drive accelerated from rest. The captured data was processed off-line using the techniques described above, thus allowing a comparison of the estimated and actual rotor position to be made. 
     FIGS. 4 show experimental results for a motor operated without current control and with a rectangular voltage waveform applied to each phase. The waveform in FIG. 4a shows the voltage appearing across one phase and consists of constant voltage intervals, when the phase is excited, and intervals with near-constant slope, reflecting the magnet-induced electromotive force (emf), while the phase is unexcited. In the corresponding current waveform (FIG. 4b) the current amplitude reduces between successive excitation intervals as the motor accelerates, causing the magnet-induced emf to increase in magnitude. FIG. 4c shows the phase flux linkage estimate obtained by integrating (v-Ri) with respect to time for one phase, using the data shown in FIGS. 4a and 4b. As might be expected, the flux linkage characteristic is dominated by the permanent-magnet, which produces a sinusoidal variation. Superimposed on this variation, however, are step changes caused by phase switching. Corrected estimates of phase flux linkage, produced by the technique&#39;s application to the measured data, are shown in FIG. 4d. For this particular set of results there exist only very small differences between the results in FIGS. 4c and 4d. The final two waveforms (FIGS. 4e and 4f) show measured and estimated rotor position as a function of time. Again there is very close agreement between these two sets of results, demonstrating that the position estimation technique is effective over the full speed range of the drive. 
     FIGS. 5 show a similar set of results, but with a closed loop current controller causing modulation of the phase voltage (FIG. 5a) to maintain the current constant in excited phases (FIG. 5b). The drive accelerates from rest at a lower rate than in FIG. 4, since current levels are lower, and the position estimation technique again operates effectively (FIG. 5f). 
     EFFECTS OF MEASUREMENT ERRORS AND PARAMETER DEVIATIONS 
     The possible effects of measurement errors and parameter deviations on the quality of the results obtained using the present invention are now considered. Since the invention is implemented by calculating the flux linkage from the phase voltage and current, the performance of the invention depends on the quality and accuracy of the estimated flux linkages and measured currents. In addition to this, parameter deviations due to variations in temperature and saturation need to be considered. 
     Error terms in the flux linkage estimation and flux linkage variables due to measurement error and parameter variation may be expressed as follows: 
     
         ψ=∫(v-Ri)dt+e.sub.1 
    
     
         ψ=Li-λ.sub.m (θ)+e.sub.2                  (30) 
    
     where e 1  and e 2  are the errors due to measurement and parameter deviations respectively. The corruption sources on the flux linkage estimation may be classified under term e 1  as follows: 
     1. Measurement errors in the terminal quantities: 
     (a) phase shift in the measured values due to inaccuracies in the measurement system, 
     (b) magnitude error due to conversion factors and gain, 
     (c) offset in the measurement system, and 
     (d) quantization error in the digital system. 
     2. Temperature effect on the winding resistance R. 
     The error term e 1  in Equations 30 mainly includes measurement errors. In both voltage and current measurement, one has to ensure that the measurement devices will not introduce a phase shift, offset or magnitude error. Another problem in the measurement system is the potentially noisy connection to the computer for carrying out the digital signal processing. The sensitive analog front end of the measurement devices can also be corrupted by a noisy computer connection. One solution is to place an isolation amplifier between the computer and the measurement system. However, the isolation amplifier could limit the performance of the system, particularly for high frequency measurements. 
     Moreover, in star-connected systems, if the current regulation in the third phase is reconstructed from the regulation in the other two phases, errors in the third phase current might be increased. The error in flux linkage estimation is mainly due to measurement errors, but it may not be separable from deviations in the winding resistance R. 
     The error term e 2  also includes current measurement error. However, it is mainly influenced by deviations in magnet flux linkage and winding inductance. For motors which have a large air gap, saturation effects caused by current level may be ignored. Otherwise, magnetic saturation can be taken into account in the manner described earlier. Deviations in the magnet flux linkages and changing back emf constant with temperature may also need to be taken into account. 
     The effects of parameter variations have been studied pursuant to the present invention with reference to initially measured motor parameters. In order to check the ability of the technique to perform in the presence of parameter variations, a test has been carried out changing the value of the winding resistance, the back emf constant, and the winding inductance within a ±10% range. It was found that changing the resistance value caused a small phase shift and noticeable dc offset in the estimated flux linkage waveform which could be overcome by the flux linkage correction. In one typical test, a change of 10% in the resistance of the windings caused a 0.7% error in rotor position during constant speed operation. 
     Changing the back emf constant caused a difference between estimated and corrected flux linkage. This deviation could be recovered by flux linkage correction. In a typical test, a 10% change in the back emf constant caused a 0.8% error in rotor position during constant speed operation. 
     Neither changing the value of the inductance nor changing the offset effect introduced any noticeable position error. However, again, any small errors can be eliminated by flux linkage correction. 
     It will be understood that the present invention has been described above purely by way of example, and that modifications of detail can be made within the scope of the invention.