基于 Concerto 处理器的永磁同步电机磁场定向控制
本示例展示了如何使用 Motor Control Blockset™ 库中的 C28x 外设和 MCB 模块,通过磁场定向控制以闭环方式控制三相永磁同步电机的速度。有关完整的硬件在环 (HIL) PMSM 示例,请参阅 Field-Oriented Control (FOC) of PMSM Using Hardware-in-the-Loop (HIL) Simulation (Motor Control Blockset)。
所需硬件
此示例支持以下硬件配置:
DRV8312 配置:
TI® DRV8312 三相无刷电机控制套件(DRV8312-C2-KIT 或 DRV8312-69M-KIT)带 F28M35x 或 F28M36x Concerto 处理器 注:要将 DRV8312 套件与 F28M36x 一起使用,您需要额外的硬件将 F28M36x 的 180DIMM 插槽转换为 100 DIMM 插槽。
DRV8312EVM 板的连接器 J10 连接有可选的霍尔传感器的三相永磁同步电机
有关上述硬件配置的连接,请参阅 硬件连接
注意:使电源和放大器的特性与所选电机的输入特性相匹配。
此示例的可用模型:
DRV8312EVM + F28M35x Concerto:mcb_pmsm_foc_sensorless_f28m35x。
DRV8312EVM + TMSADAP180TO100 + F28M36x Concerto: mcb_pmsm_foc_sensorless_f28m36x.
前提条件
要使该模型在 Concerto 处理器的 C28x CPU 上运行,ARM 内核必须已经运行,并且必须从 ARM Cortex M3 CPU 向 C28x 分配 C28x 所需的所有 GPIO。有关更多信息,请参阅F28M3x Concerto 处理器的 C2000 Microcontroller Blockset 入门指南。
模型
下图显示了永磁同步电机磁场定向控制示例模型。

描述
本示例展示了如何使用闭环磁场定向控制 (FOC) 算法来调节三相永磁同步电机 (PMSM) 的速度和扭矩。要运行此示例,需要在 ARM Cortex M3 CPU 上运行应用程序代码,并分配 C28x CPU 内核所需的所有 GPIO。本示例使用来自 F28M35x 或 F28M36x 的 C28x 外设模块、来自 C2000™ Microcontroller Blockset 的 C28x 库模块以及来自 Motor Control Blockset™ 库的 MCB 模块。
本例中的算法采用异步调度。脉冲宽度调制 (PWM) 模块触发 ADC 转换。转换结束时,ADC 发出中断,触发主 FOC 算法。
该模型适用于具有以下特性的电机:
DRV8312 配置:
4 个极对
无传感器滑动模观测器 (SMO)
您可能需要更改模型参数以匹配您的特定电机。使电机电压和功率特性与控制器相匹配。
传统的电压源逆变器驱动电机。控制器算法采用向量脉宽调制 (PWM) 技术,为六个功率开关器件生成六个脉宽调制 (PWM) 信号。逆变器使用两个模数转换器 (ADC) 测量电机的两个输入电流 (ia 和 ib),并将测量结果发送到处理器。
如何使用 Code Composer Studio v5.5/v6 运行示例
打开与您的硬件匹配的示例模型。
打开模型配置参数,在代码生成窗格下选择所需的工具链。在 C28x 内核上运行代码之前,请确保代码在 ARM Cortex M3 CPU 上运行。请参考F28M3x Concerto 处理器的 C2000 Microcontroller Blockset 入门指南。
有关其他 C28x 靶机支持的电机控制套件的更多信息,请参阅 基于 C2000 处理器的永磁同步电机无传感器磁场定向控制
默认设置为在 C28x 核心上从 RAM 执行代码。
按 Ctrl+B 从示例模型构建二进制可执行文件。
Ctrl+B 会自动加载并运行选定目标上的可执行文件。
运行程序前,必须向逆变器施加高功率。在高功率运行状态下,程序执行过程中突然停止可能会损坏硬件。使用“重置”停止程序的执行。