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, [1]

(1)#\[\hat W_\mathrm{dc} = \frac{1}{2}\hat{C}_\mathrm{dc} u_\mathrm{dc}^2 \qquad W_\mathrm{dc,ref} = \frac{1}{2}\hat{C}_\mathrm{dc} u_\mathrm{dc,ref}^2\]

where \(\hat{C}_\mathrm{dc}\) is the DC-bus capacitance estimate, \(u_\mathrm{dc}\) is the measured DC-bus voltage, and \(u_\mathrm{dc,ref}\) is the DC-bus voltage reference. Using these variables, the output power reference \(p_\mathrm{c,ref}\) for the converter is obtained from a PI controller,

(2)#\[p_\mathrm{c,ref} = -k_\mathrm{p} (W_\mathrm{dc,ref} - \hat{W}_\mathrm{dc}) - \int k_\mathrm{i} (W_\mathrm{dc,ref} - \hat{W}_\mathrm{dc}) \mathrm{d} t\]

where \(k_\mathrm{p}\) is the proportional gain and \(k_\mathrm{i}\) 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#

For simplicity, the capacitance estimate being accurate, \(\hat{C}_\mathrm{dc} = C_\mathrm{dc}\). Furthermore, the converter is assumed to be lossless and its output power control ideal. The DC-bus energy balance is

(3)#\[\frac{\mathrm{d} W_\mathrm{dc}}{\mathrm{d} t} = p_\mathrm{dc} - p_\mathrm{c}\]

where \(p_\mathrm{dc}\) is the external power fed to the DC bus, \(p_\mathrm{c}\) is the converter output power, and \(W_\mathrm{dc} = (C_\mathrm{dc}/2) u_\mathrm{dc}^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

(4)#\[W_\mathrm{dc}(s) = \frac{k_\mathrm{p} s + k_\mathrm{i}}{s^2 + k_\mathrm{p} s + k_\mathrm{i}} W_\mathrm{dc,ref}(s) + \frac{s}{s^2 + k_\mathrm{p} s + k_\mathrm{i}} p_\mathrm{dc}(s)\]

where it can be seen that \(W_\mathrm{dc} = W_\mathrm{dc,ref}\) holds in the steady state. Furthermore, it can be shown that also \(u_\mathrm{dc} = u_\mathrm{dc,ref}\) 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

\[k_\mathrm{p} = 2\alpha_\mathrm{dc} \qquad k_\mathrm{i} = \alpha_\mathrm{dc}^2\]

results in the double real pole at \(s = -\alpha_\mathrm{dc}\). The closed-loop bandwidth is approximately \(\alpha_\mathrm{dc}\).

References