主要内容

控制PMSM加载双电机(DYNO)

这个例子使用磁场定向控制(FOC)控制两个三相永磁同步电动机(PMSM)耦合在一个动态设置。电机1以闭环速度控制方式运行。电机2在扭矩控制模式下运行,并负载电机1,因为它们是机械耦合的。你可以用这个例子来测试不同负载条件下的电机。

这个例子模拟了两个背靠背连接的电机。您可以使用不同的速度参考电机1和不同的扭矩参考电机2(从电机2参考定子电流的大小和电气位置)。电机1以电机2提供的负载条件的参考速度运行(具有不同的扭矩参考)。

这些方程描述了…的计算d-axis和- 电动机2参考定子电流的轴组件。

$$ i {d ^ {ref}} = ima {g ^ {ref}} \ times {\ rm {cos}} {\ theta _e} $$

$ $我{问^ {ref}} = Ima {g ^ {ref}} \ * {\ rm{罪}}{\θ_e} $ $

地点:

  • 美元我{d ^ {ref}} $是个d电动机2参考定子电流的轴组件。

  • $ i {q ^ {ref}} $是个电动机2参考定子电流的轴组件。

  • 美元$ Ima {g ^ {ref}}是电动机2参考定子电流的幅度。

  • $ {\ theta _e} $是电动机2参考定子电流的电位置。

该示例在控制器硬件板中运行。您可以使用主机模型输入电机1的速度参考和电机2的电流参考。主机模型使用串行通信与控制器硬件板通信。

电机1和电机2控制算法中的电流控制环路由TS / 2偏移,其中TS是控制循环执行速率。

楷模

该示例包括模型mcb_pmsm_foc_f28379d_dyno

您可以将此模型用于模拟和代码生成。您也可以使用open_system命令来打开Simulink®模型。万博1manbetx例如,对于基于F28379D的控制器使用以下命令:

Open_System(“mcb_pmsm_foc_f28379d_dyno.slx”);

需要MathWorks®产品s manbetx 845

模拟模型:

  • 电机控制Blockset™

要生成代码和部署模型:

  • 电机控制Blockset™

  • 嵌入式编码器®

  • 嵌入式Coder®COSECTI万博1manbetxON™C2000™处理器的支持包

  • 定点设计器™(仅用于优化代码生成)

先决条件

1.获得电机1和电机2的电机参数。我们提供默认电机参数,使用Simulink®模型,您可以使用来自电机数据表或其他来源的值替换。万博1manbetx

然而,如果您有电机控制硬件,您可以通过使用motor control Blockset™参数估计工具来估计想要使用的电机参数。说明,请参阅使用推荐的硬件估算PMSM参数

2.更新与Simulink®模型关联的模型初始化脚本中的电机参数(您从数据表、其他来源或参数估计工具获得的)和逆变器参数。万博1manbetx说明,请参阅从电动机参数估计控制收益

对于本例,在模型初始化脚本中更新两个电机的电机参数。

模拟模型

此示例支持模拟。万博1manbetx按照以下步骤模拟模型。

1.打开本示例中包含的模型。

2.点击运行在这方面模拟标签以模拟模型。

3.点击数据检查员在这方面模拟TAB来查看和分析仿真结果。

4.为电机1输入不同的速度参考和电机2的不同电流参考(负载)。观察数据检查器中的测量速度和其他记录信号。

生成代码和部署模型到目标硬件

本节将指导您生成代码并在目标硬件上运行FOC算法。

该示例使用了一个主机和一个目标模型。主机型号是控制器硬件板的用户界面。您可以在主机计算机上运行主机型号。使用主机模型的前提是将目标模型部署到控制器硬件板上。主机模型使用串行通信命令目标Simulink®模型,并在闭环控制中运行电机。万博1manbetx

需要硬件

该示例支持此硬件配置。万博1manbetx您还可以使用目标模型名称从MATLAB®命令提示符打开相应硬件配置的模型。

与上述硬件配置相关的连接请参见Dyno(双电机)设置说明

在目标硬件上生成代码并运行模型

1.模拟目标模型并观察模拟结果。

2.完成硬件连接。

3.该模型自动计算ADC(或当前)偏移值。要禁用此功能(默认情况下启用),请将值0更新到模型初始化脚本中的变量逆变器.Adcoffsetcalibenable。

或者,您可以计算ADC偏移值并在模型初始化脚本中手动更新它。说明,请参阅在开环控制中运行3相交流电机并校准ADC偏移量

4.计算正交编码器索引偏移值并在与目标模型关联的模型初始化脚本中更新。说明,请参阅PMSM电机的正交编码器偏移校准

在此示例中,在初始化脚本中更新pmsm_motor1.positionOffset和pcsm_motor2.positionOffset变量中的QEP偏移值。

5.打开目标模型。如果您想更改模型的默认硬件配置设置,请参见模型配置参数

6.为确保CPU2未经错误地配置为使用用于CPU1的电路板外围设备,请将样本程序加载到LaunchXL-F28379D的CPU2,例如,使用GPIO31操作CPU2蓝色LED的程序(C28379D_CPU2_BLink.slx)。

7.点击构建、部署和启动在这方面硬件选项卡将模型部署到硬件。

8.点击主机模式目标模型中的超链接以打开关联的主机模型。您还可以使用Open_System命令打开主机型号:

Open_System('mcb_pmsm_foc_host_model_dyno.slx');

9。在主机型号的Host Serial Setup块掩码中,选择a端口名称

10。点击运行在这方面模拟选项卡以运行主机模型。

11.改变位置启动/停止电机1切换到开启,开始运行电机。

12.更新电机1 - 参考速度(RPM)电机2 - Imag Ref(a), 和马达2 - Imag Pos (deg)在主机模型中。

注意:使用90或270度以外的值时要谨慎马达2 - Imag Pos (deg)场地。这些值会产生电流d产生磁化效果的轴。超电流沿d-轴会造成饱和,并会损坏电机磁铁。

13.选择要监视的调试信号,以在主机模型的时间范围内观察它们。

其他事情要尝试

您还可以使用SoC Blockset™为双电机设置开发实时电机控制应用程序,利用多处理器核心获得设计模块化,改善控制器性能,以及其他设计目标。有关详细信息,请参见多处理器MCU的分区电机控制