3、输出信号类型:TTL、HTL、Sin/Cos、SSI、BiSS、EnDat,选哪个?

信号类型这个事,说实话是选型里最容易让人头大的。TTL、HTL、Sin/Cos、SSI、BiSS、EnDat……光看名字就够绕的。但你别急,咱们一个一个拆开看,其实没那么复杂。

我个人习惯,先看距离和抗干扰需求,再看控制器接口支持什么,最后才看精度。顺序搞反了,后面全是坑。

核心原则:信号类型 = 传输距离 + 抗干扰能力 + 分辨率需求 + 控制器接口的“交集”。

3.1 先分清“增量”和“绝对值”

选信号类型之前,你得先想清楚:要增量式还是绝对值式?

  • 增量式:TTL、HTL、Sin/Cos。断电丢位置,上电要回零。
  • 绝对值式:SSI、BiSS、EnDat。断电不丢位置,上电就知道在哪儿。

我遇到过不少项目,客户上来就说“我要绝对值编码器”,结果一问应用场景,就是个普通传送带,断电回零完全能接受。白白多花一倍钱,没必要。

3.2 TTL 和 HTL:最基础的方波信号

这两种都是增量式方波输出,A、B、Z 三路信号。区别在于电平标准。

特性 TTL (RS-422) HTL (推挽式)
电压范围 5V 差分,约 ±2.5V 10-30V 单端
传输距离 ≤ 10 米(推荐 5 米内) ≤ 100 米(实际 50 米内可靠)
抗干扰 差分信号,抗干扰好 单端,抗干扰一般
典型应用 伺服电机、短距离高速 变频电机、长距离低速

TTL 是差分信号,说白了就是两根线传一路信号,抗干扰能力强。但电压低,传不远。我一般只在伺服电机和驱动器距离很近(3-5 米)时用 TTL。

HTL 是单端高电压,能传得远。但抗干扰差,尤其变频器旁边,干扰大得能让你怀疑人生。我曾经在一个项目里,HTL 编码器线走了 80 米,旁边就是变频器动力线,结果脉冲数一天能多出来几千个。后来换了差分输出,问题才解决。

我的建议:距离超过 10 米,别用 TTL。环境干扰大(变频器、电焊机),别用 HTL。如果非要用 HTL 走长线,记得用屏蔽双绞线,单端接地。

3.3 Sin/Cos:模拟信号的“高精度选手”

Sin/Cos 输出的是 1Vpp 的正弦波和余弦波,不是方波。它本身是增量式的,但通过插值(Interpolation)可以做到非常高的分辨率。

举个例子:一个 1024 线的编码器,用 TTL 输出,分辨率就是 1024。但用 Sin/Cos 输出,配合驱动器的插值电路,可以做到 4096 甚至 16384 倍细分。说白了,硬件没变,分辨率靠“算”上去了。

我做过一个高精度转台项目,要求定位精度 0.001°,普通 TTL 编码器根本做不到。后来用了 Sin/Cos 编码器,配合驱动器 4096 倍插值,才勉强达标。但要注意,Sin/Cos 信号对线缆要求极高,屏蔽不好,噪声直接变成位置误差。

注意:Sin/Cos 信号传输距离一般不超过 10 米。而且必须用专用屏蔽电缆,普通网线不行。我曾经图省事用了普通双绞线,结果信号畸变严重,插值出来的位置跳来跳去,折腾了两天才发现是线的问题。

3.4 SSI、BiSS、EnDat:绝对值通信协议

这三种都是绝对值编码器的通信协议,能直接读出位置值,不需要回零。

协议 通信方式 传输距离 特点
SSI 同步串行,时钟+数据 ≤ 50 米 简单、便宜、慢
BiSS 同步串行,开源 ≤ 50 米 快、免费、灵活
EnDat 同步串行,海德汉专利 ≤ 50 米 快、稳定、贵

SSI 是最老的绝对值协议,简单可靠。但速度慢,适合低速应用。我一般只在老设备改造或者控制器接口只支持 SSI 时用它。

BiSS 是开源协议,速度快,灵活。现在很多新控制器都支持 BiSS-C(单向模式)和 BiSS-B(双向模式)。我个人比较喜欢 BiSS,因为它免费,而且协议文档公开,调试起来方便。

EnDat 是海德汉的专利协议,性能和 BiSS 差不多,但贵。不过 EnDat 的生态很成熟,很多高端伺服驱动器直接支持。如果你用的是海德汉编码器,那基本只能选 EnDat。

避坑指南:我曾经在一个项目里选了 BiSS 编码器,结果控制器只支持 SSI。没办法,只能加一个协议转换模块,又多花了两千块,还多了一个故障点。所以,选协议之前,一定先查清楚控制器的接口支持列表。

3.5 一张图看懂怎么选

下面这张图是我自己总结的选型逻辑,你照着走一遍,基本不会错。

编码器信号类型选型流程图 开始选型 需要断电记忆位置? 否 是 增量式 需要高分辨率? (插值细分) 否 是 TTL 或 HTL (看距离和干扰) Sin/Cos (需专用线缆) 绝对值式 控制器支持什么? (SSI/BiSS/EnDat) SSI / BiSS / EnDat (按接口和预算选) 💡 选型口诀 短距高速用 TTL,长距抗扰用 HTL;高精细分 Sin/Cos,绝对值看协议。 SSI 便宜 BiSS 快,EnDat 稳定但费钱。

3.6 我的最终建议

选信号类型,说白了就是三个问题:

  1. 要不要断电记忆? 要 → 绝对值(SSI/BiSS/EnDat);不要 → 增量式。
  2. 距离多远?干扰大不大? 近且干扰小 → TTL;远或干扰大 → HTL 或差分。
  3. 分辨率够不够? 不够 → 考虑 Sin/Cos 或更高线数的绝对值。

嗯,这里要注意:别为了省几十块钱选一个控制器不支持的信号类型。我见过太多人,编码器买回来才发现驱动器没有对应的接口,最后要么退货,要么加转换模块,时间和钱都浪费了。

我的习惯:选型前先打开控制器的手册,找到“编码器接口”那一页,看它支持什么信号类型。然后在这个范围内选,准没错。