Three-phase inverter

Averaged inverter with common-mode injection and DC-bus voltage clipping. No PWM switching ripple.

  • signal
  • Gradara equations
  • 6 ports
  • 1 parameter
BlockThree-phase inverterKindinverterLibraryElectrical

Description

An averaged three-phase inverter for control studies. It takes three phase-voltage commands, adds min–max common-mode injection, and clips each phase to the DC bus. The outputs are the phase voltages averaged over a switching period, as signals.

Min–max injection extends the linear range: balanced sinusoidal commands pass without clipping up to an amplitude of Vdc / √3.

Example

PMSM · Field-oriented control 1500 rpm speed command with cascaded d/q current control. A 48 V averaged inverter drives a surface PMSM and a mechanical load that increases at 0.45 s. Ideal current and rotor-position feedback; continuous controllers; no PWM ripple or sensor noise.

Speed commandrpm → rad/sSpeed errorKp · speedKi · speedIntegralPI sumCurrent limitq-axis errorq-axis PIid* = 0 Ad-axis errord-axis PIInverse Park / ClarkeAveraged inverterPMSMMechanical loadClarkePark
In Gradara, select a Three-phase inverter block and press F1, then choose Open example. It opens as a new model in My models, ready to run.

Also in this example:SumSubtractConstantLimited integratorCurrent PIClarke transformPark transformInverse transformsPMSMMechanical loadStepGainSaturation

Ports

Inputs 3

  • a*ua

    Phase a voltage command, in volts.

  • b*ub

    Phase b voltage command, in volts.

  • c*uc

    Phase c voltage command, in volts.

Outputs 3

  • ava

    Phase a output voltage, in volts, relative to the DC-bus midpoint.

  • bvb

    Phase b output voltage, in volts, relative to the DC-bus midpoint.

  • cvc

    Phase c output voltage, in volts, relative to the DC-bus midpoint.

Parameters

  • DC bus voltageVdc48 V

    ≥ 1

    DC bus voltage, in volts. At least 1 V. Each output is limited to ±Vdc/2.

Equations

Modelica
offset = (max(ua, ub, uc) + min(ua, ub, uc)) / 2
va = max(−Vdc/2, min(Vdc/2, ua − offset))
vb = max(−Vdc/2, min(Vdc/2, ub − offset))
vc = max(−Vdc/2, min(Vdc/2, uc − offset))

Implementation

The block’s Modelica model
Real offset;
offset = (max(ua,max(ub,uc))+min(ua,min(ub,uc)))/2;
va = max(-Vdc/2,min(Vdc/2,ua-offset));
vb = max(-Vdc/2,min(Vdc/2,ub-offset));
vc = max(-Vdc/2,min(Vdc/2,uc-offset));

Assumptions and limitations

  • Signal-level model: no switching ripple, dead time, or device losses, and it draws no current from a DC source.
  • The DC bus is an ideal constant; it does not sag with load.

Tips

  • The injected common-mode offset does not affect a machine’s d/q currents, since the Park transform removes it.

Used in

These larger examples use it too. Open them from Examples in the app.

  • PMSM · Field-oriented control

See also

Select a block in Gradara and press F1 to open its page offline.