一种编码器数据读取方法、系统、存储介质和电子设备与流程

阅读: 评论:0



1.本发明涉及编码器电机控制技术领域,尤其涉及一种编码器数据读取方法、系统、存储介质和电子设备。


背景技术:



2.在单轴伺服系统中,因fpga具有串并转换提高通讯速率的特性,而电机控制系统对位置转子位置实时性很高,所以编码器数据的读取由fpga完成;arm完成电机控制所需的电机转子位置数据从fpga获取即可。
3.行业中电机适配的绝对值编码器很多,国外的有tamagawa、panasonic、sanyo、nikon;国内有德磨川、宇海等,但运行时遇到不同的编码器协议需要更新对应的读取软件,复杂了应用,大大降低伺服装置的便捷性和终端的应用体验。此外,多摩川编码器在应用中发现,发送协议id命令以外的id指令,该编码器也能反馈crc正确的数据流,但反馈帧数与发送id要求的帧数不对应,导致位置数据错误。因此,亟需提供一种技术方案解决上述问题。


技术实现要素:



4.为解决上述技术问题,本发明提供了一种编码器数据读取方法、系统、存储介质和电子设备。
5.本发明的一种编码器数据读取方法的技术方案如下:
6.将用于获取待控制电机的电机转子位置信息的数据读取指令发送至所述待控制电机对应的编码器;
7.当接收到所述编码器发送的反馈信息时,采用所述编码器对应的解码方式对所述反馈信息进行解码,得到解码数据;
8.判断所述解码数据中的首帧数据是否与所述数据读取指令匹配,得到第一判断结果;
9.当所述第一判断结果为是时,则从所述解码数据中得到用于控制所述待控制电机的电机转子位置信息。
10.本发明的一种编码器数据读取方法的有益效果如下:
11.本发明的方法在兼容多种编码器的数据读取方式的同时,也保证了获取电机转子位置信息的准确性和可靠性,从而提高了伺服系统通用性以及终端的应用效率。
12.在上述方案的基础上,本发明的一种编码器数据读取方法还可以做如下改进。
13.进一步,所述数据读取指令中包括:目标id命令,则所述方法还包括:
14.接收所述数据读取指令,并判断所述数据读取指令中的目标id命令与所述待控制电机对应的原始id命令相同,得到第二判断结果;
15.当所述第二判断结果为是时,则将所述数据读取指令发送至所述待控制电机对应的编码器。
16.进一步,所述首帧数据包括:反馈id命令,则所述判断所述解码数据中的首帧数据是否与所述数据读取指令匹配,得到第一判断结果,包括:
17.判断所述首帧数据中的反馈id命令是否与所述数据读取指令中的目标id命令相同,得到所述第一判断结果。
18.进一步,所述解码数据包括:所述待控制电机的转子位置信息和所述编码器的工作状态信息,则所述方法还包括:
19.当所述编码器的工作状态信息为正常时,根据所述待控制电机的转子位置信息对所述待控制电机进行控制。
20.进一步,还包括:当所述第一判断结果为否时,发出报警信息。
21.本发明的一种编码器数据读取系统的技术方案如下:
22.包括:发送模块、处理模块、判断模块和读取模块;
23.所述发送模块用于:将用于获取待控制电机的电机转子位置信息的数据读取指令发送至所述待控制电机对应的编码器;
24.所述处理模块用于:当接收到所述编码器发送的反馈信息时,采用所述编码器对应的解码方式对所述反馈信息进行解码,得到解码数据;
25.所述判断模块用于:判断所述解码数据中的首帧数据是否与所述数据读取指令匹配,得到第一判断结果;
26.所述读取模块用于:当所述第一判断结果为是时,则从所述解码数据中得到用于控制所述待控制电机的电机转子位置信息。
27.本发明的一种编码器数据读取系统的有益效果如下:
28.本发明的系统在兼容多种编码器的数据读取方式的同时,也保证了获取电机转子位置信息的准确性和可靠性,从而提高了伺服系统通用性以及终端的应用效率。
29.在上述方案的基础上,本发明的一种编码器数据读取系统还可以做如下改进。
30.进一步,所述数据读取指令中包括:目标id命令,则所述系统还包括:检测模块;
31.所述检测模块用于:接收所述数据读取指令,并判断所述数据读取指令中的目标id命令与所述待控制电机对应的原始id命令相同,得到第二判断结果,当所述第二判断结果为是时,则调用所述发送模块。
32.进一步,所述首帧数据包括:反馈id命令,则所述判断模块具体用于:
33.判断所述首帧数据中的反馈id命令是否与所述数据读取指令中的目标id命令相同,得到所述第一判断结果。
34.本发明的一种存储介质的技术方案如下:
35.存储介质中存储有指令,当计算机读取所述指令时,使所述计算机执行如本发明的一种编码器数据读取方法的步骤。
36.本发明的一种电子设备的技术方案如下:
37.包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时,使所述计算机执行如本发明的一种编码器数据读取方法的步骤。
附图说明
38.图1示出了一种编码器数据读取方法的流程示意图;
39.图2示出了一种编码器数据读取方法中的编码器数据读取的工作原理图;
40.图3示出了一种编码器数据读取方法中的数据解码的流程示意图;
41.图4示出了一种编码器数据读取系统的结构示意图。
具体实施方式
42.如图1所示,一种编码器数据读取方法,包括如下步骤:
43.s1、将用于获取待控制电机的电机转子位置信息的数据读取指令发送至所述待控制电机对应的编码器。
44.其中,待控制电机为伺服系统中的arm处理器所需要控制的电机;由于完成电机的控制需要实时获取电机转子的位置数据,故本实施例中采用fpga向待控制电机的电机类型对应的编码器发送数据读取指令。
45.需要说明的是,由于待控制电机的电机类型存在不同且arm处理器要求电机转子位置信息具有实时性,而fpga具有串并转换提高通讯速率的特性,故采用fpga对编码器进行数据读取。
46.s2、当接收到所述编码器发送的反馈信息时,采用所述编码器对应的解码方式对所述反馈信息进行解码,得到解码数据。
47.其中,反馈信息包括:(未解码的)编码器返回的反馈id命令,编码器的工作状态信息、电机转子位置信息、警告状态信息、crc校验数据。
48.具体地,电机转子位置信息为:待控制电机的转子的实时位置数据。需要说明的是,arm处理器控制电机的转子达到要求的转速或达到目标指令位置时,必须获取电机转子位置信息,因此,需要不断获取待控制电机的转子的实时位置数据。
49.编码器的工作状态信息和警告状态信息分别都是8位的数据,是通过编码器传输给fpga,再由fpga传输给arm处理器。这两个数据的差异为:警告状态信息是fpga解码后所获得的最初的关于编码器运行状态的8位数据,工作状态信息是在fpga中将获得的警告状态信息经过滤波,防止因外部干扰造成误警告,优化处理后的数据。
50.crc校验数据为:反馈信息的最后一帧数据,他的主要功能对返回数据验证,如数据无异常则所有数据异或结果为0,若存在外部干扰导致数据异常则所有数据异或结果不为0,该数据由编码器反馈回来所得到。
51.需要说明的是,fpga中存在多个数据通路,每个数据通路对应一个电机类型的解码方式。因此,采用待控制电机的电机类型对应的解码方式对反馈信息(反馈信号)进行解码。
52.s3、判断所述解码数据中的首帧数据是否与所述数据读取指令匹配,得到第一判断结果。
53.其中,首帧数据中包括:反馈id命令;数据读取指令中包括:目标id命令。反馈id命令为:反馈信息中的id命令;目标id命令为:数据读取指令中的id命令;原始id命令为:相应的电机类型对应的id命令,不同的电机类型对应的原始id命令不同。
54.具体地,首帧数据中只有反馈的id命令(即本实施例的反馈id命令),反馈id命令
为1帧10位的数据,格式为:“0010+反馈id命令+0”,这帧数据除了反馈id命令外,其余5位为固定格式的数据。目标id命令的格式为:“0010+id命令+0”,目标id命令必须为这种固定格式否则编码器无法识别;不同的编码器对应的id命令会不同;id具有的功能也不同,这些是编码器协议中的内容;比如id命令=0是对于tamagawa是要求编码器只反馈电机转子位置信息,而对于nikon是要求编码器反馈电机转子位置信息、编码器的工作状态信息和警告状态信息等全部信息。
55.s4、当所述第一判断结果为是时,则从所述解码数据中得到用于控制所述待控制电机的电机转子位置信息。
56.具体地,当匹配成功时,说明fpga所得到的反馈信息是arm处理器所需要的数据,从解码数据中获取到用于控制所述待控制电机的电机转子位置信息。
57.较优地,所述数据读取指令中包括:目标id命令。
58.需要说明的是,数据读取指令中除包括:目标id命令外,还包括:版本号、电机转子位置信息、编码器的工作状态信息和警告状态信息、使能信号、初始化完成信号和电机类型等。其中,使能信号即是开关,使能信号完成初始化前是由fpga控制,完成初始化以后是由arm处理器控制;版本号为:区分固件是否有更新的一个编号。
59.所述方法还包括:
60.接收所述数据读取指令,并判断所述数据读取指令中的目标id命令与所述待控制电机对应的原始id命令相同,得到第二判断结果。
61.其中,判断目标id命令与原始id命令是否相同的原理为:过滤掉错误的id命令,兼容tamagawa、panasonic、sanyo、nikon、德摩川、宇海等多种编码器类型,保证fpga发送到编码器的id命令正确且可被编码器识别。
62.需要说明的是,发送至编码器的id命令为arm处理器传输给fpga的id命令,只是在fpga中转换为编码器能够识别的id命令。发送模块发出的就是arm传给fpga的id命令,只是在fpga中转换为编码器认识的命令,从而符合编码器协议。
63.当所述第二判断结果为是时,则将所述数据读取指令发送至所述待控制电机对应的编码器。
64.较优地,所述首帧数据包括:反馈id命令。
65.则所述判断所述解码数据中的首帧数据是否与所述数据读取指令匹配,得到第一判断结果,包括:
66.判断所述首帧数据中的反馈id命令是否与所述数据读取指令中的目标id命令相同,得到所述第一判断结果。
67.具体地,fpga判断反馈id命令与目标id命令是否相同,当第一判断结果为相同时,输出初始化完成信号为1(判断之前初始化完成信号为0),此时将解码数据中的剩余数据发送至arm处理器(或者,arm处理读取解码数据中的剩余数据)。其中,剩余数据包括:待控制电机的转子位置信息、编码器的工作状态信息及报警信息。
68.较优地,所述方法还包括:
69.当所述编码器的工作状态信息为正常时,根据所述待控制电机的转子位置信息对所述待控制电机进行控制。
70.其中,编码器的工作状态信息的作用是:编码器的工作状态信息是在fpga中将获
得的警告状态信息经过滤波,防止因外部干扰造成误警告,优化处理后的数据。编码器的工作状态信息有对编码器电池状态监控的标志位、对位置数据状态监控的标志位、对编码器运行温度监控的标志位、对返回数据crc校验监控的标志位;这有这些标志位对应的状态正常,编码器才能正常工作。
71.需要说明的是,当arm处理器完成数据读取时,fpga将使能信号的控制权交还给arm处理器,以使arm处理器在读取数据同时,发出下个周期的使能信号,以此实现实时数据的读取功能。
72.较优地,还包括:当所述第一判断结果为否时,发出报警信息。
73.具体地,当解码数据中的首帧数据是否与所述数据读取指令不匹配时,fpga向arm处理器发送报警信息,提示数据读取错误。
74.为更好地说明本实施例的技术方案,采用图2的结构示意图进行说明。具体地,arm100将包括使能信号、电机类型和命令id(目标id命令)的数据读取指令发送至fpga200的接口模块210,接口模块210将该数据读取指令发送至控制模块220中的id识别模块223(图3);当id识别模块223识别成功时,将目标id命令通过发送模块230发送至编码器300,编码器300根据目标id命令将反馈信息(反馈id命令、转子位置信息、编码器状态信息、报警信息、crc校验码)发送至fpga200的选择接收模块240;接收选择模块240根据待控制电机的电机类型将编码器反馈信号接入对应通道导入至分析模块250进行解码;分析模块250将解码后的首诊数据(反馈id命令)通过发送模块230转发至控制模块220进行比对;当控制模块220比对成功时,生成初始化成功信号,分析模块250根据该信号将arm100需要的数据(转子位置信息、编码器的工作状态信息等数据)发送至arm100处理器;若比对失败,控制模块则生成报警信息,并通过分析模块向arm100处理器发送报警信息。
75.需要说明的是,如图3所示,分析模块250负责反馈信息的解码,编码器位置数据整理、编码器警告和报警信息整合;内部含有计数模块251,cnt0对单bit计数产生标志位flag1、cnt1单帧计数产生标志位flag2;当cnt0计满设定的阈值n0后置为0且cnt1开始加1,当cnt1计满设定的阈值后,cnt0和cnt1全置为0;在标志位置1时将返回数据装入位置数据、编码器警告和报警信息,如此循环分析解码,当帧数记到id对应的帧数即完成串行数据转并行数据环节,待下次使能信号到来后再开始计数、解码。如图3所示,控制模块220包含应答模块222与报警模块221;报警模块221中进行反馈id与id0对比分析,若id与id0相同则发出报警、id识别模块223可以过滤掉错误id命令,保证发送的id命令与电机类型对应,避免编码器300无法识别,不返回数据;应答模块222可以控制初始化起始信号生成、待完成初始化后将fpga200的使能信号有效切换为arm100的使能信号有效,即使能信号交arm100控制。
76.本实施例的技术方案在兼容多种编码器的数据读取方式的同时,也保证了获取电机转子位置信息的准确性和可靠性,从而提高了伺服系统通用性以及终端的应用效率。
77.如图4所示,本发明实施例的一种编码器数据读取系统400,包括:发送模块410、处理模块420、判断模块430和读取模块440;
78.所述发送模块410用于:将用于获取待控制电机的电机转子位置信息的数据读取指令发送至所述待控制电机对应的编码器;
79.所述处理模块420用于:当接收到所述编码器发送的反馈信息时,采用所述编码器对应的解码方式对所述反馈信息进行解码,得到解码数据;
80.所述判断模块430用于:判断所述解码数据中的首帧数据是否与所述数据读取指令匹配,得到第一判断结果;
81.所述读取模块440用于:当所述第一判断结果为是时,则从所述解码数据中得到用于控制所述待控制电机的电机转子位置信息。
82.较优地,所述数据读取指令中包括:目标id命令,则所述系统400还包括:检测模块;
83.所述检测模块用于:接收所述数据读取指令,并判断所述数据读取指令中的目标id命令与所述待控制电机对应的原始id命令相同,得到第二判断结果,当所述第二判断结果为是时,则调用所述发送模块410。
84.较优地,所述首帧数据包括:反馈id命令,则所述判断模块430具体用于:
85.判断所述首帧数据中的反馈id命令是否与所述数据读取指令中的目标id命令相同,得到所述第一判断结果。
86.本实施例的技术方案在兼容多种编码器的数据读取方式的同时,也保证了获取电机转子位置信息的准确性和可靠性,从而提高了伺服系统通用性以及终端的应用效率。
87.上述关于本发明的一种编码器数据读取系统400中的各参数和各个模块实现相应功能的步骤,可参考上文中关于一种编码器数据读取方法的实施例中的各参数和步骤,在此不做赘述。
88.本发明实施例提供的一种存储介质,包括:存储介质中存储有指令,当计算机读取所述指令时,使所述计算机执行如上文中的一种编码器数据读取方法的步骤,具体可参考上文中一种编码器数据读取方法的实施例中的各参数和步骤,在此不做赘述。
89.计算机存储介质例如:优盘、移动硬盘等。
90.本发明实施例提供的一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时,使所述计算机执行如上文中的一种编码器数据读取方法的步骤,具体可参考上文中的一种编码器数据读取方法的实施例中的各参数和步骤,在此不做赘述。
91.所属技术领域的技术人员知道,本发明可以实现为方法、系统、存储介质和电子设备。
92.因此,本发明可以具体实现为以下形式,即:可以是完全的硬件、也可以是完全的软件(包括固件、驻留软件、微代码等),还可以是硬件和软件结合的形式,本文一般称为“电路”、“模块”或“系统”。此外,在一些实施例中,本发明还可以实现为在一个或多个计算机可读介质中的计算机程序产品的形式,该计算机可读介质中包含计算机可读的程序代码。可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(ram),只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑磁盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。尽管上面已经示出和描述了
本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。

技术特征:


1.一种编码器数据读取方法,其特征在于,包括:将用于获取待控制电机的电机转子位置信息的数据读取指令发送至所述待控制电机对应的编码器;当接收到所述编码器发送的反馈信息时,采用所述编码器对应的解码方式对所述反馈信息进行解码,得到解码数据;判断所述解码数据中的首帧数据是否与所述数据读取指令匹配,得到第一判断结果;当所述第一判断结果为是时,则从所述解码数据中得到用于控制所述待控制电机的电机转子位置信息。2.根据权利要求1所述的一种编码器数据读取方法,其特征在于,所述数据读取指令中包括:目标id命令,则所述方法还包括:接收所述数据读取指令,并判断所述数据读取指令中的目标id命令与所述待控制电机对应的原始id命令相同,得到第二判断结果;当所述第二判断结果为是时,则将所述数据读取指令发送至所述待控制电机对应的编码器。3.根据权利要求2所述的一种编码器数据读取方法,其特征在于,所述首帧数据包括:反馈id命令,则所述判断所述解码数据中的首帧数据是否与所述数据读取指令匹配,得到第一判断结果,包括:判断所述首帧数据中的反馈id命令是否与所述数据读取指令中的目标id命令相同,得到所述第一判断结果。4.根据权利要求2或3所述的一种编码器数据读取方法,其特征在于,所述解码数据包括:所述待控制电机的转子位置信息和所述编码器的工作状态信息,则所述方法还包括:当所述编码器的工作状态信息为正常时,根据所述待控制电机的转子位置信息对所述待控制电机进行控制。5.根据权利要求4所述的一种编码器数据读取方法,其特征在于,还包括:当所述第一判断结果为否时,发出报警信息。6.一种编码器数据读取系统,其特征在于,包括:发送模块、处理模块、判断模块和读取模块;所述发送模块用于:将用于获取待控制电机的电机转子位置信息的数据读取指令发送至所述待控制电机对应的编码器;所述处理模块用于:当接收到所述编码器发送的反馈信息时,采用所述编码器对应的解码方式对所述反馈信息进行解码,得到解码数据;所述判断模块用于:判断所述解码数据中的首帧数据是否与所述数据读取指令匹配,得到第一判断结果;所述读取模块用于:当所述第一判断结果为是时,则从所述解码数据中得到用于控制所述待控制电机的电机转子位置信息。7.根据权利要求6所述的一种编码器数据读取系统,其特征在于,所述数据读取指令中包括:目标id命令,则所述系统还包括:检测模块;所述检测模块用于:接收所述数据读取指令,并判断所述数据读取指令中的目标id命令与所述待控制电机对应的原始id命令相同,得到第二判断结果,当所述第二判断结果为
是时,则调用所述发送模块。8.根据权利要求7所述的一种编码器数据读取系统,其特征在于,所述首帧数据包括:反馈id命令,则所述判断模块具体用于:判断所述首帧数据中的反馈id命令是否与所述数据读取指令中的目标id命令相同,得到所述第一判断结果。9.一种存储介质,其特征在于,所述存储介质中存储有指令,当计算机读取所述指令时,使所述计算机执行如权利要求1至5中任一项所述的一种编码器数据读取方法。10.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时,使所述计算机执行如权利要求1至5中任一项所述的一种编码器数据读取方法。

技术总结


本发明涉及一种编码器数据读取方法、系统、存储介质和电子设备,所述方法包括:将用于获取待控制电机的电机转子位置信息的数据读取指令发送至所述待控制电机对应的编码器;当接收到所述编码器发送的反馈信息时,采用所述编码器对应的解码方式对所述反馈信息进行解码,得到解码数据;判断所述解码数据中的首帧数据是否与所述数据读取指令匹配,得到第一判断结果;当所述第一判断结果为是时,则从所述解码数据中得到用于控制所述待控制电机的电机转子位置信息。本发明在兼容多种编码器的数据读取方式的同时,也保证了获取电机转子位置信息的准确性和可靠性,从而提高了伺服系统通用性以及终端的应用效率。用性以及终端的应用效率。用性以及终端的应用效率。


技术研发人员:

巩炳杰 夏亮 谭先锋 赵晓兀 曹祥 林树刚 兰东洋 魏章保

受保护的技术使用者:

重庆智能机器人研究院

技术研发日:

2022.09.20

技术公布日:

2023/1/31

本文发布于:2023-03-31 01:18:38,感谢您对本站的认可!

本文链接:https://patent.en369.cn/patent/1/83600.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:所述   编码器   数据   电机
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2022 Comsenz Inc.Powered by © 369专利查询检索平台 豫ICP备2021025688号-20 网站地图