本发明属于多对极编码器技术,特别涉及一种基于多对极编码器的位置环跨对极连续编码方法。
背景技术:
编码器在现在数控制造、舵机、机器人、航空航天等领域中得到广泛应用。多对极编码器将编码器一圈分成若干个对极(或叫象限),其分辨率非常高,适于对精度要求较高的使用场景。如图1所示的4对极编码器,每个对极对应4096或者65535个码字,一圈就有4096*4或者65535*4个码字,这为位置环控制的高精度提供了保证。但是多对极编码器有个通病,就是当出现跨对极(或跨象限)时,编码器码字会出现突变。假设每个对极(象限)最大码字为65535,当出现跨对极(或跨象限)时,编码器码字就会从0突变为65535,或者从65535突变为0,见附图编码器示意图。在位置环使用环境下,为了使位置环的位置反馈数据(编码器码字)不出现突变,安装多对极编码器时要保证负载运动轨迹在其一个象限内,这样位置反馈数据才能保证是连续的。这就对多对极编码器安装工艺提出了较高的要求,每次安装完都要检测一次负载整个运动轨迹是否在编码器其中一个象限里,如果不在还要再调整再安装,整个过程会比较繁琐和漫长。
技术实现要素:
本发明的目的在于提供一种多对极编码器基于位置环出现跨对极时位置环反馈数据仍然连续的方法。
实现本发明目的的技术解决方案为:一种基于多对极编码器的位置环跨对极连续编码方法,包括如下步骤:
获取编码器位置零点;
根据编码器当前码字和编码器位置零点,确定编码器正反转及跨对极情况;
计算位置环反馈码。
进一步的,所述编码器位置零点通过在负载的起始位置读取编码器码字获得。
进一步的,计算位置环反馈码的具体方法为:
设多对极编码器每个对极最大码字为encmax,编码器当前码字为pos_tmp,位置环位置反馈码字为pos_fb,位置零点为zero_offset;
当pos_tmp<zero_offset且zero_offset-pos_tmp>encmax/2时,说明编码器逆时针转动并且跨对极,利用式(1)计算位置环反馈码:
pos_fb=pos_tmp-zero_offset encmax(1)
当pos_tmp>zero_offset且pos_tmp-zero_offset>encmax/2时,说明编码器顺时针转动并且跨对极,利用式(2)计算位置反馈码:
pos_fb=pos_tmp-zero_offset-encmax(2)
否则,说明编码器在一个象限里转动,没有出现跨象限,利用式(3)计算位置反馈码:
pos_fb=pos_tmp-zero_offset(3)。
本发明与现有技术相比,其显著优点为:本发明位置反馈码字连续,使得多对极编码器可以任意角度安装,一次安装后不需要再检测是否在编码器一个象限中,从而大大简化安装难度,缩短安装时间。
附图说明
图1是2对极编码器码字变化示意图。
图2是4对极编码器码字变化示意图。
图中,每对极最大码字为encmax,逆时针为每个对极码字增大方向,即0~encmax;顺时针为每个对极码字减小方向,即encmax~0。
具体实施方式
下面结合附图和具体实施例,进一步说明本发明方案。
本发明考虑负载在0~90度范围内的位置环控制情形。由于2对极编码器适用于负载在45度到90度内的位置环控制,4对极编码器适用于负载在45度内的位置环控制。因此,当负载运动角度介于45度到90度时,可以采用2对极编码器,每个对极有180度,见图1;当负载运动角度介于0度到45度时,可以采用4对极编码器,每个对极有90度,以提高位置反馈分辨率,见图2。
以采用4对极编码器为例进行分析。负载运动角度在0~45度之间顺时针转动,当负载位置环零点在大于等于0度且小于45度(45度码字为encmax/2)位置时(图2中阴影部分),就算极限情况,负载位置环零点在接近45度的地方,负载转动45度也不会超过90度,所以这种情况负载转动不会出现跨象限,位置环反馈数据时连续的。当位置环零点在大于等于45度且小于90度(90度码字为encmax)位置时(图2空白空分),负载转动45度就会出现跨象限,位置环反馈数据发生突变,当前码字与上一时间间隔的码字相差会很大。负载逆时针转动,分析过程类似。据此本发明提出一种基于多对极编码器的位置环跨对极连续编码方法,适于负载在0~90度范围内的位置环控制,具体步骤如下:
步骤1,在负载的起始位置读取编码器码字,获取编码器位置零点;
先假设位置环相关变量,多对极编码器每个对极(象限)最大码字为encmax,其为编码器已知参数,当发生跨对极时,码字会从0突变为encmax或者从encmax突变为0;编码器当前码字为pos_tmp;位置环位置反馈码字为pos_fb;位置零点为zero_offset。在位置环控制中,通常会标定“位置零点”,即当负载处于起始位置读取编码器码字获得,编码器装好后该值即固定。
步骤2,根据编码器当前码字与编码器位置零点的关系,确定位置环反馈码;
编码器逆时针转动,码字由小变大(0~encmax),在出现跨对极(象限)前,pos_tmp大于zero_offset;当遇到跨对极(象限)时,编器码字由encmax突变为0,pos_tmp小于zero_offset,并且zero_offset和pos_tmp之差大于encmax/2,因此当pos_tmp<zero_offset且(zero_offset-pos_tmp)>encmax/2时,利用下式计算位置环反馈码:
pos_fb=pos_tmp-zero_offset encmax;
编码器顺时针转动,码字由大变小(encmax~0),在出现跨对极(象限)前,pos_tmp小于zero_offset;当遇到跨对极(象限)时,编器码字由0突变为encmax,pos_tmp大于zero_offset,并且zero_offset和pos_tmp之差大于encmax/2,因此当pos_tmp>zero_offset且(pos_tmp-zero_offset)>encmax/2时,利用下式计算位置反馈码:
pos_fb=pos_tmp-zero_offset-encmax;
如果不是上述两种情况,则说明编码器在一个象限里转动,没有出现跨象限。因为反馈数据没有发生突变,编码器当前码字减去零位标定值即为位置环反馈值:
pos_fb=pos_tmp-zero_offset;
通过此方法,负载不管是从位置环零点转动,经过encmax到0的突变,还是回到零点,经过0到encmax的突变,计算的位置环的反馈值pos_fb是连续的,不会出现数据突变。
1.基于多对极编码器的位置环跨对极连续编码方法,其特征在于,包括如下步骤:
获取编码器位置零点;
根据编码器当前码字和编码器位置零点,确定编码器正反转及跨对极情况;
计算位置环反馈码。
2.根据权利要求1所述的基于多对极编码器的位置环跨对极连续编码方法,其特征在于,所述编码器位置零点通过在负载的起始位置读取编码器码字获得。
3.根据权利要求1所述的基于多对极编码器的位置环跨对极连续编码方法,其特征在于,计算位置环反馈码的具体方法为:
设多对极编码器每个对极最大码字为encmax,编码器当前码字为pos_tmp,位置环位置反馈码字为pos_fb,位置零点为zero_offset;
当pos_tmp<zero_offset且zero_offset-pos_tmp>encmax/2时,说明编码器逆时针转动并且跨对极,利用式(1)计算位置环反馈码:
pos_fb=pos_tmp-zero_offset encmax(1)
当pos_tmp>zero_offset且pos_tmp-zero_offset>encmax/2时,说明编码器顺时针转动并且跨对极,利用式(2)计算位置反馈码:
pos_fb=pos_tmp-zero_offset-encmax(2)
否则,说明编码器在一个象限里转动,没有出现跨象限,利用式(3)计算位置反馈码:
pos_fb=pos_tmp-zero_offset(3)。
技术总结