Abstract:
The invention comprises an apparatus and a method for controlling permanent magnet AC machines. Stator voltages and stator currents are sensed to produce signals which are utilized by a digital circuit to calculate control signals for the machine.

Description:
BACKGROUND OF THE INVENTION 
     Summary of the Prior Art 
     Permanent Magnet Synchronous machines are emerging as candidates for industrial drive applications. High energy permanent magnets and the use of high speed micro-processors are primary factors contributing to the popularity of the systems. For high performance applications, absolute rotor position and speed signals, which have been typically provided by shaft mounted sensors, are required. Such sensors are expensive, and in general, unreliable. 
     Summary of The Invention 
     All permanent magnet synchronous machines with sinusoidally distributed windings exhibit salient pole characteristics whether the machine is of the wound rotor type with interior magnets or surface magnets or flat disc type. 
     The controller and methods which are the subject matter of this invention exploits these salient pole characteristics of permanent magnet synchronous machines to calculate the rotor position and rotor speed thus eliminating the sensors which prior art systems required to measure rotor position and speed. 
     Specifically, the controller estimates (calculates) the rotor position and speed of a permanent magnet synchronous machine based on measured operating parameters of the machine. The specific calculation utilizes a mathematical model of a typical permanent magnet synchronous machine and measurements of the stator currents and the stator voltages. 
     Under rotating conditions the operating stator voltages and the operating stator currents are measured to generate signals which are utilized to calculate the rotor position and rotating speed. When the rotor is static, high frequency voltage, not producing rotation, is applied to the stator. The amplitude of stator voltages and the current flowing in the stator windings are measured to produce signals permitting the stator position under static conditions to be estimated. The calculated parameters are utilized to control the machine in accordance with known control techniques. This method eliminates both rotor position and speed sensors associated with prior art controllers. Eliminating these sensors significantly improves the performance and the reliability of the system. 
    
    
     DESCRIPTION OF THE DRAWINGS 
     FIG. 1 is a block diagram of the apparatus utilized to calculate the angle of the rotor and speed under rotation conditions. 
     FIG. 2 is a phasor diagram illustration of the characteristics of the permanent magnet synchronous machine. 
     FIG. 3 is an equivalent circuit of the permanent magnet synchronous machine. 
     FIG. 4 is a second equivalent circuit of the permanent magnet synchronous machine. 
     FIG. 5 is a curve of the magnetic flux produced by the permanent magnet synchronous machine as a function of stator current. 
     FIG. 6 is a diagram illustrating the connection of the stator windings used to calculate the rotor polarity. 
     FIG. 7 is a block diagram illustrating the apparatus used to calculate the rotor position under static rotor conditions. 
     FIG. 8 is a diagram of the complete system. 
    
    
     DETAILED DESCRIPTION 
     During rotating conditions the stator currents and the stator voltages are measured to generate signals which are utilized by the controller to calculate the rotor speed and position. During stationary rotor conditions a high frequency voltage is applied to the stator. The stator voltages and the stator currents are measured to generate high frequency stator voltage and high frequency stator current signals. These signals are used to calculate the static rotor position. 
     A generalized phasor diagram (FIG. 2) and equivalent circuits (FIG. 3 &amp; FIG. 4) of a typical permanent magnet synchronous machine are utilized to construct a mathematical model of the machine. This mathematical model in conjunction with the measured stator voltage and the stator current signals are utilized to calculate the rotor position and speed under all conditions. Control signals for the machine are calculated based on the rotor speed and position. These features of the controller are described in detail below. 
     FIG. 2 is a phasor diagram of a permanent magnet synchronous machine 20 in stationary and rotating reference frames. This phasor diagram fully describes the machine 20 and is used to describe the functioning of the controller and to produce equations comprising a mathematical model of the machine 20. This mathematical model in conjunction with measured stator voltage and stator current signals is utilized to calculate signals which control the machine, in accordance with the invention. Stated another way, this mathematical model is incorporated into the controller. 
     In FIG. 2, vectors 40, 42, and 44, respectively, represent the phase of the three stator windings. These vectors are fixed in space by the mechanical characteristics of the machine 20 and displaced from each other by 120 degrees. The corresponding stationary frame axes are represented by d s  and q s . 
     In constructing the mathematical model, it is assumed that q s  is in phase with the a-axis. The synchronously rotating reference frame associated with the machine is represented by the d e  -q e  axes, which are orthogonal to each other and rotate at an angular speed equal to the rotational speed of the rotor. 
     FIGS. 3 and 4 represent the equivalent circuit of the permanent magnet synchronous machine 20. These equivalent electrical circuits define the electrical operating parameters of the machine 20 and are used in conjunction with the phasor diagram, FIG. 2, to construct the mathematical model. 
     Typical control parameters are calculated by assuming that the rotor pole axis is aligned with the d e  axis. The rotating frame axes at static condition when the rotation is equal to Θ o  is represented by the d e  o axes and the q e  o xes. 
     When the q e  axis is positioned at an angle Θe with the q s  axes and moving at an angular velocity ωe, the following method is utilized to calculate the rotor position and speed. 
     Specifically, FIG. 1 is a functional block diagram illustrating the calculation of the rotor position and speed under rotating conditions. Functionally, the stator voltages and stator currents of the machine 20 are sensed by sensors, 22-30. The three phase voltage signals produced by sensors 22, 24, and 26 are converted to a two phase signal by a first conversion circuit 23. 
     Similarly, current signals representing phases &#34;a&#34; and &#34;b&#34;, provided by sensors 28 and 30 are utilized by a second calculation circuit 31 to calculate the current for phase &#34;c&#34;. A third calculation circuit 33 converts the three phase current signals to a two phase current signal. The two phase voltage and current signals are utilized by a micro-processor 22 to calculate the rotor position and the rotor speed in accordance with predetermined relationships determined by the mathematical model, described above. These calculated parameters are represented as the rotor angle θ e , the rotor speed, ωe the sine of the rotor angle sin (θ e ) and the cosine of the rotor angle cos(θ e ). These values are utilized to calculate control signals for the machine during rotating conditions, as further described below. Calculation of this type are well known in the prior art. 
     ESTIMATION OF ROTOR POSITION AND SPEED UNDER ROTATING CONDITION 
     As explained above, a mathematical model of the machine is used to calculate the control parameters. This model is developed below as a series of equations. Each of the equations comprising the model is assigned an equation number. This is a technique permitting each of the equations to be uniquely identified for reference purposes. This is a convenient technique because a specific calculation frequently depends on a previously developed equation. 
     Various parameters related to the machine under rotating condition can be calculated as follows. 
     Assuming that the q e  axis is at an angle θ e  with q S  -axis and moving with an angular velocity ωe, θ e  can be calculated as follows. 
     
         θ.sub.e =ωet+θ.sub.o                     Equation (1) 
    
     where θ o  is the initial rotor position. 
     Expressing the three phase stator voltages and currents in terms of stationary reference frame permits the following parameters to be calculated. 
     
         vq.sup.s =vas                                              Equation (2) 
    
     
         vd.sup.s =-(vbs-vcs)/√3                             Equation (3) 
    
     
         iq.sup.s =ias                                              (Equation 4) 
    
     
         id.sup.s =-(ibs-ics)/√3                             Equation (4) 
    
     Where ias, ibs and ics are the stator phase currents and vas, vbs and vcs are the stator phase voltages. 
     From the d e  -axis and the equivalent circuit of a PM synchronous machine shown in FIG. 3, the de-axis voltage is calculated as follows. 
     
         vd.sup.e =(Rd+p Ld)id.sup.ei -ωe Lq iq.sup.e         Equation (6) 
    
     
         Ld=L.sub.1 +Ldm                                            Equation (7) 
    
     Where, L 1  is the stator leakage inductance and Ldm is the d-axis magnetizing inductance. 
     Transforming id s  and iq s  into d e  and q e  axes permits id e  to be calculated as follows. 
     
         id.sup.e =id.sup.s cos(Θ.sub.e)+iq.sup.s sin(Θ.sub.e) Equation (8) 
    
     
         iq.sup.e =-id.sup.s sin(Θ.sub.e)+iq.sup.s cos(Θ.sub.e) Equation (9) 
    
     Substituting equation (8) and equation (9) into equation (6) yields the following equation for v d   e . 
     
         vd.sup.e =cos(Θ.sub.e)[Rd id.sup.s +Ld pid.sup.s -ωe(Lq-Ld) iq.sup.s ]+sin(Θ.sub.e)[Rq iq.sup.s +Ld piq.sup.s +ωe(Lq-Ld) id.sup.s ]                                                Equation (10) 
    
     Where: 
     Rd=d-axis stator resistance. 
     Ld, Lq=d and q axes inductances respectively. 
     Transforming vd s  and vq s  voltages onto de axis permits vd e  to be calculated as follows. 
     
         vd.sup.e =vd.sup.s cos(θ.sub.e)+vq.sup.s sin(θ.sub.e) Equation (11) 
    
     Equating equation (10) and equation (11) permits the tangent of the rotor angle to be calculated, as follows. 
     
         tan (θ.sub.e)=x/y θ.sub.e =ωt            Equation (12) 
    
     Where: 
     p=derivative operator, d/dt. 
     
         x=[-vd.sup.s +Rd id.sup.s +Ld pid.sup.s -ωe(Lq-Ld) iq.sup.s ]Equation (13) 
    
     
         y=[vq.sup.s -Rq iq.sup.s -Ld piq.sup.s -ωe(Lq-Ld) id.sup.s ]Equation (14) 
    
     
         cos(θ.sub.e)=y/z                                     Equation (15) 
    
     
         sin(θ.sub.e)=x/z                                     Equation (16) 
    
     
         z=√(x.sup.2 +y.sup.2)                               Equation (17) 
    
     From the q e  -axis and the equivalent circuit as shown in FIG. 4, vq e  can be determined by the following relationship. 
     
         vq.sup.e =(Rq+pLq)iq.sup.e +ωe Ld id.sup.e +ωe Ψf Equation (18) 
    
     
         Lq=L.sub.1 +Lqm                                            Equation (19) 
    
     Where: 
     Rq=q-axis stator resistance. 
     Ψf=Permanent magnet flux linkages. 
     L 1 ,Ldm=The stator leakage inductance and the d e  -axis magnetizing inductance respectively. 
     Substituting equation (8) and equation (9) into equation (18) gives the following value for vq e . 
     
         vq.sup.e =cos(θ.sub.e)[Rq iq.sup.s +Lq piq.sup.s -ωe(Lq-Ld)id.sup.s ]+sin(θ.sub.e)[-Rd id.sup.s -Lq pid.sup.s -ωe(Lq-Ld)iq.sup.s ]+ωe Ψf                Equation (20) 
    
     The transformation of vds and vqs onto q e  -axis defines vq e  as follows. 
     
         vq.sup.e =-vd.sup.s sin(θ.sub.e)+vq.sup.s cos(θ.sub.e) 
    
     Equating equation (20) and equation (21) yields 
     
         [vq.sup.s -Rq iq.sup.s -Lq iq.sup.s +ωe(Lq-Ld) id.sup.s ]=tan(θ.sub.e)[vd.sup.s -Rd id.sup.s -Lq pid.sup.s -ωe(Lq-Ld)iq.sup.s +ωe Ψf/cos(θ.sub.e) 
    
     Substituting equation (12) and equation (15) into equation (22) gives ##EQU1## 
     The speed, ωe, can be obtained by solving the above fourth order equation which may result in computational complexity for real time application. In order to alleviate this problem, it is assumed that the mean value of d and q axes inductances are equal in computing the speed, ωe. 
     The mean value of these inductances are given by the following equations. 
     ti Lda=Lqa=(Ld+Lq)/2                                       Equation (24) 
     This assumption results in very small error in computing the speed, as the contribution of saliency terms in computing ωe is negligible. 
     Substituting (12) and (15) in (22) with (24) gives 
     
         ωe=[√{(vq.sup.s -Rq iq.sup.s -Lqa piq.sup.s).sup.2 +(vd.sup.s -Rd.id.sup.s -Lda pid.sup.s).sup.2 }]/Ψf              Equation (25) 
    
     The rotor position, θ e , can be computed by substituting (25) into (12). 
     For successful operation of PM synchronous machine drive, absolute rotor position is required. In order to obtain absolute rotor position, initial rotor position is to be estimated. 
     ROTOR POSITION ESTIMATION WHEN ROTOR SPEED IS ZERO 
     The permanent magnet synchronous machine 20 exhibits salient pole characteristics whether the machine is surface magnet type, or interior magnet type, or flat disc type. Due to existence of salience between d e  and q e  axes, the inductance of the individual windings vary with rotor relative position. When the rotor is at stationary condition, the rotor position can be obtained by letting ωe=O in the Equation (12). This may not be a true value, as the polarity of the magnet in the vicinity of phase a-axis may be N or S. The true value of the initial rotor position can be obtained by adding O or +π to the computed θ e  depending upon the polarity of the magnet. 
     When the rotor is at stationary condition, then, ωe=O and θ e  =θ o . Substituting ωe=O and θ e  =θ o . in (12) gives 
     
         tan(θ.sub.o)=x.sub.o /y.sub.o                        Equation (26) 
    
     Where: 
     
         x.sub.o =[-vd.sub.s +Rd id.sub.s +Ld.pid.sup.s ]           Equation (27) 
    
     
         Y.sub.o =[vq.sup.s +-Rq iq.sup.s -Ld.piq.sup.s ]           Equation (28) 
    
     The true initial rotor angle depends upon the polarity of the rotor magnet. The polarity of the rotor magnet is determined as described below. 
     PERMANENT MAGNET POLARITY DETECTION 
     The polarity of the rotor is determined based on the non-linear magnetization characteristic of the stator, illustrated in FIG. 5, and the connection of the rotor windings illustrated in FIG. 6. 
     The armature core under the pole axis of the field magnet will magnetize intensively against the polarity of the rotor. As a result, when a voltage is applied to the armature phase winding, the ratio of increase in the instantaneous value of phase current changes according to the polarity of the applied voltage. For example, consider the polarity of the magnet in the vicinity of the phase a is N, and if the applied voltage is of positive polarity which aids the magnetization, then the current in the phase winding increases faster than that of the current with applied voltage with negative polarity which decreases the magnetization. This results from the non-linear magnetization characteristic of the permanent magnet synchronous motor stator core as shown in FIG. 5. 
     In practice, by applying a high frequency square wave voltage of alternating polarity and measuring the magnitude of the phase current in each case, the polarity of the magnet can be detected. The rotor magnet polarity detection circuit is shown in the FIG. 6. 
     FIG. 6 illustrates the connection of the stator windings used to calculate (estimate) the rotor position under zero rotor speed conditions utilizing this connection. A triangular high frequency signal iq* e  (about 10 times the rated frequency) is fed to the vector rotator so that the rotor does not move under this signal. 
     More specifically, initially, arbitrary unit vectors, say cos(θ e )=1 and sin(θ e )=0 are fed to the vector rotator. With id* e  =0, the inverter feeds Pulse Width Modulated voltages to the machine 20 which produces pulsating torque in the machine with zero average torque. By measuring the stator voltages and currents, the rotor position can be estimated using Equation (12). The true initial rotor position can be obtained by adding the output of the polarity detection to the computed angle. The unit vectors sin(θ eo ) and cos(θ oe ) are synthesized in the microprocessor and fed to the vector rotator. 
     The complete block diagram of a vector-controlled PM synchronous machine controller with position estimation algorithm for stationary rotor conditions is shown in FIG. 7. 
     More specifically, in FIG. 7 the details of the microprocessor 22 has been illustrated as functional blocks to more clearly illustrate the functions performed. Additionally the other elements of the controller have been added to illustrate the operation of the controller under stationary rotor conditions. 
     As illustrated in this FIG. 7 the stator voltages and the stator current signals are first utilized to calculate the rotor angle, as illustrated at reference numeral 40. A rotor polarity detection circuit generates a polarity signal which is combined with the rotor angle signal to determine the true initial rotor angle and generates a rotor position signal. Utilizing the rotor position signal angle, a computation is performed to calculate the sine and the cosine of the rotor angle as indicated at reference numeral 50. These signals are combined with a high frequency current reference signal Iq e*  by a vector rotator circuit 54 to produce a conventional two phase control signal. A two phase to three phase converter circuit 53 converts the two phase signals to a three phase signal to produce conventional control signals for a hysteresis band controller 58. In response to the control signal and the phase currents of the machine 20, the controller 58 controls a conventional inverter 60. As previously discussed, the frequency of the signal I q   e  is selected such that the rotor does not rotate and the connections of the stator windings are controlled to permit the necessary calculations to be made. 
     The functions of the initial rotor calculations, described above, are incorporated into the complete controller as illustrated in FIG. 8. In this FIG. 8, functions which are identical to those described in previous illustrations use the same reference numerals. 
     In this figure switches 60-70 are used to switch between the stationary rotor mode and the rotation mode. More specifically, when these switches are positioned as illustrated in FIG. 8, the controller operates in the stationary rotor mode, as previously described. When these switches are in their second position, the controller operates in its rotary mode. The stationary mode was previously described. The rotary mode is described below. 
     In this mode a desired rotation speed signal ωe* is coupled as an input to a subtractor 80 where it is combined with the rotation vector ωe to produce a difference signal. A difference processing circuit 82 process this signal to produce the Iq e  signal. Vector Rotator 54 receives as inputs the Iq e  signal, Id e  signal, the sine vector and the cosine vector, and produces the two phase control signal which is coupled as an input to the two phase to three phase converter 53. The remainder of the controller operates as previously described. 
     The controller can be implemented using commercially available circuits and techniques. Selected portions of the controller are preferably implemented using a programmed digital computer. Other portions may be hand wired circuits due to the speed requirements. Still other portions may utilize conventional analog circuits.