小猫爪:PMSM之FOC控制03 您所在的位置:网站首页 matlab生成表格的代码 小猫爪:PMSM之FOC控制03

小猫爪:PMSM之FOC控制03

2024-07-11 01:02| 来源: 网络整理| 查看: 265

PMSM之FOC控制03-Matlab生成代码,MCU验证 1 前言2 模型搭建2 代码生成END

1 前言

  因为不管在Matlab中搞得多么花里胡哨,不把它用起来,多多少少有点虚,那么怎样把Matlab中的算法移植到MCU中进行验证呢,下面就来干这个事情。

2 模型搭建

  直接上图,总图: 在这里插入图片描述   foc_control内部框图: 在这里插入图片描述   因为是测试,所以我是这么干的,先使用一个反Park变换和反Clark变换产生一个三相波形,其中反Clark模块内容如下:

在这里插入图片描述   产生的三相波形如下: 在这里插入图片描述   再来看看Clark变换的输出: 在这里插入图片描述   Park变换的输出: 在这里插入图片描述   到了这个时候,在matlab中的验证就结束了。

2 代码生成

  在代码生成前,还需要做一件事情,matlab默认的数据类型都是double类型,因为生成的代码是需要在32位的单片机上运行的,所以我们需要把matlab模块中的一些输入输出数据类型改成single类型,举个例子如下: 在这里插入图片描述   改造完如下: 在这里插入图片描述   随后就可以生成代码了,右击foc_control模块,选择C/C++ Code->Embedded Coder Quick Start: 在这里插入图片描述   注:如果没有这个选项或者这个选项是灰色的,但是就说明你目前的matlab没有完整licence或者没有安装安装。

  出现了界面后,一直点,一直点,直到出现设置硬件类型时,选择相应的硬件类型: 在这里插入图片描述   注:有些MCU产商会有自己的电机驱动库,比如TI,ST,NXP,会把一些函数进行优化重写,比如一些三角函数等math函数,这个时候可以通过安装相应的板载支持包,然后设置相应的硬件板载。

  可以通过安装插件安装板载支持包: 在这里插入图片描述   然后在Model Settings里面选择相应的Hardware support,如果MATLAB中没有你想要的芯片,那么就随便选一个吧,我就选了NXP的K64。 在这里插入图片描述   然后就是一直继续,直到生成成功,如果中途遇到一些问题卡住了,可以直接下载我的例子: FOC_Control_Matlab_MCU.7z

  如果生成成功,会生成相应的文件,如下: 在这里插入图片描述   接下来,就是把相应的.c.h文件移植到MCU中了。如下: 在这里插入图片描述   打开生成的文件,稍微阅读一下就可以看出matlab生成代码的一些规则,比如rtU为输入,rtY为输出等等,需要细细品味。

  下面是我的测试函数: 在这里插入图片描述   然后让其运行起来,将结果输出,可以看到下面的结果: 在这里插入图片描述   可以看出Clark和Park变换成功了。

END


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有