模型设计用永磁同步电机的控制编译和代码生成

2021-10-09 16:07 来源:电子说

摘要

之前推过,基于模型设计的准备,后台有人问如何设置模型编译和代码生成。本笔记主要记录基于恩智浦恩智浦MPC5744P的MBD工具箱,逐步编译PMSM电机模型和代码生成。

准备工作/即将工作

安装一个可用的MATLAB工具箱。

安装恩智浦的MBD工具箱。

电机控制模型。

事实上,越来越多的公司和大型工厂开始使用基于模型的设计和开发。恩智浦与MATLAB联合开发的电机控制MBD工具箱,可以帮助工程师解决PMSM电机控制的难点和问题。该模型包括从底层到应用层的模型设计和参考。

PMSM汽车的FOC模型,

92720d60-224b-11ec-82a8-dac502259ad0.png

92b5e116-224b-11ec-82a8-dac502259ad0.png

模型浏览

有开环、闭环、单速环控制和V/F控制。最复杂的是基于FOC的闭环控制。双闭环调速,电流环是内环,速度环是外环。

92e27690-224b-11ec-82a8-dac502259ad0.png

代码生成配置

生成代码需要一些配置,这里可以使用默认配置。

938752aa-224b-11ec-82a8-dac502259ad0.png

编辑和翻译

94dd16da-224b-11ec-82a8-dac502259ad0.png

代码生成报告。

9530fe94-224b-11ec-82a8-dac502259ad0.png

生成的电机闭环控制代码在PMSM_ClosedLoop_mpc5744p.c,感兴趣的可以自行编译查看。

出现以下对话框,您可以下载代码。

95eb5cee-224b-11ec-82a8-dac502259ad0.png

然而,这里有一个问题。第一次下载代码,必须先用S32DS下载一个引导加载程序,然后在matlab中一键就可以直接下载代码。

9633aff8-224b-11ec-82a8-dac502259ad0.png

Bootloader目录(根据其自身的安装目录可能有所不同)位于恩智浦MBD工具箱安装目录下的tools文件夹下。

96806b54-224b-11ec-82a8-dac502259ad0.png

c : user sdellappdataroamingmathworksmatlab Add-onstolbox esnxp _ MBDToolbox _ MPC 57xx _ ools bottloaderrbf _ Files

下载引导加载程序后单击。

95eb5cee-224b-11ec-82a8-dac502259ad0.png

你可以在matlab中一键下载代码。

972b4d30-224b-11ec-82a8-dac502259ad0.png

等待程序下载,然后就可以操作电机控制了。对于自己的应用,需要修改一些模型,这取决于自己的应用场景和电路设计。这个工具箱还集成了MPC5744的底层驱动SDK,所以如果是基于MPC5744开发的,底层驱动也可以在MATLAB中完成。模型的安装已经在之前的公众号推送中介绍过了。

基于模型的开发应该准备什么?

之后会有模型分析和参考设计的机会。

延伸 · 阅读