STM32 电机教程 17 - 基于ST MotorControl Workbench的电机调试

前言

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

上一讲详细介绍了磁场定向控制的原理,有兴趣的同学可以自己写代码去实现它,ST官方对电机的控制有一套完整的库(最新版本已更新5.3了,开源),该电机库功能齐全,同时还配备了完整的图形界面开发工具,配合STCUBEMX工具可直接生生工程代码,从本节开始,后续的PMSM电机的相关控制将直接以ST电机库为基础进行介绍。关于ST电机库及工具下载与安装教程请看《STM32 电机教程 0 - MotorControl Workbench下载与安装》一节。

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

示例详解

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

 

    1. 准备操作

按下图接好跳线端子:

打开MotorControl Workbench软件:

新建一个工程:

然后是配置速度传感器:

到此就可以生成工程了:

 

如果工程还未保存会先保存工程,工程保存完成后弹出代码生成窗口:

配置好后点生成:

生成后可在对应的文件夹中看到如下图所示工程文件:

进入MDK-ARM目录,打开keil 工程:

直接编译工程,编译无误后,下载并运行代码!发现电机不转,正常因为程序没有让电机运动,没关系,我们还可以用MotorControl Workbench 的图形界面工具让电机运动起来:

在电脑的设备管理器中找到STLINK对应的端口号:

在Workbench打开电机监视器

上面现象根据经验,很可能是PID控制器参数过大导致,需要调整参数:

直到响应跟踪目标曲线速度及稳定后的效果都达到可接受情况时,记住各控制参数值:

将控制参数值,写回到MotorControl Workbench的控制参数设置界面(Control Unit -> Firmware Drive Management ->Drive Setting ):

 

修改好参数后,更新一下代码工程:

重新编译KEIL工程下载,记得勾选下载选项中的复位和运行选项:

下载完成后便可直接按开发板上的蓝色控制按键来启动电机:

 

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

 

 

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

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

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章