一种多圈绝对值编码器及其测量方法与流程

文档序号:15552951发布日期:2018-09-29 00:27阅读:627来源:国知局

本发明属于编码器技术领域,具体涉及到一种多圈绝对值编码器及其测量方法。



背景技术:

绝对编码器在其光码盘上设置有许多道光通道刻线,每道刻线依次以2线、4线、8线、16线编排,这样在编码器的每一个位置,通过读取每道刻线的通、暗,获得一组从2的零次方到2的n-1次方的唯一的2进制编码(格雷码),这就称为n位绝对编码器。

绝对编码器由机械位置确定编码,它无需记忆,无需找参考点,而且不用一直计数,需要获取对应位置的时候,通过读取光码盘的编码信息便可获知。可见绝对值编码器的抗干扰特性、掉电信息保存性、数据的可靠性大大提高了。

从单圈绝对值编码器只能记录旋转范围360度以内的测量,而多圈绝对值编码器则能够记录多圈旋转的角度,现有技术中,多圈绝对值编码器实现方式有行星齿轮箱、钟表式齿轮结构、内置电池数据保持三种;

行星齿轮箱如果做到128圈以上体积会很庞大,或者要求加工精度极高,而且由于采用一个角度传感器,所以圈数较多时计量精度会大打折扣。

钟表式齿轮结构可以实现较多的圈数计量,结构比较复杂,对制造精度要求很高。

内置电池的编码器计量圈数理论上无限制,但是电池有使用寿命,而且一旦电池电量不足可能造成计量错误。很多应用场所不方便更换编码器的电池。



技术实现要素:

为了解决上述问题,本发明提供一种多圈绝对值编码器及其测量方法,解决现有技术中多圈绝对值编码器结构复杂的缺陷。

本发明采取的一种技术方案为:一种多圈绝对值编码器,包括输入轴和壳体,所述壳体内设有主齿轮、从齿轮和控制模块,所述控制模块包括磁角度传感器、存储器、微控制器和通信模块,所述输入轴与所述主齿轮连接,所述从齿轮与主齿轮之间相啮合,所述主齿轮和从齿轮上设有磁铁,所述磁铁的正上方设置所述磁角度传感器,所述磁角度传感器、存储器和通信模块分别与所述微控制器连接。

更进一步的方案是,所述从齿轮的数量为多个,所述从齿轮的齿数与主齿轮的齿数互质。

由上述方案可见,通过简单的磁角度传感器分别对主齿轮和从齿轮的转动角度进行检测,通过微控制器计算出输入轴的角度值和圈数值,即通过结构简单的齿轮结构,构成整体结构也较为简单的多圈绝对值编码器,实现多圈转角的记录。

本发明采取的另一种技术方案为:一种多圈绝对值编码器的测量方法,应用于上述方案中所述的多圈绝对值编码器;

所述测量方法包括:

微控制器分别获取所述主齿轮和从齿轮上各磁角度传感器的检测值及所有齿轮的零点偏移量;

微控制器根据所述检测值及零点偏移量进行计算,得出输入轴的角度值和圈数值;

微控制器将所述输入轴的角度值和圈数值通过通信模块发送给外部设备。

更进一步的方案是,得出所述输入轴的角度值,具体包括以下步骤:

计算arm

所述arm=(am+360°-apm)mod360°

其中,arm用于描述输入轴的角度值,am用于描述主齿轮对应磁角度传感器的检测值,apm用于描述主齿轮的零点偏移量,mod用于描述求余函数。

更进一步的方案是:

根据所述arm计算asn;

所述asn=(asn+720°-apsn-((arm×gm÷gsn)mod360°))mod360°

其中,asn用于描述主齿轮处于上一个零角度时第n个从齿轮的角度值,asn用于描述第n个从齿轮对应磁角度传感器的检测值,apsn用于描述第n个从齿轮的零点偏移量,gm用于描述主齿轮齿数,gsn用于描述第n个从齿轮齿数;

根据所述asn计算出cmn;

其中,所述cmn用于描述第n个从齿轮角度为asn时对应的主齿轮转动的圈数,当asn<(180°÷gsn)或者asn>(360°-180°÷gsn)则cmn的值为0,当cmn不为0,通过下式进行判断,其中,ctn为第一临时循环变量,ctn的取值范围,1≤ctn≤(gsn-1):

|((gm×ctn)modgsn)×360°÷gsn–asn|<(180°÷gsn)

当满足上式条件时的ctn即为所求cmn;

根据所述cmn计算出cm;

其中,所述cm用于描述输入轴的圈数值。

更进一步的方案是:

根据所述cmn计算出cm具体包括以下步骤:

首先根据第一个从齿轮数gs1与第二个从齿轮数gs2,计算组合后对应的主齿轮圈数cg2;

通过第二临时循环变量cts2取值从0到(gss2-1)循环判断下式:

cms2=(gsl2×cts2+cml2)modgss2;

当上式成立时,cg2的值就是gsl2×cts2+cml2;

其中,gss2用于描述gs1和gs2当中值较小的,gsl2用于描述gs1和gs2当中值较大的,cms2用于描述gs1和gs2当中值较小的所对应的主齿轮圈数,cml2用于描述gs1和gs2当中值较大的所对应的主齿轮圈数,也就是说,如果gs1小于gs2,则gss2的值为gs1,gsl2的值为gs2,cms2的值为cm1,cml2的值为cm2,如果gs1大于gs2,则gss2的值为gs2,gsl2的值为gs1,cms2的值为cm2,cml2的值为cm1;

然后计算第一个从齿轮与第二个从齿轮与第三个从齿轮组合后对应的主齿轮圈数cg3;

通过第三临时循环变量cts3取值从0到(gss3-1)循环判断下式:

cms3=(gsl3×cts3+cml3)modgss3;

当上式成立时,cg3的值就是gsl3×cts3+cml3;

其中,gss3用于描述(gs1×gs2)和gs3当中值较小的,gsl3用于描述(gs1×gs2)和gs3当中值较大的,cms3用于描述(gs1×gs2)和gs3当中值较小的所对应的主齿轮圈数,cml3用于描述(gs1×gs2)和gs3当中值较大的所对应的主齿轮圈数,也就是说,如果(gs1×gs2)小于gs3,则gss3的值为(gs1×gs2),gsl3的值为gs3,cms3的值为cg2,cml3的值为cm3,如果(gs1×gs2)大于gs3,则gss3的值为gs3,gsl3的值为(gs1×gs2),cms3的值为cm3,cml3的值为cg2;

依次类推可求得所有从齿轮组合后对应的主齿轮圈数cgn;

通过第n临时循环变量ctsn取值从0到(gssn-1)循环判断下式:

cmsn=(gsln×ctsn+cmln)modgssn;

当上式成立时,cgn的值就是gsln×ctsn+cmln;

其中,gssn用于描述(gs1*gs2*……*gs(n-1))和gsn当中值较小的,gsln用于描述(gs1*gs2*……*gs(n-1))和gsn当中值较大的,cmsn用于描述(gs1*gs2*……*gs(n-1))和gsn当中值较小的所对应的主齿轮圈数,cmln用于描述(gs1*gs2*……*gs(n-1))和gsn当中值较大的所对应的主齿轮圈数,也就是说,如果(gs1*gs2*……*gs(n-1))小于gsn,则gssn的值为gs1*gs2*……*gs(n-1),gsln的值为gsn,cmsn的值为cg(n-1),cmln的值为cmn,如果(gs1*gs2*……*gs(n-1))大于gsn,则gssn的值为gsn,gsln的值为gs1*gs2*……*gs(n-1),cmsn的值为cmn,cmln的值为cg(n-1),所计算出的cgn就是cm。

由上述方案可见,通过上述的一种多圈绝对值编码器及其测量方法,能够通过较为简单的测量方法和结构简单的多圈绝对值编码器,实现多圈转角的记录。

附图说明

图1为本发明实施例中的一种多圈绝对值编码器的结构原理图;

图2为本发明实施例中的一种从齿轮与主齿轮相啮合的结构示意图;

图3为本发明实施例中的一种多圈绝对值编码器的测量方法的方法流程图。

具体实施方式

为了使本发明要解决的技术问题、技术方案和优点更加清楚,下面将结合附图及具体实施例进行详细描述,这里的描述不意味着对应于实施例中陈述的具体实例的所有主题都在权利要求中引用了。

参考图1、图2所示,一种多圈绝对值编码器,包括输入轴和壳体,所述壳体内设有主齿轮、从齿轮和控制模块,主齿轮和从齿轮组成齿轮组,所述控制模块包括磁角度传感器、存储器、微控制器和通信模块,所述输入轴与所述主齿轮连接,所述从齿轮与主齿轮之间相啮合,所述主齿轮和从齿轮上设有磁铁,所述磁铁的正上方设置所述磁角度传感器,通过磁信号与各齿轮进行磁耦合,磁角度传感器利用磁信号感应非接触的特点获取相应的检测值,所述磁角度传感器、存储器和通信模块分别与所述微控制器连接。

进一步地,所述从齿轮的数量为多个,所述从齿轮的齿数与主齿轮的齿数互质。

通过上述方案,通过简单的磁角度传感器分别对主齿轮和从齿轮的转动角度进行检测,通过多个从齿轮与主齿轮相啮合以及各个齿轮上的齿数均为质数的结构,微控制器计算出从齿轮的多圈转角,即通过结构简单的齿轮结构,构成整体结构也较为简单的多圈绝对值编码器,实现多圈转角的记录。

参考图3所示,一种多圈绝对值编码器的测量方法,应用于上述方案中所述的多圈绝对值编码器;所述测量方法包括:

s101,微控制器分别获取所述主齿轮和从齿轮上各磁角度传感器的检测值及所有齿轮的零点偏移量;

s102,微控制器根据所述检测值及零点偏移量进行计算,得出输入轴的角度值和圈数值;

s103,微控制器将所述主齿轮的角度值和从动轮的圈数值通过通信模块发送给外部设备。

进一步地,步骤s102,具体包括以下步骤:

计算arm

所述arm=(am+360°-apm)mod360°

其中,arm用于描述输入轴的角度值,am用于描述主齿轮对应磁角度传感器的检测值,apm用于描述主齿轮的零点偏移量,mod用于描述求余函数;

根据所述arm计算asn;

所述asn=(asn+720°-apsn-((arm×gm÷gsn)mod360°))mod360°

其中,asn用于描述主齿轮处于上一个零角度时第n个从齿轮的角度值,asn用于描述第n个从齿轮对应磁角度传感器的检测值,apsn用于描述第n个从齿轮的零点偏移量,gm用于描述主齿轮齿数,gsn用于描述第n个从齿轮齿数;

根据所述asn计算出cmn;

其中,所述cmn用于描述第n个从齿轮角度为asn时对应的主齿轮转动的圈数,当asn<(180°÷gsn)或者asn>(360°-180°÷gsn)则cmn的值为0,当cmn不为0,通过下式进行判断,其中,ctn为第一临时循环变量,ctn的取值范围,1≤ctn≤(gsn-1):

|((gm×ctn)modgsn)×360°÷gsn–asn|<(180°÷gsn)

当满足上式条件时的ctn即为所求cmn;

根据所述cmn计算出cm;

其中,所述cm用于描述输入轴的圈数值;

根据所述cmn计算出cm具体包括以下步骤:

首先根据第一个从齿轮数gs1与第二个从齿轮数gs2,计算组合后对应的主齿轮圈数cg2;

通过第二临时循环变量cts2取值从0到(gss2-1)循环判断下式:

cms2=(gsl2×cts2+cml2)modgss2;

当上式成立时,cg2的值就是gsl2×cts2+cml2;

其中,gss2用于描述gs1和gs2当中值较小的,gsl2用于描述gs1和gs2当中值较大的,cms2用于描述gs1和gs2当中值较小的所对应的主齿轮圈数,cml2用于描述gs1和gs2当中值较大的所对应的主齿轮圈数,也就是说,如果gs1小于gs2,则gss2的值为gs1,gsl2的值为gs2,cms2的值为cm1,cml2的值为cm2,如果gs1大于gs2,则gss2的值为gs2,gsl2的值为gs1,cms2的值为cm2,cml2的值为cm1;

然后计算第一个从齿轮与第二个从齿轮与第三个从齿轮组合后对应的主齿轮圈数cg3;

通过第三临时循环变量cts3取值从0到(gss3-1)循环判断下式:

cms3=(gsl3×cts3+cml3)modgss3;

当上式成立时,cg3的值就是gsl3×cts3+cml3;

其中,gss3用于描述(gs1×gs2)和gs3当中值较小的,gsl3用于描述(gs1×gs2)和gs3当中值较大的,cms3用于描述(gs1×gs2)和gs3当中值较小的所对应的主齿轮圈数,cml3用于描述(gs1×gs2)和gs3当中值较大的所对应的主齿轮圈数,也就是说,如果(gs1×gs2)小于gs3,则gss3的值为(gs1×gs2),gsl3的值为gs3,cms3的值为cg2,cml3的值为cm3,如果(gs1×gs2)大于gs3,则gss3的值为gs3,gsl3的值为(gs1×gs2),cms3的值为cm3,cml3的值为cg2;

依次类推可求得所有从齿轮组合后对应的主齿轮圈数cgn;

通过第n临时循环变量ctsn取值从0到(gssn-1)循环判断下式:

cmsn=(gsln×ctsn+cmln)modgssn;

当上式成立时,cgn的值就是gsln×ctsn+cmln;

其中,gssn用于描述(gs1*gs2*……*gs(n-1))和gsn当中值较小的,gsln用于描述(gs1*gs2*……*gs(n-1))和gsn当中值较大的,cmsn用于描述(gs1*gs2*……*gs(n-1))和gsn当中值较小的所对应的主齿轮圈数,cmln用于描述(gs1*gs2*……*gs(n-1))和gsn当中值较大的所对应的主齿轮圈数,也就是说,如果(gs1*gs2*……*gs(n-1))小于gsn,则gssn的值为gs1*gs2*……*gs(n-1),gsln的值为gsn,cmsn的值为cg(n-1),cmln的值为cmn,如果(gs1*gs2*……*gs(n-1))大于gsn,则gssn的值为gsn,gsln的值为gs1*gs2*……*gs(n-1),cmsn的值为cmn,cmln的值为cg(n-1),所计算出的cgn就是cm。

下面以一个主齿轮和四个从齿轮为例进行说明:

本实施例中主齿轮齿数gm为31,从齿轮1齿数gs1为47,从齿轮2齿数gs2为37,从齿轮3齿数gs3为41,从齿轮4齿数gs4为43。主齿轮与从齿轮的零点偏移量apm和aps1、aps2、aps3、aps4都为0。

am、as1、as2、as3、as4表示主齿轮、从齿轮1、从齿轮2、从齿轮3、从齿轮4对应磁角度传感器的检测值,由于此实施例中所有从齿轮都与主齿轮直接啮合,所以as1、as2、as3、as4分别取值360°-as1、360°-as2、360°-as3、360°-as4。

as1、as2、as3、as4表示主齿轮上一个零角度时从齿轮1、从齿轮2、从齿轮3、从齿轮4的角度值。

arm表示输入轴的角度值。

cm表示输入轴的圈数值。

cm1、cm2、cm3、cm4表示从齿轮1、从齿轮2、从齿轮3、从齿轮4角度分别为as1、as2、as3、as4时对应的主齿轮转动的圈数。

gssn表示(gs1*gs2*……*gs(n-1))与gsn中较小的值,gsln表示(gs1*gs2*……*gs(n-1))与gsn中较大的值。

第一步计算arm

arm=(am+360°-apm)mod360°

其中,arm用于描述输入轴的角度值,am用于描述主齿轮对应磁角度传感器的检测值,apm用于描述主齿轮的零点偏移量,mod用于描述求余函数;

第二步根据第一步计算得到的arm计算as1、as2、as3、as4;

as1=(as1+720°-((am×31÷47)mod360°))mod360°

as2=(as2+720°-((am×31÷37)mod360°))mod360°

as3=(as3+720°-((am×31÷41)mod360°))mod360°

as4=(as4+720°-((am×31÷43)mod360°))mod360°

其中,am、as1、as2、as3、as4用于描述主齿轮、从齿轮1、从齿轮2、从齿轮3、从齿轮4对应磁角度传感器的检测值,as1、as2、as3、as4用于描述主齿轮上一个零角度时从齿轮1、从齿轮2、从齿轮3、从齿轮4的角度值,由于此实施例中所有从齿轮都与主齿轮直接啮合,所以as1、as2、as3、as4分别取值360°-as1、360°-as2、360°-as3、360°-as4。

第三步根据第二步计算得到的as1、as2、as3、as4计算出cm1、cm2、cm3、cm4;

如果as1<(180°÷47)或者as1>(360°-180°÷47)则cm1的值为0。

如果cm1不为0,则通过第一临时循环变ctn的第一次取值ct1,取值从1到46循环判断是否满足下式条件:

|((31×ct1)mod47)×360°÷47–as1|<(180°÷47)

当满足上式条件时的ct1即为所求cm1。

其中,cm1用于描述从齿轮1的角度值为as1时对应的主齿轮转动的圈数。

如果as2<(180°÷37)或者as2>(360°-180°÷37)则cm2的值为0。

如果cm2不为0,则通过第一临时循环变ctn的第二次取值ct2,取值从1到36循环判断是否满足下式条件:

|((31×ct2)mod37)×360°÷37–as2|<(180°÷37)

当满足上式条件时的ct2即为所求cm2。

其中,cm2用于描述从齿轮2的角度值为as2时对应的主齿轮转动的圈数。

如果as3<(180°÷41)或者as3>(360°-180°÷41)则cm3的值为0。

如果cm3不为0,则通过第一临时循环变ctn的第三次取值,ct3取值从1到40循环判断是否满足下式条件:

|((31×ct3)mod41)×360°÷41–as3|<(180°÷41)

当满足上式条件时的ct3即为所求cm3。

其中,cm3用于描述从齿轮3的角度值为as3时对应的主齿轮转动的圈数。

如果as4<(180°÷43)或者as4>(360°-180°÷43)则cm4的值为0。

如果cm4不为0,则通过第一临时循环变ctn的第四次取值,ct4取值从1到42循环判断是否满足下式条件:

|((31×ct4)mod43)×360°÷43–as4|<(180°÷43)

当满足上式条件时的ct4即为所求cm4。

其中,cm4用于描述从齿轮4的角度值为as4时对应的主齿轮转动的圈数。

第四步根据第三步计算得到的cm1、cm2、cm3、cm4计算出cm。

通过第二临时循环变量cts2取值从0到36循环判断下式:

cm2=(47×cts2+cm1)mod37

当上式成立时,cg2的值就是47×cts2+cm1;

其中,cg2用于描述从齿轮1和从齿轮2组合后对应的主齿轮转动的圈数

通过第三临时循环变量cts3取值从0到(gss3-1)循环判断下式:

cms3=(gsl3×cts3+cml3)modgss3

当上式成立时,cg3的值就是gsl3×cts3+cml3;

其中,cg3用于描述从齿轮1和从齿轮2和从齿轮3组合后对应的主齿轮转动的圈数,gss3用于描述(gs1×gs2)和gs3当中值较小的,gsl3用于描述(gs1×gs2)和gs3当中值较大的,cms3用于描述(gs1×gs2)和gs3当中值较小的所对应的主齿轮圈数,cml3用于描述(gs1×gs2)和gs3当中值较大的所对应的主齿轮圈数,因为(gs1×gs2)大于gs3,所以gss3的值为gs3,gsl3的值为(gs1×gs2),cms3的值为cm3,cml3的值为cg2。

通过第四临时循环变量cts4取值从0到(gss4-1)循环判断下式:

cms4=(gsl4×cts4+cml4)modgss4

当上式成立时,cg4的值就是gsl4×cts4+cml4

其中,cg4用于描述从齿轮1和从齿轮2和从齿轮3和从齿轮4组合后对应的主齿轮转动的圈数,gss4用于描述(gs1×gs2×gs3)和gs4当中值较小的,gsl4用于描述(gs1×gs2×gs3)和gs4当中值较大的,cms4用于描述(gs1×gs2×gs3)和gs4当中值较小的所对应的主齿轮圈数,cml4用于描述(gs1×gs2×gs3)和gs4当中值较大的所对应的主齿轮圈数,因为(gs1×gs2×gs3)大于gs4,所以gss4的值为gs4,gsl4的值为(gs1×gs2×gs3),cms4的值为cm4,cml4的值为cg3。

通过上述方法可求得cg4的值就是cm。

其中,cm用于描述输入轴的圈数。

最后计算出输入轴的圈数为cm,输入轴的角度值为am,此实施例的输入轴圈数的计量范围为0-3065856。

最后需要说明的是,上述描述为本发明的优选实施例,本领域的普通技术人员在本发明的启示下,在不违背本发明宗旨及权利要求的前提下,可以做出多种类似的表示,这样的变换均落入本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1