Grid-Forming Inverters: Droop Control and Virtual Synchronous Machines in Zero-Inertia Grids
Transitioning from legacy grid-following phase-locked loops (PLL) to grid-forming virtual synchronous machines (VSM) to maintain bulk power frequency stability.
Legacy electrical transmission grids derived frequency stability from the physical rotational inertia of massive multi-ton steam and hydroelectric turbine generators. When load suddenly spikes, kinetic energy stored within rotating steel rotors instantly buffers the grid, constraining the Rate of Change of Frequency (RoCoF).
As solar PV and battery energy storage systems (BESS) replace fossil generation, inverter-based resources (IBRs) decouple mechanical rotation from the grid. Traditional Grid-Following (GFL) inverters rely on Phase-Locked Loops (PLL) to track existing grid voltage angles. In low-inertia grids, GFL inverters suffer phase instability and cascade trippings, necessitating the adoption of Grid-Forming (GFM) control topologies.
1. Grid-Following (GFL) vs Grid-Forming (GFM)
- Grid-Following (Current Source): Measures grid voltage angle $\theta$ via PLL, then injects synchronized current $I_d, I_q$. If voltage collapses, the PLL unlocks and trips offline.
- Grid-Forming (Voltage Source): Directly generates an internal alternating voltage phasor $E \angle \theta$ behind a virtual impedance, inherently opposing instantaneous changes in grid frequency and phase angle.
Grid-Following (GFL) vs Grid-Forming (GFM) Architectures
+---------------------------------------------------------------+
| Architecture | Primary Behavior | Reaction to Grid Fault |
+----------------+------------------+---------------------------+
| GFL (Legacy) | Current Source | Requires external voltage;|
| | P, Q regulation | Unstable under low SCR |
+----------------+------------------+---------------------------+
| GFM (Modern) | Voltage Source | Instantly injects power; |
| | E, theta control | Stabilizes weak island grid|
+----------------+------------------+---------------------------+
2. The Virtual Synchronous Machine (VSM) Emulation
A Virtual Synchronous Machine programmatically executes the classical swing equation inside digital signal processors (DSP):
$$J \frac{d\omega}{dt} = T_m - T_e - D_p (\omega - \omega_0)$$
Where:
- $J$ is the virtual moment of inertia parameter.
- $T_m$ is virtual mechanical torque command from active power setpoint $P^*$.
- $T_e = \frac{P_{\text{measured}}}{\omega}$ is electromagnetic counter-torque.
- $D_p$ is the damping coefficient suppressing power angle oscillations.
class VirtualSynchronousMachine:
def __init__(self, J=5.0, Dp=20.0, omega_0=2 * 3.14159265 * 50.0):
self.J = J # Virtual inertia (kg*m^2 equivalent)
self.Dp = Dp # Damping constant
self.omega = omega_0 # Virtual grid frequency (rad/s)
self.omega_0 = omega_0
self.theta = 0.0 # Virtual voltage angle
def update(self, p_setpoint, p_measured, dt):
# Mechanical vs Electrical torque
t_m = p_setpoint / self.omega
t_e = p_measured / self.omega
# Numerical integration of swing equation
d_omega_dt = (t_m - t_e - self.Dp * (self.omega - self.omega_0)) / self.J
self.omega += d_omega_dt * dt
self.theta += self.omega * dt
self.theta = self.theta % (2 * 3.1415926535)
return self.omega, self.theta
3. Reactive Power & Voltage Droop Control ($Q-V$)
Simultaneously, output voltage magnitude $E^*$ is modulated through droop characteristics to balance reactive power without high-bandwidth communication lines:
$$E^* = E_0 - D_q (Q_{\text{measured}} - Q^*)$$
When transmission line faults induce localized voltage sags, grid-forming inverters behave like physical synchronous condensers, autonomously sourcing heavy sub-transient reactive fault current within microseconds, arresting voltage collapse across decentralized green grids.