2DOF Synchronous-frame complex-vector PI controller with feedforward.
This implements a discrete-time 2DOF synchronous-frame complex-vector PI
controller similar to [2], with an additional feedforward signal.
The gain selection corresponding to internal-model-control (IMC) is
equivalent to the continuous-time version given in [1]:
u=k_p*(i_ref-i)+k_i/s*(i_ref-i)+1j*w*L_f*i+u_g_ff
where u is the controller output, i_ref is the reference signal, i is
the feedback signal, u_g_ff is the (filtered) feedforward signal, w is
the angular speed of synchronous coordinates, ‘1j*w*L_f’ is the decoupling
term estimate, and 1/s refers to integration. This algorithm is
compatible with both real and complex signals. The integrator anti-windup
is implemented based on the realized controller output.
Parameters:
k_p (float) – Proportional gain.
k_i (float) – Integral gain.
k_t (float, optional) – Reference-feedforward gain. The default is k_p.
L_f (float, optional) – Synchronous frame decoupling gain. The default is 0.
2DOF synchronous-frame complex-vector PI controller.
This implements a discrete-time 2DOF synchronous-frame complex-vector PI
controller, whose continuous-time counterpart is [2]:
u=k_t*i_ref-k_p*i+(k_i+1j*w*k_t)/s*(i_ref-i)
where u is the controller output, i_ref is the reference signal, i is
the feedback signal, w is the angular speed of synchronous coordinates,
and 1/s refers to integration. This algorithm is compatible with both real
and complex signals. The 1DOF version is obtained by setting k_t=k_p.
The integrator anti-windup is implemented based on the realized controller
output.
Parameters:
k_p (float) – Proportional gain.
k_i (float) – Integral gain.
k_t (float, optional) – Reference-feedforward gain. The default is k_p.
This provides an interface for a DC-bus controller. The gains are
initialized based on the desired closed-loop bandwidth and the DC-bus
capacitance estimate. The PI controller is designed to control the energy
of the DC-bus capacitance and not the DC-bus voltage in order to have a
linear closed-loop system [3].
Parameters:
zeta (float) – Damping ratio of the closed-loop system.
alpha_dc (float) – Closed-loop bandwidth (rad/s).
p_max (float, optional) – Maximum converter power (W). The default is inf.
This implements a discrete-time 2DOF PI controller, whose continuous-time
counterpart is:
u=k_t*y_ref-k_p*y+(k_i/s)*(y_ref-y)
where u is the controller output, y_ref is the reference signal, y is
the feedback signal, and 1/s refers to integration. The standard PI
controller is obtained by choosing k_t=k_p. The integrator anti-windup
is implemented based on the realized controller output.
Notes
This contoller can be used, e.g., as a speed controller. In this case, y
corresponds to the rotor angular speed w_M and u to the torque reference
tau_M_ref.
Parameters:
k_p (float) – Proportional gain.
k_i (float) – Integral gain.
k_t (float, optional) – Reference-feedforward gain. The default is k_p.
u_max (float, optional) – Maximum controller output. The default is inf.
Duty ratios and realized voltage for three-phase PWM.
This contains the computation of the duty ratios and the realized voltage.
The realized voltage is computed based on the measured DC-bus voltage and
the duty ratios. The digital delay effects are taken into account in the
realized voltage, assuming the delay of a single sampling period. The total
delay is 1.5 sampling periods due to the PWM (or ZOH) delay [4].
Parameters:
six_step (bool, optional) – Enable six-step operation in overmodulation. The default is False.