主要内容

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

基于 C2000 处理器的霍尔传感器永磁同步电机磁场定向控制

本例采用磁场定向控制 (FOC) 技术来控制三相永磁同步电机 (PMSM) 的速度。FOC 算法需要转子位置反馈,该反馈由霍尔传感器获得。有关 FOC 的详细信息,请参阅磁场定向控制 (FOC) (Motor Control Blockset)

采用闭环 FOC 算法来调节三相永磁同步电机的速度和转矩。本示例使用来自 C2000™ Microcontroller Blockset 的 C28x 外设模块和来自 Motor Control Blockset™ 的 MCB 库模块。

本例使用霍尔传感器测量转子位置。霍尔效应传感器会根据所施加磁场的强度来改变其输出电压。永磁同步电机由三个霍尔传感器组成,这三个霍尔传感器彼此相隔 120 度。采用这种设置的永磁同步电机可以提供六种有效的二进制状态组合(例如,001、010、011、100、101 和 110)。传感器以 60 度的倍数提供转子的角位置,控制器利用该角位置计算角速度。然后,控制器可以利用角速度来计算转子的精确角位置。

所需硬件

此示例支持这些硬件配置。使用目标模型名称(以粗体突出显示)从 MATLAB® 命令提示符打开相应硬件配置的模型。

  • 三相永磁同步电机,可选配霍尔传感器,连接至 DRV8312-C2-KIT 板的连接器 J4 或 LAUNCHXL-F280049C 的连接器 J12。

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

可用模型

该示例包含以下模型:

注意:对于 F28069M 控制卡、LAUNCHXL-F28069M 控制器和 LAUNCHXL-F28379D 控制器,请参阅 使用霍尔传感器的 PMSM 的磁场定向控制 (Motor Control Blockset)

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

您可能需要更改模型参数以适应您的特定电机。使电机电压和功率特性与控制器相匹配。

传统的电压源逆变器驱动电机。控制器算法采用向量脉宽调制 (PWM) 技术,为六个功率开关器件生成六个脉宽调制 (PWM) 信号。逆变器使用两个模数转换器 (ADC) 测量电机的两个输入电流 (ia 和 ib),并将测量结果发送到处理器。

外设模块配置

设置此模型的外围模块配置。双击模块即可打开模块参数配置。如果想在其他硬件板上运行此示例,可以使用相同的参数值。

  • ePWM 模块配置

  • ADC 模块配置

本例中的算法采用异步调度。脉冲宽度调制 (PWM) 模块触发 ADC 转换。转换结束时,ADC 发出中断,触发主 FOC 算法。有关更多信息,请参考ADC Interrupt Based Scheduling

配置模型

1.打开 mcb_pmsm_foc_hall_f28035 模型。该模型专为 TI Piccolo F2803x 硬件配置。

2.要在其他 TI C2000 处理器上运行该模型,首先按 Ctrl+E 打开配置参数对话框。然后,通过导航至硬件实现>硬件板来选择所需的硬件板。

3.以下屏幕截图显示了模型中执行的调度器配置。如果想在其他硬件板上运行此示例,可以使用相同的参数值。

注意:

  • ADC 模块的采样率应与 ePWM 模块的 PWM 周期所确定的模型基准采样率相同。

  • 基准触发频率的选择应与 ADC 模块触发的中断频率相同。有关更多信息,请参阅 Texas Instruments C2000 处理器的模型配置参数。

  • 确保将默认参数行为设置为内联(“配置参数”>“代码生成”>“优化”)。

4.确保波特率设置为 1.5e6 比特/秒。

注意:对于 F28335 处理器,您需要使用外部 FTDI 进行串行通信。

必需的 MathWorks® 产品

仿真模型:

对于以下模型:mcb_pmsm_foc_hall_f28035mcb_pmsm_foc_hall_f28335mcb_pmsm_foc_hall_f283049c

  • Motor Control Blockset™

  • Fixed-Point Designer™

要生成代码并部署模型:

对于以下模型:mcb_pmsm_foc_hall_f28035mcb_pmsm_foc_hall_f28335mcb_pmsm_foc_hall_f283049c

  • Motor Control Blockset™

  • Embedded Coder®

  • C2000™ Microcontroller Blockset

  • Fixed-Point Designer™

前提条件

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

仿真模型

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

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

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

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

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

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

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

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

2.完成硬件连接。

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

或者,您可以计算 ADC 偏移值,并在模型初始化脚本中手动更新它。有关说明,请参阅基于 C2000 处理器的三相交流电机开环控制

4.计算霍尔传感器偏移值,并在与目标模型关联的模型初始化脚本中更新该值。有关说明,请参阅Hall Offset Calibration for PMSM Motor

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

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

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

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

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

  • mcb_pmsm_foc_host_model > 主机串行设置。

  • mcb_pmsm_foc_host_model > 串行通信 > 主机串行接收。

  • mcb_pmsm_foc_host_model > 串行通信 > SCI_TX > 主机串行发送。

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

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

11.将电机开关拨到启动位置,启动电机。

12.在主机模型的时间示波器中观察串行通信的调试信号。使用调试信号在 SelectedSignals 中可视化不同的调试信号。

有关更多信息: