3、信号输出类型:TTL/HTL差分信号、Sin/Cos模拟信号、SSI/BiSS/CANopen等数字协议

编码器选型时,信号输出类型是绕不开的核心问题。我见过不少工程师,选型时只盯着分辨率,结果现场信号传回来全是噪声,折腾好几天才发现是输出类型没选对。说白了,编码器输出的信号就三大类:脉冲型、模拟型、数字协议型。咱们一个一个捋清楚。

3.1 TTL/HTL差分信号——最经典的脉冲输出

TTL和HTL,本质上是电平标准不同。TTL是5V逻辑,HTL是10-30V逻辑。你想想看,工业现场动不动几十米长线,TTL那点电压很容易被干扰吃掉。所以长距离传输,我建议优先选HTL。

但真正抗干扰的杀手锏,是差分信号。A+、A-、B+、B-、Z+、Z-,六根线。为什么差分抗干扰?因为干扰信号同时作用在两根线上,接收端只看差值,共模噪声就被抵消了。

关键参数速查表

参数TTLHTL
供电电压5V ±5%10-30V
输出高电平≥3.5V≥供电电压-2V
输出低电平≤0.5V≤2V
最大频率可达几MHz通常≤200kHz
传输距离≤10米≤100米
抗干扰能力一般较强

我的经验:曾经有个项目,电机和控制器距离15米,用了TTL单端信号,结果编码器读数跳得跟心电图似的。换成HTL差分后,问题立刻消失。记住:超过5米,老老实实用差分。

3.2 Sin/Cos模拟信号——高分辨率的秘密

TTL/HTL输出的是方波,一个周期只能分辨4个边沿(A、B各两个)。但Sin/Cos输出的是正余弦模拟信号,一个周期内可以细分出成千上万个位置点。

为什么会这样?因为方波只有高低电平两个状态,而模拟信号是连续变化的。通过ADC采样,配合插值算法,理论上可以把一个信号周期细分到2^12甚至2^16个位置。

Sin/Cos信号通常是1Vpp(峰峰值1V)差分输出,也有0.5Vpp的。注意,这里说的1Vpp是指正弦波从波谷到波峰的电压差,不是有效值。

⚠️ 避坑指南:我曾经在振动环境下用过Sin/Cos编码器,结果ADC采样值抖动很大。后来发现是模拟信号对噪声太敏感,必须用屏蔽双绞线,而且屏蔽层要单端接地。否则,你细分得再高,也是虚假精度。

3.3 数字协议——SSI、BiSS、CANopen

脉冲输出和模拟输出,本质上都是把位置信息编码成连续信号。而数字协议,是把位置数据打包成帧,通过串行总线传输。好处很明显:一根线就能传位置、速度、温度、报警等一堆信息。

3.3.1 SSI——最老牌的数字协议

SSI(同步串行接口)是西门子搞出来的,时钟+数据两根线。主机发时钟,编码器在时钟下降沿输出数据。简单可靠,但速度慢,通常不超过1MHz时钟频率。

SSI的帧格式很固定:起始位+位置数据+状态位+校验位。我建议你特别注意格雷码和二进制码的选择。格雷码每次只变一位,抗干扰能力强,但解析起来多一步转换。

3.3.2 BiSS——SSI的升级版

BiSS(双向同步串行接口)是IC-Haus公司推出的,兼容SSI的物理层,但协议更灵活。它支持双向通信,可以写参数、读诊断信息。而且BiSS的时钟频率可以跑到10MHz以上,延迟比SSI低很多。

BiSS有两种模式:BiSS-C(连续模式)和BiSS-B(突发模式)。我个人习惯用BiSS-C,因为数据连续更新,适合实时控制。

BiSS vs SSI 对比

特性SSIBiSS
时钟频率≤1MHz≤10MHz
通信方向单向(编码器→控制器)双向
数据更新请求-响应连续/请求
诊断功能有限丰富
兼容性广泛逐渐普及

3.3.3 CANopen——工业总线之王

CANopen是基于CAN总线的应用层协议。编码器作为从站,通过PDO(过程数据对象)实时发送位置信息。CANopen最大的优势是组网能力:一条总线上可以挂几十个编码器,而且每个节点都有心跳检测。

CANopen的编码器通常支持三种操作模式:

  • 轮询模式:主机问一次,编码器答一次。简单但效率低。
  • 同步模式:所有编码器同时采样,然后依次发送。适合多轴同步。
  • 事件触发模式:位置变化超过阈值才发送。适合低速监控。

我的建议:如果你做单轴控制,BiSS是性价比最高的选择。如果做多轴同步,CANopen的同步模式能省掉你大量硬件连线。但要注意,CANopen的实时性受总线负载影响,我曾经在一条总线上挂了32个编码器,结果同步周期只能做到2ms,再快就丢帧了。

3.4 知识体系总览

下面这张图,把三种信号类型的关系和适用场景梳理清楚了。你可以把它当作选型时的快速参考。

编码器信号输出类型知识体系 脉冲型信号 模拟型信号 数字协议型 TTL (5V) / HTL (10-30V) 差分信号 (A+/A- B+/B- Z+/Z-) 特点:简单可靠,抗干扰差 Sin/Cos 1Vpp差分 ADC采样 + 插值细分 特点:高分辨率,对噪声敏感 SSI (同步串行) BiSS (双向同步串行) CANopen (CAN总线协议) 选型建议 短距离、低成本 → TTL差分 长距离、强干扰 → HTL差分 高精度、高速 → Sin/Cos 或 BiSS 多轴同步、复杂系统 → CANopen

嗯,到这里,信号输出类型的基本框架就搭起来了。实际项目中,你可能会遇到混合使用的情况——比如编码器输出Sin/Cos,驱动器内部做细分后再转成数字协议传给控制器。但不管怎么组合,底层原理就是这三种。

一句话总结:脉冲型适合简单场景,模拟型适合高精度场景,数字协议型适合复杂系统。选型时先看传输距离,再看分辨率要求,最后看系统复杂度。别一上来就追求最高端的,够用就好。


公众号:蓝海资料掘金营,微信deep3321