主要内容

无传感器面向PMSM的控制控制

该示例实现了面向现场的控制(FOC)技术,以控制三相永磁同步电动机(PMSM)的速度。有关Foc的详细信息,请参阅面向现场控制(FOC)

该示例使用无传感器位置估计技术。您可以选择滑动模式观察者或通量观测器以估计该示例中使用的FOC算法的位置反馈。

滑动模式观察器(SMO)块在测量和估计位置之间的误差产生滑动运动。该块产生与测量位置密切成比例的估计值。该块使用定子电压$({v_ \ alpha},{v_ \ beta})$和潮流$({i_ \ alpha},{i_ \ beta})$作为输入并估计电机模型的电动势(EMF)。它使用EMF进一步估计转子位置和转子速度。Flux观察者块使用相同的输入$({v_ \ alpha},{v_ \ beta},{i_ \ alpha},{i_ \ beta})$估计定子磁通,产生的扭矩和转子位置。

如果使用Flux观察者,则该示例可以运行PMSM和无刷DC(BLDC)电机。

无传感器观察者和算法具有关于超出基极速度的电动机操作的局限性。我们建议您仅使用无传感器示例以仅限于基本速度的操作。

楷模

该示例包括这些模型:

您可以使用这些模型进行仿真和代码生成。您还可以使用Open_System命令打开模型。例如,对基于F28069M的控制器使用此命令:

Open_System('mcb_pmsm_foc_sensorless_f28069mlaunchpad.slx');

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

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

模拟模型:

1。对于模型:mcb_pmsm_foc_sensorless_f28069mlaunchpad.

  • 电机控制BlockSet™

  • 固定点设计器™

2。对于模型:mcb_pmsm_foc_sensorless_f28379d

  • 电机控制BlockSet™

要生成代码和部署模型:

1。对于模型:mcb_pmsm_foc_sensorless_f28069mlaunchpad.

  • 电机控制BlockSet™

  • 嵌入式译码器

  • 嵌入式Coder®支持德克萨斯乐金宝app器™C2000™处理器的支持包

  • 固定点设计器™

2。对于模型:mcb_pmsm_foc_sensorless_f28379d

  • 电机控制BlockSet™

  • 嵌入式译码器

  • 嵌入式Coder®支持德克萨斯乐金宝app器™C2000™处理器的支持包

  • 固定点设计器™(仅需要优化的代码生成)

先决条件

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偏移值并在模型初始化脚本中手动更新它。有关说明,请参阅在开环控制中运行3相交流电机并校准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');

有关主机与目标模型之间的串行通信的详细信息,请参阅主机目标沟通

8。在主机型号的主机串行设置块掩码中,选择一个端口名称

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

笔记:在以所需的参考速度运行电机之前(通过使用滑动模式观察者或通量观测器),请在0.1 x时开始运行电机pmsm.n_base.使用开环控制速度。然后通过将速度提高到0.25 x来过渡到闭环控制pmsm.n_base.(在哪里,pmsm.n_base.是MATLAB工作区变量用于电机的基本速度)。

10。点击跑步在这一点模拟标签以运行主机模型。

11.将启动/停止电机开关的位置更改为ON,以启动在开环状态下运行电机(默认情况下,电机旋转为基本速度的10%)。

笔记:在长时间持续时间内,请勿在开环条件下运行电机(使用此示例)。电机可以吸取高电流并产生过多的热量。

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

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

12.将电机参考速度提高到基本速度的10%以从开环切换到闭环控制。

笔记:要更改电机的旋转方向,将电机参考速度降低到小于基本速度的10%的值。这将电机带回开环状态。改变旋转方向,但保持参考速度幅度恒定。然后过渡到闭环条件。

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

笔记:

  • 高参考速度和高参考扭矩可以影响滑动模式观察者块性能。

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

其他要尝试的事情

您可以使用SOC BlockSet™实现无传感器闭环电机控制应用程序,该应用程序解决了与ADC-PWM同步,控制器响应和研究不同PWM设置相关的挑战。有关详细信息,请参阅在电机控制应用中集成MCU调度和外设

您还可以使用SOC BlockSet™开发无传感器实时电机控制应用程序,该应用程序利用多个处理器核心来获得设计模块化,改进的控制器性能和其他设计目标。有关详细信息,请参阅多处理器MCU的分区电机控制