MC Workbench6.4电机位置控制
之前的 MC Workbench 版本一直缺少原生位置控制功能,给电机控制开发带来不少不便。而 6.4 版本终于补齐了这个短板,本文就带大家一步步实现 STM32G431 电机开发板的位置控制,从工程创建到实际运行全程详解,适合电机控制领域的开发者参考。
一、新建工程与硬件选型
打开 MC Workbench 6.4 软件,点击新建工程,进入硬件选型环节。
选择控制板:在“选择电路板”页面的“功率板”列表中,可看到 EVALSTDRIVE101、EVLDRIVE102BH 等型号及对应参数(额定电压、电流、功率)。
图片(2)
图片(3)
切换到“控制板”列表,选择 B-G431B-ESC1_v2(MCU 为 STM32G431CBUx,时钟频率 170MHz),选中后点击确认添加。
图片(4)
图片(5)
选择电机:进入“选择电机”页面,以 Nidec57_3w 为例(磁结构 SM-PMSM,极对数 1),选择后点击“转到摘要”。
图片(6)
确认参数:在摘要页面核对驱动算法(FOC)、MCU、电机、驱动等参数,无误后点击“创建”生成工程。
图片(7)
二、位置控制核心配置修改
工程创建后需针对性修改参数,重点关注以下设置:
1. 转速传感器配置(关键)
进入“转速传感器选择”页面,将传感器类型改为“正交编码器”。
图片(8)
转速传感器选择页面修改编码器为正交编码器
图片(9)
进入“电流检测”页面,开启过流保护,将过流阈值修改为 60A,其他参数保持默认。
图片(10)
切换到“转速传感器设置”页面,设置每机械转脉冲数为 1024,勾选“反向计数方向”和“使用绝对位置控制引脚 (ENC_Z)”,配置启动参数。
图片(11)
2. 调试与外设配置
调试方式设置:打开电位器功能,MCU 引脚映射为 ADC1_IN11(PB12),采样时间 1μs。
图片(12)
用户界面功能设置默认
图片(13)
3. 配置确认与冲突检查
进入“引脚应用 & 硬件修改”页面,核对所有引脚分配无冲突,确认后点击“确定”。
图片(14)
三、代码生成与下载
点击软件顶部“生成工程代码”,选择目标工具链和固件包版本。
图片(15)
代码生成完成后,导入 STM32CubeIDE 编译,下载到开发板(具体下载步骤参考开发板官方指南)。
四、Motor Pilot 上位机配置与运行
打开 ST Motor Pilot V6.4.0 软件,点击“Load GUI”,选择“PositionControlApp.qml”加载位置控制界面。
图片(16)
选择加载位置控制界面“PositionControlApp.qml”
图片(17)
选择对应的 UART 端口(如 COM2),波特率设置为 183200,点击“Connect”建立连接。
图片(18)
启用“Position Control”,设置目标位置和运行时长,点击“Start”执行位置控制命令,实时查看当前位置、转速等参数。
图片(19)
五、操作演示视频
本文配套操作演示视频,完整记录从工程创建、参数配置、代码生成,到开发板下载、上位机运行的全过程,直观展示位置控制功能的实现效果。
电机位置控制运行视频
六、功能亮点与注意事项
亮点:相比旧版本,6.4 版本的位置控制支持正交编码器精准定位,可设置绝对位置控制,适配多种 SM-PMSM 电机,且集成过流、过温、欠压等多重保护。
注意事项:控制板供电需匹配电机标称电压(24V 左右)。
控制板链接:FOC驱动板
通过以上步骤,即可快速实现 STM32G431 开发板的电机位置控制,MC Workbench6.4 的原生支持让开发流程更简洁,无需额外编写复杂的位置控制算法。如果在实操中遇到参数配置或代码编译问题,可在评论区留言交流~