• 注册 / 登录
  • 切换到窄版
  • 查看: 1559|回复: 0

    旋转编码器的原理和应用

    [复制链接]

    665

    主题

    679

    帖子

    6476

    积分

    版主

    Rank: 7Rank: 7Rank: 7

    积分
    6476
    发表于 2023-7-13 10:53:23 | 显示全部楼层 |阅读模式

    路线栈欢迎您!

    您需要 登录 才可以下载或查看,没有帐号?立即注册

    x
    前言

    编码器定义:一般来说,编码器是将数据从一种形式转换为另一种形式的一种设备或过程。在位置感应领域,编码器是一种可以检测机械运动并将其转换为模拟或数字编码的输出信号的设备。更为确切的描述是,它可以测量位置,而速度、加速度和方向数据则可以从直线或旋转运动的位置信息中得出。

    编码器工作方式、输出格式和通信协议等所蕴含的不同物理原理决定了编码器的不同功能。

    增量式编码器和绝对式编码器的区别:增量式编码器没有记忆,断电重启必须回到参考零位,才能找到需要的位置,而绝对式编码器,有记忆,断电重启不用回到零位,即可知道目标所在的位置。

    一、电机那点事

    1.png


    作为机械设计人员,我们在选电机时,非常注重电机的扭矩和尺寸,因为这直接决定了电机是否能按规定的运动模式拖动负载,能不能很好地布置在有限的空间之中。

    但在精密机械设计中,其实还有一个和扭矩及尺寸同等重要的参数,那就是分辨率。

    说起分辨率,很多时候,在电机参数中,可以看到一组数据,例如2000Count/Turn=2000脉冲/圈,和17bit/33bit等。

    对旋转电机有所了解的朋友都知道,2000C/T,这其实是说,这个电机带有一个增量式编码器,转一圈对应着2000个脉冲,所以该编码器的分辨率是360/2000=0.18度。

    由于相对式编码器通常可以做4倍频(后面我会解释为什么),所以2000C/T的分辨率可以变成0.18°/4=0.045度。

    而17bit/33bit则是在说,这个电机带有一个17位的多圈绝对编码器。

    那么问题来了,绝对式编码器和增量式编码器原理上有什么区别?应用上有什么区别?绝对式编码器为什么用二进制表示分辨率?单圈和多圈绝对式编码器有什么区别?

    我想,弄清楚这几个问题,对于电机或者需要用到旋转编码器的地方,心里就不会像过去那样模模糊糊,而是会清晰明了地,直接选择合适的编码器。

    这也是我本次理清编码器这个基本概念的目的。

    二、旋转编码器的类型和优缺点

    现在市面上通常有三种编码器:光学编码器(Optical Encoder),磁编码器(Magnetic Encoder),和电容式编码器(Capacitive Encoder)。

    2.png
    光学编码器

    在光学编码器中,黑色线条会挡住光线;透明窗口使光线穿过码盘(或者在码盘上反射)到达传感器。当传感器接收到光时,输出高电平,而当光被阻挡时,输出低

    3.png
    磁编码器

    磁编码器的内部有一系列磁极交替排列的旋转磁铁,还有一个检测磁场位置的传感器。

    4.png
    电容式编码器

    电容式编码器内部,包含一个发射高频信号的发射器,一个对信号进行调制的转子,以及一个将信号转换并发送给运动控制器的接收器。

    光学编码器是最常用,也是精度最高的一种,但同时其价格也最高。

    光学编码器相对磁和电容编码器来说,更容易受到环境的影响,比如在低温下使用光学编码器,如果环境温度急剧上升,可能在光学码盘上形成凝雾,这会导致读不到信号或者信号扭曲。

    磁编码器就不那么容易受到环境的影响,但是由于其天然的非线性,磁编码器不如光学编码器的精度高。它们通常用于灰尘,蒸汽,振动和其他可能干扰光学编码器性能的环境中。

    同时在各种液体环境下,磁编码器也可以工作,磁编码器使用的功耗也比光学编码器少。

    电容编码器是工业自动化相对较新的事物,这种编码器与磁编码器一样耐环境,但也无法实现光学编码器的高分辨率和准确性。

    三、增量式旋转编码器的工作原理是什么

    要理解增量式编码器(Incremental Encoder)和绝对式编码器(Absolute Encoder)之间的区别,首先要明白他们的工作原理,对吗。

    增量式编码器的工作原理是什么?

    这里以用得最多的光学编码器为例来说明,先放一张图。

    5.png
    增量式光学编码器的构成

    如上图,该系统包含一个码盘,以及位于码盘一侧的LED光源,和位于其另外一侧的光电探测器芯片Detector Chip。

    码盘上有一系列的黑色标线和透明窗口,黑色标线不透光,而窗口是可以透光的。

    LED光经过透镜(Lens)后,形成平行光,打在码盘上,光线在黑色刻线处被阻挡,而在透明窗口处穿过码盘,照射到下面的感应器感应区域。

    感应器上有两个区域是可以感应信号的,一个是Index Sensor Area,也就是起始零位感应区域,一个是位置信号变化感应区域A/B Sensor Area。

    零位感应也叫Home,有的地方也叫Zero,把它探测所产生的信号叫Z信号。

    并不是所有的增量式编码器都有参考零位,比如有些传送带上的应用就不需要,而有的增量式编码器有不止一个参考零位,这里不过多地讨论,感兴趣的可以自己去了解一下。

    LED光线通过码盘窗口,透射到另外一侧的感应器感应区域。码盘旋转,固定的感应器便可以读取到光的这种交替变化模式,进而将位置信息报告回机械系统。

    感应器所产生的波形如下图,是重复的方波(有的编码器传送正弦波或者余弦波),且高电平和低电平占用时间相同,因为码盘上的不透明刻线和透明窗口间隔的角度相同,一个黑线和一个透明扇区域构成一个周期,对应着波形图中的一个低电平和一个高电平,也就是一个360度电周期。

    6.png
    增量式编码器波形图

    为什么波形图中有两个通道,一个A,一个B?用来干什么?

    细心的你,也许从刚刚前面那张图就发现了,A/B Sensor Area就是产生两个通道信号的原因。

    怎么解释呢,再来一张细节图。

    7.png
    增量式编码器原理细节图

    从上面这张图中可以看出,光电感应器A和感应器B并没有在同一半径方向上,而是有一个角度错位,错位多少呢,刚好是一个刻线所占据角度的一半,也就是1/4物理周期。

    我们知道,如果只有一个感应器A,那么当触发零位后,感应器A就开始计数了,每经过一个黑线和一个透明线,波形就形成一个低电平和一个高电平,也就是一个周期,但是它并不知道码盘的旋转方向,可能是逆时针旋转,也可能是顺时针旋转。

    所以,感应器B加入的目的就很明显了:和感应器A配合,用于判断码盘的旋转方向。

    因为A和B错位1/4物理周期,(也就是相差90度电脉冲周期,所以也叫做正交脉冲,英文是Quadrature,我们常听到的A-Quad-B就是从这儿来的),所以光线会先后透射过透明窗口,打在感应器A和B上,形成1/4个周期差。

    例如,如果顺时针旋转,A领先于B四分之一周期,那么逆时针旋转,A必然滞后于B四分之一周期。从而可以根据A领先于B,还是滞后于B来判断旋转方向。

    OK,到这里,我们理解了增量式编码器的工作原理:通过Index找到零位,通过脉冲数目计算旋转角度,通过AB通道的相对滞后性判断旋转方向,通过波形所占据的时间,或者波的脉冲频率来判断速度。

    再仔细想一下,AB通道相差1/4周期,还可以用来干什么?

    或许你已经猜到,就是我在一开始就说到的4倍频(倍乘)分辨率。



    怎么实现呢,看波形图吧。

    8.png
    增量式编码器倍频方法

    这里,以每圈100个物理周期码盘来举例。

    一倍乘X1:码盘旋转时,如果我们计算通道A脉冲的每个上升沿(由0变成5V),则每转将获得100个脉冲。

    2倍乘X2:码盘旋转时,如果我们计算通道A的每个上升沿和每个下降沿(由5V变成0),则每个周期将获得2个脉冲,每转总计200个脉冲。

    4倍乘X4:如果我们计算通道A和通道B的每个上升沿和下降沿,则每个物理周期将获得4个脉冲,每转总计400个脉冲。

    因为增量式编码器的物理刻线相距角度一样,本质上来说,它是通过计算脉冲数量,来计算旋转角度的。

    同样的一圈,不同的倍频法得到的每圈脉冲数不同,显然4倍频得到的分辨率最高。

    这就是分辨率4倍频的原理。

    所以2000C/T的分辨率可以变成0.18°/4=0.045度。

    但是需要明白的是,这个4倍乘,并没有改变码盘的物理刻线之间的角度,仅仅是电脉冲数量的变化,而且这个倍乘通常是在控制器或者计数器中完成的,信号质量好,可靠。

    如果在不改变码盘条件下,还想获得更高的分辨率,怎么办?

    可以用Interpolation,也就是信号插值。

    9.png
    插值示意图

    插值的含义是什么呢?我理解得也不是很多,但是数学上来说,插值就是通过已知的数据,去预测未知的数据。

    在编码器应用中,因为实际的位置,可能位于黑色刻线和透明窗口之间,插值就可以得到这些位置的值,从而获得更高的分辨率。

    理论上,插值可以获得无限的分辨率,但是过高的插值也会引入新的问题,例如信号容易受到电噪声的影响从而降低精度,需要与之相匹配的驱动和控制器,大量的数据处理需要花费更多的时间,需要更快的响应等。

    目前,我在某供应商的产品目录中,看到最高的插值倍数是20000倍,分辨率达到0.002arcsec。当然,这个码盘也很大,外径达到206mm,一圈的物理周期是32400(也就是32400 Line Count)。

    这个码盘的物理分辨率是:360/32400=0.01111°,插值后分辨率是:0.01111/20000*3600=0.002arcsec,这里除以3600是单位的换算。这款编码器安装后能实现的精度是±1arcsec=±1/3600°。

    四、绝对式旋转编码器的工作原理是什么?

    绝对式编码器的工作原理和增量式有所不同。

    怎么个不同法?

    分饼游戏开始了,看下图:

    10.png
    绝对式旋转编码器的原理

    这个图是一个16位绝对式编码器示意图。整圈被分成了16份,也就是有16个扇区。

    它和增量式编码器的图相似,但是又有一点不一样:在半径方向上,每一个扇区又被分成了4份。

    LED光从码盘一侧照射下来,相应地,在码盘另外一侧有一个探测芯片,探测芯片有4个感应区,每个感应区,可以获取同一个扇区每一份的状态。

    透明的窗口,光线穿过去,感应区感应到信号,不透明的区域,光线无法穿过,感应区无法感应到。

    如果把有感应和无感应看成是两种状态,分别用1和0表示,那么每一个感应区可以表示2种状态。

    进而,同一个扇区中这4份(4位),可以表示2^4=16种状态,这也是为什么这个码盘在圆周方向上被分为了16份,其实相当于对每一个位置进行了编码,每个编码对应着一个特定的位置。

    可能你也想问,能不能在半径方向分4份,而在圆周方向多分几份。多分没有意义,因为半径方向只有4位,无法表示更多的位置。少分又不能充分利用好感应到的状态总数,所以分成2^4=16份刚刚好。

    比如下面这幅图,从左到右可以分别表示0001, 0101, 1100,用十进制表示就是第1, 第5,第12个位置。

    11.png
    绝对式编码器编码方法

    0101转换成10进制:0*2^3+1*2^2+0*2^1+1*2^0=5。1100转换成10进制:1*2^3+1*2^2+0*2^1+0*2^0=12。

    到这里,我们基本上明白了绝对式编码器的原理:对每一个位置,给定一个唯一的编码,再用传感器去识别每个位置的编码,输出与之相对应的唯一信号,用来表示特定的位置。

    如果要获得更高的分辨率,那么就需要更多的编码位数,也就是需要在圆周方向上,刻上更多的特定编码(这通常都会加大码盘)。

    比如需要17位,也就是2^17=131072个位置,那么就需要131072个不同的编码,这时的分辨率是360/131072=0.00275°。

    当然,并不是每个厂家的编码方法,都和上面这个例子一样。有的厂家不在半径方向上划分,只在圆周方向上划分,但是基本理念是一样的,就是用唯一的编码表示唯一的位置。

    这就是绝对式编码器的核心思想。

    刚刚说完了编码方法,那么绝对式编码器输出的波形图和增量式有什么不同呢?

    还是以光学绝对编码器为例来说明,一个典型的绝对编码器输出波形如下,右图。

    这里使用的是脉冲带宽调制(PWM=Pulse Width Modulation)。

    12.png
    绝对式编码器波形图

    一个10位绝对编码器可以输出2^10=1024个独特编码,在图中怎么表示每一个特定的位置呢?

    用脉冲宽度来表示。

    例如,起始零位,用一个最小的脉冲宽度1微秒来表示这个位置。在180°,用512微秒的脉冲带宽来表示。

    类似地,对于其他的位置,用不同的脉冲宽度来表示,当码盘旋转,越来越长的脉冲带宽被传递。

    顺便说一下,上图左边,是一个绝对式磁编码器的波形图,它是用电压的高低来表示不同的位置。

    这些波形信息,按照控制系统的配置,可以通过不同的通信接口,传递给控制器,用来做反馈控制。

    五、绝对式单圈和多圈编码器有什么不同?

    绝对式编码器又分为单圈和多圈,即Single-Turn Absolute Encoder和Multi-Turn Absolute Encoder。

    13.png
    单圈和多圈绝对式编码器示意图

    单圈很好理解,就像钟表中只有分针,一圈一圈地不停转,60分钟之后,表重置,并不记录旋转的圈数,在这里,也就是不知道是几个小时。

    多圈,就像是钟表中即有分针,还有时针。在任何时刻,分钟和小时数都可以被读取。

    所以多圈编码器可以记录很多很多圈。

    实际的多圈编码器,常用3种方法来实现圈数记录。

    第一种,就像上面那张图一样,在编码器内部,用机械齿轮耦合多个轴,用来计算总的圈数,这种方法,因为用到了机械齿轮,所以会带来磨损,使得精度降低,同时机械齿轮会占用很多空间,所以编码器尺寸偏大。

    第二种,就是用电子计数器和电容器,来计算总共转过的圈数,但是代价是需要在编码器内部安装电池,而且需要定期检查电池。

    第三种,在一些磁编码器中,采用韦根金线(Wiegand wire),并利用韦根效应来计数(Wiegand effect)。这种编码器没有太多机械结构件,可以做得很小。

    韦根效应,也是我在了解编码器的过程中才知道的,所以多做一点说明。

    Principle outline

    Zero power consumption sensor WG112 ( it also be called Wiegand Sensor) is a kind of new type magnetic component that is made based on Wiegand effect. It can initiative generate energy, no need external power when it works. It can give a sharp voltage pulse signal. The sensor consists of a special processed alloy wire and induction coil which winds on the outside of wire,framework and pins etc.

    The alloy wire owns double magnetic structure, its core is soft magnet, and the shell is hard magnet. To utilie the magnetic difference between the alloy wire' s inside and outside, under excitation by suitable strength of alternating magnetic field, the core magnetization direction everted in a moment, the direction became same or opposite with that of shell, and make the magnetic field around alloy wire changed suddenly, then a group of positive and negative pulse generated in the induction coil. The pulse amplitude is only regard with strength of the excitation field, and it has nothing to do with the field changing speed. It realized "Zero Speed" counting detection.

    14.png
    韦根效应图

    韦根金线,它由一种特殊的合金制成,具有硬磁(永磁,不易退磁)的金属外壳和软磁(容易退磁和磁化)的金属芯。韦根线表现出具有两个明显不连续的磁滞曲线,称为韦根效应。

    在适当磁场强度的作用下,韦根线芯磁场会反向,其磁场和和外硬层相同或者相反,让处在附近的线圈产生一个脉冲,该脉冲的大小和形状与外部磁场变化的速度无关,磁编码器就是利用这个脉冲来记录转动的圈数,并把数据写入稳定的存储器中。

    当然,单圈编码器也可以通过信号重复的次数,来计算旋转的圈数,但是就没有多圈编码器那么直接。

    单圈编码器,如果转了超过一圈,断电重启后,不知道转了几圈,也就是说,不知道绝对位置的。

    这个特性,决定了单圈绝对编码器只适用于开机需要绝对位置,但是在运转过程中,旋转不满一圈的应用中。

    而多圈编码器,是有圈数物理绝对位置记录的,所以,多圈相对于单圈可以获得更长更远的绝对位置。

    但是与此同时,关于多圈编码器,又出现了一个新的问题。

    如果旋转的圈数超过了它的总记录容量会发生什么?

    这时,圈数会溢出,要么重新计数,要么驱动器和控制器提供一种特殊的位置跟踪,称为“模数定位”,它可以存储任何溢出运动,即超出记录圈数的旋转部分,并使用此信息提供准确的定位。

    到此,我们重新理解了单圈和多圈编码器的区别:单圈只能记录一圈之内的运动,多圈可以记录很长的旋转或者直线位移。

    现在我们回过头去看一下,在文章一开始就提到的17bit/33bit。

    这是什么含义?相信你从上面的解释中,已经明白了。

    17bit/33bit的含义是:17bit就是说每转一圈有2^17=131072个脉冲,而33bit表示总共的脉冲位数是2^33=2^17*2^16,那么这个多圈编码器可以记录33-17=16bit=2^16=65536圈。

    这里计算分辨率要注意,它的分辨率只和一圈的脉冲数有关,而和总的圈数无关,也就是说这个编码器的分辨率是360/131072=0.00275度。

    如果一个马达使用了这个编码器,用此马达驱动滚珠丝杠,运动一圈前进5毫米,那么理论上的分辨率就是:5mm/131072cnt=0.038um/cnt。

    当然,实际分辨率肯定要比这个低,毕竟滚珠丝杠系统也是有间隙的,而且大多数时候,机械系统的间隙才是整个系统的短板。

    六、增量式编码器和绝对式编码器有什么不同?包括原理,价格,应用等

    15.png
    编码器结构

    通过上面的解释,我们理解了增量和绝对式两种旋转编码器的工作原理。

    绝对式旋转编码器的原理和增量式的原理类似,都是通过传感器来读取码盘上明暗相间的刻线获得脉冲,根据脉冲数目来表示位置。

    不同的是,绝对式编码器,断电可以记住当前位置,即使断电后有机械移位,通电后也知道移动到哪里去了,因为绝对式编码器对每一个位置,有一个唯一的编码。

    而增量式编码器不同,它没有记忆,断电后重启,需要找到参考点后,才能找回需要的位置。

    增量式编码器很适合用于确定速度,距离或运动方向。

    如果需要在断电重启时就知道位置,那么就需要绝对式编码器了。

    例如,如果你要设计机械臂,在断电后可能没有足够的空间或灵活性,使其无法移动到原始位置,在这种情况下,需要使用绝对编码器。

    这是从技术角度说明两者的不同。

    但是其实从成本,应用方面来看,两者也有不同之处,我就不多探讨了,直接给出结果。

    有如下的这个表格:
    对比项目
    绝对式编码器
    增量式编码器
    原理
    对每-个位置,有--个特定的编码,感应器感应这些特定的编码,来表示每一个位置。
    码盘上是间隔角度相同的码道,通过码盘旋转,感应器产生周期脉冲信号,通过脉冲数来计算运动的角度。
    分辨率
    分辨率用二进制表示,例如单圈17bit,23bit等,多圈23bit/turn,  16bit turns。通常比增量式分辨率高,但码盘也更复杂。
    分辨率用每转脉冲数表示,例如1000Count/Turn。  通常不如绝对式分辨率高,但可以倍频提高分辨率。
    价格
    通常是增量式编码器价格的两倍以上。
    没有绝对式编码器复杂,便宜些。
    记忆性
    断电重启后,能够记住断电前的位置。
    断电重启后,不能记住断电前的位置,需要回零重新找到需要的位置。
    耗电性
    仅读数时需要给电。
    运行过程中必须保持给电。
    应用场景
    单圈应用于旋转角度不满一圈的情况,例如旋转60度的凸轮,例如机械手臂旋转轴等。多圈应用于长行程检测,例如旋转桌面,循环的传送带,芯片编带动力轴等。
    用得最多的编码器,大部分的应用都用增量式编码器,比如XYZ滚珠丝杠平台,比如直驱电机轴等。

    七、选择编码器,最重要的参考因素有哪3点?

    1.开机是否需要知道绝对位置,用来决定选择增量式还是绝对式。实际运行过程中可能的旋转圈数,用来决定多圈还是单圈编码器。

    2.精度要求,分辨率要求,决定编码器的分辨率选择。

    3.最大速度。分辨率选定,需要结合最大速度计算编码器产生信号的频率。编码器输出的频率,需要比控制器或者计数器能够接受的最大输入频率低,否则需要重新选择编码器,重新匹配。另外编码器本身也有最大转速要求。

    4.价格。结合预算考虑价格。

    5.安装方式。轴孔安装,空间大小评估,安装公差要求,出线的方向等。

    6.外围环境。灰尘,湿度,温度,振动,电磁环境等,决定编码器的选择类型和信号线的屏蔽等,例如选择光学式,还是磁式,还是电容式,选择屏蔽线还是非屏蔽线等。

    当然,实际选择时,如果有不太确定的地方,一定有一个办法可以帮你解决问题。

    关于编码器,如果要深挖的话,还有很多话题的,比如噪声的来源,如何控制噪声等。

    但是限于主题和篇幅,今天就到这里吧。作者:罗罗日记
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    小黑屋|路丝栈 ( 粤ICP备2021053448号 )

    GMT+8, 2024-9-17 03:11 , Processed in 0.096472 second(s), 21 queries .

    Powered by Discuz! X3.4

    Copyright © 2001-2021, Tencent Cloud.

    快速回复 返回顶部 返回列表