Making Field-Oriented Control of motors simple

Making Field-Oriented Control of motors simple

The move from mechanical to electronically controlled commutation of motors, coupled with new battery technologies, has opened up a wide range of new applications. Microcontrollers are often the best choice for implementing the motor control since their features are also required to implement other features of the end application. This is made especially challenging when considering the hard-real-time demands of electronically commutating a motor.

Many processing solutions leverage either a digital signal processing (DSP) architecture, or utilize some sort of DSP instruction set extensions or co-processor, in order to efficiently implement the necessary control algorithms. Despite this processing power, the demands of motor control and its need for determinism make it difficult to schedule other tasks effectively.

The reason for turning to DSPs for motor control lies with the type of mathematics employed in the algorithms of sinusoidal commutation. Typically, a Field-Oriented Control (FOC) algorithm controls a variable frequency sinusoid that aims to keep the rotor and stator magnetic fields of the motor at 90 degrees under all conditions. Two parameters, field flux linkage and torque, need to be derived and controlled optimally to achieve this.

In a sensorless implementation the process starts with measurement of the current in the three windings of the motor. These are then converted into two-phase currents using a Clarke transform. The rotating coordinates, representing the field flux linkage and torque, are derived with a Park transform. The resulting values can be compared with target values and a compensating error signal, typically provided by a proportional-integral (PI) controller. The three drive currents for the motor are then calculated by reversing the transforms performed previously.

Recognizing the complexity involved in a software implementation of such mathematics, devices such as the TXZ family of Arm® Cortex® based MCUs have integrated it into a hardware peripheral known as a Vector Engine (VE). The latest iteration of this peripheral not only implements the Park-Clarke transformations required for motor control but is also tightly coupled with the other on-chip peripheral needed for accurate motor control. This includes the pulse-width-modulation (PWM) timers and the analog-to-digital converter (ADC). Such tight integration simplifies configuration, ensures accuracy and efficiency in control, and leaves the processing core with much more time to execute other application functions.

To find out more about how these microcontrollers can be used to develop energy efficient motor control, take a look at our latest whitepaper:

A new window will open