Field Oriented Control

Field oriented control (FOC) is a powerful control strategy to control torque of 3-phase AC machines and stepper motors with high accuracy and bandwidth. It can be implemented in either hardware or software.

Permanent magnet synchronous motors like BLDC (3-phase) or stepper motors (2-phase) are used in various applications and can be controlled in different ways. Field oriented control (FOC) is one way to do so. It uses current control to control the torque of 3-phase motors and stepper motors with high accuracy and bandwidth. FOC can be implemented in either hardware or software.

But you can’t simply control the amount of current needed to generate a certain torque, as there’s also the phase to the magnetic field of the magnets in the rotor. Applying current in phase to the magnetic field does not generate torque, but orthogonal applied current does. FOC is simply a way of dealing with this issue and it is therefore in need for actual current and rotor position information.

The field oriented control structure is based on two simple mathematical transformations – Clarke and Park – of the actual phase currents, transforming the actual phase currents from stator-fixed to field-synchronous coordinate systems. The resulting coordinate system has only two dimensions. The first component is in phase with the motor’s current flux (d-axis). The second is orthogonal to the flux and proportional to the motor’s torque (q-axis). These two dimensions are orthogonal components that can be visualized as a vector, which is why FOC is also known as vector control.

FOC motor control


With FOC, two PI current controllers can be used to control both components of the motor current vector separately. The transformations are based on the actual rotor angle, which has to be acquired by position sensors like Hall sensors or encoders. One current controller is used to control the motor’s torque and is thereby called torque controller, the other one is controlling the magnetic flux inside the motor. This magnetic flux is mainly generated by the rotor, which is why its target value is usually zero.

Servo control adds a speed- and a position controller to this control structure to make it fully functional for positioning applications. All controllers require proper feedback to work at high dynamics and to compensate for unknown load forces. For the current controllers, this means that the coil currents need to be measured. Position can be measured with encoders or roughly with Hall sensors. As velocity sensors are not common, the velocity of the motor is often computed by differentiation of the position signal.

The power stage of the drive is used to convert electrical power from the power supply to generate the required motor currents. It basically consists of switches such as MOSFETs, which are actuated by gate drivers. Pulse width modulated gate signals allow the power stage to display certain voltages – which is why the servo controller needs a pulse width modulation (PWM) block. It allows the servo controller to transform voltage needs from the current controller into actual voltage requests at the power stage.

The so-called space vector modulation is often used to generate enhanced PWM signals. It also enables a higher voltage utilization when compared to normal modulation, while keeping the cost basically the same in the usual applications.

FOC, or vector control was first developed in the 1970s in Germany. The control structure gained currency with the development and spreading of microprocessors in industrial applications and became a standard technology during the 1990s. Actual research points in the direction of sensor reduction and enhancement of dynamics.

TRINAMIC offers field-oriented motor control as part of servo control in the TMC4670, which is a hardware-based FOC motor controller, and in the software-based TMCC160 motionCookie™.

Products for Field Oriented Control

The TMCC160 MotionCookie™ is an integrated microsystem with a powerful 3-phase servo gate driver for up to 24V and 1A gate current with a complete servocontroller software stack in a small 12mm x 17mm package. The integrated gate driver powers a wide range of N-channel power switches for 24V PMSM and BLDC motors.

With a field-oriented current control with space vector PWM: velocity control loop, and position control loop and ramp controllers, the software builds a complete servo controller stack. TMCC160 uses a/b/n incremental (quadrature) encoders or Hall signals for position feedback.

MotionCookie™ microsystems are designed to minimize time-to-market and total cost of ownership.

Besides the MotionCookie™, Trinamic also offer the TMC4671. This fully integrated servo controller with field oriented control can be used for BLDC/PMSM motors, 2-phase stepper motors, DC motors and voice coils.

As all control functions are implemented in hardware, embedding all necessary control loops in rugged, reliable state machines, you have a free choice of processor. Integrated ADCs, position sensor interfaces, and position interpolators enable a fully functional servo controller for a wide range of servo applications such as robotics, pick and place machines, factory automation, e-mobility, lab automation, and blowers.