Digital average input current control in power converter
09673711 ยท 2017-06-06
Assignee
Inventors
Cpc classification
H02M3/158
ELECTRICITY
Y02E10/56
GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
Y02B70/10
GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
International classification
Abstract
A digital average-input current-mode control loop for a DC/DC power converter. The power converter may be, for example, a buck converter, boost converter, or cascaded buck-boost converter. The purpose of the proposed control loop is to set the average converter input current to the requested current. Controlling the average input current can be relevant for various applications such as power factor correction (PFC), photovoltaic converters, and more. The method is based on predicting the inductor current based on measuring the input voltage, the output voltage, and the inductor current. A fast cycle-by-cycle control loop may be implemented. The conversion method is described for three different modes. For each mode a different control loop is used to control the average input current, and the control loop for each of the different modes is described. Finally, the algorithm for switching between the modes is disclosed.
Claims
1. A method, comprising: sampling an inductor current of an inductor of a converter; sampling an input voltage of the converter; sampling an output voltage of the converter; predicting, by a controller, the inductor current based on the sampled inductor current, the sampled input voltage, and the sampled output voltage; controlling a duty cycle based on the predicted inductor current to cause an input current of the converter to approach a desired input current; and transferring the converter from an alternating buck-boost mode to a buck mode or a boost mode in response to the duty cycle dropping below or climbing above a threshold for at least a predetermined number of cycles.
2. The method of claim 1, wherein predicting the inductor current comprises predicting the inductor current for a second cycle based on the sampled inductor current for a first cycle.
3. The method of claim 2, wherein controlling the duty cycle comprises controlling the duty cycle for the second cycle.
4. The method of claim 1, wherein controlling the duty cycle comprises performing a triangle pulse width modulation.
5. The method of claim 1, wherein the converter comprises a cascaded buck-boost converter.
6. The method of claim 1, wherein the controller comprises a first pre-programmed control module for the buck mode of the converter, a second pre-preprogrammed control module for the boost mode of the converter, and a third pre-programmed control module for the alternating buck-boost mode of the converter.
7. The method of claim 1, wherein the controller comprises three pre-programmed control modules for controlling the input current of the converter according to three operational modes of the converter, respectively.
8. The method of claim 1, wherein the transferring comprises: transferring the converter from the alternating buck-boost mode to the boost mode in response to determining that the duty cycle has been above the threshold for more than a plurality of consecutive switching cycles.
9. The method of claim 1, wherein the transferring comprises: transferring the converter from the alternating buck-boost mode to the buck mode in response to determining that the duty cycle has been below the threshold for more than a plurality of consecutive switching cycles.
10. An apparatus, comprising: a circuit configured to: sample an inductor current of an inductor of a converter; sample an input voltage of the converter; and sample an output voltage of the converter; and a controller configured to: predict the inductor current based on the sampled inductor current, the sampled input voltage, and the sampled output voltage; control a duty cycle based on the predicted inductor current to cause an input current of the converter to approach a desired input current; and transfer the converter from an alternating buck-boost mode to a buck mode or a boost mode in response to the duty cycle dropping below or climbing above a threshold for at least a predetermined number of cycles.
11. The apparatus of claim 10, wherein predicting the inductor current comprises predicting the inductor current for a second cycle based on the sampled inductor current for a first cycle.
12. The apparatus of claim 11, wherein controlling the duty cycle comprises controlling the duty cycle for the second cycle.
13. The apparatus of claim 10, wherein controlling the duty cycle comprises performing a triangle pulse width modulation.
14. The apparatus of claim 10, further comprising the converter, wherein the converter comprises a cascaded buck-boost converter, and wherein the controller comprises a first pre-programmed control module for the buck mode of the converter, a second pre-preprogrammed control module for the boost mode of the converter, and a third pre-programmed control module for the alternating buck-boost mode of the converter.
15. The apparatus of claim 10, wherein the controller transfers the converter from the alternating buck-boost mode to the buck mode in response to a determination that the duty cycle has been below the threshold for more than a plurality of consecutive switching cycles.
16. A method, comprising: predicting, by a controller, an inductor current of an inductor of a converter; controlling a duty cycle based on the predicted inductor current to cause an input current of the converter to approach a desired input current; and transferring the converter from an alternating buck-boost mode to a buck mode or a boost mode in response to the duty cycle dropping below or climbing above a threshold for at least a predetermined number of cycles.
17. The method of claim 16, wherein the transferring depends at least on the desired input current.
18. The method of claim 16, wherein the predicting of the inductor current is performed according to an algorithm that depends on whether the converter is in the alternating buck-boost mode, the buck mode, or the boost mode.
19. The method of claim 16, further comprising: determining that the duty cycle has been above the threshold for more than a plurality of consecutive switching cycles, wherein the transferring comprises transferring the converter from the alternating buck-boost mode to the boost mode in response to the determining.
20. The method of claim 16, further comprising: determining that the duty cycle has been below the threshold for more than a plurality of consecutive switching cycles, wherein the transferring comprises transferring the converter from the alternating buck-boost mode to the buck mode in response to the determining.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
(1)
(2)
(3)
(4)
(5)
(6)
(7)
(8)
(9)
DETAILED DESCRIPTION
(10) A digital controlled non-inverting (cascaded) buck-boost converter, as described in
(11) While in general control loops of converters the inductor current is controlled, according to an embodiment of the invention, a control loop is provided in order to set the average input current to the requested current (I.sub.ref). Controlling the average input current can be relevant for various applications such as: power factor correction (PFC), photovoltaic inverters, and more. In this example, the control is based on predicting the inductor current for the next switching cycle based on measuring the input voltage (V.sub.In), the output voltage (V.sub.Out) and the inductor current (I.sub.L) in the current switching cycle. By using a predictive method a fast, cycle-by-cycle, control loop can be implemented.
(12) Converter Modes
(13) The cascaded buck-boost topology can achieve the desired input average current at various output currents. Depending on the output current, the converter can work in 3 different modes: I.sub.ref>I.sub.out: Boost ConverterSwitch A is constantly conducting and switch B is not conducting. 2. I.sub.ref<I.sub.out: Buck ConverterSwitch D is constantly conducting and switch C is not conducting. 3. I.sub.refI.sub.out: Buck-Boost ConverterAll four switches are being used to control the input current.
(14) Each of the three modes may have a different control schemes. The control loop will decide which control scheme is used at each switching cycle.
(15) Predictive Average Input Current Control Using Triangle PWM Modulation
(16) The control scheme of this example is based on predicting the inductor current for the next switching cycle based on measuring the inductor current and the input and output voltage. Based on the inductor current the control loop sets the average input current. Because of the fact that the predictive control loop is a non-linear control loop and it is executed on every PWM cycle, a high control bandwidth can be achieved.
(17) The following sections will explain the concept of triangle PWM modulation and the three control schemes mentioned above.
(18) Triangle PWM Modulation
(19) There are two types of triangle PWM modulationleading and trialing triangle modulation.
(20) Each cycle, having length T.sub.s and a duty cycle of d, starts with an on-time of length
(21)
an off-time of (1d)T.sub.s and another on-time of the same length. Leading triangle modulation is similar but the on-time and off-times are switched, as shown in
Controlling Average Input Current Using the Inductor Current
(22) The method of this example uses the inductor current to set the average input current when the converting is operating in continuous conduction mode (CCM). The converter can work in one of three different modesBuck, Boost, Buck-Boost. For each mode there is a different equation for converting the average inductor current to the average input current in each switching cycle. Derived from the power train properties of the converter, the equations are:
Boost: .sub.In=.sub.L1.
Buck: .sub.In=.sub.L*d, where d is the duty cycle.2.
Buck-Boost: .sub.In=.sub.L*d.sub.buck, where d.sub.buck is the buck duty cycle3.
(23) For all of the equations above .sub.In, .sub.L denote the average input current and average inductor current, respectively.
(24) Control Loops
(25) The converter works in 3 different modes. For each mode a different control loop is used to control the average input current. This section will describe each control loop for the different modes. Later on, the algorithm for switching between the modes will be described.
(26) Predictive Boost Input Current Control
(27) The goal of the control loop is to insure that the average input current follows the reference I.sub.ref. As described above, when the converter operates in a boost mode the steady state average input current is the same as the average inductor current. In this mode the boost control will try to set the average inductor current to I.sub.ref. The required boost duty cycle for the next switching cycle is predicted based on the sampled inductor current, the input voltage and the output voltage.
(28) Since the input and output voltage change slowly we assume that they are constant during a switching cycle. For a boost converter the on-time slope (m.sub.1) and off-time slope (m.sub.2) are given by the following equations:
(29)
(30) Based on these equations we can predict i(n) using the following equation:
(31)
(32) Where d[n]=1d[n], T.sub.s is the switching cycle time and L is the inductor inductance. Equation (3) can also be written as:
(33)
(34) We now have the prediction equation for one switching cycle. Because of the fact that every digital implementation of the control loop will have an execution delay, we will extend the prediction to one more switching cycle. So the prediction will set the duty cycle of the n+1 switching cycle based on the samples of the n1 switching cycle. Extending equation (4) to two switching cycles we get:
(35)
(36) The prediction for the duty cycle d[n+1] can now be obtained based on the values sampled in the previous switching period. By substituting i(n+1) with the desired current I.sub.ref, in equation (5), and by solving the equation for d[n+1] we get:
(37)
(38) Because of the fact that the inductor inductance can vary and to be able to achieve a slower control loop, we modify equation (6) with a variable gain that can be pre-adjusted, and we get:
(39)
(40) Equation (7) is the control law when the converter is in boost mode.
(41) If we denote T.sub.i as the beginning time of each switching cycle (i), the above method samples the input voltage, output voltage, and inductor current at time T.sub.0, utilizes the time until T.sub.1 to predict the inductor current at T.sub.1 using the input voltage, output voltage and the knowledge of the inductor inductance, and calculate the needed duty-cycle in order to reach the desired input current (I.sub.ref) at T.sub.2, and set that duty cycle to be performed in the switching cycle between T.sub.1 and T.sub.2.
(42) Predictive Buck Input Current Control
(43) The principles of the predictive buck average input current control loop are similar to those of the boost current control loop. For the buck converter, the on-time and off-time inductor slopes are given by the following equations:
(44)
(45) For switching cycle number n the average input current, based on the inductor current, is:
(46)
(47) Based on equations (8) and (9) we can predict the inductor current for one switching cycle, and get the following equation:
(48)
(49) Combining equations (10) and (11) we get:
(50)
(51) The prediction for the duty cycle d[n+1] can now be obtained based on the values sampled in the previous switching period. Denoting the sampled current as i.sub.s[n], and substituting the control objective (n+1)=I.sub.ref in (11), we have:
(52)
(53) Equation (13) is the control law when the converter is in buck mode. Because of the fact that this equation is a quadratic equation, one of the methods of solving it in an efficient manner is to use Newton Raphson method to approximate the solution.
(54) If we denote T.sub.i as the beginning time of each switching cycle (i), the above method samples the input voltage, output voltage, and inductor current at time T.sub.0, utilizes the time until T.sub.1 to predict the inductor current at T.sub.1 using the input voltage, output voltage and the knowledge of the inductor inductance, and calculate the needed duty-cycle in order to reach the desired input current (I.sub.ref) at T.sub.2, that is dependent on the inductor current and the duty cycle at T.sub.2, and set that duty cycle to be performed in the switching cycle between T.sub.1 and T.sub.2.
Predictive Buck Input Current Control
Alternative Embodiment
(55) Another method for controlling the converter's input current in a buck converting is by controlling the inductor current and using the converter's input and output voltage to set the correct inductor reference value in an adaptive manner.
(56)
(57) By using equation (14) we can set the required inductor current (I.sub.L.sub._.sub.Ref) according to V.sub.in and V.sub.out in the following way:
(58)
(59) Equation (15) is the feed-forward block that runs every switching cycle. After calculating the cycle-by-cycle inductor current reference, an inductor current loop is used to set the required inductor current.
(60) Predictive Buck Inductor Current Control
(61) By using equation (11), extending it for two switching cycles and replacing i(n) with i.sub.pred(n) we get the following equation:
(62)
(63) By solving equation (16) for d[n+1] we get:
(64)
(65) Because of the fact that the inductor inductance can vary and to be able to achieve a slower control loop, we modify equation (17) with a variable gain that can be pre-adjusted, and we get:
(66)
(67) Equation (18) is the control law for the buck inductor current loop.
(68) If we denote T.sub.i as the beginning time of each switching cycle (i), the above method samples the input voltage, output voltage, and inductor current at time T.sub.0, utilizes the time until T.sub.1 to estimate the needed inductor current (I.sub.L.sub._.sub.Ref) according to the input voltage, output voltage and desired input current (I.sub.ref). In addition, predicting the inductor current at T.sub.1 using the input voltage, output voltage and the knowledge of the inductor inductance, and calculate the needed duty-cycle in order to reach the needed inductor current (I.sub.L.sub._.sub.ref) at T.sub.2, and set that duty cycle to be performed in the switching cycle between T.sub.1 and T.sub.2.
(69) Predictive Cascaded Buck-Boost Input Current Control
(70) When the converter is in buck-boost mode all four switches are being used to set the correct converter's average input current. This can be shown in
(71)
(72)
.sub.In=.sub.L*d.sub.buck(19)
(73) Based on all these equations the predictive control law can be built for calculating the required boost duty cycle:
(74)
(75) Denoting the sampled current as i.sub.s[ ] substituting the control objective (n)=.sub.ref in the equation above, and solving for d[n], we get the following:
(76)
(77) Equation (21) is the control law for setting the boost duty cycle when the converter is in buck-boost mode.
(78) If we denote T.sub.i as the beginning time of each switching cycle (i), the above method samples the input voltage, output voltage, and inductor current at time T.sub.0, utilizes the time until T.sub.1 to predict the inductor current at T.sub.1, based on the fact that the converter is in alternating buck-boost mode, using the input voltage, output voltage and the knowledge of the inductor inductance, and calculate the needed duty-cycle in order to reach the desired input current (I.sub.ref) at T.sub.2, and set that duty cycle to be performed in the switching cycle between T.sub.1 and T.sub.2.
Predictive Buck-Boost Input Current Control
Alternative Embodiment
(79) Another method for controlling the converter's input current in a cascaded buck-boost converting is by controlling the inductor current and using the input and output voltage to set the correct inductor reference value in an adaptive manner.
(80) Predictive Buck-Boost Inductor Current Control
(81) An efficient method of controlling the inductor current in a cascaded buck-boost converter is setting a linear relation between the boost and buck duty cycle in the following manner:
d.sub.buck=1c+d.sub.boost(22)
Where:
0c1
(82) Using equations (1), (2), (8) and (9) we can estimate the inductor at the end of switching cycle n:
(83)
(84) Combining equations (22) and (23) and we get:
(85)
(86) By extending equation (24) to another switching cycle we get:
(87)
(88) Solving equation (25) for d.sub.boost[n+1] and replacing i(n+1) with the control objective, I.sub.L.sub._.sub.Ref, we get:
(89)
(90) Equation (26) is the control law for the inductor current control in a cascaded buck-boost converter.
(91) Feed Forward
(92) In order to control the converter's input current, a cycle by cycle feed-forward is used in order to change the inductor current reference according to the required converter input current and input and output voltage. In a cascaded buck-boost converter we know that in steady state:
(93)
(94) Using equations (27) and (22) we can get:
(95)
(96) Using equation (28) we can set the required inductor current according to the desired input current and input and output voltages.
(97) If we denote T.sub.i as the beginning time of each switching cycle (i), the above method samples the input voltage, output voltage, and inductor current at time T.sub.0, utilizes the time until T.sub.1 to estimate the needed inductor current (I.sub.L-Ref) according to the input voltage, output voltage and desired input current (I.sub.ref). In addition, predicting the inductor current at T.sub.1 using the input voltage, output voltage and the knowledge of the inductor inductance, and calculate the needed duty-cycle in order to reach the needed inductor current (I.sub.L.sub._.sub.ref) at T.sub.2, and set that duty cycle to be performed in the switching cycle between T.sub.1 and T.sub.2.
(98) Switching Between Converter Modes
(99) The converter needs to switch between three different modes depending on the reference current and the output current.
(100) Switching from Buck Mode
(101) When in buck mode, the duty cycle will be monitored every switching cycle. If the duty cycle is higher than the threshold set, 0<Th.sub.bucl<1, for more than X.sub.buck consecutive switching cycles the converter will switch to buck-boost mode.
(102) Switching from Buck-Boost Mode
(103) When in buck-boost mode, the duty cycle of the boost converter will be monitored every boost switching cycle (every second switching cycle). Two thresholds will be setTh.sub.high and Th.sub.low. If the duty cycle is higher than Th.sub.high for more than X.sub.high consecutive switching cycles the converter will switch to boost mode. If the duty cycle is lower than Th.sub.low for more than X.sub.low consecutive switching cycles the converter will switch to buck mode.
(104) Switching from Boost Mode
(105) When in boot mode, the duty cycle will be monitored every switching cycle. If the duty cycle is lower than the threshold set, 0<Th.sub.boost<1, for more than X.sub.boost consecutive switching cycles the converter will switch to buck-boost mode.