主要内容

基于霍尔传感器的永磁同步电机磁场定向控制

本例实现了场向控制(FOC)技术来控制三相永磁同步电机(PMSM)的速度。FOC算法需要转子位置反馈,由霍尔传感器获得。有关FOC的详细信息,请参见磁场定向控制(FOC)

本例使用霍尔传感器测量转子位置。霍尔效应传感器根据外加磁场的强度改变其输出电压。一个永磁同步电机由三个霍尔传感器组成,在电上分开120度。具有这种设置的PMSM可以提供六种有效的二进制状态组合(例如,001,010,01,100,101和110)。传感器以60度的倍数提供转子的角位置,控制器用它来计算角速度。然后,控制器可以使用角速度来计算转子的精确角位置。

模型

该示例包括以下模型:

您可以将这些模型用于模拟和代码生成。您也可以使用open_system命令打开Simulink®模型。例如,在基于F28069M的控制器上使用此命令:

open_system (“mcb_pmsm_foc_hall_f28069m.slx”);

有关可用于不同硬件配置的模型名称,请参阅生成代码并将模型部署到目标硬件部分中的所需硬件主题。

需要MathWorks®产品2022世界杯八强谁会赢?

模拟模型:

1.的模型:mcb_pmsm_foc_hall_f28069m

  • 电机控制Blockset™

  • 定点设计师™

2.的模型:mcb_pmsm_foc_hall_f28379d

  • 电机控制Blockset™

要生成代码并部署模型:

1.的模型:mcb_pmsm_foc_hall_f28069m

  • 电机控制Blockset™

  • 嵌入式编码器®

  • 德州仪器C2000处理器的嵌入式编码器支持包

  • 定点设计师™

2.的模型:mcb_pmsm_foc_hall_f28379d

  • 电机控制Blockset™

  • 嵌入式编码器®

  • 德州仪器C2000处理器的嵌入式编码器支持包

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

先决条件

1.获取电机参数。我们使用Simulink®模型提供默认的电机参数,您可以用电机数据表或其他来源的值替换这些参数。

但是,如果您有电机控制硬件,您可以通过使用电机控制块集参数估计工具来估计您想要使用的电机的参数。说明,请参阅使用推荐硬件估算PMSM参数

参数估计工具更新motorParam变量(在MATLAB®工作空间)与估计的电机参数。

2.如果您从数据表或其他来源获得电机参数,请在与Simulink®模型相关的模型初始化脚本中更新电机参数和逆变器参数。说明,请参阅估计控制增益并使用效用函数

如果使用参数估计工具,可以更新逆变器参数,但不能更新模型初始化脚本中的电机参数。脚本自动提取电机参数从更新motorParam工作空间变量。

模拟模型

这个例子支持模拟。按照以下步骤来模拟模型。

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

2.要模拟模型,单击运行模拟选项卡。

3.单击,查看和分析仿真结果数据检查模拟选项卡。

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

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

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

所需的硬件

本示例支持这些硬件配置。您也可以使用目标模型名称打开对应硬件配置的模型,从MATLAB®命令提示符。

与上述硬件配置相关的连接请参见F28069控制卡配置

上述硬件配置的相关连接请参见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_host_model_f28069m.slx”);

主机与目标型号之间的串口通信请参见Host-Target沟通

9.在主机模型中,打开主机串行设置块、主机串行接收块和主机串行发送块,并选择一个港口

10.更新主机模型中的Reference Speed值。

11.点击运行模拟选项卡运行主机模型。

12.将启动/停止电机开关的位置改为On,开始运行电机。

注意:当您以较低的参考速度在硬件上运行此示例时,由于已知的问题,PMSM可能不会遵循较低的参考速度。

13.观察来自RX子系统的调试信号,在主机模型的时间范围内。

注意:如果使用基于F28379D的控制器,还可以选择要监视的调试信号。

Baidu
map