基于MCX E31B的三相永磁同步电机磁场定向控制解决方案
本应用笔记介绍了在NXP MCX E31B MCU上实现无传感器FOC的方法。有关如何使用此软件的完整说明,请参阅AN14797 。
用于永磁同步电机无传感器控制的演示代码使用了以下恩智浦平台:
• FRDM-MCXE31B
• 低压三相永磁同步电机控制自由开发平台 (FRDM-MC-LVPMSM)
• 电机型号:LINIX 45ZWN24-40 或 Teknic M-2310P
电路板:FRDM-MCXE31B
类别:电机控制
外设:ADC、PWM
工具链:MCUXpresso IDE、VS Code
目录
1. 软件
- 下载并安装MCUXpresso IDE V25.06 或更高版本。
- SDK250900FRDM-MCXE31B
- 下载并安装最新版本的FreeMASTER(3.2.2.2)。
- 从 Git 存储库an-mc-pmsm-mcxe31B下载代码。
- Visual Studio Code 的 MCUXpresso:此示例支持 Visual Studio Code 的 MCUXpresso,有关如何使用 Visual Studio Code 的更多信息,请参阅此处。
- (可选)点击此处下载 GUI Guilder(1.8.0 GA)。
2. 硬件
- FRDM-MCXE31B 板
- FRDM-MC-LVPMSM
- 电机:Linix 45ZWN24-40或 Teknic M-2310P
- USB Type-C 线缆
- 个人电脑
3. 设置
3.1 硬件设置
将FRDM-MC-LVPMSM扩展板连接到FRDM-MCXE31B板的J1~J4 Arduino 连接器。按照相序将电机的三相线连接到FRDM-MC-LVPMSM上的J7连接器。
适用于电机 LINIX 45ZWN24-40:
白色宽线 - A相;
蓝色宽线- B相;
绿色宽线- C 相。
对于 Teknic M-2310P 电机:
黑色宽线- A相;
红色宽线- B相;
白色宽线- C 相。
使用24V电源适配器通过J6接口为FRDM-MC-LVPMSM开发板供电。 使用 USB Type-C 数据线通过J13接口连接到FRDM-MCXE31B开发板。编译完成后,使用工具栏中的调试按钮下载代码。根据板载调试器的固件版本,在“调试方式”中选择CMSIS-DAP或J-Link 。
3.2 导入项目
- 打开 MCUXpresso IDE,在快速入门面板中,选择“从应用程序代码中心导入”。
- 在搜索栏中输入演示名称。
- 点击“复制 GitHub 链接”,MCUXpresso IDE 将自动检索项目属性,然后点击“下一步”。
- 选择主分支,然后单击“下一步”>,选择 MCUXpresso 项目,单击“完成”按钮完成导入。
- 点击“生成”开始编译项目。
- 从工具栏中选择GUI 烧录工具,将可执行文件编程到开发板。
3.3 用户界面
该应用程序包含演示模式,用于演示电机旋转。您可以使用用户按钮或 FreeMASTER 来操作它。
- NXP 开发板包含一个用户按钮,该按钮与端口中断相关联(每次按下按钮时都会产生中断)。在中断服务例程 (ISR) 开始时,会执行一段简单的逻辑,并将中断标志清除。按下按钮后,演示模式启动。再次按下同一个按钮,应用程序停止并返回到停止状态。
- 与演示模式交互的另一种方法是使用 FreeMASTER 工具。FreeMASTER 应用程序由两部分组成:用于变量可视化的 PC 应用程序和运行在嵌入式应用程序中的软件驱动程序集。串行接口用于在 PC 和嵌入式应用程序之间传输数据。该接口由板载调试器提供。
使用 FreeMASTER 进行远程控制(下一章):在 FreeMASTER 变量监视器中设置变量
3.4 电机配置
项目源文件夹中有两个电机参数和控制参数头文件,分别是“m1pmsmappconfig.h” (用于LINIX 45ZWN24-40)和“m2pmsmappconfig.h”(用于Teknic M-2310P)。
如果使用LINIX 45ZWN24-40,则默认情况下应将m1pmsmappconfig包含在头文件m1smsnsless.h
(an-mc-pmsm-mcxe31Bmotorcontrolpmsmpmsmfloatmcstatemachine)中。 如果使用Teknic M-2310P,则需要将包含的文件更改为m2pmsmappconfig。
按下SW2可运行或停止电机。按下SW3可停止电机。
3.5 使用 FreeMASTER 进行远程控制
本节提供有关使用 FreeMASTER 控制有传感器/无传感器 PMSM 磁场定向控制 (FOC) 应用的工具和推荐程序的信息。
您可以从www.nxp.com/freemaster下载最新版本的 FreeMASTER 。要运行包含 MCAT 工具的 FreeMASTER 应用程序,请双击位于 middlewaremotorcontrolfreemaster 目录下的 pmsmfloat.pmpx 文件。
文件夹。FreeMASTER 应用程序启动,并根据 *.pmpx 文件中的定义自动创建环境。
注意:在 MCUXpresso 中,FreeMASTER 应用程序可以直接从 IDE 的 motor_control/freemaster 文件夹中运行。
- 将项目从您选择的 IDE 下载到 MCU 并运行它。
- 打开 FreeMASTER 项目 pmsm_float.pmpx
- 要建立通信,请点击通信按钮(左上角的绿色“GO”按钮)。
- 如果通信成功建立,右下角的 FreeMASTER 通信状态将从“未连接”变为“RS-232 UART 通信;COMxx;速度=115200”。否则,将出现 FreeMASTER 警告弹出窗口,如下所示:
- 通过向变量监视器中的控制变量写入数据来控制永磁同步电机。
- 如果在Teknic M-2310P上使用基于正交编码器的传感器控制,则在3. 速度控制监视子块的变量监视窗口中,将M1 MCATPOSESensor值切换为1(无传感器控制的默认值为0 )。
3.6 用户界面(NXP GUI Guilder 项目)
此演示还支持 NXP GUI Guider 用户界面。它主要使用 FreeMASTER 的 TCP 端口作为中继,利用本地 TCP 数据接口在 GUI Guider 界面上可视化数据。
GUI Guider 项目文件位于 ./gui_guider 目录中。
具体使用步骤如下:
- 打开并确认 FreeMASTER 界面功能齐全且可控。如果 FreeMASTER 界面无法正常工作,请忽略后续步骤。
- 使用 GUI Guider 1.8.0 打开 ./guiguider/motorcontrol_v1.guiguider
- 点击右下角的 FreeMASTER,点击“链接到 FreeMASTER 服务器”,然后点击“确定”(使用默认参数)。
- 点击“同步变量”以同步 FreeMASTER 数据源。
- 点击模拟器,编译 C 项目,然后 GUI 指导界面即可使用。
请注意,GUI Guider 不支持任何特殊字符(空格、“.”、“-”等)。请仔细检查路径,否则 GUI Guider 项目将无法编译。
4. 结果
电路板可以驱动电机,电机就可以运转。
项目元数据
有关此示例的内容/正确性的问题,可以作为 Issues 提交到此 GitHub 存储库中
来源:恩智浦appcodehub
822
