AN-053: TMC4671 PI Tuning

本用逐步介如何使用 USB-2-RTMI(RTMI) 一步一步调试 TMC4671。 通讯转换器是采用基于 FTDI FT4222H 高速 USB 转 SPI 桥路。 采用 USB 供电带有一个小巧的 10 引脚接头和 TMC4671-EVAL 的 RTMI 接口引脚相同,且具有相同的引分配可以在 TMC4671 估板上找到。TMCL- IDE提供软件工具用于调试不同控制环路。因此,RTMI 是调试,监控和系统配置的最简便的方式。

Items Used

  • 直流无刷伺服电机, (e.g. QBL4208)
  • TMC4671-EVAL-Kit
  • USB-2-RTMI
  • 注意: USB-2-RTMI_V20 包括电隔离,仅适用于 TMC4671-LA
  • TMCL-IDE (3.0.24)
  • 电源(24V)
  • Micro-USB通讯线缆
  • Mini-USB通讯线缆
Figure 1: TMC4671-EVAL套件和BLDC机
Figure 2: USB-2-RTMI
Figure 3: 带电隔离的 USB-2-RTMI v20

USB-2-RTMI Driver Installation

参考 USB-2-RTMI指南 完成驱动安装。

Basic Configuration

在使用调试工具之前,必须先配置 TMC4671(例如,使用TMC4671 Wizard)。

Figure 4: TMCL-IDE: TMC4671 Wizard - 配置代码

在完成基本的参数配置之后,可以保存为C代码或.tpc脚本

  • 在摘要中 (Summary) 选择ABN编码器
  • 使用Export Script 导出脚本

Tuning


Overview


TMC4671支持三种主要的操作模式,它们需要进行PI配置::

  • current/torque mode - 电流/力矩模式
  • velocity mode - 速度模式
  • position mode - 位置模式

每个模式都可以通过PI对每个环路进行调试。如下图概述:

Figure 6: PI tuning tools
Figure 5: TMC4671 control loops

这是一个串联的环路,因此外环依赖内环的调优。例如,在使用速度环之前必须先配置电流环。为每个PI控制 器的调整提供了软件工具。在TMCL-IDE中,可以通过 Tuning Group 访问这些调试工具 调整工具包括:

  • Biquad tuning: 用于过率每个循环的目标值
  • Torque/Flux tuning: 通过开环阶跃响应识别PI参数
  • Step response: 适应所有控制回路的闭环阶跃响应
  • Bode plot: 所有环路的波特图
  • IC scope: 监控,读出寄存器值与PWM频率

Limits


在使用调试工具之前,建议将输出电压设置为最大 (设置 PIDOUT_UQ_UD_LIMITS = 32767 置)。 对于步进来说默认值就可以了。

  • 将 PID_TORQUE_FLUX_LIMITS 设置为应用中所允许的最大电流数值。
  • 设置 PID_POSITION_LIMIT_HIGH = 2 147400 000
  • 设置 PID_POSITION_LIMIT_LOW = -2 147400 00
Figure 7: TMCL-IDE: TMC4671 限制

Tuning of the Current Loop

电流环由两个控制环路组成:一用于扭矩(电流),另一用于磁通(电流)。都可以使用RTMI工具在 Torque Flux / Tuning 工具 和 Step response 工具调整。Torque转矩/Flux磁通工具在开环模式下确定PI参数。


Torque/Flux Tuning Tool (Open Loop)


Torque Flux调试工具会通过识别电机参数自动确定PI参数的起始值。在此过程中,设置电压阶跃并评估电流阶跃响应.只有磁通量电流被激发到最小/在这个调整阶段没有运动。建议使用25kHz的PWM频率以获得最好的识别结果.

  1. TMC4671-EVAL连接到RTMI和PC。
  2. 打开 “Torque/Flux Tuning Tool”。
  3. 单击 “Start”按钮开始整定
    Figure 8: 配置和开始阶跃响应
  4. 给出了电流对电压阶跃的响应,以及系统的辨识结果
    Figure 9: 第一步反
  5. 检查和手动调整Y范围,以获得更好的视图
  6. 单击“Start”按钮重新识别系统,如果电机匹配一致,将会给出更好的识别结果
  7. 如果需要,调整所需要的电脑显示窗口。在大多数情况下,默认设置将提供良好的结果。 - 动态阶跃响应被涵盖在识别区(虚线框内)

    • 动态阶跃响应应覆盖在识别区域(虚线框)中
      Figure 10: 调整 Y 范围
      Figure 11: 阶跃响应:识别区域好
    • 在图 12 阶跃响应没有完全涵盖.识别区域太小。
      Figure 12: 阶跃响应:标识区域太小
    • 在图 13 中,标识区域太大
      Figure 13: 阶跃响应:识别区域太大
  8. 将识别出的PI值写入当前控制器

    • 使用以下按钮将 PI 值更新到电流控制器
    • 注意:对于非常高的值标识 I-parameter显示为0. 在这种情况下,需要手动设置I参数 (如.设置18000)。
    • 用PI控制框确认新的 PI 值.必须使用 Reload 按钮更新值。
      Figure 14: PI-Parameters

Step Response Toolbox (Closed Loop)


在前一步中,力矩/磁通电流环的PI参数是在开环模式下被识别到的. 现在,阶跃响应工具将用于分析闭环行为

  1. 打开 Step response toolbox
    Figure 15: step response toolbox
  2. 配置电流控制的磁通电流设置

    • 目标值/Target value: 0x64 PID_FLUX_TARGET
    • 测量值/Measurement 1: 0x69 PID_FLUX_ACTUAL
    • 采样频率/Sampling rate: PWM
    • 下一步骤

      • 设置 Start value = 0
      • 确定最终的磁通量 flux target current 目标值(这里数值4000)
    • 使用 Start 按钮启动阶跃响应step response

  3. 实际电流和目标电流显示出来
  4. 降低采样率以获得更好的效果
  5. 通过修改不同的 P 和 I 优化性能
  6. 从步骤 2 开始重复,修改 PID_TORQUE_TARGET, PID_TORQUE_ACTUAL。

Bode Plot


波特图工具用于确认电流环动态性能。

  1. 打开 Bode Plot
  2. 选择 1: torque control loop
  3. 开始 measurement 通过单击 Start 按钮 (其他设置保持默认值)
  4. 对比的例子: 下面 2 个测量显示调节和没有调节使用默认 PI 参数下的波特图.
  5. 默认 PI 数
    Figure 16: PI 参数
    Figure 17: 默认 PI 的波特图
  6. 调整 PI 参数
    Figure 18: PI 参数
    Figure 19: 调整过PI之后的波特图
  7. 调谐PI后的控制系统具有较高的截止频率,因此具有较高的动态性能

Tuning of the velocity loop.

这个章节介绍速度环调节. 前提条件是电流环已经被调节完成。为了调整速度环 PI 参数,请使用 step responsetool (closed loop) 闭环阶跃响应工具.

  1. 对于以下步骤,PHI_E_SELECTION (0x52) 不应设置为 phi_e_openloop。手动设置或通过 TMC4671Wizard 进行正确配置。
  2. 为了方便速度单位确认. 在 Selectors toolbox 里的 VELOCITY_SELECTION(0x50) 需要从 phi_e_selection设置为 phi_m_abn。
    Figure 20: Selectors: Velociy Unit 选择 - 速度单位
    • phi_m: 机械速度显示和计算的单位是RPM(每分钟转数)
    • phi_e: 电气速度显示和计算的单位是电周期

  3. 设置速度环的 PI 参数
    开始时设置一个比较低的 P数值; set I = 0

    • 0x58: PID_VELOCITY_I = 0
    • 0x58: PID_VELOCITY_P = 100
    Figure 21: PI 数值
  4. 打开 Step Response tool box
  5. 使用阶跃响应的实例配置
  6. 单击 Start 按钮开始阶跃响应
    Figure 22: PID_VELOCITY_P = 100
  7. 逐渐增加 PID_VELOCITY_P, 直到实际速度 (PID_VELOCITY_ACTUAL)达到 50-75%目标速度 (PID_VELOCITY_TARGET)
    Figure 23: PID_VELOCITY_P = 300
    Figure 24: PID_VELOCITY_P = 500
  8. 增加PID_VELOCIT_I 数值直到实际速度达到目标速度
    Figure 25: PID_VELOCITY_I = 10
    Figure 26: Selectors: Position unit

Tuning of the position loop

本章节介绍位置环调试,在使用位置环之前 电流环和速度环需要先被配置好,使用阶跃响应工具来调试,然后使用开发板套装的MCU板 Landungsbruecke 用于提升动态性能和精度。


Step Response Tool


  1. 将 POSITION_SELECTION 设置为 phi_m_abn

    因此电机的一圈脉冲数为 65535 counts

  2. 设置 PI 位置控制器的初始值

    • PID_POSITION_I = 0 (f(对于大多数设置,建议将此设置为0)
    • PID_POSITION_P = 10
      Figure 27: PI parameter
  3.  打开 step response tool
  4. 单击 Start 按钮开始阶跃响应。电机会以 end value 值来回运动. 这里是 1 转
  5. PID_POSITION_P = 10 时电机不运动。
    Figure 28: PID_POSITION_P = 10
  6. 增加比列数值P: PID_POSITION_P = 50
    Figure 29: PID_POSITION_P = 50
    Figure 30: PID_POSITION_P = 100
  7. 调整后的 PI 配置。
    Figure 31: 带电隔离的 USB-2-RTMI v20

Motion Controller


开发板套装上的MUC板Landungsbrücke带有梯形坡型发生器可以和TMC4671-EVAL一起使用。 TMC4671芯

  1. 通过 Mini USB 将MUC板 Landungsbruecke 连接到电脑
  2. 在 Landungsbruecke 对话框 (USB-2-RTMI不可用) 中打开位置模式工具b箱
  3. 使能速度控制曲线和加速度限制
  4. 4. 在位置控制工具框 position mode toolbox 控制电机转 10 圈

    • 清零位置数值 Clear the position
    • 设置目标位置 Target pos. = 655350
    • 单击 absolute 按钮开始电机运动
      Figure 32: Movement with ramp
  5. 增大减速度
    Figure 33: Movement with ramp
  6. 用运动控制重复 10 圈 同时增大减速度参数, 也可以同时调整PI参数:
  7. 在增加运动控制功能之后调整 PI 配置
    Figure 34: PI parameter
  8. 通过Export option 选型保存PI配置

Summary

RTMI 通讯接口为 TMC4671 芯片提供了一个强大的选项来调试芯片.快速实时接入芯片,可以用来调试和监控每个环路。TMCL-IDE为系统开发提供了现成的软件工具。 关于更多 TMC4671 和如何使用的问题,请参考TMC4671数据表。

作者

Joshua_Pham_Xuan_blue

Joshua Pham Xuan

Joshua Pham Xuan is Staff Engineer for Product Applications at Analog Devices Trinamic Motion Control team based in Hamburg, Germany. Joshua joined the team in 2016 and is an expert in the motion and motor control field.