一种绝对值编码器位置补偿的方法与流程

文档序号:29036548发布日期:2022-02-25 19:03阅读:418来源:国知局
一种绝对值编码器位置补偿的方法与流程

1.本发明涉及伺服控制系统的编码器技术领域,尤其是指一种绝对值编码器位置补偿的方法。


背景技术:

2.绝对值编码器由于极高分辨率和对位置的记忆功能使其在伺服控制中得到了越来越广泛的应用。
3.在伺服控制中,位置环pid控制是核心的控制环之一,其中pid给定的来源即是编码器的位置数据。目前的一般应用是:当位置环pid需要给定数据时,编码器位置采集模块将最近一次校验成功的位置数据给到位置环pid进行计算,从而控制电机的位置输出。
4.但是此方法有两个问题:第一,由于与绝对值编码器的通信方式为串行通信,所以采集一次编码器位置数据的时间最少为一次串行通信的时间,目前一般为几十微妙。即给到位置环的编码器位置数据,最大可能有一个通信周期的误差。第二,在与编码器通信的过程中由于干扰等原因,有时会造成通信错误,这时给到位置环的数据就是上一次通信正确数据,此时的位置误差更大,甚至达到好几个通信周期。这时需要客户使用专用的编码器连接线和非常完好的接地,造成了使用者成本的增加。


技术实现要素:

5.本发明针对现有技术的问题提供一种绝对值编码器位置补偿的方法,通过位置补偿生成一个新的编码器实时位置,大大减小了位置环接收的编码器位置误差。
6.为了解决上述技术问题,本发明采用如下技术方案:一种绝对值编码器位置补偿的方法,包括以下步骤:
7.a.绝对值编码器第n次成功通信时,采集到的绝对值编码器的位置值设为pn,其中n为正整数;
8.b.设绝对值编码器的通信成功的时刻为nt,其中n为正整数;
9.c.设置绝对值编码器第n次通信成功与第n-1次通信成功之间的通信次数为m;
10.d.设置绝对值编码器的通信周期为t;
11.e.设置绝对值编码器的速度为sn,其中n为正整数且n≥2,则速度sn=(pn-p(n-1))/m*t;
12.f.设置位置环采集绝对值编码器位置的时刻为t_sam,其中绝对值编码器通信成功时刻nt为t_sam之前最近一次通信成功的时刻;
13.g.设置时间time_reg,在t_sam时刻,时间time_reg=t_sam-nt;
14.h.设置在t_sam时刻补偿的绝对值编码器位置为p_cps,则位置p_cps=pn+sn*time_reg。
15.优选的,所述步骤g中,在nt时刻,time_reg清零。
16.优选的,所述步骤g中,设置寄存器,所述寄存器用于寄存时间time_reg。
17.优选的,所述步骤a至步骤h均在fpga环境中执行。
18.本发明还提供一种计算机存储介质,所述计算机存储介质存储有计算机指令,所述计算机指令被调用时,用于执行如权利要求1-4任一项所述的绝对值编码器位置补偿的方法。
19.本发明还提供一种电子设备,该电子设备包括:
20.处理器以及被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器执行如上述的绝对值编码器位置补偿的方法。
21.本发明的有益效果:
22.本发明提供的一种绝对值编码器位置补偿的方法,在位置环pid需要采集编码器位置时,通过位置补偿生成一个新的编码器实时位置,大大减小了位置环接收的编码器位置误差,且此方法可以通用于多种类型的绝对值编码器,兼容性强;本发明的补偿方法中,即使有通信错误,时间time_reg也会将通信错误的次数m乘以通信周期t这个时间补偿出来,所以不需要客户使用专用的编码器连接线,降低了使用的成本。
附图说明
23.图1为现有技术中绝对值编码器没有位置补偿且没有通信错误时的位置采样的示意图;
24.图2为现有技术中绝对值编码器没有位置补偿且有通信错误时的位置采样的示意图;
25.图3为本发明的绝对值编码器有位置补偿且没有通信错误时的位置采样的示意图;
26.图4为本发明的绝对值编码器有位置补偿且有通信错误时的位置采样的示意图;
27.图5为本发明的流程图。
具体实施方式
28.为了便于本领域技术人员的理解,下面结合实施例与附图对本发明作进一步的说明,实施方式提及的内容并非对本发明的限定。以下结合附图对本发明进行详细的描述。
29.实施例一:
30.本实施例提供的一种绝对值编码器位置补偿的方法,如图3至图5,包括以下步骤:
31.a.绝对值编码器第n次成功通信时,采集到的绝对值编码器的位置值设为pn,其中n为正整数;
32.b.设绝对值编码器的通信成功的时刻为nt,其中n为正整数;
33.c.设置绝对值编码器第n次通信成功与第n-1次通信成功之间的通信次数为m;
34.d.设置绝对值编码器的通信周期为t;
35.e.设置绝对值编码器的速度为sn,其中n为正整数且n≥2,则速度sn=(pn-p(n-1))/m*t;
36.f.设置位置环采集绝对值编码器位置的时刻为t_sam,其中绝对值编码器通信成功时刻nt为t_sam之前最近一次通信成功的时刻;
37.g.设置时间time_reg,在t_sam时刻,时间time_reg=t_sam-nt;其中,在nt时刻,
time_reg清零,并且设置寄存器,所述寄存器用于寄存时间time_reg;
38.h.设置在t_sam时刻补偿的绝对值编码器位置为p_cps,则位置p_cps=pn+sn*time_reg。
39.本实施例的n代表伺服系统上电后,第n次与绝对值编码器成功通信。
40.优选的,本实施例的步骤a至步骤h均在fpga环境中执行。具体地,如图1和图2所示,为在没有位置补偿的情况下的绝对值编码器的位置采集情况的示意图,可以看出,没有位置补偿的时候,存在一个周期或者超过一个周期的位置误差,因此容易在实际应用的时候,造成pid给定的数据的误差,最终导致伺服控制系统的使用的误差。因而本实施例旨在补偿时刻nt到位置环采集位置的时刻t_sam之间的位置。在确定绝对值编码器的基础数据后,计算绝对值编码器在两次通信之间的实时速度sn=(pn-p(n-1))/m*t,m的次数确定由伺服系统的控制中心确定,此为现有技术,此处不赘述;m*t为两次成功通信之间的具体时间;位置环采集绝对值编码器的位置的时刻为t_sam,t_sam减去前一次绝对值编码器与伺服系统成功通信的时刻nt,则可以获得上述两个时刻之间的时长time_reg,于是在t_sam时刻,绝对值编码器的实时位置为p_cps=pn+sn*time_reg。也就是说,本实施例通过获取绝对值编码器的实时速度,再获取到位置环采集绝对值编码器位置的时候与上一次绝对值编码器成功通信的时候之间的时间差,便可以得出绝对值编码器在nt时刻成功通信后到位置环采集位置时,所移动的位置距离,从而将该改变的位置距离补偿到nt时刻的绝对值编码器的位置pn,从而得到一个准确的绝对值编码器的实时位置p_cps;也因此,本实施例的位置采集不受通信周期误差的影响,通过计算出时间差time_reg,便可获取绝对值编码器的实时位置,因此即使存在通信周期的误差,也不影响绝对值编码器位置补偿后的准确性。
41.本实施例在位置环pid需要采集编码器位置时,通过位置补偿生成一个新的编码器实时位置,大大减小了位置环接收的编码器位置误差,且此方法可以通用于多种类型的绝对值编码器,兼容性强;本实施例的补偿方法中,即使有通信错误,时间time_reg也会将通信错误的次数m乘以通信周期t这个时间补偿出来,所以不需要客户使用专用的编码器连接线,降低了使用的成本,实用性更高。
42.实施例二:
43.本发明实施例公开了一种计算机可读存储介质,其存储用于电子数据交换的计算机程序,其中,该计算机程序使得计算机执行实施例一所描述的绝对值编码器位置补偿的方法中部分或者全部的步骤。
44.实施例三:
45.本发明实施例公开了一种计算机程序产品,该计算机程序产品包括存储了计算机程序的非瞬时性计算机可读存储介质,且该计算机程序可操作来使计算机执行实施例一所描述的绝对值编码器位置补偿的方法中部分或者全部的步骤。
46.实施例四:
47.本发明实施例公开的一种电子设备,其中,该电子设备包括:
48.处理器;以及,
49.被安排成存储计算机可执行指令(程序代码)的存储器,存储器可以是诸如闪存、eeprom(电可擦除可编程只读存储器)、eprom、硬盘或者rom之类的电子存储器。存储器具有存储用于执行实施例中的任何方法步骤的程序代码的存储空间。例如,用于程序代码的存
储空间可以包括分别用于实现上面的方法中的各种步骤的各个程序代码。这些程序代码可以从一个或者多个计算机程序产品中读出或者写入到这一个或者多个计算机程序产品中。这些计算机程序产品包括诸如硬盘,紧致盘(cd)、存储卡或者软盘之类的程序代码载体。这样的计算机程序产品通常为实施例四的计算机可读存储介质。该计算机可读存储介质可以具有与图4的电子设备中的存储器类似布置的存储段、存储空间等存储单元。程序代码可以例如以适当形式进行压缩。通常,存储单元存储有用于执行根据本发明的方法步骤的程序代码,即可以由诸如之类的处理器读取的程序代码,当这些程序代码由电子设备运行时,使得该电子设备执行上面所描述的绝对值编码器位置补偿的方法中的各个步骤。
50.在此提供的算法和显示不与任何特定计算机、虚拟装置或者其它设备固有相关。各种通用装置也可以与基于在此的示教一起使用。根据上面的描述,构造这类装置所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
51.以上所述,仅是本发明较佳实施例而已,并非对本发明作任何形式上的限制,虽然本发明以较佳实施例公开如上,然而并非用以限定本发明,任何熟悉本专业的技术人员,在不脱离本发明技术方案范围内,当利用上述揭示的技术内容作出些许变更或修饰为等同变化的等效实施例,但凡是未脱离本发明技术方案内容,依据本发明技术是指对以上实施例所作的任何简单修改、等同变化与修饰,均属于本发明技术方案的范围内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1