Current Control#
Synchronous-frame two-degrees-of-freedom (2DOF) proportional-integral (PI) current control can be used in grid converters [1]. 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 converter, LCL filter 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 [2].
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 [3] and the complex-vector design [4]. 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 \(\boldsymbol{u}_\mathrm{c,ref}\) is the output of the controller, i.e., the converter voltage reference, \(\boldsymbol{i}_\mathrm{c}\) is the measured converter current, \(\boldsymbol{i}_\mathrm{c,ref}\) is the converter current reference, \(\boldsymbol{u}_\mathrm{i}\) is the the integral state, and \(\omega_\mathrm{c}\) is the angular speed of the coordinate system. Furthermore, \(\boldsymbol{k}_\mathrm{t}\) is the reference-feedforward gain, \(\boldsymbol{k}_\mathrm{p}\) is the proportional gain, and \(\boldsymbol{k}_\mathrm{i}\) is the integral gain.
Closed-Loop System#
Consider the grid model in synchronous coordinates
where \(\boldsymbol{u}_\mathrm{c}\) is the converter output voltage, \(\boldsymbol{u}_\mathrm{g}\) is the grid (or PCC) voltage, and \(L\) is the inductance. Ideal converter voltage production is assumed, \(\boldsymbol{u}_\mathrm{c} = \boldsymbol{u}_\mathrm{c,ref}\). Using (1) and (2), the closed-loop system in the Laplace domain becomes
The disturbance rejection depends on the closed-loop admittance
The closed-loop poles can be arbitrarily placed by means of the gains. The reference-tracking transfer function is
whose zero can be placed by means of the reference-feedforward gain \(\boldsymbol{k}_\mathrm{t}\).
Gain Selection#
Consider the gains
where \(\hat L\) is the inductance estimate. Assuming accurate parameter estimates, the closed-loop transfer functions (3) and (4) 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=-\alpha_\mathrm{c}\) and another pole at \(s= -\alpha_\mathrm{c} - \mathrm{j}\omega_\mathrm{c}\). 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.
References