编码器及其应用概述
编码器(encoder)是将信号(如比特流)或数据进行编制、转换为可用以通讯、传输和存储的信号形式的设备。编码器把角位移或直线位移转换成电信号,前者成为码盘,后者称码尺。按照读出方式编码器可以分为接触式和非接触式两种。接触式采用电刷输出,一电刷接触导电区或绝缘区来表示代码的状态是"1"还是"0";非接触式的接受敏感元件是光敏元件或磁敏元件,采用光敏元件时以透光区和不透光区来表示代码的状态是"1"还是"0",通过"1"和"0"的二进制编码来将采集来的物理信号转换为机器码可读取的电信号用以通讯、传输和储存。
旋转编码器是用来测量转速的装置,光电式旋转编码器通过光电转换,可将输出轴的角位移、角速度等机械量转换成相应的电脉冲以数字量输出(REP)。它分为单路输出和双路输出两种。技术参数主要有每转脉冲数(几十个到几千个都有),和供电电压等。单路输出是指旋转编码器的输出是一组脉冲,而双路输出的旋转编码器输出两组A/B相位差90度的脉冲,通过这两组脉冲不仅可以测量转速,还可以判断旋转的方向。
线性编码器同样使用磁栅编码阵列和霍尔编码阵列协调工作,线性编码器的霍尔编码阵列叫作"阅读器", 磁栅编码阵列叫作"感应标尺".但是线性编码器采用的霍尔元件是线性霍尔,当霍尔元件保持一定间隙沿磁栅轴线表面移动时,线性霍尔感测出类似正弦波信号的位移量信息。信号分割器重分正弦波微电流信号,可以得到精度非常高的位置信息。理论上讲,只要信号分割器分割的足够细,系统的分辨率可以非常高。在实际工况下,由于杂散磁场、电磁干扰等因素影响,系统分辨率只能达到0.17毫米的水平。由于霍尔编码阵列元件工作在线性状态,系统受外界温度、湿度、杂散磁场、电磁干扰等因素的影响比较大。
仅有一路脉冲输出的编码器不能确定旋转的角度,所以用处不大。如果使用两路码道,其扇区之间的相位差为90度(如图2所示),那么通过该正交编码器的两路输出通道就可以确定位置和旋转的方向两个信息。例如,如果通道A相位超前,码盘就以顺时针旋转。如果通道B相位超前,那么码盘就是以逆时针旋转。因此,通过监控脉冲的数目和信号A、B之间的相对相位信息,就可以同时获得旋转的位置和方向信息。
除此之外,有些正交编码器还包含被称为零信号或者参考信号的第三个输出通道。这个通道每旋转一圈输出一个单脉冲。你可以使用这个单脉冲来精确计算某个参考位置。在绝大多数编码器中,这个信号称为Z轴或者索引。
为止,本文之前介绍了单端增量式正交编码器。由于A和B信号都以地作为参考信号,所以被称作为单端,并且每个信号只有一根线(或者说只有一端)。而另外一种常用的编码器为差分编码器,它的A和B信号都有两根线。A信号的两根线分别是A'和A,B信号的两根线分别是B'和B.因为这四根线总是输出某个已知电平(0V或者Vcc),所以这种结构也被称为推挽结构。当A是Vcc时A'就是0V,反之,当A是0V时A'就是Vcc.而在单端编码器的情况下,A或者是Vcc或者悬空。采用差分检测可以保证信号的准确性,所以差分编码器通常可以用在电噪声较大的环境中。
采用增量式编码器仅能测量出位置的变化信息(从中可以计算出运动速度和加速度),但却无法确定目标的绝对位置。在这里,我们将介绍第三种编码器:绝对式编码器,该类编码器能够获得目标的绝对位置。这种编码器同增量式编码器一样,具有交替变化的不透光扇区和透光扇区。但是绝对式编码器在编码器的码盘上,采用了多组分区形成同心码道,如同靶环一样。同心码道从编码器码盘的中心出发,向外扩展直到码盘外部,每一层码道都比其内层多了一倍的分区。第一层,即最内层的码道,只有一个透光扇区和一个不透光扇区;位于中心的第二层就具有两个透光扇区和两个不透光扇区;而第三层码道的透光扇区和不透光扇区就各有四个。如果编码器有10层码道,那么最外围的码道就有512个扇区;如果有16层码道,那么最外围的码道就有32,767个扇区。
因为绝对式编码器的每层码道都比它里面一层的码道多了一倍数目的扇区,所以扇区的数目就形成了二进制计数系统。在这种编码器中,码盘上的每个码道都对应一个光源和一个接收器。这意味着10层码道的编码器就需要10组光源和接收器,而16层码道的编码器就需要16组光源和接收器。
绝对式编码器的优势在于您可以降低编码器的转速,可以使编码器的码盘在整个机器运动周期中只转一圈。如果机器运动距离为10英寸,而编码器具有16位精度,那么机器位置的精度就是10/65,536,即0.00015英寸。如果机器的行程更长譬如6英尺,那么粗旋转编码器可以保证跟踪每一英尺距离;第二级称为细旋转编码器可以跟踪1英尺以内的距离。这就意味着,你可以调整粗编码器,使其在整个6英尺距离内旋转一圈;也可以调整细编码器,使其能够分辨的范围为1英尺(即12英寸)。
怎样使用编码器进行测量
要使用编码器进行测量,必需有一个基本的电子设备即计数器。基本的计数器是通过其几个输入通道,产生一个数值,来表示检测到的边沿(即波形中从低到高或高到低的变化)数目。大多数计数器都有三个相互关联的输入--门限、源和升/降选择。计数器记录源输入中的事件数目,并且根据升/降选择线的状态进行加计数或者减计数。例如:如果升/降状态位"高",那么计数器加计数;如果升/降状态位"低",那么计数器就减计数。图3显示了一个简化的计数器框图。
编码器通常有5根线需要连接。不同的编码器,这些线的颜色是不一样的。你可以使用这些线来给编码器提供电源,并且读入A、B和Z信号。图4显示了一个增量式编码器的典型接口定义。
接下来一步就要决定这些线应该接到什么位置。如上文所述,将信号A接到源接线端上,对其信号中的脉冲进行计数。信号B连接到升/降选择端口上。将任意+5V的直流电源接到电源和地接线端口上--大多情况下,一个数据采集设备只需一根数字线就足够了。
既然对信号边沿计数了,接下来你需要考虑的就是这些数值应如何转换成位置信息。这个由边沿数值转换为位置信息的过程,取决于所采用的编码类型。总共有三种基本的编码类型:X1、X2和X4.
X1编码
图5显示了一个正交周期和其相应的X1编码类型下的计数值的加减数目。当通道A引导通道B时,增量发生在通道A的上升沿。当通道B引导通道A时,减量发生在通道A的下降沿。
X2编码
X2编码与上述过程类似,只是计数器A通道的每个边沿计数是增加还是减少,取决于由哪个通道引导哪个通道。计数器的数值每个周期都会增加2个或减少2个,如图6所示。
X4编码
X4编码模式下,计数器同样也在通道A和B的每个沿上发生增加或者减少。计数器的数目是增加还是减少,取决于哪个通道引导哪个通道。计数器的数目每个周期都会增加4个或减少4个,如图7所示。