编码器是用于测量机械旋转或位移的传感器。它可以测量机械零件在旋转或直线运动过程中的位移、位置或速度等信息,并将其转换成一系列电信号。
1
编码器分类
光电编码器是一种通过光电转换将输出轴上的机械几何位移转换为脉冲或数字量的传感器。这是目前应用最广泛的传感器。光电编码器由光源、光码盘和光敏元件组成。
光栅盘是一块具有一定直径的圆盘,上面均匀开有若干个矩形孔。由于光电码盘与电机同轴,当电机旋转时,光栅盘与电机同轴旋转,由发光二极管等电子元件组成的检测装置检测并输出多个脉冲信号。通过计算光电编码器每秒输出的脉冲数,可以反映当前电机的转速。
此外,为了确定旋转方向,码盘还可以提供两个相位差为90的脉冲信号。
霍尔编码器是一种通过磁电转换将输出轴上的机械几何位移转换为脉冲或数字量的传感器。
霍尔编码器由霍尔码盘(磁环)和霍尔元件组成。
霍尔码盘是将不同的磁极均匀排列在一定直径的圆板上。霍尔码盘与电机同轴。当电机转动时,霍尔元件检测并输出多个脉冲信号。为了确定转向方向,一般输出两组具有一定相位差的方波信号。
增量式编码器将设备运动时的位移信息转换为连续脉冲信号。脉冲数代表位移量。其特点如下:
仅当设备运动时才会输出信号。
一般输出两组信号,A通道和B通道,相位差90(1/4周期)。通过同时采集这两组信号,就可以计算出设备的运动速度和方向。
如下图所示,A通道和B通道的信号周期相同,相位差为1/4周期。合并两相的信号值:
当B相和A相先读高电平(1 1),然后B读高电平,A相读低电平(1 0)时,是顺时针旋转。当B相和A相先读高电平,读低电平(0 0)后,再B读高电平,A相读低电平(1 0),就会逆时针转动。除了A通道和B通道外,还将设置一个额外的Z通道。指示编码器特定参考位置的信号
如下图所示,传感器旋转一圈后,Z轴信号才会输出脉冲。 Z轴输出时,通过清零AB通道的计数即可计算出码盘的绝对位置。
增量编码器仅输出设备的位置变化和运动方向,但不输出设备的绝对位置。
绝对式编码器的整体结构与增量式编码器类似。它们都是由码盘、检测装置和放大整形电路组成,但具体的码盘结构和输出信号的含义不同。
它通过二进制编码(专用码盘)将设备运动时的位移信息转换为数字量并直接输出。其特点如下:
码盘采用多个透光和不透明的线槽组成一组二进制码。这些二进制代码唯一对应于编码器轴的每个不同角度。绝对式编码器的码盘上有许多圈线槽,称为码道。每个(圈)码道内部槽的数量和长度都不同。它们一起形成一组二进制代码。一(圈)码道对应二进制数的一位(通常码轮最外面的码道代表最低位,最里面的码道代表最高位)。编码通道数决定了二进制编码位数。绝对式编码器有N个码通道,因此其输出的二进制数总数为2的N次方。通过读取这些二进制码,就可以知道设备的绝对位置,因此称为绝对编码器。编码方式一般采用自然二进制、格雷码或BCD码等,自然二进制码轮很容易理解,但当码轮制造过程中出现误差时,在两组的临界区的信号,所有码道的值可能不会同时变化,或者因为所有传感器检测存在微小的时间差,导致读取错误。到错误的值。例如,如果从000 跨越到111,理论上应该读取111。但是,如果从内到外的三个条码轨道没有完全对齐,则可能会读取001 或其他异常值。格雷码(相邻的两个二进制数仅相差1位)码盘可以避免二进制码盘数据读取异常,因为格雷码盘的两个相邻信号组只会改变1位。即使制造过程中存在误差导致信号读取出现偏差,最多也只会出现一个偏差(相邻信号的偏差)。
2
编码器参数
是指编码器能够解析的最小单位。
对于增量编码器来说,其分辨率表示为编码器轴旋转一圈所产生的脉冲数,即每转脉冲数(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等,有的为并行输出,输出电路形式与增量式编码器相同。 3
码盘测速原理
编码器倍频是什么意思?例如,光栅编码器一圈内有N个网格。理论上,电机带动编码器旋转一圈,只能输出N个信号。通过倍频技术,可以实现旋转。一转可输出N*n个信号,其中n为倍频数。
增量式编码器输出的脉冲波形一般为占空比为50%的方波,A、B通道相位差为90。
如果只使用A通道进行计数,并且只捕获A通道的上升沿,则一圈的计数值=码盘上的格数,即1倍(不倍频)。如果仅使用A通道进行计数,则在A通道的上升沿和下降沿,编码器一转的计数值加倍,实现2倍频率。如果A通道和B通道都用来计数,并且上升沿和下降沿都被捕获,则4倍频率
假设增量编码器的分辨率为600PPR,则其可解析的最小角度为0.6。增加一倍4相当于将分辨率提高到600*4=2400PPR。此时,编码器可以分辨率的最小角度为0.15。
也称为频率测量法。该方法是对固定时间段(以秒为单位)内的编码器脉冲数进行计数,并计算出速度值。 M方法适合测量高速。
假设:
编码器单转脉冲总数为C(常数),统计时间为T0(固定值,单位秒)。该时间内计数的编码器脉冲数M0(测量值)为:**速度speedn**(转/秒))计算公式为:
如何理解这个公式:
M0/C为统计时间内编码器脉冲数除以统计时间T0,即1s(单位时间)内的转数
例如:统计时间T0为3s,3s内测得的脉冲M0为60,编码器单转脉冲数C为20,则速度n=60/(20*3)=1转/秒
由于C是常数,因此转速n与M0成正比。这使得:
高速时,测量时M0变大,可以获得更好的测量精度和稳定性。但在低速时(低至每个T0只有几个脉冲),计算出的速度误差会比较大,而且很不稳定。如下图所示,方波是编码器某个通道输出的脉冲。
当转速较高时,每个统计时间T0的计数值较大,可以获得更准确的转速测量值。
当速度较低时,每个统计时间T0的计数值较小。由于统计时间的起始位置不一定对应于编码器脉冲的上升沿,当统计时间的起始位置不同时,就会出现脉冲误差(只统计上升沿时,会有最大1 个脉冲错误,在计数上升沿和下降沿时,最多会出现2 个脉冲错误)。
通过倍频增加单位时间测量的脉冲数,可以提高M法在低速测量时的精度(例如原来捕获的脉冲M0只有4个,但4倍频后,相同的电机状态M0)变成16)。但并不能从根本上改变低速测量问题。
也称为周期测量法。该方法是创建已知频率的高频脉冲并对它们进行计数。 T法适合测量低速。
假设:
编码器单转的脉冲总数为C(常数)。高频脉冲的频率为F0(固定值,单位Hz)。编码器捕获的相邻两个脉冲之间的间隔为Te,其间的计数值为M1(测量值)则:转速n的计算公式为:
如何理解这个公式:
1/Te是1s内的编码器脉冲数,除以一转的脉冲数C,即1s内转了多少转
F0/M1是1s内的高频脉冲数除以两个编码器脉冲之间的高频脉冲数,即1s内有多少个编码器脉冲,然后除以一转的脉冲数C、即1s内转数是多少圈
例如:高频脉冲的周期为1ms,即频率F0为1000Hz。编码器的两个脉冲之间,产生的高频脉冲M1的数量为50个(即两个编码器脉冲之间的间隔Te为0.05s),编码器一转的脉冲C的数量为20个,那么n=1000/(50*20)=每秒1转。
由于C和F0是常数,因此转速n与M1成反比。这使得:
在高速时,编码器脉冲间隔Te很小,使得测量周期内的高频脉冲计数值M1变得很小,导致测量误差较大。低速时,Te足够大,测量周期内的M1也很小。足够了,所以T法正好与M法相反,更适合测量低速。如下图所示,黑色方波为编码器某通道输出的脉冲,黄色方波为高频测量脉冲。
当转速较低时,高频测量脉冲M1的数量较多,可以获得更准确的转速测量值。
当速度较高时,编码器两个脉冲之间的时间间隔变短,导致高频测量脉冲M1的数量较少。由于高频脉冲的上升沿位置不一定对应于编码器脉冲的上升沿,因此当两个波形的上升沿位置不同时,就会出现脉冲误差。
该方法结合了M法和T法各自的优点,既测量编码器脉冲数,又测量一定时间内的高频脉冲数。
在一个相对固定的时间内,假设:
编码器脉冲数生成M0(测量值)并计数已知频率F0(固定值,单位Hz)的高频脉冲。计数值为M1(测量值)。速度编码器单圈脉冲总数计算为C(常数),转速n的计算公式为:
例如:在相对固定的时间内,编码器脉冲M0的个数为3;高频脉冲的周期为1ms,即频率F0为1000Hz,产生的高频脉冲M1的数量为150个。编码器脉冲一转如果编号C 为20,则n=10003/(15020)=每秒1 转。
由于M/T法公式中的F0和C是常数,因此转速n仅受M0和M1的影响。
高速时M0增大,M1减小,相当于M方式。低速时,M1增大,M0减小,相当于T法。