一种基于蜘蛛黄蜂算法的角度值跳点抑制方法

文档序号:38155562发布日期:2024-05-30 12:10阅读:20来源:国知局
一种基于蜘蛛黄蜂算法的角度值跳点抑制方法

:本发明属于编码器制造领域,具体涉及一种基于蜘蛛黄蜂算法的磁电编码器角度值跳点抑制方法。

背景技术

0、
背景技术:

1、磁电编码器是一种将物理量转换为数字量的测量装置,广泛应用于电机转角以及位移的检测。其主要分为绝对式磁电编码器和增量式磁电编码器,其中绝对值式又分单圈绝对值和多圈绝对值。磁电编码器通常由磁钢、霍尔元件、编码器信号解算板等组成,与其他编码器相比,磁电编码器的最大优势是其稳固性,磁电编码器对灰尘,污垢,液体和油脂等污染物以及震动和振动不敏感,不易受外界环境的干扰,可应用于传统的编码器不能适应的领域,所以磁电编码器很适用于高精密、工作环境恶劣的场合。

2、为了提高磁编码器的分辨率,采用单极和多极磁钢相结合的组合式磁电编码器。虽然组合式的磁电编码器与之前相比精度明显提高,但是在求解磁电编码器角度值的过程中,存在许多不利因素,如磁钢的制造误差、磁钢的磁化不均匀、噪声干扰、霍尔元件的温度漂移等,这些因素都会产生噪声,进而引起多极磁编码器过零点时角度值在最小点和最大点的模糊区域跳跃。这样会使得放大后的多对极角度值中产生很多的跳点,这种在前后周期过零点处的极数误判所产生的角度值跳点问题对于提升多对极角度值的精度具有极大的影响。


技术实现思路

1、针对上述问题,本发明提出一种方案,目的是解决磁电编码器角度值在过零时产生跳点的问题。组合式磁电编码器在工作时,单极和多级磁钢随轴旋转,产生一个旋转的磁场,再由导磁环对磁场进行导向,由霍尔元件采集磁场信号,输出对应的模拟量值,利用信号解算板对模拟量值进行反正切算法转换为角度值。之后对单极角度值进行重新排序,判断多对极角度值模糊区域跳点情况,在此基础上附加域值x、确定区域上下限、形成极数判断区间对极数进行判断,再依据极数对多对极角度值进行角度细分计算,并进行差分处理。在此过程中,附加阈值x对跳点处理尤为重要,所以找到合适的阈值x是一项十分重要的工作。以此展开将蜘蛛黄蜂算法与之结合,不断代入域值x进行迭代计算,寻找最优阈值,来抑制在多极对角度值过零时往复跳动而引起的极数误判问题,从而抑制跳点的产生,提高磁电编码器的分辨精度。

2、本发明公布了一种基于蜘蛛黄蜂算法的角度值跳点抑制方法,包括以下步骤。

3、步骤一:电机主轴旋转,单极磁钢和多极磁钢随之转动,产生变化的磁场,由导磁环对磁场进行导向,再由单对极霍尔a1、单对极霍尔a2采集单对极磁场信号,经变换为正余弦信号。多对极霍尔b1、多对极霍尔b2采集多对极角度值信号,然后通过编码器信号解算板对单对极角度值信号与多对极角度值信号进行模数转换,得到数字信号,之后对单对极角度值与多对极角度值进行反正切求解,得到单极和多极角度值,解算公式为:

4、

5、其中,θ1为单对极角度值;θ2为多对极角度值;hs+为单极霍尔接受的信号经模数转换后得到的正弦数字信号;hs-单极霍尔接受的信号经模数转换后得到的余弦数字信号;hm+为多极霍尔接受的信号经模数转换后得到的正弦数字信号;hm-为多极霍尔接受的信号经模数转换后得到的余弦数字信号。

6、步骤二:单对极角度值θ1以升序排序,依据此对多对极角度值θ2进行排序,得到了多对极角度值θ2与单对极角度值θ1的对应关系。当单对极角度值θ1从0到65535变化一次,对应的多对极角度值θ2从0到65535变化其极对数次;在多对极角度值经过排序后,依据跳点情况对多对极角度值θ2赋予一个域值x,形成一个跳点删选区间,其公式为:

7、

8、其中θupper为区域上限,θlower为区域下限;x为删选区间长度。

9、由于对角度θ2添加一个阈值x,θupper和θlower的值容易超过[0,65535]的范围,为此对其进行处理,若θupper(i)>65535,则θupper(i)=θupper(i)-65535;若θlower(i)<0,则θlower(i)=θlower(i)+65535。

10、步骤三:便于数据存储,将步骤二中排序后的单对极角度值θ1全部除以65535,将θ1的取值范围从[0,65535]压缩到[0,1]之间,再乘以区间长度length。之后对压缩后的数据用取整函数命令对其取整,这样就将单对极角度值映射到了length区间之内,具体公式为:

11、θ1_length_1(i)=ro(θ1(i)/d×length)      (3)

12、其中θ1_length_1为压缩取整后的单对极角度值,取值范围为[0,length];ro为向下取整函数,其取整方式为:取小于或等于当前值且距当前值最近的整数;d为压缩倍数,这里取65535;length为区间长度。

13、对压缩取整后的单对极角度值θ1_length_1进行差分计算,具体公式为:

14、θ1_length_error(i)=θ1_length_1(i+1)-θ1_length_1(i)        (4)

15、其中θ1_length_error为差分计算后的数列,θ1_length_1(i+1)为当前压缩取整的单对极角度值,θ1_length_1(i)为上一个压缩取整的单对极角度值;将差分后的数列θ1_length_error中所有大于0的数值的序列号提取出来,单独制作成一个数列length_sift。

16、步骤四:依据数列length_sift的序列号,对多对极的多对极角度值θ2、区域上限多对极角度值θupper、区域下限多对极角度值θlower进行排序列表,其公式为:

17、

18、其中θ2_tab、θupper_tab、θlower_tab分别为θ2、θupper、θlower的列表。

19、对θ2_tab、θupper_tab、θlower_tab分别进行差分计算,具体公式为:

20、θ2_tab_err=θ2_tab(i+1)-θ2_tab(i)     (6)

21、其中θ2_tab_err为差分计算后的数列,θ2_tab(i+1)为当前多对极角度值,θ2_tab(i)为上一个单对极角度值。

22、差分计算时,若θ2_tab_err的值小于-60000,则原始无界限的多对极极数θ2_pole_num加1,直到极数的值等于多对极磁钢的极对数为止,当极数的值超过极对数时,极对数赋值为1;同理,对θupper_tab、θlower_tab进行相同的处理,得到区域上限值的多对极极数θ2_pole_num_upper,区域下限值的多对极极数θ2_pole_num_lower。

23、步骤五:将得到的三组多对极极数值进行整理;

24、若θ2_pole_num_upper(i)>θ2_pole_num(i)且θ2(i)<16384,则θ2_pole_num(i)的值加1;

25、若θ2_pole_num(i)>θ2_pole_num_lower(i)且θ2(i)>49152,则θ2_pole_num(i)的值减1;

26、若θ2_pole_num(i)-θ2_pole_num_lower(i)=1且θ2(i)>49152,则θ2_pole_num(i)的值减1,

27、另外,当θ2_pole_num(i)=1且θ2_pole_num_lower(i)=j且θ2(i)>49152时,θ2_pole_num(i)=j;

28、当θ2_pole_num(i)=j且θ2_pole_num_upper(i)=1且θ2(i)<16384时,θ2_pole_num(i)=1;

29、θout=(θ2_pole_num(i)-1)×65535+θ2(i)     (7)

30、其中,j为极对数;θout为分辨率提高后的多对极角度值;θ2_pole_num(i)为多对极极数,取值范围是[1,j],对θout进行差分计算,对得到的差分值取绝对值。

31、步骤六:定义函数:

32、y=td(x)     (8)

33、其中y作为跳点个数的记录,td表示函数的映射关系,其具体表现为步骤二到步骤五的执行过程,x为删选区间的长度。将该函数结合到蜘蛛黄蜂算法中,作为算法的目标函数,完成算法的初始化和种群的生成。之后黄蜂种群开始探索阶段,寻找合适的目标蜘蛛,其建模如下:

34、

35、其中为蜘蛛黄蜂(解决方案)的合集;t表示生成指数;i表示人口指数;μ1表示指定移动方向;a和b为种群中随机选择的两个指数,用于方向指定。r1是区间[0,1]之间的随机数;rn为满足正态分布的随机数。

36、雌性黄蜂有时会失去的蜘蛛的踪迹,因此他们搜索了这只蜘蛛掉落的确切地点周围的整个区域。建模如下:

37、

38、其中为初始参数的上界,为初始参数的下界;c是从总体中随机选择的指数;l是在区间[1,-2]内随机生成的数字。

39、之后,雌性黄蜂探索的下一个位置如下所示:

40、

41、如此一步步扩大搜索空间,找出最优区域,找到最优解。

42、本发明的有益效果为:

43、1.本发明将蜘蛛黄蜂算法与组合式磁电编码器高分辨率解算方法进行结合,蜘蛛黄蜂算法有搜索速度快、求解精度高等优势,能够准确快速的找到处理跳点的最优域值x,是一种能有效抑制组合式磁电编码器多对极角度值细分后跳点的影响的算法。

44、2.本发明使用的磁电编码器中的单对极磁钢的磁场为径向磁场,通过导磁体改变其磁场方向,这样既可以屏蔽外界噪声对信号的影响,还可以避免电机主轴轴向窜动产生的误差,极大的提高了编码器的精度。

45、3.本发明使用的多对极磁钢的极对数为24对极,经过本发明的算法解算,提高了磁电编码器的角度分辨率。

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