Method and Controller for Model Predictive Control of a Multi-Phase DC/DC Converter
20170227937 · 2017-08-10
Assignee
Inventors
- Martin Batliner (Eschen, LI)
- Oliver König (Graz, AT)
- Stefan Jakubek (Wien, AT)
- Günter Prochart (Graz, AT)
Cpc classification
H02M3/158
ELECTRICITY
G01R31/367
PHYSICS
International classification
H02M3/158
ELECTRICITY
Abstract
For an easily implementable method for model predictive control of a DC/DC converter, and a corresponding controller, with which the optimization problem of the model predictive control can also be solved sufficiently quickly with large prediction horizons, the optimization problem is divided into two optimization problems by a model predictive output variable control and a model predictive choke current control being implemented in the control unit (10), wherein: the strands of the multiphase DC/DC converter (12) for the output variable control are combined into a single strand; a time-discrete state space model is produced therefrom; and the output variable control predicts the input voltage (u.sub.v,k+1) of the next sampling step (k+1) for this single strand on the basis of a first cost function (J.sub.v) of the optimization problem of the output variable control, said input voltage being given to the choke current control as a setpoint and the choke current control determining therefrom the necessary switch positions of the switches (S1, S2, S3, S4, S5, S6) of the strands of the multiphase DC/DC converter (12) for the next sampling step (k+1) on the basis of a second cost function (J.sub.i) of the optimization problem of the choke current control.
Claims
1. A method for model predictive control of a multiphase DC/DC converter (12) having a half-bridge having two switches (S1, S2, S3, S4, S5, S6) for each strand of the multiphase DC/DC converter (12), wherein the switches (S1, S2, S3, S4, S5, S6) are controlled by a control unit (10) in order to produce a desired output variable (v.sub.2, i.sub.2), characterized in that: the optimization problem of the model predictive control is divided into two optimization problems by a model predictive output variable control and a model predictive choke current control being implemented in the control unit (10), wherein: the strands of the multiphase DC/DC converter (12) for the output variable control are combined into a single strand; a time-discrete state space model is produced therefrom and the output variable control predicts the input voltage (u.sub.v,k+1) of the next sampling step (k+1) for this single strand on the basis of a first cost function (J.sub.v) of the optimization problem of the output variable control, said input voltage being given to the choke current control as a setpoint and the choke current control determining therefrom the necessary switch positions of the switches (S1, S2, S3, S4, S5, S6) of the strands of the multiphase DC/DC converter (12) for the next sampling step (k+1) on the basis of a second cost function (J.sub.i) of the optimization problem of the choke current control.
2. The method according to claim 1, characterized in that: a solution space is investigated in advance in the form of an amount of possible solutions of the optimization problem of the output variable control, and solutions that cannot occur are eliminated from the solution space, in order to reduce the size of the solution space.
3. The method according to claim 2, characterized in that: a simulation is run with a predetermined control sequence of the output variable (v.sub.2, i.sub.2), the input vectors (u.sub.i) of the DC/DC converter (12) occurring thereby are recorded, the input voltages (u.sub.v) of the output variable control are reconstructed from the input vectors (u.sub.i), and the occurring sequences of the input voltage (u.sub.v) are saved as a reduced solution space.
4. The method according to claim 1, characterized in that: solutions of the optimization problem of the output variable control are represented as an integer linear combination of basic functions, wherein the basic functions for the first n sampling steps (k+n) have a width of one sampling step (k), and the basic functions for the subsequent sampling steps (k+m), where m>n, have a width of an integer multiple of one sampling step (k).
5. The method according to claim 4, characterized in that: the integer linear combinations are subject to the limitation that solutions may not switch by more than one from one sampling step (k) to the next sampling step (k+1).
6. A model predictive controller of a multiphase DC/DC converter (12) having a half-bridge having two switches (S1, S2, S3, S4, S5, S6) for each strand of the multiphase DC/DC converter (12), and having a control unit (10) that controls the switches (S1, S2, S3, S4, S5, S6) in order to produce a desired output variable (v.sub.2, i.sub.2), characterized in that: a model predictive output variable controller (15) and a model predictive choke current controller (16) are provided in the controller (18); wherein: the strands of the multiphase DC/DC converter (12) for the output variable controller (15) are combined into a single strand, in order to produce a time-discrete state space model; the output variable controller (15) predicts the input voltage (u.sub.v,k+1) of the next sampling step (k+1) for this single strand on the basis of a first cost function (J.sub.v) of the optimization problem of the output variable controller (15); and the choke current control (16) determines, from the predicted input voltage (u.sub.v,k+1), the necessary switch positions of the switches (S1, S2, S3, S4, S5, S6) of the strands of the multiphase DC/DC converter (12) for the next sampling step (k+1) on the basis of a second cost function (J.sub.i) of the optimization problem of the choke current controller (16); and in that: the control unit (10) sets the determined switch positions for the DC/DC converter (12) in the next sampling step (k+1).
Description
[0013] The present invention shall be described in further detail hereinbelow with reference to
[0014]
[0015]
[0016]
[0017]
[0018]
[0019]
[0020]
[0021]
[0022]
[0023]
[0024]
[0025]
[0026]
[0027]
[0028] The starting point of the method according to the present invention is the known model of the battery emulator 1 such as shown in
[0029] Although the present invention is described hereinbelow with reference to the example of a battery emulator 1, it should be noted here that the present invention can also be used in the same manner with a battery tester 7 having essentially the same circuit (see
[0030] These assumptions lead to the simplified model of the battery emulator 1 or in generally a multiphase DC/DC converter 12, as depicted in
[0031] The input voltages u.sub.a, u.sub.b, u.sub.c of the multiphase DC/DC converter 12 are defined by u.sub.a=S.sub.aV.sub.0, u.sub.b=S.sub.bV.sub.0, and u.sub.c=S.sub.cV.sub.0, wherein the signals S.sub.a, S.sub.b, and S.sub.c can assume eight different states, according to table 1. Consequently, the system input has eight possible states that form the finite control set.
TABLE-US-00001 TABLE 1 S.sub.a S.sub.b S.sub.c 1 1 1 1 1 0 1 0 1 1 0 0 0 1 1 0 1 0 0 0 1 0 0 0
[0032] The behavior of the load 5 of the DC/DC converter 12 is assumed to be unknown, because the control method shall work for a wide range of possible uses of the DC/DC converter 12. Therefore, the load 5 is assumed to be a constant-power load (CPL). The power P as a product of the load current i.sub.P and the voltage v.sub.2 at the input of the load is constant, P=i.sub.P.Math.v.sub.2=const. The power demand in the form of the power P is predetermined by the load 5. The dependency of the load current i.sub.P (=i.sub.2) on the output voltage v.sub.2 thus constitutes a non-linearity for the system.
[0033] An ideal voltage source may also be used as a load model, especially with a battery tester 7, wherein it would also be possible to use an impedance model or another model of the battery.
[0034] From
[0035] The non-linear load current i.sub.P is linearized around a current operation point P.sub.0=i.sub.P,0.Math.v.sub.2,0 in the form of
With the state space vector x.sub.m=[i.sub.a i.sub.b i.sub.c v.sub.2].sup.T, the input vector u.sub.m=[u.sub.a u.sub.b u.sub.c].sup.T, and the output vector y.sub.m with z.sub.m=i.sub.p,0, this leads to the continuous-time state space model
[0036] The continuous-time state space model is transformed by discretization, by means of a zero-order hold (ZOH) with the sampling time T.sub.S, into a time-discrete state space model (designated with a subscript “d”) (this being well known); at the same time, the state vector is supplemented with z.sub.m=i.sub.P,0. The state vector x.sub.0 then yields x.sub.o=[i.sub.a i.sub.b i.sub.b v.sub.2 i.sub.P,0].sup.T, and the time-discrete state space model with the input vector u.sub.o=[u.sub.a u.sub.b u.sub.c].sup.T yields
where “k” then designates the respective sampling step.
[0037] When other load models are used, the time-discrete state space model may also deviate from the one described above, without altering the basic principle of the present invention. In particular, a time-discrete state space model can also be created in an analogous manner for the battery tester 7 according to
[0038] The model predictive control requires a cost function J that needs to be optimized. A cost function established for this purpose for the control of a DC/DC converter 12 evaluates how well the output voltage v.sub.2 or the output current i.sub.2 of the DC/DC converter 12 can follow a predetermined reference signal R.sub.s, for example, in the form of a predetermined voltage v.sub.PR or a predetermined current i.sub.PR. The cost function shall therefore primarily evaluate the deviation of the system output Y.sub.o=[Y.sub.o,k+1 y.sub.o,k+2 . . . Y.sub.o,k+Np].sup.T from the reference signal R.sub.s. The system output y.sub.o is the output voltage v.sub.2 with the battery emulator 1, or the output current i.sub.2 with the battery tester 7. N.sub.P designates the prediction horizon that sets forth how many time steps k in the future are being counted. Furthermore, the switching losses from when the switches S1 . . . S6 are switched should be evaluated. It is also advantageous to ensure that the phase currents i.sub.a, i.sub.b, i.sub.c of the multiphase DC/DC converter 12 are equal, to the greatest extent possible, in order to prevent excessively high strand currents from flowing through the individual strands, which could damage the hardware. A cost function J is therefore formulated in the form of J=(R.sub.s−Y.sub.o).sup.T (R.sub.s−Y.sub.o)+λ.sub.s.Math.T.sup.TT+λ.sub.B.Math.ΔC.sup.2.
[0039] Therein, the term (R.sub.s−Y.sub.o).sup.T (R.sub.s−Y.sub.o) evaluates the deviation of the system output Y.sub.o from the reference signal. The switching losses are evaluated with the term λ.sub.s.Math.T.sup.TT, wherein T=[t.sub.k t.sub.k+1 . . . t.sub.k+Np−1].sup.T with t.sub.k|u.sub.a,k−u.sub.a,k−1|+|u.sub.b,k−u.sub.b,k−1|+u.sub.c,k−u.sub.c,k−1| evaluates the frequency of switching operations of the switches S1 . . . S6 by penalizing the difference between an input variable and the input variable from the previous time step. The weighting factor λ.sub.s, with which this term is weighted in the cost function J, yields an additional tuning parameter for the control. With the term λ.sub.B.Math.ΔC.sup.2, the deviation of the strand currents to one another is evaluated, with
Thus, the deviation between the maximum strand current and the minimum strand current is penalized. λ.sub.B is, in turn, a weighting factor that gives an additional tuning parameter to the control. Alternatively, it would also be possible to apply
[0040] The weighting factor λ.sub.s affects the undulation of the output voltage v.sub.2/the output current i.sub.2 as well as the switching frequency of the converter 12. The higher the weighting factor λ.sub.s, the greater the undulation and the lower the switching frequency. With the weighting factor λ.sub.B, the width of the band within which the strand currents vary is affected.
[0041] It shall be readily understood that a weighting factor may also be employed for the first term in the above cost function J. The cost function may also include other or additional terms, in order to evaluate certain other or additional aspects.
[0042] The model predictive control can also take boundary conditions into account, which represents a particular strength of the model predictive control. An important boundary condition for protecting the converter 12 and preventing saturation of the chokes L.sub.a, L.sub.b, L.sub.b is a limitation of the strand currents i.sub.a, i.sub.b, i.sub.c, for example, in the form of i.sub.min≦i.sub.a+i.sub.b+i.sub.c≦i.sub.max. The boundary condition may be taken into account by, for example, indefinitely setting the solution of the cost function J to the value if a boundary condition is violated.
[0043] With a conventional model predictive control, this cost function J would now be minimized for all of the possible combinations of the input vector u.sub.o=[u.sub.a u.sub.b u.sub.c].sup.T for the prediction horizon N.sub.P by taking the boundary condition into account. This results in the input variables u.sub.o,k+1, u.sub.o,k+2, u.sub.o,k+Nc for the next time steps, wherein N.sub.C designates the control horizon, which is often equal to the prediction horizon N.sub.P. According to the principle of the receding horizon, only the first control process u.sub.o,k+1 is applied at any point in time, and the rest is discarded. This is repeated for each time step. This basic principle of a model predictive control is well known, and therefore is not described in any further detail here.
[0044] The model predictive control may be explained as illustrated in
[0045] As already noted, however, the optimization of the cost function J necessitates calculation of a large number of possible combinations of consecutive input vectors u.sub.o,k, which requires a considerable amount of computing time. In the present example, a prediction horizon of N.sub.P=10 would entail 8.sup.10=1.073.741.824 possible combinations. The number of possible combinations is meant to be significantly reduced by the methods according to the present invention described hereinbelow.
[0046] For this purpose, the control of the DC/DC converter 12 is divided into an output variable control—namely, a voltage control of the output voltage u.sub.2 in the case of a battery emulator 1 (
[0047] For the output variable control, the inductances of the chokes L.sub.a, L.sub.b, L.sub.c of the individual strands of the DC/DC converter 12 are combined into one inductance L=L.sub.a/3=L.sub.b/3=L.sub.c/3 (under the permissible assumption of identical chokes) (
with the state vector x.sub.v=[i.sub.1 v.sub.2 i.sub.P,0].sup.T. To do so, a cost function J.sub.v is established, in which the deviation of the system output from a reference signal R.sub.s and the switching rate are again evaluated. One term (R.sub.s−Y.sub.v).sup.T (R.sub.s−Y.sub.v), with Y.sub.v=[y.sub.v,k+1 y.sub.v,k+2 . . . y.sub.v,k+Np].sup.T, evaluates the deviation, and one term λ.sub.v.Math.(T.sub.v,k−T.sub.v,k−1).sup.T (T.sub.v,k−T.sub.v,k−1), with T.sub.v,k=[u.sub.v,k u.sub.v,k+1 . . . u.sub.v,k+Np−1].sup.T, penalizes the change of two temporally successive input variables (input voltage u.sub.v of the output variable control), wherein the weighting factor λ.sub.v is again a tuning parameter for the control. The cost function then yields J.sub.v=(R.sub.s−Y.sub.v).sup.T (R.sub.s−Y.sub.v)+λ.sub.v.Math.(T.sub.v,k−T.sub.v,k−1).sup.T (T.sub.v,k−T.sub.v,k−1). The boundary condition gives i.sub.min≦i.sub.1≦i.sub.max, analogously to the above.
[0048] With a battery tester 7 with current control, the state vector would be x.sub.v=[i.sub.1 v.sub.1 i.sub.2 v.sub.2].sup.T, and a time-discrete state space model and a cost function J.sub.v are analogously obtained.
[0049] Because the finite control set for the output variable control is composed of only four elements, only 4.sup.Np more possible combinations arise for the solution of the optimization problem. Thus, a prediction horizon of N.sub.P=10 produces only 4.sup.10=1,048,576 more possible combinations, i.e., fewer than in
[0050] The choke current control according to
[0051] With the state vector x.sub.i=[i.sub.a i.sub.b i.sub.c u.sub.Z].sup.T and the input vector u.sub.i=[u.sub.a u.sub.b u.sub.c].sup.T, the continuous-time state space model of the choke current control according to
[0052] The continuous-time state space model is in turn discretized. In order for it to be possible to meet the output variable control i.sub.1=i.sub.a+i.sub.b+i.sub.c, the condition u.sub.v=⅓(u.sub.a+u.sub.b+u.sub.c) must be fulfilled, as can be shown by simple derivation. This arises from the precondition L=L.sub.a/3=L.sub.b/3=L.sub.c/3. Analogously to
J.sub.i=λ.sub.i.Math.T.sup.TT+λ.sub.B.Math.ΔC.sup.2
applies as a secondary condition, wherein u.sub.v,k is predetermined by the output variable control as a predicted voltage of the next sampling step k+1. Due to this secondary condition, the choke current controller always delivers the required current.
[0053] The choke current control obtains the predicted next input voltage u.sub.v,k+1 of the output variable control as a setpoint, and calculates from this setpoint the actual input to the system in the form of the input vector u.sub.i=[u.sub.a u.sub.b u.sub.c].sup.T. The choke current control thus determines the switch positions of the switches S1 . . . S6 for the next sampling step k+1. A prediction horizon of N.sub.P of 1 suffices for the subordinate choke current control. However, the choke current control must follow the output variable control, i.e., when the latter outputs 0 or 3.Math.V.sub.0/3, the choke current control must output [0 0 0] or [1 1 1]. For 1.Math.V.sub.0/3 or 2.Math.V.sub.0/3, this results in at most three remaining possibilities (for example, [1 1 0], [0 1 1] and [1 0 1] for 2.Math.V.sub.0/3). The degree of freedom of the choke current control is set thereby. The choke current control distributes the setpoint of the output variable control to the strands of the multiphase DC/DC converter 12.
[0054] The optimum voltage vector u.sub.i,k that directly delivers the switch positions of the switches S1 . . . S6 of the multiphase DC/DC converter 12 is determined within the degree of freedom of the choke current control, through the solution of the optimization problem with the cost function J.sub.i. If all or none of the strands of the multiphase DC/DC converter 12 is/are switched, then no optimization is needed and u.sub.i=[V.sub.0 V.sub.0 V.sub.0] or u.sub.i=[0 0 0] will be applied. Should only one or two of the strands be switched, then the result is three respective different possible switch combinations. For example, if one strand is switched, it follows that u.sub.i=[V.sub.0 0 0], u.sub.i=[0 V.sub.0 0] or u.sub.i=[0 0 V.sub.0].
[0055] The advantage now arises from the optimization problem being divided into two separate optimization problems, wherein the optimization problem for the choke current control is negligible for the performance. Simulations have confirmed that for each arbitrary prediction horizon N.sub.P of the output variable control, it suffices to have a prediction horizon of N.sub.P=1 for the choke current control. This means that for the desired solution of the optimization problem of the choke current control, at most three possible combinations must be investigated. It is thus possible to disregard the computational effort for the choke current control, relative to the computational effort of the output variable control.
[0056] Only 4.sup.Np possible combinations thus arise for the solution of the optimization problem for the output variable control and the choke current control.
[0057]
[0058] If the state vector x cannot be measured at all or can only be partially measured, then it would be possible to also implement a regulatory observer 17, e.g., in the form of a Kalman filter, in order to estimate the required state vector {circumflex over (x)}.sub.o,k from the measured variables z.sub.o,k, as depicted in
[0059] The solutions of the optimization problem can also be represented as a search tree 20 with nodes 21 and leaves 22 and with a depth corresponding to the prediction horizon N.sub.p, as depicted in
[0060] The number of possible solutions from 4.sup.Np can be even further reduced by attempting to reduce the possible solution space (i.e., the leaves 22 of the search tree 20) before searching through the search tree 20. Knowledge of the underlying optimization problem can be put to use here.
[0061] The vast majority of possible solutions of the optimization problem are never even used. This is because the controller in the control unit 10 penalizes the switches between states in the cost functions J.sub.i and J.sub.v, in order to keep the switching frequency low. The controller in the control unit 10 thus does not cause a switching process of the switches S1 to S6 at every point in time. There do, however, arise possibilities for limiting the number of possible solutions—the solution space.
[0062] Penalization of switching processes in the cost functions makes it possible for the resulting input signal in the stationary operation to appear, for example, as represented in
[0063] These sequences can be saved and combined, and predetermined for the control unit 10 as a reduced solution space (a search tree 20 with fewer leaves 22). The number of possible solutions is thereby greatly restricted. The above-mentioned tree search algorithms thus need only search through a much smaller, rather shattered search tree 20. Here, ideally, all of the remaining leaves 22 of the search tree 20 are searched through, because it would take too long to prepare the branch and bound algorithm (overhead).
[0064] The same is analogously true for a battery tester 7 with the output current i.sub.2 as the output variable.
[0065] In order to now reach these sequences, it is possible to run a simulation with a control sequence for the output variable (the output voltage v.sub.2 in the case of the battery emulator 1, as in
[0066] A second method for solution space reduction (called constraint basis functions (CBFs) hereinafter) is based on cutting up the solution space. The entire solution space that was considered previously has a basis such as is depicted in
with u.sub.int={0, 1, 2, 3}. Each solution represents an integer linear combination of this basic function. Because the controller in the control unit 10 typically does not switch at every sampling step k—see, for example,
[0067] It shall be readily understood that other basic functions than those depicted may be used, provided that the solution space is reduced thereby. For example, it would be conceivable to make the temporal resolution ever rougher for ever rougher prediction horizons.
[0068] It is also possible to introduce the restriction that the solutions may not switch by more than one from one sampling step to the next, e.g., 1.Math.V.sub.0/3 to 2.Math.V.sub.0/3, but not to 3.Math.V.sub.0/3. This leads to further reduction of the solution space, by multiple orders of magnitude. For implementation, all of these solutions can be precalculated, and made available to the control unit 10 as a possible solution space. For this purpose, all of the possible linear combinations are evaluated offline, and those that violate the above restriction are eliminated. The remaining linear combinations are then made available to the online algorithm as a reduced search space. This reduced solution space can now be passed over to a tree search algorithm in order to most effectively search through the reduced search tree 20. Due to the structure of the resulting search tree 20, the branch and bound algorithm works very well here.
[0069] The same is analogously true for a battery tester 7 with the output current i.sub.2 as the output variable.
[0070] Table 2 shows the effect of the above-described methods for reducing the solution space of the optimization problem. Here it is apparent that the number of possible solutions for the optimization problem can be massively reduced with the above methods, making it also possible to calculate large prediction horizons N.sub.P in real time.
TABLE-US-00002 TABLE 2 N.sub.P 8.sup.Np 4.sup.Np PP CBF 1 8 4 4 4 2 64 16 14 10 3 512 64 33 26 4 4,096 256 48 26 5 32,768 1,024 67 26 6 262,144 4,096 81 68 7 2,097,152 16,384 116 68 8 16,777,216 65,536 178 68 9 134,217,728 262,144 237 178 10 1,073,741,824 1,048,576 313 178 11 8,589,934,592 4,194,304 489 178
[0071] The method according to the present invention makes it possible to take large prediction horizons N.sub.P into account for the controller 18 in the control unit 10, whereby the controller 18 is better able to react to transient processes, and able to react more quickly and with less overshoot to such processes. This is supported by the higher sampling rate that is made possible.
[0072] The method according to the present invention has been described with reference to a multiphase DC/DC converter 12 with three strands. However, it shall be readily understood that the method can also be transferred to a DC/DC converter 12 with fewer or more strands.