1 Field Oriented Control of PMSM
Field oriented control (FOC) represents a method by which one of the fluxes (rotor, stator, or air-gap) is considered as a reference frame for all other quantities with the purpose of decoupling the torque and flux producing components of the stator current. This decoupling assures the ease of control for complex three-phase motors in the same manner as DC motors with separate excitation. This means the armature current is responsible for the torque generation, and the excitation current is responsible for the flux generation. In this document, the rotor flux is considered as a reference frame.
The air-gap flux for PMSM is smooth and the Back Electromotive Force (BEMF) is sinusoidal. The proposed control scheme is developed for surface-mounted permanent magnet synchronous motors. The surface mounted motor is shown in the following figure, which has the advantage of low-torque ripple and cheaper when compared with an interior PMSM.

The particularity of the FOC in the Surface Mounted Permanent Magnet type PMSM (SPM) is that the d-axis current reference of the stator, idref (corresponding to the armature reaction flux) is set to zero. The magnets in the rotor produce the rotor flux linkages, ψm, unlike AC Induction Motor (ACIM), which needs a positive idref to generate the magnetizing current, thereby producing the rotor flux linkages.
The air-gap flux is the sum of stator and rotor flux linkages. In PMSM, rotor flux linkages are generated by the permanent magnets and the stator flux linkages (armature reaction flux linkages) are generated by the stator current. Below the rated speed in FOC, stator flux linkages are not generated, as the 'id' is set to zero and therefore the air-gap flux is solely equal to ψm. Above the rated speed, the 'id' is set to a negative value, the stator flux linkages oppose ψm, thereby weakening air-gap flux.
FOC can be implemented using a speed sensor or speed sensorless approach. For high precision control applications, sensored control is preferred. In sensored FOC implementation, rotor position and mechanical speed are determined using an encoder or resolver. This Application Note describes the encoder-based implementation in this document.