电机测速方法、装置、可读存储介质及电动设备与流程

文档序号:17736252发布日期:2019-05-22 03:13阅读:295来源:国知局
电机测速方法、装置、可读存储介质及电动设备与流程

本发明涉及电机测速领域,尤其涉及一种基于霍尔器件的电机测速方法、装置、可读存储介质及电动设备。



背景技术:

霍尔器件具有灵敏的磁特性,尺寸小、响应速度快,而且成本低,因此,在电机测速中得到广泛应用。霍尔器件是基于磁电变换原理,当电机转动一圈,霍尔器件感应到磁场变化便输出一个电脉冲,测量脉冲周期,就可计算出电机的转速。

在使用霍尔器件来检测电机转速时,常用的算法是设置io引脚中断,例如,设置上升沿中断,两次中断产生的间隔时间,即对应当前的脉冲周期,这种方法在测量单个电机的转速时简单有效,因为:对于单个电机,其噪声/毛刺很少,其数值也小,通常在硬件电路上采用简单的rc滤波电路就能得到干净的波形。但是,在一些智能电动玩具中,往往需要设置两个及两个以上的电机,而对于这种多电机应用的情况,特别是电机在做加减速运动时,多个电机间磁场窜扰很大,会导致霍尔器件产生大量的、数值较大的噪声/毛刺,从而导致电机测速的结果出现很大误差。

对于传统的gpio中断法,为了实现降噪,往往对一段时间内的中断信号进行计数/积分,然后再求取均值,但是,这个计数/积分通常需要几百毫秒到几秒的时间,从而使得测速的响应时间较慢,而且,这只对少量噪声有用,误差仍然较大。



技术实现要素:

本发明要解决的技术问题在于,针对现有技术中采用gpio中断机制将导致电机测速响应慢、误差大的缺陷,提供一种基于霍尔器件的电机测速方法、装置、可读存储介质及电动设备。

本发明解决其技术问题所采用的技术方案是:构造一种基于霍尔器件的电机测速方法,包括:

对霍尔器件的输出信号实时进行ad采样,以获取采样信号,其中,霍尔器件用于检测电机的转速;

将所获取的采样信号转换成脉冲信号;

分别计算每个脉冲信号的周期,以形成周期序列;

根据所述周期序列确定电机的转速。

优选地,在将所获取的采样信号转换成脉冲信号之前,还包括:

对滑动窗口内的采样信号进行均值处理。

优选地,将所获取的采样信号转换成脉冲信号,包括:

将所获取的采样信号与阈值进行比较,若大于等于阈值,则记为1;若小于阈值,则记为0。

优选地,在形成周期序列之后,针对周期序列中的每个周期,还进行以下步骤:

判断当前周期是否小于参考值,其中,所述参考值与前一周期相关;

在小于参考值时,将前一周期与后一周期进行比较,并将较小的周期确定为待拼接周期;

将当前周期与待拼接周期进行拼接,以形成新的周期序列。

优选地,根据所述周期序列确定电机的转速,包括:

对所述周期序列进行低通滤波,并根据低通滤波后的周期序列确定电机的转速。

本发明还构造一种基于霍尔器件的电机测速装置,所述霍尔器件用于检测电机的转速,包括存储器和处理器,所述存储器用于存储计算机程序,所述处理器用于在执行所述计算机程序时实现以上电机测速方法的步骤。

本发明还构造一种基于霍尔器件的电机测速装置,所述霍尔器件用于检测电机的转速,还包括存储器、ad采样单元和处理器,所述存储器用于存储计算机程序,所述ad采样单元用于对所述霍尔器件的输出信号实时进行ad采样,以获取采样信号;所述处理器用于在执行所述计算机程序时实现以下方法的步骤:

将所述采样信号转换成脉冲信号;

分别计算每个脉冲信号的周期,以形成周期序列;

根据所述周期序列确定电机的转速。

优选地,在形成周期序列之后,针对周期序列中的每个周期,还进行以下步骤:

判断当前周期是否小于参考值,其中,所述参考值与前一周期相关;

在小于参考值时,将前一周期与后一周期进行比较,并将较小的周期确定为待拼接周期;

将当前周期与待拼接周期进行相加,以形成新的周期序列。

本发明还构造一种可读存储介质,存储有计算机程序,其特征在于,所述计算机程序在被处理器执行时实现以上电机测速方法的步骤。

本发明还构造一种电动设备,包括多个电机及与电机一一对应的霍尔器件,还包括以上所述的电机测速装置。

实施本发明的技术方案,采用adc采样机制来代替现有的gpio中断机制,而且,由于ad采样信号是离散化的,很多小毛刺或噪声(周期小于adc的采样周期)信号就可以直接滤掉,所以,在根据采样信号计算电机的转速时,可起到降噪的作用。而且,在计算电机的转速时,由于不需要对gpio的中断信号的周期进行均值计算,所以测速的响应时间更快。

附图说明

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

图1是本发明提供的一实施例的基于霍尔器件的电机测速方法的流程图;

图2是本发明提供的一实施例的电机测速装置的硬件框图;

图3是本发明提供的另一实施例的电机测速装置的硬件框图;

图4是本发明提供的一实施例的电动设备的硬件框图。

具体实施方式

下面结合附图详细说明本发明的具体实施方式。

在此记载的具体实施方式/实施例为本发明的特定的具体实施方式,用于说明本发明的构思,均是解释性和示例性的,不应解释为对本发明实施方式及本发明范围的限制。除在此记载的实施例外,本领域技术人员还能够基于本申请权利要求书和说明书所公开的内容采用显而易见的其它技术方案,这些技术方案包括采用对在此记载的实施例的做出任何显而易见的替换和修改的技术方案,都在本发明的保护范围之内。另外需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。

图1是本发明提供的一实施例的基于霍尔器件的电机测速方法的流程图,该实施例的电机测速方法包括:

步骤s10.对霍尔器件的输出信号实时进行ad采样,以获取采样信号,其中,霍尔器件用于检测电机的转速;

在该步骤中,需说明的是,可采用独立的ad采样单元对霍尔器件的输出信号进行ad采样,如果mcu内置ad采样单元,也可直接将霍尔器件的输出信号送入mcu的ad采样端。

步骤s20.将所述采样信号转换成脉冲信号;

步骤s30.分别计算每个脉冲信号的周期,以形成周期序列;

步骤s40.根据所述周期序列确定电机的转速。

该实施例通过采用adc采样机制来代替现有的gpio中断机制,因为电机相对于ad采样单元的处理能力来说,其转速很低,例如,对于60000转/分钟的电机,换算成秒才1000hz。在工程中adc的采样率相对1000hz要高很多,例如,adc的采样率为30khz。由于ad采样信号是离散化的,所以,很多小毛刺(周期小于adc的采样周期)的信号就可以直接滤掉,所以,在根据采样信号计算电机的转速时,可起到降噪的作用。而且,在计算电机的转速时,由于不需要对gpio的中断信号的周期进行均值计算,所以测速的响应时间更快。

进一步地,在一个可选实施例中,步骤s10与步骤s20之间,还包括:

对滑动窗口内的采样信号进行均值处理。

在该实施例中,关于滑动窗口宽度的设置,其取值可大于两个采样周期且小于脉冲信号的周期。例如,在一个具体应用中,假设电机的转速为1khz,adc的采样率为30khz,那么,在电机转动一圈的时间内,将会采样到30个采样信号,而滑动窗口的宽度可设置为16个采样周期的长度,即,滑动窗口内带16个采样点。对于滑动窗口内的16个采样信号,可对其进行累加,并除以16,这样便可获得平均值。显然,这种信号处理方式,对于毛刺信号,由于其值和持续时长都小于正常信号,求取均值后会显著减小。

进一步地,在一个可选实施例中,步骤s20可具体包括:

将所获取的采样信号与阈值进行比较,若大于等于阈值,则记为1;若小于阈值,则记为0。

在该实施例中,通过一阈值来对处理后的采样信号进行二值化分隔,大于等于阈值记为1,小于阈值记为0,这样就可将采样信号转换为01表示的脉冲信号。另外,关于阈值的选取,其与adc的精度位数相关,若ad采样单元的精度位数多,所对应的阈值就大,反之亦然。本发明不对adc的精度位数做限制,理论上讲,任何精度位数都可以,adc的精度位数例如可取10bit、8bit,甚至1bit也可以。

进一步地,在步骤s30之后,即,在形成周期序列之后,针对周期序列中的每个周期,还进行以下步骤:

判断当前周期是否小于参考值,其中,所述参考值与前一周期相关,例如,将前一周期的50%确定为参考值,另外,对于首个参考值,可根据经验指定一固定值为参考值;

在小于参考值时,将前一周期与后一周期进行比较,并将较小的周期确定为待拼接周期;

将当前周期与待拼接周期进行拼接,以形成新的周期序列。

在该实施例中,为进一步实现降噪目的,还会对周期序列中的每个周期值做判断,当确定某个周期为小周期时,即,其小于参考值,就将该周期值叠加到其前后两个周期值中的较小者。

图2是本发明提供的一实施例的电机测速装置的硬件框图,该实施例的电机测速装置包括存储器10和处理器20,存储器10用于存储计算机程序,处理器20内置有ad采样单元,且用于在执行所述计算机程序时实现以上电机测速方法的步骤。

图3是本发明提供的另一实施例的电机测速装置的硬件框图,该实施例的电机测速装置包括存储器10、处理器20和ad采样单元30,存储器10用于存储计算机程序;ad采样单元30用于对霍尔器件的输出信号实时进行ad采样,以获取采样信号;处理器20用于在执行所述计算机程序时实现以下方法的步骤:

将所述采样信号转换成脉冲信号;

分别计算每个脉冲信号的周期,以形成周期序列;

根据所述周期序列确定电机的转速。

该实施例的电机测速装置相比图2所示的实施例,所不同的地方仅是:对霍尔器件的输出信号进行的ad采样是在外接于处理器20的ad采样单元30中进行的。其它相同的地方在此不做赘述。

关于以上实施例的电机测速装置,需说明的是,目前市面上低端的mcu自带的adc性能参数是:精度10bit-12bit,采样率10mhz,因此,本发明电机测速装置对硬件的要求较低。

还需说明的是,在实际应用中对霍尔器件的输出信号进行ad采样时,由于一般不能准确采集到上升沿,因此,最后计算出的电机转速存在一个固定的误差。但是,这可通过提升采样率来改善,其精度足够工程应用(因为电机经常搭配一个“几百:1”的变速箱)。以6w转/分的电机为例,其转速1k转/秒,如果ad采样单元的采样率为30khz,其计时的最大误差就是3.3%(1/30),若以固定按两次采样间隔的中间点来计时,所以精度可用正负来表示,即±1.7%;如果ad采样单元的采样率为100kh在,其计时的最大误差就是1%(1/30),所以精度可表示为±0.5%。这种精度对于实际应用中的电机测速是可接受的。

本发明还构造一种可读存储介质,其上存储有计算机程序,所述计算机程序在被处理器执行时实现以上电机测速方法的步骤。

图4是本发明提供的一实施例的电动设备的硬件框图,该实施例的电动设备包括多个电机200、…、200′、多个霍尔器件300、…、300′及电机测速装置100。而且,多个霍尔器件300、…、300′与多个电机200、…、200′一一对应。当电机转动时,每转动一圈,相应的霍尔器件因感应到磁场变化便会输出一个电脉冲。电机测速装置100的结构可参照前文所述,因此可根据该霍尔器件的输出信号来确定相应电机的转速,而且,即使多个电机间因磁场窜扰而导致霍尔器件输出大量的、数值较大的噪声/毛刺信号,也能实现准确的电机测速。

以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何纂改、等同替换、改进等,均应包含在本发明的权利要求范围之内。

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