STM32 电机教程 20 - 基于ST MC Workbench 无感FOC

时间:2024-03-30 14:27:42

前言

      磁场定向控制又称矢量控制(FOC, 本质上为控制定子电流的幅度和相位,使之产生的磁场和转子的磁场正交,以产生最大的扭矩. PMSM的磁场定向控制框图如下图所示:

STM32 电机教程 20 - 基于ST MC Workbench 无感FOC

第19讲成功实现了基于NUCLEO-F103RB和X-NUCLEO-IHM07M1 3SH及MotorControl Workbench的单电阻FOC算法实现,本节就给大家介绍使用ST 电机库实现无感FOC算法让电机运转起来。本节工程代码直接在19讲基础上进行修改即可。

本节所用电机为2836无刷电机,电机有两组线(hall传感器线和电机三相线),工作电压24V,最大转速12000rpm:

STM32 电机教程 20 - 基于ST MC Workbench 无感FOC

STM32 电机教程 20 - 基于ST MC Workbench 无感FOC

示例详解

本节用到ST官方推出的NUCLEO-F103RB和X-NUCLEO-IHM07M1 3SH 开发板。

STM32 电机教程 20 - 基于ST MC Workbench 无感FOC

STM32 电机教程 20 - 基于ST MC Workbench 无感FOC

 

    1. 准备操作

按下图接好跳线端子(单电阻接线方式):

STM32 电机教程 20 - 基于ST MC Workbench 无感FOC

本节的MotorControl Workbench工程直接用第19讲的即可,直接复制上一讲生生成工程文件及代码工程文件,改名为Motor20:

STM32 电机教程 20 - 基于ST MC Workbench 无感FOC

在配置工程之前,先用Motor Profiler 5.3.3工具测量一下电机相关参数,具体操作可看《STM32 电机教程 1 - 用ST Motor Profiler 测量电机参数》一节,测得结果如下:

STM32 电机教程 20 - 基于ST MC Workbench 无感FOC

打开工程文件,按下图完成配置:

STM32 电机教程 20 - 基于ST MC Workbench 无感FOC

STM32 电机教程 20 - 基于ST MC Workbench 无感FOC

 

速度传感及位置传感选择Sensor-less(observer+pll 或 observer+cordic ):

STM32 电机教程 20 - 基于ST MC Workbench 无感FOC

按上述配置好后,这个时候在Firmware Drive Mangagement 下会多一个Start -up parameters 选项,选择该选项:

STM32 电机教程 20 - 基于ST MC Workbench 无感FOC

STM32 电机教程 20 - 基于ST MC Workbench 无感FOC

有了前面17-19节的基础,上面的一些启动参数保持默认基本都可以了,当然如有特殊需求可自行更改对应的参数,比如想要启动再快一点,可以适当减小相应的延时,如果想让电机启动后初始速度大一点则可以修改目标速度考虑到无感算法在低速时表达不是佳,建议启动时相应的速度尽量大些,可以增加无感起动的成功率,如下图是本例所使用的配置参数:

STM32 电机教程 20 - 基于ST MC Workbench 无感FOC

基础模式:

高级自定义模式:STM32 电机教程 20 - 基于ST MC Workbench 无感FOC

STM32 电机教程 20 - 基于ST MC Workbench 无感FOC

需要注意的是第19讲是采用的单电阻方案,所涉及的一些硬件配置如下(三电阻方案有兴趣的同学可以自行去完成相关实验):

 

STM32 电机教程 20 - 基于ST MC Workbench 无感FOC

STM32 电机教程 20 - 基于ST MC Workbench 无感FOC

确认之后工程会有如下提示信息:

STM32 电机教程 20 - 基于ST MC Workbench 无感FOC

 

进到MCU模拟通道设置窗口看一下,确定配置正确(如下图)即可!

STM32 电机教程 20 - 基于ST MC Workbench 无感FOC

到这里就可以成生程代码了:

STM32 电机教程 20 - 基于ST MC Workbench 无感FOC

 

进入MDK-ARM目录,打开keil 工程:直接编译工程,编译成功后下载代码到开发板,记得勾选下载选项中的复位和运行选项:

STM32 电机教程 20 - 基于ST MC Workbench 无感FOC

程序下载完成后,用MotorControl Workbench工具调节试,操作如下,。

STM32 电机教程 20 - 基于ST MC Workbench 无感FOC

可以看到无感模式下,速度抖动有所增加:

STM32 电机教程 20 - 基于ST MC Workbench 无感FOC

 

OK,本期实验完成!本节内容到此结束,也欢迎大家留言!!最后喜欢这个公众号的同学们记得加关注了,每天都会有技术干货推出!!

 

文中源码及资料下载,关注十三公众号:

STM32 电机教程 20 - 基于ST MC Workbench 无感FOC

在公众号里给十三发送 “下载|STM32 电机教程 20” :

STM32 电机教程 20 - 基于ST MC Workbench 无感FOC