主要内容

永磁同步电机无传感器磁场定向控制

本实例实现了磁场定向控制(FOC)技术来控制三相永磁同步电机(PMSM)的速度。关于FOC的详细信息请参见磁场定向控制(FOC)

这个例子使用了无传感器的位置估计技术。您可以选择滑模观测器或磁链观测器来估计示例中使用的FOC算法的位置反馈。

滑模观测器(SMO)块在测量位置和估计位置之间的误差上产生滑动运动。该区块产生的估计值与测量位置紧密成正比。块使用定子电压$ ({V_ \α},{V_ \β})美元和电流$ ({I_ \α},{I_ \β})美元作为输入并估计电机模型的电动势(emf)。它利用电动势进一步估计转子位置和转子速度。Flux Observer块使用相同的输入$({V_\alpha},{V_\beta},{I_\alpha},{I_\beta})$用来估计定子磁链、产生的转矩和转子的位置。

如果你使用磁链观测器,这个例子可以运行PMSM和无刷直流(BLDC)电机。

无传感器的观察者和算法已经知道电机运行速度超过基本速度的局限性。我们建议您使用无传感器的例子,操作的基础速度仅。

模型

该示例包括以下模型:

您可以将这些模型用于模拟和代码生成。您还可以使用open_system命令打开模型。例如,对于基于F28069M的控制器使用以下命令:

open_system (“mcb_pmsm_foc_sensorless_f28069MLaunchPad.slx”);

有关可用于不同硬件配置的模型名称,请参见Generate Code and Deploy model to Target hardware一节中的Required hardware主题。

需要MathWorks®产品下载188bet金宝搏

模拟模型:

1.的模型:mcb_pmsm_foc_sensorless_f28069MLaunchPad

  • 电机控制Blockset™

  • 定点设计师™

2.的模型:mcb_pmsm_foc_sensorless_f28379d

  • 电机控制Blockset™

要生成代码和部署模型:

1.的模型:mcb_pmsm_foc_sensorless_f28069MLaunchPad

  • 电机控制Blockset™

  • 嵌入式编码器®

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

  • 定点设计师™

2.的模型:mcb_pmsm_foc_sensorless_f28379d

  • 电机控制Blockset™

  • 嵌入式编码器®

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

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

先决条件

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

然而,如果你有电机控制硬件,你可以估计你想使用的电机参数,通过使用电机控制模块参数估计工具。有关说明,请参阅使用电机控制模块参数估计工具估计电机参数

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

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

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

滑模观测器参数需要调整,如果您使用滑模观测器与电机参数估计使用参数估计工具。

模拟模型

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

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

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

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

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

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

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

所需的硬件

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

与上述硬件配置相关的连接请参见LAUNCHXL-F28069M和LAUNCHXL-F28379D配置

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

1.对目标模型进行仿真,观察仿真结果。

2.完成硬件连接。

3.该模型自动计算模数转换器(ADC)或电流偏移值。若要禁用此功能(默认启用),将变量逆变器的值更新为0。模型初始化脚本中的ADCOffsetCalibEnable。

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

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

5.在LAUNCHXL-F28379D的CPU2上加载一个示例程序,例如使用GPIO31 (c28379D_cpu2_blink.slx)操作CPU2蓝色LED的程序,以确保CPU2不会被错误地配置为使用为CPU1准备的单板外设。

6.点击构建、部署和启动硬件选项卡以将目标模型部署到硬件。

7.在目标模型中,单击主机模式超链接以打开关联的主机模型。您也可以使用open_system命令打开主机模型。例如,对于基于F28069M的控制器使用以下命令:

open_system (“mcb_host_model_f28069m.slx”);

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

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

9.更新主机模型中的参考速度值。

注意:在您运行电机在所需的参考速度(通过使用滑模观测器或磁链观测器),开始运行电机在0.1 x永磁同步电动机。N_base速度采用开环控制。然后过渡到闭环控制,将速度提高到0.25 x永磁同步电动机。N_base(在那里,永磁同步电动机。N_base为电机基本转速的MATLAB工作空间变量)。

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

11.将启动/停止电机开关的位置改为On,电机在开环状态下开始运行(默认电机转速为基准转速的10%)。

注意:不要长时间在开环状态下运行电机(使用本例)。电机可能会产生大电流并产生过热。

我们设计了开环控制,以运行电机的参考速度小于或等于10%的基础速度。

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

12.将电机基准转速提高10%以上,从开环控制切换到闭环控制。

注意:若要改变电机的旋转方向,请将电机参考转速降低至基准转速的10%以下。这使电机回到开环状态。改变旋转方向,但保持参考速度大小不变。然后转到闭环条件。

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

注意:

  • 高参考速度和高参考转矩会影响滑模观测器块的性能。

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

其他可以尝试的事情

您可以使用SoC Blockset™实现无传感器闭环电机控制应用程序,解决与ADC-PWM同步、控制器响应和学习不同的PWM设置相关的挑战。有关详细信息,请参见集成单片机调度和外围设备在电机控制中的应用

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