Back to blog

Field oriented control explained for motor drive engineers

Power Electronics

09 / 26 / 2026

Field oriented control explained for motor drive engineers

Key Takeaways

  • Field oriented control succeeds or fails on rotor angle accuracy and measured machine parameters rather than on the mathematics of the reference frame rotations.
  • Current loop gains follow directly from stator inductance and resistance, so tuning starts as a calculation and the bench test only confirms it.
  • Validating a control loop against a machine model that steps faster than the inverter switches is what separates a working drive from a demonstration.

Field oriented control gives you independent command of torque and magnetizing flux inside an AC machine, which is why it stays the default choice for precision PMSM drives.

Three coupled sinusoids become two steady quantities the moment you view stator current from the rotor. Electric motor systems already account for 53% of global electricity consumption, so the quality of that view carries well past one test bench. Current spent on the wrong axis produces heat instead of work.

Most FOC problems aren’t mathematical. The Clarke and Park equations settled decades ago. What breaks drives is everything around them, meaning rotor angle error, parameters that drift with winding temperature, loops tuned against a plant nobody measured, and inverter effects that surface only at switching rates. Fixing that takes a machine model you trust at the timestep the inverter runs.

Field oriented control turns AC currents into two controllable axes

Field oriented control regulates stator current as two orthogonal components in a frame that spins with the rotor. The q-axis component makes torque. The d-axis component sets magnetizing flux. Hold d-axis current at zero on a surface-mount PMSM and you get maximum torque per ampere from the current you’re already supplying.

Put a 15 kW servo axis under scalar volts-per-hertz control and a fast speed reversal overshoots, because current amplitude and phase settle in response to the load rather than a command. The same axis under FOC holds q-axis current on its reference throughout, so shaft torque follows the command inside the loop bandwidth.

What you pay for that behaviour is real. FOC needs rotor position every control cycle, two calibrated current sensors, and headroom to run the full chain inside one PWM period. A constant-speed pump never earns that back, and anything with a servo requirement does.

How Clarke and Park transforms move between reference frames

The Clarke transformation collapses three phase currents into two stationary orthogonal components called alpha and beta. The Park transformation rotates that pair by the electrical rotor angle into the d and q axes travelling with the magnet flux. Two moving sinusoids become two direct quantities a PI regulator holds at a setpoint.

The reverse chain runs on the way out. Your regulators produce d-axis and q-axis voltage references, an inverse Park rotation returns them to the stationary frame, and space vector modulation builds the switching pattern the inverter gates follow. Most implementations sample two phase currents and compute the third.

Implementation detail decides how well this holds up. The angle fed into the Park rotation has to match the instant the currents were sampled, so any delay before the PWM update becomes a rotation error that grows with speed. At 10 kHz switching and 8000 rpm on a four-pole-pair machine, one cycle of delay is worth roughly 19 electrical degrees. That’s why mid-cycle angle prediction exists.

Rotor angle accuracy sets the ceiling on torque control

Every field oriented quantity rests on one number, the electrical rotor angle. An error of a few electrical degrees rotates the current vector off the axis you intended, so part of your commanded q-axis current lands on the d-axis. Torque per ampere drops, losses climb, and nothing in the drive reports a fault.

A 6 degree alignment offset costs about 0.5% of torque per ampere, harmless until that same offset pushes stray d-axis current into magnets already running hot. Angle comes from a handful of sources, each failing in its own way.

  • Incremental encoders give fine resolution and need an alignment routine before the drive commutates correctly.
  • Resolvers survive heat and vibration, at the cost of demodulation delay that reads as angle lag.
  • Hall sensors resolve position to 60 electrical degrees, so low-speed torque ripple is unavoidable without interpolation.
  • Back-EMF observers add no hardware and stop working below roughly 5% of rated speed.
  • High-frequency injection recovers angle at standstill on salient machines and puts audible noise into the design.

Sensor choice locks in the low-speed behaviour of the finished drive long before anyone writes a control loop. A traction inverter holding rated torque at zero speed can’t run on back-EMF estimation alone, and a fan drive doesn’t justify a resolver. Deciding this late is expensive, because the control code and calibration procedure follow from it.

“Torque per ampere drops, losses climb, and nothing in the drive reports a fault.”

Tuning the current and speed loops without guessing bandwidth

Tuning the current and speed loops without guessing bandwidth

Current loop gains come out of machine parameters rather than trial and error. Set proportional gain as stator inductance multiplied by target bandwidth in radians per second, set integral gain to cancel the electrical pole at resistance over inductance, then place the speed loop five to ten times slower.

Work an example. A machine with 0.8 mH of q-axis inductance and 25 milliohms of stator resistance has a pole near 31 radians per second. Running 10 kHz PWM puts a practical current loop bandwidth close to 1 kHz, which lands proportional gain around 5 volts per ampere. Your first bench test becomes a check rather than a search.

Cascade separation keeps this stable once saturation arrives. When the inverter runs out of voltage the current regulator saturates, and an outer speed loop with no anti-windup keeps integrating against a plant that can’t respond. Clamping the integrator and back-calculating from the applied voltage removes overshoot complaints usually blamed on the machine.

Field weakening extends the speed range and exposes parameter error

Past base speed the back-EMF of a PMSM approaches the voltage the inverter can supply, and torque collapses unless you inject negative d-axis current to oppose magnet flux. Field weakening buys speed range, and it charges in copper loss and a hard dependence on parameter accuracy.

Traction drives make this routine rather than exotic. Global electric car sales passed 17 million in 2024, and almost all use a permanent magnet machine that spends highway kilometres above base speed. Set flux linkage 5% wrong and the weakening point moves, the voltage margin shrinks, and the regulator loses current control near top speed.

Parameter error rarely announces itself in a fault log. It surfaces as a drive measuring 2% below its efficiency target while every reading looks plausible.

What is set wrong What actually happens Where you notice it first
Stator resistance set too low The regulator under-predicts voltage drop and leaves a standing error Sluggish torque with warm windings
One inductance value used for both axes Loop gain is right at one operating point and wrong elsewhere Ripple growing with torque under load
Flux linkage taken from the datasheet Torque per ampere is off and weakening starts too early Torque fading as the magnets heat
Encoder offset left at the factory value Commanded q-axis current partly lands on the d-axis and becomes heat Efficiency below prediction with normal readings
Dead time left uncompensated Applied voltage falls short near each current zero crossing Audible sixth harmonic ripple at light load

Simulating FOC at the timestep an inverter actually needs

Offline simulation confirms the control algebra. It doesn’t confirm what your code does on a physical controller against a machine reacting in microseconds. A 10 kHz PWM stage needs a plant model stepping well under a microsecond before switching harmonics and current ripple appear at all.

Model execution on FPGA hardware closes that gap. A controller board wired into an OPAL-RT simulator runs its current loop against a machine model from the FPGA Electric Machine Library, stepping in the hundreds of nanoseconds inside the RT-LAB workflow, so the waveform on screen matches the bench.

Teaching labs take the larger share of the value here. A student tuning a current loop against a live model watches the step response move while turning a gain, which builds intuition a batch-run plot never will. Research groups keep the same bench, so a course model becomes the plant a thesis project inherits.

“A 10 kHz PWM stage needs a plant model stepping well under a microsecond before switching harmonics and current ripple appear at all.”

What separates a working FOC drive from a demonstration

A demonstration proves the transforms are wired correctly. A working drive holds torque accuracy across temperature, speed and supply voltage, which takes measured parameters, an angle you trust, loops tuned against a modelled plant, and a validation path faster than the inverter it tests. There’s no shortcut hiding in the equations.

Teams that get there are the least dramatic ones. They measure inductance instead of copying it, they run the alignment routine on every build, and they treat the machine model as engineering that earns its own review. The payoff is a drive that meets its efficiency number on the first attempt.

Graduate power electronics courses have started teaching the loop this way, with an OPAL-RT bench standing in for the machine, so the model a student tunes in a lab session is the plant a research group later runs against controller code. Engineers who learn FOC against a model behaving like hardware stop treating simulation as separate from validation. That habit shows up years later in drives that work.