Field Oriented Control (FOC)
Benefits
Lower speed and torque ripple
Smoother operation
Operation at higher speeds through field weakening
These benefits come at the cost of implementing a more complex control algorithm than the 6-step commutation.
We know that when the rotor and stator field are aligned perfectly, no torque is produced. However, as the angle between them increases, we start generating torque. When the rotor and stator fields are perpendicular, we get maximum torque. The goal is to keep them perpendicular at all times.
FOC Algorithm
Measure rotor angular position
Compute the desired stator field vector based on measured rotor angular position
Control 3-phase currents to achieve the desired stator field vector
The magenta vector shows the vector space representation of the stator magnetic field. The grey vector is our reference that points to the same direction as our rotor magnetic field. We want the magenta to lead the reference by 90 degrees. In the image shown below, the magenta vector is 45 degrees ahead of our reference, so it is leading by 45 degrees.
The magenta stator field vector contributes to torque generation, but since it is not perpendicular to the reference rotor field vector, it is producing less torque than it actually could. To align them orthogonally, we can split the magenta vector into its components along the DQ axis (Clarke and Park Transforms to convert the three phase AC signals to DC signals).
After this, we force the D axis component to be zero, while allowing the Q component axis to grow. Once the D axis component diminishes completely, our stator field vector is at exactly 90 degrees with the reference vector.
How are the 3-phase currents changing to keep the stator field orthogonal to the rotor field?
The red, green, and blue vectors represent the phase A,B,C currents. The sum of these currents gives us the stator field current vector. These phase currents are controlled by Space Vector Modulation.
The three phase currents are separated by 120 degrees.
The FOC control loop can be summarized below.
We first measure the three phase currents and then apply Clarke and Park Transformations to convert them to quadrature and direct axis currents.
We then compare these measured currents to the desired reference values.
They are then fed into PI controllers which then output the voltages Vq and Vd. These are represented in the rotating frame.
Vq and Vd are then converted back to three phase voltages to be sent to the motor via Inverse Clarke and Park transforms.