1. 简介
编码器,是一种用来测量机械旋转或位移的传感器。这种传感器能够测量机械部件在旋转或直线运动时的位移位置或速度等信息,并将其转换成一系列电信号。
编码器可以根据不同的方式分出很多种类型。
例如根据检测原理,可分为光学式、磁式、感应式和电容式。
根据内部机械结构的运动方式,可分为线性编码器和旋转编码器。
根据其刻度实现方法及信号输出形式,又可分为增量式、绝对式以及混合式三种。
编码器种类繁多,如下图所示,外形很像一个电机。

1.1 旋转编码器原理
旋转编码器的原理示意图:

旋转编码器内部由码盘、光电检测装置和信号处理电路等部分构成。码盘上刻了若干圈线槽,线槽等距并且可透光,当码盘旋转时就会周期性的透过和遮挡来自光电检测装置的光线,这样检测装置就会周期性的生成若干电信号。但是这些电信号通常比较微弱,需要加入一套处理电路对信号进行放大和整形,最后把信号整形为脉冲信号并向外输出。
虽然旋转编码器的原理在总体上差不多,但是对于这些原理的具体实现方法却有很大不同。
1.2 增量式编码器
增量式旋转编码器是将设备运动时的位移信息变成连续的脉冲信号,脉冲个数表示位移量的大小。
只有当设备运动的时候增量式编码器才会输出信号。
编码器一般会把这些信号分为通道A和通道B两组输出,并且这两组信号间有90°的相位差。同时采集这两组信号就可以知道设备的运动和方向。

除了通道A、通道B以外,很多增量式编码器还会设置一个额外的通道Z输出信号,用来表示编码器特定的参考位置,传感器转一圈Z轴信号才会输出一个脉冲。增量式编码器只输出设备的位置变化和运动方向,不会输出设备的绝对位置。
1.3 绝对式编码器
绝对式旋转编码器是将设备运动时的位移信息通过二进制编码的方式变成数字量直接输出。
这种编码器与增量式编码器的区别主要在内部的码盘。
绝对式编码器的码盘利用若干透光和不透光的线槽组成一套二进制编码, 这些二进制码与编码器转轴的每一个不同角度是唯一对应的,读取这些二进制码就能知道设备的绝对位置,所以叫它绝对式编码器。

绝对式编码器一般常用自然二进制、格雷码或者BCD码等编码方式。
一个绝对式编码器有 N 条码道,它就能输出 N 位二进制数,且输出二进制数的总个数是 2^N 个。
1.4 正余弦编码器
正余弦编码器是一种采用模拟输出的增量编码器。其输出为正余弦模拟信号,正余弦编码器与普通方波增量式编码器的AB正交脉冲信号类似,但与普通增量编码器的通断输出不同,正余弦编码器输出两路相位相差90°的正弦波,因此又称为正余弦编码器。

正余弦编码器的主要特点是抗干扰能力强,传输距离长,低速应用时可提供较高分辨率,高速控制时可提供足够低的信号带宽。
在称为X4编码的一种编码类型中,可以通过计算每个周期(正弦和余弦)的零交叉次数来将分辨率提高四倍。由于模拟编码器使用连续的正弦波形而不是步进的数字波形,因此可以将正弦余弦编码器的信号内插到更高的频率。
虽然正余弦周期数(物理分辨率)看上去也不是很高,但是在控制器或者驱动器中,通过编码器输入电路处理和计算,每个正余弦周期都可以通过反正切插值运算细分为很多步,从而达到很高的分辨率。
根据正弦和余弦信号的实时幅值,通过Arctan计算,可以确定编码器在此刻在这一个正余弦周期以内的确切位置(电角度)。取决于模数ADC转换的分辨率和正余弦信号的质量,每个正余弦周期通常可以被细分为212至214步。编码器本身的每圈正余弦周期数,乘以每个正余弦周期的细分步数,构成了正余弦编码器通过细分后的每圈总分辨率。
细分后的每圈总分辨率=每圈周期数 * 每个周期的细分步数
值得注意的是,细分后的分辨率,是由控制器或驱动器通过输入电路处理计算得出的,并不是编码器直接输出的。
2. 编码器参数
3. 应用场景
EQEP的工作原理并不完全适用于高分辨率速度测量,在速度较慢时,需要较长的积分时间才能有一个充足的时钟边沿数量和精确的测量。
在低速时,更好的解决方案是进行时钟的边沿与边沿周期测量,这可以通过定时器的输入捕获模式实现。
频率测量法。在一个固定计数周期内,统计这段时间的编码器的脉冲数。
高速时可以获得良好的测量精度和平稳性,如果速度很低,低到每个周期只有几个脉冲,此时计算出的速度误差就会比较大,并且很不稳定。
周期测量法。使用一个高频定时器去捕获编码器相邻两个脉冲之间的周期。
在电机高转速的时候,编码器脉冲间隔时间T很小,使得测量周期内的高频脉冲计数值M也变得很少,导致测量误差变大,而在低转速时,T足够大,测量周期内的M也足够多,所以T法和M法刚好相反,更适合测量低速。
综合了M法和T法各自的优势,即测量编码器脉冲数又测量一定时间内的高脉冲个数。
PLC发送脉冲个数和频率给伺服驱动器,从而控制电机转速。
基本上每家伺服都会支持脉冲模式,一般用于轴数比较少,比如2轴、4轴,如果再多就用总线的方式控制。

TI的专用解码芯片:16-bit High-Resolution Path和Analog Path是二选一,如果选择前者,后者则只用来转换成单端输入到Comparator Block,选后者可不需要前者。
Comparator Block是必须,要搭配上述的ADC采集使用。
正余弦编码器是差分信号,需要先经过OPAMP进行放大转换为单端输入(需要两个OPAMP),然后将A/B给到ADC采集,且需要同一时刻采集A和B(两个ADC同步),所以需要接到两个ADC,同时这两个A和B+Z信号(需要一个OPAMP)需要给到3个COMP与一个固定VREF去比较,输出的方波信号给到EQEP去计数。
对芯片的资源要求:2个ADC+3个OPAMP+3个COMP+1个EQEP
一般客户应用:OPAMP和COMP都是用外部,不用芯片集成模块。这样就只用到ADC和EQEP。

4. 参考资料
http://www.zhdfj.com/page214?article_id=6012&pagenum=1
《采用高分辨率位置插值的正弦_余弦编码器的接口.pdf》- TI
如果文章对你有帮助的话麻烦三连,感谢!
本文首发于公众号【Equilibria】,欢迎关注获取最新文章和独家内容。
相关文章:PWM定时器学习和验证笔记