CN114279366B - 一种光电编码器的粗码精码的校正方法和装置 - Google Patents

一种光电编码器的粗码精码的校正方法和装置 Download PDF

Info

Publication number
CN114279366B
CN114279366B CN202111553603.0A CN202111553603A CN114279366B CN 114279366 B CN114279366 B CN 114279366B CN 202111553603 A CN202111553603 A CN 202111553603A CN 114279366 B CN114279366 B CN 114279366B
Authority
CN
China
Prior art keywords
value
code
fine
coarse
deviation
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202111553603.0A
Other languages
English (en)
Other versions
CN114279366A (zh
Inventor
赵长海
万秋华
于海
卢新然
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Changchun Institute of Optics Fine Mechanics and Physics of CAS
Original Assignee
Changchun Institute of Optics Fine Mechanics and Physics of CAS
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Changchun Institute of Optics Fine Mechanics and Physics of CAS filed Critical Changchun Institute of Optics Fine Mechanics and Physics of CAS
Priority to CN202111553603.0A priority Critical patent/CN114279366B/zh
Publication of CN114279366A publication Critical patent/CN114279366A/zh
Application granted granted Critical
Publication of CN114279366B publication Critical patent/CN114279366B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Optical Transform (AREA)

Abstract

本发明提供了一种光电编码器的粗码精码的校正方法和装置,先将光电编码器通电,旋转光电编码器,记录下每一路粗码与精码之间的偏差值,最后求出偏差值的最大值和最小值。根据偏差的最大值和最小值确定精码偏差校正值。在断校正测试完成后即进入正常工作模式,在正常工作模式时,每次在进行精码粗码校正时,都以修正后的精码角度值作为基准值对粗码进行校正,编码器最终输出的角位移值为校正后的粗码值与修正后的精码值连接后的值。这样能保证修正后,粗码对精码的偏差值是正负均匀分布的,在进行精码粗码校正时超校正的概率降低,增加了编码器的可靠性。

Description

一种光电编码器的粗码精码的校正方法和装置
技术领域
本发明属于光电编码技术领域,具体涉及一种光电编码器的粗码精码的校正方法和装置。
背景技术
光电轴角编码器,又称光电角位置传感器,是一种集光、机、电为一体的精密数字测角装置。绝对式光电轴角编码器的圆形码盘上沿径向有若干条同心码道,每条码道上由透光和不透光的扇形区间组成。在码盘的一侧是发光元件,另一侧对应每一码道有一光敏元件,每一个发光元件和光敏元件配对称为一个读数头。当码盘处于不同位置时,各光敏元件根据受光照与否以及光照的强弱输出不同的电流信号,该电流信号与电阻进行串联,电阻将电流信号转换为电压信号,该电压信号称为编码器的原始输入信号。
编码器的精度,通过将粗码角度值和精码角度值进行连接,组成编码器的绝对角位置数据。码盘由于刻画误差的存在,在实际刻画时,会刻画一圈校正码道,校正码道用于校正粗码和精码之间的刻画偏差,当粗码的刻画位置与理论位置的偏差在一定范围内时,校正码道即可对此偏差进行修正,以使编码器输出正确的角度数据。
在进行精码和粗码校正前,先将编码器带校正码的粗码和精码各自译为自然二进制码。设粗码的位数为m,最高位为m-1位,最低位为第0位,粗码记为A,每一位为Am-1Am- 2...A1A0,其中A0为校正码。精码细分后的位数为n,精码记为J,最高位为Jn-1,最低位为J0,每一位为Jn-1Jn-2...J1J0,不同精度的编码器m、n不同。
编码器在进行装调时,精码和粗码之间的偏差在一定范围时,以精码作为基准,通过校正码的数值,将粗码的偏差校正过来,防止编码器的粗码和精码不能顺利连接导致编码器错码,校正范围为精码的±
Figure GDA0003854733210000021
周期。当精码和粗码之间的偏差为0时,即每次粗码A的最低位校正码A0的数值都与精码J的最高位Jn-1相同时,此时可以不进行校正,直接将粗码的高m-1位与精码组合为Am-1Am-2...A1Jn-1Jn-2...J1J0,即为编码器的角度值。但是在编码器实际装调时,精码和粗码之间会存在一定的偏差,且该偏差一般不是正负均匀分布的。比如,在不同位置时,粗码和精码之间的偏差在
Figure GDA0003854733210000022
周期时,此时编码器不会错码,但是当编码器使用一段时间或者外界环境发生变化时,粗码和精码之间的偏差有可能超过+
Figure GDA0003854733210000023
周期而导致编码器错码无法使用,从而降低编码器的可靠性。
发明内容
本发明为了克服上述现有技术中的缺陷,提出了一种光电编码器的粗码精码的校正方法和装置,在每次对精码粗码校正时,都是以修正后的精码角度值作为基准值对粗码进行校正,光电编码器最终输出的角位移值为校正后的粗码值与修正后的精码值连接后的值,从而增加了光电编码器的可靠性。为实现上述目的,本发明采用以下具体技术方案:
在第一方面,本发明提供了一种光电编码器的粗码精码的校正方法,所述方法包括以下步骤:
将光电编码器通电,旋转所述光电编码器,采集所述光电编码器粗码译码后的第一粗码角度值和第一精码细分值;
在所述光电编码器旋转过程中,当检测到所述第一粗码角度值每次发生变化时,根据变化前后所述第一粗码角度值数值关系,确定所述第一精码细分值的偏差值;
当所述光电编码器达到预定条件后,根据所述第一精码细分值的偏差值的最大值和最小值计算精码偏差校正值;
在所述光电传感器处于正常工作模式时,采集所述光电编码器粗码译码后的第二粗码角度值和第二精码细分值,采用所述精码偏差校正值对所述第二精码细分值进行校正,得到第三精码细分值;
根据所述第三精码细分值的最高两位数值以及所述第二粗码角度值的最低位数值,按照预定规则对所述第二粗码角度值进行校正,得到第三粗码角度值;
根据所述第三粗码角度值和所述第三精码细分值得到所述光电编码器采集的最终角度值并输出。
作为一种可选的实施例,所述根据变化前后所述第一粗码角度值数值关系,确定所述第一精码细分值的偏差值包括:
当Ay-Ay-1=0时,Ex=0;
当Ay=0且Ay-1=2n-1,或Ay=2n-1且Ay-1=0时,Ex=Cx
当Ay-Ay-1=1时:若Ay&1=1,则Ex=Cx-2n-1;若Ay&1=0,则Ex=Cx
当Ay-Ay-1=-1时:若Ay&1=1,则Ex=Cx;若Ay&1=0,则Ex=Cx-2n-1
其中,n表示所述光电编码器的精码细分位数,Ay表示当前采样周期采集到的所述光电编码器的第一粗码角度值,Ay-1表示上一采样周期采集到的所述光电编码器的第一粗码角度值,Ex表示所述第一精码细分值的偏差值;Cx为粗码从x-1位跳变到x位或者从x位跳变到x-1位时对应的精码细分值。
作为一种可选的实施例,所述预定条件包括旋转所述光电编码器满完整一周。
作为一种可选的实施例,所述确定所述第一精码细分值的偏差值包括:
确定所述第一精码细分值的偏差值的最大值和最小值;具体包括:将首次计算得到的所述第一精码细分值的偏差值作为最大偏差初始值和最小偏差初始值;
当后续计算得到的第一精码细分值的偏差值大于所述最大偏差初始值时,更新所述偏差值的最大值;和/或当后续计算得到的第一精码细分值的偏差值小于所述最小偏差初始值时,更新所述偏差值的最小值。
作为一种可选的实施例,当判定计算得到的第一精码细分值的偏差值大于2n-1时,将计算得到的第一精码细分值的偏差值减去2n后再参与比较;其中,n为所述光电编码器的精码细分位数。
作为一种可选的实施例,所述方法包括:在记录所述第一精码细分值的偏差值时,只对所述偏差值的最大值和所述偏差值的最小值进行缓存。
作为一种可选的实施例,所述根据所述第一精码细分值的偏差值的最大值和最小值计算精码偏差校正值包括:
对确定的所述第一精码细分值的偏差值的最大值和最小值取算数平均数,得到所述精码偏差校正值。
作为一种可选的实施例,所述根据所述第三精码细分值的最高两位数值以及所述第二粗码角度值的最低位数值,按照预定规则对所述第二粗码角度值进行校正,得到第三粗码角度值包括:
当A0Gn-1Gn-2=3时,则D=(A-1)/2;
当A0Gn-1Gn-2=4时,则D=(A+1)/2;
当A0Gn-1Gn-2=其他数值时,D=A/2;
其中,A0表示所述第二粗码角度值的最低位数值,Gn-1Gn-2表示所述第三精码细分值的最高两位数值,A表示校正前的第二粗码角度值,D表示第三粗码角度值。
作为一种可选的实施例,所述根据所述第三粗码角度值和所述第三精码细分值得到所述光电编码器采集的最终角度值包括:
根据以下公式计算得到所述最终角度值:
Y=D*2n+G;
其中,Y为最终角度值,G为第三精码细分值。
在第二方面,本发明还提供了一种光电编码器的粗码精码的校正装置,所述装置用于执行如本发明第一方面所述的方法步骤。
本发明能够取得以下技术效果:
本发明在光电编码器在装调完成后,首先进行断校正测试,具体包括:将光电编码器通电,旋转光电编码器,记录下每一路粗码与精码之间的偏差值,最后求出偏差值的最大值和最小值。根据偏差的最大值和最小值确定精码偏差校正值。在断校正测试完成后即进入正常工作模式,在正常工作模式时,每次在进行精码粗码校正时,都以修正后的精码角度值作为基准值对粗码进行校正,编码器最终输出的角位移值为校正后的粗码值与修正后的精码值连接后的值。这样能保证修正后,粗码对精码的偏差值是正负均匀分布的,在进行精码粗码校正时超校正的概率降低,增加了编码器的可靠性。
附图说明
图1是理想状态下光电编码器的粗码和精码的部分位置图;
图2是本发明一个实施例涉及的光电编码器的粗码精码的校正方法的流程图;
图3是本发明另一个实施例涉及的光电编码器的粗码精码的校正方法的流程图;
图4是本发明再一个实施例涉及的光电编码器的粗码精码的校正方法的流程图;
图5是本发明一个实施例涉及的光电编码器的粗码精码的校正装置的结构示意图。
附图标记:
10、光电编码器;
20、上位机;201、处理器;202、存储介质。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及具体实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,而不构成对本发明的限制。
请参阅图2,本发明一个实施例涉及的一种光电编码器的粗码精码的校正方法,方法包括以下步骤:
步骤S201将光电编码器通电,旋转光电编码器,采集光电编码器粗码译码后的第一粗码角度值和第一精码细分值;
步骤S202在光电编码器旋转过程中,当检测到第一粗码角度值每次发生变化时,根据变化前后第一粗码角度值数值关系,确定第一精码细分值的偏差值;
步骤S203当光电编码器达到预定条件后,根据第一精码细分值的偏差值的最大值和最小值计算精码偏差校正值;
步骤S204在光电传感器处于正常工作模式时,采集光电编码器粗码译码后的第二粗码角度值和第二精码细分值,采用精码偏差校正值对第二精码细分值进行校正,得到第三精码细分值;
步骤S205根据第三精码细分值的最高两位数值以及第二粗码角度值的最低位数值,按照预定规则对第二粗码角度值进行校正,得到第三粗码角度值;
步骤S206根据第三粗码角度值和第三精码细分值得到光电编码器采集的最终角度值并输出。
如图1所示,为理想状态下光电编码器的粗码和精码的部分位置图。以光电编码器有m(假设m=9)位粗码和n位精码为例,粗码和精码之间的误差为0。粗码的数值范围为000H~1FFH,精码的细分值范围为0~2n-1。
光电编码器装调完成后,粗码和精码之间必然会有一定的偏差,由于校正码的存在,该偏差不会对最终的角度输出产生影响,理想的情况是该偏差正负均匀分布,即粗码的最大正偏差和最小负偏差的绝对值是一样的。绝对式编码器在进行精码粗码校正时,是以精码为基准的,即校正前后精码的细分值是不发生改变的。对于整个编码器输出来说,当精码的细分值加上一个固定数值后,相当于编码器所有的输出角度值偏移一个固定数值,即只是零点偏移了一个固定数值,对于编码器的其他性能参数均不产生影响。
本编码器在装调完成后,首先进行断校正测试。断校正测试是指准确的测量出精码和粗码之间的偏差数值。测量方法为:旋转编码器,检测到编码器的粗码数值改变的瞬间记录下精码的数值,精码实际数值与理论数值之间的偏差被称为粗码和精码之间的偏差,或者叫断校正偏差。而后记录下每一路粗码与精码之间的偏差值,求出偏差值的最大值和最小值,并根据偏差的最大值和最小值确定精码偏差校正值。
在断校正测试完成后即进入正常工作模式,在正常工作模式时,每次在进行精码粗码校正时,都以修正后的精码角度值作为基准值对粗码进行校正,编码器最终输出的角位移值为校正后的粗码值与修正后的精码值连接后的值。这样能保证修正后,粗码对精码的偏差值是正负均匀分布的,在进行精码粗码校正时超校正的概率降低,增加了编码器的可靠性。
在某些实施例中,根据变化前后第一粗码角度值数值关系,确定第一精码细分值的偏差值包括:
当Ay-Ay-1=0时,Ex=0;
当Ay=0且Ay-1=2n-1,或Ay=2n-1且Ay-1=0时,Ex=Cx
当Ay-Ay-1=1时:若Ay&1=1,则Ex=Cx-2n-1;若Ay&1=0,则Ex=Cx
当Ay-Ay-1=-1时:若Ay&1=1,则Ex=Cx;若Ay&1=0,则Ex=Cx-2n-1
其中,n表示光电编码器的精码细分位数,Ay表示当前采样周期采集到的光电编码器的第一粗码角度值,Ay-1表示上一采样周期采集到的光电编码器的第一粗码角度值,Ex表示第一精码细分值的偏差值;Cx为粗码从x-1位跳变到x位或者从x位跳变到x-1位时对应的精码细分值。
优选的,预定条件包括旋转光电编码器满完整一周。这样,在光电编码器旋转过程中,根据变化前后第一粗码角度值数值关系,可以及时确定出第一精码细分值的偏差值,并从多个第一精码细分值的偏差值中确定出偏差值的最大值和最小值,而后基于确定出的偏差值的最大值和最小值计算得到精码偏差校正值。
在某些实施例中,确定第一精码细分值的偏差值包括:确定第一精码细分值的偏差值的最大值和最小值;具体包括:将首次计算得到的第一精码细分值的偏差值作为最大偏差初始值和最小偏差初始值;当后续计算得到的第一精码细分值的偏差值大于最大偏差初始值时,更新偏差值的最大值;和/或当后续计算得到的第一精码细分值的偏差值小于最小偏差初始值时,更新偏差值的最小值。
优选的,在记录第一精码细分值的偏差值时,只对偏差值的最大值和偏差值的最小值进行缓存。这样,在记录偏差值时只需要两个寄存器,对于偏差值的最大值和偏差值的最小值进行实时缓存,如计算得到一个更大的偏差值(大于当前寄存器中缓存的偏差值的最大值),则对当前寄存器中缓存的偏差值的最大值进行更新替换。如计算得到一个更小的偏差值(小于当前寄存器中缓存的偏差值的最小值),则对当前寄存器中缓存的偏差值的最小值进行更新替换。相比于对于每一次计算得到的偏差值都进行记录缓存的方式,可以有效节省缓存空间,节约算力。
在某些实施例中,当判定计算得到的第一精码细分值的偏差值大于2n-1时,将计算得到的第一精码细分值的偏差值减去2n后再参与比较;其中,n为光电编码器的精码细分位数。由于精码细分值是0~2n-1的一个周期性的数值,所以偏差值的最大值为细分周期的一半2n-1。如果计算得到的偏差值Ex>2n-1时,则对偏差值Ex进行适应性调整,具体为:Ex=Ex-2n。这样,可以使得每次计算得到的偏差值都在-2n-1~2n-1内,便于后续计算,也避免出现因偏差值出现极值影响精码偏差校正值计算的准确性。
在某些实施例中,根据第一精码细分值的偏差值的最大值和最小值计算精码偏差校正值包括:对确定的第一精码细分值的偏差值的最大值和最小值取算数平均数,得到精码偏差校正值。当然,在另一些实施例中,精码偏差校正值还可以通过第一精码细分值的偏差值的最大值和最小值进行几何平均、加权平均等方式得到。计算得到精码偏差校正值后,在正常工作模式下光电编码器采集第二精码细分值,将采集得到的第二精码细分值减去精码偏差校正值,就可以得到修正后的精码细分值,即第三精码细分值。
在某些实施例中,根据第三精码细分值的最高两位数值以及第二粗码角度值的最低位数值,按照预定规则对第二粗码角度值进行校正,得到第三粗码角度值包括:
当A0Gn-1Gn-2=3时,则D=(A-1)/2;
当A0Gn-1Gn-2=4时,则D=(A+1)/2;
当A0Gn-1Gn-2=其他数值时,D=A/2;
其中,A0表示第二粗码角度值的最低位数值,Gn-1Gn-2表示第三精码细分值的最高两位数值,A表示校正前的第二粗码角度值,D表示第三粗码角度值。A0、Gn-1、Gn-2均为正整数。
在进行精粗校正前,先将光电编码器带校正码的粗码和精码各自译为自然二进制码。设粗码的位数为m,最高位为m-1位,最低位为第0位,粗码记为A,每一位为Am-1Am- 2...A1A0,其中A0为校正码。精码细分后的位数为n,精码记为J,最高位为Jn-1,最低位为J0,每一位为Jn-1Jn-2...J1J0,不同精度的编码器m、n不同。
进行校正时,将A0 Jn-1Jn-2组成一个三位二进制数据,当A0Jn-1Jn-2满足以下情况时,粗码进行相应操作,完成精码和粗码的校正,设粗码校正后的二进制数据记为D,D的计算公式如下:
Figure GDA0003854733210000091
在某些实施例中,根据第三粗码角度值和第三精码细分值得到光电编码器采集的最终角度值包括:
根据以下公式计算得到最终角度值:
Y=D*2n+G;
其中,Y为最终角度值,G为第三精码细分值。
光电编码器最终输出的角度值Y为粗码和精码组合,其中高位为校正后的粗码数值D,低位为修正后的精码数值G。最终角度值可以表示为Y=DG,即Y的高位为D,低位为G。当Y计算完成后,可以根据通讯协议将光电编码器的角度数据Y输出。
如图3-图4所示,以粗码为9位的光电编码器为例,对本申请的光电编码器的粗码精码的校正方法详细展开论述。其中,粗码有效位数为8位,校正码为1位,精码的细分位数为n,精码的每一位表示为Jn-1Jn-2...J1J0,精码的数值范围为0~(2n-1),共2n个细分值。理想情况下,编码器译码后的粗码和精码之间的对应关系如图1所示,即每次当粗码数值只有最低位发生改变时,精码数值也在2n-1和(2n-1-1)之间跳变;当粗码最低位和其他位一起发生改变时(比如粗码从000000111B改变到000001000B时,B代表该数值为二进制数值),精码数值也在(2n-1)和0之间跳变。实际测试时,以精码数值0和2n-1作为精码基准,光电编码器精码实际计算的数值与其之间的差即为粗码和精码之间的偏差。
编码器装调完成后,正式工作之前,需要测量粗码和精码之间的偏差。对于粗码为m=9位的编码器来说,共有2m=512个粗码,也就是有2m=512个粗码精码偏差值,因而需要先找到其所有偏差值的最大值和最小值。
设Cx为粗码从x-1位置跳变到x或者从x位置跳变到x-1时精码的细分值;当x=9时,C9表示粗码从8跳变到9(编码器正转)或者从9跳变到8(编码器反转)时精码的细分值;对于粗码为9位的编码器来说,C0表示粗码从511跳变到0(编码器正转)或者从0跳变到511(编码器反转)时精码的细分值,Ex为该位置对应的粗码和精码之间的偏差。
编码器正转时,当x的二进制最低位为0时,即粗码有超过1位的数值发生改变(例如粗码从000000001B进位到000000010B时,有两位数值发生了改变),即x&1=0时(&表示两个数按照位进行“与”操作),按公式(1)计算偏差值:
Ex=Cx 公式(1)
编码器正转时,当x的二进制最低位为1时,即粗码只有最低的1位的数值发生改变(例如粗码从000000010B进位到000000011B时,只有最低位数值发生了改变),即x&1=1时,公式(2)计算偏差值:
Ex=Cx-2n-1 公式(2)
由于精码细分值是0~2n-1的一个周期性的数值,所以偏差值的最大值为细分周期的一半2n-1。如果通过公式(1)计算得到的数值Ex>2n-1时,则根据公式(3)对计算得到的偏差值Ex进行调整:
Ex=Ex-2n 公式(3)
保证Ex的区间范围为-2n-1~2n-1
Emid表示Ex的中间值,即前文提及的精码偏差校正值。Emax表示Ex的最大值,Emin表示Ex的最小值。Emid的计算如下方公式(4)所示:
Emid=(Emax+Emin)/2 公式(4)
在实际计算时,为了节省处理器(如CPU)的存储空间,在计算过程中不需要记录所有的Ex,而只需要记录Emax和Emin的数值即可。具体操作如下:首先将光电编码器通电,缓慢旋转编码器一周,处理器(如CPU)快速采集粗码数值并译为二进制数值,再采集精码莫尔条纹信号并细分为精码二进制角度值。然后处理器(如CPU)每次都对前一次的粗码数值和本次的粗码数值进行比对,当前一次粗码采样值和本次粗码采样值发生改变时,根据粗码最低位的数值以及编码器的旋转方向,即可根据公式(1)或者公式(2)计算粗码和精码之间的偏差。
以粗码9位编码器为例,设当前采样周期采集到的粗码二进制数值为Ay,精码细分值为Jy,上一采样周期采集到的粗码二进制数值为Ay-1,精码细分值为Jy-1,则可根据以下条件计算粗码和精码之间的偏差:
第一种情况:当Ay-Ay-1=0时,即粗码不变时,此次不计算偏差;
第二种情况:过零点位置,即Ay=0且Ay-1=511,或Ay=511且Ay-1=0,采用公式(1)计算偏差。
第三种情况:当Ay-Ay-1=1时,如果Ay&1=1,用公式(2)计算偏差,如果Ay&1=0用公式(1)计算偏差;
第四种情况:当Ay-Ay-1=-1时,如果Ay&1=1,用公式(1)计算偏差,如果Ay&1=0用公式(2)计算偏差;
当初次采集到的粗码精码之间的偏差值Ex时,令Emax=Emin=Ex
之后每次采集到粗码精码之间的偏差值Ex时,都与Emax和Emin进行比较,主要有以下几种情况:
第一种情况:当Ex>Emax时,则Emax=Ex
第二种情况:当Ex<Emin时,则Emin=Ex
其余情况:不更新Emax和Emin的数值。
直至光电编码器旋转完整的一周(即满足预定条件),所有的粗码与精码之间的偏差范围都在Emin和Emax之间。之后采用公式(4)计算粗码精码偏差的中间值,程序流程图如图3所示。
当计算得到粗码和精码之间偏差的中间值Emid后,在正式输出编码器的角度前,需要对精码的细分值进行修正。设修正前和修正后的精码细分值分别为J和G,则修正后的精码细分值G(即第三精码细分值)的计算公式如公式(5)所示:
G=J-Emid 公式(5)
G和J的位数和数值范围都是一样的,都与精码的细分位数n有关,其范围都是0~(2n-1)。
粗码和精码修正后的数值进行校正时,将A0Gn-1Gn-2组成一个三位二进制数据,当A0Gn-1Gn-2满足以下情况时,粗码进行相应操作,完成精码和粗码的校正,其中A0为译码后粗码二进制的最低位,Gn-1Gn-2为修正后的精码数值的高两位,均为正整数,设粗码校正后的二进制数据记为D,D根据以下公式(6)计算得到:
Figure GDA0003854733210000121
光电编码器最终输出的角度值Y为粗码和精码组合,其中高位为校正后的粗码数值D,低位为修正后的精码数值G。可以表示为Y=DG,即Y的高位为D,低位为G。其计算方法如下方公式(7)所示:
Y=D*2n+G 公式(7)
而后根据通讯协议将光电编码器的最终角度值Y输出。
光电编码器装调完成后,其译码后的粗码数据与精码必然会存在一定的偏差,当偏差小于精码±
Figure GDA0003854733210000131
周期时,通过最低位的校正码,可以将该偏差校正过来从而保证编码器不会出现错码现象。该偏差可能会随着外界环境的改变而变大,采用本申请的方法可以保证该偏差处于正负对称的理想位置,降低编码器出现错码的概率,从而提高编码器的可靠性以及适应外界环境的能力。本申请的方法可以用在角位移测量装置上(如轴角编码器上),也可以用在线位移测量装置上(如光栅尺上),两者工作原理类似。
如图5所示,在第二方面,本申请还提供了一种光电编码器的粗码精码的校正装置,该装置用于执行如本申请第一方面的方法步骤。
该装置包括光电编码器10和上位机20,上位机20包括处理器201和存储介质202,存储介质202中存储有计算机程序,该计算机程序被处理器201执行时实现如本申请第一方面所描述的方法步骤。
优选的,上位机20包括但不限于:个人计算机、服务器、通用计算机、专用计算机、网络设备、嵌入式设备、可编程设备、智能移动终端、智能家居设备、穿戴式智能设备、车载智能设备等。
处理器201为具有数据处理功能的电子元件,包括但不限于:中央处理器(CPU)、图形处理器(GPU)、数字信号处理器(DSP)等。
存储介质202包括但不限于:RAM、ROM、磁碟、磁带、光盘、闪存、U盘、移动硬盘、存储卡、记忆棒、网络服务器存储、网络云存储等。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。
以上本发明的具体实施方式,并不构成对本发明保护范围的限定。任何根据本发明的技术构思所作出的各种其他相应的改变与变形,均应包含在本发明权利要求的保护范围内。

Claims (8)

1.一种光电编码器的粗码精码的校正方法,其特征在于,所述方法包括以下步骤:
将光电编码器通电,旋转所述光电编码器,采集所述光电编码器粗码译码后的第一粗码角度值和第一精码细分值;
在所述光电编码器旋转过程中,当检测到所述第一粗码角度值每次发生变化时,根据变化前后所述第一粗码角度值数值关系,确定所述第一精码细分值的偏差值;
当所述光电编码器达到预定条件后,根据所述第一精码细分值的偏差值的最大值和最小值计算精码偏差校正值;所述预定条件包括旋转所述光电编码器满完整一周;
在所述光电传感器处于正常工作模式时,采集所述光电编码器粗码译码后的第二粗码角度值和第二精码细分值,采用所述精码偏差校正值对所述第二精码细分值进行校正,得到第三精码细分值;
根据所述第三精码细分值的最高两位数值以及所述第二粗码角度值的最低位数值,按照预定规则对所述第二粗码角度值进行校正,得到第三粗码角度值;
根据所述第三粗码角度值和所述第三精码细分值得到所述光电编码器采集的最终角度值并输出;所述根据所述第三精码细分值的最高两位数值以及所述第二粗码角度值的最低位数值,按照预定规则对所述第二粗码角度值进行校正,得到第三粗码角度值包括:
当A0Gn-1Gn-2=3时,则D=(A-1)/2;
当A0Gn-1Gn-2=4时,则D=(A+1)/2;
当A0Gn-1Gn-2=其他数值时,D=A/2;
其中,A0表示所述第二粗码角度值的最低位数值,Gn-1Gn-2表示所述第三精码细分值的最高两位数值,A表示校正前的第二粗码角度值,D表示第三粗码角度值。
2.如权利要求1所述的光电编码器的粗码精码的校正方法,其特征在于,根据变化前后所述第一粗码角度值数值关系,确定所述第一精码细分值的偏差值包括:
当Ay-Ay-1=0时,Ex=0;
当Ay=0且Ay-1=2n-1,或Ay=2n-1且Ay-1=0时,Ex=Cx
当Ay-Ay-1=1时:若Ay&1=1,则Ex=Cx-2n-1;若Ay&1=0,则Ex=Cx
当Ay-Ay-1=-1时:若Ay&1=1,则Ex=Cx;若Ay&1=0,则Ex=Cx-2n-1
其中,n表示所述光电编码器的精码细分位数,Ay表示当前采样周期采集到的所述光电编码器的第一粗码角度值,Ay-1表示上一采样周期采集到的所述光电编码器的第一粗码角度值,Ex表示所述第一精码细分值的偏差值;Cx为粗码从x-1位跳变到x位或者从x位跳变到x-1位时对应的精码细分值。
3.如权利要求1所述的光电编码器的粗码精码的校正方法,其特征在于,所述确定所述第一精码细分值的偏差值包括:
确定所述第一精码细分值的偏差值的最大值和最小值;具体包括:将首次计算得到的所述第一精码细分值的偏差值作为最大偏差初始值和最小偏差初始值;
当后续计算得到的第一精码细分值的偏差值大于所述最大偏差初始值时,更新所述偏差值的最大值;和/或当后续计算得到的第一精码细分值的偏差值小于所述最小偏差初始值时,更新所述偏差值的最小值。
4.如权利要求3所述的光电编码器的粗码精码的校正方法,其特征在于,当判定计算得到的第一精码细分值的偏差值大于2n-1时,将计算得到的第一精码细分值的偏差值减去2n后再参与比较;其中,n为所述光电编码器的精码细分位数。
5.如权利要求3所述的光电编码器的粗码精码的校正方法,其特征在于,所述方法包括:在记录所述第一精码细分值的偏差值时,只对所述偏差值的最大值和所述偏差值的最小值进行缓存。
6.如权利要求1或3-5任一项所述的光电编码器的粗码精码的校正方法,其特征在于,所述根据所述第一精码细分值的偏差值的最大值和最小值计算精码偏差校正值包括:
对确定的所述第一精码细分值的偏差值的最大值和最小值取算数平均数,得到所述精码偏差校正值。
7.如权利要求1所述的光电编码器的粗码精码的校正方法,其特征在于,所述根据所述第三粗码角度值和所述第三精码细分值得到所述光电编码器采集的最终角度值包括:
根据以下公式计算得到所述最终角度值:
Y=D*2n+G;
其中,Y为最终角度值,G为第三精码细分值。
8.一种光电编码器的粗码精码的校正装置,其特征在于,所述装置用于执行如权利要求1-7任一项所述的方法步骤。
CN202111553603.0A 2021-12-17 2021-12-17 一种光电编码器的粗码精码的校正方法和装置 Active CN114279366B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111553603.0A CN114279366B (zh) 2021-12-17 2021-12-17 一种光电编码器的粗码精码的校正方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111553603.0A CN114279366B (zh) 2021-12-17 2021-12-17 一种光电编码器的粗码精码的校正方法和装置

Publications (2)

Publication Number Publication Date
CN114279366A CN114279366A (zh) 2022-04-05
CN114279366B true CN114279366B (zh) 2022-11-01

Family

ID=80873284

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111553603.0A Active CN114279366B (zh) 2021-12-17 2021-12-17 一种光电编码器的粗码精码的校正方法和装置

Country Status (1)

Country Link
CN (1) CN114279366B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114877922B (zh) * 2022-06-01 2024-02-09 大连探索者科技有限公司 一种绝对式光电角度传感器译码方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4712088A (en) * 1983-11-26 1987-12-08 Dr. Johannes Heidenhain Gmbh Multistage angle encoder with an improved allocation of coarse code information to fine code information
CN101846529A (zh) * 2010-05-20 2010-09-29 哈尔滨工业大学 基于dsp的星载绝对式光电轴角编码器译码电路
CN109000689A (zh) * 2018-09-25 2018-12-14 中国科学院长春光学精密机械与物理研究所 一种绝对式光电轴角编码器的数据处理方法、系统
CN111811562A (zh) * 2020-07-22 2020-10-23 中国科学院长春光学精密机械与物理研究所 一种基于微控制器的增量式光电编码器精粗校正方法
CN113566856A (zh) * 2021-08-16 2021-10-29 中国科学院长春光学精密机械与物理研究所 精码相位调整的方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7135673B2 (en) * 2004-10-29 2006-11-14 The Boeing Company Imaging rotation angle absolute encoder

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4712088A (en) * 1983-11-26 1987-12-08 Dr. Johannes Heidenhain Gmbh Multistage angle encoder with an improved allocation of coarse code information to fine code information
CN101846529A (zh) * 2010-05-20 2010-09-29 哈尔滨工业大学 基于dsp的星载绝对式光电轴角编码器译码电路
CN109000689A (zh) * 2018-09-25 2018-12-14 中国科学院长春光学精密机械与物理研究所 一种绝对式光电轴角编码器的数据处理方法、系统
CN111811562A (zh) * 2020-07-22 2020-10-23 中国科学院长春光学精密机械与物理研究所 一种基于微控制器的增量式光电编码器精粗校正方法
CN113566856A (zh) * 2021-08-16 2021-10-29 中国科学院长春光学精密机械与物理研究所 精码相位调整的方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
基于FPGA的光电编码器信号采集与处理;李峥辉 等;《测控技术》;20090918;第28卷(第09期);第17-22页 *
高精度编码器等幅性及正交性偏差补偿方法研究;沈思博;《中国优秀硕士学位论文全文数据库 信息科技辑》;20181015(第10期);全文 *

Also Published As

Publication number Publication date
CN114279366A (zh) 2022-04-05

Similar Documents

Publication Publication Date Title
CN109000689B (zh) 一种绝对式光电轴角编码器的数据处理方法、系统
DK2798311T3 (en) HIGH RESOLUTION ABSOLUTE CODES
CN114279366B (zh) 一种光电编码器的粗码精码的校正方法和装置
US5121116A (en) Absolute position encoder
CN108444506B (zh) 编码器码盘、绝对值编码器、位置获取方法及系统
CN102095439B (zh) 单码道绝对位置编码方法、解码方法及测量装置
CN111366177B (zh) 一种游标绝对式光电编码器单圈绝对位置读取装置及方法
CN105675030A (zh) 用于绝对值编码器的测量方法和装置
CN102788602B (zh) 一种准绝对式光学编码器
EP3308107B1 (en) Positional encoder
CN102829714A (zh) 一种基于圆感应同步器实现绝对式测角的方法
JP2015087194A (ja) 位置検出装置及びそれを有するレンズ装置及び撮影装置
CN101846529A (zh) 基于dsp的星载绝对式光电轴角编码器译码电路
CN111735482A (zh) 绝对值编码器及其读位方法、以及电子设备
CN111811562B (zh) 一种基于微控制器的增量式光电编码器精粗校正方法
JP3442869B2 (ja) 光学式アブソリュートエンコーダ
CN114136351B (zh) 一种具有检错纠错功能的单码道绝对式编码和解码方法
CN116481433A (zh) 确定电机位置的方法及装置、非易失性存储介质
CN113517891B (zh) 一种应用于数模转换器的线性校准系统和方法
JP2004144667A (ja) 位置情報の異常検出装置
ES2382045T3 (es) Procedimiento para la determinación de la posición angular absoluta del volante de un vehículo
JPH06347288A (ja) アブソリュートエンコーダ
Wang et al. Coding optimization for the absolute optical rotary encoder
CN113670344B (zh) 角度编码器的编码和解码方法、编码和解码装置、编码器
CN115112156B (zh) 一种识别数字轮角位置的光电编码方法及装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant