基于SI单元的永磁同步电机磁场定向控制
本例实现了场定向控制(FOC)技术来控制三相永磁同步电机(PMSM)的速度。但是,不是数量的单位表示(有关单位系统的详细信息,请参见单位系统),本例中的FOC算法使用信号的SI单位来执行计算。这些是信号和它们的SI单位:
转子速度-弧度/秒
转子位置-弧度
电流-安培
电压-电压
磁场定向控制(FOC)需要转子位置的实时反馈。本例使用正交编码器传感器测量转子位置。关于FOC的详细信息,请参见磁场定向控制(FOC).
模型
示例包含模型mcb_pmsm_foc_qep_f28379d_SIUnit.
您可以将此模型用于模拟和代码生成。您也可以使用open_system命令打开Simulink®模型。金宝app以F28379D控制器为例:
open_system (“mcb_pmsm_foc_qep_f28379d_SIUnit.slx”);
需要MathWorks®产品下载188bet金宝搏
模拟模型:
电机控制块集™
生成代码并部署模型:
电机控制块集™
嵌入式编码器®
德州仪器C2000处理器的嵌入式金宝appCoder®支持包
定点设计器™(仅用于优化代码生成)
先决条件
1.获取电机参数。我们提供Simulink®模型的默认电机参数,您可以用电机数据表或其他来源的值替换。金宝app
但是,如果您有电机控制硬件,您可以通过使用motor control Blockset参数估计工具来估计要使用的电机的参数。有关说明,请参见使用推荐硬件估算PMSM参数.
参数估计工具更新motorParam变量(在MATLAB®工作空间)与估计电机参数。
2.如果您从数据表或其他来源获得电机参数,请更新与Simulink®模型相关的模型初始化脚本中的电机参数和逆变器参数。金宝app有关说明,请参见估计控制增益并使用效用函数.
如果使用参数估计工具,可以更新逆变器参数,但不更新模型初始化脚本中的电机参数。脚本自动从更新的文件中提取电机参数motorParam工作空间变量。
模拟模型
本例支持模拟。金宝app按照以下步骤模拟模型。
1.打开本示例中包含的模型。
2.点击运行在模拟TAB来模拟模型。
3.点击数据检查在模拟选项卡查看和分析仿真结果。
生成代码并将模型部署到目标硬件
本节指导您在目标硬件上生成代码并运行FOC算法。
该示例使用一个主机和一个目标模型。主机模型是控制器硬件板的用户界面。您可以在主机计算机上运行主机模型。使用该主机型号的前提是将目标型号部署到控制器硬件板上。主机模型使用串行通信命令目标模型,并在闭环控制中运行电机。
所需的硬件
该示例支持这种硬件配置。金宝app还可以使用目标模型名称从MATLAB®命令提示符打开相应硬件配置的模型。
LAUNCHXL-F28379D控制器+ BOOSTXL-DRV8305变频器:mcb_pmsm_foc_qep_f28379d_SIUnit
与上述硬件配置相关的连接请参见LAUNCHXL-F28069M和LAUNCHXL-F28379D配置.
在目标硬件上生成代码和运行模型
1.对目标模型进行仿真,观察仿真结果。
2.完成硬件连接。
3.该模型自动计算ADC(或电流)偏移值。若要禁用此功能(默认启用),请将值0更新为可变逆变器。模型初始化脚本中的ADCOffsetCalibEnable。
或者,您可以计算ADC偏移值,并在模型初始化脚本中手动更新它。有关说明,请参见在开环控制下运行三相交流电机并校准ADC偏移.
4.计算正交编码器索引偏移值,并在与目标模型相关的模型初始化脚本中更新它。有关说明,请参见永磁同步电机正交编码器偏置校准.
5.打开目标模型。如果要更改该型号的默认硬件配置设置,请参见型号配置参数.
6.在LAUNCHXL-F28379D的CPU2上加载一个示例程序,例如,使用GPIO31 (c28379D_cpu2_blink.slx)操作CPU2蓝色LED的程序,以确保CPU2不会被错误地配置为使用CPU1的板外设。
7.点击构建、部署和启动在硬件选项卡将目标模型部署到硬件。
8.单击主机模式在目标模型中使用超链接打开关联的主机模型。您还可以使用open_system命令打开主机模型。以F28069M控制器为例:
open_system (“mcb_pmsm_SIUnit_host_model.slx”);
主机与目标机型的串口通信请参见Host-Target沟通.
9.在主机模型中,打开“主机串行设置”、“主机串行接收”和“主机串行传输”块,并选择a港口.
10.更新主机模型中的参考速度值。
11.点击运行在模拟TAB来运行主机模型。
12.将起动/停止电机开关位置改为On,开始运行电机。
13.在主机模型的Time Scope中观察来自RX子系统的调试信号。