Predictive current control method for a six-phase induction motor
12395109 ยท 2025-08-19
Assignee
Inventors
Cpc classification
International classification
Abstract
A predictive current control method for a six-phase induction motor (6PIM) includes initializing a six-phase inverter at a present switching state, measuring a stator current and a rotor speed, transforming the stator current to and xy orthogonal frame, estimating a pair of currents in and xy frame based upon the measured and an estimated rotor speed, and calculating a future stator current for a future control sample of the inverter. The method further includes selecting four voltage vectors (VV) from and xy frames, implementing a cost function to calculate an error between the predicted future and a reference stator current, calculating a plurality of cost function results of each of the four VV, identifying a future VV that provides a minimum cost function results for the future control sample, saving the future VV to be used as an input to the lookup table for the next control sample and controlling the 6PIM by applying the future control sample as the switching state of the inverter.
Claims
1. A predictive current control method for a six-phase induction motor driven by a six-phase inverter, comprising: initializing the six-phase inverter at a present control sample comprising a present switching state corresponding to a present voltage vector, wherein the six-phase inverter employs the present control sample for converting a DC input voltage to a set of six-phase outputs for an operation of the six-phase induction motor; measuring a stator current and a rotor speed of the six-phase induction motor; transforming the measured stator current to a set of orthogonal subspace current values, wherein the set of orthogonal subspace current values comprising a set of current values in and xy frames; estimating a set of rotor variables of the six-phase induction motor using a difference between the measured rotor speed and a reference rotor speed, wherein the set of rotor variables comprising a pair of current values in frame and xy frame; calculating a future stator current for a future control sample of the six-phase inverter based on the transformed set of orthogonal subspace current values, estimated set of rotor variables, and the measured rotor speed; selecting four candidate voltage vectors from sixty-four voltage vectors mapped to and xy frames corresponding to sixty-four possible switching states of the six-phase inverter, comprising: predefining a lookup table representing a correlation between twelve possible non-zero voltage vectors and twelve corresponding groups of voltage vectors, wherein the twelve possible non-zero voltage vectors are twelve possible switching states of the six-phase inverter with on state for at least one of but not all of the set of six phase outputs, wherein each group of the twelve corresponding groups of voltage vectors comprising four voltage vectors; selecting a non-zero voltage vector from at least one of the present voltage vector if the present voltage vector is non-zero and a last appeared nonzero voltage vector from the lookup table; and identifying a group of voltage vectors from the lookup table corresponding to the selected non-zero voltage vector, wherein the identified group of voltage vectors corresponds to the four candidate voltage vectors; implementing a cost function to calculate a squared error between the predicted future stator current and a reference stator current, wherein a weighing factor is applied to the cost function; calculating a plurality of cost function results corresponding to each of the four candidate voltage vectors; identifying a future voltage vector providing a minimum of the calculated plurality of cost function results for the future control sample; saving the future voltage vector as an input to the lookup table for a successive control sample; and controlling a plurality of current values in and xy frames of the six-phase induction motor by applying the future control sample as a switching state of the six-phase inverter.
2. The predictive current control method of claim 1, wherein the future control sample comprises at least two future control samples corresponding to the present control sample.
3. The predictive current control method of claim 1, further comprising identifying a control sample with up to one commutation of a set of switches of the six-phase inverter.
4. The predictive current control method of claim 1, wherein mapping of a plurality of most significant voltage vectors in orthogonal subspace is corresponding to mapping of a plurality of lowest voltage vectors in xy orthogonal subspace.
5. The predictive current control method of claim 1, wherein the applied weighing factor corresponds to controlling a current in xy orthogonal subspace.
6. The predictive current control method of claim 1, wherein the weighing factor is a value selected from a range of 0.01 up to 0.2.
7. The predictive current control method of claim 1, wherein the twelve possible switching states of the six-phase inverter correspond to twelve largest voltage vectors in orthogonal subspace.
8. The predictive current control method of claim 1, wherein the four candidate voltage vectors comprise three active voltage vectors and one zero voltage vector.
9. The predictive current control method of claim 8, wherein the three active voltage vectors correspond to three consecutive switching states of the six-phase inverter.
10. The predictive current control method of claim 8, wherein the one zero voltage vector is selected from four zero voltage vectors corresponding to four zero switching states of the six-phase inverter.
11. The predictive current control method of claim 1, wherein the six-phase inverter comprises two three-phase two level-voltage source inverters (2L-VSI) connected in parallel.
12. The predictive current control method of claim 1, wherein the measuring of the rotor speed of the six-phase induction motor utilizing an encoder coupled to the six-phase induction motor.
13. The predictive current control method of claim 1, wherein the estimating of the set of rotor variables utilizing a proportional-integral controller.
14. The predictive current control method of claim 1, performed utilizing a computer processor.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
(1) A more complete appreciation of this disclosure and many of the attendant advantages thereof will be readily obtained as the same becomes better understood by reference to the following detailed description when considered in connection with the accompanying drawings, wherein:
(2)
(3)
(4)
(5)
(6)
(7)
(8)
(9)
(10)
(11)
(12)
(13)
(14)
(15)
(16)
(17)
(18)
(19)
(20)
(21)
(22)
(23)
(24)
(25)
(26)
(27)
(28)
(29)
(30)
(31)
(32)
(33)
(34)
(35)
(36)
(37)
(38)
(39)
(40)
(41)
(42)
(43)
(44)
(45)
(46)
(47)
(48)
(49)
(50)
(51)
(52)
(53)
DETAILED DESCRIPTION
(54) In the drawings, like reference numerals designate identical or corresponding parts throughout the several views. Further, as used herein, the words a, an and the like generally carry a meaning of one or more, unless stated otherwise. The drawings are generally drawn to scale unless specified otherwise or illustrating schematic structures or flowcharts.
(55) Furthermore, the terms approximately, approximate, about, and similar terms generally refer to ranges that include the identified value within a margin of 20%, 10%, or preferably 5%, and any values therebetween.
(56) Furthermore, the terms two level-voltage source inverter, 2-level six-phase inverter, 2-L six-phase inverter, 2-level 6P inverter, six-phase inverter or inverter are used as synonyms throughout the disclosure and used interchangeably.
(57) Furthermore, the terms six-phase induction motor, asynchronous six-phase induction motor, 6PIM, 6-PIM, A6PIM, or induction motor are also used as synonyms throughout the disclosure and used interchangeably.
(58) Aspects of this disclosure are directed to a predictive current control method and system for a six-phase induction motor driven by a six-phase inverter that considerably reduces circulating current, computation cost, and switching frequency. In the PCC method a group of only four candidate voltage vectors (VVs) is formed in each control sample for further examination, based on a lookup table and an optimal voltage vector of the previous control sample. The lookup table is designed such that it allows only one commutation in each control sample.
(59) Turning to drawings,
(60) The 2-level six phase inverter 104 includes a parallel connection of two three-phase two level-voltage source inverters (2L-VSI). The 2L-VSI 104 thus has sixty-four possible switching states by combinations of on/off output states of the six phases. Considering the two on/off switching states of each phase of the six-phase inverter, there are sixty-four (2.sup.6=64) possible combinations of the six phase outputs of the inverter. The six phase outputs are represented by voltage vectors (hereafter VVs) as V.sub.n(Sa1, Sb1, Sc1, Sa2, Sb2, Sc2) (n=0 to 63), where Sa1, Sb1, Sc1, Sa2, Sb2 and Sc2 each represents an on (1) or an off (0) state of the six phase outputs. The VVs are also denoted by a vector [S] as Sa1Sb1Sc1Sa2Sb2Sc2=[Sa1 Sb1 Sc1 Sa2 Sb2 Sc2].sup.T. In the embodiments herein, the VVs representing the switching states or the six phase outputs of the 2L-VSI 104 are the manipulated variables in the predictive current control (PCC) method for controlling the 6PIM 102. The output phase voltages of the 2-level six phase inverter 104 can be mathematically expressed as follows:
(61)
(62) The controller 106 includes a programming code that defines a transformation matrix T.sub.VSD as below:
(63)
(64) The transformation matrix is used for mapping the resultant voltage vectors from the switching states to and xy subspaces.
(65) Referring back to
(66) The controller 106 of the electric drive system 100 further comprises a prediction block 120 and a cost function minimization block 122. The prediction block 120 is configured to select in each of the sampling steps a plurality of candidate voltage vectors (CVVs) as candidates for a primary voltage vector V.sub.opt to be applied as a switching state of the 2L-VSI 104 in a following sampling step. The prediction block 120 is further configured to predict future values of the control variables corresponding to each of the plurality of CVVs when applied as the switching state of the 2L-VSI 104 in the following sampling step. The cost function minimization block 122 is configured to choose a primary VV giving a minimum value of a predefined cost function from among the plurality of CVVs selected at the prediction block 120. The predefined cost function adopted in a certain embodiment of the present disclosure represents a squared error between the predicted and reference stator currents of the induction motor, as detailed below in description of the mathematical model of the induction motor.
(67) In a certain embodiment of the present disclosure, the controller 106 is configured to store a predefined lookup table 126 before starting a first sampling step, where the predefined lookup table 126 defines a correlation between a primary voltage vector (VV) that was adopted at a previous sampling step (an optimal voltage vector) or given by an initial condition (denoted as V.sub.old) and a voltage vector group (VV.sub.g) comprising four candidate voltage vectors (CVVs). The four candidate voltage vectors (VV.sub.g) comprise three active voltage vectors and one zero voltage vector. Also, the three active voltage vectors correspond to three consecutive switching states of the 2-level six-phase inverter 104. For example, if the Vold is V.sub.5, the three consecutive switching states corresponding to candidate voltage vectors (VV.sub.g) is [V.sub.16 V.sub.5 V.sub.6] followed by a zero-voltage vector V.sub.1. Thus, the last optimal voltage vectors V.sub.old and its corresponding candidate voltage vectors (VV.sub.g) are thus predefined in the lookup table 126 and is given by Table 1, detail of which is described later. Further, the prediction block 120 of the controller 106 is configured to select a VV.sub.g comprising the four CVVs by referring the lookup table 126 and identifying the VV.sub.g corresponding to a given V.sub.old, in each of the sampling steps.
(68) TABLE-US-00001 TABLE 1 Lookup table to form the candidate VVs based on the old optimal voltage vector V.sub.old Or(V.sub.NZ Last optimal) Candidate VVs (V.sub.g) V.sub.5 [V.sub.16 V.sub.5 V.sub.6 V.sub.1] V.sub.6 [V.sub.5 V.sub.6 V.sub.7 V.sub.2] V.sub.7 [V.sub.6 V.sub.7 V.sub.8 V.sub.4] V.sub.8 [V.sub.7 V.sub.8 V.sub.9 V.sub.3] V.sub.9 [V.sub.8 V.sub.9 V.sub.10 V.sub.1] V.sub.10 [V.sub.9 V.sub.10 V.sub.11 V.sub.2] V.sub.11 [V.sub.10 V.sub.11 V.sub.12 V.sub.4] V.sub.12 [V.sub.11 V.sub.12 V.sub.13 V.sub.3] V.sub.13 [V.sub.12 V.sub.13 V.sub.14 V.sub.1] V.sub.14 [V.sub.13 V.sub.14 V.sub.15 V.sub.2] V.sub.15 [V.sub.14 V.sub.15 V.sub.16 V.sub.4] V.sub.16 [V.sub.15 V.sub.16 V.sub.5 V.sub.3]
(69)
(70)
(71) Considering
(72) TABLE-US-00002 TABLE 2 List of admissible VVs Switching states |VV| VV.sub.n Two octal digits [S.sub.a1 S.sub.b1 S.sub.c1 S.sub.a2 S.sub.b2 S.sub.c2] () V.sub.1 0 0 [0 0 0 0 0 0] Zero V.sub.2 0 7 [0 0 0 1 1 1] V.sub.3 7 0 [1 1 1 0 0 0] V.sub.4 7 7 [1 1 1 1 1 1] V.sub.5 4 4 [1 0 0 1 0 0] Large V.sub.6 6 4 [1 1 0 1 0 0] V.sub.7 6 6 [1 1 0 1 1 0] V.sub.8 2 6 [0 1 0 1 1 0] V.sub.9 2 2 [0 1 0 0 1 0] V.sub.10 3 2 [0 1 1 0 1 0] V.sub.11 3 3 [0 1 1 0 1 1] V.sub.12 1 3 [0 0 1 0 1 1] V.sub.13 1 1 [0 0 1 0 0 1] V.sub.14 5 1 [1 0 1 0 0 1] V.sub.15 5 5 [1 0 1 1 0 1] V.sub.16 4 5 [1 0 0 1 0 1]
(73)
(74)
(75) Table 2 defines the VV.sub.g correlated with the V.sub.old exclusively when the V.sub.old is a nonzero voltage vector. The nonzero voltage vector represents one of 12 possible switching states of the 2L-VSI, namely, V.sub.5 to V.sub.16 of the Table 1, with an on (value 1) state for at least one of but not all of the six phase outputs. As indicated herein, the lookup table as shown in Table 1 covers the correlation between the nonzero voltage vector and the VV.sub.g for all 12 possible cases of the optimal voltage vector. For other situations where the V.sub.old was not the nonzero vector, an optimal voltage vector is selected based on last appeared optimal voltage vector V.sub.NZ in an earlier sampling step if available, or otherwise given by an initial condition. For example, when the given present voltage vector is V.sub.old, for example, V.sub.6 (110100), the four allowable VVs are, for example, V.sub.5 (1 0 0 1 0 0), V.sub.6 (110100), V.sub.7 (110110), and V.sub.2 (000111), as confirmed in Table 2. On the other side, if the present voltage vector is a zero-voltage vector, last appeared non-zero voltage vector is selected as optimal voltage vector for the future sampling.
(76) Initially the 2-level six phase inverter 104 is initialized at a present control sample. The present control sample may refer to the values of stator current i.sub.s. The initial switching state of the inverter 104 corresponds to a present voltage vector VV. For example, the present voltage vector VV may be V.sub.5 at which the inverter 104 is initialized. The inverter 104 uses the present control sample in order to convert a DC input voltage from the DC supply 108 into a set of six-phase outputs for an operation of the 6PIM 102. Accordingly, initially at any arbitrary voltage vector from the inverter, the 6PIM 102 is initialized.
(77) Mathematically, the model equations for 6PIM 102 required for the estimation, the prediction and the identification made in each of the sampling steps are described below. When a stationary reference frame, commonly called frame is adopted and a stator current i.sub.s is considered as a state variable, the model dynamic equations of the 6PIM 102 can be expressed as follows:
(78)
where v.sub.s=[v.sub.s v.sub.s].sup.T, v.sub.xy=[v.sub.x v.sub.y].sup.T, i.sub.s=[i.sub.s i.sub.s].sup.T, i.sub.r=[i.sub.r i.sub.r].sup.T, i.sub.xy=[i.sub.x i.sub.y].sup.T, .sub.s=[.sub.s .sub.s].sup.T, .sub.r=[.sub.r .sub.r].sup.T, .sub.xy=[.sub.x .sub.y].sup.T, R.sub.s and R.sub.r are resistances of stator and rotor, respectively. L.sub.ls and L.sub.lr are leakage inductances of stator and rotor, respectively. L.sub.m and L.sub.lm are the mutual inductance and stator leakage mutual inductance, respectively. .sub.r is electrical rotor speed.
(79)
(80) The stator input voltage vector in an orthogonal frame, at the output of the six-phase inverter is given as equation 1 earlier:
(81)
where V.sub.dc=DC link voltage and [S]=[S.sub.a1 S.sub.b1 S.sub.c1 S.sub.a2 S.sub.b2 S.sub.c2].sup.T as a switching state vector as 0 or 1.
(82) As such, any arbitrary or initial voltage vector may be applied at the output of the inverter 104 based upon an initial switching state of the inverter 104.
(83) Now a stator current i.sub.s and a rotor angular speed .sub.r of the 6PIM 102 is measured, corresponding to initial switching state of the inverter 104. For example, the current sensor, such as an ammeter 132 connected at the output of the 2L-6P inverter 104 is configured to measure the stator current i.sub.s. Similarly, the encoder 114 measures the rotor speed .sub.r of the 6PIM 104. Once the stator current i.sub.s is measured, it is transformed into the set of orthogonal subspace current values, i.e. in and xy frames using the first transformation block 130 explained earlier. For example, the first transformation block 130 including the mathematical equation as provided in equation 2 transforms the is into , xy subspace. The output is provided as one of the inputs to the controller 106.
(84) Further, a set of rotor variables i.e., iq* and id* is estimated. In an embodiment, a difference between the measured rotor speed .sub.r and a reference rotor speed .sub.r* is measured, for example using a difference measuring circuit (not shown). In an embodiment, the difference between the measured rotor speed or and a reference rotor speed .sub.r* is further provided as an input to the PI controller 116. The PI controller 116 is configured to generate the set of rotor variables i.e. iq* and id*. Once the set of rotor variables i.e., iq* and id* are generated, they are provided as input to the second transformation block 124 such that the set of rotor variables transforms into a pair of current values in frame and xy frame, i.e. i*, i* and ixy*. In an embodiment, the second transformation block 124 may also include mathematical equation as provided in equation 2 to transforms the iq* and id* into , xy subspace.
(85) Now, the model of the 6PIM 102 is arranged in matrix format based on the dynamic model of equations (3) and (4), as follows:
(86)
where L.sub.s=L.sub.ls+L.sub.lm+L.sub.m and L.sub.r=L.sub.lr+L.sub.m and stator currents is are considered as the state variables.
(87) Further Discrete model is obtained using first Euler discretization method as follows:
(88)
(89)
where, where k denotes the k.sup.th sampling step, I is the identity matrix and T.sub.s is a duration time of the sampling steps. Also,
(90)
and
(91)
(92) In order to compensate for the time delay caused by calculation process, the variables at the (k+2).sup.th sampling step can be predicted as follows.
(93)
(94) Based upon the equations 11-13, the prediction block 120 of the controller 106 is configured to predict future stator current X (k+2) for a future control sample of the 6PIM 102. As such, values of one step ahead of stator currents is are predicted using system model provided in equations 6 through 13. In an embodiment, the prediction block 120 receives the transformed set of orthogonal subspace current values, the estimated set of rotor variables, and the measured rotor speed to predict the future stator current as X (K+2). In an embodiment, future control sample comprises at least two future control samples corresponding to the present control sample.
(95) The controller 106 initially predefines the lookup table 126 as explained in Table 1 and Table 2 containing twelve possible group of VVs. Each group of voltage vector VV corresponds to three neighbor voltage vectors and a zero voltage vector as defined in Table 1 and Table 2 as described previously.
(96) The controller 106 is further configured to select a non-zero voltage vector V.sub.NZ or V.sub.old from the lookup table 126 described in Table 2. Selecting an optimal VV is now explained with two examples below:
(97) Example I: If the last voltage vector was a non-zero VV as appeared during the last optimal voltage vector selection.
(98) The controller 106 checks if the selected non-zero vector appeared as an optimal voltage vector V.sub.opt during the last sampling period V.sub.old within the lookup table 126 as stored in a memory block 128. For example, if the controller 106 identifies that the present selected voltage vector, for example, is V.sub.5, and during the last sampling period i.e. K.sup.th sampling period, the voltage vector V.sub.5 appeared as an optimal voltage vector V.sub.opt to be applied as an input for the inverter 104. If so the controller 106 is configured to select the previous selected optimal voltage vector V.sub.5 as V.sub.old for computing the cost function to identify the minimum value of the cost function at the currently identified voltage vector V.sub.5. Since, the new optimal voltage vectors i.e. V.sub.5 for the next sample must corresponds to four neighbor candidate voltage vectors to the optimal voltage vector V.sub.5, as per Table 2 defined in the controller 106, the controller 106 is configured to identify the group of voltage vectors from the lookup table 126 corresponding to the selected non-zero voltage vector V.sub.5. The candidate voltage vector group V.sub.g corresponding to V.sub.5 are four different voltage vectors, for example [V.sub.16 V.sub.5 V.sub.6 V.sub.1] as provided in Table 2. It means that the optimal voltage vector must be at least one selected from the candidate voltage vector [V.sub.16 V.sub.5 V.sub.6 V.sub.1] for the next sampling periods. Accordingly, the controller 106 identifies the group of voltage vector V.sub.g as [V.sub.16 V.sub.5 V.sub.6 V.sub.1] from the lookup table 126 corresponding to the selected non-zero voltage vector V.sub.5.
(99) Example II: If the present voltage vector is a zero VV as appeared during the last optimal voltage vector selection.
(100) The controller 106 checks if the last appeared optimal voltage vector V.sub.opt was a zero-voltage vector during the last sampling period within the lookup table 126 as stored in a memory block 128. For example, if the controller 120 identifies that the present selected voltage vector, for example, is V.sub.1, and during the last sampling period i.e. K.sup.th sampling period, the voltage vector V.sub.1 appeared as an optimal voltage vector V.sub.opt to be applied as an input for the inverter 104. If so the controller 106 is configured to select last active (non-zero) optimal VV referred here as V.sub.NZ that was selected as an optimal voltage vector at one step one earlier before the application of the zero-voltage vector for the next step. For example, before the application of zero-voltage vector as an optimal voltage vector for applying as a switching state of the inverter 104, one more immediate active non-zero voltage vector was, for example V.sub.7, is identified. In this case, the voltage vector for the next step is thus selected as a non-zero voltage vector V.sub.7 since the last voltage vector is a zero-voltage vector. As such, the controller selects V.sub.7 for computing the cost function to identify the voltage vector that yields the minimum value of the cost function at the currently identified voltage vector V.sub.7.
(101) The controller 106 is configured to identify the group of voltage vectors from the lookup table 126 corresponding to the selected non-zero voltage vector V.sub.7. The candidate voltage vector group VV.sub.g corresponding to V.sub.7 are four different voltage vectors, for example [V.sub.6 V.sub.7 V.sub.8 V.sub.4] as provided in Table 2. In other words, the optimal voltage vector must again be at least one selected from the candidate voltage vector [V.sub.6 V.sub.7 V.sub.8 V.sub.4] for the next sampling periods. Accordingly, the controller 106 identifies the group of voltage vector VV.sub.g as [V.sub.6 V.sub.7 V.sub.8 V.sub.4] from the lookup table 126 corresponding to the selected non-zero voltage vector V.sub.7.
(102) Considering both examples 1 and 2, the controller 106 selects four candidate voltage vectors Vg from sixty-four voltage vectors mapped to and xy frames corresponding to sixty-four possible switching states of the six-phase inverter 104.
(103) The controller 106 implements a predefined mathematical equation (Cost function) for computing a cost function g(V.sub.s) as given in equation 14, in order to identify a voltage vector out of 4 identified candidate voltage vectors in either example 1 or 2, that minimizes the total cost for the predicted future stator current. Here, Vs represents the candidate voltage vectors. In an embodiment, the cost function g(V.sub.s) calculates a squared error between the predicted future stator current and a reference stator current as below:
(104)
where the superscripts * and P are used for the reference future stator current values and predicted future stator current values, respectively, V.sub.s represents the applied voltage vector or candidate voltage vector, K.sub.xy is a weighting factor which reflects the relative priority of components (flux and torque tracking) against the xy components as a current distortion. In an embodiment, the weighing factor is a value selected from a range of 0.01 up to 0.2 that corresponds to control the current in xy orthogonal subspace.
(105) The controller 106 evaluates the value of cost function g(V.sub.s) as defined in equation 14 for each of the plurality of CVVs, i.e., [V.sub.16 V.sub.5 V.sub.6 V.sub.1] for the first example or [V.sub.6 V.sub.7 V.sub.8 V.sub.4] for the second example, as explained earlier regarding Table 1 and Table 2, particularly in a certain embodiment of the present disclosure,
(106) The controller 106 evaluates the cost function as given in equation (14) to identify plurality of cost function results i.e. at a first voltage vector V.sub.16, a second voltage vector V.sub.5, a third voltage vector V.sub.6 and a fourth voltage vector V.sub.1 (zero-voltage vector) corresponding to V.sub.old voltage vector for the first example to compute the squared error between the predicted future stator current (for example i.sup.P, i.sup.P, i.sup.Px and i.sup.Py) and a reference stator current (for example. i*, i*, i*x and i*.sub.y) as in eq 14. Similarly, for the second example, the controller 106 evaluates the cost function results as given in eq 14 to identify plurality of cost function results i.e., at the fifth voltage vector V.sub.6, a sixth voltage vector V.sub.7, a seventh voltage vector V.sub.8 and an eighth voltage vector V.sub.4 (zero-voltage vector) corresponding to V.sub.NZ for the second example to compute the squared error between the predicted future stator current (for example i.sup.P, i.sup.P, i.sup.Px and i.sup.Py) and a reference stator current (for example. i*, i*, i*x and i*.sub.y).
(107) Once the controller 106 iteratively computes the cost function results for plurality of candidate voltage vectors as provided in equation 14 corresponding to the V.sub.16, V.sub.5, V.sub.6 and V.sub.1, for the first example, or V.sub.6, V.sub.7, V.sub.8 and V.sub.4, for the second example, the controller 106 simultaneously computes equation 16 to identify the minimum value of the cost function for the four CVVs given by the VV.sub.g selected, as below:
(108)
(109) The minimum value of the cost function for the four CVVs is determined based on equation 15. For example, the controller 106 identifies that the voltage vector V.sub.6 provides the minimum value of the cost function in case of example 1 or the voltage vector V.sub.7 provides the minimum value of the cost function in case of example 2. Then, a voltage vector corresponding to the minimum value of the cost function, is identified as a primary voltage vector to be applied in the next sample period. For example, Voltage vector V.sub.6 is selected as a primary or a future voltage vector that would provide a minimum of the calculated plurality of cost function results for the future or next control sample in case of Example 1 or Voltage vector V.sub.7 is selected as a primary or a future voltage vector that would provide a minimum of the calculated plurality of cost function results for the future or next control sample in case of Example 2. The controller thus saves the future voltage vector V.sub.6 in case of first example, or V.sub.7 in case of second example, as an optimal voltage vector to be used as an input to the lookup table 126 for the next control sample. Based upon the identified optimum voltage vector (V.sub.6 in first example or V.sub.7 in second example), that's acts as a switching state of the inverter 104, plurality of current values in and xy frames of the 6PIM is controlled by applying the future control sample (V.sub.6 in first example or V.sub.7 in second example) as a switching state of the six-phase inverter 104. Accordingly, the controller 106 need not process all 13 voltage vectors to identify the future or the next voltage vector however, only 4 voltage vectors need to be processed. Thus, evaluating only four VVs in Vg during the optimization step reduces the computation time.
(110) The predictive current control method executed by the controller 106 requires only one commutation to move from one VV to its previous or following one. Also, one of the four redundant zero VV is selected that ensures that only one commutation is required if a zero VV is to be selected among the candidate Vg. In an embodiment, control sample with up to one commutation of the set of switches of the 2-level six-phase inverter 104 is identified. Accordingly, switching frequency is considerably minimized.
(111)
(112) A block 214 selects a non-zero voltage vector from at least one of the present voltage vectors if the present voltage vector is non-zero and a last appeared nonzero voltage vector from the lookup table 126. If the present voltage vector is same as a last appeared voltage vector and a non-zero VV as appeared during the last optimal voltage vector selection, a block 218 indicates to access the lookup table 126 using the non-zero VV as V.sub.old. If the present voltage vector is a zero VV as appeared during the last optimal voltage vector selection, a block 216 indicates to access the lookup table 126 using the last active (non-zero) optimal VV referred here as V.sub.NZ that was selected as an optimal voltage vector at one step one earlier before the application of the zero-voltage vector for the next step.
(113) Based upon the selection of the voltage vector as either V.sub.old or V.sub.NZ, a block 220 indicates to determine candidate voltage vectors V.sub.g corresponding to V.sub.old or V.sub.NZ as described in Table 1 and Table 2. The candidate voltage vectors V.sub.g includes four voltage vectors. Block 222 indicates to initialize optimum voltage vector as V.sub.old. Block 224 and 226, 228 and 232 in combination indicate to compute the cost function g(V.sub.s) iteratively at each candidate voltage vector Vg to compute the squared error between the predicted future stator current (for example i.sup.P, i.sup.P, i.sup.Px and i.sup.P.sub.y) and a reference stator current (for example. i*, i*, i*x and i*.sub.y) as per equation 14. Block 230 indicates the identify of a voltage vector V.sub.opt corresponding to the minimum value of the cost function result as a primary voltage vector to be applied in the next sample period that is fed back to the block 204 as a loop.
(114)
(115)
(116)
(117) TABLE-US-00003 TABLE 3 Prototype machine specifications Specification Value Rated RMS phase Voltage (V) 110 V Rated Power (kW) 1 Rated RMS phase current (A) 2.2 Rated frequency (Hz) 60 No. of poles 6 Rated speed (RPM) 1140
(118) TABLE-US-00004 TABLE 4 Prototype machine parameters Parameter (VSD) Values R.sub.s 3.1 R.sub.r 1.94 L.sub.ls 2.05 mH L.sub.lr 6.6 mH L.sub.lm 10.4 mH L.sub.m 123.4 mH
(119)
(120)
(121)
(122)
(123) Considering
(124)
(125)
(126)
(127)
(128)
(129)
(130)
(131)
(132) Considering
(133)
(134)
(135)
(136)
(137)
(138)
(139)
(140)
(141) Considering
(142)
(143)
(144)
(145)
(146)
(147)
(148) Considering
(149)
(150)
(151)
(152)
(153)
(154)
(155)
(156)
(157)
(158)
(159)
(160)
(161) Considering
(162)
(163) TABLE-US-00005 TABLE 5 Performance comparison between PCC methods O.P. Method e.sub..sup.RMS(A) e.sub.x.sup.RMS(A) i.sub.THD % f.sub.av(kHz) 300 rpm Conv 0.35 1.18 43.2 6.0 2 Nm PCC-DB 0.19 0.76 27.7 4.45 Proposed 0.27 0.76 27.5 2.7 600 rpm Conv 0.37 1.13 33.3 5.9 3 Nm PCC-DB 0.18 0.80 23.3 6.25 Proposed 0.26 0.82 23.4 3.8 1100 rpm Conv 0.45 1.10 25.6 4.1 4 Nm PCC-DB 0.20 0.86 20.5 3.47 Proposed 0.37 1.06 23.7 2.1
(164)
(165) In conclusion of all results as observed in
(166) TABLE-US-00006 TABLE 6 Execution times for different PCC methods Pred &opt Total Method (sec) (sec) Conventional 1.31 14.2 PCC-DB 4.68 17.9 Proposed 0.92 13.8
(167) Also, the average execution time of convention method, PCC-DB and the proposed PCC method is shown in Table 6. From Table 6, it is to be noted that the proposed PCC method shows the shortest execution time. Further, the percentage reduction in execution time was not proportional to the reduction of iterations number, as all three algorithms were optimized to reduce the computation burden. Further the constant terms in the predicted variables in the proposed PCC method could be calculated only one time, while the computation of VV dependent term (BU(k+1)) along with the cost function were repeated as many times as the admissible VVs of each method. This shows a considerably reduction in the computation burden for all methods.
(168)
(169) At step 1302, the method 1300 includes initializing the six-phase inverter 104 at a present control sample comprising a present switching state corresponding to a present voltage vector (VV). The six-phase inverter 104 is further configured to employ the present control sample for converting a DC input voltage to a set of six-phase outputs for an operation of the six-phase induction motor 102.
(170) At step 1304, the method 1300 includes measuring a stator current i.sub.s and a rotor speed @r of the six-phase induction motor 102. The stator current i.sub.s may be measured using a current sensor 132 attached at the output of the 6-phase inverter 104. The rotor speed .sub.r may be measured by an encoder 114 coupled with the 6PIM 102.
(171) At step 1306, the method 1300 includes transforming the measured stator current i.sub.s to a set of orthogonal subspace current values. The set of orthogonal subspace current values comprises a set of current values in and xy frames. In an embodiment, the stator current i.sub.s is transformed into and xy frames or subspace using the first transformation block 130. The first transformation block 130 is coupled at the output of the 2L-6phase inverter 104.
(172) At step 1308, the method 1300 includes estimating a set of rotor variables iq* and id* of the six-phase induction motor 102 using a difference between the measured rotor speed .sub.r and a reference rotor speed .sub.r*. The set of rotor variables comprises a pair of current values in frame and xy frame. In an embodiment, the set of rotor variables iq* and id* are transformed into frame and xy frame using the second transformation block 124. The second transformation block 124 is coupled at the output of the PI controller 116. An input of the PI controller 116 is coupled at the output of the difference circuit configured to compute difference between the measured rotor speed .sub.r and a reference rotor speed .sub.r*.
(173) At step 1310, the method 1300 includes calculating a future stator current for a future control sample of the six-phase inverter 104 based on the transformed set of orthogonal subspace current values, estimated set of rotor variables, and the measured rotor speed.
(174) At step 1312, the method 1300 includes selecting four candidate voltage vectors (Vg) from sixty-four voltage vectors mapped to and xy frames corresponding to sixty-four possible switching states of the six-phase inverter. The step 1312 further comprises a step 1314, 1316 and 1318 sequentially.
(175) At step 1314, the method 1300 includes predefining a lookup table 126 representing a correlation between twelve possible non-zero voltage vectors and twelve corresponding groups of voltage vectors. The twelve possible non-zero voltage vectors are twelve possible switching states of the six-phase inverter 104 with on state for at least one of but not all of the set of six phase outputs. Each group of the twelve corresponding groups of voltage vectors comprising four voltage vectors.
(176) At step 1316, the method 1300 includes selecting a non-zero voltage vector (V.sub.old or V.sub.NZ) from at least one of, (1) the present voltage vector if the present voltage vector is non-zero or (2) a last appeared nonzero voltage vector from the lookup table 126.
(177) At step 1318, the method 1300 includes identifying a group of voltage vectors (V.sub.g) from the lookup table 126 corresponding to the selected non-zero voltage vector. The identified group of voltage vectors corresponds to the four candidate voltage vectors.
(178) At step 1320, the method 1300 includes implementing a cost function g(V.sub.s) to calculate a squared error between the predicted future stator current and a reference stator current. A weighing factor is applied to the cost function. In an embodiment, weighing factor is selected from a range of 0.01 up to 0.2 that corresponds to control a current in xy orthogonal subspace.
(179) At step 1322, the method 1300 includes calculating a plurality of cost function results corresponding to each of the four candidate voltage vectors (V.sub.g).
(180) At step 1324, the method 1300 includes identifying a future voltage vector providing a minimum of the calculated plurality of cost function results for the future control sample.
(181) At step 1326, the method 1300 includes saving the future voltage vector as an optimal voltage vector to be used as an input to the lookup table 126 for the next control sample.
(182) At step 1328, the method 1300 includes controlling a plurality of current values in and xy frames of the six-phase induction motor 102 by applying the future control sample as a switching state of the six-phase inverter 104.
(183) Based upon the method of controlling the six-phase induction motor driven by the six-phase inverter followed by a plurality of experimental observations, a simple PCC algorithm for asynchronous six-phase induction motors is proposed. The predictive current control method requires only four VVs to be evaluated during each control sample. Not only the computation cost is reduced but also a considerable reduction of the average switching frequency is achieved. The performance of the proposed PCC method has been investigated at different operating conditions and compared to the conventional method and deadbeat-based PCC method. The proposed method has the lowest average switching frequency with a reduction of about 50% as compared to conventional methods. Compared to the conventional method, the proposed PCC method has considerable reduction in current THD of about 15%, specially at low and medium speed ranges. The current tracking for the proposed PCC method is superior to the conventional one as indicated by the less tracking errors both in and xy subspaces. There are extra calculations involved in the conventional methods that overburden the cost function calculation, especially in the PCC-DB method that is overcome with the proposed PCC method. Further, the execution time required for implementation is shortest for the proposed PCC method. The reduced number of iterations required for the implementation of the proposed PCC method makes it possible for utilizing longer prediction horizon predictive controllers for multi-phase machines.
(184) Numerous modifications and variations of the present disclosure are possible in light of the above teachings. For example, relatively high values for current THD of all methods were observed in the three methods during experiment. The high value may be due to the small value of machine leakage reactance which results in high circulating currents (xy components). It is therefore to be understood that within the scope of the appended claims, the invention may be practiced otherwise than as specifically described herein.