Field Oriented Control (FOC) Explained

Introduction

A six-step or trapezoidal drive switches an AC motor in coarse steps, so the torque ripples, the motor hums, and it runs hotter than it should. Field Oriented Control (FOC) removes most of that.
Field Oriented Control is a vector-control method that splits the stator current into a torque-producing part, Iq, and a flux part, Id. With that split, an AC motor can be controlled as smoothly and precisely as a DC motor.

What Is Field Oriented Control?

FOC, also called vector control, treats the motor current as a vector with both magnitude and direction, not just magnitude. It aligns the control frame with the rotor’s magnetic field, which is why it is called “field oriented”. Once the frame is aligned, only two knobs remain: how much torque to make, and how much field to apply.
A brushed DC motor already separates torque and field by mechanics, through its commutator. A brushless or AC motor has no commutator, so FOC does the same job in software. That is why a well-tuned FOC drive behaves like a DC motor, with none of the brush wear.

Field Oriented Control (FOC) Explained 1

Why FOC Matters (vs Six-Step / Scalar Control)

The control method decides how smooth, efficient, and precise the motor is.

Field Oriented Control (FOC) Explained 2
Six-step / trapezoidal
Scalar (V/f)
FOC (vector)
Torque ripple
High
Medium
Low
Low-speed control
Poor
Limited
Excellent
Efficiency
Lower
Medium
Higher
Complexity
Low
Low
Higher

Smooth Torque and Low Noise

Because FOC shapes the current as a smooth rotating vector, torque stays nearly constant through each electrical cycle. That generally means less vibration, lower acoustic noise, and gentler mechanics.

Efficiency and Heat

FOC puts current where it makes torque and keeps the field current near zero at normal speed. Less wasted current means less heat in the windings, and usually higher efficiency, especially at partial load.

Precise Speed and Position Control

With clean torque control underneath, the speed and position loops behave well, even near zero speed. This is what makes FOC the default for servos and robotics. If you are new to control loops, see closed loop vs open loop.

How FOC Works: The Two Transforms

FOC reaches its two simple knobs through two coordinate transforms.

Clarke Transform (abc → αβ)

The Clarke transform takes the three phase currents and represents them as two currents on a fixed two-axis frame, called α and β. Three numbers become two, with no loss of information for a balanced motor.

Park Transform (αβ → d-q)

The Park transform rotates that two-axis frame so it spins with the rotor. The result is the d-q frame, where the currents look steady instead of sinusoidal. Steady values matter, because a simple PI controller holds a constant target far more easily than it tracks a fast sine wave. The Park transform needs the rotor angle, which comes from an encoder, from hall sensors, or from a sensorless estimator. SOLO can run FOC without a position sensor using sensorless estimation.

The d-q Frame: Id and Iq

In the d-q frame the current splits into two parts you can control on their own.

Iq: the Torque-Producing Current

Iq sets the torque. For most motors, torque is close to Iq times the torque constant Kt, so controlling Iq controls torque directly. This clean link is the main reason FOC feels like controlling a DC motor.

Id: the Field/Flux Current

Id sets the magnetizing field. At normal speed you hold Id near zero, because field current makes heat but not torque. Above base speed you can drive Id negative to weaken the field and reach higher speed, a technique called field weakening. See field weakening for the trade-off with available torque.

The FOC Control Loop (Big Picture)

A full FOC loop runs every PWM cycle. It measures the phase currents, runs the Clarke and Park transforms, then compares Id and Iq to their targets. Two PI controllers correct the error. An inverse Park transform and space vector PWM then drive the inverter. For accurate torque control across the range, see our overview of torque control.

Field Oriented Control (FOC) Explained 3

How SOLO Implements FOC

SOLO controllers run FOC out of the box for DC, BLDC, PMSM, and AC induction motors, sensored or sensorless, with automatic motor identification to set the loops up for you. You can try it on any of our motor controllers.

Field Oriented Control (FOC) Explained 4

Conclusion

Field Oriented Control turns a noisy, stepped AC drive into smooth, efficient torque by controlling current as a vector in the rotor frame. The Clarke and Park transforms reduce three phase currents to two steady values, Iq and Id, so torque and field become separate knobs. That separation is why FOC delivers low ripple, good efficiency, and precise control at any speed. To put it into practice, a controller that runs FOC natively, like a SOLO motor controller, is the fastest way to start.

FAQ

What is the difference between FOC and six-step (trapezoidal) control?

Six-step control energizes the phases in coarse steps, which creates torque ripple and noise. FOC controls the current as a smooth rotating vector, so torque stays nearly constant. FOC needs more computation, but it gives smoother, quieter, and more efficient operation.

Does FOC require a position sensor?

No. FOC needs the rotor angle, but that angle can come from an encoder, from hall sensors, or from a sensorless estimator that derives it from the motor’s electrical signals. Sensorless FOC is common at medium and high speed.

What motors can use Field Oriented Control?

FOC works on synchronous and asynchronous AC motors, including BLDC, PMSM, and AC induction motors, and the same math covers DC as a simple case. Motors with magnetic saliency can even gain extra torque, see saliency ratio.

What are Id and Iq in FOC?

Id is the flux or field current, held near zero at normal speed. Iq is the torque-producing current. Splitting the stator current into Id and Iq is what lets FOC control torque and field on their own.

Share This

Share This

Share this post with your friends!