METHOD OF OBSERVER-BASED CONTROL OF PERMANENT-MAGNET SYNCHRONOUS MOTORS

Abstract: A method of estimating and controlling rotor position and velocity for a multi-phase brushless permanent-magnet motor (12) by measuring only the stator phase 5 currents (24) at a high sampling rate. Measurements of the stator phase currents (24) are used to obtain estimates of rotor position and velocity. In turn, these estimates are used to determine an amount of voltage to apply to each stator phase so as to obtain a desired regulation of rotor position or velocity, or to command rotor position or velocity to follow a desired trajectory. Estimation and control of rotor position and velocity are implemented on the order of several times per millisecond by an approximate discretization technique. Furthermore, rotor position is observable at zero rotor speed.

Description: METHOD OF OBSERVER-BASED CONTROL OF PERMANENT-MAGNET SYNCHRONOUS MOTORS BACKGROUND OF THE INVENTION 1. Field of the Invention This invention relates generally to sensorless velocity and position control of multiphase permanent-magnet synchronous motors. 2. Prior Art Permanent-magnet (PM) motors are characterized by low cost, physical ruggedness, and simple construction. They are available in a wide variety of designs, ranging from large models, which operate in a manner similar to alternating current synchronous motors with constant rotor currents, to very small step motor designs wn.th saliencies or projecting poles on both the rotor and the stator. PM motors are attractive as servo drives because of their high torque-to- weight ratio. Permanent-magnet synchronous motors can be used simultaneously as actuators and sensors of motion. A motor can be used as a sensor of the motion of its rotor because motion of the rotor induces currents and voltages in the motor which are measurable quantities. This simultaneous type of motor operation is beneficial whenever traditional motion sensors are considered to be too expensive, large, heavy, unreliable, or otherwise undesirable. Permanent-magnet motors generally are constructed with one or more permanent magnets mounted on the rotor and two or more stator phases or windings which are electrically excited to produce torque on the rotor. Rotation of the rotor in close proximity to the stator windings induces measurable signals reflective of rotor motion. Sensorless motor control is generally defined as the determination of motor position information from measurements taken at the motor terminals. The measured quantities are generally voltage, current, or back EMF (electromotive force) . Back EMF or counter EMF is the voltage produced by the magnetic field of the rotor which in turn produces torque allowing the motor to convert electrical power into mechanical power. Existing sensorless control schemes analyze waveforms of voltage, current, or back EMF measured at the motor terminals for certain detectable events indicative of discrete motor positions. The typical detectable events are phase current peaks, phase voltage peaks and points where the back EMF crosses zero (zero crossing technique) . All of these techniques are ultimately related to the back EMF signal. However, back EMF zero crossing techniques are unreliable at low speeds due to the small magnitude of the back EMF signal at low speeds. Virtually all existing permanent-magnet motor sensorless control techniques involve driving a state-feedback controller with rotor position and/or velocity estimates. Permanent- magnet motor state-feedback control techniques may be categorized into two broad categories, commutation-only control (PMCOC) and high-accuracy control (PMHAC) . PMCOC is characterized by taking control action based on rotor position information which is accurate only to ±(π/Mn p ), where M is the number of phases and np is the number of poles in the motor. Moreover, there are two basic types of PMCOC, voltage PMCOC and current PMCOC. Under current PMCOC, the driving circuit is assumed to employ current feedback, resulting in a current response which is sufficiently fast that the electrical dynamics may be neglected. The rotor motion is then controlled with a square-wave outer loop control scheme. Velocity or position control is then accomplished by varying either the switching angle, or the scaling factor. This is done either in an open loop fashion or by using a crude estimate of the velocity generated by measuring the time between switching instants. The key point is that the rotor motion information employed under this scheme is limited by the number of phase windings and the number of poles. For example, for a three phase, 2-pole motor, existing rotor position estimating schemes are only able to measure rotor position to within π/6 radians or 30 degrees. For voltage PMCOC, the same general scheme is used except that a constant voltage is used to excite the phase selected by the commutation scheme. The voltage version has the disadvantage that the resulting torque cannot be easily estimated as is done for current PMCOC, but it saves the cost of the inner-loop current feedback. The PMHAC motor controller strives for much higher performance than the PMCOC by continuously varying the stator phase voltages to produce highly accurate position or velocity control. Note that in this context by "continuously", we mean either through an analog signal or, more commonly, through a high sampling-rate digital controller. In most electric drive systems, highly accurate rotor position and velocity information is needed to achieve high performance control. In particular, any closed-loop motion control system (i.e., position or velocity control) by definition requires rotor position and velocity information. The driving circuits for such motors are usually P M (pulse-width modulation) type amplifiers, operating at high enough switching frequency that they are modeled, through averaging techniques, as linear amplifiers. Since PMHAC requires high-accuracy rotor position and velocity information, known simple detection schemes are not sufficient to replace motion sensors. U.S. Patent No. 5,134,349 to Kruse discloses a 2-phase, brushless, DC motor controller which detects induced back EMF of the two phases to sense rotor phase position. However, this technique is only disclosed in connection with 2-phase sinusoidal motors and therefore has limited applicability. In addition, Kruse only teaches a method of velocity control -- no position control is disclosed. There still exists a need for a control system for a multiphase synchronous motor which is not limited to sinusoidal excitation. Kruse '349 also requires sensing coils to sense magnetic flux to determine position and velocity of the rotor. The requirement of such a sensor coil adds to the overall cost of the motor control scheme as well as to the size of the motor. In addition, such coils take up space which might otherwise be utilized for torque producing windings. Furthermore, Kruse '349 generally requires the use of an integrator to integrate the stator currents measured. Such integration is highly susceptible to unavoidable measurement noise. Thus, there is a need for a motor control scheme that does not require the intermediate step of time integration of stator currents. The article Real-Time Observer-Based (Adaptive) Control Of A Permanent-Magnet Synchronous Motor Without Mechanical Sensors r Sepe, R.B. and Lang, J.H. (1991) , discloses a sensorless velocity control scheme that suffers from several disadvantages. These disadvantages include: (1) the scheme is difficult to extend to motors with non-sinusoidal torque- angle characteristics, (2) the scheme is unreliable at low speeds, making it incapable of position control, (3) the optimal selection of observer gains is highly speed dependent, yielding poor performance in non-constant speed applications, and (4) there is no analytical proof that the observer will converge. Failure to converge may lead to erratic and possibly destructive motor behavior. Known prior art techniques are capable of estimating rotor position to only within π/Mn p radians. Thus, there is a general need for a more precise estimator or observer, which is capable of providing accurate and high sampling rate estimates of the position and velocity of the rotor of a multiphase (i.e., not limited to two phases) permanent-magnet motor using only measurable terminal quantities. The back EMF voltage of a permanent magnet synchronous motor is zero when the rotor is not turning. Therefore, if the application in which the motor is being used requires that the motor stop occasionally, position information of the motor is lost because there is no back EMF voltage to measure. There still exists a need for a technique which is capable of estimating rotor position at zero speed. It is to the provision of these needs that the present invention is directed. SUMMARY OF THE INVENTION Briefly described, the present invention is a method of controlling, with high resolution, rotor position and rotor velocity of a multiphase, brushless, permanent-magnet motor. The method is implemented by estimating rotor position and velocity using only measurements of stator phase currents. The estimates of rotor position and velocity are used to determine the amount of voltage to be applied to each stator phase so as to obtain a desired rotor position or velocity regulation or to command the rotor to follow a desired position or velocity trajectory. Preferably, the steps of position and velocity estimation and position and velocity control are carried out by an approximate discretization process which updates estimation and control functions on the order of several per millisecond so as to obtain essentially continuous rotor position and velocity control even at zero speed. Discrete-time observation is a vast improvement over existing EMF zero-crossing based techniques which estimate rotor position and velocity only at peaks and zero-crossing of waveforms representative of voltage, current, or back EMF. By contrast, the present invention estimates rotor position and velocity and then executes control based thereon at such a high sampling rate that nearly continuous control is achieved. Because of this ability to "continuously" monitor the relevant waveform, high resolution rotor position and velocity control is obtained. The observer/controller of the present invention is based on two simplifications to the mathematical motor model. First, a singular perturbation technique is used to derive approximate reduced-order models. Such models allow optimal use to be made of the typically large separation between the mechanical and electrical time-constants of the PM motor. Second, an approximate discretization technique is used for the reduced-order models so as to obtain approximations of their zero-order hold equivalents. These discrete-time models effectively reduce the observer design problem to simply a problem of algebraic map inversion. Furthermore, the present invention assumes that the scalar phase self-inductance is small. This assumption simplifies mathematical computations required but is not essential to the operability of the invention. This assumption further leads to a set of non¬ linear algebraic equations derived from stator current measurements that provide rotor position and velocity for any instant in time to within one sampling period. Full order rotor position and velocity equations are obtainable for the case where inductance is not assumed to be small as will be clear to those skilled in the art. Preferably, the methods of ,the present invention are implemented using an off-line look-up table which is capable of executing one of four different motor control algorithms -- two for velocity control and two for position control. In another form, the methods of the present invention are implemented on-line by a high speed microprocessor. For both rotor velocity and position control, the two methods presented are based on the cases wherein (1) the scalar phase self- inductance is assumed to be small, and (2) the scalar phase self-inductance is assumed to be very small. The effect of making assumptions regarding inductance is to reduce the complexity of the computations implemented by the methods of the present invention. Accordingly, it is an object of the present invention to provide a sensorless control scheme which is highly accurate at low speeds and at zero speed. Another object of the present invention is to provide a motor control scheme which uses position and velocity estimates to control rotor position and velocity. It is another object of the present invention to achieve high performance, sensorless rotor velocity and position control. It is yet another object of the present invention to provide a general application motor control scheme which is capable of providing high resolution rotor position and velocity control regardless of the number of phases used or the torque-angle characteristics of the motor. It is another object of the present invention to provide a sensorless rotor position control scheme for permanent- magnet synchronous motors. These and other objects, features, and advantages of the present invention will become more apparent upon reading the following description in conjunction with the accompanying drawings. BRIEF DESCRIPTION OF THE DRAWINGS Fig. 1 is a schematic block diagram of a system for implementing the methods of the present invention; Fig. 2 is a schematic illustration of one embodiment of the system of Fig. 1; Fig. 3 is a schematic illustration of another embodiment of the system of Fig. 1; and Figs. 4-12 are graphs of simulations and simulated results of the present invention. DETAILED DESCRIPTION Referring now to Figs. 1-3 wherein like reference numerals represent like parts, an observer/controller 10 of the present invention is shown in conjunction with a permanent-magnet synchronous motor 12 with no traditional motion sensors connected to it, with phase or stator windings which are electrically connected to an amplifier 32. Amplifier 32 commands phase input voltages 38 to be applied to the stator windings. A current sensor 24 measures stator currents 22 which are sensed as phase current measurements 44 by a microprocessor 26 via A/D (analog-to-digital) converter 34. Microprocessor 26 estimates rotor position 20 and rotor velocity 18 and controls rotor position 20 and rotor velocity 18 based on the estimates observed. Both features of estimating and controlling rotor position 20 and rotor velocity 18 are imbedded within the hardware and software of microprocessor 26. Microprocessor 26 receives input commands 36 via A/D converter 28. Microprocessor 26 is capable of commanding either sensorless velocity control or sensorless position control depending on the type of command presented at input command 36. Microprocessor 26 also commands amplifier 32 to apply specified amounts of voltage to motor 12 as phase input voltages 38. The control implemented by observer/controller 10 is performed digitally and therefore has better performance than analog implementations of this circuitry when exposed to noise and other disturbances. Referring now more specifically to Fig. 3, an alternate embodiment of the present invention is shown comprising microprocessor 26, amplifier 32, and current sensors 24. In this embodiment, analog or digital position or velocity command inputs may be fed to microprocessor 26 at input command 36. For the highest sensorless performance possible, a state-of-the-art 32-bit floating point DSP microprocessor may be used. This embodiment is capable of providing position control to within approximately 0.01 electrical radians, and is insensitive to load and/or motor parameter variation. Amplifier 32 may be a generic PWM power amplifier sized according to the power requirements of motor 12. Having above described the general control scheme according to the present invention, attention is now turned to the mathematical basis of the invention. In this regard, the term K(θ)must be determined for the motor to be controlled by conventional methods known to those skilled in the art before application of the control method of the present invention. Motor Model We will consider a magnetically linear p phase motor model given by Λ = "<*> CD L t = --Rι(t) - ω(t)K(9(i)) + »( (3) v(0 = ι( (4) where Θ(Q) = θ , u>(0) = ω 0 and ι(0) = ι ' o. In (l)-(4), θ(t) is the rotor position, .(t) is the rotor velocity, i(t) is a /? vector of stator phase currents, y(t) is the measured output, v(t) is a p vector of stator phase input voltages, TL(θ(t), (t), t) is the load torque, K(θ(t)) is the p vector of torque-angle characteristic functions, J is the total rotor inertia, L is the scalar phase self-inductance, and R is the scalar phase resistance. It should be emphasized that y{t) is the only measured quantity — no other information about the motor states is known. We assume that the input voltage v(t) is a piecewise-constant signal generated by a linear amplifier driven by a digital-to-analog converter, and hence r( = v{nT) =: φ], t € [nT, (n + 1)T) (5) where T is the sampling period. (Note that the "=:" notation means that the quantity on the left defines the quantity on the right. Similarly, the notation ":==" means that the quantity on the right defines that on the left.) When instead a high-frequency PWM amplifier is used, v[n] would represent the average value of voltage applied over the nth sampling interval. The value of T is chosen according to the slow mechanical dynamics. For instance, if TJ-, = Bω (i.e., the load torque is simple viscous friction), then a reasonable choice for the sampling period would be T = O.OOU/B. Approximate Time-Scale Decomposition The first simplification we make is the assumption that I < 1. Under this as¬ sumption, the system (l)-(3) is singularly perturbed with the mechanical variables θ and ω evolving in a much slower time-scale than the electrical variables i. Classical approximations are often invoked for singularly perturbed systems with smooth inputs so as to simplify analysis and design. However, we have piecewise-constant inputs, (5), and consequently, fast transients are re-excited at each instant t = nT. In order to address this complication, we perform a piecewise decomposition over each interval t e [nT, (n + l)T). Formally setting 1 = 0 and replacing state quantities with their slow approximations in (3) defines the family of slow manifolds i, := j ( - w . ( AW ) + »M) (6) Substituting (6) into the mechanical state equations results in the slow subsystem - « . ( (7) where θ s (0) = θ 0 and ω a (0) = ω 0 . To model the deviation of the electrical state variables from (6), we use the fast time-scales r. :- X^ (10) and the associated family of fast subsystems di /(«) = -Ri f{n) (τ n ) (11) dτ n y/(n)K) = » ' /(n)(r n ) (12) where i Q + ^(ω o K(θ Q ) - v[0}), n = 0 */(n)(0) = (13) * ' /(n-D (r) + H n " ! ) - υ W ) ' " > ° and where the subscript (n) denotes the nth family member, of interest on t € [nT. (n- 1)T). Note that the initial conditions (13) provide for a resetting of the family members proportional to the input step v[n] — υ[n — 1]. It can be shown that the reduced-order subsystems (7)-(9) and (11)— (12) can be used to approximate the dynamics of the original system (l)-(4). Although they are based on an approximation, these subsystem models allow one to decompose controller and/or observer design problems into a two-step procedure. Specifically, we separately solve the decoupled slow and fast subproblems, then compose the results to obtain an approximate solution to the original design problem. Approximate Discretization Since we seek a discrete-time observer method, we also need to find the approximate discretization of the slow subsystem and family of fast subsystems. We thus sample the slow subsystem at the instants t = nT and make use of the Euler approximation x(nT + T) = x{nT) + T~(nT) + 0(T 2 ) ( 14) at Discretization methods yielding higher accuracy in T are available, but we will use ( 14) because of the resulting simplicity. Applying (14) to (7)-(9) yields the discrete slow subsystem θ.[n + l] = Θ,[n] + Tώ,[n] (lδ) =: F β (θ,[n},ώ,[n}) T ( ώ,[n + l] = ώ s [n} + — [ -τ L (θ 3 [n},ώ a [n], nT) +i (-ώ.[n] |Λ " (0 ])[ 2 + v τ [n]K(θ.[n)ή ) ( 16) =: F e a [n}, > s [n], v[n}) y.N = (-ω a [n)K(θ a [n)) + v[n)) (17) where θ a [ ] = ΘQ and ώ a [0] = ω Q . Note that the " ~ " notation emphasizes the approxi¬ mations θ a [n] = θ a (nT) + 0{T 2 ) and ώ a [n) = ω a (nT) + 0(T 2 ). In order to preserve the time-scale separation between the slow subsystem and the family of fast subsystems in discrete-time, we sample the family of fast subsystems at a higher rate than the slow subsystem. Specifically, we sample (11)— (12) at the instants r n = mT/(kL), where k is an integer such that T/k = O(L). The fast and slow sampling rates thus differ by the factor k. Note that although the input v(t) is updated only every T seconds, we are assuming that we can measure the output i(t) every T/k seconds. Since (11)— (12) is linear for each n, exact discretization is possible. The result is the discrete family of fast subsystems (n)[™ + 1] = exp ^-— J 7 /(n) [m] (18) y/(n)[m] = ϊ/(n)H (19) where /(n)l ] " I «-/(-ι,W + i(«[n " 1] - v[n]), n > 0 (20) Note that the " " " notation is retained to emphasize the discrete-time nature of these subsystems, even though the discretization is exact (i.e., t/(n)l m ] Accuracy of Approximations The following theorem establishes the discrete slow subsystem and discrete family of fast subsystems as approximations to the actual trajectories of the original system (l)-(4). It is important to establish the validity of the approximations we have made, since it is the discrete subsystems (15)— (17) and (IS)— (19) that will be used for the observer and controller analysis and design to follow. Theorem 1 There exist an L' > 0 and T" > 0 such that, for any L ζ (0, L") and T (0, T"), solutions of the discrete-time approximate subsystems (15)-(17) and (18)- (19) satisfy θ 3 [n] = θ(nT) + 0(L + T 2 ) (21 ) ύ,[n) = ω{nT) + 0(L + T 2 ) (22) y/(«)[0] + y.W = i(nT) + 0(L + T 2 ) (23) for all finite n > 0. Furthermore, given any T € (0, T"), there exists an L"{T) > 0 such that, for any L € (0, I*"(T)), (21) and (22) hold and y a [n] = i(nT) - ~(v[n - 1] - v[n}) + 0(L + T 2 ) (24) for all finite n > 1. Proof: By a straightforward inductive application of Tikhonov's Theorem over each of the time intervals t € [nT, (n+l)T), and by the fact that solutions of smooth differential equations depend continuously on initial conditions, it can be shown that there exists an L" > 0 such that, for any L £ (0, _ * ), 0,(0 = θ{t) + 0(L) (25) ω.{t) = ω{t) + 0(L) (26) y.W + ϊ/(,)(r.) = i(t) + 0(L) (27) for all t E [nT, (n + 1)T) and all finite π > 0. Since the approximate discretization we used is 0(T 2 ) accurate (and exact in the case of the fast subsystems), (21)-(23) follow immediately. In order for (24) to hold, it is necessary that ι /(B -.ι,(*] = 0(1 + 2") (28) In light of (18), it is clear that this is equivalent to requiring that exp (- ) = 0( + T 2 ) (29) Since R > 0, the desired result is proved. State Feedback Control All of the output feedback controllers considered here consist of an observer driving a state feedback controller. Furthermore, since the control scheme used affects the ob¬ servability of the system, we are obliged to consider the state feedback control problem before designing any observers. We begin the controller design process by artificially assuming that θ[n) := θ(nT) and u. [n] := ω{nT) are available as measurements. Linearizing Torque/Acceleration Control Starting with the discrete slow subsystem (15)— (17), we apply the p phase volt¬ ages v[n) = υ τ [n} + υ a [n] (30) where v τ [n] provides for torque production and v a [n] is ideally a zero-torque producing vector of sensing voltages that will be used in the next section to satisfy observability rank requirements. We choose the torque producing voltages as v τ [n) = ω[n}K(θ[n}) + (31) where r β [π] is an electrical torque command signal. All practical motor designs guar¬ antee that ||iv (0)|| 0 for any θ. Under the assumption θ s [n] = θ[n] and ώ,[n] = ω[n], and if v s [n] is chosen so that υ [n] K(θ[n}) = 0, then application of the voltages result in a discrate slow subsystem electrical torque exactly equal to τ d [n]. For motion control, it is necessary to command angular acceleration rather than electrical torque. If we choose Td[n) = τ L {θ[n],im [n], nT) + Ja d [n] (32) where [n] is an angular acceleration command signal, then, again under the assump¬ tion θ a [n] = θ[n] and ώ,[n] = [n], the discrete slow subsystem will possess angular acceleration exactly equal to α;_ . [n]. In light of Theorem 1, we can conclude that the actual motion of (l)-(3) under this choice of nonlinear feedback will satisfy θ[n + 1] d [n} + 0(L + T 2 ) (33) ω[n + 1] In other words, for sufficiently small L and T, the closed-loop motion trajectory is approximately governed by a linear controllable difference equation. Of course, θ[n] and ω[n] are not measured and must be estimated by observer algorithms. Hence, implementable versions of the torque and acceleration controls (31 ) and (32) are v r [n] = ύ[n)K( [n)) + (34) T d [n} = τ L (θ[n), [n), nT) + Jα d [n] (35) where θ[n] and ώ[n) are estimates of θ[n] and ι[n]. Motion Tracking Control With the linearizing torque/acceleration controller in hand, we are now ready to design trajectory tracking outer loop controls. We consider two possibilities: velocity tracking and position tracking. In the first case, we are given some desired velocity trajectory ωj[n], whereas in the second case, we are given a desired position trajectory θ d [n] from which we define an associated velocity trajectory ω d [n] = (Θ d [n+1]—Θ d [n])/T. Assuming for the moment that θ[n] and ω[n] were available as measurements, we would command the acceleration according to ψ (J -S u/ W - >[π] + ω d [n + 1]) , Vι elocity control α d [n] = (37) i (K θ ε θ [n) + K u e.M - w[n] + ω d [n + 1]) , position control where the trajectory tracking errors are defined by εe[n] := θ[n] - θ d [n) and ε i) := ω[n] — ω d [n]. If (37) were implemented for velocity control, then the error dynamics from (33) would be e w [n + l] = K.^[n] + 0{L + T 2 ) (38) By choosing — 1 < K ^ , < 1, we would achieve a perturbation from asymptotic velocity tracking. If (37) were implemented for position control, then the error dynamics from (33) would be ε β [n + l] 1 T ε e [n) ε u [n + 1] Aβ A',_, e u [n) + 0(L + T 2 ) (39) By choosing K$ < 0 and - j A ' ø — 1 < A ' w < TK$ + 1, we would achieve a perturbation from asymptotic position tracking. Of course, θ[n] and ω[n] are not measured and must be estimated by observer algorithms. Hence, the implementable version of the tracking controller (37) is given by ε ω [n] - ώ[n] + ω d [n + 1]) , velocity control <*d IS (40) βeβfπl + KX [nn]] -— ώώ\[nn]] ++ ωω dd \[nn + l]) , position control where θ[n] and ώ[n] are estimates of θ[n] and :[n], and where ø[n] := θ[n] — θ d [n] and ω [n] := ώ[n] — ω [n] are the estimated tracking errors. State Observers We are now ready to design the observers that supply the state information to the feedback controllers. In the following subsections, we will propose four different observer methods — two for velocity control and two for position control. Hence, in order to provide advance clarification, we note that (34)-(35) and (40) are actually implemented with the assignment where notations on the right-hand-side of (41) will be defined in the sequel. Velocity Control Observers The first step in constructing the observer for velocity control is the rearrangement of the slow output equation (17) y » " » ["] = -^[nj ' ^.n]) == H vel ( "]. M) (42) Clearly, if H ve ι(-, -) is locally invertible, then we may compute θ 3 and ώ a by simply inverting the p nonlinear equations (42). A sufficient condition for invertibilit is that the p x 2 Jacobian of H ve ι(-, •) have full column rank. Assumption 1 The Jαcobiαn J // „, h s full column rank for all θ 3 and ώ 3 φ 0. Example: Consider a three-phase motor with torque-angle characteristic function where K m is the magnet constant and N p is the number of magnet pole pairs. The Jacobian of H ve .(-, •) N p ω 3 cos(N p θ a ) sin(N p ^) K„ JH ' V vc-l* = N p ώ, cos (N p θ 3 - ) sin (N p θ 3 - j (45) R N p ώ a cos [N p θ 3 - sin (N p θ, - ** ■ can be shown to have full column rank for all θ 3 and ώ 3 0, and thus satisfies the requirements of Assumption 1. It may also be shown that Assumption 1 is satisfied for any p phase motor with sinusoidal torque-angle characteristics, and for any p phase motor with trapezoidal torque-angle characteristics if the fiat part of the torque-angle curves do not overlap. Since the validity of Assumption 1 does not depend on υ[n], we choose v 3 [n) = 0, n > 0 for velocity control to provide for the most energy efficient operation. When Assumption 1 is true, then it is theoretically possible to invert H vt ι(-, -), giving fc] ] - Jtf (f.M- 5 .M) («> where H ~ e ) is the implicitly defined inverse function. This expression, however, cannot be used as an observer, because it depends on the fictitious slow output In order to overcome this difficulty, we will estimate y,[n] by first noting from (23) and (20) that y.[n) = i(nT) - 7 (n - s ,[fc] - ±(v[n - 1] - v[n)) + 0(L + T 2 ) (47) for n > 1. Thus, if we can estimate ij{ -i)[k}, then we can estimate y 3 [n] and thereby realize an implementable observer. Using ( 18)— (19), we compute the difference y/(n-i)[*] - /(n-i)[* - 1] = (exp (-^ j ) - ) */(n-υ[* - 1] (48) and we solve for i/ {n - \ ) [k — 1]. Propagating the result forward through (18), we obtain ϊ /( .-,)[*] = Λ -(y/(..i)[i] - y/(n-ι)[λ- - 1]) (49) Because T/k = O(L), the slow quantities are approximately constant from one fast sampling instant to the next. Specifically, we have y 3 (t) — y a (t — T/k) = 0{L). Using this fact together with (27) gives the approximation y /(n -ι)[fc] - y/(»-i)[* - 1] = i(nT) - i (nT - ) + O(L) (50) An estimate of if (n -i ) [k] which is computable for n > 1 is thus m-ιm = ^ Vffl , nT) - « (nT - ϊ) ) (51) eχp (- rj - l k J J Turning our attention back to (46), we now estimate y 3 [n] by replacing ij( -i ) [k] in (47) with i/ {n -i ) [k] from (51), and substituting this into (46) to yield the implementable slow observer := H-) (i(nT) - i nn . l} [k] - iυ[n - 1]) (52) which is computable for n > 1. Theorem 2 Under Assumption 1, there exist an L~ > 0 and T" > 0 such that, for any L € (0, L") and T € (0, T"), θ vel [n] = θ(nT) + 0(L + T 2 ) (53) ώ ve ,[n] = ω(nT) + 0(L + T 2 ) (54) for all finite n > 1. Proof: The result follows from Theorem l,the approximation (50) and the continuity of the functions involved. From Theorem 1, sufficiently small L implies that we may use (24) to estimate y,[n] in (46). In this case, we can simplify the observer to obtain which is computable for n > 1. Not only does this observer avoid the computation of (51), it also does not require that i(t) be measured with the faster sampling inverval T/k. Corollary 1 Under Assumption 1, for sufficiently small T > 0 there exists an L"(T) > 0 such that for any L 6 (0, L"(T)) θ υ M = θ(nT) + 0(L + T 2 ) (56) ώ vel [n] = u(nT) + 0(L + T 2 ) (57) for all finite n > 1. Position Control Observers The mapping H υe ι(-, ') is not invertible whenever ώ 3 [n] — 0. Clearly, this is unac¬ ceptable for position control. For this reason, we must extend our approach to handle the zero velocity case. Toward this end, we construct the set of 2p nonlinear equations in 2 unknowns y 3 [n - 1] - £v[n - 1] = H p03 (θ,[n - l], ώ,[n - l], v[n - 1]) (58) where A sufficient condition for the invertibility of (58) is that the 2p x 2 Jacobian have full column rank, where J/ Vιl is as in (43). Assumption 2 The Jacobian J PO , ha full column rank for all θ 3 and J 3 , including ω, = 0. To illuminate this requirement, we expand J / I Hmm. (61) Note that the full column rank of JH„ tl implies the full column rank of JH PO1 • Thus, if we continue to make Assumption 1, then it is only necessary to test the rank of JH PO , under the condition ω 3 [n] = 0. Note also that any practical motor design requires that K(θ 3 ) 0 for any θ 3 . But by (43), this implies ^ - ψ 0. Also from (43), 3 [n] = 0 implies that dH υe ι/dθ 3 = 0. Thus, to insure the local invertibility of H p03 (-, -, -), it is only necessary to prove that at least one of the bottom p elements of the first column of JH PO , i* 3 nonzero for all θ 3 when . = 0. Combining these conditions, Assumption 2 is satisfied if Assumption 1 is satisfied, and if For purely frictional loads (a very common case), it should be noted that the load torque τ£ is independent of θ, causing the first term in (62) to drop out. Of greater concern is the fact that if we choose v 3 [n] = 0, then v[n] will tend to zero whenever we successfully regulate to the desired position (at which ω = 0). But this choice will clearly result in a violation of (62). For this reason, we choose v,[n) to satisfy two crucial properties: 1. v 3 [n} τ ^(θ 3 [n]) φ 0 for all θ.[n] 2. v 3 [n] τ K(θ 3 [n]) = 0 for all θ,[n] The first of these insures that the sensing voltages maintain (62) under a purely fric¬ tional load. The second property implies (under the assumption θ s [n] = θ[n}) that the sensing voltages produce no torque and thus do not interfere with the design of v τ [n]. Our choice for the sensing voltages is v 3J [n] := 7 J s ^(e - j)K t (θ[n}), j = l, . .. ,p (63) where is a small positive scaling constant and we take sign(0) = 0. This scheme is implementable because it uses θ[n] rather than the unknown θ 3 [n]. It is easy to show that if θ[n] = θ 3 [n] then these sensing voltages satisfy the second property. With more effort, it may be verified that the first property is satisfied for any motor with sinusoidal torque-angle characteristics, or any motor with trapezoidal torque-angle characteristics provided that the flat parts of the torque-angle curves do not overlap. Since in general θ[n] φ θ,[n], a small amount of residual torque will result from the sensing voltages. (The magnitude of this torque can be limited by choosing a small 7. Very small 7, however, leads to ill-conditioning in the observer, at zero speed.) If 7 is positive, this residual torque will tend to pull the rotor back to θ[n], while a negative 7 will tend to push the rotor away from θ[n). Since this latter case could tend to destabilize the system, we insist that 7 > 0. Example: Consider again the three phase motor with torque-angle characteristic function given by (44). Let us further presume that the load torque is purely frictional, so that dτι/dθ = 0. We have already shown that this motor satisfies Assumption 1. Further, with the sensing voltages given by (63), it may be shown that Thus, Assumption 2 is satisfied when v τ [n] = 0. Note that we cannot claim that Assumption 2 is maintained under all trajectories. It is possible that at a precise instant when ω 3 [n] = 0, the torque producing v τ [n] could assume a value which results in violation of (62). This would be, however, an isolated event (and may be handled by a sufficiently robust numerical implementation). The sensing voltages do solve the systematic loss of observability problem inherent in the unexcited motor at zero velocity. Assumption 2 allows us to determine a local inverse for Hpo 4 (*, •, •), yielding 9.[n - 1] y 3 [n - 1] - v [n - 1] = H. ώ 3 [n pos (65) 1] y 3 [n) - ±v[n] where H~ S is the implicitly defined inverse function. This expression is not computable because it depends on the unknown quantity y 3 [n]. By again using (51), we estimate the unknown y 3 [n], resulting in the implementable observer θ pos n - 1] « ' ((n - 1)T) - i /( .- a ,[*] - i«[n - 2] := H. -1 os (66) ω J.++os n - 1] »(nr) - t /(n _, ) [*] - iv[n - l] ) θ 'ppoossln] ω Jp M os !l [ n } which is computable for all n > 2. Theorem 3 Under Assumption 2, there exist an L * > 0 and T" > 0 such that, for any L € (0, 1 * ) and T € (0, 7"), θp 03 [n] = θ(nT) + 0(L + T 2 ) (68) ώ p03 [n] = ω(nT) + 0(L + T 2 ) (69) for all finite n > 2. Proof: The result follows from Theorem 1, the approximation (50) and the continuity of the functions involved. As in the velocity control case, we can simplify the slow observer if L is sufficiently small, to obtain θ p03 [n] Fe(fy,[n - ]XΪ 03 [n - 1}) ^(^[n - l], ώ p + 0J [n - l], r [n - l]) (71) which is computable for all n > 2. As with the observer of Corollary 1, this observer does not require the computation of t/ (n) [fc] and it allows the output i(t) to be sampled on the slower sampling interval T. Corollary 2 Under Assumption 2, for sufficiently small T > 0 there exists an L"{T) > 0 such that for any L € (0, E"""(T)) θp o s[n] = θ(nT) + 0(L + T 2 ) (72) ώ poa [n] = (nT) + 0(L + T 2 ) (73) for all finite n > 2. Observer Implementation Issues In practice, it is generally impossible to write down a closed-form expression for H~ e ) or ~ . Instead, we solve the inversion problem numerically at each n. One tech¬ nique that has worked well in practice is based on nonlinear least squares minimization. Specifically, for the observer of Theorem 2, we solve mmimizer *-ff * e/(M"]ι ώve/M) - i(nT) + i/ (n -ι)[fc] + v[n - 1] (74) ύυel n] and for the observer of Theorem 3, we solve = minimizer Hp 0 s(θ 3 [n - l]Xi 3 [n - l}, υ[n - l}) ύ p + - 1] i((.n - l )T) - ι f{n _ 7) [k] - ± ■ nv.[nn -- 21) HI ι(nT) - ! („_ ! ,[*] - τ j - 1] (75) Implementation of the two corollary observers proceeds in the same fashion (replacing * with " and i/ [n) [k] with 0 for each n). We implement both minimization problems using a technique, which solves the associated linearized least squares problem iteratively for each n. As expected, solving sets of nonlinear equations via an optimization procedure suffers from the disadvantage that the technique may converge to a minimum which does not correspond to a solution of the equations. It offers a significant advantage, however, in that it uses all p or 2p equations to find the approximate root, yielding robustness to sensor noise. This technique allows us to gracefully handle any occasional loss of rank that may occur in the position control observer problem. Assumptions 1 and 2 do not insure that the mappings H ve\ and H p03 are globally injective. In fact, all motors admit multiple solutions to the observer inversion problem. Since any torque-angle characteristic function is periodic in N p θ, if (*9, ώ] r solves the observer problem, then so does [θ z2τr/y p X] τ . Furthermore, most motors have an odd symmetry in their torque-angle characteristic functions, so that K{θ) = —K(θ + -/y p ). Thus, if [#,ώ] r solves the observer problem, then so does [θ ± τr/N p , —ώ] τ . For these reasons, it is required to use heuristic rules to choose the correct solution We will assume that T is small enough such that the rotor travels less than ±π/(2N p ) between slow sampling instants. In this case, the correct solution is the one closest to the previ¬ ous estimate. If we know the initial rotor position to within this same tolerance, then this scheme will provide the correct solution. Note that such an assumption limits, for a given T, the maximum rotor velocity which we can reliably achieve. Further¬ more, choosing T to be relatively small (which allows for higher velocity operation) can severely limit the value of L for which the observers of Corollaries 1 and 2 are applicable. Finally, high-speed mechanical operation naturally tends to decrease the time-scale separation upon which the whole technique is based, thereby further limiting the applicability of even the Theorem 2 and 3 observers in high-speed applications. Simulation Results In order to test the output feedback control laws presented in the previous sections, computer simulations were run for a three phase motor with sinusoidal torque-angle characteristic function given by (44). The load is assumed to be pure viscous friction τι = Bω. Based on a commercially available motor, the parameters used in the simu¬ lations were N p = 2 pole pairs, R = 0.418 Ω, L nom - 0.131 mH, A ' m = 29.4 mΝ-m/A. J = 0.0205 g-m 2 /rad, B = 0.013 g-m 2 /rad-sec, T = 0.001 sec and k = 10. The torque- angle characteristic K(θ) is assumed to be trapezoidal, and is shown in Fig. 4. Note that the inductance listed above is the nominal value. In order to show the influence of time-scale separation on closed-loop performance, we will simulate the motor at nomi¬ nal and above nominal inductance. In all cases, we assume that the rotor starts from rest (i.e., we set ώ[0] = U-Ό = 0 rad/sec) and that our initial estimate of rotor position is in error (with [0] = 0 rad but θ 0 = 0.2 rad). For the velocity control cases, we select K ω = 0.8, while for position control, we choose the gains Kg = —0.025 and A * ^ = 0.99. We begin by considering velocity trajectory tracking, with the desired trajectory shown in Fig. 5. Note that we do not attempt to smoothly guide the rotor from rest, as this causes stiffness problems in the observer algorithms. We do attempt a change of direction, however. Our simplest approach is based on the observer given in Corollary 1, which yields estimates θ υe ι and ώ υe/ . Fig. 6 shows the tracking error for this setup at L nom , l0L nom and 50 nom . The system exhibits excellent tracking performance at L nom i which degrades gracefully at 50Z* nom . A more complex approach is based on the observer of Theorem 2, which yields estimates θ ve ι and ώ υe/ . In Fig. 7, we show the corresponding errors at 50Z.„ om , 100X nom and 500L nom . Although none of these plots exhibits particularly good tracking performance, the tracking error is almost entirely due to the controller rather than the observer. This is clear in Fig. 8, where the velocity estimation error for both the Corollary 1 (ω — ώ vet ) and Theorem 2 (ω — ώ υe ι) observers is plotted at 50L nom . We see that the theorem version performs significantly better than the corollary version, implying that the poor performance is due to the controller, not the observer. We next consider position trajectory tracking, with the desired trajectory given in Fig. 9. The simplest output feedback controller is based on the observer of Corollary 2, which yields estimates θ p03 and ώ υe/ . The tracking error for this system at 0.5L nom , Lnom a-nd 2L nom is shown in Fig. 10. The system does a good job at 0.5 „ om and L nom . but it fails completely at 2E nom . OS«er er failure accounts for the dismal performance at 2_ nom . The more complex output feedback controller is based on the observer of Theorem 3, which yields estimates θ po , and ώ p03 . The tracking error for this system at L nom , 2L nom and 2L nom is shown in Fig. 11. The performance degrades with increasing inductance, but the tracking errors remain good in each case. In Fig. 12, the position estimation error for the Corollary 2 (θ — θ p03 ) and Theorem 3 (θ — θ p03 ) observers is plotted at 2E nom . The corollary observer fails completely at this inductance, exhibiting an electrical cycle jump after the startup sequence (this despite the heuristics discussed above). In contrast, the theorem observer provides excellent estimates throughout the simulation. Conclusions In this application, we have presented a new technique for sensorless velocity or position control of permanent-magnet synchronous motors. The technique is applica¬ ble to a broad class of such motors, including the common sinusoidal and Tapezoidal cases. Based on time-scale separation approximations, significant contributions of the invention are new discrete-time reduced-order nonlinear observers, which produce es¬ timates of the rotor position and velocity accurate to 0{L + T 2 ) from stator current measurements only. These estimates are then used to driλ'e a linearizing slow controller, resulting in output feedback control. In order to overcome the zero-speed loss of ob¬ servability, sensing voltages are used, extending the technique to the position control case. Fig. 4 shows an assumed torque-angle characteristic for the trapazoidally wound motor under simulation. Fig. 5 shows a graphical representation of a desired rotor velocity trajectory for a permanent magnet synchronous motor. Fig. 6 shows a graphical representation of velocity tracking error of the present invention using Equation 55. Fig. 7 shows a graphical representation of velocity tracking error of the present invention using Equation 52. Fig. 8 shows a graphical representation of velocity estimation error of the present invention using Equations 52 and 55. Fig. 9 shows a graphical representation of a desired rotor position trajectory for a permanent-magnet synchronous motor. Fig. 10 shows a graphical representation of position tracking error of the present invention using Equations 70 and 71. Fig. 11 shows a graphical representation of position tracking error of the present invention using Equations 66 and 67. Fig. 12 shows a graphical representation of position estimation error of the present invention using Equations 70-71 and 66-67. The present invention contemplates either on-line or off- line solution of a system of nonlinear algebraic equations. On-line solution involves a real time solution via microprocessor 26. In the alternative, the present invention preferably involves resolving the system of nonlinear equations for all possible input values of the phase current measurements 44 and putting solutions in a look-up table which is programmed, for example, into an EPRO memory chip. The present invention has direct applicability to disk drive systems where it is desirable to rotate memory storage media at a constant velocity as opposed to rotating the media at a non-constant velocity inherent in commutation-only control techniques. Also, disk drive positioning and other positioning servo systems such as robotics can benefit from the use of the present invention. The accuracy of the present invention is not affected by the number of poles or the number of phases. Rather, the present invention precisely estimates the specific angular rotor position limited only by the accuracy of the microprocessor used. The present invention provides higher resolution information than any of the existing control techniques for a larger class of permanent-magnet motors and a larger variety of such motors. Furthermore, the present invention requires fewer components than existing techniques in that it does not require sensing coils or integrators. The entire concept of the present invention can be packaged on a printed circuit board with integrated circuits and sold separately or together as a motor/amplifier pair. In this regard, the present invention represents a stand-alone solution to the sensorless control problem. While the present invention has been described in connection with sensorless control schemes, it will be clear to those skilled in the art that the invention is equally applicable to control schemes also utilizing traditional motion sensors such as tachometers, resolvers, and optical encoders. It will be obvious to those skilled in the art that many variations may be made in the embodiments chosen for the purpose of illustrating the best mode of making and using the present invention without departing from the scope and spirit of the appended claims.

Claims: What is claimed: 1. A method of controlling motor position for a multiphase brushless permanent-magnet motor, comprising the steps of: measuring stator phase currents during sampling periods of preselected duration and generating stator phase current signals indicating the amount of current flowing in each stator phase; using the stator phase current signals to obtain estimates of rotor position and velocity; using the estimates of rotor position and velocity to determine amounts of voltage to apply to each stator phase so as to achieve a desired rotor position; applying the determined amounts of voltage to each stator phase so as to attain the desired rotor position; and updating the current measurements, the position and velocity estimates, and the determined amounts of voltage during each sampling period by an approximate discretization technique so as to attain continuous rotor position control. 2. The method of Claim 1, wherein the steps are performed by a microprocessor. 3. The method of Claim 1, wherein the estimates of rotor position and velocity are calculated according to the following: " ι((n - l)T) - ? /(ll -.„[fc] - Jυ[n - 2] " . «'(nr) - ? /{llrlJ [fc] - Jvln - l] 4. The method of Claim 1, wherein the estimates of rotor position and velocity are calculated according to the following: l]) 5. The method of Claim 3, wherein the rotor position is observable when the rotor speed is zero. 6. The method of Claim 4, wherein the sampling period, T, is on the order of one millisecond in duration. 7. The method of Claim 1, wherein the sampling period is on the order of one millisecond in duration. 8. A method of controlling rotor velocity for a multiphase brushless permanent-magnet motor, comprising the steps of: measuring stator phase currents during sampling periods of preselected duration and generating stator phase current signals indicating the amount of current flowing in each stator phase; using the stator phase current signals to obtain estimates of rotor position and velocity; using the estimates of rotor position and velocity to determine amounts of voltage to apply to each stator phase so as to achieve a desired rotor velocity; applying the determined amounts of voltage to each stator phase so as to attain the desired rotor velocity; and updating the current measurements, the position and velocity estimates, and the determined amounts of voltage during each sampling period by an approximate discretization technique so as to attain continuous rotor velocity control. 9. The method of Claim 8, wherein the steps are performed by a microprocessor. 10. The method of Claim 8, wherein the sampling period is on the order of one millisecond in duration. 11. The method of Claim 8, wherein the estimates of rotor position and velocity are calculated according to the following: ut ,n :β Jir «l(»(nr) • -?/(.-,)[*] - ufn-!]) 12. The method of Claim 8, wherein the estimates of rotor position and velocity are calculated according to the following: øvdW := H (i(nT) - i«[n- 1]) ύ ve /M .

Inventors: SHOUSE KENNETH R, TAYLOR DAVID G, SHOUSE, KENNETH, R., TAYLOR, DAVID, G.
Applicants: GEORGIA TECH RES INST, GEORGIA TECH RESEARCH CORPORATION
Application year: 1993
Main classification: H02P6
IPC codes: H02K29, H02P6