Coming soon |
On this page you will find applications examples, document, tips and tricks,... related to STM32 Motor control.
1. What is STM32 Motor Control Ecosystem?
From hardware tools and embedded software to training resources and documentation, the STM32 Motor Control Ecosystem offers many tools to ease the development of motor control applications. STM32 MCUs are particularly suitable to develop Permanent Magnet Synchronous Motors (PMSM), Brushless DC motors (BLDC) and Stepper motors.
2. Getting started with STM32 and Motor Control
Article where it is explained how to start with STM32 & Motor control feature
All videos related to MC
Getting started with STM32 Motor control SDK5.0
Getting started with the STM32 Motor Control Nucleo Pack (P-Nucleo-IHM001)
Getting starting with P-NUCLEO-IHM03
Product overview: ST-MC-SUITE
4. STM32 compliant with Motor Control application
The STM32 portfolio includes devices based on Arm® Cortex®-M cores (M0, M0+, M3, M33, M4, and M7). Thanks to the MCUs' shared ecosystem, developers benefit from enhanced flexibility to move forward with their motor control design.
Each STM32 series offers a different set of peripherals matching different Motor Control application requirements.
STM32 Series | ARM Core | More CPU frequency | Flash range | Analog integration level | MC timer |
---|---|---|---|---|---|
STM32G0xx | Cortex-M0+ | 64MHz | 16KB-512KB | + | 1x (128MHz) |
STM32F303 | Cortex-M4 (DSP/FPU) | 72MHz | 32KB-512KB | ++++ | 3x (144 MHz) |
STM32F302 | Cortex-M4 (DSP/FPU) | 72 MHz | 32KB-512KB | +++ | 1x (144 MHz) |
STM32F301 | Cortex-M4 (DSP/FPU) | 72 MHz | 16KB-64KB | ++ | 1x (144 MHz) |
STM32G431 | Cortex-M4 (DSP/FPU) | 170MHz | 32KB-128KB] | +++ | 2x (170 MHz) |
STM32G474 | Cortex-M4 (DSP/FPU) | 170 MHz | 32KB-128KB | ++++ | 3x (170 MHz) |
STM32F4xx | Cortex-M4 (DSP/FPU) | 180MHz | 256KB-1024KB | ++ | 2x (180 MHz) |
STM32F7xx | Cortex-M7 | 216 MHz | 64KB-2048KB | ++ | 2x (216 MHz) |
STM32H7xx | Cortex-M7 + M4 (option) | 480 MHz | 128KB-2018KB | ++ | 2x (240 MHz) |
The STM32G4 series combines a 32-bit Arm® Cortex®-M4 core (with FPU and DSP instructions) running at 170 MHz combined with three different hardware accelerators, rich analog peripherals and advanced motor control timers to meet all motor control application requirements. These product series are ideal for Motor Control applications.
The STSPIN32F0 is a System-In-Package providing an integrated solution suitable for driving three-phase BLDC motors using different driving modes. This product series combines an STM32F031 microcontroller with triple half-bridge gate driver able to drive power MOSFETs or IGBTs with a current capability of 600 mA (sink and source) as well as other analog components.
5. STM32 Motor Control specific tools
ST-MC-SUITE is an online solution finder which offers easy access to all STM32 and STM8 MCU resources available for motor control applications, such as application notes, brochures, presentations, and magazine articles. A software wizard is included to help developers select relevant materials, add them to their bundle and download them in one click.
ST Motor Profiler is a software tool that automatically measures the electrical parameters of PMSM and BLDC motors. It can be used to run an unknown motor from scratch in only few minutes. ST Motor Profiler is included in the X-CUBE-MCSDK software development kit for STM32 device.
STM32Cube is a free set of tools and embedded software bricks for STM32 microcontrollers and microprocessors addressing all the needs of a complete project development cycle. It includes the STM32CubeMX configuration tool which enables the generation of C initialization code for Cortex-M cores. Motor Control Workbench (available in the X-CUBE-MCSDK) is linked with STM32CubeMX. Developers can open STM32CubeMX thru Motor Control Workbench during their Motor Control development to change STM32 configuration.
6. STMicroelectronics Resources
Links to ST.com dedicated web page
Here you find all official ST documentation to help on application STM32 Motor control development.
7. MCSDK Feature Set and Examples
The Motor Control Library included in X-CUBE-MCSDK (today available for PMSM/BLDC motors) enables the features listed below. Full Integration/configuration in MC Workbench tools:
STM32 series | F0 | F1 | F3 | F4 | F7 | L4 | G0 | G4 |
---|---|---|---|---|---|---|---|---|
1 shunt | x | x | x | x | x | x | x | x |
3 shunt | x | x | x | x | x | x | x | x |
Hall sensors | x | x | x | x | x | x | x | x |
ICS | x | x | x | x | x | x | x | x |
Flux weakening | x | x | x | x | x | x | x | x |
MTPA | x | x | x | x | x | x | x | x |
Sensorless (PLL/ Cordic) | x | x | x | x | x | x | x | x |
Feed Forward | x | x | x | x | x | x | x | x |
Single FOC | x | x | x | x | x | x | x | x |
Dual FOC | x | x | x | |||||
Position Control | x | x | x | x | x | x | x | x |
List of examples available in MCSDK version 5.4.3:
Example name | Type | Control | ST board/ Kit |
---|---|---|---|
P-NUCLEO-IHM001 kit, 3Shunt, Sensorless | Single | FOC | P-NUCLEO-IHM001 |
Speed ramp with Potentiometer on P-NUCLEO-IHM001 kit | Single | FOC | P-NUCLEO-IHM001 |
Nucleo-F303RE + IHM07M1+ Bulllrunning motor, 3-shunt, Sensorless | Single | FOC | Nucleo-F303RE |
Nucleo-F303RE + IHM08M1+ Bulllrunning motor, 3-shunt, Sensorless | Single | FOC | Nucleo-F303RE |
Gimbal Motor | Single | FOC | Nucleo-F303RE |
Saw Tooth Speed ramp | Single | FOC | Nucleo-F303RE |
Speed ramp and CCMRAM | Single | FOC | Nucleo-F303RE |
Dual Drive and CCMRAM | Dual | FOC | STM32303E-EVAL |
Power Factor Correction | Single | FOC | STEVAL-IHM034V2 |
STEVAL-IHM042V inverter+ 2 Shinano motors | Dual | FOC | STEVAL-IHM042V |
STM32G081 based, Single-Shunt configuration using HAL | Single | FOC | STM32G081B-EVAL |
STM32G081 based, Single-Shunt configuration using HAL | Single | FOC | STM32G081B-EVAL |
FreeRTOS on P-NUCLEO-IHM001 kit | Single | FOC | P-NUCLEO-IHM001 |
Speed ramp with Potentiometer on P-NUCLEO-IHM03 kit | Single | FOC | P-NUCLEO-IHM03 |
Speed ramp with Potentiometer on P-NUCLEO-IHM001 kit-- Advanced | Single | FOC | P-NUCLEO-IHM001 |
B-G431B-ESC1 electronic speed control | Single | FOC | B-G431B-ESC1 |
STEVAL-ESC001V1 electronic speed control | Single | FOC | STEVAL-ESC001V1 |
Six-Step drive with P-NUCLEO-IHM03 kit | Single | Six-Step | P-NUCLEO-IHM03 |
Six-Step drive with NUCLEO-G431RB, IHM07M1 and BullRunning motor | Single | Six-Step | NUCLEO-G431RB |
Six-Step drive with NUCLEO-G431RB, IHM08M1 and Shinano motor | Single | Six-Step | NUCLEO-G431RB |
Six-Step drive with NUCLEO-G431RB, IHM16M1 and BullRunning motor | Single | Six-Step | NUCLEO-G431RB |
Six-Step drive with NUCLEO-F401RE, IHM07M1 and BullRunning motor | Single | Six-Step | NUCLEO-F401RE |
Six-Step drive with STSPIN3204 | Single | Six-Step | STEVAL-STSPIN3204 |
STEVAL-HKI001v2 with STGAP1AS | Single | FOC | STEVAL-HKI001v2 |
PositionControl on NucleoF303 with Maxon motor | Single | FOC | Nucleo-F303RE |
NUCLEO-H745ZI- CortexM4 Motor Control Application Example | Single | FOC | NUCLEO-H745ZI |