本实例实现了磁场定向控制(FOC)技术来控制三相永磁同步电机(PMSM)的速度。FOC算法需要转子位置反馈,由霍尔传感器获得。关于FOC的详细信息请参见磁场定向控制(FOC).
本例使用霍尔传感器测量转子位置。霍尔效应传感器根据外加磁场的强度改变其输出电压。永磁同步电机由三个霍尔传感器组成,三个霍尔传感器在电气上相隔120度。具有此设置的永磁同步电机可提供六种有效的二元状态组合(例如,0010100111100101和110)。传感器以60度的倍数提供转子的角位置,控制器使用该角位置计算角速度。然后,控制器可以使用角速度计算转子的准确角位置。
该示例包括以下模型:
您可以将这些模型用于模拟和代码生成。您也可以使用open_system命令打开Simulink®模型。例如,将此命令用于基于F28069M的控制器:金宝app
开放式系统(“mcb_pmsm_foc_hall_f28069m.slx”);
有关可用于不同硬件配置的模型名称,请参见Generate Code and Deploy model to Target hardware一节中的Required hardware主题。
要模拟模型,请执行以下操作:
1.对于模型:mcb_pmsm_foc_hall_f28069m
电机控制Blockset™
定点设计师™
2.对于模型:mcb_pmsm_foc_hall_f28379d
电机控制Blockset™
要生成代码和部署模型:
1.对于模型:mcb_pmsm_foc_hall_f28069m
电机控制Blockset™
嵌入式编码器®
德克萨斯仪器嵌入式编码器®支持包金宝app™ C2000™ 处理器
定点设计师™
2.对于模型:mcb_pmsm_foc_hall_f28379d
电机控制Blockset™
嵌入式编码器®
德克萨斯仪器嵌入式编码器®支持包金宝app™ C2000™ 处理器
定点设计器™(仅用于优化代码生成)
1.获取电机参数。我们在Simulink®模型中提供默认的电机参数,您可以用电机数据表或其他来源的值替换。金宝app
然而,如果你有电机控制硬件,你可以估计你想使用的电机参数,通过使用电机控制模块参数估计工具。说明,请参阅使用推荐硬件估算永磁同步电机参数.
参数估计工具将更新motorParam变量(在MATLAB®工作空间中)与估计的电机参数。
2.如果从数据表或其他来源获取电机参数,请更新与Simulink®模型相关的模型初始化脚本中的电机参数和逆变器参数。有关说明,请参阅金宝app根据电机参数估计控制增益.
如果使用参数估计工具,可以更新逆变器参数,但不能更新模型初始化脚本中的电机参数。该脚本自动提取电机参数从更新motorParam工作空间变量。
此示例支持模拟。按照以下步金宝app骤模拟模型。
1.打开本示例中包含的模型。
2.要模拟模型,单击运行上模拟选项卡。
3.单击,查看和分析仿真结果数据检查器上模拟选项卡。
本节将指导您生成代码并在目标硬件上运行FOC算法。
这个例子使用了一个主机和一个目标模型。主机型号是控制器硬件板的用户界面。您可以在主机计算机上运行主机型号。使用主机模型的前提是将目标模型部署到控制器硬件板上。主机模型使用串行通信命令目标Simulink®模型,并在闭环控制中运行电机。金宝app
所需硬件
此示例支持这些硬件配置。您金宝app还可以使用目标模型名称从MATLAB®命令提示符打开相应硬件配置的模型。
F28069M控制器卡+ DRV8312-69M-KIT逆变器:mcb_pmsm_foc_hall_f28069m
与上述硬件配置相关的连接请参见F28069控制卡配置.
LAUNCHXL-F28069M控制器+ BOOSTXL-DRV8305变频器:mcb_pmsm_foc_hall_f28069m
LAUNCHXL-F28379D控制器+ (BOOSTXL-DRV8305或BOOSTXL-3PHGANINV)变频器:mcb_pmsm_foc_hall_f28379d
与上述硬件配置相关的连接请参见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.在目标模型中,单击主机模式超链接以打开关联的主体模型。您还可以使用“打开系统”命令打开主体模型。例如,对基于F28069M的控制器使用以下命令:
开放式系统(“mcb_主机_型号_f28069m.slx”);
有关主机和目标型号之间串行通信的详细信息,请参阅主-目标通信.
9在主机型号的Host Serial Setup块掩码中,选择a端口名称.
10更新主机模型中的参考速度值。
11.点击运行上模拟选项卡以运行主机模型。
12.将启动/停止电机开关的位置更改为On,以开始运行电机。
注意:当您以较低的参考速度在硬件上运行此示例时,由于已知的问题,PMSM可能不会遵循较低的参考速度。
13.在主机模型的时间范围内,观察来自RX子系统的调试信号。
注意:如果使用基于F28379D的控制器,还可以选择要监视的调试信号。