Main Content

感应电机的无传感器磁场定向控制

此示例使用无传感器位置估计来实现磁场定向控制 (FOC) 方法,以控制三相交流感应电机 (ACIM) 的转速。有关 FOC 的详细信息,请参阅磁场定向控制 (FOC)

此示例使用转子 Flux Observer 模块来估计转子磁通的位置。

该模块使用定子电压 $({V_\alpha },{V_\beta })$ 和电流 $({I_\alpha },{I_\beta })$ 作为输入,并估计转子磁通、生成的转矩和转子磁通位置。

为确保检测到的位置准确,请将逆变器板电阻值添加到电机模块的定子相电阻参数和 Flux Observer 模块的定子电阻参数中。

无传感器的观测器和算法对于超出基转速的电机运行存在已知限制。我们建议您仅将无传感器示例用于基转速以下的运行。

注意:Flux Observer 模块估计的转速与实际转子转速之间存在误差。此误差在基转速百分之一的容差范围内。您可以在 Flux Observer 模块的位置输出中引入偏移量补偿,以最大限度地降低此误差。

模型

该示例包括模型 mcb_acim_foc_sensorless_f28379d

此模型既可用于仿真,也可用于代码生成。

有关支持的硬件配置的详细信息,请参阅“生成代码并将模型部署到目标硬件”一节中的“必需的硬件”主题。

必需的 MathWorks 产品

要仿真模型,您需要:

  • Motor Control Blockset™

要生成代码并部署模型,您需要:

  • Motor Control Blockset™

  • Embedded Coder®

  • C2000™ Microcontroller Blockset

  • Fixed-Point Designer™(仅在优化代码生成时需要)

前提条件

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

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

3.初始化脚本还会计算派生参数。例如,感应电机的总漏磁因子、额定磁通、额定转矩、定子和转子电感。

仿真模型

此示例支持仿真。请按照以下步骤仿真模型。

1.打开此示例附带的模型。

2.点击仿真选项卡上的运行来仿真该模型。

3.点击仿真选项卡上的数据检查器来查看和分析仿真结果。

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

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

此示例使用一个主机模型和一个目标模型。主机模型是控制器硬件板的一个用户界面。您可以在主机上运行主机模型。使用主机模型的前提条件是将目标模型部署到控制器硬件板上。主机模型使用串行通信对目标 Simulink® 模型发出指令,并以闭环控制方式运行电机。

必需的硬件

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

有关与此硬件配置相关的连接,请参阅 LAUNCHXL-F28069M 和 LAUNCHXL-F28379D 配置

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

1.仿真目标模型并观测仿真结果。

2.完成硬件连接。

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

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

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

5.将一个示例程序加载到 LAUNCHXL-F28379D 的 CPU2(例如使用 GPIO31 引脚操作 CPU2 蓝色 LED 的程序 c28379D_cpu2_blink.slx),以确保 CPU2 没有错误地配置为使用预留给 CPU1 的板载外设。有关示例程序或模型的详细信息,请参阅 Getting Started with Texas Instruments C2000 Microcontroller Blockset (C2000 Microcontroller Blockset) 中的“任务 2 - 为 TI Delfino F28379D LaunchPad(双核)创建、配置和运行模型”部分。

6.点击硬件选项卡上的编译、部署和启动以将目标模型部署到硬件上。

7.在目标模型中,点击主机模型超链接以打开关联的主机模型。

有关主机模型和目标模型之间串行通信的详细信息,请参阅Host-Target Communication

8.在与目标模型关联的模型初始化脚本中,使用变量 target.comport 指定通信端口。该示例使用此变量来更新主机模型中可用的 Host Serial Setup、Host Serial Receive 和 Host Serial Transmit 模块的端口参数。

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

10.Debug signals 部分中,选择您要监控的信号。

11.点击仿真选项卡上的运行以运行主机模型。

12.将 Start / Stop Motor 开关的位置切换到 On 以开始在开环状态下运行电机(默认情况下,电机以 10% 的基转速旋转)。

注意:使用此示例时,不要长时间在开环状态下运行电机。电机可能会消耗大量电流并产生过多热量。

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

13.将电机的 Reference Speed 提高到高于基转速的 10% 以从开环控制切换到闭环控制。

注意:要更改电机的旋转方向,请将电机的参考转速降至低于基转速 10% 的值。这会使电机回到开环状态。更改旋转方向,但保持 Reference Speed 的大小不变。然后转换到闭环状态。

14.观测在主机模型的 SelectedSignals 时间示波器内来自 RX 子系统的调试信号。