ZHCUBZ5A September   2021  – April 2024

 

  1.   1
  2.   摘要
  3.   商标
  4. 1引言
  5. 2电机控制理论
    1. 2.1 PMSM 的数学模型和 FOC 结构
    2. 2.2 PM 同步电机的磁场定向控制
    3. 2.3 PM 同步电机的无传感器控制
      1. 2.3.1 具有锁相环的增强型滑模观测器
        1. 2.3.1.1 PMSM 的 ESMO 设计
        2. 2.3.1.2 使用 PLL 的转子位置和转速估算
    4. 2.4 电机驱动器的硬件必要条件
      1. 2.4.1 电机相电压反馈
    5. 2.5 额外的控制特性
      1. 2.5.1 弱磁 (FW) 和每安培最大扭矩 (MTPA) 控制
      2. 2.5.2 快速启动
  6. 3在 TI 硬件套件上运行通用实验
    1. 3.1 受支持的 TI 电机评估套件
    2. 3.2 硬件电路板设置
      1. 3.2.1  LAUNCHXL-F280025C 设置
      2. 3.2.2  LAUNCHXL-F280039C 设置
      3. 3.2.3  LAUNCHXL-F2800137 设置
      4. 3.2.4  TMDSCNCD280025C 设置
      5. 3.2.5  TMDSCNCD280039C 设置
      6. 3.2.6  TMDSCNCD2800137 设置
      7. 3.2.7  TMDSADAP180TO100 设置
      8. 3.2.8  DRV8329AEVM 设置
      9. 3.2.9  BOOSTXL-DRV8323RH 设置
      10. 3.2.10 BOOSTXL-DRV8323RS 设置
      11. 3.2.11 DRV8353RS-EVM 设置
      12. 3.2.12 BOOSTXL-3PHGANINV 设置
      13. 3.2.13 DRV8316REVM 设置
      14. 3.2.14 TMDSHVMTRINSPIN 设置
      15.      34
      16.      35
    3. 3.3 实验软件实现
      1. 3.3.1 导入和配置工程
      2.      38
      3.      39
      4. 3.3.2 实验工程结构
      5. 3.3.3 实验软件概述
    4. 3.4 监控反馈或控制变量
      1. 3.4.1 使用 DATALOG 函数
      2. 3.4.2 使用 PWMDAC 函数
      3. 3.4.3 使用外部 DAC 板
    5. 3.5 使用不同的构建级别循序渐进地运行工程
      1. 3.5.1 级别 1 增量构建
        1. 3.5.1.1 构建和加载工程
        2. 3.5.1.2 设置调试环境窗口
        3. 3.5.1.3 运行代码
      2. 3.5.2 级别 2 增量构建
        1. 3.5.2.1 构建和加载工程
        2. 3.5.2.2 设置调试环境窗口
        3. 3.5.2.3 运行代码
      3. 3.5.3 级别 3 增量构建
        1. 3.5.3.1 构建和加载工程
        2. 3.5.3.2 设置调试环境窗口
        3. 3.5.3.3 运行代码
      4. 3.5.4 级别 4 增量构建
        1. 3.5.4.1 构建和加载工程
        2. 3.5.4.2 设置调试环境窗口
        3. 3.5.4.3 运行代码
  7. 4构建定制板
    1. 4.1 构建新的定制板
      1. 4.1.1 硬件设置
      2. 4.1.2 将参考代码迁移到定制电路板
        1. 4.1.2.1 设置硬件板参数
        2. 4.1.2.2 修改电机控制参数
        3. 4.1.2.3 更改引脚分配
        4. 4.1.2.4 配置 PWM 模块
        5. 4.1.2.5 配置 ADC 模块
        6. 4.1.2.6 配置 CMPSS 模块
        7. 4.1.2.7 配置故障保护函数
      3. 4.1.3 向电机控制工程中添加附加功能
        1. 4.1.3.1 添加按钮功能
        2. 4.1.3.2 添加电位器读取功能
        3. 4.1.3.3 添加 CAN 功能
    2. 4.2 支持新的 BLDC 电机驱动器板
    3. 4.3 将参考代码移植到新的 C2000 MCU
  8.   A 附录 A. 电机控制参数
  9.   参考资料
  10.   修订历史记录

运行代码

  1. 通过按“run” 按钮来运行工程,或点击“Debug”选项卡中的 RunResume
  2. 现在工程应该运行,而图和监视窗口中的值应该持续更新。
  3. 在监视窗口中看到 systemVars.flagEnableSystem 自动设置为 1 后,在“Expressions”窗口中,将 motorVars_M1.flagEnableRunAndIdentify 变量设置为 1。
  4. 工程现在应该已运行,在使用该工程时图和表达式窗口中的值应不断更新,如图 3-30 所示。您可能需要根据您的偏好来调整窗口大小。
  5. 在监视视图中,如果没有故障,变量 motorVars_M1.flagRunIdentAndOnLine 应自动设置为 1。ISRCount 应不断增加。如果 ISRCount 没有增加,请确保已定义 TEST_ENABLE 预定义。如果未定义此预定义,则 ISRCount 不会在代码中增加。
  6. 检查电机驱动器板的校准偏移。电机相电流检测值的偏移值应约等于 ADC 标度电流的一半,相电压偏移应约等于 0.5,如图 3-30 所示。
  7. 如果使用图形工具,图中显示的变量是 u 相和 v 相的相电流。它们的幅度应接近于 0。
  8. 展开和检查 MotorVars_M1.faultMtrPrev.bit 结构,以确保未设置故障标志。
  9. 使用示波器探测用于电机驱动控制的 PWM 输出。在此构建级别中,三个 PWM 的占空比设置为 50%。预期的 PWM 输出波形如图 3-31 所示。PWM 开关频率将与在 user_mtr1.h 文件中为 USER_M1_PWM_FREQ_kHz 定义设置的值相同。
  10. 将变量 motorVars_M1.flagEnableRunAndIdentify 变量设为 0 以停用 PWM。
  11. 如果之前的任何步骤产生意外结果,则需要进行额外的调试。需要检查的几个事项是:
    1. 确保正确设置 DRV 板,并在 EVM 上组装适当的电容器/电阻器。
    2. 确保正在使用的电机驱动器板与构建配置中选择的板相同(请参阅1)。
    3. 确保设置了正确的预定义。
    4. 确保在 C2000 MCU Lunchpad/ControlCARD 上正确配置开关,如节 3.2 所述。
  12. 完成上述步骤后,现在可以停止控制器并终止调试连接。通过首先点击工具栏上的“Halt”按钮  ,或依次点击 TargetHalt 来完全停止控制器。最后,通过点击  按钮或依次点击 RunReset→ CPU Reset 来复位控制器。
  13. 通过点击“Terminate Debug Session”按钮  或点击 RunTerminate 来关闭 CCS 调试会话。这将暂停程序并从 MCU 上断开 Code Composer Studio。
  14. 每次用户重新更改或运行代码时,都不必终止调试会话。但可以遵循以下过程。重新构建工程后,按下  按钮或依次点击 RunReset→CPU Reset,然后按  按钮或点击 RunRestart。如果目标器件或配置发生更改,则必须在关闭 CCS 之前终止工程。
 构建级别 1:“Expressions”窗口中的变量图 3-30 构建级别 1:“Expressions”窗口中的变量

图 3-31 展示了在栅极驱动输入端具有死区输出的 C2000 PWM。

 构建级别 1:PWM 输出波形图 3-31 构建级别 1:PWM 输出波形