International Journal of Control, 2015 Vol. 88, No. 7, 1366–1378, http://dx.doi.org/10.1080/00207179.2014.942699
Effective variable switching point predictive current control for ac low-voltage drives Peter Stolzea,∗ , Petros Karamanakosa , Ralph Kennela , Stefanos Maniasb and Christian Endischc a Institute for Electrical Drive Systems and Power Electronics, Technische Universit¨at M¨unchen, Munich, Germany; b Department of Electrical and Computer Engineering, National Technical University of Athens, Athens, Greece; c Technische Hochschule Ingolstadt, Ingolstadt, Germany
(Received 30 January 2014; accepted 3 July 2014) This paper presents an effective model predictive current control scheme for induction machines driven by a three-level neutral point clamped inverter, called variable switching point predictive current control. Despite the fact that direct, enumerationbased model predictive control (MPC) strategies are very popular in the field of power electronics due to their numerous advantages such as design simplicity and straightforward implementation procedure, they carry two major drawbacks. These are the increased computational effort and the high ripples on the controlled variables, resulting in a limited applicability of such methods. The high ripples occur because in direct MPC algorithms the actuating variable can only be changed at the beginning of a sampling interval. A possible remedy for this would be to change the applied control input within the sampling interval, and thus to apply it for a shorter time than one sample. However, since such a solution would lead to an additional overhead which is crucial especially for multilevel inverters, a heuristic preselection of the optimal control action is adopted to keep the computational complexity at bay. Experimental results are provided to verify the potential advantages of the proposed strategy. Keywords: model predictive control (MPC); optimal control; variable switching point; three-level inverter; ac low-voltage drives
1. Introduction Over the past decades, field oriented control (FOC) (Kazmierkowski, Krishnan, & Blaabjerg, 2002) and direct torque control (DTC) (Depenbrock, 1988; Takahashi & Noguchi, 1986) have been shown to be reasonably effective in controlling adjustable-speed ac drives. FOC makes use of modulators, whereas DTC utilises hysteresis controllers for both flux and torque, and outputs a switching state which is directly commanded to the inverter. Because of the absence of a modulator, DTC is known to show a faster transient response than FOC, whereas it normally produces higher current, flux and torque ripples. Although model predictive control (MPC) (Maciejowski, 2002; Rawlings & Mayne, 2009) methods have been widely used for more than 40 years in process and chemical engineering, the application of such strategies to electrical drive systems and power electronics converters has just recently been gaining more popularity (Correa, Pacas, & Rodr´ıguez, 2007; Geyer, 2012; Geyer & Mastellone, 2012; Geyer, Oikonomou, Papafotiou, & Kieferndorf, 2012; Geyer, Papafotiou, & Morari, 2009; Miranda, Cort´es, Yuz, & Rodr´ıguez, 2009; Oikonomou, Gutscher, Karamanakos, Kieferndorf, & Geyer, 2013; Papafotiou, Kley, Papadopoulos, Bohren, & Morari, 2009; Rodr´ıguez et al., 2012, 2013; Rojas et al., 2013). MPC-based ∗
Corresponding author. Email:
[email protected]
C 2014 Taylor & Francis
algorithms can be divided into modulator-based schemes, such as generalised predictive control (Linder, Kanchan, Kennel, & Stolze, 2010), and direct MPC strategies, where the optimisation problem is solved via enumeration approaches (Cort´es, Kazmierkowski, Kennel, Quevedo, & Rodr´ıguez, 2008; Geyer, 2005; Karamanakos, 2013). The two main drawbacks of enumeration-based MPC methods are the high computational complexity due to the complete enumeration of all control inputs, i.e. the switching states, and the high ripples on the controlled variables compared to modulator-based approaches. To alleviate the first problem, i.e. to reduce the necessary computations, some strategies have been proposed in the past, see Karamanakos, Geyer, Oikonomou, Kieferndorf, and Manias (2014) and references therein. In this work a heuristic voltage vector preselection is adopted, initially proposed in Stolze, Landsmann, Kennel, and Mouton (2011) that can be effectively applied to MPC schemes where a longer prediction horizon is required for improved plant performance. Furthermore, as shown in Stolze, Tomlinson, Kennel, and Mouton (2013), this strategy can be successfully applied to the current control loop of induction machines (IMs). The second problem of direct, enumeration-based strategies comes from the fact that a switching state is
International Journal of Control applied for at least one sampling interval, resulting in high ripples on the quantities that are either directly or indirectly controlled (e.g. the stator current and flux, and the electromagnetic torque). If a modulator is used, active voltage vectors which in general lead to higher ripples than the zero ones1 can be applied for a much shorter time. Hence, in order to reduce ripples on the controlled variables, in Karamanakos, Stolze, Kennel, Manias, and du Toit Mouton (2014), Stolze, Karamanakos, Kennel, Manias, and Mouton (2013), Patsakis et al. (2013) an MPC strategy, called variable switching point predictive torque control (VSP2 TC), was introduced showing promising results. According to this algorithm, a variable switching point (VSP) in time tsw , with 0 ≤ tsw ≤ Ts , where Ts is the sampling interval, is calculated in order to minimise the torque ripple. However, it should be mentioned that calculating a VSP further increases the computational burden, resulting in a limited applicability of such methods, especially for multilevel inverters. To overcome the previously mentioned drawbacks of direct, enumeration-based methods, in this paper the basic principle that was used for the torque ripple minimisation in VSP2 TC is applied to the current control loop of an IM. Furthermore, the proposed VSP strategy is combined with a heuristic preselection of the optimal voltage vector to implement it in a computationally efficient manner. In a first step the continuous-valued solution of the optimisation problem (assuming that the continuous-valued voltage vector is applied for a whole sampling interval) is determined. Then, the three integer solutions – related to the voltage vectors produced by the inverter – that lie in the neighbourhood of the continuous-valued optimum are considered for the MPC algorithm. Subsequently, an optimisation problem is formulated according to which a VSP is calculated such that the squared rms current error for both α and β components of the stator current i s is minimised. In this way, the twofold task is achieved: (1) the current ripples are effectively reduced, and (2) the computational burden is kept low, especially when compared to a complete enumeration of all possible solutions. Apart from the above goals that the proposed algorithm meets, it comes with an additional advantage. It holds true that in direct, enumeration-based MPC methods the real switching frequency per device is lower than half the sampling frequency, while it also highly depends on the operating point. Especially at low machine speeds the switching frequency per device can reach values around 100 Hz whereas it can be several kHz at higher speeds. The proposed method increases the switching frequency, especially at these operating points, and delivers significantly improved currents while not affecting the dynamic response of the system. The suggested algorithm is applied to an IM fed by a three-level neutral point clamped (NPC) inverter. However, the necessary dc-link voltage balancing can be easily achieved by including an appropriate term in the proposed
1367
objective function. Finally, it should be pointed out that the proposed strategy is very promising for low-voltage drives where, in contrast to medium- and high-voltage drives, a good quality of the controlled variables is much more important than low switching frequencies. The paper is organised as follows: Section 2 gives an overview of the physical system; in Section 3 the control algorithm with heuristic preselection and the VSP calculation is described. Section 4 contains experimental results to verify the proposed method and in Section 5 the conclusion and an outlook to further work are given. 2. Physical system 2.1 Three-level NPC inverter Figure 1 shows the three-level NPC inverter connected to an IM. DC+ and DC- are the positive and negative dclink rails, respectively. NP is the neutral (zero) point. Ideally, the two dc-link capacitor voltages vc1 and vc2 are equal to 0.5Vdc , where Vdc is the dc-link voltage. Every phase has two complementary pairs of switches (Sj1 /Sj3 and Sj2 /Sj4 , j = {a, b, c}), i.e. if one of the two complementary switches is on, the other one has to be off and vice versa. The inverter can produce the voltages −0.5Vdc , 0 V and 0.5Vdc in every phase. This leads to 33 = 27 switching possibilities which are modelled with −1, 0, 1 corresponding to the phase voltages −0.5Vdc , 0V and 0.5Vdc , respectively. By using the Clarke transformation, a variable in the three-phase abc system (ξ abc = [ξa ξb ξc ]T ) can be transformed to ξ αβ = [ξα ξβ ]T in an equivalent but linearly independent αβ coordinate system, resulting in 19 unique voltage vectors (see Figure 2 – positive switching states are denoted with ‘p’, negative ones with ‘n’), through ξ αβ = K ξ abc , with 2 1 K= 3 0
− 12 √
3 2
− 12 −
√
3 2
.
(1)
For the sake of brevity, in the remainder of the paper the switching combinations [ − 1 − 1 − 1]T , [000]T and [111]T
DC+
vc1
Sa1
Sb1
Sc1
Sa2
Sb2
Sc2
Cdc is,abc
NP
Vdc
vc2
IM Sa3
Sb3
Sc3
Sa4
Sb4
Sc4
Cdc
DC-
Figure 1. Three-level neutral point clamped (NPC) voltage source inverter driving an induction machine (IM).
1368
P. Stolze et al. jβ npn
2 0pp n00
7 6 13
15
ppp 000 nnn
00p nn0
20
pnn
α
dψ s + j ωk ψ s , dt
(4c)
dψ r + j (ωk − ωr )ψ s . dt
(4d)
Stator variables are marked in the form (∗)s while rotor variables are denoted in the way (∗)r . ψ s and ψ r are the fluxes, i s and i r the currents, rs and rr the resistances, ls and lr the inductances and lm is the mutual inductance between stator and rotor. v s is the applied stator voltage and v r the rotor√ voltage (v r = 0 for a squirrel-cage IM). j is defined as j = −1. ωr is the rotor rotational speed
18 pn0
24 23
0np
(4b)
19
17
22
ψ r = lm i s + lr i r ,
v r = rr i r +
12
p0p 0n0
21 nnp
11 p00 0nn
(4a)
v s = rs i s +
p0n
10
16
14 n0p
5 0p0 n0n
9 8
pp0 00n
npp
4 3
1 np0
ppn
0pn
ψ s = ls i s + lm i r ,
pnp
Figure 2. Voltage vectors of a three-level NPC inverter and the corresponding switching states.
(‘nnn’, ‘000’ and ‘ppp’, respectively, see Figure 2) are called zero switching states. These combinations produce the socalled zero voltage vectors. All remaining combinations are called active switching states and produce active voltage vectors. As already mentioned, the two dc-link capacitor voltages shown in Figure 1 have to be close to their reference values of 0.5Vdc . However, if a current is drawn from the neutral point, these voltages will change. Thus, a voltage balancing algorithm has to be implemented in order to keep these voltages balanced. In other words, the voltage difference should be vn = vc = vc1 − vc2 = 0.
(2)
Note that positive or negative switching states do not affect the voltage balance. By applying Kirchhoff ’s current law and utilising the differential equation of a capacitor, the neutral point voltage balancing mechanism can be described by 1 dvn inj , = dt Cdc j =a,b,c
ωr = pωm ,
(5)
where p is the number of pole pairs and ωm is the mechanical machine speed. For ωk = 0 the coordinate system is stator-fixed, i.e. the coordinates are given in the αβ system. In order to obtain a more compact system representation, it is quite common to describe the αβ system with complex numbers where the real part corresponds to the α axis and the imaginary part to the β axis. According to Holtz (1995), Equation (4) can be rewritten in the form
τσ
di s kr + i s = −j ωk τσ i s + dt rσ τr
1 1 − j ωr ψ r + v s , τr rσ (6a)
dψ r + ψ r = −j (ωk − ωr )τr ψ r + lm i s , dt
where the coefficients are given by τσ =
σ ls rσ
(6b)
and rσ = rs +
2 lm . ls lr
kr2 rr with kr = llmr , τr = rlrr and σ = 1 − The electromagnetic torque is given by
(3) Te =
where inj is the neutral point current in phase j. This current is equal to the phase current if a zero switching state is applied in this phase, otherwise it is zero.
2.2 Induction machine According to Kov´acs (1984), the basic equations of an IM can be written in a coordinate system which rotates with an arbitrary angular velocity ωk as
3 3 p(ψ s × i s ) = p(ψ r × i r ). 2 2
(7)
Finally, the mechanical differential equation can be stated as 1 dωm = (Te − T ), dt J
(8)
where T is the mechanical load torque and J the inertia.
International Journal of Control
ωr∗
−
Te∗
PI
i∗sq
Te
i∗sd
|ψr |
∗
|ψr |
i∗sα
dq
isq
1369
i∗sβ
αβ
sa
isd
Heuristic VSP2 CC algorithm
sb
IM
sc vc1 vc2
ψr vemf ϕ
Rotor flux and back-EMF estimation
isα isβ
αβ abc
isa isb
ωr Figure 3.
Block diagram of the heuristic variable switching point predictive current controller (VSP2 CC).
3. Heuristic variable switching point predictive current control (VSP2 CC) 3.1 Discrete-time controller model First, the continuous-time equations for the stator current have to be developed. In the αβ plane (ωk = 0) Equation (6a) can be rewritten as 1 1 di s (v s − v emf ), = − is + dt τσ rσ τσ
(9)
In order to derive an adequate model of the drive system to serve as an internal prediction model for MPC, Equations (9)–(11) are discretised with the sampling interval Ts . The stator current, the rotor flux in the αβ plane and the neutral point potential, i.e. x = [isα isβ ψrα ψrβ vn ]T are chosen as state variables. The switching states constitute the input vector u = [ua ub uc ]T ∈ {−1, 0, 1}3 and the output vector is y = [isα isβ vn ]T . By using the forward Euler approximation, the derived state-space internal model of the physical system is of the form
with the back-EMF voltage v emf = −kr
x(k + 1) = Ad x(k) + B d1 u(k) + B d2 (x(k)) |u(k)| (12a)
1 − j ωr ψ r . τr
(10)
dψ r + ψ r = j ωr τr ψ r + lm i s . dt
(12b)
where the definition of the matrices Ad , B d1 , B d2 and C d can be found in the Appendix.
For the rotor flux estimation Equation (6b) is used: τr
y(k) = C d x(k),
(11)
As it can be seen from Equation (9), the current control loop is a linear first-order system with an external disturbance. The back-EMF voltage v emf is changing slowly over the sampling interval and hence, it can be assumed as constant for the whole prediction horizon.
3.2 Block diagram of the control algorithm Figure 3 shows the block diagram of the proposed variable switching point predictive current control (VSP2 CC) algorithm with heuristic voltage vector preselection. As the three phase currents in the machine are balanced, only two of them have to be measured. Furthermore, it is necessary
1370
P. Stolze et al.
to measure the machine speed. The torque reference is generated by a conventional speed proportional–integral (PI) controller, while the reference value for the rotor flux magnitude is set to a constant value which can be limited if field-weakening operation is desired. The speed PI controller was tuned such that the closed speed control loop has a bandwidth of 10 Hz and that good disturbance rejection (load torque) can be achieved. Reference values are denoted with a star superscript: (∗)∗ . The d and q current references can be calculated from the torque and rotor flux references as follows: ∗ isd
|ψ r |∗ ∗ = and isq = lm
3 2
Te ∗ . lm · |ψ r |∗ lr
In FOC the PI controllers for both the field- (d) and torque-producing (q) currents are operating in the dq coordinate system which is aligned with the rotor flux. However, for the enumeration-based predictive current control (PCC) algorithm, the control task is executed in the stationary αβ system; in order to do the enumeration in dq coordinates, it would be necessary to transform all possible voltage vectors to this system, too. Thus, it is computationally cheaper ∗ ∗ and isq to the αβ to transform the current references isd coordinate system. For this operation the rotor flux angle ϕ has to be calculated. Besides, the rotor flux ψ r is also necessary to estimate the back-EMF voltage v emf . Furthermore, the dc-link capacitor voltages vc1 and vc2 have to be measured in order to perform the voltage balancing. 3.3 Heuristic voltage vector preselection In order to reduce the computational complexity of the enumeration-based MPC strategy, a heuristic voltage vector preselection is employed (Stolze, Landsmann, et al., 2011), and explained in detail in the following. The goal is to find the optimal solution, i.e. the combination of the switching states, not by enumerating all possible solutions, but by searching in a subset of them. To do so, an optimisation problem is formulated to calculate the continuous-valued optimal solution; the integer-valued optimal solution is one of the vertices that form the sector wherein the continuousvalued one lies (see Figure 2). To be more specific, the heuristic preselection strategy is based on the assumption that the discrete-valued optimal value is normally close to the continuous-valued optimum. Consequently, only the three closest voltage vectors with respect to the continuous optimum are used for the optimisation for each single prediction step. The αβ plane with the 19 voltage vectors in Figure 2 can be divided into 24 regions. After the determination of the correct region only the three voltage vectors at its corners are taken into account for the following discrete-valued optimisation (instead of all 19 ones).
Based on the above, the heuristic method for the reduction of the candidate optimal solutions comprises the following steps: (1) Calculate the continuous-valued optimal solution. (2) Find the sector in which this continuous-valued optimal solution lies. (3) Consider only the points/vertices that form the previous calculated sector as candidate integer-valued optimal solutions to acquire the optimal one. In order to obtain the continuous-valued solution for the optimisation problem, the voltage balancing is not considered. Thus, either a linear ( 1 -norm) objective function Jlin = ||i ∗s − i s (k + 1)||1 ,
(13)
or a quadratic ( 2 -norm) objective function Jquad = ||i ∗s − i s (k + 1)||2 ,
(14)
can be set up, where k is the current sample. To illustrate the described principle for the reduction of the candidate solutions, both the linear (Equation (13)) and the quadratic (Equation (14)) objective function values for the current control loop are visualised in Figure 4 for the operating point v emf (k) = [0 0]T , i s (k) = [0 0]T , i ∗s (k) = [0 0]T . Note that despite the fact that the plots depicted in Figure 4 show only one prediction step and were made under the assumption that the back-EMF voltage v emf (k), the measured stator current i s (k) and the stator current reference i ∗s (k) are zero, a different operating point would not change the general shape of the objective function. In Figure 5 the two objective functions (13) and (14) are illustrated in a two-dimensional plane for the same conditions as in the case shown in Figure 4. The feasible voltage vectors are marked by the two black hexagons (the inner and the outer one). All voltage values lying within the two black hexagons (formed by the discrete switching states) can be commanded by the inverter if a continuous-valued optimisation is considered. The continuous-valued optimum is marked with a red circle and the discrete optimum with a red ‘x’. As expected, when no current is flowing through the machine, no back-EMF is existing and since the current references are equal to zero, the voltage vector leading to a minimum value of the objective function lies at the origin. A second example is depicted in Figure 6, where the drive is operating at a different operating point: for this example the back-EMF voltage, the measured stator currents and their references are non-zero. From Figure 6(a) and 6(b), it can be seen that the discrete-valued optimal value differs depending on the nature of the objective function. For reasons of visualisation, the examples above depict the objective functions for a one-step prediction horizon,
International Journal of Control
1371
3.5 3
8
3
2.5
6
2
2
1
1.5
0 400
1 200
vβ
(k
0
)[
V]
0
200
400
jquad
jlin
6 4
5 4
4
3
2 0 400
0.5
2 200
vβ
−200 −200 V] k) [ −400 −400 v α(
(k
)[
0
V]
0
200
400
1
−200 −200 V] k) [ −400 −400 v α(
(a)
(b)
Figure 4. Three-dimensional visualisation of the linear (Equation (13)) and quadratic (Equation (14)) objective functions for one prediction step. Operating point: v emf (k) = [0 0]T , i s (k) = [0 0]T , i ∗s (k) = [0 0]T (the evolution of the current was calculated based on Equation (12a). Furthermore, Ts = 100 μs, rσ = 4.2779 and τ σ = 4.635 ms. Finally, the parameters of the drive system used can be found in Table 1). (a) Linear objective function. (b) Quadratic objective function.
since more prediction steps would result in higher dimensions. It should be mentioned, though, that the resulting plots do not differ when a longer prediction horizon is implemented. Thus, the same principle for the selection of the discrete-time optimal value can be used for longer prediction horizons. Furthermore, it is not expected that the accuracy of the proposed selection method deteriorates with long prediction horizons. The reason is that the prediction accuracy in the field of power electronics is high, thanks to the fact that the mathematical model of the plants is quite accurate. This has been shown in Stolze, Landsmann, et al.
400
(2011), Stolze, Tomlinson, du Toit, Kennel, and Mouton (2011); even for three and four prediction steps the correct voltage vector was found in more than 96% of the cases examined.
3.3.1 Calculation of the continuous-valued optimum In order to find the discrete-time optimal value, the continuous-valued optimum must be calculated first. As can be observed in Equation (9), the current control loop is a linear first-order system with an external disturbance,
400
3.5
6
3
200
200
5
2
0
1.5 1
−200
vβ (k) [V]
vβ (k) [V]
2.5
4 0
3 2
−200
1
0.5 −400 −400
−200
0 vα (k) [V]
(a)
200
400
−400 −400
−200
0
200
400
vα (k) [V]
(b)
Figure 5. Linear (Equation (13)) and quadratic (Equation (14)) objective functions and discrete-valued optimisation points for one prediction step. Operating point: v emf (k) = [0 0]T , i s (k) = [0 0]T , i ∗s (k) = [0 0]T . (a) Linear objective function. (b) Quadratic objective function.
1372
P. Stolze et al. 400
400
5
12 4 3 0 2 −200
200 vβ (k) [V]
vβ (k) [V]
200
10 8
0
6 4
−200 1
−400 −400
−200
0
200
2 −400 −400
400
−200
0
vα (k) [V]
200
400
vα (k) [V]
(a)
(b)
Figure 6. Linear (Equation (13)) and quadratic (Equation (14)) objective functions and discrete-valued optimisation points for one prediction step. Operating point: v emf (k) = [55 275]T V, i s (k) = [1.3 1.7]T A, i ∗s (k) = [2.0 0.8]T A. (a) Linear objective function. (b) Quadratic objective function.
v emf . As already mentioned, the back-EMF is considered to change slowly compared to the sampling interval Ts and hence, it can be assumed to be constant for the whole prediction horizon. Following, by using an objective function as the one given by Equation (13) or (14)2 , then the resulting continuous optimisation problem can be solved using either linear programming (LP) or quadratic programming (QP). An LP with m inequalities and p equalities is described as follows (Boyd & Vandenberghe, 2004): minimise cT x subject to Gx h Ax = b,
(15)
and a QP with m inequalities and p equalities as minimise (1/2)x T Qx + pT x subject to Gx h Ax = b.
(16)
In Equations (15) and (16) x ∈ Rn , c ∈ Rn , Q ∈ Sn+ (symmetric positive semidefinite matrix), p ∈ Rn , G ∈ Rm×n , h ∈ Rm , A ∈ Rp×n , and b ∈ Rp . However, it is also time-consuming to solve LPs and QPs, and therefore a real-time execution might be very difficult. For this reason, the calculations are done offline utilising multiparametric programming (Pistikopoulos, Georgiadis, & Vivek, 2007a, 2007b) with the Multiparametric Toolbox (Herceg, Kvasnica, Jones, & Morari, 2013) for MATLAB. Hence, given a linear system in state-space form, and an objective function of the form (13) or (14), an explicit solution of this optimisation problem can be
calculated offline. To do so, the augmented state vector xˆ consisting of the system state variables (the αβ currents i s (k), their reference values i ∗s and the back-EMF voltages v emf (k)), i.e. xˆ = i s
i ∗s
v emf
T
,
(17)
is used as parameter. Therefore, the extended system representation is given by ⎤ ⎡ ⎤ ⎤⎡ 1 0 2 i s (k + 1) i s (k) ⎣ i ∗s (k + 1) ⎦ = ⎣ 0 1 0 ⎦⎣ i ∗s (k) ⎦ v emf (k + 1) 0 0 1 v emf (k) ⎡ ⎤ 1 0 0 + ⎣ 0 0 0 ⎦u(k), (18) 0 0 0 ⎡
where the input vector u consists of the continuous-valued ‘switching states’ s ∈ [−1, 1] in abc coordinates. In Equation (18) the matrices 1 , 2 and 1 are given by ⎡ ⎢ 1 = ⎣
1−
Ts τσ
⎤ 0
⎡
⎢ ⎥ Ts ⎦, 2 = ⎣ 0 1− τσ ⎤ ⎡ 1 1 − ⎥ 1 − 1 Vdc Ts ⎢ ⎢ √2 ⎥, √2 1 = 3 rσ τσ ⎣ 3 3⎦ − 0 2 2
−
Ts rσ τσ 0
⎤ 0
⎥ Ts ⎦, − rσ τσ
whereas 0 and 1 are the zero and the identity matrices, respectively, of appropriate dimensions.
International Journal of Control
1373
x1 1
Iteration 0
3
2
1 1
3
2
2
5
4
x2
1 2
5
1
3
4
3
4 5
4
2
5
1 3
Figure 7.
2
Example of a two-dimensional binary search tree.
Based on the above, the objective function (13) is reformulated; its new form is Jlin = || Q xˆ ||1 ,
(19)
where the matrix Q is ⎡
−1 1 Q=⎣ 0 0 0 0
⎤ 0 0 ⎦. 0
3.3.2 Binary search tree When the multiparametric LP is solved offline, the parameter space is divided into several convex polytopes; in every polytope a different piecewise affine (linear plus offset) control law is assigned, i.e. in every polytope i the optimal values for the actuating variables, uopt , can be calculated from the state vector xˆ with uopt = H i xˆ + ki ,
(20)
where H i and ki are obtained for every polytope i when the offline solution is calculated. However, as the obtained number of polytopes is usually quite high, an exhaustive search over all regions would not be feasible in real time. Despite the fact that there
are algorithms for merging neighbouring regions that contain the same control law (see e.g. Geyer, Torrisi, & Morari, 2008) an efficient evaluation in real time is still not possible. One possibility that drastically reduces the necessary calculation time for finding the correct polytope in state space is described in Tøndel, Johansen, and Bemporad (2003): if a binary search tree is created, the complexity for the online region search reduces to log2 (n) where n is the number of polytopes. The basic principle of a binary search tree is very simple and, for two dimensions, visualised in Figure 7. Assuming that the two-dimensional state space with the parameters x1 and x2 is divided into five regions 1, . . ., 5, in every iteration the system state x is checked if it is above or below a hyperplane. For the given example the hyperplane is a simple line. The hyperplane against which the current system state is checked is marked by a dashed line. If the system state is above the hyperplane, all polytopes below this line do not have to be searched and can be cut away. For the given example with five regions in the worst case only log2 (5) = 2.32, i.e. three iterations are necessary. For real examples with more polytopes this method drastically reduces the calculation effort for the online region search. In this way, it reduces the necessary computations to be performed, and thus allows the calculation of the continuous-valued optimum in real time.
1374
P. Stolze et al. be adopted, i.e. the region can be found using a binary search tree.
isα , isβ isα (0)
m
1α
i∗sα
m 2α
m2β
β
m1
i∗sβ
3.4 Calculation of the variable switching point Figure 8 illustrates the basic principle of the VSP calculation. The squared rms current error is given by erms2
isβ (0) 0 Figure 8.
tsw
Ts
tsw 0
(i ∗s
Ts
− i s (t)) dt + 2
tsw
(i ∗s
− i s (t)) dt , 2
(21)
t
Principle of the VSP calculation.
3.3.3 Sector determination In a last step the sector wherein the continuous-valued optimum lies should be determined, i.e. the sector out of the 24 in the αβ plane (see Figure 2). Assuming that the discretevalued optimal value is close to the continuous-valued optimum, only the three voltage vectors that are closest to the continuous-valued optimum are taken into consideration; the optimal voltage vector is one of the three that form that sector. Based on this principle, it can be concluded that the region can be determined in the same way as for space vector modulation. However, for multilevel inverters it can become a quite complex issue to find the correct sector in which the optimal continuous voltage vector lies. By taking a closer look at the voltage vectors in Figure 2, though, it can be seen that all regions are triangles, which also holds true for multilevel inverters. Since triangles are convex polytopes, the same procedure described above can
Figure 9.
1 = Ts
where i ∗s is the current reference and tsw is the VSP. Note that i s at time instant t = 0 is the measured stator current. In order to simplify the calculations, it is assumed that the current slopes are constant over the whole sample. The current slopes can easily be calculated by doing another set of predictions; one for the currently applied voltage vector (which will be kept until tsw is reached) and the one which has to be tested. After some calculations, the VSP can be calculated such that the squared rms current error is minimised; the final equation for tsw results to tsw =
A+B , C+D
with ∗ + Ts m2α ), A = (m2α − m1α )(2isα (0) − 2isα ∗ B = (m2β − m1β )(2isβ (0) − 2isβ + Ts m2β ),
C = (m1α − m2α )(2m1α − m2α ) and D = (m1β − m2β )(2m1β − m2β ),
Complete test bench with the dc power supply, three-level NPC inverter, real-time computer system and IM.
(22)
International Journal of Control where m1 are the current slopes of the currently applied voltage vector and m2 those of the new voltage vector which is tested.
3.5 Final optimisation and voltage balancing When the VSP for a tested voltage vector/switching state (from the heuristically reduced set of voltage vectors) has been calculated, an 2 -norm (quadratic) cost function is used for the final optimisation: 2 J = i ∗s − i s (k + nint ) + λvc (k + nint )2 2 + i ∗s − i s (k + 1) + λvc (k + 1)2 ,
(23)
where nint = tsw /Ts ∈ [0, 1], and λ is the weighting factor for the voltage balancing. Because of the reduced set of voltage vectors it has to be checked if the dc-link capacitor voltages can still be balanced. The sum of all three phase currents is zero (balanced circuit) and positive and negative switching states do not affect the voltage balancing. Thus, no matter which zero switching state (‘ppp’, ‘000’ or ‘nnn’) is chosen, the voltage balance will not be affected. By taking a closer look at the voltage vectors on the inner hexagon in Figure 2, one of the two possible switching states results in zero phase voltage in one phase (e.g. in phase a), the other possible switching
Table 1.
2.2 kW 50 Hz 8.5 A 0.86 2830 rpm 1 2.1294 2.2773 350.47 mH 350.47 mH 340.42 mH 0.002 kg m2
state results in zero phase voltage but in the other two phases (e.g. in phases b and c). Because of this the voltage balancing for these voltage vectors can be done by choosing the appropriate switching state. Considering the outer hexagon, the switching states at the corners (‘pnn’, ‘ppn’, ‘npn’, etc.) do not affect the capacitor voltage. Thus, the only remaining switching states which can lead to voltage unbalances are ‘p0n’, ‘0pn’, ‘np0’, ‘n0p’, ‘0np’ and ‘pn0’. However, as can be seen, all these voltage vectors belong to regions which also contain voltage vectors of the inner hexagon – because of this the voltage balance can be ensured despite the heuristically reduced set of voltage vectors. α current and its reference
8 6 i∗ sα , isα [A]
i∗ sα , isα [A]
Value
Nominal power Pnom Synchronous frequency fsyn Nominal current i s,nom Power factor cos (ϕ) Nominal speed ωnom Number of pole pairs p Stator resistance rs Rotor resistance rr Stator inductance ls Rotor inductance lr Mutual inductance lm Inertia J
4 0
4 2
-4
0 39.2
-8 0
20
40 60 Time [ms]
80
100
39.6
40.0 40.4 Time [ms]
40.8
41.2
40.8
41.2
β current and its reference
β current and its reference 8
2
4
0 i∗ sβ , isβ [A]
i∗ sβ , isβ [A]
Parameters of the induction machine.
Parameter
α current and its reference
8
1375
0
-2 -4
-4 -8 0
20
40 60 Time [ms]
(a)
80
100
-6 39.2
39.6
40.0 40.4 Time [ms]
(b)
Figure 10. Experimental results of a three-level NPC inverter driving an IM for a step change in the speed reference at t ≈ 40 ms. (a) (Larger time scale) top: α component of current (red line) and its reference (black line). Bottom: β component of current (red line) and its reference (black line). (b) (Detail during reference step) top: α component of current (red line) and its reference (black line). Bottom: β component of current (red line) and its reference (black line).
P. Stolze et al. 2.5
2.5
1.25
1.25 isa , isb , isc [A]
isa , isb , isc [A]
1376
0
-1.25
0
-1.25
-2.5
-2.5 0
0.2
0.4
0.6
0.8
1.0
0
0.2
Time [s]
0.4
0.6
0.8
1.0
Time [s]
(a)
(b)
Figure 11. Phase currents in steady-state operation at 100 rpm produced by (a) the proposed strategy (VSP2 CC – fsw ≈ 1.9 kHz), and by (b) an MPC strategy where a VSP is not calculated (PCC – fsw ≈ 0.85 kHz). (a) Phase currents in steady-state operation at 100 rpm for VSP2 CC. (b) Phase currents in steady-state operation at 100 rpm for PCC.
As can be seen in Figure 10, the speed reference change results in a step change of both stator currents. It is clearly visible that the controller has no problems to track its references. After the normal delay of two samples (one due to the calculations and one resulting from the fact that the optimisation has to be performed for the next sample) the currents quickly follow their references within three samples. The second experiment was conducted in order to compare the steady-state phase currents at 100 rpm for the proposed strategy to a PCC strategy without a VSP, i.e. to a conventional Finite Control-Set MPC method. The experiment was conducted with a sampling interval of Ts = 62.5 μs. The result can be seen in Figure 11. As can be observed, the proposed control algorithm has a significant influence
2.5
2.5
1.25
1.25 isa , isb , isc [A]
isa , isb , isc [A]
4. Experimental results Several experiments have been performed in order to verify the proposed control algorithm and to demonstrate its potentials. The experimental set-up shown in Figure 9 consists of a three-level NPC inverter driving a 2.2 kW squirrel-cage IM whose parameters are shown in Table 1. The real-time computer system is an improved version of the one described in Al-Sheakh Ameen, Naassani, and Kennel (2010) with a 3.4 GHz Pentium 4 CPU (Stolze, Jung, Ebert, & Kennel, 2013). For all experiments the weighting factor for the voltage balancing was set to λ = 0.01. Figure 10 shows the transient response of the proposed control algorithm. For this reason the speed reference was stepped down from 2000 to 1000\,rpm at time t ≈ 40 ms.
0
-1.25
0
-1.25
-2.5
-2.5 0
10
20 30 Time [ms]
(a)
40
50
0
10
20 30 Time [ms]
40
50
(b)
Figure 12. Phase currents in steady-state operation at 2830 rpm produced by (a) the proposed strategy (VSP2 CC – fsw ≈ 2.1 kHz), and by (b) an MPC strategy where a VSP is not calculated (PCC – fsw ≈ 1.65 kHz). (a) Phase currents in steady-state operation at 2830 rpm for VSP2 CC. (b) Phase currents in steady-state operation at 2830 rpm for PCC.
International Journal of Control 1600 VSP2 CC
1400 1200
fsw [Hz]
1000 800 PCC 600
1377
the second drawback, the state of the inverter switches is changed in between the sampling interval; the VSP is calculated based on an optimisation problem formulated to minimise the ripple of the stator currents. The experimental results clearly verify that the controller shows excellent behaviour during transients and in steady-state. Further developments of the proposed method are the extension to five-level inverters.
400
Notes
200
1.
0 0
250
500
750 1000 1250 1500 1750 2000 2250 2500 2750 Machine speed [rpm]
Figure 13. Average switching frequency of VSP2 CC (green line) and PCC (blue line) (Ts = 100 μs).
on the quality of the controlled currents. At this operating point the VSP2 CC strategy can operate with a much higher switching frequency (fsw ≈ 1.9 kHz) than the conventional PCC algorithm (fsw ≈ 850 Hz). This higher switching frequency results in less current ripples at this operating point. The same experiment was repeated at full nominal speed (2830 rpm). The results can be seen in Figure 12. At this operating point the VSP2 CC strategy (Figure 12(a)) leads to nearly the same switching frequency as plain PCC (Figure 12(b)) and the current ripples are in the same range. Finally, the results of the last experiment are shown in Figure 13. It was conducted in order to investigate more deeply the effect of the VSP2 CC strategy on the switching frequency depending on the operation point of the system. Thus, the average switching frequency per device was measured in steps of 10 rpm from 0 rpm to full nominal speed (2830 rpm) for both control methods. It is clearly visible that VSP2 CC leads to much higher switching frequencies at low machine speeds and thus also to decreased current ripples. While the switching frequency for VSP2 CC is always higher than 900 Hz, it goes down to less than 100 Hz for the conventional PCC algorithm. As verified in the previous experiment, for higher machine speeds the switching frequencies are nearly the same for both strategies.
5. Conclusion and further work In this paper a VSP2 CC of induction motors (IMs) with heuristic voltage vector preselection was introduced. It provides an effective solution for the two main drawbacks of direct, enumeration-based MPC methods, i.e. the high calculation effort and large ripples on the controlled variables. With regards to the first problem, a reduction of the candidate optimal solutions set is proposed to keep the computational burden low. This is done by considering only the (three) discrete-valued solutions that form the sector wherein the continuous-valued optimum lies. To overcome
2.
The definition of the active and zero voltage vectors is given in Section 2. Note that the back-EMF v emf is known.
References Al-Sheakh Ameen, N., Naassani, A.A., & Kennel, R.M. (2010). Design of a digital system dedicated for electrical drive applications. EPE Journal, 20, 37–44. Boyd, S., & Vandenberghe, L. (2004). Convex optimization. Cambridge: Cambridge University Press. Correa, P., Pacas, M., & Rodr´ıguez, J. (2007). Predictive torque control for inverter-fed induction machines. IEEE Transactions on Industrial Electronics, 54, 1073– 1079. Cort´es, P., Kazmierkowski, M.P., Kennel, R.M., Quevedo, D.E., & Rodr´ıguez, J. (2008). Predictive control in power electronics and drives. IEEE Transactions on Industrial Electronics, 55, 4312–4324. Depenbrock, M. (1988). Direct self-control (DSC) of inverter-fed induction machines. IEEE Transactions on Power Electronics, 3, 420–429. Geyer, T. (2005). Low complexity model predictive control in power electronics and power systems (PhD thesis). Automatic Control Laboratory, ETH Zurich, Zurich, Switzerland. Geyer, T. (2012). Model predictive direct current control: Formulation of the stator current bounds and the concept of the switching horizon. IEEE Industry Applications Magazine, 18, 47–59. Geyer, T., & Mastellone, S. (2012). Model predictive direct torque control of a five-level ANPC converter drive system. IEEE Transactions on Industry Applications, 48, 1565–1575. Geyer, T., Oikonomou, N., Papafotiou, G., & Kieferndorf, F.D. (2012). Model predictive pulse pattern control. IEEE Transactions on Industry Applications, 48, 663–676. Geyer, T., Papafotiou, G., & Morari, M. (2009). Model predictive direct torque control – part I: Concept, algorithm and analysis. IEEE Transactions on Industrial Electronics, 56, 1894–1905. Geyer, T., Torrisi, F.D., & Morari, M. (2008). Optimal complexity reduction of polyhedral piecewise affine systems. Automatica, 44, 1728–1740. Holtz, J. (1995). The representation of AC machine dynamics by complex signal flow graphs. IEEE Transactions on Industrial Electronics, 42, 263–271. Karamanakos, P. (2013). Model predictive control strategies for power electronics converters and AC drives (PhD thesis). Electrical Machines and Power Electronics Laboratory, NTU Athens, Athens, Greece. Karamanakos, P., Geyer, T., Oikonomou, N., Kieferndorf, F.D., & Manias, S. (2014). Direct model predictive control: A review of strategies that achieve long prediction intervals for power electronics. IEEE Industrial Electronics Magazine, 8, 32–43.
1378
P. Stolze et al.
Karamanakos, P., Stolze, P., Kennel, R.M., Manias, S., & du Toit Mouton, H. (2014). Variable switching point predictive torque control of induction machines. IEEE Journal of Emerging and Selected Topics in Power Electronics, 2, 285–295. Kazmierkowski, M.P., Krishnan, R., & Blaabjerg, F. (2002). Control in power electronics. New York, NY: Academic Press. Kov´acs, P. (1984). Transient phenomena in electrical machines. Amsterdam: Elsevier Science. Herceg, M., Kvasnica, M., Jones, C.N., & Morari, M. (2013). Multi-Parametric Toolbox 3.0. Proceedings of the European Control Conference (pp. 502–510). Zurich, Switzerland. Retrieved from http://control.ee.ethz.ch/∼mpt/3/Main/ CitationInfo Linder, A., Kanchan, R., Kennel, R., & Stolze, P. (2010). Modelbased predictive control of electric drives. G¨ottingen: Cuvillier Verlag. Maciejowski, J.M. (2002). Predictive control with constraints. Englewood Cliffs, NJ: Prentice-Hall. Miranda, H., Cort´es, P., Yuz, J.I., & Rodr´ıguez, J. (2009). Predictive torque control of induction machines based on statespace models. IEEE Transactions on Industrial Electronics, 56, 1916–1924. Oikonomou, N., Gutscher, C., Karamanakos, P., Kieferndorf, F.D., & Geyer, T. (2013). Model predictive pulse pattern control for the five-level active neutral point clamped inverter. IEEE Transactions on Industry Applications, 49, 2583–2592. Papafotiou, G., Kley, J., Papadopoulos, K.G., Bohren, P., & Morari, M. (2009). Model predictive direct torque control – part II: Implementation and experimental evaluation. IEEE Transactions on Industrial Electronics, 56, 1906–1915. Patsakis, G., Karamanakos, P., Stolze, P., Manias, S., Kennel, R., & Mouton, T. (2013, November). Variable switching point predictive torque control for the four-switch three-phase inverter. Proceedings of the IEEE International Symposium on Predictive Control of Electrical Drives and Power Electronics, Munich, Germany. Pistikopoulos, E., Georgiadis, M.C., & Vivek, D. (2007a). Multiparametric model-based control. Volume 2 of Process Systems Engineering. Weinheim: Wiley. Pistikopoulos, E., Georgiadis, M.C., & Vivek, D. (2007b). Multiparametric programming. Volume 1 of Process Systems Engineering. Weinheim: Wiley. Rawlings, J.B., & Mayne, D.Q. (2009). Model predictive control: Theory and design. Madison, WI: Nob Hill. Rodr´ıguez, J., Kazmierkowski, M., Espinoza, J.R., Zanchetta, P., Abu-Rub, H., Young, H.A., & Rojas, C.A. (2013). State of the art of finite control set model predictive control in power electronics. IEEE Transactions on Industrial Informatics, 9, 1003–1016. Rodr´ıguez, J., Kennel, R., Espinoza, J.R., Trincado, M., Silva, C., & Rojas, C.A. (2012). High-performance control strategies for electrical drives: An experimental assessment. IEEE Transactions on Industrial Electronics, 59, 812–820. Rojas, C.A., Rodr´ıguez, J., Villaroel, F., Espinoza, J.R., Silva, C., & Trincado, M. (2013). Predictive torque and flux control without weighting factors. IEEE Transactions on Industrial Electronics, 60, 681–690. Stolze, P., Jung, J., Ebert, W., & Kennel, R. (2013, November). FPGA-basiertes Echtzeitrechner-System mit RTAI-Linux f¨ur Antriebssysteme. Proceedings of the SPS Drives Kongress, Nuremberg, Germany. Stolze, P., Karamanakos, P., Kennel, R., Manias, S., & Mouton, T. (2013, September). Variable switching point predictive torque control for the three-level neutral point clamped inverter. In Proceedings of the European Conference on Power Electronics and Applications (pp. 1–10). Lille, France.
Stolze, P., Landsmann, P., Kennel, R., & Mouton, T. (2011, August/September). Finite-set model predictive control with heuristic voltage vector preselection for higher prediction horizons. In Proceedings of the European Conference on Power Electronics and Applications (pp. 1–9). Birmingham, UK. Stolze, P., Tomlinson, M., du Toit, D., Kennel, R., & Mouton, T. (2011, September). Predictive torque control of an induction machine fed by a flying capacitor converter. In Proceedings of the IEEE Conference Africon (pp. 1–6). Livingstone, Zambia. Stolze, P., Tomlinson, M., Kennel, R., & Mouton, T. (2013, June). Heuristic finite-set model predictive current control for induction machines. In Proceedings of the IEEE Energy Conversion Congress and Exposition Asia (pp. 1221–1226). Melbourne, Australia. Takahashi, I., & Noguchi, T. (1986). A new quick-response and high-efficiency control strategy of an induction motor. IEEE Transactions on Industry Applications, IA-22, 820–827. Tøndel, P., Johansen, T.A., & Bemporad, A. (2003). Evaluation of piecewise affine control via binary search tree. Automatica, 39, 945–950.
Appendix The matrices Ad , B d1 , B d2 and C d of the drive model given by Equation (12) are as follows:
A 0 , 0 0
Ad = 1 + Ts B d1 = Ts B d2 = Ts
B1 , 0
0 , B 2 (x(k))
C d = C,
(24) (25) (26) (27)
where 1 is the identity matrix of appropriate dimensions, 0 is the zero matrix, or zero vector of appropriate dimensions, and ⎡ ⎤ 1 kr kr − 0 ω r ⎢ τσ rσ τσ τr rσ τσ ⎥ ⎢ ⎥ 1 kr kr ⎥ ⎢ ⎢ 0 ⎥ − −ωr ⎢ τσ rσ τσ rσ τσ τr ⎥ A=⎢ l (28) ⎥, 1 ⎢ m 0 − −ωr ⎥ ⎢ ⎥ τr ⎢ τr ⎥ ⎣ lm 1 ⎦ 0 ωr − τr τr ⎤ 0 0 ⎥ Vdc K, 0⎦ 2 0 ⎤ 1 0 0 0 1 0⎥ 1 T ⎢ ⎥ ⎢ x (k)⎢ 0 0 0 ⎥ K −T , B 2 (x(k)) = ⎣0 0 0⎦ 2C 0 0 0 ⎡ ⎤ 1 0 0 0 0 C = ⎣ 0 1 0 0 0 ⎦. 0 0 0 0 1 ⎡
1 1 ⎢0 B1 = ⎣ rσ τσ 0 0
0 1 0 0 ⎡
(29)
(30)
(31)