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 一张图看懂怎么选
下面这张图是我自己总结的选型逻辑,你照着走一遍,基本不会错。
3.6 我的最终建议
选信号类型,说白了就是三个问题:
- 要不要断电记忆? 要 → 绝对值(SSI/BiSS/EnDat);不要 → 增量式。
- 距离多远?干扰大不大? 近且干扰小 → TTL;远或干扰大 → HTL 或差分。
- 分辨率够不够? 不够 → 考虑 Sin/Cos 或更高线数的绝对值。
嗯,这里要注意:别为了省几十块钱选一个控制器不支持的信号类型。我见过太多人,编码器买回来才发现驱动器没有对应的接口,最后要么退货,要么加转换模块,时间和钱都浪费了。
我的习惯:选型前先打开控制器的手册,找到“编码器接口”那一页,看它支持什么信号类型。然后在这个范围内选,准没错。