ZHCAB59B June   2019  – November 2020 TMS320F28384D , TMS320F28384S , TMS320F28386D , TMS320F28386S , TMS320F28388D , TMS320F28388S , TMS320F28P650DH , TMS320F28P650DK , TMS320F28P650SH , TMS320F28P650SK , TMS320F28P659DK-Q1

 

  1.   商标
  2. 引言
    1. 1.1 本文档中使用的首字母缩写词
  3. 在高带宽电流环路中使用 TMS320F2838x MCU 的优势
  4. 伺服驱动器中的电流环路
  5. 快速电流环路库概述
  6. 快速电流环路评估
    1. 5.1 评估设置
      1. 5.1.1 硬件
      2. 5.1.2 软件
      3. 5.1.3 具有 T-Format 类型位置编码器的 FCL
        1. 5.1.3.1 将 T-Format 编码器连接到 IDDK
        2. 5.1.3.2 T-Format 接口软件
        3. 5.1.3.3 T-Format 编码器延迟注意事项
      4. 5.1.4 SDFM
      5. 5.1.5 增量系统构建
  7. 增量构建级别 1
    1. 6.1 SVGEN 测试
    2. 6.2 使用 DAC 测试 SVGEN
    3. 6.3 逆变器功能验证
  8. 增量构建级别 2
    1. 7.1 在软件中设置过流限制
    2. 7.2 电流感测方法
    3. 7.3 电压感测方法
    4. 7.4 设置电流调节器限制
    5. 7.5 验证电流感测
    6. 7.6 位置编码器反馈
      1. 7.6.1 速度观测器和位置估算器
      2. 7.6.2 位置编码器方向验证
  9. 增量构建级别 3
    1. 8.1 观察结果一 – PWM 更新延迟
      1. 8.1.1 使用“Expressions”(表达式)窗口
      2. 8.1.2 使用示波器图
  10. 增量构建级别 4
    1. 9.1 观察结果
  11. 10增量构建级别 5
  12. 11增量构建级别 6
    1. 11.1 集成 SFRA 库
    2. 11.2 启动 SFRA 前的初始设置
    3. 11.3 SFRA GUI
    4. 11.4 设置 GUI 以连接到目标平台
    5. 11.5 运行 SFRA GUI
    6. 11.6 电流反馈 SNR 的影响
    7. 11.7 推论
      1. 11.7.1 根据闭环图确定带宽
      2. 11.7.2 根据开环图确定相位裕度
      3. 11.7.3 根据 PWM 更新时间确定最大调制指数
      4. 11.7.4 电流环路中的电压去耦
    8. 11.8 相位裕度与增益交叉频率间的关系
  13. 12增量构建级别 7
    1. 12.1 在 CPU1 上运行代码以将 ECAT 分配给 CM
    2. 12.2 在 CM 上运行代码以设置 ECAT
    3. 12.3 设置 TwinCAT
    4. 12.4 通过 TwinCAT 扫描 EtherCAT 器件
    5. 12.5 针对 ESC 的 ControlCard EEPROM 编程
    6. 12.6 运行应用程序
  14. 13增量构建级别 8
    1. 13.1 在 CPU1 上运行代码以将 ECAT 分配给 CM
    2. 13.2 在 CM 上运行代码以设置 ECAT
    3. 13.3 运行应用程序
  15. 14参考文献
  16. 15修订历史记录

增量构建级别 5

本节将验证位置 PI 模块和位置环路。为了使该环路正常工作,必须成功完成速度环路。当命令电机运行时,电机将进入初始对齐阶段,在该阶段中,电角度和位置编码器角度值将设置为零确保稳定对齐后,电机开始运行。

  1. 打开 fcl_f2838x_tmdxiddk_settings_cpu1.h 并通过将 BUILDLEVEL 设置为 FCL_LEVEL5 (#define BUILDLEVEL FCL_LEVEL5) 来选择 5 级增量构建选项。
  2. 通过将 FCL_CNTLR 设置为 PI_CNTLR 或 CMPLX_CNTLR,可以将电流环路调节器选为 PI 控制器或复杂控制器。
  3. 将 CURRENT_SENSE 方法选为 LEM_CURRENT_SENSE。
  4. 根据与电机相连的编码器,将 POSITION_ENCODER 选为 QEP_POS_ENCODER 或 T_FORMAT_ENCODER。
  5. 将 SAMPLING_METHOD 选为 SINGLE_SAMPLING 或 DOUBLE_SAMPLING。如果使用的是 T-format 编码器,请选择 SINGLE_SAMPLING,且 PWM 频率不超过 10 KHz。如需更多信息,请参阅 Topic Link Label5.1.3.3
  6. 右键点击工程名称,然后点击 Rebuild Project(重建工程)。编译完成时,点击 Debug (调试)按钮,重置 CPU ,重新启动,启用实时模式,然后运行。

关键步骤可解释如下:

  1. 在“Watch”(观察)窗口中将 enableFlag 设置为 1。在“Watch”(观察)窗口中看到 isrTicker 变量递增,可确认中断正常运转。
  2. 向“Expressions”(表达式)窗口中添加变量 pi_posposArrayptrMaxposSlewRate
  3. 逐渐增加自耦变压器上的电压以获得适当的直流总线电压。
  4. runMotor 设置为 MOTOR_RUN 以运行电机。电机必须在旋转以跟随命令的位置(如果电机不能正常旋转,请参阅以下注意事项)。
    1. 电机通过由 refPosGen() 模块设定的预定义运动曲线和位置设置来运行。该模块基本上通过一组在数组 posArray 中定义的值来循环位置基准。这些值表示相对于初始对齐位置的转数。一旦达到数组中定义的某个位置值,电机会暂停一会儿,然后再转向数组中的下一个位置。因此,可以将这些数组值称为停驻位置。在从一个停驻位置过渡到下一个停驻位置期间,过渡速率(或速度)由 posSlewRate 设置。从第一个值重新开始之前在 posArray 中通过的位置数由 ptrMax 决定。因此,请向“Expressions”(表达式)窗口中添加变量 posArray、ptrMax 和 posSlewRate。
  5. 可以将 posArray 中的停驻位置更改为不同的值,以确定电机是否按照设置的转数旋转。
  6. 也可以更改停驻位置数量 ptrMax 以设置旋转模式。
  7. 可以使用 posSlewRate 更改位置压摆率。该速率表示每个采样瞬间的角度(以 pu 为单位)。
  8. 为获得满意的响应,可重新调整速度和位置 PI 控制器的比例和积分增益。TI 建议先调整速度环路,然后再调整位置环路。
  9. 降低总线电压、使控制器脱离实时模式并进行复位,从而使系统安全停止。现在,电机停止运转。

图 10-1 显示了实现方框图。

GUID-3F7B7B0D-F01D-4604-A32C-842414263ED7-low.gif图 10-1 5 级方框图,显示了具有内层 FCL 的位置环路

图 10-2 显示的示波器图中绘制了位置参考和位置反馈。它们存在可以忽略不计的滞后,这可能是软件造成的。如果没有正确选择位置环路控制器的 Kp 和 Ki 增益,则可能导致反馈振荡或响应滞后。

GUID-4186F430-8B17-4085-8B62-B9BC13E7DA9D-low.gif图 10-2 参考位置到伺服和反馈位置的示波器图
注:
  • 如果电机响应不稳定,则电机轴和编码器的旋转方向可能相反。交换与电机任何两相的连接,然后重复进行测试。
  • 此处实现的位置控制基于初始对齐的电气位置 (= 0)。如果电机有多个极对,这种对齐方式可能使轴处于不同的机械位置,具体取决于转子的预启动机械位置。如果需要机械位置可重复性或一致性,则必须使用 QEP Index 脉冲来设置一个参考点。这一任务可以用作练习。对于绝对编码器,这可能是显而易见的。