用于测量编码器信号频率的装置、方法及运行检测装置与流程

文档序号:11110356阅读:712来源:国知局
用于测量编码器信号频率的装置、方法及运行检测装置与制造工艺

本发明涉及信号测试技术领域,尤其涉及一种用于测量编码器信号频率的装置、方法及搬运装置的运行检测装置。



背景技术:

在仓库中使用搬运装置运输货物,搬运装置可以为搬运机器人等。搬运机器人在运输货物的过程中,由于各种器件、工况、嵌入式软件的运算等各种原因,可能会偏离行驶路线,对于存放有大量货架的仓库,对于搬运机器人行驶轨迹的实时纠偏就显得格外重要。目前,通过捕获与搬运机器人的电机或者车轮相连的编码器的值,确定搬运机器人运行的实际数值。例如,编码器所输出信号的频率相当于电机旋转的角速度(当编码器安放在减速机的不同位置时,计算所得的速度还与减速比有关),此数值乘以车轮周长则可计算所得左右车轮的线速度。对于搬运机器人设置有左、右车轮的期望线速度,将左、右车轮实际的线速度与期望的线速度进行对比,根据差值对当前左、右车轮速度进行调整,使搬运机器人的运行姿态不断地逼近期望状态。目前,通常采用测量电路来捕获编码器输出的脉冲,并计算被测信号的频率值,但计算误差较大,并且当需要捕获多个编码器的输出信号并计算频率值时,采集信号比较困难。



技术实现要素:

有鉴于此,本发明要解决的一个技术问题是提供一种用于测量编码器信号频率的装置、方法及搬运装置的运行检测装置。

根据本发明的一个方面,提供一种用于测量编码器信号频率的装置,包括:参考信号计数模块,用于接收参考信号,并记录在测量周期内所述参考信号的脉冲个数n0;测量信号计数模块,用于接收编码器输出的被测信号,并记录在所述测量周期内所述被测信号的脉冲个数nx;频率确定模块,用于计算所述nx与所述n0的商,以及所述商与所述参考信号的频率值的乘积,其中,所述乘积为所述被测信号的频率。

可选地,多个所述测量信号计数模块分别接收多个编码器输出的被测信号,并分别记录在所述测量周期内多个所述被测信号的脉冲个数nx;其中,所述测量信号计数模块与所述编码器的数量相同。

可选地,所述频率确定模块包括:除法器,用于接收所述参考信号计数模块输出的所述n0,以及所述测量信号计数模块输出的所述nx,计算所述nx与所述n0的商;乘法器,用于接收所述参考信号的频率值,计算所述商与所述频率值的乘积并输出。

可选地,所述参考信号计数模块包括:第一D触发器、第一计数器和第一锁存器;闸门信号接入所述第一D触发器的触发端;所述闸门信号通过非门接入所述第一锁存器的控制端;所述被测信号接入所述第一D触发器的时钟输入端;所述参考信号接入所述第一计数器的计数端;所述第一D触发器的输出信号与所述第一计数器输出的所述参考信号计数信号相与后接入所述第一计数器的计数使能端口;所述第一计数器的输出端接入所述第一锁存器的输入端。

可选地,所述测量信号计数模块包括:第二D触发器、第二计数器和第二锁存器;所述闸门信号接入所述第二D触发器的触发端;所述闸门信号通过非门接入所述第二锁存器的控制端;所述被测信号分别接入所述第二D触发器的时钟输入端、所述第二计数器的计数端;所述第二D触发器的输出信号与所述参考信号计数信号相与后接入所述第二计数器的计数使能端口;所述第二计数器的输出端接入所述第二锁存器的输入端。

可选地,信号整流模块,用于将所述参考信号和/或所述被测信号整形为方波。

根据本发明的另一方面,提供一种搬运装置的运行检测装置,包括:如上所述的用于测量编码器信号频率的装置;其中,所述编码器安装在搬运装置的车轴或电机输出轴上。

根据本发明的又一方面,提供一种用于测量编码器信号频率的方法,包括:接收参考信号,并记录在测量周期内所述参考信号的脉冲个数n0;接收编码器输出的被测信号,并记录在所述测量周期内所述被测信号的脉冲个数nx;计算所述nx与所述n0的商,以及所述商与所述参考信号的频率值的乘积,其中,所述乘积为所述被测信号的频率。

可选地,分别接收多个编码器输出的被测信号,并分别记录在所述测量周期内多个所述被测信号的脉冲个数nx。

可选地,当检测到闸门信号为有效、并且检测到所述被测信号的上升沿时,则开始同步记录所述n0和所述nx;当判断所述n0达到预设的阈值、并且检测到所述被测信号的上升沿时,则停止记录所述n0和所述nx。

可选地,在停止记录所述n0和所述nx后,将所述闸门信号设置为失效。

可选地,所述接收参考信号、并记录在测量周期内所述参考信号的脉冲个数n0包括:当检测到所述闸门信号为有效、并且检测到所述被测信号的上升沿时时,第一D触发器输出第一使能电平;当第一计数器输出的参考信号计数信号与所述第一使能电平相与后为触发所述第一计数器进行计数的有效使能电平时,则所述第一计数器对接入的所述参考信号的n0进行计数,并将计数值输入到第一锁存器;当所述参考信号计数信号失效时,则所述第一计数器停止对所述n0进行计数;其中,当所述n0达到预设的阈值时,所述参考信号计数信号失效;当所述闸门信号失效时,控制所述第一锁存器输出所述n0。

可选地,所述接收编码器输出的被测信号,并记录在所述测量周期内所述被测信号的脉冲个数nx包括:当检测到所述闸门信号为有效、并且检测到所述被测信号的上升沿时,第二D触发器输出第二使能电平;当所述参考信号计数信号与所述第二使能电平相与后为触发第二计数器进行计数的有效使能电平时,则所述第二计数器对接入的所述被测信号的nx进行计数,并将计数值输入到第二锁存器;当所述参考信号计数信号失效时,则所述第二计数器停止对所述nx进行计数;当所述闸门信号失效时,控制所述第二锁存器输出所述nx。

根据本发明的再一方面,提供一种用于测量编码器信号频率的装置,包括:存储器;以及耦接至所述存储器的处理器,所述处理器被配置为基于存储在所述存储器中的指令,执行如上所述的用于测量编码器信号频率的方法。

本发明的用于测量编码器信号频率的装置、方法及运行检测装置,通过多周期同步记录参考信号和被测信号的脉冲数,并基于脉冲数以及参考信号的频率计算出被测信号的频率,可以减少系统资源消耗,提高处理效率,并保证测量精度,减小测量误差,能够支持对多个编码器的输出信号同时进行测量,准确获取多个搬运装置的速度,高效地对搬运装置的速度进行调节。

附图说明

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

图1为根据本发明的用于测量编码器信号频率的装置的一个实施例的模块示意图;

图2为根据本发明的用于测量编码器信号频率的装置的一个实施例中频率确定模块的模块示意图;

图3为根据本发明的用于测量编码器信号频率的装置的另一个实施例的模块示意图;

图4A为根据本发明的用于测量编码器信号频率的装置的同步采集信号的原理图;

图4B为根据本发明的用于测量编码器信号频率的装置的参考信号输出单元的示意图;

图5为根据本发明的用于测量编码器信号频率的装置的一个实施例的中参考信号计数模块的示意图;

图6为根据本发明的用于测量编码器信号频率的装置的一个实施例的中测量信号计数模块的示意图;

图7为根据本发明的用于测量编码器信号频率的方法的一个实施例的流程示意图;

图8为根据本发明的用于测量编码器信号频率的方法的另一个实施例的流程示意图。

图9为根据本发明的用于测量编码器信号频率的装置的又一个实施例的模块示意图。

具体实施方式

下面参照附图对本发明进行更全面的描述,其中说明本发明的示例性实施例。下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。下面结合各个图和实施例对本发明的技术方案进行多方面的描述。

下文中的“第一”、“第二”等仅用于描述上相区别,并没有其它特殊的含义。

如图1所示,本发明提供一种用于测量编码器信号频率的装置,包括:参考信号计数模块11、测量信号计数模块12和频率确定模块13。参考信号计数模块11接收参考信号,并记录在测量周期内参考信号的脉冲个数n0。测量信号计数模块12接收编码器输出的被测信号,并记录在测量周期内被测信号的脉冲个数nx。频率确定模块13计算nx与n0的商,以及商与参考信号的频率值的乘积,乘积为被测信号的频率。

参考信号计数模块11、测量信号计数模块12和频率确定模块13可以有多种实现形式,如FPGA(Field-Programmable Gate Array,现场可编程门阵列)、CPLD(Complex Programmable Logic Device,复杂可编程逻辑器件)等。例如,FPGA对于处理并行电路有独特的优越性,采用FPGA实现参考信号计数模块11、测量信号计数模块12和频率确定模块13,能够对多个编码器输出的被测信号进行采集等,或者,频率确定模块13可以采用DSP等。

如图2所示,频率确定模块13包括:除法器131和乘法器132。除法器131接收参考信号计数模块11输出的n0,以及测量信号计数模块12输出的nx,计算nx与n0的商。乘法器132接收参考信号的频率值,计算商与频率值的乘积并输出。除法器131和乘法器132可以实现为DSP或ARM等。

编码器把搬移装置的车轮的角位移转换成脉冲信号,参考信号为脉冲信号,参考信号的频率已知。可以设置多个测量信号计数模块,测量信号计数模块与编码器的数量相同,分别接收多个编码器输出的被测信号,并分别记录在测量周期内多个被测信号的脉冲个数nx,可以计算多个编码器输出的被测信号的频率。

如图3所示,设置一个参考信号计数模块,即f0计数模块,设置多个测量信号计数模块,即fx1同步计数模块、fx2同步计数模块……fxn同步计数模,可同时对多个编码器输出的被测信号记录脉冲个数。除法器可以选用16位除法器,分别计算多个被测信号的脉冲个数与参考信号的脉冲个数的商,设置多个乘法器,分别计算除法器输出的商与参考信号的频率值的乘积并输出,获取多个编码器输出的被测信号的频率值。

如图4A所示,测量周期为T,即为闸门信号处于高电平的时间T,参考信号的时钟基准频率为f0(在下文中用f0代表参考信号),编码器输出的被测信号的待测频率为fx(在下文中用fx代表被测信号)。当闸门开通时,遇到fx的上升沿后,n0及nx同时开始计数,当n0计到满足时间约等于闸门时间T时,在fx的下一个上升沿,关闭闸门,n0和nx停止计数,则在测量周期内有整数倍的Tx,可以得到f0和fx的对应关系为:

根据上述测量方法以及公式1-1可知,测量编码器输出的被测信号的频率的相对误差约等于由此可知,以当计数所得n0越大时,相对误差则会越小。当采用的参考信号的时钟基准频率f0为100MHz,T为10s时,测量误差可达10-9。通过提高参考信号的基准频率,误差可以进一步提高精度。

在一个实施例中,基准时钟的产生可以采用FPGA芯片的外部时钟晶振,频率为50MHz,可以采用FPGA自带的PLL将外部晶振的频率倍频到100MHz,作为频率测量的时钟基准。PLL模块可以使用MegaWizard Plug-In生成,生成的模块图如图4B所示,inclk0引脚则连接晶振的输出,areset引脚连接复位信号,c0引脚则为PLL的输出时钟,该时钟即为参考信号的基准时钟f0。如果参考信号和/或被测信号不是信号质量较好的方波时,则通过信号整流模块将参考信号和/或被测信号整形为方波,对经过整形的信号进行测量。

如图5所示,参考信号计数模块包括:第一D触发器51、第一计数器53和第一锁存器54。第一计数器53可以选用16位的计数器,当接入的被计数信号为高电平时才开始计数,为低电平则停止计数。每次重新计数时都需要先将计数值清零。

闸门信号接入第一D触发器51的触发端D。闸门信号通过非门55接入第一锁存器54的控制端G。被测信号fx接入第一D触发器51的时钟输入端CP,参考信号f0接入第一计数器53的计数端CP。第一D触发器51的输出端Q发送的输出信号与第一计数器53的En_f0cnt端口输出的参考信号计数信号输入与门52,与门52的输出端接入第一计数器53的计数使能端口En。第一计数器53的输出端cnt与第二锁存器54的输入端IN相连。通过在第一计数器53的复位端rst_n输入复位信号rst_n,清除第一计数器53记录的各种数值。

由于f0和fx需要在测量周期内同步计数,即第一计数器53在第一D触发器51的输出信号与参考信号计数信号都为高电平时进行计数。根据预设的闸门时间设置n0的阈值,如果第一计数器53进行计数的n0值小于此阈值时,则第一计数器53的En_f0cnt端口输出的参考信号计数信号为高电平,如果第一计数器53进行计数的n0值达到此阈值时,则第一计数器53的En_f0cnt端口输出的参考信号计数信号为低电平,则第一计数器53停止计数。

当检测到闸门信号为有效、并且检测到被测信号fx的上升沿时时,第一D触发器51的输出端Q输出第一使能电平,第一使能电平为高电平,第一计数器53的En_f0cnt端口输出的参考信号计数信号也为高电平。当参考信号计数信号与第一使能电平相与后为触发第一计数器进行计数的有效使能电平,即为高电平时,第一计数器53对接入第一计数器53的计数端CP的参考f0的n0进行计数,第一计数器53将计数值输入到第一锁存器54的输入端IN,第一锁存器54保存n0。

当第一计数器53计数的n0值达到阈值时,则第一计数器53的En_f0cnt端口输出的参考信号计数信号为低电平,则参考信号计数信号失效,或者,闸门型号为失效,即为低电平时,则第一计数器53停止对n0进行计数。当闸门信号失效时,则在第一锁存器54的控制端G输入高电平,控制第一锁存器54输出n0。

如图6所示,测量信号计数模块包括:第二D触发器61、第二计数器63和第二锁存器64。闸门信号接入第二D触发器61的触发端D,闸门信号通过非门65接入第二锁存器64的控制端G。被测信号fx分别接入第二D触发器61的时钟输入端CP、第二计数63的计数端CP。第二D触发器61的输出端Q发送的输出信号与第一计数器53的En_f0cnt端口输出的参考信号计数信号输入与门62,在通过与门62相与后的信号接入第二计数器63的计数使能端口En。通过参考信号计数信号可以保证对no和nx同步计数。第二计数器的输出端cnt与第二锁存器64的输入端IN。通过在第二计数器63的复位端rst_n输入复位信号rst_n,清除第一计数器63记录的各种数值。

当检测到闸门信号为有效(高电平)、并且检测到被测信号fx的上升沿时,第二D触发器61的输出端Q输出第二使能电平(高电平)。第二计数器53的En_f0cnt端口输出的参考信号计数信号为高电平,当参考信号计数信号与第二使能电平相与后为触发第二计数器63进行计数的有效使能电平,即为高电平时,则第二计数器63对接入第二计数器53的计数端CP的被测信号fx的nx进行计数,第二计数器63的输出端cnt将计数值输入到第二锁存器64的输入端IN,第一锁存器54保存nx。

当第一计数器53计数的n0值达到阈值时,则第一计数器53的En_f0cnt端口输出的参考信号计数信号为低电平,则参考信号计数信号失效,或者,闸门型号为失效,即为低电平时,则第二计数器63停止对nx进行计数。当闸门信号失效时,通过在第二锁存器64的控制端G输入高电平,控制第二锁存器64输出nx。

在一个实施例中,提供一种搬运装置的运行检测装置,包括如上的用于测量编码器信号频率的装置。编码器安装在搬运装置的车轴或电机输出轴上,车轴可以为左轮轴和/或右轮轴等,编码器的数量可以为多个。

上述实施例中的用于测量编码器信号频率的装置、方法,通过多周期同步记录参考信号和被测信号的脉冲数,并基于脉冲数以及参考信号的频率计算出被测信号的频率,能够准确、稳定地获得被测信号的频率,可以减少系统资源消耗,提高处理效率,并保证测量精度,减小测量误差,能够支持对多个编码器的输出信号同时进行测量,准确获取多个搬运装置的速度,高效地对搬运装置的速度进行调节。

图7为根据本发明的用于测量编码器信号频率的方法的一个实施例的流程示意图,如图7所示:

步骤701,接收参考信号,并记录在测量周期内参考信号的脉冲个数n0。

步骤702,接收编码器输出的被测信号,并记录在测量周期内被测信号的脉冲个数nx。

步骤703,计算nx与n0的商,以及商与参考信号的频率值的乘积,其中,乘积为被测信号的频率。

在一个实施例中,可以分别接收多个编码器输出的被测信号,并分别记录在测量周期内多个被测信号的脉冲个数nx。当检测到闸门信号为有效、并且检测到被测信号的上升沿时,则开始同步记录n0和nx。当判断n0达到预设的阈值、并且检测到被测信号的上升沿时,则停止记录n0和nx,在停止记录n0和nx后,将闸门信号设置为失效。

图8为根据本发明的用于测量编码器信号频率的方法的另一个实施例的流程示意图,如图8所示:

步骤801,将复位信号置为有效,清除各项计数值,根据闸门的时间,即测量周期,设定n0的上限值。

步骤802,将闸门信号置1,当闸门信号为高电平时为有效信号。

步骤803,判断是否遇到fx上升沿,如果是,则进入步骤804。

步骤804,将计数使能信号置为有效,即为高电平。

步骤805,n0及nx都进行加1计数。

步骤806,判断n0计数是否达到上限值,如果是,则进入步骤807,如果否,则循环执行步骤805。

步骤807,判断是否检测到fx的上升沿,如果是,则进入步骤808。

步骤808,将闸门信号置0,当闸门信号为低电平时为失效信号。

步骤809,拷贝保存计数所得值,获取n0及nx,清理计数值为0。

图9为根据本发明的用于测量编码器信号频率的装置的又一个实施例的模块示意图,如图9所示:该装置可包括存储器61和处理器62,存储器91用于存储指令,处理器92耦合到存储器91,处理器92被配置为基于存储器91存储的指令执行实现上述的用于测量编码器信号频率的方法。

存储器91可以为高速RAM存储器、非易失性存储器(non-volatile memory)等,存储器91也可以是存储器阵列。存储器91还可能被分块,并且块可按一定的规则组合成虚拟卷。处理器92可以为由FPGA模块与DSP模块组合的处理器、或专用集成电路ASIC(Application Specific Integrated Circuit),或者是被配置成实施本发明的用于测量编码器信号频率的方法的一个或多个集成电路。

上述实施例中的用于测量编码器信号频率的装置、方法及运行检测装置,通过多周期同步记录参考信号和被测信号的脉冲数,并基于脉冲数以及参考信号的频率计算出被测信号的频率,能够准确、稳定地获得被测信号的频率,可以减少系统资源消耗,提高处理效率,并保证测量精度,减小测量误差,能够支持对多个编码器的输出信号同时进行测量,准确获取多个搬运装置的速度,高效地对搬运装置的速度进行调节,满足对仓储单位对货物运输的要求,提高了运送货物的准确性以及工作效率。

可能以许多方式来实现本发明的方法和系统。例如,可通过软件、硬件、固件或者软件、硬件、固件的任何组合来实现本发明的方法和系统。用于方法的步骤的上述顺序仅是为了进行说明,本发明的方法的步骤不限于以上具体描述的顺序,除非以其它方式特别说明。此外,在一些实施例中,还可将本发明实施为记录在记录介质中的程序,这些程序包括用于实现根据本发明的方法的机器可读指令。因而,本发明还覆盖存储用于执行根据本发明的方法的程序的记录介质。

本发明的描述是为了示例和描述起见而给出的,而并不是无遗漏的或者将本发明限于所公开的形式。很多修改和变化对于本领域的普通技术人员而言是显然的。选择和描述实施例是为了更好说明本发明的原理和实际应用,并且使本领域的普通技术人员能够理解本发明从而设计适于特定用途的带有各种修改的各种实施例。

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