
面向电机控制的STM32生态系统
从硬件工具和嵌入式软件到培训资源和文档,STM32生态系统可提供众多工具,以简化电机控制应用的开发。
- 大量8位/32位MCU产品系列可以支持电机控制需求
- 为电机控制量身打造的数字和模拟外设
- 温度范围:-40 ℃至125 ℃
STM32 MCU特别适合开发永磁同步电机 (PMSM)、无刷直流电机 (BLDC) 和步进电机。
开发工具
STM32工具和软件提供了一个集成开发环境,用于简化并支持电机控制解决方案的设计。
ST-MC-SUITE
ST-MC-Suite是一款在线解决方案查询工具,可轻松访问所有STM32和STM8 MCU资源(如应用说明、手册、演示文稿和期刊文章),以满足电机控制应用需求。其中包括的软件向导用于帮助开发人员选择相关材料、将材料添加到整合包中并一键下载。
产品编号 | 说明 |
ST-MC-SUITE | 适用于STM32和STM8产品的在线电机控制解决方案查询工具 |
ST电机分析仪
ST电机分析仪是一款用于自动测量PMSM和BLDC电机的电气参数的软件工具。凭借该工具,用户可在短短数分钟内启动一台未知电机。ST电机分析仪包含在用于STM32设备的X-Cube-MCSDK软件开发套件中。
STM32Cube & MC Workbench
STM32Cube是一套用于STM32微控制器和微处理器的免费工具和嵌入式软件模块,可满足整个项目开发周期的所有需求。其中包括STM32CubeMX配置工具,可为Cortex-M内核生成初始化C代码。Motor Control Workbench(可从X-CUBE-MCSDK中获取)与STM32CubeMX链接。开发人员可以在电机控制开发过程中通过Motor Control Workbench打开STM32CubeMX来更改STM32配置。

产品编号 | 配置 | 初始化代码生成 | 代码编辑 | 代码编译 | 调试 | 二进制编程 | 监测 |
STM32CubeMX | |||||||
STM32CubeIDE | (集成STM32CubeMX) | (集成STM32CubeMX) | |||||
STM32CubeProgrammer | |||||||
MC Workbench | |||||||
STM32CubeMonitor | |||||||
电机试运行 |
步进电机解决方案
产品编号 | 说明 |
STSW-STM32018 | 采用STM32F103微控制器驱动双极步进电机 |
X-CUBE-SPN1 | 用于STM32Cube的步进双极电机驱动器软件扩展 |
X-CUBE-SPN2 | 用于STM32Cube的两轴步进电机驱动器软件扩展 |
X-CUBE-SPN3 | 用于STM32Cube的高功率步进电机驱动器软件扩展 |
X-CUBE-SPN4 | 用于STM32Cube的双刷直流电机驱动器软件扩展 |
X-CUBE-SPN5 | 用于STM32Cube的步进双极电机驱动器扩展软件包 |
专注于电机控制套件和探索套件
P-NUCLEO-IHM03
- 该平台为三相、低压、小电流直流无刷或PMSM电机提供了电机控制解决方案。该解决方案基于STSPIN830驱动器和STM32G431RB MCU
- P-NUCLEO-IHM03 STM32电机控制套件由X-NUCLEO-IHM16M1板、NUCLEO- G431RB板、无刷万向电机 (GBM2804H-100T) 和直流电源组成
B-G431B-ESC1
- 该探索套件基于STM32G431CB微控制器、L6387驱动器和STL180N6F7功率MOSFET。由主电源板以及带嵌入式ST-LINK/V2-1的子板组成
- 它是一种电子速度控制器 (ESC),设计用于驱动单个3相无刷电机 (BLDC/PMSM),并执行无传感器FOC算法和带速度调节的6步控制,以及主动制动功能算法
P-NUCLEO-IHM001和P-NUCLEO-IHM002
- 该套件为三相、低压、小电流直流无刷电机提供了完美的电机控制解决方案。该解决方案基于L6230驱动器(属于STSPIN系列)和STM32F302R8 MCU
- P-NUCLEO-IHM001套件由X-NUCLEO- IHM07M1板、NUCLEO-F302R8板和无刷直流电机(以及P-NUCLEO-IHM002电源)组成。

电机控制产品和主要特性
STM32产品组合包含了基于Arm® Cortex®-M内核(M0、M0+、M3、M33、M4和M7)的设备。得益于MCU的共享生态系统,开发人员可以从更强的灵活性中受益,从而推进电机控制设计。STM8 MCU是我们的8位微控制器系列,可使我们的产品变得更加完善,并可为设计成本极其敏感型电机控制解决方案提供支持。
每个STM32系列均提供了一套不同的外设,以匹配各种电机控制应用需求。
STM32系列 | ARM内核 | CPU主频 | Flash存储器范围 | 模拟集成度 | MCtimer |
STM32G0xx | Cortex-M0+ | 64MHz | [16 KB-512 KB] | + | 1x (128 MHz) |
STM32F303 | Cortex-M4 (DSP/FPU) | 72MHz | [32 KB-512 KB] | ++++ | 3x (144 MHz) |
STM32F302 | Cortex-M4 (DSP/FPU) | 72 MHz | [32 KB-512 KB] | +++ | 1x (144 MHz) |
STM32F301 | Cortex-M4 (DSP/FPU) | 72 MHz | [16 KB-64 KB] | ++ | 1x (144 MHz) |
STM32G431 | Cortex-M4 (DSP/FPU) | 170MHz | [32 KB-128 KB] | +++ | 2x (170 MHz) |
STM32G473 | Cortex-M4 (DSP/FPU) | 170 MHz | [32 KB-128 KB] | ++++ | 3x (170 MHz) |
STM32F4xx | Cortex-M4 (DSP/FPU) | 180MHz | [256 KB-1024 KB] | ++ | 2x (180 MHz) |
STM32F7xx | Cortex-M7 | 216 MHz | [64 KB-2048 KB] | ++ | 2x (216 MHz) |
STM32H7xx | Cortex-M7 + M4(可选) | 480 MHz | [128 KB-2018 KB] | ++ | 2x (240 MHz) |
STM32F0xx | Cortex-M0 | 48MHz | [16..256 KB] | + | 1x 48MHz |
STM32L4xx | Cortex-M4 | 80MHz | [64..1024 KB] | ++ | 2x 80MHz |
STM32 F3系列和G4系列
STM32G4系列将运行频率为170 MHz的32位的Arm® Cortex®-M4内核(带FPU和DSP指令)与三种不同的硬件加速器、丰富的模拟外设和高级电机控制定时器相结合,以满足全部电机控制应用要求。这些产品系列是电机控制应用的理想选择。
STSPIN32F0
STSPIN32F0是一款系统级封装器件,提供了适用于不同驱动模式的三相BLDC电机驱动集成解决方案。该产品系列将STM32F031微控制器与三个半桥式栅极驱动器相结合,能够驱动功率MOSFET或IGBT(电流能力为600 mA(供电和受电))以及其他模拟组件。
电机控制库性能(属于X-CUBE-MCSDK)
- 配置:
- PWM频率 = 20 kHz - FOC = 10 KHz - 无传感器STO+PLL
- 速度调节 (中频任务):1KHz
- 编译器STM CubeIDE(可选 -Ofast)
MCU | CPU Clock (MHz) | Cortex | Current sensing | Preftech | I+DCache | CCMRAM | ITCMRAM | Total Workload | FOC lib Code (Kb) | HAL drivers (Kb) | Total Code (Kb) | Read Only Data (Kb) | FOC lib data (Kb) | CCMRAM (Kb) |
F072RB | 48 | M0 | 3 Shunt | 48% | 22.14 | 6.76 | 28.90 | 3.77 | 1.34 | |||||
1 Shunt | 70% | 24.30 | 6.83 | 31.13 | 3.74 | 1.38 | ||||||||
G071RB | 64 | M0+ | 3 Shunt | 40% | 25.63 | 6.13 | 31.76 | 3.99 | 1.34 | |||||
1 Shunt | 48% | 27.51 | 6.27 | 33.78 | 3.96 | 1.38 | ||||||||
3 Shunt | 37% | 25.63 | 6.13 | 31.76 | 3.99 | 1.34 | ||||||||
1 Shunt | 47% | 27.50 | 6.27 | 33.77 | 3.96 | 1.38 | ||||||||
F303RE | 72 | M4 | 3 Shunt | 25% | 22.45 | 11.27 | 33.72 | 1.10 | 1.34 | |||||
1 Shunt | 34% | 23.11 | 11.16 | 34.27 | 1.07 | 1.38 | ||||||||
3 Shunt | 18% | 19.05 | 11.27 | 30.32 | 1.10 | 1.34 | 4.66 | |||||||
1 Shunt | 35% | 18.40 | 11.39 | 29.79 | 1.07 | 1.38 | 4.72 | |||||||
F446RE | 180 | M4 | 3 Shunt | 11% | 24.04 | 6.85 | 30.89 | 1.05 | 1.38 | |||||
1 Shunt | 15% | 24.04 | 6.85 | 30.89 | 1.05 | 1.38 | ||||||||
G431RB | 170 | M4 | 3 Shunt | 15% | 23.81 | 12.59 | 36.40 | 1.01 | 1.34 | |||||
1 Shunt | 19% | 23.75 | 12.41 | 36.16 | 0.86 | 1.38 | ||||||||
3 Shunt | 9% | 20.10 | 12.59 | 32.69 | 1.01 | 1.34 | 4.92 | |||||||
1 Shunt | 12% | 19.20 | 12.40 | 31.60 | 0.84 | 1.38 | 4.80 | |||||||
H745ZI | 240 | M4 | 3 Shunt | 5% | 23.86 | 16.73 | 40.59 | 1.36 | 1.34 | |||||
1 Shunt | MCSDK 6.1版本尚不支持 | |||||||||||||
F746ZG | 216 | M7 | 3 Shunt | 9% | 21.40 | 9.51 | 30.91 | 1.07 | 1.34 | |||||
1 Shunt | 13% | 24.17 | 8.83 | 33.00 | 1.06 | 1.37 | ||||||||
3 Shunt | 6% | 18.72 | 9.48 | 28.20 | 1.07 | 1.34 | 3.02 | |||||||
1 Shunt | 7% | 19.67 | 8.80 | 28.47 | 1.06 | 1.37 | 4.84 | |||||||
3 Shunt | 6% | 18.70 | 9.51 | 28.21 | 1.07 | 1.34 | 3.02 | |||||||
1 Shunt | 7% | 19.66 | 8.83 | 28.49 | 1.06 | 1.37 | 4.84 |
MCSDK Workbench生成的默认配置
在生成MCSDK Workbench之后,为了延长执行时间,可以使用CubeMx更改系统内核类别中的默认选项,或者在F3和G4情况下使用CCMRAM
实现电机控制的产品主要特性
X-CUBE-MCSDK中包含的电机控制库(如今可用于PMSM/BLDC电机)支持以下特性。
MC Workbench工具中的完全集成/配置:
主要特性 | STM32系列兼容性 | |
电流检测和过流保护OCP | 单电阻/三电阻电流采样 | F0 - F3 - F4 - F7 - L4 - G0 - G4 - H7 - STSpin32F0/G4 |
隔离电流检测 | 尚不支持 | |
嵌入式比较器OCP、OPAMP | F3 - G4 | |
速度和位置传感 | 传感器(霍尔、编码器)、无传感器 | F0 - F3 - F4 - F7 - L4 - G0 - G4 - H7 - STSpin32F0/G4 |
母线电压检测/保护(UVP和OVP) | VBUS读取、欠压和过压保护 | F0 - F3 - F4 - F7 - L4 - G0 - G4 - H7 - STSpin32F0/G4 |
温度感测/保护 (OTP) | 温度测量、过温保护 | F0 - F3 - F4 - F7 - L4 - G0 - G4 - H7 - STSpin32F0/G4 |
磁场定向控制 (FOC) | 单电机控制 | F0 - F3 - F4 - F7 - L4 - G0 - G4 - H7 - STSpin32F0/G4 |
双电机控制(每台电机单独使用一对ADC) | 尚不支持 | |
双电机控制(共用ADC资源) | 尚不支持 | |
双电机控制示例 | F3 - F4 - G4 - H7 | |
6步 | 完全支持 | F0 - F3 - G0 - G4 - STSpin32F0/G4 |
ACIM | 通过STM32WB的蓝牙进行配置,仅限示例 | F0 - F3 - F4 - F7 - L4 - G0 - G4 - H7 - STSpin32F0/G4 |
控制模式 | 扭矩/速度或位置控制 | F0 - F3 - F4 - F7 - L4 - G0 - G4 - H7 - STSpin32F0/G4 |
其他特性 | MTPA、弱磁、前馈 | F0 - F3 - F4 - F7 - L4 - G0 - G4 - H7 - STSpin32F0/G4 |
PCF(FW支持) | 尚不支持 | |
不连续PWM | F0 - F3 - F4 - F7 - L4 - G0 - G4 - H7 - STSpin32F0/G4 | |
过调制和单电阻采样相移 | F0 - F3 - F4 - F7 - L4 - G0 - G4 - H7 - STSpin32F0/G4 | |
Monitor control pilot - MC Protocol v2 | 串口高波特率1.84mbd |
资源
STM32电机控制SDK6.0入门
MC-SDK v6.0.0提供了全新的GUI(Motor Control Workbench V2),完全支持FOC和6步控制,以增强开发人员的自主权,并在未来支持更多的功能和产品。
P-NUCLEO-IHM03入门
P-NUCLEO-IHM03 STM32电机控制套件由X-NUCLEO-IHM16M1板、NUCLEO- G431RB板、无刷万向电机 (GBM2804H-100T) 和直流电源组成。
STM32G4系列 - 产品概述
STM32G4系列集成了运行频率为170 MHz的32位Arm® Cortex®-M4内核(支持FPU和DSP指令),以及3种不同的硬件加速器:ART Accelerator™、CCM-SRAM执行加速器以及数学运算加速器。