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.

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 (PWM) modulation 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 control as part of servo control in the TMC4670, which is a hardware-based solution, and in the software-based TMCC160 motionCookie™.

Products for Field-Oriented Control


TMCC160 motionCookie™

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.

TRINAMIC TMCC160-LC motionCookie™ Servo Controller