针对绝对式码盘的误码校正方法

文档序号:8526602阅读:1245来源:国知局
针对绝对式码盘的误码校正方法
【技术领域】
[0001]本发明涉及到光电测量和自动控制领域,具体涉及一种绝对式码盘的误码校正方法。
【背景技术】
[0002]光电编码器是一种能够测量角度位置的传感器,为控制系统提供位置及角度等信息。绝对式码盘能够实时输出当前机械轴的转角,具有位置绝对唯一,抗干扰能力强,无需掉电记忆等优点。
[0003]传统的绝对式码盘码值计算一般没有误码校正算法,或者误码校正方法由于多种因素影响造成的校正精度不高,码值误码率较高。

【发明内容】

[0004]本发明为了解决现有的方法存在码盘的误码校正方法的校正精度不高的问题。
[0005]针对绝对式码盘的误码校正方法,包括下述步骤:
[0006]步骤一、计算增量码值W2,具体步骤如下:
[0007]绝对式码盘码值由粗码与精码组合而成,粗码获取自矩阵码盘,精码获取自光栅码盘。定义绝对码值为通过矩阵码盘得到粗码值,用W1表示,定义光栅码值为通过光栅码盘得到的光栅码值,用%表示(其位数为N)。设最终码盘值为W,则传统算法计算的最终码盘值 W = (w!?N) I W。。
[0008]步骤1.1、计算当前运算周期的光栅码值Wci和绝对码值w 1;
[0009]步骤1.2、若当前为第一个运算周期,初始化增量码值%为W2= W1,初始化上一次光栅码值Wcl咖为Wd—咖= Wci;若当前不是第一个运算周期,将上一个运算周期的Wci记为当前运算周期的Wcl―,即Wd—M= W ο;
[0010]其中W。的位数为N;
[0011]步骤1.3、计算Wci与w (^ld之差(Iwci= Wc1-Wcl。1(1,此值表示当前光栅码值的改变量;执行步骤1.4;
[0012]步骤1.4、判断CkjP -2 η的关系,如果dw/jH,表明绝对式码盘已正向转过一个光栅码值周期,此时给Wj武新值W2' =W2+1 ;如果CKUn-1,表明光栅码值返回上一周期,绝对式码盘反向转过一个光栅码值周期,此时给W2赋新值W2' = W2-1 ;如果(Iwci= -2 N_1, W2值不变;
[0013]步骤二、对增量码值W2进行累计误码的校正,具体步骤如下:
[0014]步骤2.1、若当前为第一个运算周期,定义“无误码”计数变量为no_err_cnt,设置其初值为O ;初始化上一次绝对码值WujldS W l old= W i,初始化上一次增量码值W2—。1(1为W 2_。1(1= W 2;若当前不是第一个运算周期,将上一个运算周期最终的w jp w 2分别记为当前运算周其月的 W 2—old,艮P Wl old= W O W2 old= W 2;
[0015]步骤2.2、在每个运算周期内,计算当前运算周期的绝对码值W1与上一次绝对码值Wujld之差(Iw1= W1-Wl old,计算当前运算周期的增量码值W2与上一次增量码值W2Jld之差dw2
=W2_W2—old;
[0016]步骤2.3、若(^与dw 2均等于0,即dw 1= dw 2= 0,则执行步骤2.4 ;否则判断dw !与(^2是否相等,若dw占dw 2相等,令“无误码”计数变量no_err_cnt加1,否则,令“无误码”计数变量no_err_cnt等于0,执行步骤2.4 ;
[0017]步骤2.4、若“无误码”计数变量no_err_cnt大于等于增量码值校正阈值Ii1,即no_err_cnt彡Ii1,贝Ij说明当前绝对码值W1无误码,此时用绝对码值w i代替增量码值w 2,即W2 =W1,进入步骤3.2 ;
[0018]否则进入步骤3.1;
[0019]三、对码盘值进行误码校正,具体步骤如下:
[0020]若系统产生误码,则(^与dw 2不等;由绝对码值w丨和增量码值w 2自身特点知,若绝对码值W1出现误码,则误码跳变较大,若增量码值W 2出现误码,则误码跳变较小;
[0021]若I Ck1-Ck21 >n2,则认为绝对码值W1出现误码可能性更大,增量码值w 2没有误差,此时用增量码值W2代替绝对码值w P即W1= w2;若I dw「dw21 ( n2,则认为增量码值W2出现误码可能性更大,此时用绝对码值W1代替增量码值w2,即W2= w 1;
[0022]步骤3.1、若I Ck1-Ck21 >n2,则用增量码值W2代替绝对码值w p即W1= w2;否则用绝对码值W1代替增量码值W 2,即W2= W 1;
[0023]n2为校正误码,n2> O ;
[0024]步骤3.2、若绝对码值&误码率比光栅码w ^误码率高,则最终码盘值W =(w2?N) I wq;否贝 Ij,最终码盘值 W = (w !?N) |wQ。
[0025]本发明融合了绝对式、增量式误码校正的优点,能够区分粗码误码和精码误码;本发明的对码盘的误码校正精度高,校正率可以达98%以上,可以弥补因多种因素造成的码值误码;而且本发明调试更加方便。
【附图说明】
[0026]图1 (a)为增量码值的计算流程图;
[0027]图1(b)误码的判断与校正流程图;
[0028]图2误码示意图;
[0029]图3经过本方法校正后的码值示意图。
【具体实施方式】
[0030]【具体实施方式】一:结合图1和图2说明本实施方式,1、针对绝对式码盘的误码校正方法,其特征在于它包括下述步骤:
[0031]步骤一、计算增量码值W2,具体步骤如下:
[0032]绝对式码盘码值由粗码与精码组合而成,粗码获取自矩阵码盘,精码获取自光栅码盘。定义绝对码值为通过矩阵码盘得到粗码值,用W1表示,定义光栅码值为通过光栅码盘得到的光栅码值,用%表示(其位数为N)。设最终码盘值为W,则传统算法计算的最终码盘值 W = (w!?N) I W。。
[0033]步骤1.1、计算当前运算周期的光栅码值Wci和绝对码值w 1;
[0034]步骤1.2、若当前为第一个运算周期,初始化增量码值%为W2= W1,初始化上一次光栅码值Wcl咖为Wd—咖= Wci;若当前不是第一个运算周期,将上一个运算周期的Wci记为当前运算周期的Wcl―,即Wd—M= w ο;
[0035]其中W。的位数为N;
[0036]步骤1.3、计算Wci与w ^ld之差dw 0= w ^wcl―,此值表示当前光栅码值的改变量;执行步骤1.4;
[0037]步骤1.4、判断dwQ和-2 η的关系,如果dw/jH,表明绝对式码盘已正向转过一个光栅码值周期,此时给Wj武新值W2' =W2+1 ;如果CKUn-1,表明光栅码值返回上一周期,绝对式码盘反向转过一个光栅码值周期,此时给W2赋新值W2' = W2-1 ;如果(Iwci= -2 N_1, W2值不变;
[0038]步骤二、对增量码值《2进行累计误码的校正,具体步骤如下:
[0039]步骤2.1、若当前为第一个运算周期,定义“无误码”计数变量为no_err_cnt,设置其初值为O ;初始化上一次绝对码值WujldS W l old= W i,初始化上一次增量码值W2—。1(1为W 2_。1(1= W 2;若当前不是第一个运算周期,将上一个运算周期最终的w jp w 2分别记
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1