Hardware Academy
EV Powertrain

Inverters, PWM and field-oriented control

How six switches and a control loop turn DC into precisely controlled torque.

Day 11 · 55 min

After this lesson

  • You can explain PWM sine synthesis and dead time in a three-phase bridge.
  • You can describe the field-oriented control chain in plain words.
  • You can explain what limits switching frequency and why SiC helps.

From six switches to precise torque

Six switches, three legs

A traction inverter is three half-bridges across the DC link. Each leg has a high-side and a low-side switch, IGBTs or SiC MOSFETs, each with an antiparallel diode, and its midpoint drives one motor phase. A leg can only tie its phase to DC+ or DC−, so three legs give eight switch states: six that put voltage across the motor and two that tie all three phases to the same rail. Both switches of one leg must never conduct together; that shoot-through shorts the DC link through two devices in microseconds.

PWM: sine waves from on and off

Switch a leg fast enough and the motor's inductance smooths the pulses into a near-sinusoidal current. Sine-triangle PWM compares each phase's sinusoidal reference with a triangular carrier at the switching frequency, typically 8-20 kHz: the leg is high while the reference is above the carrier, so its average over each carrier period follows the sine. The modulation index m scales the reference. At m = 1 on a 400 V bus the phase fundamental peaks at Vdc/2 = 200 V, or 245 V RMS line to line. Push m past 1 and the reference outruns the carrier, pulses drop out and the output distorts.

Space-vector PWM

Space-vector PWM treats the eight switch states as vectors: six active ones 60° apart and two zero vectors. Each switching period it dwells on the two active vectors either side of the wanted voltage for the right fractions of time and fills the rest with zero vectors. That is equivalent to adding the same common-mode offset to all three references, which the motor's floating neutral never sees, and it stretches the linear range by 15.5%: a phase peak of Vdc/√3 = 231 V instead of 200 V from 400 V. Nearly every traction inverter uses it.

Dead time, DC link and gate drivers

Real switches need tens to hundreds of nanoseconds to turn off, so the controller inserts a dead time, about 0.1-0.5 µs for SiC and 1-2 µs for IGBTs, with both switches of a leg off. The motor current keeps flowing through a diode during the gap, so the output follows the current direction, not the command. The average error is td × fsw × Vdc: 1 µs at 10 kHz is 1% of each period, 4 V on a 400 V bus. That is nothing at speed but large next to the few volts needed near standstill, and it distorts every current zero crossing, so controllers compensate for it.

A film DC-link capacitor of a few hundred µF to about 1 mF supplies the pulsed current the switches draw; its ripple-current rating, often 100-200 A RMS, sizes it more than its capacitance does. Laminated busbars keep the loop inductance to a few nanohenries so turn-off overshoot stays small. Each switch has an isolated gate driver, around +15/−8 V for IGBTs or +18/−3 V for SiC, with desaturation detection and a Miller clamp.

Field-oriented control

Torque depends on where the stator current points relative to the rotor flux, and field-oriented control (FOC) regulates exactly that:

  1. Sample two or three phase currents in the middle of the PWM period.
  2. Clarke: project a, b, c onto two stationary axes, α and β.
  3. Park: rotate α-β by the rotor's electrical angle θ into the d-q frame that spins with the rotor. Steady sinusoids become two DC values: Id along the magnet flux and Iq at 90°, which makes torque.
  4. Two PI controllers drive Id and Iq to their references. Iq* comes from the torque request (T = Kt·Iq in a surface PM motor); Id* is zero, slightly negative for maximum torque per amp in an interior-PM motor, or strongly negative for field weakening.
  5. Inverse Park turns the controllers' voltage outputs back into α-β, and SVPWM turns that vector into three duty cycles, scaled by the measured DC-link voltage.

The loop runs once or twice per PWM period with a current bandwidth around 1 kHz. Because the PI controllers act on DC quantities, they hold zero steady-state error at any speed, which a controller chasing a 400 Hz sine cannot do.

Knowing the rotor angle

Park needs θ to within a degree or two electrical. Most traction motors carry a resolver, a brushless rotary transformer that outputs sin θ and cos θ and survives heat, oil and vibration. An encoder, optical or magnetic, is the alternative: it reports the angle digitally with fine resolution and is the norm in industrial servo drives, but optical discs tolerate oil and heat poorly, so traction motors mostly use resolvers or, in some newer drive units, inductive position sensors. Sensorless observers estimate θ from back-EMF above a few percent of rated speed and use high-frequency injection near standstill, where there is no back-EMF to measure.

Switching frequency and SiC

Every transition costs switching energy, so switching loss rises in proportion to frequency, while a higher frequency means less current ripple and less audible whine. Silicon IGBTs usually stop at 8-10 kHz, inside the audible band, because their tail current makes each turn-off expensive. SiC MOSFETs have no tail and almost no reverse recovery, so they can run 16-20 kHz or more at lower total loss; Tesla's Model 3 inverter made them mainstream. The catch is edge speed of 20-50 V/ns, which stresses winding insulation, drives bearing currents and makes EMI harder.

Protection

An inverter must protect itself faster than software can: hardware overcurrent comparators on the phase currents, desaturation detection that turns a shorted switch off within about 2 µs (SiC survives a short for only 2-3 µs, an IGBT about 10 µs), DC-link overvoltage protection for regen with open contactors, and temperature derating from module thermistors and junction-temperature models. For a PM motor the safe state at speed is an active short circuit, all three low-side switches on, so back-EMF cannot pump current into the pack.

Field-oriented control block diagram: torque request, current references, PI controllers, inverse Park, SVPWM, inverter, motor, current sensors, Clarke, Park and resolver feedbackTorque requestfrom the VCUCurrent refsIq* = T*/KtId* = 0, MTPAor field weakeningId*Iq*ΣΣPIPIVd*Vq*Inverse Parkdq → αβVα, VβSVPWM3 duty cyclesInvertergate drivers6 switchesMVdcResolverθ, rotor electrical angleia, ibClarkeabc → αβiα, iβParkαβ → dqIqId−−
Field-oriented control. Measured currents are transformed into the rotor's d-q frame, regulated as DC values by two PI controllers, and turned back into three PWM duty cycles. The rotor angle θ feeds both Park transforms.

Interactive: from carrier to current

Six switches making three sine waves

A triangular carrier is compared with each phase's sine reference; the leg is high whenever its reference is above the carrier. The motor sees the average of the pulses. The zoom below shows the dead time between one switch turning off and the other turning on.

Three-phase inverter: switch states, PWM carrier and references, motor phase voltage and a zoom on dead timeSwitch states at the cursorDC+DC−400 VS1ONS4offA+S3ONS6offB+S5ONS2offC+Green: switch on.Amber diode: carries the current in dead time.Carrier (grey) vs phase references+1−1Phase A voltage at the motor: pulses and their average+200 V−200 VLeg A over one carrier period (shaded above). Dead time 1 µs = 1.0% of the period.carrierS1 gateS4 gateboth off: dead time
Fundamental, phase peak
154 V
Line-to-line RMS
189 V
Linear range
m ≤ 1.00 (200 V)
Dead-time voltage error
4.0 V per leg

Linear: the average follows the dashed command, 160 V peak, minus the small dead-time loss.

Modulation
Carrier frequency / fundamental
DC link 400 V. A real drive runs its carrier 50-200 times faster than the fundamental (for example 10 kHz against 100 Hz); 9-27× keeps the pulses visible. The motor current lags the voltage by 30°, which decides which diode carries the current during dead time.

The d-q frame: two DC numbers, three AC currents

The d axis is locked to the rotor magnet and spins with it. Set Id and Iq, which stay constant in the rotating frame, and watch the inverse Park and Clarke transforms turn them into three sinusoidal phase currents.

Rotating d-q axes with the current vector, and the resulting three phase currentsabcNSdqPhase currents over two electrical cycles600 A300 A0 A−300 A−600 Aia 0 A ib 260 A ic -260 AAmplitude 300 A, shifted 0° from the pure-Iq position
Phase current amplitude
300 A peak
Current angle from d
90°
Torque
121.5 N·m
d-axis flux linkage
0.090 Wb

Surface PM: all current is torque current. This is the most torque per amp.

Rotor
Illustrative motor: 3 pole pairs, magnet flux linkage 0.09 Wb, Ld = Lq = 0.3 mH (surface PM) or Ld = 0.2 mH, Lq = 0.4 mH (interior PM). Currents are peak values. Each phase current is the projection of the current vector onto that phase's axis.

In practice

Practice

Why 10 kHz whines, and what 1 µs of dead time costs

A 400 V IGBT inverter switches at 10 kHz with 1 µs of dead time. Near standstill the motor needs only about 5 V per phase (its resistive drop plus a little back-EMF); at 12,000 rpm it needs about 200 V.

  1. Why can passengers hear this inverter, and what changes at 20 kHz?
  2. What fraction of each switching period does the dead time take, and how large is the average voltage error?
  3. How big is that error compared with what the motor needs at standstill and at 12,000 rpm?
  4. What happens to the error at 20 kHz with the same 1 µs, and with a SiC dead time of 0.25 µs?
text
1) Human hearing: about 20 Hz to 20 kHz (many adults stop near 15-17 kHz).
   PWM ripple current at 10 kHz (sidebands at 10 kHz ± 2·f1) shakes the stator
   laminations through magnetostriction and magnetic forces -> an audible whine.
   At 20 kHz the main components move to 20 kHz and above: inaudible for most people.

2) Ts = 1 / 10 kHz = 100 µs
   td / Ts = 1 µs / 100 µs = 1%
   error = 1% × 400 V = 4 V per leg, sign set by the current direction

3) standstill:  4 V / 5 V   ≈ 80% of the needed voltage -> distorted current, torque ripple
   12,000 rpm:   4 V / 200 V = 2%                        -> negligible

4) 20 kHz, 1 µs:     td / Ts = 1 / 50    = 2%   -> 8 V
   20 kHz, 0.25 µs:  td / Ts = 0.25 / 50 = 0.5% -> 2 V

Answer: 10 kHz sits well inside the audible band, so the switching ripple is heard as a whine; moving to about 20 kHz pushes it out of most people's hearing, which IGBT switching losses make expensive and SiC makes affordable. The 1 µs dead time takes 1% of each 100 µs period, a 4 V average error per leg. That is 2% of the voltage at 12,000 rpm but about 80% of what the motor needs at standstill, which is why low-speed current distortion and dead-time compensation matter. Doubling the frequency doubles the error to 8 V unless the dead time shrinks too, which SiC allows: 0.25 µs at 20 kHz costs only 2 V.

Real-world scenario

Real-world scenario

Inverter trips on overcurrent, but only at launch

A prototype rear-drive EV passes its highway testing, but on full-throttle launches from standstill the inverter trips with a phase-overcurrent fault about one launch in three, and the car coasts to a stop. The controller measures phases A and B with open-loop Hall-effect sensors and computes C as −(A + B). A third sensor on phase C feeds only a fast hardware comparator set to 650 A. The inverter's current limit is 620 A peak, and the 400 V pack can deliver at most 150 kW.

Symptoms

  • Trips happen only in the first second of a hard launch, below about 10 km/h, and never at highway speed, even at the full 150 kW.
  • Logged Id and Iq track their references cleanly right up to the trip.
  • At crawl speed the car shudders once per electrical revolution.
  • With the motor at standstill and zero torque commanded, the A and B readings sit at zero while the phase-C sensor reads about 40 A, so the three readings no longer sum to zero.

Interview questions

screenHow does a three-phase inverter make a sine wave from a DC bus?
Each phase has a half-bridge, two switches in series across the DC link, so the phase output can only be tied to the positive or the negative rail. PWM switches it between them thousands of times a second, typically 8-20 kHz, and varies the fraction of time spent high so the average over each switching period follows a sine. In sine-triangle PWM the controller compares a sinusoidal reference with a triangular carrier, and the leg is high whenever the reference is above the carrier. The motor's inductance filters the pulses, so the current is a smooth sine with a small ripple at the switching frequency.
screenWhat is dead time, and what does it cost?
Dead time is a short gap, about 0.1-0.5 µs for SiC and 1-2 µs for IGBTs, when both switches of a leg are off, so one switch is fully off before the other turns on and the DC link is never shorted. During the gap the load current keeps flowing through a diode, so the output voltage is set by the current direction instead of the command. The average error is td × fsw × Vdc: 1 µs at 10 kHz on a 400 V bus is 1%, or 4 V. Because the error flips sign with the current, it distorts the current near every zero crossing and matters most at low speed, where the commanded voltage is small, so controllers compensate for it.
deepWalk me through field-oriented control from the current sensors to the gate signals.
Two or three phase currents are sampled in the middle of the PWM period, and the Clarke transform turns them into two stationary components, α and β. The Park transform rotates those by the rotor's electrical angle, from a resolver or an observer, into the d-q frame, where steady sinusoids become DC values: Id along the magnet flux and Iq at 90° to it, which makes torque. Two PI controllers drive Id and Iq to their references, with Iq from the torque request and Id from zero, an MTPA table or field weakening, and their outputs are d-q voltage commands. The inverse Park transform rotates those voltages back to α-β, space-vector PWM turns the vector into three duty cycles using the measured DC-link voltage, and the gate drivers switch the six devices. The loop runs at the PWM rate, 10-20 kHz, with a current bandwidth around 1 kHz.
deepWhy does SiC allow a higher switching frequency, and what new problems does it create?
SiC MOSFETs are majority-carrier devices with no IGBT tail current and very little reverse-recovery charge, so their energy per switching event is several times lower. That lets them run at 20 kHz or more with less loss than a silicon IGBT at 10 kHz, giving a quieter, smoother current or simply higher efficiency at the same frequency. The cost is edge speed: 20-50 V/ns stresses the motor's winding insulation, drives common-mode current through the bearings and makes EMI harder to contain. Gate drivers need common-mode transient immunity above 100 kV/µs, a tight low-inductance layout and fast short-circuit protection, because a SiC die survives a short for only about 2-3 µs against roughly 10 µs for an IGBT.
screenWhat protections does a traction inverter need?
Hardware overcurrent comparators on the phase currents shut the gates within microseconds, without waiting for software. Desaturation detection in each gate driver catches shoot-through and short circuits by watching the switch's on-state voltage, then turns it off softly to limit overshoot. DC-link overvoltage protection covers regen when the contactors open, and module thermistors plus a junction-temperature model derate current before the devices overheat. For PM motors the drive also needs a safe state at high speed, usually an active short circuit with all three low-side switches on, so back-EMF cannot pump uncontrolled current into the bus.

Quiz

1. With sine-triangle PWM at m = 1 on a 400 V bus, the peak of the phase-to-neutral fundamental is
2. In its linear range, how much more fundamental voltage does space-vector PWM get from the same bus than sine-triangle PWM?
3. What is dead time for?
4. At 10 kHz switching, 1 µs of dead time takes about what fraction of each switching period?
5. Which signal does the Park transform need that the Clarke transform does not?
6. In FOC of a surface PM motor below base speed, the usual d-axis current reference is
7. What does desaturation detection in a gate driver catch?

References and further reading

Where the ideas in this lesson come from, and what to read next. Books are the standard texts; papers are the original sources; standards are what employers work to.

  1. Book

    Ned Mohan, Tore M. Undeland and William P. Robbins (2003). Power Electronics: Converters, Applications, and Design. Wiley, 3rd edition.

    Read: The PWM inverter chapter.

  2. Paper

    Felix Blaschke (1972). The Principle of Field Orientation as Applied to the New Transvector Closed-Loop Control System for Rotating-Field Machines. Siemens Review 34, 217-220.

    Read: Field orientation, in the original.

  3. Book

    R. Krishnan (2010). Permanent Magnet Synchronous and Brushless DC Motor Drives. CRC Press.

    Read: Field-oriented control in depth.

  4. Book

    B. Jayant Baliga (2008). Fundamentals of Power Semiconductor Devices. Springer.

    Read: Why SiC switches allow higher frequency.