ESTIMATOR LOCK DETECTION CIRCUIT FOR A SENSORLESS SWITCHED RELUCTANCE MACHINE SYSTEM

Abstract: An estimator lock detection circuit for a sensorless switched reluctance machine system analyzes a statistical characteristic of an estimator signal to determine whether the estimator is accurately synchronized with actual machine operation. If the statistical analysis indicates that the estimator is not in lock, the estimator is reinitialized.

Description: ESTIMATOR LOCK DETECTION CIRCUIT FOR A SENSORLESS SWITCHED RELUCTANCE MACHINE SYSTEM BACKGROUND AND SUMMARY OF INVENTION The present invention relates generally to motors/generators and, more particularly, to high speed switched reluctance machines capable of starting a prime mover as well as generating electrical power for use on aircraft. The aerospace industry has consistently driven the leading edge of technology with the requirement for lightweight, high efficiency, high reliability equipment. The equipment must be lightweight because each additional pound of weight translates directly into increased fuel burn, and therefore, a higher cost of ownership and shorter range. The need for high efficiency results from the fact that each additional cubic inch required for equipment displaces the amount of revenue- generating cargo and passengers that can be carried on an aircraft. High reliability is important because every minute of delay at the gate increases the cost of ownership, and likewise, increases passenger frustration. For aircraft electric power generation systems, these pressures have precipitated great advancements in technology, but have also caused problems. Aircraft have typically used synchronous brushless AC generators or permanent magnet generators for electric power generation needs. Unfortunately, both of these types of generators require components which can fail due to the conditions under which they are required to operate (usually mounted directly on the aircraft jet engine). In addition to an electrical generator, an engine starter is also typically installed on the aircraft engine. This component is used only during starting, which occupies only a very small fraction of each operational cycle of the aircraft. In effect, the starter becomes excess baggage during the remainder of the flight, increasing overall weight, fuel burn, and cost of ownership, and decreasing overall range. This problem has been recognized and efforts have been expended to combine the starter and generator into a single package, thus eliminating the need for an additional piece of equipment used only a fraction of the time. Unfortunately, using synchronous AC or permanent magnet generators for this purpose, in addition to crating new problems associated with the start function, does not eliminate the inherent problems with these machines as described above. As an alternative to the use of the synchronous AC or the permanent magnet generator for this combined starter/generator function, a switched reluctance machine can be used. A switched reluctance machine is an inherently low cost machine, having a simple construction which is capable of very high speed operation, thus yielding a more lightweight design. The rotor of the switched reluctance machine is constructed from a simple stack of laminations making it very rugged and low cost without the containment problems associated with rotor windings or permanent magnets. Further, the rotor does not require rotating rectifiers, which contribute to failures, as does the AC synchronous machine. In order to properly operate a switched reluctance machine, it has been found necessary in the past to determine the rotor position in order to properly commutate the currents flowing in the phase windings of the machine. Resolvers are used, particularly in high speed systems, or sometimes encoders in low speed systems, to obtain a measure of rotor position. However, resolvers and required associated apparatus (chiefly, a resolver-to-digital converter and an excitation circuit) are expensive and both resolvers and encoders are a source of single point failure. In order to obviate the need for position sensors, such as resolvers or encoders, sensoriess operational techniques have been developed. The most trivial solution to sensoriess operation is to control the switched reluctance machine as a stepper motor in the fashion disclosed in Bass, et al. U.S. Patent No. 4,611,157 and ac inn U.S. Patent No. 4,642,543. In an alternative technique, machine inductance or reluctance is detected and utilized to estimate rotor position. Specifically, because the phase inductance of a switched reluctance machine varies as a function of angle from alignment of the stator pole for that phase and a rotor pole, a measurement of instantaneous phase inductance can be utilized to derive an estimate of rotor position. See MacMinn, et al. U.S. Patent No. 4,772,839, MacMinn, et al. U.S. Patent No. 4,959,596, Harris "Practical Indirect Position Sensing for a Variable Reluctance Motor," Masters of Science Thesis, MIT, May 1987, Harris, et al. "A Simple Motion Estimator for Variable Reluctance Motors," IEEE Transactions on Industrial Applications, Vol 26, No. 2, March/April, 1990, and MacMinn, et al. "Application of Sensor Integration Techniques to Switched Reluctance Motor Drives," IEEE Transactions on Industry Applications, Vol. 18, No. 6, November/December 1992. In a further technique, phase inductance can be determined using a frequency modulation approach whereby a non-torque producing phase forms part of a frequency modulation encoder. See Ehsani, et al. "Low Cost Sensoriess Switched Reluctance Motor Drives for Automotive Applications," Texas A&M Power Electronics Laboratory Report (date unknown), Ehsani, et al. "An Analysis of the Error in Indirect Rotor Position Sensing of Switched Reluctance Motors," IEEE Proceedings IECON '91, Ehsani "A Comparative Analysis of SRM Discrete Shaft Position Sensor Elimination by FM Encoder and Pulsed Impedance Sensing Schemes," Texas A&M Power Electronics Laboratory Report, (date unknown) and Ehsani, et al. "New Modulation Encoding Techniques for Indirect Rotor Position Sensing in Switched Reluctance Motors," IEEE Transactions on Industry Applications, Vol. 30, No. 1, January/February, 1994. A model-based approach to rotor position estimation has been developed by General Electric Company and is disclosed in Lyons, et al. "Flux/Current Methods for SRM Rotor Position Estimation," Proceedings of IEEE Industry Applications Society Annual Meeting, Vol. 1 , 1991 , and Lyons, et al. U.S. Patent No. 5,097,190. In this technique, a multi-phase lumped parameter model of the switched reluctance machine is developed and utilized. However, the model has been developed only for a three-phase machine wound in a north-south-north- south-north-south configuration. A position estimation subsystem has been developed by the assignee of the instant application and includes a relative angle estimation circuit, an angle combination circuit and an estimator including a Kalman filter. The relative angle estimation logic is responsive to the phase current magnitudes of the switched reluctance machine and develops an angle estimate for each phase. The angle combination logic combines the phase angle estimates to obtain an absolute angle estimate which eliminates ambiguities that would otherwise be present. The estimator utilizes a model of the switched reluctance machine system as well as the absolute angle measurement to form a better estimate of the rotor position and velocity and, if necessary or desirable for other purposes, the rotor acceleration. The simplest approach is to utilize the estimated rotor position developed by the Kalman filter to directly control commutation. However, the time required to estimate rotor position limits the number of position estimates that can be developed per electrical cycle by the Kalman filter, and hence an instantaneous position generation circuit is provided to convert the output of the Kalman filter to a signal that can properly control commutation. In sensoriess switched reluctance control systems using an estimator, it has been found desirable to determine whether the estimator is accurately estimating actual rotor position and velocity. Prior approaches for determining whether the estimator is in lock (i.e., synchronism) with actual machine operating conditions are disclosed in Lyons, et al. U.S. Patent No. 5,140,244. These approaches either compare estimated machine inductance with actual machine inductance midway between unalignment and alignment of rotor and stator pairs or compare the estimated flux linkage of the machine with the flux linkage derived from a lookup table correlating flux linkages and current magnitudes at a specified estimator rotor angle. Both of these approaches, however, suffer from the disadvantage that estimator lock will be indicated even when the estimator is running at an integer submultiple of the actual rotor electrical velocity. Thus, the estimator will appear to be in lock when in fact it is not. For example, assume that the check for lock detection is to be performed when the estimated angle is midway between unalignment and alignment (i.e., at a position of 3π/2 radians). If the estimated velocity developed by the estimator is half the actual velocity, and there is a π/4 position shift, agreement will be obtained even though the estimator is not in lock. Further, the prior art approaches discussed in the above-identified '244 patent may not be feasible at high rotor speeds when the number of samples per electrical cycle is limited and data are not taken at the necessary angles. It is an object of the present invention to provide an apparatus to detect whether the estimator remains in lock or synchronism with actual machine conditions so that there is a high degree of confidence that the estimated position, velocity and acceleration of the machine rotor are as accurate as possible. It is further an object of the present invention to provide such an apparatus which is simple, reliable and low in cost. These and further objects and advantages are obtained by undertaking a statistical analysis of the operation of the Kalman filter in the estimator to determine the performance thereof. Specifically, an analysis is undertaken of the Kalman filter innovation, i.e., the difference between an absolute angle estimate and a predicted estimate. If the innovation comprises a white noise¬ like signal of small magnitude having substantially zero mean, then the estimator is determined to be operating properly. If the estimator loses lock with actual operating conditions, the innovation loses randomness. Such an occurrence is detected to develop an indication of a loss of accurate position estimate. These and other objects, advantages and novel features of the present invention will become apparent to those skilled in the art from the drawings and following detailed description. BRIEF DESCRIPTION OF THE DRAWINGS Fig. 1 comprises a block diagram of a starting/generating system for an aircraft; Fig. 2 comprises a block diagram of a prior art inverter control, inverter and switched reluctance machine; Fig. 3 comprises a block diagram of an inverter control incorporating the present invention together with an inverter and a switched reluctance machine; Fig. 4 comprises a block diagram of a portion of the inverter of Fig. 3 together with the position estimation circuit of Fig. 3; Figs. 5A and 5B, when joined at the similarly lettered lines, together comprise a flowchart illustrating programming for initializing the estimator 68 of Fig. 4; Fig. 6 comprises waveform diagrams of control signals for the switches of the inverter of Fig. 4 during initialization; and Figs. 7A and 7B, when joined at the similarly lettered lines, together comprise a flowchart illustrating programming for detecting lock of the estimator 68 of Fig. 4 according to the present invention. DESCRIPTION OF THE PREFERRED EMBODIMENTS Referring first to Fig. 1 , a power conversion system 10 is provided on¬ board an aircraft (shown diagrammatically at 12) or other aerospace, land or water vehicle and includes a prime mover, for example, a gas turbine engine 14, which is coupled by a motive power shaft 16 to a switched reluctance machine 18. The machine 18 includes phase windings which are coupled to an inverter 20 operated by an inverter control 22. In a starting mode of operation, DC power is supplied to the inverter 20 and the inverter control 22 develops control signals for switches in the inverter 20 to cause the switched reluctance machine 18 to operate as a motor and supply motive power via the shaft 16 to the jet engine 14 for starting purposes. During operation in a generating mode, motive power is supplied by the gas turbine engine to the switched reluctance machine 18 via the shaft 16 and the resulting electrical power developed by the switched reluctance machine 18 is converted by the inverter 20 into DC power for one or more loads. If necessary or desirable, the inverter 20 could be modified to develop constant frequency AC power for one or more AC loads. Referring now to Fig. 2, a prior art inverter control for operating the switched reluctance machine 18 includes a resolver 30, which is coupled by a motive power shaft 32 to the rotor of the switched reluctance machine 18. Excitation is provided by a resolver excitation circuit 34. The resolver 30 develops first and second signals over lines 36, 38 that have a phase quadrature relationship (also referred to as sine and cosine signals). A resolver-to-digital converter 40 is responsive to the magnitudes of the signals on the lines 36 and 38 and develops a digital output representing the position of the rotor of the switched reluctance machine 18. The position signals are supplied along with a signal representing machine rotor velocity to a control and protection circuit 42. The rotor position signals are also supplied to a commutation and current control circuit 44 having an input coupled to an output of the control and protection circuit 42. The circuits 42 and 44 further receive phase current magnitude signals as developed by the inverter 20. The circuits 42 and 44 develop switch drive signals on lines 46 for the inverter 20 so that the phase currents flowing in the windings of the switched reluctance machine 18 are properly commutated. As noted previously, the resolver 30 is expensive and inherently a source of single point failure. Further, the resolver-to-digital converter 40 is also an expensive component and, hence, it is desirable to eliminate these and other components (including the excitation circuit 34), if possible. Fig. 3 illustrates an inverter control 50 that incorporates the present invention together with the inverter 20 and the switched reluctance machine 18. A position estimation circuit 52 is responsive to the phase current magnitudes developed by the inverter 20, switch control or drive signals for switches in the inverter 20 and DC bus voltage magnitude to develop position and velocity estimate signals for a control and protection circuit 54. In addition, the position estimate signals are supplied to a commutation circuit 56. A current control circuit 58 is responsive to the phase current magnitudes developed by the inverter 20, as well as phase enable output signals developed by the commutation circuit 56 and a reference current signal developed by the control and protection circuit 54. The current control circuit 58 produces the switch control or drive signals on lines 60 for the inverter 20. Fig. 4 illustrates the position estimation circuit 52 in greater detail. A relative angle estimation logic circuit 62 includes N individual phase relative angle estimate circuits 63A, 63B....63N, each of which is associated with one of the N phases of the switched reluctance machine 18. Specifically, the phase relative angle estimate circuit 63A is associated with phase A of the machine 18 and receives a current magnitude signal developed by a current sensor 64 adapted to sense the current flowing in a phase A winding WA of the machine 18. The winding WA is connected in a phase A leg 65A of the inverter 20 having a pair of diodes D1 and D2 and a pair of controllable power switches Q1 and Q2. During initialization, the switches Q1 and Q2 receive switch control signals CS1 and CS2 (Fig. 6) from a pulse generator 66, and thereafter receive the control signals on the lines 60 from the current control circuit 58 of Fig. 3. Furthermore, during initialization, the phase relative angle estimate circuit 63A also receives the switch control signals CS1 and CS2 and thereafter receives the control signals on the lines 60 from the circuit 58. During initialization, and subsequently, during operation of the circuitry of Figs. 3 and 4 to control the machine 18, the circuit 63A develops a signal * representing υ A an estimate of instantaneous angle from rotor/stator alignment for phase A of the machine. Similarly, each of the remaining phase relative angle estimate circuits 63B,...,63N is responsive to an associated phase current magnitude signal and is further responsive to switch control signals either identical to the signals CS1 and CS2 (during initialization) or control signals developed by the circuit 58 (after initialization) for switches in the associated inverter phase. Each circuit 63B,...,63N develops a signal & ,... * , respectively, representing an estimate of instantaneous angle from rotor/stator alignment for the associated phase of the machine, both during initialization and thereafter. Each angle estimate signal * , & ,... » , represents two possible υ A υ B υ N solutions for estimated rotor position, either phase advanced with respect to (i.e., moving toward) the respective phase pole or phase delayed with respect to (i.e., moving away from) the respective phase pole. This ambiguity is removed by an angle combination circuit 67 which combines the signals § , § ,... & , to obtain an Λ Λ A B N absolute angle estimate Q . The angle estimate Q is provided to an estimator 68, e e preferably including a Kalman filter, which improves the estimate of rotor position to obtain a value Q . In addition, the estimator 68 develops a velocity estimate and further develops an estimated acceleration signal representing the estimated acceleration of the machine rotor. The acceleration signal may be used by other circuits (not shown). The signals Q and are supplied to an instantaneous position generation circuit 70 which converts the coarse sampled output of the Kalman filter into a signal having position update intervals which are sufficiently fine to properly control commutation. The signal is further supplied to a scaling circuit 72, which in turn develops a velocity estimate signal in the correct units (e.g., rpm's) for the control and protection circuit 54 of Fig. 3. The estimator 68 further receives an initialization command signal and develops a trigger signal for the pulse generator 66 in the fashion noted in greater detail hereinafter. Figs. 5A and 5B illustrate a portion of the operation of the estimator 68 in flowchart form. In the preferred embodiment, the estimator 68, as well as the relative angle estimation circuit 62, the angle combination circuit 67, the instantaneous position generation circuit 70 and the scaling circuit 72 of Fig. 4 may be implemented by a suitably programmed digital signal processor (DSP). Alternatively, any of these circuits may be implemented by different circuitry, for example, discrete logic circuits or other hardware, or may be implemented by a combination of hardware and software, as desired. The programming illustrated in Figs. 5A and 5B is executed once per program cycle and is repeated a particular number of times (e.g., 100) to develop initial condition values ø , and ω representing initial machine rotor position and i Ji initial machine rotor speed, respectively, for the Kalman filter of the estimator 68. In addition, an initial condition is established for the Kalman filter indicating zero acceleration of the rotor of the machine 18 by the DSP. The programming of Figs. 5A and 5B automatically begins upon startup of the system including the position estimation circuit 52, at which point an initialization period is begun. Alternatively, the programming of Figs. 5A and 5B may be invoked when estimator lock is lost, (i.e., where the estimator has lost synchronism with actual machine operating conditions) or when initialization is otherwise commanded by the initialization command signal. During the initialization period, the pulse generator 66 develops and provides the control signals CS1 and CS2 to the switches Q1 and Q2. Control signals identical to the signals CS1 and CS2 are simultaneously provided to the switches in the remaining phases of the inverter 20. As seen in Fig. 6, the control signals including the signals CS1 and CS2 repetitively turn on and turn off all of the switches in the inverter 20 a certain number of times (preferably 100) during the initialization period. The inverter switches are operated together such that they are rendered conductive at the same time and are turned off at the same time, with a period equal to Δt. The widths of the pulses in CS1 and CS2 are such that the phase current magnitude does not become excessive and such that the phase current magnitude decays to zero before application of the next pulse. During the initialization period, the estimator 68 analyzes the samples or estimates Q from the angle combination circuit 67 to derive the initial values. With specific reference to Fig. 5A, the programming begins at a block 86, which checks to determine whether the current pass through the programming of Figs. 5A and 5B is the first since the initialization period was begun. If so, a block 88 sets various values and counters equal to zero. A block 90 then triggers the pulse generator 66 so that each phase winding of the machine 18 receives a single current pulse and a block 92 increments a pulse counter CNTO. Thereafter, a block 94 checks to determine whether the output of the counter CNTO indicates that each phase winding has been pulsed at least three times since the beginning of the initialization period. If not, control exits the programming of Figs. 5A and 5B to other programming executed by the estimator 68 for the balance of the current program cycle. Alternatively, if the output of the counter CNTO is equal to or greater than three, control passes to a block 100. The block 100 checks to determine whether the angle estimate Q from the angle combination circuit 67 is a valid estimate. This is determined by checking to determine whether Q is within an expected range of values. If the Λ e current estimate Q IS valid and a block 102 determines that the immediately e Λ preceding estimate Q was likewise valid using the same validity testing criterion, a e Λ block 104 calculates a value Δ Q which is equal to the difference between the e current and immediately preceding estimates developed by the circuit 67. A block 106 then increments a counter CNT1 which indicates the number of valid estimates developed by the circuit 67 since the beginning of the initialization period. Following the block 106, a block 108 (Fig. 5B) checks to determine whether the contents of the counter CNT1 exceed a certain threshold THR1. In the preferred embodiment, the value of THR1 is set equal to ten so that the first ten valid instantaneous velocity estimates developed by the programming of Figs. 5A and 5B are ignored owing to the possibility of rotor pulsing effects, such as jerk, when a low inertia rotor and load are first pulsed by currents resulting from application of the control signals. If the contents of the counter CNT1 exceed THR1 , a block 110 checks to determine whether the value of Δ Q is less than a second threshold value THR2. The second threshold THR2 establishes a maximum expected change in Q from one estimate to the next, and, in the preferred e embodiment, is set equal to π radians. If the block 110 determines that the value of Δ Q is less than the Λ e Λ threshold THR2, a block 112 calculates a value equal to Δ θ /Δt, where Δt is the e e period of the control signals, as noted previously. The block 112 thus develops an instantaneous velocity estimate ω for the rotor of the machine 18. Following the e Λ block 112, a block 114 calculates the value ω representing the estimated rotor i Λ speed as an average of all of the instantaneous speed estimates ω . e A block 116 then establishes the value of the initial position estimate Q equal to the current value of . Thereafter, a block 118 establishes the value of a variable LAST_VALID_Θ, also equal to the current value of . A block 120 then e clears a counter CNT2 and control passes to other programming of the estimator 68 for the balance of the program cycle. If the block 102 determines that the previous position estimate ø was e not valid, then there is no way to calculate the change in rotor position nor can the velocity be updated. Consequently, in this event, control passes to the block 116 from the bock 102, thereby skipping the blocks 104-114. Control also passes directly to the block 116 if the block 108 determines that the value of the counter CNT1 is not greater than the threshold THR1 or if the block 110 determines that the value of Δ is not less than the threshold THR2, thereby skipping the blocks 112 and 114. If the block 100 determines that the current position estimate ø is not e valid, a block 122 increments the counter CNT2 and a block 124 calculates a value for ø according to the following equation: 1 Λ = (LAST_VALID_θ β + ω, x CNT2 x Δt) modulo 2π between 0 and 2π. i Control from the block 124 then exits the programming of Figs. 5A and 5B to other programming executed by the estimator 68 for the balance of the program cycle. As should be evident from the flowchart of Figs. 5A and 5B, if a value of ø from the angle combination circuit 67 is found to be invalid, then a position e Λ estimate is obtained from the sum of the last valid reading of Q incremented by a e rotor position change value determined from the product of the average velocity and the time since the last reading of ø was validly developed. e Generally, in order to accurately estimate rotor position, the sensing pulses in the control signals must occur at a repetition rate sufficient to ensure that at least two pulses occur during each electrical cycle of the machine 18 so that aliasing effects are eliminated. As a result, the value Δg representing the change e in rotor position cannot exceed π. As a consequence of this requirement, there is a minimum pulse repetition rate for the signals CS1 and CS2 which is determined by the highest expected rotor velocity. It should be noted that the block 104 calculates Δ Q using a function e modulo 2π such that a value (in radians) is developed in a range between negative -π and positive +π . Once the programming of Figs. 5A and 5B has been executed the desired number of times, the windings of the machine 18 will have been pulsed a like number of times to obtain the position and velocity initial values Q and ω . 1 1 These values are then supplied to the Kalman filter in the estimator 68. It should be noted that the Kalman filter in the estimator 68 continues to operate during initialization; however, the output of the Kalman filter is overwritten during this time and not used. It should further be noted that the initialization period must be kept small enough so that the velocity change during maximum acceleration is not significant. It should also be noted that if the initialization process is attempted more than a threshold number of times in a defined period then it can be assumed that initialization cannot be successfully completed. In this situation, a system error message is generated and appropriate action taken, such as system shut down. Referring now to Fig. 7A, there is illustrated programming also executed by the estimator 68 to determine whether the Kalman filter is in lock or synchronism with actual machine operating conditions. The programming of Fig. 7A and 7B is executed once per program cycle so that lock detection is continuously effected. The programming begins at a block 140 which checks to determine whether a new sample of a signal INNOV developed by the Kalman filter has been obtained. Each sample or value of INNOV represents the difference between an absolute angle estimate ø sample received from the angle combination circuit 67 of e Fig. 4 and a predicted angle value θ p ^^ taken modulo 2π in the range from -π to +π and developed by the Kalman filter. If the value of INNOV has not been updated, control pauses at the block 140 until such value is updated, whereupon control passes to a block 142. The block 142 calculates a value m^-^^, according to the following equation: The value m innov(n) is the mean of the most current value of INNOV and the N-1 immediately preceding samples thereof. In the preferred embodiment, N equals 32, although any other suitable value of N could alternatively be used. A block 144 then calculates the mean m innov(ntk) of a second sequence of samples of INNOV displaced k samples in time from the first sequence of samples used by the block 142 according to the following equation: In the preferred embodiment, k equals 8, and hence the block 144 calculates the mean of the 9th through 40th preceding samples of the signal INNOV prior to the current sample. It should be noted that the value of k should be large enough to obtain independence of the non-delayed (i.e., first) and delayed (i.e., second) Innovation sequences, but small enough to keep the required innovation storage array from becoming excessively large. The required innovation storage array, in the preferred embodiment, is equal to the sum of n + k, resulting in a size of 40 elements. Following the block 1 4, a block 1 6 calculates the covariance μ,.^ according to the following equation: It has been learned through observation that when the estimator is in lock, the absolute value of the innovation covariance is between 0.01 and 0.05 radian 2 . A block 148 checks to determine whether the innovation covariance μ^ is greater than a threshold THR4, and, if this is the case, a counter CNT3 is incremented by a block 150. In the preferred embodiment, the threshold THR4 is set to a value representing 0.1 radian 2 , although any other suitable value could alternatively be used. If the innovation covariance is not greater than THR4, the block 150 is skipped and the counter CNT3 is not incremented. Following the block 150 or, following the block 1 8 if the innovation covariance is not greater than THR4, a block 152, Fig. 7B, increments a counter CNT4 and a block 154 checks to determine whether CNT4 is greater than a threshold THR6. If this is found not to be the case, then the lock detection programming of Figs. 7A and 7B is exited inasmuch as a determination has been made that the estimator 68 is in lock. Following the block 154, a block 156 checks to determine whether the value of the counter CNT3 is greater than a threshold THR5. If not, then the covariance of INNOV has not exceeded the threshold value THR4 the required number of times to indicate loss of lock, and hence a block 158 resets the values of the counter CNT3 and CNT4 to 0 and control exits the lock detection programming of Figs. 7A and 7B. On the other hand, if the block 156 determines that CNT3 is greater than the threshold THR5, thereby indicating that the estimator 68 has lost lock with actual operating conditions, control passes to the block 86 of Fig. 5A, following which the estimator 68 is reinitialized. The thresholds THR5 and THR6 are established so that, if a first number of samples, for example, 100, of the covariance μ^^, exceed the threshold THR4 out of a second, larger number of such samples, for example 400, then the reinitialization routine of Figs. 5A and 5B is invoked. Of course, other values for THR5 and THR6 may be used, if desired. It should be noted that, during each program cycle, following the programming of Figs. 7A and 7B, the estimator undertakes additional functions not shown. It is possible that the value μ innov may attain a negative value, even though such value is not theoretically possible, owing to the introduction of truncation errors in the DSP. If such a possibility exists, it is necessary that the block 148 determine whether the absolute value of the covariance is greater than the threshold THR4. In summary, when the estimator 68 is in lock, the Kalman filter innovation INNOV will be a small, white-noise like signal with substantially zero mean. If the estimator loses lock with actual operating conditions, the signal INNOV will lose this randomness characteristic. The calculation of the covariance of INNOV is performed for each new innovation sample using a sliding window N samples long. In order to avoid calculating the complete sum of the mean of the innovation for each sample, a running sum is kept with the newest innovation sample added and the oldest innovation sample subtracted. Computation time is further reduced by multiplying by the inverse of N. Numerous modifications and alterative embodiments of the invention will be apparent to those skilled in the art in view of the foregoing description. Accordingly, this description is to be construed as illustrative only and is for the purpose of teaching those skilled in the art the best mode of carrying out the invention. The details of the structure may be varied substantially without departing from the spirit of the invention, and the exclusive use of all modifications which come within the scope of the appended claims is reserved.

Claims: We Claim: 1. Apparatus for detecting lock of an estimator which develops a series of calculated estimates of an operating condition of a machine and which further develops a predicted estimate associated with each calculated estimate and an innovation value representing the variation of a predicted estimate from the calculated estimate associated therewith, comprising: means for obtaining a plurality of covariance values from innovation values; means responsive to the calculating means for comparing the covariance values against a threshold; and means responsive to the comparing means for determining whether the estimator is in lock based upon the comparison of covariance values against the threshold. 2. The apparatus of claim 1 , wherein the obtaining means includes first means for calculating a first mean value of a first sequence of innovation values, second means for calculating a second mean value of a second sequence of innovation values wherein the first and second sequences of innovation values are displaced in time relative lo one another and third means for calculating a covariance value from the first and second mean values. 3. The apparatus of claim 2, wherein the third calculating means comDrises means for deriving the result: wherein innov(n) represents the first sequence of innovation values, innov(n+k) represents the second sequence of innovation values, m,,,,^-,, is the first mean value and m,-^,^, is the second mean value. 4. The apparatus of claim 1 , wherein the determining means comprises means for detecting when a certain number of covariance values exceeds a threshold. 5. The apparatus of claim 1 , wherein the determining means comprises means for detecting when a first number of covariance values exceeds a threshold out of a second, larger number of covariance values. 6. In a control for a switched reluctance machine having an estimator for estimating machine rotor position, a circuit for detecting lock of the estimator wherein the estimator develops a series of calculated estimates of rotor position and which further develops a predicted estimate associated with each calculated estimate and an innovation value representing the variation of a predicted estimate from the calculated estimate associated therewith, comprising: means for obtaining a plurality of covariance values from sequences of innovation values; means responsive to the calculating means for comparing the covariance values against a theshold; and means responsive to the comparing means for determining whether the estimator is in lock based upon the comparison of covariance values against the threshold. 7. The circuit of claim 6, wherein the obtaining means includes first means for calculating a first mean value of a first sequence of innovation values, second means for calculating a second mean value of a second sequence of innovation values wherein the first sequence of innovation values is developed after the second sequence of innovation values and third means for calculating a covariance value from the first and second mean values. 8. The apparatus of claim 7, wherein the third calculating means comprises means for deriving the result: f Λ o (n k.) where innov(n) represents the first sequence of innovation values, innov(n+k) represents the second sequence of innovation values, m tnnov<n) is the first mean value and ^^^^ k) is the second mean value. 9. The apparatus of claim 6, wherein the determining means comprises means for detecting when a certain number of covariance values exceeds a threshold. 10. The apparatus of claim 6, wherein the determining means comprises means for detecting when a first number of covariance values exceeds a threshold out of a second, larger number of covariance values.

Inventors: JONES STEPHEN R, JONES, STEPHEN, R.
Applicants: SUNDSTRAND CORP, SUNDSTRAND CORPORATION
Application year: 1997
Main classification: H02P7
IPC codes: H02P6, H02P25