DC-Bus Voltage Control#
A PI controller for the DC-bus voltage is implemented in the motulator.grid.control.DCBusVoltageController
class, whose base class is motulator.common.control.PIController
. In the following, the tuning of the DC-bus voltage controller is considered in the continuous-time domain.
Controller Structure#
In order to have a linear closed-loop system, it is convenient to use the DC-bus energy as the controlled variable, [Hur et al., 2001]
where \(\hatCdc\) is the DC-bus capacitance estimate, \(\udc\) is the measured DC-bus voltage, and \(\udcref\) is the DC-bus voltage reference. Using these variables, the output power reference \(p_\mathrm{c}^\mathrm{ref}\) for the converter is obtained from a PI controller,
where \(\kp\) is the proportional gain and \(\ki\) is the integral gain. The negative signs appear since the positive converter output power decreases the DC-bus capacitor energy, see (3).
Closed-Loop System Analysis#
For simplicity, the capacitance estimate being accurate, \(\hatCdc = \Cdc\). Furthermore, the converter is assumed to be lossless and its output power control ideal. The DC-bus energy balance is
where \(p_\mathrm{dc}\) is the external power fed to the DC bus, \(p_\mathrm{c}\) is the converter output power, and \(\Wdc = (\Cdc/2) \udc^2\) is the energy stored in the DC-bus capacitor. The power \(p_\mathrm{dc}\) is considered as an unknown disturbance.
In the Laplace domain, the closed-loop system resulting from (2) and (3) is given by
where it can be seen that \(\Wdc = \Wdcref\) holds in the steady state. Furthermore, it can be shown that also \(\udc = \udcref\) holds in the steady state (independently of the errors in the capacitance estimate \(\hat{C}\), since both reference and measured values in (1) are scaled by the same estimate).
Gain Selection#
Based on (4), the gain selection
results in the double real pole at \(s = -\alphadc\). The closed-loop bandwidth is approximately \(\alphadc\).