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

有关可用于不同硬件配置的模型名称,请参阅“生成代码并将模型部署到目标硬件”部分中的“所需硬件”主题。
必需的 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.slx
F280049C LAUNCHXL + BOOSTXL-DRV8305 逆变器:
mcb_open_loop_control_f28027LaunchPad.slx
LAUNCHXL-F28027 控制器 + (BOOSTXL-DRV8301 或 BOOSTXL-DRV8305 逆变器:
mcb_open_loop_control_f280049C_DRV8305.slx
对于 F28069M 控制卡、LAUNCHXL-F28069M 控制器和 LAUNCHXL-F28379D 控制器,请参阅 以开环控制方式运行三相 AC 电机并校准 ADC 偏移量 (Motor Control Blockset)。
有关前面硬件配置的连接,请参阅 硬件连接。
注意:
本示例支持任何类型的三相交流电机(永磁同步电机或感应电机)以及连接到受支持硬件的任何类型的逆变器。
某些 PMSM 无法以更高的转速运行,尤其是当轴承受负载时。要解决此问题,您应根据给定的频率增加电压。您可以使用以下步骤来增加模型中的电压:
1.在模型中导航到此路径:/Open Loop Control/Control_System/VabcCalc/。
2.将增益 Correction_Factor_sinePWM 更新为 20%。
3.出于安全原因,需要定期监控电机轴、电机电流和电机温度。
生成代码并运行模型以实现开环控制
1.仿真目标模型并查看仿真结果。
2.完成硬件连接。
3.打开您要使用的硬件配置的目标模型。如果要更改目标模型的默认硬件配置设置,请参阅 模型配置参数 (Motor Control Blockset)。
4.在目标模型的 Configuration 面板中更新以下电机参数。
极对数
PWM 频率 [Hz]
基转速 [RPM]
控制算法的数据类型
5.点击硬件选项卡上的编译、部署和启动以将目标模型部署到硬件上。
注意:点击“始终忽略”按钮,忽略模型顾问显示的警告消息“配置参数对话框的诊断页面中的多任务数据存储选项为无”。这是预期工作流的一部分。
6.点击目标模型中的主机模型超链接,打开关联的主机模型。打开 mcb_c2000_open_loop_control_host_model.slx 模型。

有关主机和目标模型之间串行通信的详细信息,请参阅 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.点击 Simulation 选项卡上的 Run 以运行主机模型。
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.点击 Simulation 选项卡上的 Run 以运行主机模型。
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)。
硬件连接.