Patent Publication Number: US-8115441-B2

Title: On-line measurement of an induction machine&#39;s rotor time constant by small signal d-axis current injection

Description:
STATEMENT REGARDING FEDERALLY SPONSORED RESEARCH OR DEVELOPMENT 
     The U.S. Government has a paid-up license in this invention and the right in limited circumstances to require the patent owner to license others on reasonable terms as provided for by the terms of contract number F33615-00-2-2002 awarded by the Air Force Research Labs of the U.S. Department of Defense. 
    
    
     BACKGROUND 
     The present invention relates to induction machines, and in particular to field oriented control (FOC) of induction machines. 
     Field Oriented Control (FOC) is a well-known method of controlling induction machines. In short, field oriented control transforms space vectors from a three-axis stationary reference frame (abc) to a two-axis rotating reference frame (dq). Field oriented control allows for precise control of induction machines. In particular, the d-q reference frame allows the rotor flux or direct component (d-axis component) and the torque or quadrature component (q-axis component) of a commanded current signal to be independently controlled. Thus, the rotor flux and torque produced in an induction machine can be precisely controlled. 
     A typical implementation of FOC uses transforms to convert from the three-axis stationary reference frame (abc) to the two-axis rotating reference frame (dq) (as applied to a three phase machine). The two-axis reference frame can be aligned with the rotor flux or, in the alternative, can be aligned with the stator flux or air gap flux. Aligning the rotating reference frame with the rotor flux allows the decoupling of the d-axis current (used for rotor flux production) and the q-axis current (used for torque production). This decoupling is the heart of FOC, and is accomplished by providing the induction machine with the correct slip frequency and stator currents (magnitude and angle). 
     The accuracy, effectiveness, and dynamic performance of a particular FOC scheme rest on the ability to correctly determine the required slip frequency and q-axis current vector for a desired torque and rotor flux command. Correctly determining these values depends in part on accurately estimating induction machine circuit parameters. The rotor time constant associated with the induction machine is of particular importance for these calculations and is expressed as rotor inductance divided by rotor resistance (Lr/Rr). Because resistance of the induction machine changes with the temperature of the rotor, it is not sufficient to use nominal parameters continuously for good dynamic performance. Furthermore, since the rotor is moving, it is difficult to obtain temperature measurements for direct compensation with temperature. Therefore, accurate estimation or measurement of the rotor time constant is an important aspect of field oriented control. 
     SUMMARY 
     A controller for an induction machine makes on-line measurements of a rotor time constant associated with an induction machine by injecting a small signal on the d-axis current command at a selected frequency. The controller selects the frequency of the small signal oscillation based on a most recent estimate of the rotor time constant. The rotor time constant is estimated and updated by monitoring the rotor flux generated in response to the small signal oscillation. Based on a new estimate of the rotor time constant, the frequency of the small signal oscillation is updated and injected onto the d-axis current command. In this way, the controller continually interrogates the induction machine with the small signal injection, monitors the response, and updates estimates of the rotor time constant and frequency associated with the small signal oscillation. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         FIG. 1  is a block diagram of signal processing operations performed by a controller that employs field oriented control and on-line rotor time constant measurement to provide command signals to an induction machine. 
         FIG. 2  is a block diagram of signal processing operations for measuring the rotor time constant (Lr/Rr). 
         FIG. 3  is a block diagram of signal processing operations employed to calculate the Fourier component of the rotor flux vector resulting from the signal injection as shown in  FIG. 2 . 
         FIG. 4  is a block diagram of signal processing operations employed to calculate the rotor time constant based on the Fourier coefficients of the rotor flux vector shown in  FIG. 3 . 
     
    
    
     DETAILED DESCRIPTION 
       FIG. 1  is a block diagram illustrating signal-processing steps performed by controller  10  for generating command signals that are provided to induction machine  12  using field oriented control (FOC). Controller  10  may be implemented by a digital signal processor (DSP) or an equivalent device capable of performing the signal processing calculations shown. In the embodiment shown in  FIG. 1 , and discussed throughout the application, three-phase input is provided to induction machine  12 . Based on torque (quadrature or q-axis) current command signal i q * and rotor flux (direct or d-axis) current command signal i d *, which represent the desired amount of torque and rotor flux to be generated in induction machine  12 , controller  10  generates voltage command signals v a *, v b *, and v c * that are applied, through an inverter, to the stator of induction machine  12 . In addition, the embodiment shown in  FIG. 1  is implemented using indirect field oriented control, although other embodiments may make use of direct field oriented control. 
     In particular, the signal processing steps shown in  FIG. 1  illustrate a method for making on-line (i.e., during operation) closed-loop measurements of the rotor time constant L r /R r  associated with induction machine  12 . To make on-line measurements of the rotor time constant L r /R r , the controller injects a small signal (oscillating) input i d     —     inject  onto the d-axis current command signal i d     —     flux * at a selected frequency, and measures the response in the monitored rotor flux estimate λ rd   e . The selected frequency of the small signal input i d     —     inject  represents the current estimate of the rotor time constant L r /R r  (i.e., frequency of the small signal input in radians/sec is the inverse of the estimated rotor time constant). Based on the monitored d-axis rotor flux estimate λ rd   e  generated in response to the small signal input i d     —     inject , the present estimate of the rotor time constant L r /R r  can be updated. Based on the updated estimate of the rotor time constant L r /R r , the frequency of the small signal input i d     —     inject  is updated and supplied to the induction machine. In this way, the induction machine is continuously interrogated by the small signal input i d     —     inject , and the resulting estimate of the rotor time constant L r /R r  is continuously updated based on the measured response to the small signal input. 
     Signal processing components and steps of controller  10  for controlling the operation of induction machine  12  include torque or speed regulator  14 , rotor flux regulator  16 , signal summer  18 , decoupled current regulator and d-q/abc transform  20  (“current regulator  20 ”), voltage abc/αβ transform  24 , current abc/αβ transform  26 , current αβ/dq transform  28 , voltage model rotor flux open loop observer  30 , rotor flux αβ/dq transform  32 , rotor time constant (L r /R r ) estimator  34 , and slip calculator  36 . 
     In general, FOC control of induction machine  12  involves using a torque command to generate a q-axis current command signal i q * (via torque regulator  14 ) and a rotor flux command to generate a d-axis current command signal i d * (via a rotor flux regulator  16 ). These commands are used to regulate the actual induction machine currents measured and transformed into i q   e  and i d   e  in the decoupled current regulator making use of the electrical frequency ω e  (or hysteresis current regulator)  20 . Current regulation in the dq frame is well known by those skilled in the art. In this way, control of the rotor flux and torque generated in induction machine  12  is done independent of one another through the d-axis and q-axis currents. 
     The output of decoupled current regulator  20  is a voltage command signals v q * and v d * (not shown) in the d-q reference frame, which are then converted to voltage commands v a *, v b *, and v c * and sent to the inverter  22 . The transformation of the commanded voltage signals v d * and v q * from the d-q reference frame to the abc reference frame uses an the position of the electrical frequency θ e . The electrical frequency ω e  and the position of the electrical frequency θ e  are generated by slip calculator  36  and are based on inputs that include the commanded (or estimated) rotor flux λ rd   e , measured (or commanded) q-axis current i q   e , rotor speed ω r , and rotor time constant L r /R r . The accuracy of calculations made by slip calculator  36  depends, in part, on the instantaneous accuracy of the rotor time constant L r /R r  of induction machine  12 . 
     In the embodiment shown in  FIG. 1 , both voltages (v a , v b , and v c ) and currents (i a , i b , and i c ) generated in the stator portion of induction machine  12  are monitored. In other embodiments, the commanded voltage signals va*, vb*, and vc* and knowledge of the DC link voltage in inverter  22  may be used instead of measuring the output voltages directly. As shown in steps  24  and  26 , respectively, the monitored voltages and currents are converted to the α, β reference frame (v α , v β  and i α , i β , respectively). The monitored currents i α  and i β  are further converted to the d-q reference frame at step  28 , resulting in estimated torque current i q   e  and estimated rotor flux current i d   e . As discussed above with respect to converting from the d-q reference frame to the abc reference frame and converting from the αβ reference frame to the d-q reference frame, the angular position θ e  corresponding to electrical frequency ω e  is used. The monitored rotor flux current i d   e  and monitored torque current i q   e  values are provided to decoupled current regulator  20 , as discussed above. 
     The monitored currents i α  and i β  and the monitored voltages v α  and v β  are employed by voltage-model rotor flux open loop observer  30  to calculate the rotor flux λ rα  and λ rβ . The voltage-model rotor flux open loop observers are well known in the art for calculating rotor fluxes based on voltages and currents induced in the stator. A voltage model rotor flux open loop observer is employed in this embodiment, as opposed to a current model (which is also well known in the art), because voltage flux observers are not sensitive to the rotor time constant of induction machine  12 . 
     The estimated rotor flux λ rα  and λ rβ  are then converted from the αβ reference frame to the dq reference frame (λ rq   e  and λ rd   e ) at step  32 . Once again, the position of the electrical frequency θ e  is required to convert from the αβ reference frame to the dq reference frame. The d-axis rotor flux estimate λ rd   e  is used by rotor time constant estimator  34  to calculate the rotor time constant L r /R r  that is provided to slip calculator  36 . In addition, the d-axis rotor flux estimate λ rd   e  is provided to slip calculator  36 . 
     Rotor time constant estimator  34  is discussed in more detail with respect to  FIGS. 2-4 . In general, rotor time constant estimator  34  uses the d-axis rotor flux estimate λ rd   e , and in particular the small signal portion of the d-axis rotor flux estimate λ rd   e  generated in response to the small signal input i d     —     inject  injected into the rotor flux current command signal i d     —     flux *, to estimate the rotor time constant L r /R r . In particular, calculating the rotor time constant based on the flux response to the small signal input i d     —     inject  is based on the fact that because induction machine  12  is an inductive load, current injected at the proper frequency (i.e., correct estimate of the rotor time constant) will result in a flux signal that lags the injected current by forty-five degrees. Detecting changes in the phase of the flux signal allows for the detection of changes to the rotor time constant L r /R r . In this way, induction machine  12  is continuously interrogated by a small signal input i d     —     inject  having a frequency that represents the most recent estimate of the induction machine&#39;s rotor time constant L r /R r . 
       FIG. 1  therefore illustrates a method of implementing field oriented control (in this case, indirect field oriented control, although direct field oriented control could also be employed) that makes continual adjustments to the rotor time constant estimation in order to accurately calculate the slip frequency (and therefore the position of electrical frequency θ e ).  FIGS. 2-4  illustrate in more detail an embodiment of a method employed to make on-line measurements of the rotor time constant L r /R r . 
       FIGS. 2-4  illustrate in an embodiment of steps performed by the controller in generating the small signal input i d     —     inject  to be added to the rotor flux current command signal i d     —     flux * and calculating the rotor time constant L r /R r . As will be discussed below, the rotor time constant L r /R r  is continuously updated by injecting the small signal input i d     —     inject  into the rotor flux current command signal i d     —     flux * and measuring the d-axis rotor flux λ rd   e  generated as a result. In particular,  FIG. 2  illustrates the two stages of calculations performed by rotor time constant estimator  34 , Fourier coefficient calculation of the direct rotor flux component resulting from the variable signal current injection  40  (“Fourier coefficient calculator  40 ”), and rotor time constant L r /R r  estimation and variable signal injection  42  (“time constant and signal injection calculator  42 ”). Fourier coefficient calculator  40  takes as input the estimated d-axis rotor flux λ rd   e , the d-axis current command signal i d     —     flux *, and cosine and sine signals provided by rotor time constant calculator  42 . Based on these inputs, Fourier coefficient calculator  40  generates Fourier coefficients A flux     —     dr  and B flux     —     dr , which reflect changes in the rotor time constant detected by analyzing the estimated d-axis rotor flux λ rd   e . 
     In one embodiment (discussed in more detail with respect to  FIG. 4 ), the injected small signal i d     —     inject  is generated by summing the cosine and sine signals generated by rotor time constant estimator  42 . The frequency of cosine and sine signals (and thus, the frequency of injected small signal i d     —     inject  formed by summing the cosine and sine signals) is based on the latest estimate of the rotor time constant L r /R r . As a result of summing the cosine and sine signals, the injected small signal i d     —     inject  leads the sine signal by forty-five degrees and lags the cosine signal by forty-five degrees. Because the induction machine acts as an inductive load, the resulting flux (described in more detail with respect to  FIG. 3 , and labeled λ rd     —     ac ) generated in response to the injected small signal i d     —     inject  will lag the injected small signal i d     —     inject  by forty-five degrees (assuming the frequency of the injected small signal i d     —     inject  represents the correct estimate of the rotor time constant) and will be in phase with the sine signal used to generate the injected small signal i d     —     inject . The resulting flux λ rd     —     ac  (shown in  FIG. 3 ) generated in response to the injected small signal i d     —     inject  is monitored, and changes in the phase of the resulting flux are used to detect changes in the rotor time constant. In particular, Fourier component calculator  40  generates Fourier coefficients A flux     —     dr  and B flux     —     dr  in response to detected changes in the phase of the resulting flux λ rd     —     ac . 
     The Fourier coefficients A flux     —     dr  and B flux     —     dr  are provided to time constant calculator  42 , and represent detected changes in the phase of the AC component of the d-axis flux λ rd     —     ac  generated in response to the injected small signal i d     —     inject . Based on these coefficients, time constant calculator  42  uses proportional-integral (PI) control to adjust the estimated time constant L r /R r . In modifying the rotor time constant estimation, the frequency of the small signal input i d     —     inject  injected as part of the rotor flux current command signal i d * is also adjusted. Adjustments made to the frequency of the small signal input i d     —     inject  results in continued interrogation and estimation of the rotor time constant L r /R r . 
       FIG. 3  illustrates in more detail the processing steps employed by Fourier coefficient calculator  40  to calculate the Fourier coefficients A flux     —     dr  and B flux     —     dr . In general, the processing steps shown in  FIG. 3  act to isolate the portion of the d-axis rotor flux λ rd   e  generated in response to the small signal input i d     —     inject  injected into the d-axis current command signal i d     —     flux *. That is, the alternating current (AC) component of the d-axis rotor flux λ rd   e  is isolated. Following the isolation of the AC component of the d-axis rotor flux (labeled here as λ rd     —     ac ) changes in the angle (i.e., the phase) of the AC component due to variations in the actual rotor time constant are detected. The change in phase of the AC component is represented by the Fourier coefficients A flux     —     dr  and B flux     —     dr . In particular, these calculations are premised on the fact that flux generated in response to the injected small signal current i d     —     inject  will lag the injected small signal current i d     —     inject  by forty-five degrees if the frequency of the injected small signal current represents the correct estimate of the rotor time constant L r /R r . Therefore, the flux generated in response to the injected small signal current will be in phase with the sine signal used to generate the injected small signal current i d     —     inject . 
     In the embodiment shown in  FIG. 3 , the d-axis current command signal i d     —     flux  is converted from a current representation to a flux representation (i.e., phase shifted based on inductance L m ) at step  44 . The flux representation of d-axis current command signal i d     —     flux  is compared to the monitored d-axis rotor flux λ rd   e  at step  46 . Because the commanded d-axis current does not contain the small signal injection, the comparison at step  46  removes the DC component of the d-axis rotor flux λ rd   e , leaving the AC component (denoted here as λ rd     —     ac ) of the d-axis rotor flux λ rd   e . In particular, the AC component of the d-axis rotor flux λ rd     —     ac  includes the flux response to the small signal injection i d     —     inject . In addition, the AC component of the d-axis rotor flux λ rd     —     ac  may include unwanted noise that is filtered in subsequent steps. 
     At step  48 , the AC component of the d-axis rotor flux λ rd     —     ac  is compared to a reconstructed d-axis rotor flux λ reconstruct . In the embodiment shown in  FIG. 3 , the reconstructed d-axis rotor flux λ reconstruct  is the product of a closed-loop system for monitoring phase changes in the AC component of the d-axis rotor flux λ rd     —     ac . Thus, the reconstructed d-axis rotor flux λ reconstruct  is an ideal or clean (i.e., very little noise) signal that represents the expected rotor flux response to the small signal input i d     —     inject  injected into the commanded d-axis current i d     —     flux *. As shown in  FIG. 3 , the reconstructed rotor flux λ reconstruct  is based on the Fourier coefficients defined by A flux     —     dr  and B flux     —     dr  and cosine and sine signals, respectively, used to generate the injected small signal i d     —     inject . Thus, if the frequency of the small signal input i d     —     inject  accurately reflects the actual rotor time constant of induction machine  12 , then the reconstructed d-axis rotor flux λ reconstruct  should be in phase with the AC component of the d-axis rotor flux λ rd     —     ac  (i.e., both should lag the commanded d-axis current i d     —     flux * by 45 degrees). If the AC component of the d-axis rotor flux λ rd     —     ac  is not in phase with the reconstructed d-axis rotor flux λ reconstruct , the difference in phase will result in an error signal. 
     For example, in one embodiment the Fourier coefficient A flux     —     dr  may be initialized to a value of ‘0’ and the Fourier coefficient B flux     —     dr  may be initialized to a value of ‘1’. The result is a reconstructed rotor flux λ reconstruct  that is represented by only the sine signal component used to generate the small signal injection i d     —     inject . Because the sine signal component lags the small signal injection i d     —     inject  by forty-five degrees, the reconstructed rotor flux λ reconstruct  can be compared to the AC component of the d-axis rotor flux λ rd     —     ac  to detect changes in the phase of the AC component of the d-axis rotor flux λ rd     —     ac  (i.e., the AC component of the d-axis rotor flux λ rd     —     ac  will lag or lead the injected small signal i d     —     inject  by more or less than forty-five degrees). 
     The error signal generated by comparing the AC component of the d-axis rotor flux λ rd     —     ac  to the reconstructed d-axis rotor flux λ reconstruct  at step  48  is multiplied by gain value K (box  54 ) and further multiplied by a cosine signal and a sine signal (the generation of these signals are shown in more detail in  FIG. 4 ), respectively, at steps  50  and  52 . Multiplying the error calculated at step  48  by the cosine signal at step  50  (along with the gain constant K) results in a signal having a DC component and a frequency component. Similarly, multiplying the error calculated at step  48  by the sine signal at step  52  (along with the gain constant K) results in a signal having a DC component and a frequency component. The Fourier coefficients A flux     —     dr  and B flux     —     dr  are generated at steps  56  and  58  by integrating the DC components generated at steps  50  and  52 , respectively. The Fourier coefficients A flux     —     dr  and B flux     —     dr  are provided to time constant calculator  42 , which as discussed in more detail with respect to  FIG. 4 , uses the Fourier coefficients A flux     —     dr  and B flux     —     dr  to estimate the rotor time constant. 
     In addition, the Fourier coefficient A flux     —     dr  is multiplied with the cosine signal provided by rotor time constant estimator  42  at step  60  and Fourier coefficient B flux     —     dr  is multiplied with the sine signal also provided by rotor time constant estimator  42  at step  62 . The resulting sine and cosine signals are summed together at step  64  to generate the reconstructed d-axis flux λ reconstruct . In closed-loop fashion, the reconstructed d-axis rotor flux λ reconstruct  is compared with the AC component of the d-axis rotor flux such that the response to the injected small signal i d     —     inject  is continuously monitored to detect changes in the phase of the flux response to the injected small signal i d     —     inject . In this way, the goal of the closed system is to adjust the Fourier coefficients such that the reconstructed d-axis rotor flux λ reconstruct  equals the AC component of the d-axis rotor flux λ rd     —     ac  generated in response to the injected small signal i d     —     inject . 
       FIG. 4  illustrates how the Fourier coefficients A flux     —     dr  and B flux     —     dr , calculated in  FIG. 3 , are used to modify the estimated rotor time constant L r /R r  as well as the frequency of the small signal input i d     —     inject . 
     At step  70 , an arctangent operation is performed on the Fourier coefficients A flux     —     dr  and B flux     —     dr  (specifically, arctan(A flux     —     dr /B flux     —     dr )), with the output expressed in radians and representing the phase difference between the reconstructed d-axis rotor flux λ reconstruct  and the AC component of the d-axis rotor flux λ rd     —     ac  generated in response to the injected small signal current i d     —     inject . For example, in one embodiment, if there is no difference between the reconstructed d-axis rotor flux signal reconstruct and the reference frequency sinusoidal signal (i.e., they are in phase with one another), then A flux     —     dr  will equal ‘0’, with the arctangent operation resulting in a zero radian difference (i.e., in phase). If there is a difference between the two signals, then the difference will be represented by the result of the arctangent operation, and converted to degrees at step  72 . The resulting phase difference between the two signals, expressed in degrees, is added to a constant ‘c’, which represents a correction offset, at step  76  and provided as an input to PI controller  78 . 
     In general, PI controller  78  adjusts the estimate of the rotor time constant based on the phase difference provided as an input to PI controller  78 . Adjusting the estimate of the rotor time constant results in an adjustment of the frequency of the small signal input i d     —     inject  provided to induction machine  12 . PI controller  78  adjusts the initial frequency estimate until the phase difference calculated from A flux     —     dr  and B flux     —     dr  is minimized (i.e., until the error provided to the input of PI controller  78  is driven to zero). That is, PI controller  78  selectively controls the frequency estimate Ω, which represents the frequency of the small signal current i d     —     inject  and the inverse of the rotor time constant estimate L r /R r , until the rotor time constant estimate L r /R r  is brought in line with actual circuit parameters of induction machine  12 . 
     Specifically, output of PI controller  78  is added to an initial frequency estimate at step  84  to generate the frequency estimate Ω and the rotor time constant L r /R r , which is calculated by taking the inverse of the frequency estimate Ω at step  86 . In addition, the frequency of the small signal current i d     —     inject  is modified to equal the new frequency estimate Ω at steps  88 ,  90 ,  92 ,  94 , and  96 . The frequency estimate Ω is provided to discrete integrator  88 , and wrapped angle generator  90  (which generates a sawtooth signal that is provided as a timing input to PI controller  78 ), and then divided into cosine and sine components at steps  92  and  94 , respectively. The sine and cosine components, generated at the frequency estimate Ω are provided in feedback to Fourier component calculator  40 , while the small signal input i d     —     inject  (also generated at the new frequency estimate Q and advanced by forty-five degrees) is injected into the commanded d-axis current i d     —     flux * as shown in  FIG. 1 . In this way, the method described with respect to  FIGS. 1-4  provides for the continual interrogation of an induction machine by a small signal input i d     —     inject  at a frequency that represents a most recent estimate of the rotor time constant. The rotor flux generated in response to the small signal input i d     —     inject  is used to modify the most recent estimate of the rotor time constant, and to modify the frequency of the small signal input i d     —     inject  for subsequent interrogations of the induction machine. 
     Although the present invention has been described with reference to preferred embodiments, workers skilled in the art will recognize that changes may be made in form and detail without departing from the spirit and scope of the invention. In particular, the processing steps discussed with respect to  FIGS. 1-4  illustrate one method of generating the small signal oscillation and measuring the response to detect changes in the rotor time constant. The continuous interrogation of the induction machine to generate continuous estimations of the rotor time constant may be accomplished with a variety of signal processing architectures.