• 方案介绍
  • 附件下载
  • 相关推荐
申请入驻 产业图谱

【代码库】FRDM-MCX A346 上的双 PMSM FOC

10/23 14:02
1009
加入交流群
扫码加入
获取工程师必备礼包
参与热点资讯讨论

an-mc-pmsm-dual-mcxa346-main.zip

共1个文件

MCX A346 上的双 PMSM FOC

本应用笔记介绍了如何在恩智浦 MCXA346 MCU 上实现无传感器双电机 FOC。有关该软件的完整使用说明,请参阅AN14717。 本应用笔记主要介绍单并联 PMSM FOC 的原理,以及使用恩智浦开发套件的硬件和软件实现,包括详细的外设设置、驱动程序说明和 FreeMASTER 操作指南。

主板:FRDM-MCXA346

类别:电机控制

外设:ADC、PWM

工具链:MCUXpresso IDE

1.软件

  • 下载并安装MCUXpresso IDE V25.03 或更高版本
  • 下载并安装最新版本的FreeMASTER (3.2.2.2)。
  • 从 Git 存储库 an-mc-pmsm-dual-mcxa346 下载代码。
  • 适用于 Visual Studio Code 的 MCUXpresso:此示例支持适用于 Visual Studio Code 的 MCUXpresso,有关如何使用 Visual Studio Code 的更多信息,请参阅此处

2.硬件

3. 设置

3.1 导入项目

3.1.A 从应用程序代码中心导入项目

  1. 打开 MCUXpresso IDE,在快速启动面板中,选择应用程序代码中心导入
  2. 通过直接搜索名称或者选择感兴趣的标签找到您需要的demo,打开项目,点击​GitHub链接​,然后​下一步​。
  3. 选择分支,然后单击​下一步​。
  4. 在“目标”->“目录: ”窗口中选择 repo 的本地路径。MCUXpresso IDE 会将 repo 克隆到您选择的路径,克隆过程完成后,单击“下一步” 。
  5. 在项目导入向导窗口中选择​“导入现有的 Eclipse 项目”,​然后选择“下一步”。
  6. 选择此 repo 中的项目(此 repo 中只有一个项目),然后​完成​。

3.1.B 将 git repo clone 到本地路径后导入项目

  1. 从GitHub克隆 repo ​an-mc-pmsm-dual-mcxa346​。打开 MCUXpresso IDE,在快速启动面板中,选择从文件系统导入项目。
  2. ​在“项目目录(解压后)”​项中选择仓库的本地路径,然后点击“下一步” 。如果你从 GitHub 下载了压缩包,请在​“项目存档(zip)”​**项中选择包的本地路径。
  3. 选择此 repo 中的项目(在​“项目:”​窗口中显示,此 repo 中只有一个项目),然后​完成​。如果您单击“选项”项中的​“将项目复制到工作区”​,则项目将粘贴到您的 IDE 工作区,您所做的更改将保存在工作区的副本中。

3.1.2 然后您将在Project Explorer窗口中看到该项目。

3.2 编译项目

该项目包含 3 个配置,​Debug​、ReleaseReleasesramx。ReleaseSRAMX配置具有独立的链接脚本,用于在 SRAMX 中分配频繁调用的代码以提高性能。在Project * Explorer窗口中右键单击*项目名称,然后选择Properties打开属性窗口。打开Manage Configurations,选择要使用的配置,然后Set Active。预处理器中定义的 符号RTCESLMAUON用于控制 MAU 功能。如果定义了RTCESLMAUON且等于 1,则PARK 变换中使用的sin和cos函数以及 BEMF 观测器中使用的atan函数将由 MAU 计算。 使用工具栏中的 build 按钮编译项目。

3.3 硬件设置

3.3.1 连接电机和电源屏蔽板。

​将第一台电机(M1)​三相线按照相序(白色宽线-A相;蓝色宽线-B相;绿色宽线-C相)连接到第一台FRDM-MC-LVPMSM上的J7连接器。对第二台电机(M2)和第二台FRDM-MC-LVPMSM重复相同步骤。

3.3.2A 将电机套件与转接板组合。

将第一块 FRDM-MC-LVPMSM开发板连接到NXP 双电机适配器板的J1M1~J4M1 Arduino 接口。将第二块 FRDM-MC-LVPMSM开发板连接到适配器板的J1M2~J4M2 Arduino 接口。FRDM -MCXA346开发板连接到适配器板底部的J1FRDM1~J4FRDM1 Arduino 接口。适配器的 GERBER 文件和原理图位于路径“an-mc-pmsm-dual-mcxa346dualmotoradapter_board”。

3.3.2B 将电机套件与飞线组合在一起。

将第一块 FRDM-MC-LVPMSM开发板连接到FRDM-MCXA346开发板的J1~J4 arduino 接口。将第二块 FRDM-MC-LVPMSM开发板按照以下规则连接到第一块 FRDM-MC-LVPMSM开发板:

| M1 | z | M2 | 功能 | | M1 | z | M2 | 功能 |
| :------ | :---: | :------ | :--------: | :-: | :------ | :---: | :------ | :----------: |
| J2-11 | --> | J2-1 | 电流 | | J1-7 | --> | J3-15 | PWMAT |
| J2-13 | --> | J2-3 | 抑制 | | J1-5 | --> | J3-13 | PWM
AB |
| J2-15 | --> | J2-5 | 电流 | | J1-11 | --> | J3-11 | PWMBT |
| J2-17 | --> | J2-7 | 电压总线 | | J1-9 | --> | J3-9 | PWM
BB |
| J2-19 | --> | J2-9 | 当前总线 | | J1-15 | --> | J3-7 | PWM_CT |
| J3-14 | --> | J3-14 | 接地 | | J1-13 | --> | J3-5 | 脉宽调制CB |
| J3-4 | --> | J3-4 | P3V3 | | | | | |

3.3.3

使用24V 适配器为 FRDM-MC-LVPMSM 开发板供电。使用 USB 数据线通过J15
接口 连接到 FRDM 开发板。编译完成后,使用工具栏中的调试按钮下载代码。根据板载调试器中的固件,在“Debug As”中选择CMSIS-DAP或J-Link 。

3.4 运行演示

按下FRDM-MCXA346上的SW3 键可控制电机 M1运行或停止,按下 SW3 键可控制电机 M2运行或停止。或者使用 FreeMASTER 工程“pmsmfloat.pmpx”控制电机,该工程位于包路径“an-mc-pmsm-dual-mcxa346motorcontrolfreemaster”下,用于控制电机、改变转子转速以及查看转速或其他值。 “pmsmfloatrelease.pmpx”用于Release配置。“pmsmfloatreleasesramx.pmpx”用于Releasesramx配置。

4.结果

以下是演示的CPU负载性能(未启用MAU):

| | 调试 - 配置 | 发布 - 配置 | Release_sramx - 配置 |
| :---------------------- | :------------------: | :------------------: | :--------------------: |
| 快速循环间隔 | 62.5微秒(16千赫) | 62.5微秒(16千赫) | 62.5微秒(16千赫) |
| M1 的快速循环处理时间 | 13.0微秒 | 13.2微秒 | 7.5微秒 |
| M1 的快速循环加载 | 20.7% | 21.1% | 12.0% |
| M2 的快速循环处理时间 | 12.9微秒 | 13.2微秒 | 7.5微秒 |
| M2 的快速循环加载 | 20.7% | 21.1% | 12.0% |
| 慢循环间隔 | 1毫秒(1千赫) | 1毫秒(1千赫) | 1毫秒(1千赫) |
| M1 的慢循环处理时间 | 1.7微秒 | 1.7微秒 | 1.1微秒 |
| M1 的慢循环加载 | 0.17% | 0.17% | 0.11% |
| M2 的慢循环处理时间 | 1.7微秒 | 1.7微秒 | 1.1微秒 |
| M2 的慢循环加载 | 0.17% | 0.17% | 0.11% |
| CPU 总负载 | 41.7% | 42.6% | 24.3% |

以下是演示的 CPU 负载性能(启用 MAU):

| | 调试 - 配置 | 发布 - 配置 | Release_sramx - 配置 |
| :---------------------- | :------------------: | :------------------: | :--------------------: |
| 快速循环间隔 | 62.5微秒(16千赫) | 62.5微秒(16千赫) | 62.5微秒(16千赫) |
| M1 的快速循环处理时间 | 11.0微秒 | 11.2微秒 | 6.5微秒 |
| M1 的快速循环加载 | 17.7% | 17.7% | 10.4% |
| M2 的快速循环处理时间 | 10.8微秒 | 11.1微秒 | 6.5微秒 |
| M2 的快速循环加载 | 17.3% | 17.8% | 10.4% |
| 慢循环间隔 | 1毫秒(1千赫) | 1毫秒(1千赫) | 1毫秒(1千赫) |
| M1 的慢循环处理时间 | 1.8微秒 | 1.6微秒 | 1.1微秒 |
| M1 的慢循环加载 | 0.18% | 0.16% | 0.11% |
| M2 的慢循环处理时间 | 1.8微秒 | 1.7微秒 | 1.1微秒 |
| M2 的慢循环加载 | 0.18% | 0.17% | 0.11% |
| CPU 总负载 | 35.3% | 35.8% | 21.0% |

5. 常见问题

如果适用,请在此处添加常见问题解答。如果没有,请删除此部分。

6. 支持

在此提供帮助的 URL。

项目元数据

董事会徽章

类别徽章

周边徽章 周边徽章

工具链徽章

来源:恩智浦appcodehub

  • an-mc-pmsm-dual-mcxa346-main.zip
    下载
恩智浦

恩智浦

恩智浦半导体创立于2006年,其前身为荷兰飞利浦公司于1953年成立的半导体事业部,总部位于荷兰埃因霍温。恩智浦2010年在美国纳斯达克上市。恩智浦2010年在美国纳斯达克上市。恩智浦半导体致力于打造全球化解决方案,实现智慧生活,安全连结。

恩智浦半导体创立于2006年,其前身为荷兰飞利浦公司于1953年成立的半导体事业部,总部位于荷兰埃因霍温。恩智浦2010年在美国纳斯达克上市。恩智浦2010年在美国纳斯达克上市。恩智浦半导体致力于打造全球化解决方案,实现智慧生活,安全连结。收起

查看更多

相关推荐