一种增量式编码器的断线位置检测系统和方法与流程

文档序号:19945382发布日期:2020-02-18 09:13阅读:1015来源:国知局
一种增量式编码器的断线位置检测系统和方法与流程

本发明涉及增量式编码器技术领域,具体涉及增量式编码器的断线位置检测技术。



背景技术:

增量式编码器现在已广泛应用于电气控制系统中,其将位移转换成周期性的电信号,再把电信号转换成计数脉冲,脉冲的个数表示位移的大小。如图1所示,在伺服电机和驱动控制应用中,三通道的增量式编码器输出的脉冲有a相、b相、和z相。其中,a相和b相为正交脉冲信号,相互延迟1/4周期,z相为单圈脉冲,每旋转一圈发出一个脉冲。a相和b相信号输入到具有正交计数功能的微控制单元mcu后,可以获得编码器实时的位置和速度。如果其中一路信号与mcu的连接断开,正交计数器的结果将不能正常反映编码器的位置信息,驱动器将无法确定电机的准确位置,从而不能正确地控制伺服电机。因此,在高安全性的电机控制系统中,需要重点考虑断线检测和断线后的位置检测方法。

目前,通常通过在mcu外围搭建断线检测电路来检测故障位置,如图2所示,一种故障检测电路,通过对a相和b相信号进行逻辑处理及滤波,最后通过是否有预设的逻辑信号判断是否有断线发生。图3示出另一种常用的检测电路,其对a相和b相信号进行编码,通过计算间隔设置的编码连续出现相同的次数,并与预设值比较,来判定是否有断线发生。这两种电路均搭建在mcu外围,受到器件本身的可靠性和器件之间互联的影响,系统运行的可靠性不足,同时,其需要通过芯片的i/o输入将故障信号反馈给电机控制芯片,响应速度较慢,此外,这类电路的制造成本较高。

因此,需要设计一种内置于芯片的断线位置检测电路,既可以提高电路可靠性,又可以使得cpu能够直接响应线路中断,以提高响应速度,同时,还可以降低设计成本。



技术实现要素:

为了在增量编码器断线后,快速准确地定位断线线路,本发明一方面提供了一种内置的增量式编码器的断线位置检测系统。

一种增量式编码器的断线位置检测系统,其中所述增量式编码器分别在a相信号线、b相信号线和z相信号线中具有a相信号、b相信号和z相信号,所述增量式编码器的断线位置检测系统包括:

ab相计数单元,其被配置为根据a相信号、b相信号和z相信号的脉冲确定计数值;

状态机,其被配置为根据a相信号、b相信号和z相信号的信号电平以及脉冲边沿从多个状态中确定增量式编码器的状态;以及

控制器,其被配置为执行下列动作:

根据ab相计数单元的计数值确定z相信号线是否断线;以及

根据增量式编码器的多个状态确定a相信号线和b相信号线是否断线。

进一步地,所述增量式编码器的断线位置检测系统还包括输入滤波模块,所述输入滤波模块以断线检测电路工作时钟为基础,对a相信号、b相信号、z相信号进行滤波,其滤波宽度可调整,最小可过滤一个时钟宽度的毛刺。根据需求,还可以在滤波模块前增加输入前级的片内模拟滤波模块,使得滤波宽度达到纳秒级。

进一步地,所述增量式编码器的断线位置检测系统还包括标志输出单元,用于输出a相、b相及z相的断线标志。

进一步地,所述状态机从以下状态中确定增量式编码器的状态:

第一状态s0:a相信号的电平为0且b相信号为下降沿,或a相信号为下降沿且b相信号的电平为0;

第二状态s1:a相信号为下降沿且b相信号的电平为1,或a相信号的电平为0且b相信号为上升沿;

第三状态s2:a相信号为上升沿且b相信号的电平为0,或a相信号的电平为1且b相信号为下降沿;以及

第四状态s3:a相信号的电平为1且b相信号为上升沿,或a相信号为上升沿且b相信号的电平为1。

进一步地,所述状态机的状态转换方式包括:

s0->s2->s3->s1->s0:表示a相信号的相位超前b相信号的相位90°,电机正转;

s0->s1->s3->s2->s0:表示a相信号的相位滞后b相信号的相位90°,电机反转;

s0->s1->s0->s1:表示a相信号发生断线,且a相信号维持低电平;

s2->s3->s2->s3:表示a相信号发生断线,且a相信号维持高电平;

s0->s2->s0->s2:表示b相信号发生断线,且b相信号维持低电平;以及

s1->s3->s1->s3:表示b相信号发生断线,且b相信号维持高电平。

进一步地,所述ab相计数单元在编码器的a相和b相的边沿进行计数。若电机正转,所述ab相计数单元在每个有效边沿计数加一,若电机反转,所述ab相计数单元在每个有效边沿计数减一。当a相和b相有正常输入时,所述ab相计数单元采用双脉冲计数模式,其有效边沿为a相和b相两路信号的边沿;当a相信号发生断线时,所述ab相计数单元采用单脉冲计数模式,其有效边沿为b相信号的边沿;当b相信号发生断线时,所述ab相计数单元采用单脉冲计数模式,其有效边沿为a相信号的边沿。当检测到z相的上升沿时,所述ab相计数单元复位并重新开始计数。

进一步地,所述溢出判断模块根据所述ab相计数单元的当前计数值与阈值的比较结果,来判断z相是否断线。所述阈值等于正常情况下,电机每正转一圈以后所述ab相计数器的计数值。

进一步地,所述增量式编码器的断线位置检测系统还包括内部状态切换计数器,所述内部状态切换计数器从零开始计数,每次出现错误状态切换时,所述内部状态切换计数器数值加1,当a相或b相的输入恢复到正常状态时,所述内部状态切换计数器自动清零。所述状态转换判断模块根据内部状态切换计数器的当前计数值与预设值的比较结果,来判断a相、b相是否断线,并结合状态机的状态来判断是a相还是b相断线,所述预设值为自然数,取值越高,系统敏感度越低。

另一方面,本发明还提供一种增量式编码器的断线位置检测方法,包括执行溢出检测及执行状态转换检测。

所述执行溢出检测包括,通过判断所述ab相计数单元的当前计数值是否超过阈值,确定z相是否断线,若所述ab相计数单元的当前计数值超过阈值,则说明z相断线。其中,所述阈值为正常情况下,电机每正转一圈ab相计数器的累积计数值。

所述状态转换检测包括:

当a相或b相维持同一电平时,所述状态机在错误状态间切换,则启动状态切换计数器;

当计数器超过预设值,结合状态机状态,若状态机状态在s0和s1或者s2和s3之间连续转换,则表明a相发生断线,若状态机状态在s0和s2或者s1和s3之间连续转换,则表明b相发生断线。

本发明提供的增量式编码器的断线位置检测系统内置于芯片中,无需外接电路,有效降低了设计成本。本发明提供的增量式编码器的断线位置检测方法,通过判断状态机的状态切换,在增量式编码器发生断线后,判断出断线线路,响应速度快。

附图说明

为进一步阐明本发明的各实施例的以上和其它优点和特征,将参考附图来呈现本发明的各实施例的更具体的描述。可以理解,这些附图只描绘本发明的典型实施例,因此将不被认为是对其范围的限制。在附图中,为了清楚明了,相同或相应的部件将用相同或类似的标记表示。

图1示出增量式编码器的a相、b相、z相波形示意图;

图2示出现有技术中的一种断线位置检测结构示意图;

图3示出现有技术中的又一种断线位置检测结构示意图;

图4示出本发明一个实施例的结构示意图;

图5示出本发明一个实施例的状态机状态转换示意图;

图6示出本发明一个实施例的z相断线检测流程示意图;以及

图7示出本发明一个实施例的a相和b相断线检测流程示意图。

具体实施方式

以以下的描述中,参考各实施例对本发明进行描述。应当指出,各附图中的各组件可能为了图解说明而被夸大地示出,而不一定是比例正确的。在各附图中,给相同或功能相同的组件配备了相同的附图标记。

在本说明书中,对“一个实施例”或“该实施例”的引用意味着结合该实施例描述的特定特征、结构或特性被包括在本发明的至少一个实施例中。在本说明书各处中出现的短语“在一个实施例中”并不一定全部指代同一实施例。

在此还应当指出,在本发明的实施例中,为清楚、简单起见,可能示出了仅仅一部分部件或组件,但是本领域的普通技术人员能够理解,在本发明的教导下,可根据具体场景需要添加所需的部件或组件。

在此还应当指出,在本发明的范围内,“相同”、“相等”、“等于”等措辞并不意味着二者数值绝对相等,而是允许一定的合理误差,也就是说,所述措辞也涵盖了“基本上相同”、“基本上相等”、“基本上等于”。以此类推,在本发明中,表方向的术语“垂直于”、“平行于”等等同样涵盖了“基本上垂直于”、“基本上平行于”的含义。

另外,本发明的各方法的步骤的编号并未限定所述方法步骤的执行顺序。除非特别指出,各方法步骤可以以不同顺序执行。

本发明提供的一种内置于芯片的增量式编码器的断线位置检测系统和方法,无需外接电路,通过判断状态机的状态切换,在增量式编码器发生断线后,判断出断线线路,设计成本低,响应速度快。

下面结合图4,详细描述基于本发明一个实施例的一种增量式编码器的断线位置检测系统。如图4所示,本发明提供的一个实施例的增量式编码器的断线位置检测系统包括输入滤波模块401、逻辑处理单元402、控制器403、以及标志输出单元404。

所述输入滤波模块401以断线检测电路工作时钟为基础,对a相信号、b相信号及z相信号进行滤波,其滤波宽度可调整,最小可过滤一个时钟宽度的毛刺。

所述逻辑处理单元402包括状态机421及ab相计数单元422。

所述状态机421包括四个状态:

第一状态s0:a相信号的电平为0且b相信号为下降沿,或a相信号为下降沿且b相信号的电平为0;

第二状态s1:a相信号为下降沿且b相信号的电平为1,或a相信号的电平为0且b相信号为上升沿;

第三状态s2:a相信号为上升沿且b相信号的电平为0,或a相信号的电平为1且b相信号为下降沿;以及

第四状态s3:a相信号的电平为1且b相信号为上升沿,或a相信号为上升沿且b相信号的电平为1。

所述状态机421以a相和b相信号的边沿为状态转折点,如图5所示,在不同工况下,所述状态机421的状态转换方式包括:

s0->s2->s3->s1->s0:表示a相信号的相位超前b相信号的相位90°,电机正转;

s0->s1->s3->s2->s0:表示a相信号的相位滞后b相信号的相位90°,电机反转;

s0->s1->s0->s1:表示a相信号发生断线,且a相信号维持低电平;

s2->s3->s2->s3:表示a相信号发生断线,且a相信号维持高电平;

s0->s2->s0->s2:表示b相信号发生断线,且b相信号维持低电平;以及

s1->s3->s1->s3:表示b相信号发生断线,且b相信号维持高电平。

其中,前两种状态为正常工作状态,后四种为错误转换状态。

所述ab相计数单元422在编码器的a相和b相的边沿进行计数。若电机正转,所述ab相计数单元422在每个有效边沿将计数值加一,若电机反转,所述ab相计数单元422在每个有效边沿将计数值减一。当a相和b相有正常输入时,所述ab相计数单元422采用双脉冲计数模式,其有效边沿为a相和b相两路信号的边沿;当a相信号发生断线时,所述ab相计数单元422采用单脉冲计数模式,其有效边沿为b相信号的边沿;当b相信号发生断线时,所述ab相计数单元422采用单脉冲计数模式,其有效边沿为a相信号的边沿。当检测到z相的上升沿时,所述ab相计数单元422复位并重新开始计数。

所述控制器403包括溢出判断模块431及状态转换判断模块432。

所述溢出判断模块431根据所述ab相计数单元422的当前计数值与阈值的比较结果,来判断z相是否断线。所述阈值是指正常情况下,电机每正转一圈后ab相计数器的计数值。若ab相计数单元当前计数值大于阈值,表明z相出现异常。

所述状态转换判断模块432根据内部状态切换计数器的当前计数值与预设值的比较结果以及当前a相、b相的信号输入状况,来判断a相、b相是否断线。

所述内部状态切换计数器用于统计错误状态切换次数,当状态机转换顺序为s0->s1->s0->s1、s2->s3->s2->s3、s0->s2->s0->s2或s1->s3->s1->s3时,启动所述内部状态切换计数器,从零开始计数,状态机状态每切换一次,数值加1,当a相或b相的输入回复到正常状态时,所述内部状态切换计数器自动清零。

所述预设值为自然数,取值越高,系统敏感度越低。

所述内部状态切换计数器判断依据为:

若所述内部状态切换计数器当前计数值超过预设值,且状态机状态在s0和s1或者s2和s3之间连续转换,则表明a相发生断线;

若所述内部状态切换计数器当前计数值超过预设值,且状态机状态在s0和s2或者s1和s3之间连续转换,则表明b相发生断线。

所述标志输出单元404,用于输出a相、b相及z相的断线标志。

在本发明的另一实施例中,所述输入滤波模块401还包括输入前级的片内模拟滤波模块,通过片内模拟滤波模块,可以过滤宽度为纳秒级的毛刺。

下面结合图6和图7描述根据本发明的一个实施例进行z相断线检测以及a相、b相断线检测的方法。

如图6所示,所述z相断线检测包括:

步骤601,增量式编码器的输出信号经过所述输入滤波模块进行滤波;

步骤602,滤波后的信号进入ab相计数器,ab相计数器开始计数,a相、b相信号输入正常时,若电机正转,所述ab相计数器在每个a相和b相的边沿将计数值加一,若电机反转,所述ab相计数器在每个a相和b相的边沿将计数值减一;a相断线时,若电机正转,所述ab相计数器在b相的边沿将计数值加一,若电机反转,所述ab相计数器在b相的边沿将计数值减一;b相断线时,若电机正转,所述ab相计数器在a相的边沿将计数值加一,若电机反转,所述ab相计数器在a相的边沿将计数值减一;

步骤603,检测z相上升沿,若检测到z相上升沿,则进入步骤631;

步骤604,判断ab相计数器的计数值是否超过断线阈值,若超过,则进入步骤605;

步骤605,输出z相断线标志;

步骤631,复位ab相计数器。

如图7所示,所述a相、b相断线检测包括:

步骤701,增量式编码器的输出信号经过所述输入滤波模块进行滤波;

步骤702,状态机根据ab相信号当前状态运转:

若a相信号的相位超前b相信号的相位90°,则所述状态机状态转换顺序为s0->s2->s3->s1->s0;

若a相信号的相位滞后b相信号的相位90°,则所述状态机状态转换顺序为s0->s1->s3->s2->s0;

步骤703,判断状态机状态是否正常,若所述状态机状态切换顺序为s0->s1->s0->s1、s2->s3->s2->s3、s0->s2->s0->s2或s1->s3->s1->s3,则进入步骤704;

步骤704,启动状态切换计数器,状态机状态每切换一次,计数器数值加一;

步骤705,判断状态切换计数器数值是否溢出,若所述切换计数器数值超过预设值,则进入步骤706,所述预设值为自然数,取值越大,系统敏感度越低;

步骤706,输出断线标志,若状态机状态在s0和s1或者s2和s3之间连续转换,则输出a相断线标志;若状态机状态在s0和s2或者s1和s3之间连续转换,则输出b相断线标志。

尽管上文描述了本发明的各实施例,但是,应该理解,它们只是作为示例来呈现的,而不作为限制。对于相关领域的技术人员显而易见的是,可以对其做出各种组合、变型和改变而不背离本发明的精神和范围。因此,此处所公开的本发明的宽度和范围不应被上述所公开的示例性实施例所限制,而应当仅根据所附权利要求书及其等同替换来定义。

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