主要内容

本页采用了机器翻译。点击此处可查看英文原文。

基于 C2000 处理器的三相交流电机开环控制

本例使用开环控制(也称为标量控制或伏特/赫兹控制)来运行电机。该技术通过改变定子电压和频率来控制转子速度,而无需使用来自电机的任何反馈。您可以使用这种方法来检查硬件连接的完整性。开环控制的恒速应用采用固定频率的电机电源。开环控制的可调速应用需要变频电源来控制转子速度。为确保定子磁通量恒定,应保持电源电压幅值与其频率成正比。

开环电机控制无法考虑可能影响电机转速的外部条件。因此,控制系统无法自动纠正期望电机转速与实际电机转速之间的偏差。

该模型采用开环电机控制算法来驱动电机。该模型可帮助您开始使用 Motor Control Blockset™,并通过运行电机来验证硬件设置。目标模型算法还会从电流传感器读取 ADC 值,并通过串行通信将这些值发送到主机模型。

您可以使用此模型:

  • 检查与目标的连接。

  • 检查与目标设备的串口通信。

  • 检查硬件和软件环境。

  • 检查电流传感器的 ADC 偏移量。

  • 首次运行带逆变器和目标设置的新电机。

模型

该示例包含以下模型:

这些模型既可用于仿真,也可用于代码生成。打开 mcb_open_loop_control_f28035_DRV8312 模型。

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

必需的 MathWorks 产品

仿真模型:

适用于以下模型:mcb_open_loop_control_f28035_DRV8312mcb_open_loop_control_f28027LaunchPadmcb_open_loop_control_f280049C_DRV8305

  • Motor Control Blockset

  • Fixed-Point Designer™

要生成代码并部署模型:

适用于以下模型:mcb_open_loop_control_f28035_DRV8312mcb_open_loop_control_f28027LaunchPadmcb_open_loop_control_f280049C_DRV8305

  • Motor Control Blockset

  • Embedded Coder®

  • C2000™ Microcontroller Blockset

  • Fixed-Point Designer

前提条件

对于 BOOSTXL-DRV8301/8305,请按照以下步骤更新模型:

  • 在模型中导航到此路径:/Open Loop Control/Codegen/Hardware Initialization。

  • 对于 LAUNCHXL-F28027/F28027F:从 GPIO6 更新 DRV830x Enable 模块。

  • 对于 DRV8312-F28035 ControlCard:配置 GPIO1、GPIO3 和 GPIO5 为高电平有效,使能逆变器。

  • 对于 DRV8305-F28049C LAUNCHXL:将 GPIO39 配置为高电平有效,使能 DRV830x 逆变器。

仿真模型

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

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

2.点击仿真选项卡上的运行按钮以仿真模型。

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

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

本节指导您生成代码并使用开环控制来运行电机。

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

所需硬件

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

有关前面硬件配置的连接,请参阅 硬件连接

注意:

  • 本示例支持任何类型的三相交流电机(永磁同步电机或感应电机)以及连接到受支持硬件的任何类型的逆变器。

  • 有些永磁同步电机不能以更高的速度运行,尤其是在轴负载较大时。要解决这个问题,您应该施加更多与给定频率相对应的电压。您可以使用以下步骤来增加模型中施加的电压:

1.在模型中导航到此路径:/Open Loop Control/Control_System/VabcCalc/。

2.将增益 Correction_Factor_sinePWM 更新为 20%。

3.出于安全考虑,应定期监测电机轴、电机电流和电机温度。

生成代码并运行模型以实现开环控制

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

2.完成硬件连接。

3.打开您要使用的硬件配置的目标模型。如果要更改目标模型的默认硬件配置设置,请参阅 模型配置参数 (Motor Control Blockset)

4.在目标模型的配置面板中更新这些电机参数。

  • 极对数

  • PWM 频率 [Hz]

  • 基本转速 [RPM]

  • 控制算法的数据类型

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

注意:点击“始终忽略”按钮,忽略模型顾问显示的警告消息“配置参数对话框的诊断页面中的多任务数据存储选项为无”。这是预期工作流的一部分。

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

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

7.将模型 mcb_c2000_open_loop_control_host_model 中以下模块的 Port 参数设置为与主机的 COM 端口匹配:

  • mcb_c2000_open_loop_control_host_model > 主机串口设置

  • mcb_c2000_open_loop_control_host_model > 串行通信 > 主机串行接收

  • mcb_c2000_open_loop_control_host_model > 串行通信 > 已启用子系统 > 主机串行发送

8.在主机模型的配置面板中选择一个目标(TI F28035、TI F28027D 或 TI F280049C)。

9.在主机模型中输入参考速度值。

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

11.将启动/停止电机开关的位置转到“开”的位置,即可启动电机。

12.电机运转后,在时间示波器中观察 ${I_a}$${I_b}$ 电流的 ADC 计数。

注意:这个示例可能无法让电机以全功率运行。先以低速运转电机。此外,建议以小步长改变参考速度(例如,对于基准速度为 3000 rpm 的电机,先以 500 rpm 的速度启动电机,然后以 200 rpm 的步长增加或减少速度)。

如果电机不运转,请将启动/停止电机开关的位置改为“关闭”,以停止电机并更改主机模型中的参考速度。然后,将启动/停止电机开关的位置改为“开”,再次启动电机。

生成代码并运行模型以校准 ADC 偏移

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

2.完成硬件连接。

3.将三相电机线从硬件板端子上断开。

4.打开您要使用的硬件配置的目标模型。如果要更改目标模型的默认硬件配置设置,请参阅 模型配置参数 (Motor Control Blockset)

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

注意:点击“始终忽略”按钮,忽略模型顾问显示的警告消息“配置参数对话框的诊断页面中的多任务数据存储选项为无”。这是预期工作流的一部分。

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

7.将模型 mcb_c2000_open_loop_control_host_model 中以下模块的 Port 参数设置为与主机的 COM 端口匹配:

  • mcb_c2000_open_loop_control_host_model > 主机串口设置

  • mcb_c2000_open_loop_control_host_model > 串行通信 > 主机串行接收

  • mcb_c2000_open_loop_control_host_model > 串行通信 > 已启用子系统 > 主机串行发送

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

9.在时间示波器中观察 ${I_a}$${I_b}$ 电流的 ADC 计数。ADC 计数的平均值是电流 ${I_a}$${I_b}$ 的 ADC 偏移校正值。为了获得 ADC 计数的平均值(中位数):

  • 范围窗口中,导航至工具>测量,然后选择信号统计以显示轨迹选择信号统计区域。

  • 轨迹选择下,选择一个信号(${I_a}$${I_b}$)。所选信号的特征显示在信号统计窗格中。您可以在“中值”字段中看到所选信号的中值。

对于 Motor Control Blockset 示例,更新链接到示例的模型初始化脚本中 inverter.CtSensAOffset 和 inverter.CtSensBOffset 变量中计算出的 ADC(或电流)偏移值。有关说明,请参阅估计控制增益和使用工具函数 (Motor Control Blockset)

其他可以尝试的操作