专利名称:增量编码器信号处理系统及方法
技术领域:
本发明涉及伺服驱动器控制领域,更具体地说,涉及一种增量编码器信号处理系统及方法。
背景技术:
增量编码器是一种将旋转位移转换为一连串数字脉冲信号的旋转式传感器。这些脉冲用来控制角位移,如果编码器与齿轮齿条或螺旋丝杠结合在一起,也可以用来测量直线位移。这些传感器主要应用于机床、机器人、电机反馈系统以及测量和控制装置。在伺服驱动器的应用中,上位机为获得驱动器位置反馈需要伺服驱动器提供编码器的脉冲反馈信号。在伺服驱动器采用增量式编码器作为位置反馈单元时,现有的增量编码器脉冲分频输出算法向上位机反馈的脉冲信号最大分辨率为编码器本身的分辨率。当上位机需要大于编码器本身的分辨率时,现有的增量编码器的分频输出方案难以满足该需求。
发明内容
本发明要解决的技术问题在于,针对上述增量编码器分辨率有限的问题,提供一种增量编码器信号处理系统及方法。本发明解决上述技术问题的技术方案是,提供一种增量编码器信号处理系统,用于将所述增量编码器的输出分辨率做放大处理;其特征在于:包括第一计数器、偏差计算单元、脉冲周期计算单元、第二计数器以及脉冲输出单元;所述第一计数器,用于以时间T为周期对增量编码器输出的A、B相方波进行计数获得计数值,该第一计数器在A和B相方波的每一上升沿及下降沿 计数一次;所述偏差计算单元,用于将所述计数值进行放大获得放大计数值,并将当前放大计数值与前一放大计数值之差乘以设定系数获得放大位置偏差;所述脉冲周期计算单元,用于将所述放大位置偏差的高位数作为输出脉冲数pl,并根据所述输出脉冲数计算脉冲周期tl,所述tl = T^pl ;所述第二计数器,用于以脉冲周期tl输出控制信号;所述脉冲输出单元,用于根据所述放大位置偏差的正负确定输出脉冲的相位关系,并根据第二计数器的控制信号输出脉冲信号。在本发明所述的增量编码器信号处理系统中,所述第二计数器采用2位格雷码计数器。在本发明所述的增量编码器信号处理系统中,所述偏差计算单元包括放大计数值计算子单元,用于通过将计数值乘以放大倍数获得放大计数值,所述放大计数值大于编码器的原分辨率且为2n,其中所述η为正整数。在本发明所述的增量编码器信号处理系统中,所述偏差计算单元包括第一放大位置偏差计算子单元,用于通过将位置偏差乘以放大系数获得放大位置偏差,所述放大系数为放大后的编码器分辨率和增量编码器每一圈需要输出脉冲数的公约数。在本发明所述的增量编码器信号处理系统中,所述偏差计算单元包括第二放大位置偏差计算子单元,用于将上次放大位置偏差的低位数与本次放大位置偏差之和作为放大位置偏差。本发明还提供一种增量编码器信号处理方法,包括以下步骤:步骤(a),使用第一计数器以时间T为周期对增量编码器输出的A、B相方波进行计数获得计数值并将所述计数值进行放大获得放大计数值,所述第一计数器在A和B相方波的每一上升沿及下降沿计数一次;步骤(b),将当前放大计数值与前一放大计数值之差乘以设定系数获得放大位置
偏差;步骤(C),将所述放大位置偏差的高位数作为输出脉冲数pl,并根据所述输出脉冲数计算脉冲周期tl,所述tl = T + pl ;步骤(d),根据所述放大位置偏差的正负确定输出脉冲的相位关系,并使用第二计数器根据脉冲周期tl输出脉冲信号。在本发明所述的增量编码器信号处理方法中,所述第二计数器采用2位格雷码计数器。在本发明所述的增量编码器信号处理方法中,所述步骤(b)之后还包括:将上次放大位置偏差的低位数与本次放大位置偏差之和作为放大位置偏差。在本发明所述的增量编码器信号处理方法中,所述放大计数值大于编码器的原分辨率且为2n,其中所述η为正整数,所述放大计数值通过将计数值乘以放大倍数获得。在本发明所述的增量编码器信号处理方法中,所述放大位置偏差通过将位置偏差乘以放大系数获得,所述放大系数为放大后的编码器分辨率和增量编码器每一圈需要输出脉冲数的公约数。本发明的增量编码器信号处理系统及方法,根据增量编码器的Α、B相输出信号,生成分辨率更高的脉冲信号,使得驱动器可以输出大于增量编码器本身分辨率的最大值的正交脉冲。
图1是本发明增量编码器信号处理系统实施例的示意图。图2是图1中偏差计算单元实施例的示意图。图3是本发明增量编码器信号处理方法实施例的流程图。
具体实施例方式为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。如图1所示,是本发明增量编码器信号处理系统实施例的示意图,该系统用于将所述增量编码器的输出分辨率做放大处理,以使驱动器可输出分辨率大于增量编码器本身。在本实施例中,增量编码器信号处理系统包括第一计数器11、偏差计算单元12、脉冲周期计算单元13、第二计数器14以及脉冲输出单元15。上述第一计数器11、偏差计算单元12、脉冲周期计算单元13、第二计数器14以及脉冲输出单元15可集成到一个信号处理芯片,该信号处理芯片直接连接到增量编码器的信号输出端。或者上述第一计数器11、偏差计算单元12、脉冲周期计算单元13、第二计数器14以及脉冲输出单元15也可采用多个芯片和/或电路实现。第一计数器11用于以时间T为周期对增量编码器输出的A、B相方波进行计数获得计数值,该第一计数器11具有一个初始值并在A和B相方波的每一上升沿及下降沿计数一次。上述时间T可以根据实际应用设定,例如IOOms等。上述第一计数器11的初始值由接入电机的U、V、W信号确定,且该第一计数器11在计数时根据A、B相方波的相位关系确定采用加计数还是减计数。例如当A相方波超前B相方波时,第一计数器11采用加计数,即在每一上升沿及下降沿分别加I ;当々相方波落后B相方波时,第一计数器11采用减计数,即在每一上升沿及下降沿分别减I。偏差计算单元12用于将第一计数器11的计数值进行放大以获得放大计数值,并将当前放大计数值与前一放大计数值(即前一周期T内的计数值以同样方式放大后的值)之差乘以设定系数获得放大位置偏差。脉冲周期计算单元13用于将偏差计算单元12获得的放大位置偏差的高位数作为输出脉冲数pl,并根据所述输出脉冲数计算脉冲周期tl,该tl = T + pl (T为第一计数器11的计数周期)。在本实施例中,放大位置偏差(二进制值)的高位是指放大位置偏差除以2n(该2n等于放大计数值,由增量编码器原分辨率乘以放大倍数放大得到)所得的商;放大位置偏差的低位是指放大位置偏差除以2n所得的余数。第二计数器14用于以脉冲周期tl输出控制信号。脉冲输出单元15根据偏差计算单元12计算获得的放大位置偏差的正负确定输出脉冲的相位关系(例如放大位置偏差为正时,A相方波超前B相方波90° ;放大位置偏差为负时,B相方波超前A相方波90° ),并根据第二计数器14的控制信号输出脉冲信号。在具体实现时,上述第二计数器14可采用2位格雷码计数器。由于分频输出的两路脉冲要求是正交的,2位格雷码计数器由00-01-11-10-00循环计数,这样bito和bitl的输出刚好正交。如图2所示,上述的偏差计算单元12包括放大计数值计算子单元121、位置偏差计算子单元122、第一放大位置偏差计算子单元122以及第二放大位置偏差计算子单元123。放大计数值计算子单元121用于对第一计数器11的技术值进行放大处理。具体地,放大计数值计算子单元121通过将计数值乘以放大倍数获得放大计数值a2,并且放大计数值大于设定的分辨率且为2n,其中η为正整数。例如当增量编码器的分辨率是2500 (四倍频后的分辨率是O 10000),则可将计数值乘以一个系数放大到O 65535或更大。位置偏差计算子单元122将根据本周期T计算获得的放大计数值a2与根据上一周期T计算获得的放大计数值al比较,即位置偏差Ax = a2_al。第一放大位置偏差计算子单元123用于通过将位置偏差乘以放大系数获得放大位置偏差ΛΧ= Λ x*b,其中放大系数b为放大后的分辨率和增量编码器每一圈需要输出脉冲数(即放大后的脉冲数)的公约数。第二放大位置偏差计算子单元124用于将上次放大位置偏差的低位数与本次放大位置偏差之和作为放大位置偏差。
此外,上述增量编码器信号处理系统以增量编码器的Z信号作为系统的Z信号直接输出。如图3所示,是本发明增量编码器信号处理方法实施例的流程图。该方法用于将所述增量编码器的输出分辨率做放大处理,以使驱动器可输出分辨率大于增量编码器本身,并包括以下步骤:步骤S31:使用第一计数器以时间T为周期对增量编码器输出的A、B相方波进行计数获得计数值并将所述计数值进行放大获得放大计数值,所述第一计数器在A和B相方波的每一上升沿及下降沿计数一次。在该步骤中,放大计数值通过将计数值乘以放大倍数获得,并且该放大计数值大于编码器的原分辨率且为2n,其中η为正整数。步骤S32:将当前放大计数值与前一放大计数值之差乘以设定系数获得放大位置偏差。放大位置偏差通过将位置偏差(即当前放大计数值与前一放大计数值之差)乘以放大系数获得,该放大系数为放大后的编码器分辨率和增量编码器每一圈需要输出脉冲数的公约数。步骤S33:将所述放大位置偏差的高位数作为输出脉冲数pl,并根据所述输出脉冲数Pl计算脉冲周期tl = T + pl。步骤S34:根据步骤S32中的放大位置偏差的正负确定输出脉冲的相位关系(例如放大位置偏差为正时,A相方波超前B相方波90° ;放大位置偏差为负时,B相方波超前A相方波90° ),并使用第二计数器根据脉冲周期tl输出脉冲信号。由于分频输出的两路脉冲要求是正交的,因此第二计数器可采用2位格雷码计数器由00-01-11-10-00循环计数,这样bitO和bitl的输出刚好正交。上述第二计数器采用2位格雷码计数器。在上述的增量编码器信号处理方法中,所述步骤S32之后还包括:将上次放大位置偏差的低位数与本次放大位置偏差之和作为放大位置偏差。上次放大位置偏差的低位是指上次放大位置偏差除以目标分辨率所得的余数。以上所述,仅为本发明较佳的具体实施方式
,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。
权利要求
1.一种增量编码器信号处理系统,用于将所述增量编码器的输出分辨率做放大处理;其特征在于:包括第一计数器、偏差计算单元、脉冲周期计算单元、第二计数器以及脉冲输出单元;所述第一计数器,用于以时间T为周期对增量编码器输出的A、B相方波进行计数获得计数值,该第一计数器在A和B相方波的每一上升沿及下降沿计数一次;所述偏差计算单元,用于将所述计数值进行放大获得放大计数值,并将当前放大计数值与前一放大计数值之差乘以设定系数获得放大位置偏差;所述脉冲周期计算单元,用于将所述放大位置偏差的高位数作为输出脉冲数pl,并根据所述输出脉冲数计算脉冲周期tl,所述tl = T^pl ;所述第二计数器,用于以脉冲周期tl输出控制信号;所述脉冲输出单元,用于根据所述放大位置偏差的正负确定输出脉冲的相位关系,并根据第二计数器的控制信号输出脉冲信号。
2.根据权利要求1所述的增量编码器信号处理系统,其特征在于:所述第二计数器采用2位格雷码计数器。
3.根据权利要求1所述的增量编码器信号处理系统,其特征在于:所述偏差计算单元包括放大计数值计算子单元,用于通过将计数值乘以放大倍数获得放大计数值,所述放大计数值大于编码器的原分辨率且为2n,其中所述η为正整数。
4.根据权利要求3所述的增量编码器信号处理系统,其特征在于:所述偏差计算单元包括第一放大位置偏差计算子单元,用于通过将位置偏差乘以放大系数获得放大位置偏差,所述放大系数为放大后的分辨率和增量编码器每一圈需要输出脉冲数的公约数。
5.根据权利要求4所述的增量编码器信号处理系统,其特征在于:所述偏差计算单元包括第二放大位置偏差计算子单元,用于将上次放大位置偏差的低位数与本次放大位置偏差之和作为放大位置偏差。
6.一种增量编码器信号处理方法,其特征在于:包括以下步骤: 步骤(a),使用第一计数器以时间T为周期对增量编码器输出的A、B相方波进行计数获得计数值并将所述计数值进行放大获得放大计数值,所述第一计数器在A和B相方波的每一上升沿及下降沿计数一次; 步骤(b),将当前放大计数值与前一放大计数值之差乘以设定系数获得放大位置偏差; 步骤(c),将所述放大位置偏差的高位数作为输出脉冲数pl,并根据所述输出脉冲数pl计算脉冲周期tl,所述tl = T + pl ; 步骤(d),根据所述放大位置偏差的正负确定输出脉冲的相位关系,并使用第二计数器根据脉冲周期tl输出脉冲信号。
7.根据权利要求6所述的增量编码器信号处理方法,其特征在于:所述第二计数器采用2位格雷码计数器。
8.根据权利要求6所述的增量编码器信号处理方法,其特征在于:所述步骤(b)之后还包括:将上次放大位置偏差的低位数与本次放大位置偏差之和作为放大位置偏差。
9.根据权利要求6所述的增量编码器信号处理方法,其特征在于:所述放大计数值大于编码器的原分辨率且为2n,其中所述η为正整数,所述放大计数值通过将计数值乘以放大倍数获得。
10.根据权利要求6所述的增量编码器信号处理方法, 其特征在于:所述放大位置偏差通过将位置偏差乘以放大系数获得,所述放大系数为放大后的分辨率和增量编码器每一圈需要输出脉冲数的公约数 。
全文摘要
本发明提供了一种增量编码器信号处理系统,用于将所述增量编码器的输出分辨率做放大处理;包括第一计数器、偏差计算单元、脉冲周期计算单元、第二计数器以及脉冲输出单元。本发明还提供了一种对应的方法。本发明根据增量编码器的A、B相输出信号,生成分辨率更高的脉冲信号,使得驱动器可以输出大于增量编码器本身分辨率的最大值的正交脉冲。
文档编号G01D5/244GK103185603SQ201110450939
公开日2013年7月3日 申请日期2011年12月29日 优先权日2011年12月29日
发明者马元浩 申请人:苏州汇川技术有限公司, 深圳市汇川技术股份有限公司