基于 C2000 处理器的三相交流电机开环控制
本例使用开环控制(也称为标量控制或伏特/赫兹控制)来运行电机。该技术通过改变定子电压和频率来控制转子速度,而无需使用来自电机的任何反馈。您可以使用这种方法来检查硬件连接的完整性。开环控制的恒速应用采用固定频率的电机电源。开环控制的可调速应用需要变频电源来控制转子速度。为确保定子磁通量恒定,应保持电源电压幅值与其频率成正比。
开环电机控制无法考虑可能影响电机转速的外部条件。因此,控制系统无法自动纠正期望电机转速与实际电机转速之间的偏差。
该模型采用开环电机控制算法来驱动电机。该模型可帮助您开始使用 Motor Control Blockset™,并通过运行电机来验证硬件设置。目标模型算法还会从电流传感器读取 ADC 值,并通过串行通信将这些值发送到主机模型。
您可以使用此模型:
检查与目标的连接。
检查与目标设备的串口通信。
检查硬件和软件环境。
检查电流传感器的 ADC 偏移量。
首次运行带逆变器和目标设置的新电机。
模型
该示例包含以下模型:
对于 F28069M 控制卡、LAUNCHXL-F28069M 控制器和 LAUNCHXL-F28379D 控制器,请参阅 以开环控制方式运行三相 AC 电机并校准 ADC 偏移量 (Motor Control Blockset)。
这些模型既可用于仿真,也可用于代码生成。打开 mcb_open_loop_control_f28035_DRV8312 模型。

有关可用于不同硬件配置的模型名称,请参阅“生成代码并将模型部署到目标硬件”部分中的“所需硬件”主题。
必需的 MathWorks 产品
仿真模型:
适用于以下模型:mcb_open_loop_control_f28035_DRV8312、mcb_open_loop_control_f28027LaunchPad 和 mcb_open_loop_control_f280049C_DRV8305
Motor Control Blockset
Fixed-Point Designer™
要生成代码并部署模型:
适用于以下模型:mcb_open_loop_control_f28035_DRV8312、mcb_open_loop_control_f28027LaunchPad 和 mcb_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® 命令提示符打开相应硬件配置的模型。
F28035 控制器卡 + DRV8312-69M-KIT 逆变器:mcb_open_loop_control_f28035_DRV8312
F280049C LAUNCHXL + BOOSTXL-DRV8305 逆变器:mcb_open_loop_control_f28027LaunchPad
LAUNCHXL-F28027 控制器 + (BOOSTXL-DRV8301 或 BOOSTXL-DRV8305 逆变器: mcb_open_loop_control_f280049C_DRV8305
对于 F28069M 控制卡、LAUNCHXL-F28069M 控制器和 LAUNCHXL-F28379D 控制器,请参阅 以开环控制方式运行三相 AC 电机并校准 ADC 偏移量 (Motor Control Blockset)。
有关前面硬件配置的连接,请参阅 硬件连接。
注意:
本示例支持任何类型的三相交流电机(永磁同步电机或感应电机)以及连接到受支持硬件的任何类型的逆变器。
有些永磁同步电机不能以更高的速度运行,尤其是在轴负载较大时。要解决这个问题,您应该施加更多与给定频率相对应的电压。您可以使用以下步骤来增加模型中施加的电压:
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.电机运转后,在时间示波器中观察
和
电流的 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.在时间示波器中观察
和
电流的 ADC 计数。ADC 计数的平均值是电流
和
的 ADC 偏移校正值。为了获得 ADC 计数的平均值(中位数):
在范围窗口中,导航至工具>测量,然后选择信号统计以显示轨迹选择和信号统计区域。

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

对于 Motor Control Blockset 示例,更新链接到示例的模型初始化脚本中 inverter.CtSensAOffset 和 inverter.CtSensBOffset 变量中计算出的 ADC(或电流)偏移值。有关说明,请参阅估计控制增益和使用工具函数 (Motor Control Blockset)。
其他可以尝试的操作
请尝试在 F28069M 控制卡、LAUNCHXL-F28069M 控制器和 LAUNCHXL-F28379D 控制器上运行此示例。有关更多信息,请参阅 以开环控制方式运行三相 AC 电机并校准 ADC 偏移量 (Motor Control Blockset)。
硬件连接。