编码器,是一种用来测量机械旋转或位移的传感器。它能够测量机械部件在旋转或直线运动时的位移位置或速度等信息,并将其转换成一系列电信号。
光电编码器,是一种通过光电转换将输出轴上的机械几何位移量转换成脉冲或数字量的传感器。这是目前应用最多的传感器,光电编码器是由光源、光码盘和光敏元件组成。
光栅盘是在一定直径的圆板上等分地开通若干个长方形孔。由于光电码盘与电动机同轴,电动机旋转时,光栅盘与电动机同速旋转,经发光二极管等电子元件组成的检测装置检测输出若干脉冲信号,通过计算每秒光电编码器输出脉冲的个数就能反映当前电动机的转速。
此外,为判断旋转方向,码盘还可提供相位相差90°的两路脉冲信号。
霍尔编码器是一种通过磁电转换将输出轴上的机械几何位移量转换成脉冲或数字量的传感器。
霍尔编码器是由霍尔码盘(磁环)和霍尔元件组成。
霍尔码盘是在一定直径的圆板上等分地布置有不同的磁极。霍尔码盘与电动机同轴,电动机旋转时,霍尔元件检测输出若干脉冲信号,为判断转向,一般输出两组存在一定相位差的方波信号。
增量式编码器是将设备运动时的位移信息变成连续的脉冲信号,脉冲个数表示位移量的大
小。其特点如下:
只有当设备运动时才会输出信号。
一般会输出通道A和通道B 两组信号,并且有90° 的相位差(1/4个周期),同时采集这两组信号就可以计算设备的运动速度和方向。
如下图,通道A和通道B的信号的周期相同,且相位相差1/4个周期,结合两相的信号值:
除通道A、通道B 以外,还会设置一个额外的通道Z 信号,表示编码器特定的参考位置
如下图,传感器转一圈后Z 轴信号才会输出一个脉冲,在Z轴输出时,可以通过将AB通道的计数清零,实现对码盘绝对位置的计算。
增量式编码器只输出设备的位置变化和运动方向,不会输出设备的绝对位置。
绝对式编码器在总体结构上与增量式比较类似,都是由码盘、检测装置和放大整形电路构成,但是具体的码盘结构和输出信号含义不同。
它是将设备运动时的位移信息通过二进制编码的方式(特殊的码盘)变成数字量直接输出。其特点如下:
指编码器能够分辨的最小单位。
对于增量式编码器,其分辨率表示为编码器转轴旋转一圈所产生的脉冲数,即脉冲数/转(Pulse Per Revolution 或PPR)。
码盘上透光线槽的数目其实就等于分辨率,也叫多少线,较为常见的有5-6000 线。
对于绝对式编码器,内部码盘所用的位数就是它的分辨率,单位是位(bit),具体还分单圈分辨率和多圈分辨率。
首先明确一点,精度与分辨率是两个不同的概念。
精度是指编码器每个读数与转轴实际位置间的最大误差,通常用角度、角分或角秒来表示。
例如有些绝对式编码器参数表里会写±20′′,这个就表示编码器输出的读数与转轴实际位置之间存在正负20 角秒的误差。
精度由码盘刻线加工精度、转轴同心度、材料的温度特性、电路的响应时间等各方面因素共同决定。
指编码器每秒输出的脉冲数,单位是Hz。计算公式为:
最大响应频率= 分辨率* 轴转速/60
例如某电机的编码器的分辨率为100(即光电码盘一圈有100条栅格),轴转速为120转每分钟(即每秒转2圈),则响应频率为100*120/60=200Hz,即该转速下,编码器每秒输出200个脉冲(电机带动编码器转了2圈嘛)。
对于增量式编码器,每个通道的信号独立输出,输出电路形式通常有集电极开路输出、推挽输出、差分输出等。
对于绝对式编码器,由于是直接输出几十位的二进制数,为了确保传输速率和信号质量,一般采用串行输出或总线型输出,例如同步串行接口(SSI)、RS485、CANopen 或EtherCAT 等,也有一部分是并行输出,输出电路形式与增量式编码器相同。
编码器倍频是什么意思呢,比如某光栅编码器一圈有N个栅格,理论上电机带动编码器转一圈,只能输出N个信号,通过倍频技术,可以实现转一圈,却能输出N*n个信号,这里的n为倍频数。
增量式编码器输出的脉冲波形一般为占空比50% 的方波,通道A 和B 相位差为90°。
假设某个增量式编码器它的分辨率是600PPR,能分辨的最小角度是0.6°,对它进行4 倍频之后就相当于把分辨率提高到了600*4=2400PPR,此时编码器能够分辨的最小角度为0.15°。
又叫做频率测量法。该方法是在一个固定的时间内(以秒为单位),统计这段时间的编码器脉冲数,计算速度值。M法适合测量高速。
假设:
编码器单圈总脉冲数为C(常数)
统计时间为 T 0 T_0 T0 (固定值,单位秒)
该时间内统计到的编码器脉冲数为 M 0 M_0 M0(测量值)
则:转速n(圈/秒)的计算公式为:
如何理解这个公式:
M 0 M_0 M0/C 即统计时间内有多少个编码器脉冲,再除以统计时间 T 0 T_0 T0 ,即1s(单位时间)内转了多少圈
例如:统计时间 T 0 T_0 T0 为3s,在3s内测得的脉冲数 M 0 M_0 M0为60,而编码器的单圈脉冲数C为20,则转速n=60/(20*3)=1圈每秒
由于C 是常数,所以转速n 跟 M 0 M_0 M0成正比。这就使得:
如下图,方波为编码器某一通道输出的脉冲。
当转速较高时,每个统计时间 T 0 T_0 T0 内的计数值较大,可以得到较准确的转速测量值。
当转速较低时,每个统计时间 T 0 T_0 T0 内的计数值较小,由于统计时间的起始位置与编码器脉冲的上升沿不一定对应,当统计时间的起始位置不同时,会有一个脉冲的误差(只统计上升沿时,最多会有1个脉冲误差,统计上升沿和下降沿时,最多会有2个脉冲的误差)。
通过倍频提高单位时间测得的脉冲数可以改善M 法在低速测量的准确性(比如原本捕获到的脉冲 M 0 M_0 M0 只有4 个,经过4 倍频后,相同电机状态 M 0 M_0 M0变成了16 个),但也不能从根本上改变低速时的测量问题。
又叫做周期测量法。这种方法是建立一个已知频率的高频脉冲并对其计数。T法适合测量低速。
假设:
编码器单圈总脉冲数为C(常数)
高频脉冲的频率为 F 0 F_0 F0 (固定值,单位Hz)
捕获到编码器相邻两个脉冲的间隔时间为 T E T_E TE ,其间的计数值为 M 1 M_1 M1 (测量值)
如何理解这个公式:
1/ T E T_E TE 即1s内有多少个编码器脉冲,再除以一圈的脉冲数C,即1s内转了多少圈
F 0 F_0 F0/ M 1 M_1 M1 即1s内的高频脉冲数除以两编码器脉冲间的高频脉冲数,也即1s内有多少个编码器脉冲,再除以一圈的脉冲数C,即1s内转了多少圈
例如:高频脉冲的周期是1ms,即频率 F 0 F_0 F0 为1000Hz,在编码器的两个脉冲之间,产生的高频脉冲数 M 1 M_1 M1为50个(即两个编码器脉冲的间隔 T E T_E TE 为0.05s),编码器一圈的脉冲数C为20,则转速 n = 1000 / ( 50 ∗ 20 ) = 1 n=1000/(50*20)=1 n=1000/(50∗20)=1圈每秒。
由于C 和 F 0 F_0 F0 是常数,所以转速n 跟 M 1 M_1 M1成反比。这就使得:
如下图,黑色方波为编码器某一通道输出的脉冲,黄色方波为高频测量脉冲。
当转速较低时,高频测量脉冲数 M 1 M_1 M1较大,可以得到较准确的转速测量值。
当转速较高时,编码器两脉冲间的时间间隔变短,导致高频测量脉冲数 M 1 M_1 M1较小,由于高频脉冲的上升沿位置与编码器脉冲的上升沿不一定对应,当两波的上升沿位置不同时,会有一个脉冲的误差。
这种方法综合了M 法和T 法各自的优势,既测量编码器脉冲数又测量一定时间内的高频脉冲数。
在一个相对固定的时间内,假设:
编码器脉冲数产生 M 0 M_0 M0个 (测量值)
计数一个已知频率为 F 0 F_0 F0 (固定值,单位Hz)的高频脉冲,计数值为 M 1 M_1 M1 (测量值),计算速度值
码器单圈总脉冲数为C(常数)
则转速n 的计算公式为:
例如:在一个相对固定的时间内,编码器脉冲数 M 0 M_0 M0为3个;高频脉冲的周期是1ms,即频率 F 0 F_0 F0 为1000Hz,产生的高频脉冲数 M 1 M_1 M1为150个;编码器一圈的脉冲数C为20,则转速 n = 1000 ∗ 3 / ( 150 ∗ 20 ) = 1 n=1000*3/(150*20)=1 n=1000∗3/(150∗20)=1圈每秒。
由于M/T 法公式中的 F 0 F_0 F0 和C 是常数,所以转速n 就只受 M 0 M_0 M0 和 M 1 M_1 M1 的影响。
冲数 M 0 M_0 M0为3个;高频脉冲的周期是1ms,即频率 F 0 F_0 F0 为1000Hz,产生的高频脉冲数 M 1 M_1 M1为150个;编码器一圈的脉冲数C为20,则转速 n = 1000 ∗ 3 / ( 150 ∗ 20 ) = 1 n=1000*3/(150*20)=1 n=1000∗3/(150∗20)=1圈每秒。
由于M/T 法公式中的 F 0 F_0 F0 和C 是常数,所以转速n 就只受 M 0 M_0 M0 和 M 1 M_1 M1 的影响。