
NXP Semiconductors PMSMLPC55S36EVK
MCUXpresso SDK Field-Oriented Control (FOC) of 3-Phase PMSM and BLDC Motors
1 Introduction
SDK motor control example user guide describes the implementation of the motor-control software for 3-phase
Permanent Magnet Synchronous Motors (PMSM) using following NXP platforms:
•LPCXpresso55S36 (LPCXpresso55S36)
•Freedom Development Platform for Low-Voltage, 3-Phase PMSM Motor Control (FRDM-MC-LVPMSM)
The document is divided into several parts. Hardware setup, processor features, and peripheral settings are
described at the beginning of the document. The next part contains the PMSM project description and motor
control peripheral initialization. The last part describes user interface and additional example features.
Available motor control examples types with supported motors, and possible control methods are listed in
Table 1.
Possible control methods in SDK example
Example type Supported motor Scalar and
Voltage
Current FOC
(Torque)
Sensorless
Speed FOC
Sensored
Speed FOC
Sensored
Position FOC
Linix 45ZWN24-
40 (default motor) ✓ ✓ ✓ N/A N/A
pmsm_enc Teknic M-2310P
(with ENC) ✓ ✓ ✓ ✓ ✓
Linix 45ZWN24-
40 (default motor) ✓ ✓ ✓ N/A N/A
pmsm_enc_iopamp Teknic M-2310P
(with ENC) ✓ ✓ ✓ ✓ ✓
Linix 45ZWN24-
40 - motor M2 ✓ ✓ ✓ N/A N/A
pmsm_enc_dual Teknic M-2310P
(with ENC)
- motor M1
✓✓ ✓ ✓ ✓
Linix 45ZWN24-
40 - motor M2 N/A N/A N/A N/A N/A
pmsm_periph_
framework Teknic M-2310P
(with ENC)
- motor M1
N/A N/A N/A N/A N/A
Table 1. Available example type, supported motors and control methods
SDK motor control example description:
• pmsm_enc - pmsm example uses float arithmetic, the example contains sensored and also sensorless field
oriented vector control (FOC). This example can be used for sensor and sensorless motor control application
both. Default motor configuration is tuned for the Linix 45ZWN24-40 motor.
• pmsm_enc_iopamp - pmsm example uses float arithmetic, the example contains sensored and also
sensorless field oriented vector control (FOC). This example can be used for sensor and sensorless motor
control application both. Default motor configuration is tuned for the Linix 45ZWN24-40 motor. Application
use internal operational amplifier (IOPAMP) on the development board. FRDM-MC-LVPMSM board must
be modified to properly application functionality (see Figure 7). The current scale depends on the setting
IOPAMPs.
• pmsm_enc_dual - pmsm example uses float arithmetic, the example contains sensored and also sensorless
field oriented vector control (FOC). This example can be used for sensor and sensorless dual motor control
application both. Default motor configuration is tuned for the Linix 45ZWN24-40 motor.
PMSMLPC55S36EVK All information provided in this document is subject to legal disclaimers. © 2023 NXP B.V. All rights reserved.
User guide Rev. 2 — 31 July 2023
2 / 65