The present invention relates to a control system for a motor, and more particularly to a control system for a motor that determines a reference d-axis current based on a current angle.
The output torque of an interior permanent magnet synchronous motor (IPMSM) may be determined by a voltage command and a phase advance angle. A specific output torque of the IPMSM is determined by first selecting a specific quadrature axis (also referred to as the q-axis) reference current and a direct axis (also referred to as the d-axis) reference current, and then determining the voltage command and the phase advance angle based on the selected quadrature axis reference current and the direct axis reference current.
In one embodiment, a motor control system for determining a reference d-axis current is provided, and includes a motor, a DC power source and DC input lines, and a current command controller. The DC power source generates a bridge voltage across the DC input lines. The current command controller is in communication with the motor and the DC input lines. The current command controller is configured to monitor the bridge voltage and a torque reference command. The current command controller is configured to determine a peak current based on the torque reference command. The current command controller is configured to determine a current angle based on the peak current. The current command controller is also configured to determine the reference d-axis current based on the current angle.
In another embodiment, a method of determining a reference d-axis current for a motor is provided. The method includes monitoring a bridge voltage and a torque reference command by a current command controller. The bridge voltage is generated by a DC source across DC input lines. The method includes determining a peak current based on the torque reference command. The method includes determining a current angle based on the peak current. The method also includes determining the reference d-axis current based on the current angle.
These and other advantages and features will become more apparent from the following description taken in conjunction with the drawings.
The subject matter which is regarded as the invention is particularly pointed out and distinctly claimed in the claims at the conclusion of the specification. The foregoing and other features, and advantages of the invention are apparent from the following detailed description taken in conjunction with the accompanying drawings in which:
Referring now to the Figures, where the invention will be described with reference to specific embodiments, without limiting same,
In the embodiment as shown in
For feedback control purposes, the phase currents ia and ib transmitted to the motor 32 by lines 50 and 52 may be detected to determine the instantaneous current flow to the motor 32. Specifically, a transducer 56 may be used to monitor the phase current ia on the line 50, and a transducer 58 may be used to monitor the phase current ib on the line 52. It should be noted that although transducer 56 and transducer 58 are illustrated, only one of the lines 50 or 52 may be monitored to measure either phase current ia or phase current ib. A control signal 60 representing the measured phase current ia may be sent to the a-axis current amplifier 40 from the transducer 56, and a control signal 62 representing the measured phase current ib may be sent to the b-axis current amplifier 42 from the transducer 58. An augmented or amplified value of the phase current ia is then sent to the a-axis ADC 44 from the a-axis current amplifier 40, and an amplified value of the phase current ib 62 is sent to the b-axis ADC 46 from the b-axis current amplifier 42. The a-axis ADC 44 converts the amplified value of the phase current ia into a digital value 64. The digital value 64 represent the magnitude of the phase current ia. The b-axis ADC 46 converts the amplified value of the phase current ib into a digital value 66. The digital value 66 represents the magnitude of the phase current ib.
The transform controller 38 receives as input the digital value 64 from the ADC 44 and the digital value 66 from the ADC 46. In one embodiment, the transform controller 38 is a three-phase to two-phase transformation controller where measured values for the AC current (e.g., the digital value 64 representing the phase current ia and the digital value 66 representing the phase current ib) are converted into equivalent measured DC current components, which are a measured d-axis current IdMEASURED and a measured q-axis current IqMEASURED. The measured d-axis current IdMEASURED is sent to a subtractor 70 and the measured q-axis current IqMEASURED is sent to a subtractor 72.
The command current controller 20 receives as input a torque reference command Te, an angular speed ωm, and the control signal 53 representing the bridge voltage Vecu from the transducer 51. The torque reference command Te represents a commanded torque value, and may be derived from another controller (not shown), or may correspond to a torque value generated by an operator. The angular speed ωm is measured by the speed sensor 36. The speed sensor 36 may include, for example, an encoder and a speed calculation circuit for calculating the angular speed of a rotor (not shown) of the motor 32 based on a signal received by the encoder. The command current controller 20 calculates a reference d-axis current Id_REF and a reference q-axis current Iq_REF based on the torque command Te, the bridge voltage Vecu, and the angular speed ωm, which is described below. The reference d-axis current Id_REF is sent to the subtractor 70, and the reference q-axis current Iq_REF is sent to the subtractor 72.
The subtractor 70 receives the measured d-axis current IdMEASURED and the reference d-axis current Id_REF. The subtractor 70 determines a d-axis error signal 74 based on the measured d-axis current IdMEASURED and the reference d-axis current Id_REF. The d-axis error signal 74 represents the error between the measured d-axis current IdMEASURED and the reference d-axis current Id_REF. The subtractor 72 receives the measured q-axis current IdMEASURED and the reference q-axis current Iq_REF. The subtractor 72 determines a q-axis error signal 76 based on the measured q-axis current IdMEASURED and the reference q-axis current Iq_REF. The q-axis error signal 76 represents the error between the measured q-axis current IdMEASURED and the reference q-axis current Iq_REF.
The d-axis PI controller 22 receives as input the d-axis error signal 74 from the subtractor 70. The d-axis PI controller 22 calculates a d-axis voltage signal VD. The d-axis voltage signal VD is based on a d-axis proportional gain KP, and a d-axis integral gain Ki. Likewise, the q-axis PI controller 23 receives as input the q-axis error signal 76 from the subtractor 72. The q-axis PI controller 23 calculates a q-axis voltage signal VQ. The q-axis voltage signal VQ is based on a q-axis proportional gain KP, and a q-axis integral gain Ki.
The polar conversion controller 24 receives as input the d-axis voltage signal VD from the d-axis PI controller 22 and the q-axis voltage signal VQ from the q-axis PI controller 23. Based on the inputs, the polar conversion controller 24 determines a voltage command Vcmd and a phase advance angle δ. The PWM inverter controller 26 receives as inputs the voltage command Vcmd and the phase advance angle δ from the polar conversion controller 24. The PWM inverter controller 26 also receives a rotor angle value θr measured by the motor position sensor 34. In one exemplary embodiment, the PWM inverter controller 26 may include an over-modulation space vector PWM unit to generate three respective duty cycle values Da, Db, and Dc. The duty cycle values Da, Db, and Dc are used to drive gate drive circuits (not shown) of the inverter 28 that energize phases of the of the motor 32.
Determining the reference d-axis current Id_REF and the reference q-axis current Iq_REF by the command current controller 20 will now be described. The command current controller 20 determines the reference d-axis current Id_REF and the reference q-axis current Iq_REF based on the torque reference command Te, the bridge voltage Vecu, and the angular speed ωm periodically. Specifically, the current command controller 20 determines the reference d-axis current Id_REF and the reference q-axis current Iq_REF according to either a first region of operation RI or a second region of operation RII, which is described below.
The command current controller 20 first determines a peak current Ip_REF based on the torque reference command Te. In one embodiment, the peak current Ip_REF may be determined by Equation 1:
Ip_REF=(2*Te)/(√{square root over (3)}*Ke) Equation 1
where Ke is the motor constant.
The command current controller 20 may then determine a current angle β. The current angle β represents an angle measured between the peak current Ip_REF and the reference q-axis current Iq_REF. The command current controller 20 first determines a solution domain and a local current angle βlocal. The solution domain and a local current angle βlocal are both used to determine the current angle β. A value for the current angle β is found within the bounds of the solution domain. The solution domain may be defined by a starting point A and an ending point B, where the solution domain is expressed by [A, B]. In one exemplary embodiment, the starting point A is the local current angle multiplied by a constant (e.g., C*βlocal) and the ending point B is βlocal, and the solution domain is expressed as [C*βlocal, βlocal], where the constant C ranges from 0 to 1. In one embodiment, the local current angle βlocal may be determined using Equation 2:
where the peak current Ip_REF is determined by Equation 1 above, Lq is the q-axis inductance, Ld is the d-axis inductance, and P is the number of poles of the motor 32.
Once the solution domain and the local current angle βlocal are defined, the command current controller 20 may then determine the current angle β. The current angle β may be determined by an iterative approach that uses the values for the solution domain and the local current angle βlocal as determined above. In the exemplary embodiment as described below, the current angle β is determined by a bisection method. However it is to be understood that other iterative approaches may be used as well such as, for example, Newton's iteration method, or Newton's fixed point method.
If the bisection method is used, a bisection search is performed to find a value for the current angle β. The bisection search is limited between the starting point A and the ending point B of the solution domain, and determines a value for the current angle β using Equations 3-4:
f(β)=k_Torq_K2·sin(2β)(1+cos(2β))−2Tavr·(cos(2β))2 Equation 3
where k_Torq_K2 is determined by Equation 4 as:
In one embodiment, the bisection search may be performed for two iterations. In the first iteration, the local current angle βlocal as determined in Equation 2 is substituted for β in Equation 3. In the second iteration, the current angle β as determined in the first iteration is substituted for β in Equation 3. The bisection search is generally limited to two iterations in order to reduce computational time. It is understood more than two iterations may be used, however, increasing the number of iterations also increases computational time. Once the current angle β has been calculated using the bisection search, the command current controller 20 may then re-calculate the peak current Ip_REF based on the current angle β as determined using the bisection search. In one embodiment, the peak current Ip_REF is determined by Equation 5:
The reference d-axis current Id_REF may then be determined based on the re-calculated peak current Ip_REF determined in Equation 5. In one embodiment, the reference d-axis current Id_REF may be determined using Equation 6:
Id_REF=Ip_REF*sin β Equation 6
The current command controller 20 may then determine the reference q-axis current Iq_REF using the reference d-axis current Id_REF as calculated in Equation 6, and the torque reference command Te. In one embodiment, the reference q-axis current Iq_REF is determined using Equation 7:
Iq_REF=Te/(√{square root over (3)}/2*Ke+(3/2(P/2)(Lq−Ld)*Id_REF Equation 7
The command current controller 20 determines the voltage command Vcmd based on the reference d-axis current Id_REF as calculated in Equation 6, and the reference q-axis current Iq_REF as determined Equation 7. In one embodiment, the voltage command Vcmd is determined by Equations 8-12:
VQFF=R*Iq_REF*√{square root over (3)}*Ke*ωm−2*Xd*Id_REF Equation 8
VDFF=R*Id_REF+2*Xq*Iq_REF Equation 9
Xq=(k_P/2)*ωm*Lq Equation 10
Xd=(k_P/2)*ωm*Ld Equation 11
Vcmd=√{square root over (VQFF2+VDFF2)} Equation 12
where VQFF is the feed forward q-axis voltage, ωm is the angular speed of the motor 32, VDFF is the feed forward d-axis voltage, R is resistance per phase of the motor 32, Xd is a d-axis reactance, and Xq is a q-axis reactance.
Once the voltage command Vcmd is determined, the command current controller 20 compares the magnitude of the voltage command Vcmd with the bridge voltage Vecu. If the voltage command Vcmd is less than the bridge voltage Vecu, then the current command controller 20 determines the reference d-axis current Id_REF and the reference q-axis current Iq_REF based on the first region of operation RI. In the first region of operation RI, the reference d-axis current Id_REF is determined using Equation 6 above, and the reference q-axis current Iq_REF is determined using Equation 7 above.
If the voltage command Vcmd is greater than or equal to the bridge voltage Vecu, then the current command controller 20 determines the reference d-axis current Id_REF and the reference q-axis current Iq_REF based on the second region of operation RII. In the second region of operation RII, the reference d-axis current Id_REF is determined based on a target voltage circle approach by first determining Equations 13-17:
Zq_sqr=R2+Xq2 Equation 13
Zd_sqr=R2+Xd2 Equation 14
BDax=Iq_REF*R*(Xq−Xd)−2*Ke/√{square root over (3)}*ωm*Xd Equation 15
CDax=Iq_REF2*Zq_sqr+Ke/√{square root over (3)}*ωm*R*Iqref+(Ke/√{square root over (3)}*ωm)2−Vecu2/3 Equation 16
SDax=BDax2−4*Zd_sqr*CDax Equation 17
where Zq_sqr is a q-axis impedance of the motor 32 squared, Zd_sqr is a d-axis impedance squared, BDax, CDax and SDax are variables based on the target voltage circle, and Iq_REF is determined using Equation 7 above. The reference d-axis current Id_REF may then be determined by the following d-axis target voltage circle algorithm:
If SDax>=0, then Id_REF=(−BDax−√{square root over (SDax)})/(2*Zd_sqr)
Else
Id_REF=(−BDax)/(2*Zd_sqr)
where the reference d-axis current Id_REF is calculated based on the variable SDax.
The current command controller 20 may re-calculate the reference q-axis current Iq_REF based on the target voltage circle approach using Equations 18-20, where:
BQax=Id_REF*R*(Xq−Xd)+2*Ke/√{square root over (3)}ωm*R Equation 18
CQax=Id_REF2*Zd_sqr−Ke/√{square root over (3)}ωm*Xd*Idref+(Ke/√{square root over (3)}ωm)2−Vecu2/3 Equation 19
SQax=BQax2−4*Zq_sqr*CQax Equation 20
where Id_REF is determined using Equations 13-17 above. The reference q-axis current Iq_REF may then be determined using the following q-axis target voltage circle algorithm:
If SQax>=0, then Iq_REF=(−BQax−sqrt(SQax))/(2*Zq_sqr)
Else
Iq_REF=(=BQax)/(2*Zq_sqr)
Once the reference d-axis current Id_REF and the reference q-axis current Iq_REF are both determined using either the first region of operation R1 or the second region of operation RII, the command current controller 20 may then re-calculate the feed forward q-axis voltage VQFF and the feed forward d-axis voltage VDFF according to Equations 8-9 above, and save the feed forward q-axis voltage VQFF and the feed forward d-axis voltage VDFF in memory.
In block 204, the command current controller 20 determines the peak current Ip_REF. In one embodiment, the peak current Ip_REF may be determined using Equation 1 above. Method 200 may then proceed to block 206.
In block 206, the command current controller 20 determines the solution domain and the local current angle βlocal. The solution domain may be defined by the starting point A and the ending point B, and expressed as [A, B]. In one exemplary embodiment, the starting point A is C*βlocal and the ending point B is βlocal, and the solution domain is expressed as [C*βlocal, βlocal]. In one embodiment, the local current angle βlocal may be determined using Equation 2 as described above. Method 200 may then proceed to block 208.
In block 208, the command current controller 20 determines the current angle β. The current angle β may be determined by an iterative approach that uses the values for the solution domain and the local current angle βlocal as determined in block 206. In one embodiment, the iterative approach is the bisection method, however it is to be understood that other iterative approaches such as, for example, Newton's iteration method, or Newton's fixed point method may also be used. Method 200 may then proceed to block 210.
In block 210, the command current controller 20 re-calculates the peak current Ip_REF based on the current angle β determined in block 208 using Equation 5 as described above. Method 200 may then proceed to block 212.
In block 212, the command current controller 20 determines the reference d-axis current Id_REF based on the re-calculated peak current Ip_REF determined in block 210 using Equation 6 as described above. Method 200 may then proceed to block 214.
In block 214, the current command controller 20 determines the reference q-axis current Iq_REF based on the reference d-axis current Id_REF as calculated block 212, and the torque reference command Te using Equation 7 as described above. Method 200 may then proceed to block 216.
In block 216, the command current controller 20 determines the voltage command Vcmd based on the reference d-axis current Id_REF as determined in block 212, and the reference q-axis current Iq_REF as determined in block 214. In one embodiment, the voltage command Vcmd is determined by Equations 8-12 as described above. Method 200 may then proceed to block 218.
In block 218, the command current controller 20 determines if the voltage command Vcmd is less than the bridge voltage Vecu. If the answer is yes, then method 200 proceeds to block 220. In block 220, the current command controller 20 determines the reference d-axis current Id_REF and the reference q-axis current Iq_REF based on the first region of operation RI. In the first region of operation RI, the reference d-axis current Id_REF is determined in block 212, and the reference q-axis current Iq_REF is determined in block 214.
However, if the answer is no in block 218 (i.e., the voltage command Vcmd is greater than or equal to the bridge voltage Vecu), then method 200 proceeds to block 222. In block 222, the current command controller 20 determines the reference d-axis current Id_REF and the reference q-axis current Iq_REF based on the second region of operation RII. In the second region of operation RE, the reference d-axis current Id_REF and the reference q-axis current Iq_REF are determined based on the target voltage circle using equations 13-20.
Method 200 may proceed from either block 220 or block 222 to block 224. In block 224, the current command controller 20 may re-calculate the feed forward q-axis voltage VQFF and the feed forward d-axis voltage VDFF according to Equations 8-9 above, and save the feed forward q-axis voltage VQFF and the feed forward d-axis voltage VDFF in memory. Method 200 may then repeat, or terminate.
The current command controller 20 as described above determines the reference d-axis current Id_REF based on the current angle β, and the reference q-axis current Iq_REF based on the reference d-axis current Id_REF and the torque command Te. The current angle β is determined using an iterative approach (e.g., the bisection method) with a reduced or limited number of iterations, which in turn results in reduced computational time needed to determine the current angle β. The computational time is also reduced by selecting the solution domain that contains the current angle β.
While the invention has been described in detail in connection with only a limited number of embodiments, it should be readily understood that the invention is not limited to such disclosed embodiments. Rather, the invention can be modified to incorporate any number of variations, alterations, substitutions or equivalent arrangements not heretofore described, but which are commensurate with the spirit and scope of the invention. Additionally, while various embodiments of the invention have been described, it is to be understood that aspects of the invention may include only some of the described embodiments. Accordingly, the invention is not to be seen as limited by the foregoing description.
Number | Name | Date | Kind |
---|---|---|---|
8018185 | Yamamoto et al. | Sep 2011 | B2 |
8154228 | Yundt et al. | Apr 2012 | B2 |
8744794 | Wu et al. | Jun 2014 | B2 |
20050057208 | Seibel et al. | Mar 2005 | A1 |
20060132074 | Yang et al. | Jun 2006 | A1 |
20070205743 | Takahashi et al. | Sep 2007 | A1 |
20090059446 | Matsui et al. | Mar 2009 | A1 |
20090295316 | Patel et al. | Dec 2009 | A1 |
20100219780 | Morimoto et al. | Sep 2010 | A1 |
20100264860 | Jun et al. | Oct 2010 | A1 |
20110043149 | Kitanaka | Feb 2011 | A1 |
20110148335 | Harakawa et al. | Jun 2011 | A1 |
20110175558 | Kitanaka | Jul 2011 | A1 |
20110241578 | Kim et al. | Oct 2011 | A1 |
20120221280 | Wu et al. | Aug 2012 | A1 |
20140265951 | Gebregergis et al. | Sep 2014 | A1 |
Number | Date | Country |
---|---|---|
1138234 | Dec 1996 | CN |
1754305 | Mar 2006 | CN |
101479925 | Jul 2009 | CN |
101507101 | Aug 2009 | CN |
101902185 | Dec 2010 | CN |
102545766 | Jul 2012 | CN |
102594250 | Jul 2012 | CN |
102694498 | Sep 2012 | CN |
1115196 | Jul 2001 | EP |
H1198891 | Apr 1999 | JP |
2000037098 | Feb 2000 | JP |
2004056839 | Feb 2004 | JP |
4657215 | Mar 2011 | JP |
Entry |
---|
European Search Report for EP Application No. 14158557.0 dated Mar. 5, 2015. |
China Patent Application No. 201410145809.3 First Office Action and Search Report issued Dec. 31, 2015, 10 pages. |
China Application No. 201410089156.1 First Office Action and Search Report dated Dec. 30, 2015, 9 pages. |
CN Patent Application No. 201410092806.8 First Office Action and Search Report issued Feb. 2, 2016, 9 pages. |
Number | Date | Country | |
---|---|---|---|
20140253000 A1 | Sep 2014 | US |