KTH7111 每 1 微秒更新一次,为什么滤波时间常数却有 510 微秒?

KTH71111 μs 更新0.51 ms 时间常数两个时间,真的是同一件事吗?

同一颗编码器,1 μs 数据更新和 0.51 ms 滤波时间常数可以同时成立。难的不是比较两个数字,而是分清它们各自对应哪一种动态行为。

KTH7111 的几个参数很容易吸引注意:16 位角度输出、高转速支持,以及微秒级数据更新。但我翻到滤波配置时,发现默认时间常数竟然是 0.51 ms,也就是 510 μs。这比 1 μs 大了整整 510 倍。

这意味着芯片慢了 510 倍吗?不能这样说。真正需要追问的是:1 μs 是多久更新一次答案,还是物理轴改变位置以后,输出只需 1 μs 就能跟上?

1 μs 到底指什么?

KTH7111 的资料中,产品特点将 1 μs 对应到数据更新,关键参数又写“延时时间 1 μs”。而默认滤波配置 FW=0x88 对应的时间常数是 0.51 ms。三个表述放在一起,很容易让读者把它们当成同一个动态参数。

但输出更新周期、数据年龄、处理延迟和动态响应并不相同。寄存器每微秒刷新一次,说明 MCU 有机会每微秒得到新结果;它并不能单独证明物理轴发生变化后,输出只落后一微秒。

每微秒更新 ≠ 每微秒跟上更新节拍:1 μs物理运动经过滤波后的响应:需实测

就像一台摄像机以极高帧率不断输出画面,但对每帧进行了较长时间的平滑,帧数很高并不意味着快速运动完全没有拖影。

510 μs 如果是一阶低通,会怎样?

先只做数学假设:把 0.51 ms 当成普通一阶低通的时间常数。此时:

H(s) = 1 / (1+sτ),τ = 0.51 ms

对应 −3 dB 频率约为 312 Hz。位置正弦扰动在 300 Hz 时幅度约剩 72%,相位滞后约 44°;到 1 kHz 时,幅度约剩 30%,相位滞后约 73°。

如果这种一阶低通直接处理连续展开的角度,3000 rpm 恒速对应的滞后是:

Δθ = ωτ = 360° × 50 × 0.00051 ≈ 9.18°

若使用 14 极对磁环,这个机械角滞后在磁场电角度上相当于约 128.5°。这数字非常大,恰恰说明不应该未经验证就把 KTH7111 的内部结构认定为普通一阶低通。以上是反事实模型计算,不是实测性能。

它很可能不是普通低通,但这仍是待验证的假说

一种更值得检验的结构,是同时估计位置和速度的跟踪滤波器。它不只平滑角度,还根据速度状态向前推进位置。在稳定恒速条件下,合适的跟踪器能够消除稳态角度滞后。

dθ̂/dt = ω̂ + k₁(θ−θ̂)
dω̂/dt = k₂(θ−θ̂)

这类简化的二阶跟踪器,其位置传递函数为:

Hθ(s) = (k₁s+k₂) / (s²+k₁s+k₂)
同一个 τ,未必对应同一种角度响应一阶低通只平滑角度跟踪滤波估计位置 + 速度H(s)=1/(1+sτ)含预测和动态零点仅凭 0.51 ms 不能断定位置通道带宽需要确认滤波器结构,或测量幅频、相频曲线

它有两个极点和一个零点,与普通一阶低通的幅频、相频特性并不一样。因而“τ=0.51 ms”不能在未知滤波器结构的情况下直接换算成 KTH7111 位置通道的截止频率。

目前只有手册资料与应用侧线索,尚无完整内部算法或扫频证据。跟踪型滤波应当写作有工程依据的候选解释,而不是已经确认的芯片架构。

恒速准确,为什么不等于换向准确?

跟踪器在恒速状态下可以收敛到零稳态位置误差;但机器人关节、云台和伺服电机并非一直匀速。

对于刚才的理想二阶跟踪模型,如果存在恒定角加速度 α,其稳定状态下的跟踪误差为:

e_ss = α / k₂

这说明:同一个滤波器可以在恒速时没有稳态位置误差,在持续加速时却仍然出现偏差。提高带宽可以减小动态偏差,但通常又会增加噪声通路的敏感性。

恒速跟得上,不代表加减速也跟得上恒速:可无稳态误差加速:出现动态偏差蓝:真实角度橙:跟踪估计

因此,产品资料如果使用“零相位滞后”描述高速应用,应特别说明是指恒速位置预测的稳态结果,还是覆盖特定频率范围的动态相频性能。后者需要扫频测量才能确认。

伺服真正关心的不是时间数字,而是相位裕度

对于纯延迟 Td,频率为 f 时的相位滞后是:

φ_d = −360° · f · T_d

假设纯延迟 100 μs,那么 100 Hz 处为 3.6°,500 Hz 处为 18°,1 kHz 处为 36°。如果控制环交越频率落在相关范围内,这些相位损失就可能显著影响稳定裕度。

但带速度预测的跟踪滤波器不等于一个纯延迟,所以不能把 0.51 ms 机械地代进上述公式,认定它会导致某个确定的相位损失。必须测量真实反馈链的传递函数,并明确它进入位置环、速度环还是换相通道。

除了速度,默认迟滞也值得看

知识库对手册的核查还记录:默认 RAM_HYS=7,以每单位 360°/32768 换算,数值约为 0.0769°,相当于约 14 个 16 位输出 LSB。

7 × 360° / 32768 ≈ 0.0769°

不能不看迟滞比较逻辑就把它等同于固定换向误差,但它提示我们:数字输出有 16 位,不代表所有低于一个角度阈值的小幅机械运动都必然逐码反映到输出。低速微动场景还需要一起看噪声、迟滞和响应。

最有价值的实验,不是再测一遍静态精度

真正要判断 KTH7111 的动态行为,最有效的是给机械轴施加已知的小幅正弦位置扰动:

θ_ref(t) = θ₀ + A·sin(2πft)

同步采集参考位置与编码器输出,计算幅度比 G(f) 及相位差 φ(f)。依次测量静止中心微动、恒速叠加摆动、加减速与换向,并比较不同滤波档位。

真正的实验:角度扫频 + 同步参考运动台正弦位置扰动参考测角同步采样KTH7111记录输出计算 G(f) 与 φ(f)在各滤波档位下比较:静止、小幅摆动、加减速

一张完整的幅频和相频曲线,比只写“1 μs”更能告诉伺服工程师:在他实际工作的频率范围里,这颗编码器究竟跟得有多紧。

两个数字都可能正确,但不要用错地方

我并不认为 KTH7111 的 1 μs 和 0.51 ms 天然矛盾。它们很可能分别描述输出节拍与某种内部滤波状态的时间尺度。

如果这颗芯片使用跟踪预测,恒速角度表现与加减速表现完全可能不同。高速转动不丢码,也不等于所有动态频率下都没有位置衰减和相位滞后。

下一次看到“1 μs 超低延迟”,我想问的不是“真的假的”,而是:“你每微秒给出一个新数字,还是只落后真实机械位置一微秒?”

这两个答案也许都很漂亮,但绝不是同一回事。

技术口径:KTH7111 的 1 μs 数据更新、默认 FW=0x88 对应 τ=0.51 ms、RAM_HYS=7 参数来自现有手册 V1.0 的知识库核查。文中的一阶低通与二阶跟踪器均为示意模型,不代表已经确认的 KTH7111 内部架构。动态性能需以设计资料和扫频实测验证。本文所有曲线均为原理示意,非实测报告。
应作如是观
公众号「如是有为」二维码

关注公众号「如是有为」

微信扫一扫,新文章先在公众号发出。