This manual describes the X-CUBE-MCSDK and X-CUBE-MCSDK-FUL STM32 motor control software development kits
(SDKs) designed for, and to be used with, STM32 microcontrollers. The SDKs contain a software library that implements the
field oriented control (FOC) drive of 3-phase permanent magnet synchronous motors (PMSMs), both surface mounted (SMPMSM)
and interior (I-PMSM).
The STM32 family of 32-bit Flash microcontrollers is specifically developed for embedded applications. It is based on the
following ARM® Cortex®-M cores: the Cortex®-M0 for the STM32F0, the Cortex®-M3 for the STM32F1 and STM32F2, and the
Cortex®-M4 for the STM32F3, STM32F4 and STM32L4, and the Cortex®-M7 for the STM32F7. These microcontrollers combine
high performance with first-class peripherals that make them suitable for performing three-phase motor FOC.
The PMSM FOC library can be used to quickly evaluate ST microcontrollers, to complete ST application platforms, and to save
time when developing motor control algorithms to be run on ST microcontrollers. It is written in the C language, and implements
the core motor control algorithms, as well as sensor reading/decoding algorithms and sensor-less algorithms for rotor position
reconstruction. This library can be easily configured to make use of the STM32F30x's embedded advanced analog peripherals
(fast comparators and programmable gain amplifiers (PGAs)) for current sensing and protection, thus simplifying application
boards. When deployed with the STM32F103 (Flash memory from 256 Kbytes to 1Mbyte), STM32F303 or STM32F4 devices,
the library allows two motors to be driven simultaneously.
The library can be customized to suit user application parameters (motor, sensors, power stage, control stage, pin-out
assignment) and provides a ready-to-use application programming interface (API). A PC graphical user interface (GUI), the ST
motor control workbench, allows complete and easy customization of the PMSM FOC library. Thanks to this, the user can run a
PMSM motor in a very short time.
A set of ready-to-use examples is provided to explain the use of the motor control API and its most commonly used features.
These projects usually provide a UART interface that allows convenient real-time fine-tuning of the motor control subsystem with
a remote control tool, the STM32 motor control monitor.
The STM32 motor control SDK is delivered as an expansion pack for the STM32 CubeMX tool, and the PMSM FOC library is
based on the STM32 Cube Firmware libraries.
The list of supported STM32 microcontrollers is provided in the release note delivered with the SDK.
1