一种单圈单向运动的编码器数据溢出规避方法及系统技术方案

技术编号:28219243 阅读:17 留言:0更新日期:2021-04-28 09:38
本发明专利技术公开了一种单圈单向运动的编码器数据溢出规避方法及系统。该方法通过在每次运动开始之前,去除编码器的多圈位置数据,并对当前单圈单向运动的位置重新取值。本发明专利技术通过只计算增量的方法,可以有效的防止编码器读数在单圈单向运动下的数据溢出,具有方法简便、计算量少的优点,避免了随意增加编码数据的位数而对系统造成很大的不可预知的影响。数而对系统造成很大的不可预知的影响。数而对系统造成很大的不可预知的影响。

【技术实现步骤摘要】
一种单圈单向运动的编码器数据溢出规避方法及系统


[0001]本专利技术涉及编码器
,更具体地说,特别涉及一种单圈单向运动的编码器数据溢出规避方法及系统。

技术介绍

[0002]对于位置控制模式的系统而言,通常的情况来说,都是双向运动的,一会向前、一会向后,通过调整编码器的初始位置,再运动都不会超出编码器数据的边界。但是当编码器处于纯粹单向运动时,随着运动时长的累计,只要不断电,那么数据边界迟早都会到达。
[0003]对于特定的一种单圈单向位置控制模式运动来说,存在以下特点:仅采用单圈伺服编码器,编码器是接收单圈绝对值脉冲数据,而非脉冲增量数据进行控制;一直单向运动,永不反向;在每次运动时,以增量作为计量标准,而非绝对位置。
[0004]通常情况下,针对单圈编码器,会采用软件累计的方案,将单圈数据的增量累计到一个软件变量里面,随着电机运动而变化。即:设编码器的读数为Enc,输入累计为:In,输出累计为:Out,原点设定为:Org,一圈的脉冲总数为PPC,则有:
[0005]Enc
all
+=Enc
cur

Enc
prev
[0006]Out
all
+=Out
delta
[0007]In
cur
=Enc
all

Org
[0008]Out
cur
=Out
all

Org
[0009]其中,Enc
all
是所有编码器读数的累计,Enc
cur
是当前周期的编码器读数,Enc
prev
是前一周期的编码器读数,Out
all
是所有的输出累计,Out
delta
是当前周期与前一周期的输出累计差值,In
cur
是当前周期的输入累计,Out
cur
是当前周期的输出累计。
[0010]通常,如果需要扩大编码器读数的范围,则会增大上述几个数据的位数,比如从16位增大到32位,或从32位增大到64位,使其虽然在理论上会有上限,由于每个运动都会消耗时间,当达到上限时,可能都需要消耗上千年或更久,这样的方法,可以达成防止数据的溢出。但是,对于一个既有的、已经设计好的系统而言,随意的增加编码数据的位数,将会对系统造成很大的且不可预知的影响,因此,有必要设计一种无需改变编码器位数的方案来规避数据的溢出。

技术实现思路

[0011]本专利技术的目的在于提供一种单圈单向运动的编码器数据溢出规避方法及系统,以克服现有技术所存在的缺陷。
[0012]为了达到上述目的,本专利技术采用的技术方案如下:
[0013]一种单圈单向运动的编码器数据溢出规避方法,该方法通过在每次运动开始之前,按照公式(1)去除编码器的多圈位置数据,并按照公式(2)对当前单圈单向运动的位置重新取值;
[0014][0015][0016]其中,Out
cur
是当前周期的输出累计,PPC为一圈的脉冲总数,Out'
cur
是重新取值后的当前周期的输出累计,Org是原点数据,Org'是重新取值后的原点数据,In
cur
是当前周期的输入累计,In

cur
是重新取值后的当前周期的输入累计。
[0017]进一步地,在去除编码器的多圈位置数据时,输出数据去除的圈数与输入数据去除的圈数一致。
[0018]进一步地,在去除编码器的多圈位置数据时的圈数为正整数。
[0019]本专利技术还提供一种用于实现上述单圈单向运动的编码器数据溢出规避方法的系统,包括编码器,所述编码器内包括去除模块,所述去除模块用于去除编码器的多圈位置数据,并对当前单圈单向运动的位置重新取值。
[0020]进一步地,还包括与去除模块连接的同步模块,所述同步模块用于保持输出数据去除的圈数与输入数据去除的圈数一致。
[0021]与现有技术相比,本专利技术的优点在于:本专利技术通过只计算增量的方法,可以有效的防止编码器读数在单圈单向运动下的数据溢出,具有方法简便、计算量少的优点,避免了随意的增加编码数据的位数而对系统造成很大的不可预知的影响。
附图说明
[0022]为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0023]图1是本专利技术单圈单向运动的编码器数据溢出规避系统的原理图。
具体实施方式
[0024]下面结合附图对本专利技术的优选实施例进行详细阐述,以使本专利技术的优点和特征能更易于被本领域技术人员理解,从而对本专利技术的保护范围做出更为清楚明确的界定。
[0025]实施例一
[0026]针对目前的单圈单向运动的编码器来说,伺服编码器只接受单圈绝对值脉冲数据,而非增量脉冲,因此输出脉冲,最终反映到真实输出的数据是:其中为的取整。而且每次运动的时候,实际做的都是基于上次运动的一个增量运动,并且伺服编码器的读数,实际也是对上一周期读
数与当前周期读数件差值的一个累计。
[0027]本实施例的设计构思正是基于以上的分析得来,即在原理上是可以通过只计算增量来对运动进行处理,使其数值不至于溢出,而始终只处于一个中位数,同时使计算量更少。
[0028]本实施例公开了一种单圈单向运动的编码器数据溢出规避方法,通过在每次运动开始之前,按照公式(1)去除编码器的多圈位置数据,并按照公式(2)对当前单圈单向运动的位置重新取值,由于每次运动都只是增量数据,因此去除多圈位置数据的方法,不会影响后续的任何动作。
[0029][0030][0031]此时有:
[0032]可以看出反映到伺服编码器的数据是:
[0033][0034]通过上述公式(3)可以看出,最终的伺服编码器接收到的数据是不变的,因此实际输出位置不变。而最终变化的是当前位置的读数,而这个并不影响实际的输出。
[0035]其中,Out
cur
是当前周期的输出累计,PPC为一圈的脉冲总数,Out'
cur
是重新取值后的当前周期的输出累计,Org是原点数据,Org'是重新取值后的原点数据,In
cur
是当前周期的输入累计,In

cur
是重新取值后的当前周期的输入累计。
[0036]本实施例中,在去除编码器的多圈位置数据时,输出数据去除的圈数与输入数据去除的圈数一致,这样输入输出的数据仍然从逻辑上相等,不会导致数据得错乱。
[0037]在去除编码器的多圈位置数据时的圈数为正整数。即去除整圈的数据,而不能去除非整圈数据,这是由于最终伺本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种单圈单向运动的编码器数据溢出规避方法,其特征在于:该方法通过在每次运动开始之前,按照公式(1)去除编码器的多圈位置数据,并按照公式(2)对当前单圈单向运动的位置重新取值;重新取值;其中,Out
cur
是当前周期的输出累计,PPC为一圈的脉冲总数,Out'
cur
是重新取值后的当前周期的输出累计,Org是原点数据,Org'是重新取值后的原点数据,In
cur
是当前周期的输入累计,In

cur
是重新取值后的当前周期的输入累计。2.根据权利要求1所述的单圈单向运动的编码器数据溢出...

【专利技术属性】
技术研发人员:石建军程国醒苗立晓范玉魁童亮
申请(专利权)人:深圳市华成工业控制股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1