PERMANENT MAGNET ELECTRIC MACHINE CONTROL
20220399841 · 2022-12-15
Assignee
Inventors
- Shangjian DAI (Sheffield, GB)
- Zhigang SUN (Sheffield, GB)
- Ellis FH CHONG (Derby, GB)
- Jiabin WANG (Worksop, GB)
Cpc classification
H02P21/0085
ELECTRICITY
H02P21/0003
ELECTRICITY
Y02T50/60
GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
International classification
H02P21/00
ELECTRICITY
Abstract
A method of controlling a permanent magnet synchronous electric machine (PMSM) drive using a Deadbeat Predictive Current Control (DBPCC) scheme is provided. The method comprises: determining d-axis and q-axis stator current values (i.sub.d, i.sub.q) representative of a measured PMSM current; determining d-axis and q-axis reference current values (i.sub.d*, i.sub.q*); based on the stator current values (i.sub.d, i.sub.q) and the reference current values (i.sub.d*, i.sub.q*), determining d-axis and q-axis current correction values (C.sub.d, C.sub.q); determining corrected reference current values (i.sub.d**, i.sub.q**) as a sum of the reference current values (i.sub.d*, i.sub.q*) and the current correction values (C.sub.d, C.sub.q); and controlling the PMSM drive using the corrected reference current values (i.sub.d**, i.sub.q**) as reference current inputs of the DBPCC scheme. A controller for performing the method; a system comprising the controller, a PMSM and associated power electronics; and a computer program for performing the method are also provided.
Claims
1. A method of controlling a permanent magnet synchronous electric machine (PMSM) drive using a Deadbeat Predictive Current Control (DBPCC) scheme, the method comprising: determining d-axis and q-axis stator current values (i.sub.d, i.sub.q) representative of a measured PMSM current; determining d-axis and q-axis reference current values (i.sub.d*, i.sub.q*); based on the stator current values (i.sub.d, i.sub.q) and the reference current values (i.sub.d*, i.sub.q*), determining d-axis and q-axis current correction values (C.sub.d, C.sub.q); determining corrected reference current values (i.sub.d**, i.sub.q**) as a sum of the reference current values (i.sub.d*, i.sub.q*) and the current correction values (C.sub.d, C.sub.q); and controlling the PMSM drive using the corrected reference current values (i.sub.d**, i.sub.q**) as reference current inputs of the DBPCC scheme.
2. The method of claim 1, in which the d-axis and q-axis current correction values (C.sub.d, C.sub.q) are determined independent of parameters of the PMSM and power electronics associated with the PMSM.
3. The method of claim 1, in which the d-axis and q-axis current correction values (C.sub.d, C.sub.q) are determined according to the equations:
C.sub.d(k+1)=C.sub.d(k)+ηe.sub.id(k)
C.sub.q(k+1)=C.sub.q(k)+ηe.sub.iq(k) wherein η is a pre-selected gain value, and e.sub.id and e.sub.iq are d-axis and q-axis current errors.
4. The method of claim 1, in which the d-axis and q-axis current correction values (C.sub.d, C.sub.q) are determined according to the equations:
5. The method of claim 3, in which the d-axis and q-axis current errors (e.sub.id, e.sub.iq) are determined according to the equations:
e.sub.id(k)=i.sub.d*(k).Math.z.sup.−m−i.sub.d(k)
e.sub.iq(k)=i.sub.q(k).Math.z.sup.−m−i.sub.q(k) wherein z is the Laplace operator in discrete form, m is an integer greater than or equal to 2, and k is an integer.
6. The method of claim 1, in which determining the d-axis and q-axis current correction values (C.sub.d, C.sub.q) comprises determining and summing a plurality of current correction components including a fundamental current correction component (C.sub.d,0, C.sub.q,0) and at least one harmonic current correction component (C.sub.d,n, C.sub.q,n).
7. The method of claim 6, in which the at least one harmonic current correction component (C.sub.d,n, C.sub.q,n) includes at least one n.sup.th order harmonic current correction component, wherein η satisfies: (n+1)/6=p or (n−1)/6=p, p being an integer.
8. The method of claim 6, in the at least one harmonic current correction component (C.sub.d,n, C.sub.q,n) includes a second and/or third order harmonic current correction component.
9. The method of claim 6, in which each one of the at least one harmonic component is determined based at least in part on a rotor angular position of the PMSM (⊖.sub.e); a rotor angular speed of the PMSM (ω.sub.e); and a phase factor (∓n) determined according to a harmonic order (n) of the harmonic component.
10. The method of claim 1, further comprising: determining an estimate of an inductance (L.sub.s) of the PMSM, and wherein controlling the PMSM drive further comprises using the estimated inductance (L.sub.s) of the PMSM as an input of the DBPCC scheme.
11. The method of claim 10, in which the determination of the estimate of the inductance (L.sub.s) of the PMSM is based on one or more reference current values (i.sub.d*, i.sub.q*) and one or more stator current values (i.sub.d, i.sub.q) during a transient.
12. The method of claim 10, in which the determination of the estimate of the inductance (L.sub.s) of the PMSM is based on a difference between a reference current value (i.sub.d*, i.sub.q*) and a stator current value (i.sub.d, i.sub.q).
13. The method of claim 10, in which the estimate of the inductance (L.sub.s) of the PMSM is determined according to the equations:
14. The method of claim 1, in which the PMSM is controlled to rotate at a speed greater than or equal to 12,000 rpm.
15. The method of claim 1, in which the PMSM drive is controlled to operate at a switching-to-fundamental ratio (SFR) of less than or equal to 10, the SFR being defined as:
16. A non-transitory computer-readable storage medium having program code stored thereon for controlling a permanent magnet synchronous electric machine (PMSM) drive using a Deadbeat Predictive Current Control (DBPCC) scheme, the program code, when executed by a computer system, causing the computer system to: determine d-axis and q-axis stator current values (i.sub.d, i.sub.q) representative of a measured PMSM current; determine d-axis and q-axis reference current values (i.sub.d*, i.sub.q*); based on the stator current values (i.sub.d, i.sub.q) and the reference current values (i.sub.d*, i.sub.q*), determine d-axis and q-axis current correction values (C.sub.d, C.sub.q); determine corrected reference current values (i.sub.d**, i.sub.q**) as a sum of the reference current values (i.sub.d*, i.sub.q*) and the current correction values (C.sub.d, C.sub.q); and control the PMSM drive using the corrected reference current values (i.sub.d**, i.sub.q**) as reference current inputs of the DBPCC scheme.
17. A controller for use in a system comprising a permanent magnet synchronous electric machine (PMSM) and associated power electronics, the controller being configured to: receive d-axis and q-axis stator current values (i.sub.d, i.sub.q) representative of a measured PMSM current; receive d-axis and q-axis reference current values (i.sub.d*, i.sub.q*); based on the stator current values (i.sub.d, i.sub.q) and the reference current values (i.sub.d*, i.sub.q*), determine d-axis and q-axis current correction values (C.sub.d, C.sub.q); determine corrected reference current values (i.sub.d**, i.sub.q**) as a sum of the reference current values (i.sub.d*, i.sub.q*) and the current correction values (C.sub.d, C.sub.q); and control the PMSM using the corrected reference current values (i.sub.d**, i.sub.q**) as reference current inputs to the DBPCC scheme.
18. A system comprising a permanent magnet synchronous electric machine (PMSM; power electronics in electrical communication with the PMSM; and a controller as claimed in claim 17.
19. The system of claim 18, in which a maximum rated speed of the PMSM is greater than or equal to 15,000 rpm.
20. An aircraft propulsion system comprising the system of claim 18.
Description
DESCRIPTION OF THE DRAWINGS
[0039] Embodiments will now be described by way of example only with reference to the accompanying drawings, which are purely schematic and not to scale, and in which:
[0040]
[0041]
[0042]
[0043]
[0044]
[0045]
[0046]
[0047]
[0048]
[0049]
[0050]
[0051]
[0052]
DETAILED DESCRIPTION
FIG. 1
[0053] A general arrangement of an engine 101 for an aircraft is shown in
[0054] The core gas turbine comprises, in axial flow series, a low-pressure compressor 104, a high-pressure compressor 105, a combustor 106, a high-pressure turbine 107, and a low-pressure turbine 108.
[0055] In operation, the core flow C is compressed by the low-pressure compressor 104 and is then directed into the high-pressure compressor 105 where further compression takes place. The compressed air exhausted from the high-pressure compressor 105 is directed into the combustor 106 where it is mixed with fuel and the mixture is combusted. The resultant hot combustion products then expand through, and thereby drive, the high-pressure turbine 107 and in turn the low-pressure turbine 108 before being exhausted to provide a small proportion of the overall thrust.
[0056] The high-pressure turbine 107 drives the high-pressure compressor 105 via an interconnecting shaft. The low-pressure turbine 108 drives the low-pressure compressor 104 via another interconnecting shaft. Together, the high-pressure compressor 105, high-pressure turbine 107, and associated interconnecting shaft form part of a high-pressure spool of the engine 101. Similarly, the low-pressure compressor 104, low-pressure turbine 108, and associated interconnecting shaft form part of a low-pressure spool of the engine 101. Such nomenclature will be familiar to those skilled in the art. Those skilled in the art will also appreciate that whilst the illustrated engine has two spools, other gas turbine engines have a different number of spools, e.g., three spools.
[0057] The fan 102 is driven by the low-pressure turbine 108 via a reduction gearbox in the form of a planetary-configuration epicyclic gearbox 109. Thus in this configuration, the low-pressure turbine 108 is connected with a sun gear of the gearbox 109. The sun gear is meshed with a plurality of planet gears located in a rotating carrier, which planet gears are in turn meshed with a static ring gear. The rotating carrier drives the fan 102 via a fan shaft 110. It will be appreciated that in alternative embodiments a star-configuration epicyclic gearbox (in which the planet carrier is static and the ring gear rotates and provides the output) may be used instead, and indeed that the gearbox 109 may be omitted entirely so that the fan 102 is driven directly by the low-pressure turbine 108.
[0058] It is increasingly desirable to facilitate a greater degree of electrical functionality on the airframe and on the engine. To this end, the engine 101 of the present embodiment comprises one or more rotary electric machines, generally capable of operating both as a motor and as a generator. The number and arrangement of the rotary electric machines will depend to some extent on the desired functionality. Some embodiments of the engine 101 include a single rotary electric machine 111 driven by the high-pressure spool, for example by a core-mounted accessory drive 112 of conventional configuration. Such a configuration facilitates the generation of electrical power for the engine and the aircraft and the driving of the high-pressure spool to facilitate starting of the engine in place of an air turbine starter. Other embodiments, including the one shown in
[0059] As mentioned above, in
[0060] The first and second electric machines 111, 113 are connected with power electronics. Extraction of power from or application of power to the electric machines is performed by a power electronics module (PEM) 115. In the present embodiment, the PEM 115 is mounted on the fan case 116 of the engine 101, but it will be appreciated that it may be mounted elsewhere such as on the core of the gas turbine, or in the vehicle to which the engine 101 is attached, for example.
[0061] Control of the PEM 115 and of the first and second electric machines 111 and 113 is in the present example performed by an engine electronic controller (EEC) 117. In the present embodiment the EEC 117 is a full-authority digital engine controller (FADEC), the configuration of which will be known and understood by those skilled in the art. It therefore controls all aspects of the engine 101, i.e. both of the core gas turbine and the first and second electric machines 111 and 113. In this way, the EEC 117 may holistically respond to both thrust demand and electrical power demand.
[0062] The one or more rotary electric machines 111, 113 and the power electronics 115 may be configured to output to or receive electric power from one, two or more dc busses. The dc busses allow for the distribution of electrical power to other engine electrical loads and to electrical loads on the airframe.
[0063] Those skilled in the art will appreciate that the gas turbine engine 101 described above may be regarded as a ‘more electric’ gas turbine engine because of the increased role of the electric machines 111, 113 compared with those of conventional gas turbines.
FIGS. 2A and 2B
[0064]
[0065] The illustrated propulsion system 200 further comprises an AC/DC converter 205, a dc distribution bus 212, a DC/AC converter 215 and a DC/DC converter 207. It will be appreciated that whilst one generator set 202 and one propulsor 204 are illustrated in this example, a propulsion system 200 may include more than one generator set 202 and/or one or more propulsor 204.
[0066] A shaft or spool of the engine 201 is coupled to and drives the rotation of a shaft of the generator 211 which thereby produces alternating current. The AC/DC converter 205, which faces the generator 211, converts the alternating current into direct current which is fed to various electrical systems and loads via the dc distribution bus 212. These electrical systems include non-propulsive loads (not shown in
[0067] The battery pack 203, which may be made up of a number of battery modules connected in series and/or parallel, is connected to the dc distribution bus 210 via the DC/DC converter 207. The DC/DC converter 207 converts between a voltage of the battery pack 203 and a voltage of the dc distribution bus 210. In this way, the battery pack 203 can replace or supplement the power provided by the generator set 202 (by discharging and thereby feeding the DC distribution bus 212) or can be charged using the power provided by the generator set 202 (by being fed by the dc distribution bus 212).
[0068] Referring to
[0069] The electric machine 213 is supplied with electric power from a power source, for example the generator set 202 and/or the battery 203 via the dc bus 212. The electric machine 213 of the propulsor, and indeed the electric machine 211 of the generator set 202, may generally be of any suitable type, for example of the permanent magnet synchronous type.
[0070] Those skilled in the art will recognize the propulsion system 200 of
[0071] Those skilled in the art will also appreciate that the hybrid architecture illustrated in
FIG. 3
[0072]
[0073] The propulsion system 300 includes a battery pack 303 that feeds a HVDC distribution bus 312, possibly via a DC/DC converter (not shown), which delivers power to one or more synchronous motors 313 via a DC/AC converter 315. The one or more motors 313 drive the one or more propellers 316 that propel the aircraft.
FIG. 4
[0074]
[0075] The arrangement includes a power electronics converter 15 which receives electrical power from a power source 12, which in this case is a dc bus 12. The converter 15 inverts the power and supplies it to the PMSM 13. Alternatively, if the PMSM 13 is configured as a generator, the converter receives power from the PMSM 13, rectifies it and provides this power to the dc bus 12.
[0076] The controller 17, which may be implemented in hardware, software or a combination of the two, and which may include one or more functional modules, provides control signals to the power electronics converter 15 in order to control the operation of the PMSM 13. For instance, the controller may control gate voltages and duty cycles of the semiconductor switches of the converter 15 in order to control the stator current and rotor speed of the PMSM 13.
[0077] The DBPCC control scheme utilizes a pre-defined electric machine model which is based on the design specifications of the machine. Parameter values such as the machine inductance L and the flux linkage ψ.sub.m, as well as other ‘name plate’ parameter values are defined within the machine model. Furthermore, both the PMSM 13 and the converter 15 provide feedback to the controller 17, illustrated in
[0078] In a current control scheme such as DBPCC, the controller 17 attempts to control the drive so that the actual current supplied to PMSM 13, denoted by i, is equal to a desired value, denoted i* and generally known as the reference current or current command. Ideally, i=i*. However, imperfections in the model, inverter non-linearity, and deviations between the actual, true machine parameter values (e.g. inductance L and the flux linkage ψ.sub.m) and the name plate parameter values due to imperfections in machine design and manufacture, aging and environmental conditions (e.g. temperature) mean that the actual current i deviates from the desired current i*. Deviations between the actual and model parameter values may be referred to as “parameter mismatch”. The resulting difference between i and i* may be referred to as “current control error”.
FIG. 5
[0079]
[0080] In the interests of conciseness, the DBPCC scheme of
[0081] Starting from reference currents i*, the illustrated DBPCC scheme includes three main parts: calculation of reference stator fluxes by the current model, one-step prediction of stator flux and current to compensate a one-step processing delay, and synthesis of reference voltage to realize deadbeat control.
[0082] The current model of the PMSM is given by:
Ψ.sub.dq=L.sub.si.sub.dq+ψ.sub.m (1)
where Ψ and i denote the stator flux and current vectors, respectively; the subscript dq denotes the variable in the dq frame; L.sub.s represents the synchronous inductance of the surface mounted PMSM (SPMSM) while for the interior PMSM (IPMSM) the dq-axis inductances should be used accordingly for each axis component; Ψ.sub.m is the PM flux linkage.
[0083] Assuming that the machine speed is constant over a control interval, the rotor angular position at step k+1 can then be defined as θ.sub.e(k)+ω.sub.e(k)T.sub.s, where θ.sub.e(k) and ω.sub.e(k) are the sampled rotor angular position and speed at the k.sup.th step, respectively, and T.sub.s is the sampling period, i.e. the control time step. The reference stator flux vector in the stationary frame at step k+2 can then be calculated as:
Ψ.sub.αβ(k+2)*=[L.sub.si.sub.dq(k)*+ψ.sub.m].Math.e.sup.j[θ.sup.
where the superscript * denotes the reference value; the subscript op denotes the variable in the αβ frame; e is the base of the natural logarithm and e.sup.jx represents the anti-clockwise rotation of a vector by x radians.
[0084] With SVM and ignoring the inverter nonlinearity, the stator flux vector at the next step can be predicted by the voltage model as:
Ψ.sub.αβ(k+1)=Ψ.sub.αβ(k)+T.sub.su.sub.αβ(k)*−RT.sub.si.sub.αβ(k) (3)
where R is the phase resistance. The reference stator voltage vector, u.sub.αβ(k)*, is calculated and applied to the drive at the present step. The present stator flux vector Ψ.sub.αβ(k), can be estimated according to the current model of (1) and the coordinate transformation by:
Ψ.sub.αβ(k)=[L.sub.si.sub.dq(k)+ψ.sub.m].Math.e.sup.jθ.sup.
Therefore, the reference stator voltage for step k+1, u.sub.αβ(k+1)* can be synthesized by the difference of the reference stator flux vector at step k+2 and the estimated stator flux vector at step k+1 according to:
[0085] As can be seen, the reference stator voltage vector for achieving deadbeat control of the reference stator flux vector and hence the reference dq-axis currents are controlled directly in the stationary frame. The rotor position-dependent coordinate system conversion from the dq frame to the αβ frame as in the conventional dq frame model-based DBPCC is avoided. Thus, this stationary frame-based DBPCC is robust to the large rotor movement in a time-step at high speeds with low SFRs.
[0086] However, it can be seen that the performance of the DBPCC is reliant on the accuracy of the current model and voltage model of PMSM. In practice, the control performance of DBPCC can be heavily influenced by the accuracy of the machine parameters as well as the inverter nonlinearity.
FIG. 6
[0087] As noted above, the DBPCC of high-speed PMSM drives with state flux vector tracking exhibits relative robust transient performance, but the steady-state control accuracy will deteriorate significantly under parameter uncertainty and inverter nonlinearity. To improve the parameter robustness of the DBPCC scheme, the present disclosure proposes a novel correcting current injection technique to reduce or eliminate the steady-state current errors. The scheme is described in detail below and shown in block form in
[0088] The steady-state dq-axes currents under parameter mismatch and inverter nonlinearity can be rewritten in the component form as:
where the coefficients, A.sub.Lt and A.sub.L2 relate to the inductance mismatch; λ.sub.Ψ1 and λ.sub.Ψ2 relates to the PM flux linkage mismatch; λ.sub.inv1 and λ.sub.inv2 relates to the inverter nonlinearity. These quantities are given by equations (7)-(8):
In equations (7)-(8), V.sub.inv_qav is the inverter nonlinearity caused voltage drop in the q-axis. “{circumflex over ( )}” denotes the estimated/name-plate quantity and Δ denotes the quantity error, defined by the real value subtracting the estimated/name-plate value.
[0089] The proposed steady-state current control error compensation method is to inject two correcting components, which may be referred to as reference correcting currents (RCCs), denoted as C.sub.d and C.sub.q, into the original d-axis and q-axis current references, i.sub.d* and i.sub.q* to obtain new, corrected reference currents, i.sub.d** and i.sub.q** as expressed in (9). These modified references, i.sub.d** and i.sub.q**, are then fed to the DBPCC as its reference inputs.
Combining (9) and (6), the steady-state current will become:
To nullify the current control error, the desired RCCs can be solved as given in:
where the coefficients are:
[0090] Injecting the desired RCCs in to the original reference currents, namely substituting (11) into (8), will ultimately lead to i.sub.dq=i.sub.dq* regardless of the parameter mismatch and inverter nonlinearity, which indicates the current control error is eliminated and the control performance of the DBPCC with the desired RCCs is parameter independent. It is noted that the analytical expression (6) only considers the average current, and therefore zero current control error here refers to zero average error.
[0091] It will be appreciated that the coefficients in (8) are machine parameter dependent. Consequently, if parameter independent RCCs are desired, they cannot be calculated out by (11). An online adaptive scheme which derives the injected RCCs independent of the machine parameters and minimizes the current control error is therefore proposed.
[0092] An objective function to minimize the current control error can be defined as:
where e.sub.id, e.sub.iq are the sampled current errors in the d-axis and q-axis, respectively. Substituting C.sub.d* , C.sub.q* into (10) and rearranging gives the current errors as:
e.sub.id=λ.sub.L1ΔC.sub.d+λ.sub.L2ΔC.sub.q (14)
e.sub.iq=λ.sub.L1ΔC.sub.q−λ.sub.L2ΔC.sub.d (15)
where:
ΔC.sub.d=C.sub.d*−C.sub.d (16)
ΔC.sub.q=C.sub.q*−C.sub.q (17)
[0093] Computing the gradient vector of the objective function, J with respect to C.sub.d and C.sub.q respectively and combining equations (13)-(17) yields:
[0094] According to the gradient descent updating rule, the injected RCC magnitudes, C.sub.d and C.sub.q are determined by:
C.sub.d(k+1)=C.sub.d(k)−η∇J.sub.1 (20)
C.sub.q(k+1)=C.sub.q(k)−η∇J.sub.2 (21)
where η is the adaptive gain.
[0095] According to the expression of λ.sub.L1 in (7) and (8), it is equal to one with accurate inductance and deviates from one if the estimated inductance is not equal to the actual inductance. However, it is constant or varies slowly with inductance mismatch. Therefore, λ.sub.L1 in the gradient expressions (18) and (19) can be reasonably approximated as equal to one. By substituting (18) and (19) into (21) and (21), the adaptation law is finally derived as:
C.sub.d(k+1)=C.sub.d(k)+ηe.sub.id(k) (22)
C.sub.q(k+1)=C.sub.q(k)+ηe.sub.iq(k) (23)
[0096] Taking convergence speed and steady-state performance into consideration, the adaptive gain η can be pre-selected based on experiments. A higher gain value η reduces the time taken to eliminate the control error to be driven to zero, but an excessively high value may generate undesirably large components during the transient. The value will generally have a value of less than 0.1, for example between 0.005 and 0.05.
[0097] Due to the two time-step delay of the DBPCC, the present current actually corresponds to the reference two time-steps before, thus the dq axis current error, e.sub.idq(e.sub.id, e.sub.iq), is preferably calculated according to the difference between the references at step k−2 and present currents as:
e.sub.id(k)=i.sub.d*(k).Math.z.sup.−2−i.sub.d(k) (24)
e.sub.iq(k)=i.sub.q*(k).Math.z.sup.−2−i.sub.q(k) (25)
[0098] Thus, (22)-(25) determine the injected RCC magnitude in the d-axis and q-axis respectively. While an m=2 two time-step delay is considered here, implementations where m>2 are contemplated, e.g. to reduce the transient current control error caused by the non-ideal factors including parameter mismatch and eddy currents.
[0099] Additionally, as can be found from the form of (22) and (25), the injected RCC magnitudes can be alternatively generated by an integrator with the dq axis current errors as input, namely:
where K.sub.i is the integral gain, T.sub.s is the sampling time-step and the corresponding adaptive gain for minimising the objective function, J, is:
η.sub.i=K.sub.iT.sub.s (28)
[0100]
FIG. 7
[0101]
[0102] Reference current correction injection is not implemented in the left-hand graph. The horizontal lines at 0 and 25 A represent the desired, reference currents i.sub.d* and i.sub.q*. The actual currents, i.sub.d and i.sub.q, are show in shading. It can be seen that as the machine speed increases to a high speed, the actual currents i.sub.d and i.sub.q depart significantly from the horizontal lines (i.e. the desired, reference currents i.sub.d* and i.sub.q*) because of control error due to inverter non-linearity and the parameter mismatch. The dashed lines represent the theoretically predicted currents, taking into account the known mismatch. It will of course be understood that in a practical system the parameter mismatch would not be accurately known.
[0103] The described reference current correction injection is implemented in the right-hand graph. Again, the horizontal lines at 0 and 25 A represent the desired, reference currents i.sub.d* and i.sub.q*. The actual currents, i.sub.d and i.sub.q, are shown in shading. It can be seen that the current control errors, i.sub.dq*−i.sub.dq, are considerably smaller where the reference current correction injection is implemented.
FIGS. 8A and 8B
[0104]
[0105] As can be seen from
[0106] The desired harmonic component may be derived as follows. To reduce the effect of the harmonic distortion, a harmonic voltage, V.sub.dqn.sup.h*, is injected and the corresponding injected harmonic current is denoted by i.sub.dqn*. The actual harmonic current in the n.sup.th order harmonic reference frame, t.sub.dqn.sup.h can be obtained as:
i.sub.dgn.sup.h=(V.sub.dqn.sup.h*+V.sub.dst_dqn.sup.h)/(R±jnω.sub.eL.sub.s) (29)
[0107] Given that only the estimated machine parameters are available for calculation of the injected harmonic voltage, V.sub.dqn.sup.h*, the injected harmonic current is given by:
i.sub.dqn.sup.h*=V.sub.dqn.sup.h*/({circumflex over (R)}±jnω.sub.e{circumflex over (L)}.sub.s) (30)
[0108] Substituting (30) into (29), a general expression for the n.sup.th order harmonic current, i.sub.dqn.sup.h can be derived as:
i.sub.dqn.sup.h=λ.Math.i.sub.dqn.sup.h*+V.sub.dst_dqn.sup.h/(R±jnω.sub.eL.sub.s) (31)
where the parameter mismatch related coefficient λ is:
λ=({circumflex over (R)}±jnω.sub.e{circumflex over (L)}.sub.s)/(R±jnω.sub.eL.sub.s) (32)
[0109] As can be found from (31), normally if current harmonic injection is not required, i.e. i.sub.dqn.sup.h*=0, the actual current harmonic will be caused by the inverter nonlinearity and back emf. If the reference current harmonic given in (30) is deliberately injected, the actual harmonic current shown in (31) will be affected not only by the parameter mismatch but also by the voltage distortions. However, if a correcting component, C.sub.n is added into the reference current harmonic, the current harmonic expressed in (31) will be altered as:
[0110] From (33), the desired correcting component that results in the actual harmonic current being cancelled by the reference can be derived as:
[0111] Since the correcting component, C.sub.n is injected to correct the actual harmonic current, it may be referred to as the harmonic reference correcting current (RCC). By transforming the RCC from the n.sup.th harmonic reference frame to the dq frame, the harmonic RCC can ultimately be injected into the reference dq axis currents and can then be tracked by the aforementioned DBPCC in two time steps.
[0112] Without loss of generality, a normal case with zero reference harmonic current, i.e, sinusoidal current in the stationary αβ frame, is considered. In order to suppress the n.sup.th order current harmonic, the desired harmonic RCC in (34) to be injected needs to be determined by the harmonic voltage distortion. However, in practice, the actual distortion voltage can hardly be known prior with accuracy. To circumvent this problem, an adaptive algorithm may be designed to calculate the desired injected harmonic RCC online. The objective function to minimize the selective n order harmonic current in the dq frame can be defined as:
where the reference harmonic current i.sub.dqn.sup.h* is 0 and e.sub.idqn.sup.h is the harmonic current control error in the harmonic reference frame. With the expression of i.sub.dqn.sup.h (31), the gradient vector of the objective function, J.sub.hn against C.sub.n can be obtained as:
∇J.sub.hn=−λe.sub.idqn.sup.h (36)
[0113] As shown in (32), the parameters mismatch related coefficient λ is proportional to the inductance mismatch by neglecting the resistance and constant in steady states. Hence it can be simply approximated as 1 and this approximation will not affect the gradient direction. According to the gradient descent updating rule, the injected harmonic RCC magnitudes, C.sub.n is thus determined by:
C.sub.n(k+1)=C.sub.n(k)+ηe.sub.idqn.sup.h (37)
where q is the adaptive gain, governing the convergence speed of tracking the desired harmonic RCC magnitude in (34).
[0114] To determine the harmonic RCC, the harmonic current control error in the reference harmonic frame, e.sub.idqn.sup.h, should be obtained. In the proposed adaptive harmonic RCC injection (AHRCCI), the harmonic current error information is only required to update the gradient. Hence, instead of using the exact current harmonic error of the n.sup.th order to calculate the adaptive gradient in (36), the harmonic current error simply obtained by transforming the current error in the dq frame, e.sub.idq, into the n.sup.th order rotating reference frame can be used. This greatly simplifies the proposed method. Further, to account the intrinsic two time-steps delay of the DBPCC, the dq axis current error, e.sub.idq, is determined by the difference between the reference at the (k−2).sup.th step and actual currents at the k.sup.th step. Therefore, the harmonic current error at the k.sup.th step is derived as:
The updating scheme of the injected harmonic RCC in the reference harmonic frame is given by:
C.sub.n(k+1)=C.sub.n(k)+ηe.sub.idqn.sup.h(k).Math.e.sup.jnθ.sup.
Finally, by considering the rotation of the harmonic reference frame in the dq frame over the two time-steps, the harmonic RCC injected to the dq frame can be obtained as:
C.sub.dn(k+1)=real[C.sub.n(k+1).Math.e.sup.−jn(θ.sup.
C.sub.qn(k+1)=imag[C.sub.n(k+1).Math.e.sup.−jn(θ.sup.
where real[ ] and imag[ ] represent calculations of the real and imaginary components respectively.
[0115] According to (40)-(41), the proposed AHRCCI is actually adding sinusoidal correcting components associated with the n harmonic in the dq frame. This can be easily extended to any selective order of harmonic suppression by just changing the harmonic order, n. Furthermore, as the harmonic reference frame rotation due to rotor movement is taken into account, the adaptive searching is not affected by rotor movement, is independent of speed and is hence effective in the scenarios with low switching-to-harmonic frequency ratios (SHRs).
[0116] An implementation of the calculation of the individual harmonic components is illustrated in the block diagram of
[0117] As shown in
[0118] Like the current correction injection of
FIG. 9
[0119]
TABLE-US-00001 TABLE 1 Parameters of the prototype SPMSM Drive Parameter Magnitude Number of poles pairs 2 Phase resistance 20 mΩ d-axis inductance 125 μH q-axis inductance 134.2 μH PM flux linkage 9.83 mWb Rated phase current (peak) 50 A Rated torque 1.5 Nm Rated speed 30,000 rpm Rated power 5 kW DC-link voltage 270 V Switching/Sampling frequency 10 kHz Dead-time 2 μs
[0120] The first graph of
[0121] As can be seen from the first graph, the total harmonic distortion (THD) in the absence of any harmonic suppression is 14.43%. The 5.sup.th, and 7.sup.th order harmonics can be seen to be the dominant harmonics, with smaller but notable contributions from the 11.sup.th, 13.sup.th, 17.sup.th and 19.sup.th order harmonics.
[0122] In the second graph, the harmonic correction components are injected for the 5.sup.th and 7.sup.th order harmonics. This significantly reduces the THD from 14.43% to 7.66%, with the contributions of the 5.sup.th and 7.sup.th order harmonics almost completely eliminated. There is however some increase in the contribution from the 11.sup.th and 13.sup.th order harmonics.
[0123] In the third graph, the harmonic correction components are injected for all harmonics up to the 25th order. There is a further reduction in the THD to 6.01%, with no major contributions from any harmonic order.
[0124] It will be appreciated that the computational requirements associated with the calculation of the harmonic correction components increases as the number of targeted harmonics increases. Targeting only the 5.sup.th and 7.sup.th orders results in a significant decrease in THD, with a relatively modest increase in computational requirements. Further targeting the 11.sup.th and 13.sup.th order harmonics, and more generally harmonic orders n satisfying (n+1)/6=p and (n−1)/6=p for integers p up to a maximum integer value P, provides the largest decrease in THD without an excessive computational burden. Additionally or alternatively, if the 2.sup.nd and 3.sup.rd current harmonics arise due to the design and manufacture of machine, these may be targeted with only a slight increase in the computation burden.
FIG. 10
[0125] As a further enhancement to the above techniques, the actual inductance of the PMSM (i.e. the true value, rather than the machine model value of the inductance which may be subject to parameter mismatch) may be estimated to improve the performance of the DBPCC scheme. Such an enhancement may be particularly attractive in a high-speed drive which may exhibit large inductance mismatch.
[0126] To appreciate why inductance identification may be of benefit, first consider that, using the DBPCC and reference correcting current injection approaches described in
where, the variables in bold represent the corresponding vectors in the dq frame, d.sub.inv is the disturbance caused by inverter nonlinearity, and C.sub.dq is sum of injected current correction obtained from the approach described in
[0127] At step k, assuming that a steady state is reached associated with reference current of i.sub.dq1*, the current control error, e.sub.idq1(k) can be regarded close to zero considering the effectiveness of the injected current correction. This gives:
[0128] However, if at step k−2 the reference current changes from i.sub.dq1* to i.sub.dq2* (i.e. a transient occurs), the current control error at step k, referred to as transient current tracking error, e.sub.idgT, (42) and (43) can be combined to give:
[0129] From (44), it can be seen that if the inductance is over-estimated, there will be overshoot currents when the reference current steps up. Likewise, with underestimated inductance, undershoot currents would emerge and slower the dynamic response of DBPCC. Therefore, an inductance identification method is proposed to calculate the real inductance of machine to reduce undershooting and overshooting of the currents.
[0130] The proposed inductance identification method exploits the transient tracking error and reference current variation information, which are already available in the current controller. Based on (44), the real machine inductance can be calculated. An implementation example of q-axis inductance identification is shown in
[0131] In the embodiment shown in
Δi.sub.q*=i.sub.q*−i.sub.q*.Math.z.sup.−1 (45)
[0132] When the inductance identification is triggered, the ratio, denoted as r, between the current error, (i.e. the transient current tracking error) and the reference variation is calculated:
r=(i.sub.q*−i.sub.q)/Δi.sub.q* (46)
[0133] By comparison with (44) it can be seen that this ratio is effectively equal to:
r=ΔL.sub.s/L.sub.s (47)
[0134] Considering the definition of ΔL.sub.s, the real machine inductance can then be calculated as:
where {circumflex over (L)}.sub.s is estimated inductance presently used.
[0135] As shown in
[0136] The described calculation of real-inductance may only be executed once in the time-step when trigged. As illustrated, the output of the inductance identification block may be fed to a rate limiter block or a low-pass filter in order to avoid the undesirable transient causing by abrupt change of machine parameter. The calculated q-axis inductance, {circumflex over (L)}.sub.q, will be delivered to the DBPCC block and replace with the previous estimated/name-plated q-axis inductance.
[0137] Those skilled in the art will appreciate that the parameters introduced in
[0138] For surface mounted PMSMs, the d-axis inductance is usually assumed to be equal to the identified q-axis inductance, i.e. collectively referred to as synchronous inductance. Hence, for surface mounted PMSMs the approach of
[0139] Generally, for any machine where constant d-axis reference current control is employed, e.g. i.sub.d=0 control, there is no need to identify the real d-axis inductance as one can know from (44) that the transient performance deterioration due to d-axis inductance occurs when there is reference variation in the d-axis.
[0140] It is noted that the described inductance identification method only leverages the transient current tracking error caused by inductance mismatch and the current information which is already available in the control. It is thus non-intrusive and adds almost no extra cost to the system.
[0141] By employing the identified inductance, the transient performance can be significantly improved. Even in the presence of parameter mismatch, inverter nonlinearity and other non-ideal factors such as back emf harmonics, nearly ideal deadbeat current control can be achieved and transient overshoot currents and low frequency current ripples are virtually eliminated.
FIG. 11
[0142]
[0143] Inductance identification is not implemented in the first graph. The dotted horizontal line at 0 A represents the desired, reference current i.sub.d* and the dotted pulses varying between 25 A and 50 A represents the desired, reference current, i.sub.q*. The actual currents, i.sub.d and i.sub.q, are show in shading. It can be seen that large transient current errors and cross-coupling between the dq axes occur in transients when the reference current changes, caused by the inductance mismatch.
[0144] The described inductance identification is implemented in the second graph. Again, the dotted horizontal line at 0 A represents the desired, reference current i.sub.d* and the dotted pulses varying between 25 and 50 A represent the desired, reference current, i.sub.q*. The actual currents, i.sub.d and i.sub.q, are show in shading. It can be seen that the transient overshoot current and dq-axis cross-coupling effect are significantly reduced where the inductance identification is implemented.
FIG. 12
[0145]
[0146] The techniques described herein may provide one or more of the following advantages: [0147] i. Robustness against machine parameter deviation and power converter nonlinearity. This is because the steady-state current control errors due to parameter mismatches and converter nonlinearity may be compensated in the proposed method. The reference currents may be corrected adaptively according to the feedback of current errors, which can then be driven to zero. [0148] ii. Ease of implementation and effectiveness even where the sampling-to-harmonic frequency ratios (SHRs) are low. The proposed method may mainly consist of integrators and there may only one parameter to be tuned. The proposed method may account for the delay effect in high-speed drives in which the control interval may not be sufficiently small, as some prior techniques assume. [0149] iii. Fast dynamic current control with improved transient stability. The proposed technique may achieve nearly ideal dynamic response of the deadbeat control by accounting for the effect of rotor movement, adaptive compensation for errors caused by parameter mismatches, and real-time inductance identification. [0150] iv. Reduction of THD in a motor drive system. This is derived from adaptive compensation for the errors caused by inverter nonlinearity and back emf harmonics and may be enabled by a simple algorithm and hence high attainable control bandwidth. [0151] v. Applicability to both salient and non-salient high-speed PMSM drives in both constant-torque and constant-power operating regions. Particularly, robust flux weakening operation of high-speed drives can be realized with the proposed method as very fast and robust control of dq-axis currents can be implemented. Consequently, the control loop to generate the d-axis flux weakening current reference can be effectively decoupled. [0152] vi. Improvements to the stability and reliability of a more electric, hybrid electric or full electric propulsion system. [0153] vii. Reduced losses and increased system efficiency. [0154] viii. Cost reduction in sampling and control hardware
[0155] Various examples have been described, each of which feature various combinations of features. It will be appreciated by those skilled in the art that, except where clearly mutually exclusive, any of the features may be employed separately or in combination with any other features and the embodiments extend to and include all combinations and sub-combinations of one or more features described herein.
[0156] It will also be appreciated that whilst the embodiments have been described with reference to aircraft and aircraft propulsion systems, the electric machine drive techniques described herein could be used for many other applications. These include, but are not limited to, automotive, marine and land-based applications.
[0157] Annex [0158] ω.sub.e . . . Speed of PMSM [0159] ⊖.sub.e . . . Rotor angular position [0160] L.sub.s . . . Actual synchronous inductance of PMSM [0161] L.sub.s . . . Model synchronous inductance [0162] ΔL.sub.s . . . Synchronous inductance parameter mismatch [0163] ψ.sub.m . . . Actual permanent magnet flux linkage of PMSM [0164] ψm′ . . . Model permanent magnet flux linkage [0165] Δψ.sub.m . . . Flux linkage parameter mismatch [0166] T.sub.s . . . Sampling time-step [0167] i . . . Actual PMSM stator current [0168] i* . . . Reference current value [0169] ii* . . . Corrected reference current value [0170] C . . . Current correction value [0171] e.sub.i, e.sub.i . . . Current error value [0172] η . . . Adaptive gain value [0173] K . . . Integral gain [0174] Subscript d, q . . . d-axis and q-axis values in dq reference frame [0175] Subscript α, β . . . α-axis and β-axis values in αβ reference frame [0176] k, k+1 . . . variable at the k.sup.th, k+1.sup.th . . . step [0177] s . . . Laplace operator [0178] z . . . Laplace operator in discrete form [0179] z.sup.m . . . Delay by m steps