编码器的滤波方法及装置与流程

文档序号:12476894阅读:2581来源:国知局
编码器的滤波方法及装置与流程

本发明涉及伺服控制技术领域,特别涉及一种编码器的滤波方法及装置。



背景技术:

在伺服电机控制中,编码器是电机转子的位置和转速的检测装置,对于伺服系统的闭环控制至关重要。常见的编码器可以分为增量型编码器和绝对值型编码器。绝对值型编码器就是对应一圈,每个基准的角度发出一个唯一与该角度对应的二进制数值,通过外部记圈器件可以进行多个位置的记录和测量。绝对值型编码器分辨率高,控制准确,但是由于其价格较高,所以不能完全取代增量型编码器。

增量型编码器就是电机转子每转过单位的角度时就发出一个脉冲信号,通常为A相、B相、Z相输出。其中,Z相为单圈脉冲,即每圈发出一个脉冲。由于增量型编码器单圈分辨率较低,所以导致电机在运行过程中容易产生抖动,特别是在低速运行的情况下。为了消除电机低速抖动,现在比较常用的滤波方法比如有三二滤波。该方法是取相邻的三个点,如果两个点为高则脉冲输出高,如果为低则输出低。然而,本申请的发明人发现:这种方法可以滤掉比较窄的脉冲,但是对于稍宽的脉冲的话,该方法就不能滤除。因此,现有技术中,对于使用增量型编码器的伺服控制系统,仍然无法有效消除电机低速抖动的问题。



技术实现要素:

本发明部分实施方式的目的在于提供一种编码器的滤波方法及装置,使得可以有效滤除电机低速抖动时的波形,从而可以提高伺服的控制精度和稳定性。

为解决上述技术问题,本发明的实施方式提供了一种编码器的滤波方法,包括:检测电机当前的整体运转方向;根据电机当前的整体运转方向将编码器在即将到来的第一预设时间段内输出的特定波形滤除;其中所述特定波形为与所述当前的整体运转方向不相符的波形。

本发明的实施方式还提供了一种编码器的滤波装置,包括:检测模块,用于检测电机当前的整体运转方向;滤波模块,用于根据电机当前的整体运转方向将编码器在即将到来的第一预设时间段内输出的特定波形滤除;其中所述特定波形为与所述当前的整体运转方向不相符的波形。

本发明实施方式相对于现有技术而言,由于电机在低速运转时,容易出现抖动,进而导致编码器输出一些反转波形,而该些反转波形的存在容易影响伺服的控制精度以及电机运转的稳定性,并且采用现有的三二滤波方法难以有效滤除该种低速抖动产生的反转波形,而本实施方式基于电机在运转过程中通常不会发生加速度突变的情况,通过预先判断出电机当前的整体运转方向再对接下来的反转波形进行滤除,从而可以准确、有效地排除电机低速抖动对伺服控制精度的影响,有利于电机的稳定性。

另外,所述检测电机当前的整体运转方向,具体包括:统计当前时刻之前的第二预设时间段内所述电机正向运转的总时间和反向运转的总时间;其中,所述第二预设时间段和所述第一预设时间段相连续;根据所述正向运转的总时间和所述反向运转的总时间判断所述电机当前的整体运转方向。通过统计一段时间内电机正向运转的总时间和反向运转的总时间,并根据正向运转的总时间和反向运转的总时间,可以准确判断出电机当前的整体运转方向。

另外,根据所述正向运转的总时间和所述反向运转的总时间判断所述电机当前的整体运转方向,具体包括:如果所述正向运转的总时间与所述反向运转的总时间之比大于第一预设阈值,则判定所述当前的整体运转方向为正向运转;如果所述正向运转的总时间和所述反向运转的总时间之比小于第二预设阈值,则判定所述当前的整体运转方向为反向运转。由此,可以方便地判断出电机当前的整体运转方向。

另外,所述统计当前时刻之前的第二预设时间段内所述电机正向运转的总时间和反向运转的总时间,具体包括:在所述第二预设时间段内,根据所述编码器输出的A相、B相脉冲的延迟关系判断所述电机的实际运转方向;其中所述A相脉冲超前所述B相脉冲四分之一周期时,判定所述电机的实际运转方向为正向运转;所述A相脉冲落后所述B相脉冲四分之一周期时,判定所述电机的实际运转方向为反向运转;统计所述第二预设时间段内电机的实际运转方向以及与所述实际运转方向对应的运转时长。由此,可以高效地计算出电机当前的实际运转方向。

另外,所述第二预设时间段为两个脉冲周期。通过统计两个脉冲周期内电机正向运转的总时间和反向运转的总时间,从而可以准确判断电机当前的整体运转方向。

另外,当所述第二预设时间段的起始时间为所述电机的初始运行时间时,在所述第二预设时间段内,根据所述电机的初始运转方向,将编码器在所述第二预设时间段内实际输出的特定波形滤除;其中,所述特定波形为与所述初始运转方向不相符的波形。从而,可以消除电机在初始运行时间出现抖动时对伺服控制精度的影响。

附图说明

图1是根据本发明第一实施方式编码器的滤波方法的流程图;

图2是根据本发明第二实施方式编码器的滤波方法的流程图;

图3是根据本发明第二实施方式编码器的滤波方法中电机正向运转时编码器输出的A相、B相脉冲的转换顺序示意图;

图4是根据本发明第二实施方式编码器的滤波方法中电机反向运转时编码器输出的A相、B相脉冲的转换顺序示意图;

图5是根据本发明第二实施方式编码器的滤波方法的滤波示意图;

图6是根据本发明第三实施方式编码器的滤波装置的结构示意图;

图7是根据本发明第四实施方式编码器的滤波装置中检测模块的结构示意图。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明的各实施方式进行详细的阐述。然而,本领域的普通技术人员可以理解,在本发明各实施方式中,为了使读者更好地理解本申请而提出了许多技术细节。但是,即使没有这些技术细节和基于以下各实施方式的种种变化和修改,也可以实现本申请所要求保护的技术方案。

本发明的第一实施方式涉及一种编码器的滤波方法,举例而言,该滤波方法可以应用于增量型编码器的滤波。

如图1所示,该滤波方法包括如下步骤:

步骤102:检测电机当前的整体运转方向。

步骤104:根据电机当前的整体运转方向将编码器在即将到来的第一预设时间段内输出的特定波形滤除。其中特定波形为与当前的整体运转方向不相符的波形。

通常,在电机运行过程中,不会发生加速度突变,电机不会突然发生反转,即电机的整体运转方向是稳定的。所谓电机的整体运转方向,对于增量型编码器而言,例如可以是指若干个脉冲周期内电机的运转方向。因此,在步骤102中,检测电机当前的整体运转方向,即可作为电机下一时间段内的运转方向。从而,在步骤104中,当在第一预设时间段内,根据编码器输出的脉冲,实际判断出电机瞬时的运转方向与电机当前的整体运转方向相反时,不输出该运转方向相反的瞬时脉冲。比如说,电机当前的整体运转方向是正向运转,当前时刻为t,在t时刻之后的第一个脉冲周期内,例如在t1时刻至t2时刻之间,检测到一个A相脉冲P1,且根据t1时刻脉冲P1的跳变关系判断出电机的实际运转方向为反向运转,此时,在第一预设时间段内,则不输出该脉冲P1,即当t1时刻之前的A相脉冲为低时,在t1至t2时刻之间继续输出低,或者,当t1时刻之前的A相脉冲为高时,在t1至t2时刻之间继续输出高。

本实施方式与现有技术相比,利用电机运行时电机运转方向不会发生突变的规律,根据检测出的电机当前的整体运转方向,将即将到来的第一预设时间段内的,与当前的整体运转方向相反的波形滤除,从而使得伺服控制系统可以在消除电机低速抖动的影响的前提下对电机提供更为精确的控制,有利于提高电机运转的稳定性。

本发明的第二实施方式涉及一种编码器的滤波方法。第二实施方式在第一实施方式的基础上做出改进,主要改进之处在于:在第二实施方式中,进一步限定了电机当前的整体运转方向的检测的方法,使得检测到的电机当前的整体运转方向较为准确。

如图2所示,本实施方式的滤波方法包括如下步骤:

步骤202:检测电机当前的整体运转方向。

步骤202中,包括如下子步骤:

子步骤2022:统计当前时刻之前的第二预设时间段内电机正向运转的总时间和反向运转的总时间。

子步骤2022中,第二预设时间段和第一预设时间段在时间上相连续。

为了准确地判断电机当前的整体运转方向,需要合理设定第二预设时间段的时长,举例而言,第二预设时间段可以设定为两个脉冲周期,即在每两个脉冲周期内,分别统计电机正向运转的总时间和反向运转的总时间。第一预设时间段可以为一个脉冲周期。这样,在当前时刻,由当前时刻起,取早于当前时刻的两个脉冲周期作为第二预设时间段,由当前时刻起,取下一个脉冲周期作为第一预设时间段。子步骤2022中,统计当前时刻之前的第二预设时间段内电机正向运转的总时间和反向运转的总时间具体包括:

在第二预设时间段内,根据编码器输出的A相、B相脉冲的延迟关系判断电机的实际运转方向。以增量型编码器为例,增量型编码器输出A相、B相、Z相脉冲,其中,当A相脉冲超前B相脉冲四分之一周期时,判定电机的实际运转方向为正向运转。当A相脉冲落后B相脉冲四分之一周期时,判定电机的实际运转方向为反向运转。根据该延迟关系,可以得到如图3、图4所示,电机正向运转、反向运转时,A相脉冲和B相脉冲的转换顺序。根据图3、图4所示的A相脉冲、B相脉冲的转换顺序,可以在编码器中预设脉冲转换与电机实际运转方向的对应关系,该对应关系如表一所示。

表一

再根据表一所示的对应关系可以判断出电机瞬时的实际运转方向。在判断出电机的实际运转方向之后,可以统计与实际运转方向对应的运转时长,本实施方式中,统计第二预设时间段内电机的实际运转方向以及与实际运转方向对应的运转时长。例如,当A相脉冲或者B相脉冲发生跳变时,开始计时,当A相脉冲和B相脉冲再次发生跳变时,可以统计出两次跳变之间的时长,并且可以判断出两次跳变之间的电机的实际运转方向。

子步骤2024:根据正向运转的总时间和反向运转的总时间判断电机当前的整体运转方向。

具体而言,如果正向运转的总时间与反向运转的总时间之比大于第一预设阈值,则判定当前的整体运转方向为正向运转。如果正向运转的总时间和反向运转的总时间之比小于第二预设阈值,则判定当前的整体运转方向为反向运转。第一预设阈值和第二预设阈值可以根据实际需要进行设定。例如,当电机是由反向运转向正向运转转换时,该第一预设阈值例如可以设置为20%,由于电机低速抖动的时间非常短,所以电机由反向运转切向正向运转时,由抖动而导致的正向运转时间通常不会大于20%。同样,当反向运转的总时间远大于正向运转的总时间时,即正向运转的总时间和反向运转的总时间之比小于第二预设阈值,第二预设阈值例如为5%,而5%这个数值可以根据电机低速运转产生抖动的经验得出,则判断出电机的运转方向为反向运转。

步骤204:根据电机当前的整体运转方向将编码器在即将到来的第一预设时间段内输出的特定波形滤除。

值得一提的是,本实施方式中,当第二预设时间段的起始时间为电机的初始运行时间时,在第二预设时间段内,还可以根据电机的初始运转方向,将编码器在第二预设时间段内实际输出的特定波形滤除。该特定波形为与初始运转方向不相符的波形。

结合图5所示,对本实施方式的滤波方法进行举例说明如下:

图5中,Direct示出了电机的实际运转方向,包括电机发生抖动时的运转方向,其中,当Direct为高时,表示电机正向运转,当Direct为低时,表示电机反向运转。Real_A、Real_B分别为编码器实际输出的A相、B相脉冲,Filter_A、Filter_B为采取本实施方式的滤波方法滤波后输出的波形。如表二所示,为根据Real_A、Real_B的输出以及表一确定出的电机的实际运转方向Direct。

表二

由图5可知,在t0至t1的脉冲周期内,A相脉冲出现了一个反转,实际为电机出现了一次抖动,在t1至t2的脉冲周期内,B相脉冲出现了一个反转,实际为电机出现了一次抖动。由于抖动造成的反转时间并不会很长,所以t0至t2两个脉冲周期内电机正向运转的总时间远大于反向运转的总时间,所以在t2时刻,可以判断出,电机当前的整体运转方向为正向运转,接下来,在t2至t3时间段内,当电机出现抖动时,出现了一个反转脉冲,由于当前时间段内电机的整体运转方向为正向,所以可以输出滤除掉该反转脉冲的波形给伺服系统,从而实现对于电机的精确控制,提高电机运行的稳定性。

上面各种方法的步骤划分,只是为了描述清楚,实现时可以合并为一个步骤或者对某些步骤进行拆分,分解为多个步骤,只要包含相同的逻辑关系,都在本专利的保护范围内;对算法中或者流程中添加无关紧要的修改或者引入无关紧要的设计,但不改变其算法和流程的核心设计都在该专利的保护范围内。

本发明第三实施方式涉及一种编码器的滤波装置。

如图6所示,该滤波装置6包括:

检测模块60,用于检测电机当前的整体运转方向。

滤波模块61,用于根据电机当前的整体运转方向将编码器在即将到来的第一预设时间段内输出的特定波形滤除。其中特定波形为与当前的整体运转方向不相符的波形。

通常,在电机运行过程中,不会发生加速度突变,电机不会突然发生反转,即电机的整体运转方向是稳定的。所谓电机的整体运转方向,对于增量型编码器而言,例如可以是指若干个脉冲周期内电机的运转方向。因此,可以将检测模块60检测到的电机当前的整体运转方向,作为电机下一时间段内的运转方向。从而,滤波模块61在第一预设时间段内,根据编码器输出的脉冲,实际判断出电机瞬时的运转方向与电机当前的整体运转方向相反时,可以输出将该脉冲滤除后的波形。

本实施方式与现有技术相比,利用电机运行时电机运转方向不会发生突变的规律,根据检测出的电机当前的整体运转方向,将即将到来的第一预设时间段内的,与当前的整体运转方向相反的波形滤除,从而使得伺服控制系统可以在消除电机低速抖动的影响的前提下对电机提供更为精确的控制,有利于提高电机运转的稳定性。

不难发现,本实施方式为与第一实施方式相对应的装置实施例,本实施方式可与第一实施方式互相配合实施。第一实施方式中提到的相关技术细节在本实施方式中依然有效,为了减少重复,这里不再赘述。相应地,本实施方式中提到的相关技术细节也可应用在第一实施方式中。

值得一提的是,本实施方式中所涉及到的各模块均为逻辑模块,在实际应用中,一个逻辑单元可以是一个物理单元,也可以是一个物理单元的一部分,还可以以多个物理单元的组合实现。此外,为了突出本发明的创新部分,本实施方式中并没有将与解决本发明所提出的技术问题关系不太密切的单元引入,但这并不表明本实施方式中不存在其它的单元。

本发明第四实施方式涉及一种编码器滤波装置。第四实施方式在第三实施方式的基础上做出改进,主要改进之处在于:在第四实施方式中,对检测模块做出了进一步限定,使得检测到的电机当前的整体运转方向较为准确。

如图7所示,第四实施方式的检测模块60包括:

运转时长统计子模块601,用于统计当前时刻之前的第二预设时间段内电机正向运转的总时间和反向运转的总时间。其中,第二预设时间段和第一预设时间段相连续,

整体运转方向判断子模块602,用于根据正向运转的总时间和反向运转的总时间判断电机当前的整体运转方向。

其中,运转时长统计子模块还包括:

实际运转方向判断子单元,用于在第二预设时间段内,根据编码器输出的A相、B相脉冲的延迟关系判断电机的实际运转方向。其中A相脉冲超前B相脉冲四分之一周期时,判定电机的实际运转方向为正向运转。A相脉冲落后B相脉冲四分之一周期时,判定电机的实际运转方向为反向运转。统计子单元,用于统计第二预设时间段内电机的实际运转方向以及与实际运转方向对应的运转时长。

本实施方式与现有技术相比,可以实时、准确、有效地将电机低速运行时由于抖动产生的异常波形滤除,从而提高伺服系统的控制精度以及电机运行的稳定性。

由于第二实施方式与本实施方式相互对应,因此本实施方式可与第二实施方式互相配合实施。第二实施方式中提到的相关技术细节在本实施方式中依然有效,在第二实施方式中所能达到的技术效果在本实施方式中也同样可以实现,为了减少重复,这里不再赘述。相应地,本实施方式中提到的相关技术细节也可应用在第二实施方式中。

本领域技术人员可以理解实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。

本领域的普通技术人员可以理解,上述各实施方式是实现本发明的具体实施例,而在实际应用中,可以在形式上和细节上对其作各种改变,而不偏离本发明的精神和范围。

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