日常生活中,在电力系统中奔涌的电能,大约有50% 是被电机消耗掉的。而随着MCU算力的提升、功能的丰富,基于MCU的数字电机控制场景也越来越普遍。电机控制是工业应用的核心类别,种类繁多,需求各异,并且对工作温度,封装,通讯和控制都有较高要求。基于MCU的电机控制还是有门槛的。 0 a, R1 w: h& f5 S6 R8 y# Q6 I6 E P6 ^( R$ [ l) FSTM32有完整的电机控制生态 ST以一套完整的生态系统方式向用户提供电机控制方案,不但包含相关的产品(MCU、功率器件)、评估的硬件开发套件、开发调试工具,还包括ST电机控制软件开发包,即 ST MCSDK。STM32电机控制生态系统主要包含以下几部分:
+ X/ J, Y6 o& C" m3 E. A ST MCSDK以 STM32CUBE的外部组件方式提供给用户。STM32Cube是一个集人机界面STM32CubeMX、STM32 MCU的外设库(STM32CubeXXX, XXX = F0,F1,…, H7, L0, L1, …, G0, G4, …, etc.) 和代码生成器三位一体的软件开发工具。+ E- {# Y6 D# y/ \# v5 T7 d ST MCSDK包含三个部分: 三相永磁同步电动机的固件库,人机界面ST MCWorkbench,及由ST MC Workbench从后台调用的 STM32CubeMX。X-CUBE-MCSDK和X-CUBE-MCSDK-FUL包含三相永磁同步电动机的固件库、人机界面 STMC WB、电动机参数自动测定工具ST Motor Profiler 和与前面三个部分相应的文档。在使用这个SDK的时候,用户还需要在电脑上安装STM32CubeMX并下载对应STM32产品的外设库,以及相应的软件开发工具(代码编辑,编译-链接-优化工具等,比如IAR,KEIL等提供的IDE)。STM32为电机控制打造了细分的MCU系列,支持多种电机,提供完整的设计资源,所有代码开放,PMSM (FOC), BLDC (6-Step), ACIM,可自动识别电机参数,进一步降低调试难度,运行工况实时监控,参数一手掌握,算法持续优化升级。# U; }* o; B2 W1 B. B( g2 ?( L - P& {; J- b6 _/ g" k2 D, T STM32的产品系列中,可用于电机控制的产品覆盖了8个系列,30多条产品线。主流系列有F0, F3,G0和G4;高性能系列有F2, F4, F7, H7;低功耗系列有L0,L1,L4等。这些产品包含专用于输出控制变频器所需要的三相PWM波形和过电流触发保护的高级定时器(TIM1,8,20等)、可以与输出PWM同步触发功能的ADC,ADC还具备模拟看门狗单元。为了进一步简化外围电路,F3/G4还集成了运算放大器和比较器。STM32电机控制解决方案适用于变频家电、工业变频器、电动自行车、电动工具、航模等各个需要电机控制的领域。 4 }& d! [2 g% q. ~ - N! [4 \) @4 L+ K7 Q3 F9 `/ {" MX-CUBE-MCSDK不断进化 : Z* D1 ]; ^3 P4 S 自X-CUBE-MCSDK5.4.4以来,ST一直在不断对电机控制软件的功能和特性进行升级和更新,以满足电机控制市场的发展需求。让我们来看看X-CUBE-MCSDK的演进史。 从5.4.4到5.4.5,结束了对Web发布的各版本IAR EWARM 7.x的支持;新增了对STM32G4 Cut 2.2的支持;更新了Workbench,以适用于STM32CubeMx v6.0.1;新增了对新电源板的支持;修复了一些问题。从5.4.5到5.4.6,增加了对STM32CubeMx版本6.2.0的支持;修复了一些问题。 从5.4.6到5.4.7,新增了对STM32CubeMx版本6.3.0的支持;修复了一些问题。/ M) S, K3 V/ Q% D 从5.4.7到5.4.8,新增了对STM32CubeMx版本6.4.0的支持;修复了一些问题。6 @8 e5 J5 t2 s+ s 2 y+ M0 P: Z; q) D $ M. D6 Z" Q9 _ 从5.4.6开始,X-CUBE-MCSDK开始向5.Y路线演进。X-CUBE-MCSDK 5.Y引入了ST Motor Pilot版本,这是X-CUBE-MCSDK新的监控工具;从Workbench删除了旧的监控器;已实施全新的通信协议,并替代了旧版本。 ' W+ w3 n0 w4 c5 y Q- ` h 对于PMSM/BLDC电机,X-CUBE-MCSDK 5.Y可支持:
对于异步电机,X-CUBE-MCSDK 5.Y可支持:
9 Z3 v' x& y$ y; l& G' l# @ 从5.Y.0到5.Y.1:修复了一些问题。7 Y- \+ H& p: l8 j; @6 } ; d4 R! ^! N/ X8 d" T& u2 ]8 t 从5.Y.1到5.Y.2: 修复了一些问题,STM32CubeMX中的参数可见性,以使六步算法可配置。7 _& N. Q# ]1 P, H( p/ d, D # F/ m4 ^3 }3 ~9 o6 f2 K5 B# q 2 z; X& X. D) ~2 A6 i, o 从5.Y.2到5.Y.3:重新引入了在5.Y.2中消失的pdf文档;Motor Pilot改进。+ ~$ Y4 {8 R) Z+ u% N* t. v $ n X. x) P8 `$ }, _0 @ 从5.Y.3到5.Y.4:
# W$ H% Q! v: Z, l( M- u9 Y ! n, ^" \! _- `# X0 t! e X-CUBE-MCSDK 6.0的新特性 : N9 c# |9 N/ j$ A. p% R ~/ l; z7 ` 最近,X-CUBE-MCSDK再次更新到SDK 6.0,主要特性包括:
0 E8 a! X+ [3 P! S X-CUBE-MCSDK 6.0使用新GUI的全新电机控制工作平台,新的可定制辅助电机用于监控引擎状况,可监控电机运行可配置的电机操作平台,新的固件库,以及新的6步电机控制算法。下载并安装X- CUBE-MCSDK,通过可拆装的P-NUCLEO-IHM03开发板,设置硬件,不到2分钟就可以构建完整的项目并让电机旋转。 ( P6 k: Y; Y3 H; _; Y2 u: V 结语5 R# s2 B' r6 u+ L | / B& e% b$ v7 w+ I 步履不停,STM32电机控制软件开发套件MC SDK进化的脚步还在继续,今年第二季度,SDK6.1将面世,它将拥有新的FOC无传感器算法,3x MC-FOC(G4),新的MC Profiler v2.0(MC FW内)。而SDK 6.x也将在稍晚时间推出。$ v( u% B- `: f4 g4 C- w. x1 j; K 2 g; K7 y, \" U6 m4 u |
新增的版本无法像MCSDK5以前版本那样可以对MCU引脚以及电流放大倍数等参数进行自定义呢,只能根据库里现有的板子进行代码生成了呢。
6.x 版本电机和控制板的配置文件改json了,虽然几乎能一一对应过去但没有一个自动转换的工具么