这个例子使用磁场定向控制(FOC)控制两个三相永磁同步电动机(PMSM)耦合在一个动态设置。电机1以闭环速度控制方式运行。电机2在扭矩控制模式下运行,并负载电机1,因为它们是机械耦合的。你可以用这个例子来测试不同负载条件下的电机。
这个例子模拟了两个背靠背连接的电机。您可以使用不同的速度参考电机1和不同的扭矩参考电机2(从电机2参考定子电流的大小和电气位置)。电机1以电机2提供的负载条件的参考速度运行(具有不同的扭矩参考)。
这些方程描述了…的计算d
设在和问
电机2参考定子电流的-轴分量。
地点:
是d
电机2参考定子电流的-轴分量。
是问
电机2参考定子电流的-轴分量。
为电机2参考定子电流的大小。
为电机2参考定子电流的电气位置。
示例运行在控制器硬件板上。您可以使用主机型号输入电机1的速度参考和电机2的电流参考。主机采用串行通信方式与控制器硬件板进行通信。
电机1和电机2控制算法中的电流控制环被Ts/2偏移,其中Ts为控制环执行速率。
该示例包括模型mcb_pmsm_foc_f28379d_dyno.
您可以将此模型用于模拟和代码生成。您也可以使用open_system命令来打开Simulink®模型。金宝app例如,对于基于F28379D的控制器使用以下命令:
open_system (“mcb_pmsm_foc_f28379d_dyno.slx”);
模拟模型:
电机控制Blockset™
要生成代码和部署模型:
电机控制Blockset™
嵌入式编码器®
德州仪器C2000处理器的嵌入式金宝app编码器支持包
定点设计器™(仅用于优化代码生成)
1.获取电机1和电机2的电机参数。我们在Simulink®模型中提供默认的电机参数,您可以用电机数据表或其他来源的值替换。金宝app
然而,如果您有电机控制硬件,您可以通过使用motor control Blockset™参数估计工具来估计想要使用的电机参数。说明,请参阅使用推荐硬件估计PMSM参数.
2.更新与Simulink®模型关联的模型初始化脚本中的电机参数(您从数据表、其他来源或参数估计工具获得的)和逆变器参数。金宝app说明,请参阅从电机参数估计控制增益.
对于本例,在模型初始化脚本中更新两个电机的电机参数。
这个例子支持模拟。金宝app按照以下步骤模拟模型。
1.打开本示例中包含的模型。
2.点击运行在模拟TAB来模拟模型。
3.点击数据检查在模拟TAB来查看和分析仿真结果。
4.为电机1输入不同的速度参考,为电机2输入不同的电流参考(负载)。在数据检查器中观察测量的速度和其他记录的信号。
本节将指导您生成代码并在目标硬件上运行FOC算法。
该示例使用了一个主机和一个目标模型。主机型号是控制器硬件板的用户界面。您可以在主机计算机上运行主机型号。使用主机模型的前提是将目标模型部署到控制器硬件板上。主机模型使用串行通信命令目标Simulink®模型,并在闭环控制中运行电机。金宝app
所需的硬件
本示例支持此硬件配置。金宝app也可以使用目标模型名称打开模型对应的硬件配置,从MATLAB®命令提示符。
LAUNCHXL-F28379D控制器+ 2 BOOSTXL-DRV8305变频器:mcb_pmsm_foc_f28379d_dyno
LAUNCHXL-F28379D控制器+ 2 BOOSTXL-3PHGANINV逆变器:mcb_pmsm_foc_f28379d_dyno
与上述硬件配置相关的连接请参见Dyno(双电机)设置说明.
在目标硬件上生成代码并运行模型
1.对目标模型进行仿真,观察仿真结果。
2.完成硬件连接。
3.该模型自动计算ADC(或电流)偏移值。若要禁用此功能(默认启用),将变量逆变器的值更新为0。模型初始化脚本中的ADCOffsetCalibEnable。
或者,您可以计算ADC偏移值并在模型初始化脚本中手动更新它。说明,请参阅运行三相交流电机在开环控制和校准ADC偏移.
4.计算正交编码器索引偏移值,并在与目标模型相关联的模型初始化脚本中更新它。说明,请参阅PMSM电机的正交编码器偏移校准.
对于本例,更新pmsm_motor1中的QEP偏移值。PositionOffset pmsm_motor2。初始化脚本中的PositionOffset变量。
5.打开目标模型。如果您想更改模型的默认硬件配置设置,请参见模型配置参数.
6.为了确保CPU2不会被错误地配置为使用为CPU1准备的单板外设,可以在LAUNCHXL-F28379D的CPU2上加载一个示例程序,例如使用GPIO31 (c28379D_cpu2_blink.slx)操作CPU2蓝色LED的程序。
7.点击构建、部署和启动在硬件选项卡将模型部署到硬件。
8.单击主机模式在目标模型中进行超链接以打开关联的主机模型。您也可以使用open_system命令打开主机模型:
open_system (“mcb_pmsm_foc_host_model_dyno.slx”);
9.在主机型号的Host Serial Setup块掩码中,选择a端口名称.
10.点击运行在模拟选项卡以运行主机模型。
11.改变位置启动/停止电机切换到On,启动电机运行。
12.更新电机1 -参考转速(RPM),电机2 - Imag Ref (A),马达2 - Imag Pos (deg)在主机模型中。
注意:使用90度或270度以外的值时要小心马达2 - Imag Pos (deg)字段。这些值产生电流沿d
产生磁化效果的轴。超电流沿d
-轴会造成饱和,并会损坏电机磁铁。
13.选择要监控的调试信号,在主机模型的Time Scope块中观察它们。
您还可以使用SoC Blockset™为双电机设置开发实时电机控制应用程序,利用多处理器核心获得设计模块化,改善控制器性能,以及其他设计目标。有关详细信息,请参见多处理器微处理器分区电机控制.