10-kVA, start-up, GFL

10-kVA, start-up, GFL#

This example simulates the start-up of a grid-following converter with DC-bus voltage control. The converter gates are blocked at first. The DC bus is charged from its initial voltage of 500 V through the antiparallel diodes toward the peak line-to-line voltage of the grid, while the phase-locked loop synchronizes with the grid and the current controller tracks the measured converter voltage. The gates are released at 40 ms, after which the DC-bus voltage controller raises the voltage to 650 V, with the power limited to the nominal power. A reactive power reference step follows.

import matplotlib.pyplot as plt
import numpy as np

from motulator.grid import control, model, utils

Compute base values based on the nominal values.

nom = utils.NominalValues(U=400, I=14.5, f=50, P=10e3)
base = utils.BaseValues.from_nominal(nom)

Configure the system model.

Configure the control system.

Set the gate enable and the references.

ctrl.set_enable(lambda t: t >= 0.04)
ctrl.set_dc_bus_voltage_ref(650)
ctrl.set_reactive_power_ref(lambda t: (t > 0.1) * 4e3)

Create the simulation object, simulate, and plot the results in per-unit values.

  • plot 10kva startup gfl
  • plot 10kva startup gfl

Plot the DC-bus voltage and the DC current of the converter, the interval with blocked gates shaded. The diodes charge the DC bus toward the peak line-to-line voltage of the grid, the current pulses shrinking as the voltage approaches it.

t_on = res.ctrl.t[np.flatnonzero(res.ctrl.ref.enabled)[0]]
fig, (ax1, ax2) = plt.subplots(2, 1, sharex=True)
for ax in (ax1, ax2):
    ax.axvspan(0, t_on, color="0.9")
ax1.plot(res.mdl.t, res.mdl.dc_bus.u_dc, label=r"$u_\mathrm{dc}$")
ax1.plot(
    res.ctrl.t,
    res.ctrl.ref.u_dc,
    "--",
    ds="steps-post",
    label=r"$u_\mathrm{dc}^\mathrm{ref}$",
)
ax1.set_ylabel("Voltage (V)")
ax1.legend()
ax2.plot(res.mdl.t, res.mdl.converter.i_dc_int / base.i)
ax2.set_ylabel(r"$i_\mathrm{dc}$ (p.u.)")
ax2.set_xlabel("Time (s)")
ax2.set_xlim(0, 0.15)
plt.show()
plot 10kva startup gfl

Total running time of the script: (0 minutes 1.147 seconds)

Gallery generated by Sphinx-Gallery