Current Control#
Synchronous-frame two-degrees-of-freedom (2DOF) proportional-integral (PI) current control can be used in grid converters [Harnefors et al., 2015]. This control structure allows to compensate for the cross-coupling originating from rotating coordinates as well as to improve disturbance rejection. A 2DOF PI current controller is available in the motulator.grid.control.CurrentController
class, whose base class is motulator.common.control.ComplexPIController
.
Note
This controller design assumes an L filter, but it can also be applied with LCL filters (see the 10-kVA, LCL filter, GFL example). If LCL-resonance damping and very low sampling frequencies are needed, the controller could be designed directly in the discrete-time domain taking the LCL filter dynamics into account [Rahman et al., 2021].
2DOF PI Controller#
The design of synchronous-frame 2DOF PI current control is considered in the continuous-time domain, even though the actual implementation is discrete. Two typical gain selections for this control type are known as the internal-model-control (IMC) design [Harnefors and Nee, 1998] and the complex-vector design [del Blanco et al., 1999]. Here, only the complex-vector design is considered, see Complex-Vector 2DOF PI Controller, which is compatible with the motulator.common.control.ComplexPIController
base class. The controller can be expressed in a state-space form as
where \(\ucref\) is the output of the controller, i.e., the converter voltage reference, \(\ic\) is the measured converter current, \(\icref\) is the converter current reference, \(\mathbf{u}_\mathrm{i}\) is the integral state, and \(\omegac = \hatomegag\) is the angular speed of the coordinate system. Furthermore, \(\kT\) is the reference-feedforward gain, \(\kP\) is the proportional gain, and \(\kI\) is the integral gain.
Closed-Loop System Analysis#
Consider the grid model in synchronous coordinates
where \(\uc\) is the converter output voltage, \(\ug\) is the grid (or PCC) voltage, and \(L\) is the inductance. Ideal converter voltage production \(\uc = \ucref\) and accurate parameter estimates are assumed. Using (1) and (2), the closed-loop system in the Laplace domain becomes
The reference-tracking transfer function is
where the closed-loop poles can be arbitrarily placed by means of the gains. The zero can be placed by means of the reference-feedforward gain \(\kT\). The disturbance rejection depends on the closed-loop admittance
Gain Selection#
Consider the gains
where \(\alpha_\mathrm{s}\) is the closed-loop reference-tracking bandwidth, \(\alphai\) is the integral action bandwidth, and \(\hat L\) is the inductance estimate. Assuming accurate parameter estimates, the closed-loop transfer functions (4) and (5) reduce to
It can be seen that this design results in the first-order reference-tracking dynamics. Furthermore, one pole is placed at the real axis at \(s = -\alphac\) and another pole at \(s= -\alphai - \jj\omegag\). This gain selection is used in the motulator.grid.control.CurrentController
class.
The converter output voltage is limited in practice due to the limited DC-bus voltage of the converter. Consequently, the realized (limited) voltage reference is
where \(\mathrm{sat}(\cdot)\) is the saturation function. The limited voltage can be obtained from a pulse-width modulation (PWM) algorithm (see the motulator.common.control.PWM
class). The anti-windup of the integrator is included in the implementation of the motulator.common.control.ComplexPIController
base class.