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

文档序号:660112 发布日期:2021-04-27 浏览:10次 >En<

阅读说明:本技术 一种单圈单向运动的编码器数据溢出规避方法及系统 (Encoder data overflow avoidance method and system for single-circle unidirectional motion ) 是由 石建军 程国醒 苗立晓 范玉魁 童亮 于 2020-12-08 设计创作,主要内容包括:本发明公开了一种单圈单向运动的编码器数据溢出规避方法及系统。该方法通过在每次运动开始之前,去除编码器的多圈位置数据,并对当前单圈单向运动的位置重新取值。本发明通过只计算增量的方法,可以有效的防止编码器读数在单圈单向运动下的数据溢出,具有方法简便、计算量少的优点,避免了随意增加编码数据的位数而对系统造成很大的不可预知的影响。(The invention discloses a method and a system for avoiding encoder data overflow of single-circle unidirectional motion. The method removes multi-turn position data of an encoder before each movement starts, and re-values the position of the current single-turn unidirectional movement. The invention can effectively prevent the data overflow of the reading of the encoder under the single-circle unidirectional motion by only calculating the increment, has the advantages of simple method and less calculation amount, and avoids the great unpredictable influence on the system caused by randomly increasing the number of bits of the encoded data.)

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

技术领域

本发明涉及编码器技术领域,更具体地说,特别涉及一种单圈单向运动的编码器数据溢出规避方法及系统。

背景技术

对于位置控制模式的系统而言,通常的情况来说,都是双向运动的,一会向前、一会向后,通过调整编码器的初始位置,再运动都不会超出编码器数据的边界。但是当编码器处于纯粹单向运动时,随着运动时长的累计,只要不断电,那么数据边界迟早都会到达。

对于特定的一种单圈单向位置控制模式运动来说,存在以下特点:仅采用单圈伺服编码器,编码器是接收单圈绝对值脉冲数据,而非脉冲增量数据进行控制;一直单向运动,永不反向;在每次运动时,以增量作为计量标准,而非绝对位置。

通常情况下,针对单圈编码器,会采用软件累计的方案,将单圈数据的增量累计到一个软件变量里面,随着电机运动而变化。即:设编码器的读数为Enc,输入累计为:In,输出累计为:Out,原点设定为:Org,一圈的脉冲总数为PPC,则有:

Encall+=Enccur-Encprev

Outall+=Outdelta

Incur=Encall-Org

Outcur=Outall-Org

其中,Encall是所有编码器读数的累计,Enccur是当前周期的编码器读数,Encprev是前一周期的编码器读数,Outall是所有的输出累计,Outdelta是当前周期与前一周期的输出累计差值,Incur是当前周期的输入累计,Outcur是当前周期的输出累计。

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

发明内容

本发明的目的在于提供一种单圈单向运动的编码器数据溢出规避方法及系统,以克服现有技术所存在的缺陷。

为了达到上述目的,本发明采用的技术方案如下:

一种单圈单向运动的编码器数据溢出规避方法,该方法通过在每次运动开始之前,按照公式(1)去除编码器的多圈位置数据,并按照公式(2)对当前单圈单向运动的位置重新取值;

其中,Outcur是当前周期的输出累计,PPC为一圈的脉冲总数,Out'cur是重新取值后的当前周期的输出累计,Org是原点数据,Org'是重新取值后的原点数据,Incur是当前周期的输入累计,In′cur是重新取值后的当前周期的输入累计。

进一步地,在去除编码器的多圈位置数据时,输出数据去除的圈数与输入数据去除的圈数一致。

进一步地,在去除编码器的多圈位置数据时的圈数为正整数。

本发明还提供一种用于实现上述单圈单向运动的编码器数据溢出规避方法的系统,包括编码器,所述编码器内包括去除模块,所述去除模块用于去除编码器的多圈位置数据,并对当前单圈单向运动的位置重新取值。

进一步地,还包括与去除模块连接的同步模块,所述同步模块用于保持输出数据去除的圈数与输入数据去除的圈数一致。

与现有技术相比,本发明的优点在于:本发明通过只计算增量的方法,可以有效的防止编码器读数在单圈单向运动下的数据溢出,具有方法简便、计算量少的优点,避免了随意的增加编码数据的位数而对系统造成很大的不可预知的影响。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本发明单圈单向运动的编码器数据溢出规避系统的原理图。

具体实施方式

下面结合附图对本发明的优选实施例进行详细阐述,以使本发明的优点和特征能更易于被本领域技术人员理解,从而对本发明的保护范围做出更为清楚明确的界定。

实施例一

针对目前的单圈单向运动的编码器来说,伺服编码器只接受单圈绝对值脉冲数据,而非增量脉冲,因此输出脉冲,最终反映到真实输出的数据是:其中的取整。而且每次运动的时候,实际做的都是基于上次运动的一个增量运动,并且伺服编码器的读数,实际也是对上一周期读数与当前周期读数件差值的一个累计。

本实施例的设计构思正是基于以上的分析得来,即在原理上是可以通过只计算增量来对运动进行处理,使其数值不至于溢出,而始终只处于一个中位数,同时使计算量更少。

本实施例公开了一种单圈单向运动的编码器数据溢出规避方法,通过在每次运动开始之前,按照公式(1)去除编码器的多圈位置数据,并按照公式(2)对当前单圈单向运动的位置重新取值,由于每次运动都只是增量数据,因此去除多圈位置数据的方法,不会影响后续的任何动作。

此时有:

可以看出反映到伺服编码器的数据是:

通过上述公式(3)可以看出,最终的伺服编码器接收到的数据是不变的,因此实际输出位置不变。而最终变化的是当前位置的读数,而这个并不影响实际的输出。

其中,Outcur是当前周期的输出累计,PPC为一圈的脉冲总数,Out'cur是重新取值后的当前周期的输出累计,Org是原点数据,Org'是重新取值后的原点数据,Incur是当前周期的输入累计,In′cur是重新取值后的当前周期的输入累计。

本实施例中,在去除编码器的多圈位置数据时,输出数据去除的圈数与输入数据去除的圈数一致,这样输入输出的数据仍然从逻辑上相等,不会导致数据得错乱。

在去除编码器的多圈位置数据时的圈数为正整数。即去除整圈的数据,而不能去除非整圈数据,这是由于最终伺服编码器接受的是单圈绝对值脉冲数据,而不是增量脉冲数据,本实施例中输出位置会直接作为伺服编码器的数据,如果去除非整圈数据,就会导致伺服编码器接受到的数据发生很大的变化,而不是实际的输出数据。

由于本实施例通过只计算增量,可以有效的防止编码器读数在单圈单向运动下的数据溢出,具有方法简便、计算量少的优点,避免了随意的增加编码数据的位数而对系统造成很大的不可预知的影响。

举例说明其具体应用为,比如原来的当前输出位置为739°,变化后,新的当前输出位置变化为了19°。同理,如果在这个时候,伺服已经稳定下来,则起读入位置应该是739°,变化后,变为了19°;而如果在这个时候,伺服还未稳定下来,则假设读入数据为502°,则变化后为:502°-720°=-218°,并且由于伺服还要运行502-739=237°才会实际到位,当实际到位时,真实读数就会变为:-218+237=19°,因此也不会有变化。

即最终输入脉冲、输出脉冲,将始终停留在0°附近,不会达到数据的边界,而原点数据也始终不变,因此也不会达到数据的边界;即通过本发明的方法可以有效的防止编码器读数在单圈单向运动下的数据溢出。

实施例二

参阅图1所示,本实施例还提供一种用于实现实施例一中单圈单向运动的编码器数据溢出规避方法的系统,包括编码器1,所述编码器1内包括去除模块10,所述去除模块10用于去除编码器的多圈位置数据,并对当前单圈单向运动的位置重新取值。

本实施例还包括与去除模块10连接的同步模块20,该同步模块20用于保持输出数据去除的圈数与输入数据去除的圈数一致。

虽然结合附图描述了本发明的实施方式,但是专利所有者可以在所附权利要求的范围之内做出各种变形或修改,只要不超过本发明的权利要求所描述的保护范围,都应当在本发明的保护范围之内。

7页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:基于光电位移传感器的驱动机构零位调节装置及方法

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!