伺服电机测速***及方法
技术领域
本发明涉及伺服电机控制领域,更具体地说,涉及一种伺服电机测速***及方法。
背景技术
速度测量是工控***中最基本的需求之一,最常用的是用数字脉冲测量某根轴的转速,再根据机械比、直径换算成线速度。脉冲测速最典型的方法有测频率(M法)和测周期(T法)。
M法是测量单位时间内的脉数换算成频率,因存在测量时间内首尾的半个脉冲问题,可能会有2个脉的误差。在速度较低时,该方法因测量时间内的脉冲数变少,误差所占的比例会变大,所以M法宜测量高速。如要降低测量的速度下限,可以提高编码器线数或加大测量的单位时间,使一次采集的脉冲数尽可能多。
T法是测量两个脉冲之间的时间换算成周期,从而得到频率。因存在半个时间单位的问题,可能会有1个时间单位的误差。在速度较高时,该方法测得的周期较小,误差所占的比例变大,所以T法宜测量低速。如要增加速度测量的上限,可以减小编码器的脉冲数,或使用更小更精确的计时单位,使一次测量的时间值尽可能大。
由此可知,M法、T法各有优劣和适应范围,但由于编码器线数不能无限增加、测量时间也不能太长(需考虑实时性)、计时单位也不能无限小,两种测速方法都无法胜任全速度范围内的测量。因此产生了M法、T法结合的M/T测速法:在合适的转速时自动切换,低速时测周期、高速时测频率。
然而使用M/T法测速时,对于超低转速时,存在的测速延迟很大,现有的测速方法无法弥补这种滞后。
发明内容
本发明要解决的技术问题在于,针对上述测速方法无法弥补超低速时的测速延迟的问题,提供一种伺服电机测速***及方法。
本发明解决上述技术问题的技术方案是,提供、一种伺服电机测速***,包括编码器计数模块、转速判断模块、第一测速模块、第二测速模块,其中:所述编码器计数模块,用于计数安装在电机的编码器的输出脉冲;所述转速判断模块,用于根据编码器的输出脉冲计算电机转速,并判断电机转速是否大于或等于第一阈值;所述第一测速模块,用于在电机转速大于或等于第一阈值时采用M/T法测速,并将测速结果作为速度反馈输出;所述第二测速模块包括第一单元、第二单元,并在电机转速小于第一阈值时执行以下操作:所述第一单元在电机转速大于或等于第二阈值时使用T法测速并将测速结果作为速度反馈输出,所述第二阈值小于第一阈值;所述第二单元,用于在电机转速小于第二阈值时根据前N个采样周期的速度预测当前采样周期的速度,并将预测的当前采样周期的速度作为速度反馈输出,其中所述N为大于3的整数。
在本发明所述的伺服电机测速***中,所述第二单元包括第一转差收集子单元、第一转差计算子单元以及第一反馈输出子单元,其中:所述第一转差收集子单元,用于根据前N个连续的采样周期的速度计算该前N个连续的采样周期的转速差;所述第一转差计算子单元,用于计算前N个连续的采样周期的转速差的加速度并根据该加速度及前一采样周期的转速差计算当前采样周期的转速差;所述第一反馈输出子单元,用于使用当前采样周期的转速差及前一采样周期的速度计算当前采样周期的速度,并将该当前采样周期的速度作为速度反馈输出;所述第一转差收集子单元从第一单元或第一反馈输出子单元获得前N个连续的采样周期的速度。
在本发明所述的伺服电机测速***中,所述第二单元包括第二转差收集子单元、第二转差计算子单元以及第二反馈输出子单元,其中:所述第二转差收集子单元,用于根据前5个连续的采样周期的速度计算该前5个连续的采样周期的转速差DV0、DV1、DV2、DV3、DV4;所述第二转差计算子单元,用于根据前5个连续的采样周期的转速差DV0、DV1、DV2、DV3、DV4计算当前采样周期的转速差DltV:DltV=(DV0+2*DV1+3*DV2+4*DV3+5*DV4)/15;所述第二反馈输出子单元,用于使用当前采样周期的转速差及前一采样周期的速度计算当前采样周期的速度,并将计算获得速度作为速度反馈输出;所述第二转差收集子单元从第一单元或第二反馈输出子单元获得前N个连续的采样周期的速度。
在本发明所述的伺服电机测速***中,所述转速判断模块通过以下公式计算电机当前转速:V=(DltP*60)/(T*编码器线数),其中T为一个采样周期的时间,DltP为当前采样周期中所采集到的编码器输出脉冲变化值;所述第二测速模块还包括第三单元,用于在连续M个采样周期内都未接收到来自编码器的输出脉冲时将零速作为速度反馈输出,所述M为大于5的整数。
在本发明所述的伺服电机测速***中,所述测速***还包括滞环处理模块,用于在第一测速模块切换到第一单元或第一单元切换到第一测速模块时采用滞环方式切换。
本发明还提供一种伺服电机测速方法,包括以下步骤:
(a)通过计数安装在电机的编码器的输出脉冲计算电机转速,并在所述转速大于或等于第一阈值时执行步骤(b),否则执行步骤(c);
(b)采用M/T法测速并将测速结果作为速度反馈输出;
(c)判断所述电机转速是否小于第二阈值,并在所述电机转速小于第二阈值时执行步骤(d),否则使用T法测速并将测速结果作为速度反馈输出,所述第二阈值小于第一阈值;
(d)根据前N个采样周期的速度预测当前采样周期的速度,并将预测的当前采样周期的速度作为速度反馈输出,其中所述N为大于3的整数。
在本发明所述的伺服电机测速方法中,所述步骤(d)包括:
(d1)根据前N个连续的采样周期的速度计算该前N个连续的采样周期的转速差,所述前N个连续的采样周期的速度从步骤(c)或步骤(d3)获得;
(d2)计算前N个连续的采样周期的转速差的加速度并根据该加速度及前一采样周期的转速差计算当前采样周期的转速差;
(d3)使用当前采样周期的转速差及前一采样周期的速度计算当前采样周期的速度,并将该当前采样周期的速度作为速度反馈输出。
在本发明所述的伺服电机测速方法中,所述步骤(d)包括:
(d1’)根据前5个连续的采样周期的速度计算该前5个连续的采样周期的转速差DV0、DV1、DV2、DV3、DV4,所述前N个连续的采样周期的速度从步骤(c)或步骤(d3’)获得;
(d2’)根据前5个连续的采样周期的转速差DV0、DV1、DV2、DV3、DV4计算当前采样周期的转速差DltV:DltV=(DV0+2*DV1+3*DV2+4*DV3+5*DV4)/15;
(d3’)使用当前采样周期的转速差及前一采样周期的速度计算当前采样周期的速度,并将计算获得的速度作为速度反馈输出。
在本发明所述的伺服电机测速方法中,所述步骤(a)中通过以下公式计算电机当前转速:V=(DltP*60)/(T*编码器线数),其中T为一个采样周期的时间,DltP为当前采样周期中所采集到的编码器输出脉冲变化值;所述步骤(d)包括:在连续M个采样周期内都未接收到来自编码器的输出脉冲,则将零速作为速度反馈输出,所述M为大于5的整数。
在本发明所述的伺服电机测速方法中,在步骤(b)的M/T法测速切换到步骤(c)的T法测速,以及在步骤(c)的T法测速切换到步骤(b)的M/T法测速时采用滞环方式切换。
本发明的伺服电机测速***及方法,通过在转子超低速运转时以预测的速度作为速度反馈,可保证低速时速度控制周期的瞬时速度值相对可靠。
附图说明
图1是本发明伺服电机测速***实施例的示意图。
图2是图1中伺服电机测速***应用的示意图。
图3是本发明伺服电机测速方法实施例的流程示意图。
图4是图3中预测速度的流程示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
如图1所示,是本发明伺服电机测速***实施例的示意图。本实施例中的伺服电机测速***包括编码器计数模块11、转速判断模块12、第一测速模块13、第二测速模块14,上述编码器计数模块11、转速判断模块12、第一测速模块13、第二测速模块14可集成到电机控制装置(例如伺服驱动器等)并结合软件实现。当然,在实际应用中,也可使用单独的硬件和软件实现,并将相关信号输出到电机控制装置。
编码器计数模块11用于计数安装在电机的编码器的输出脉冲。
转速判断模块12用于根据编码器的输出脉冲计算电机转速,并判断电机转速是否大于或等于第一阈值。在电机转速大于或等于第一阈值时,该转速判断模块12启动第一测速模块13运行,否则启动第二测速模块运行。上述第一阈值可根据电机类型及精度控制要求等进行设定,例如可采用下式确定第一阈值:
value=预想切换的转速V*编码器线数/(编码器采样周期T*60)
当采用600转/分切换成M法,编码器线数10000,编码器采样周期为1ms,那么第一阈值value=100。当然上述计算获得的第一阈值并不要求很精确,可适当调整。
上述转速判断模块12可通过以下公式计算电机当前转速:V=(DltP*60)/(T*编码器线数),其中T为一个采样周期的时间,DltP为当前采样周期中所采集到的编码器输出脉冲变化值。
第一测速模块13在电机转速大于或等于第一阈值时执行,其采用M/T法测速,并将测速结果作为速度反馈输出。
第二测速模块14在电机转速小于第一阈值时执行,并包括第一单元141、第二单元142。上述第一单元141在电机转速大于或等于第二阈值时使用T法测速并将测速结果作为速度反馈输出。该第二阈值小于第一阈值,同样根据电机类型及精度控制要求等进行设定。第二单元142用于在电机转速小于第二阈值时根据前N个采样周期的速度预测当前采样周期的速度,并将预测的当前采样周期的速度作为速度反馈输出,上述N为大于3的整数。
具体地,上述第二单元142可包括第一转差收集子单元、第一转差计算子单元以及第一反馈输出子单元,其中:第一转差收集子单元用于根据前N个连续的采样周期的速度计算该前N个连续的采样周期的转速差;第一转差计算子单元用于计算前N个连续的采样周期的转速差的加速度并根据该加速度及前一采样周期的转速差计算当前采样周期的转速差;第一反馈输出子单元用于使用当前采样周期的转速差及前一采样周期的速度计算当前采样周期的速度,并将计算获得的速度作为速度反馈输出。上述第一转差收集子单元从第一单元或第一反馈输出子单元获得前N个连续的采样周期的速度(包括前一采样周期的速度)。
在本发明的另一实施例中,上述第二单元142包括第二转差收集子单元、第二转差计算子单元以及第二反馈输出子单元,其中:第二转差收集子单元用于根据前5个连续的采样周期的速度计算该前5个连续的采样周期的转速差DV0、DV1、DV2、DV3、DV4;第二转差计算子单元用于根据前5个连续的采样周期的转速差DV0、DV1、DV2、DV3、DV4计算当前采样周期的转速差DltV:DltV=(DV0+2*DV1+3*DV2+4*DV3+5*DV4)/15;第二反馈输出子单元用于使用当前采样周期的转速差及前一采样周期的速度计算当前采样周期的速度,并将计算获得的速度作为速度反馈输出。上述第二转差收集子单元从第一单元或第二反馈输出子单元获得前N个连续的采样周期的速度(包括前一采样周期的速度)。
上述第二测速模块14还可包括第三单元,用于在连续M个采样周期内都未接收到来自编码器的输出脉冲时将零速作为速度反馈输出,M为大于5的整数,具体值可根据控制精度等要求设定。
为避免不同测速方法之间的频繁切换并导致延迟、误差等,上述伺服电机测速***还可包括滞环处理模块,用于在第一测速模块切换到第一单元或第一单元切换到第一测速模块时采用滞环方式切换。
如图2所示,是上述伺服电机测速***应用的示意图,该***产生的速度反馈与速度参考生成速度偏差,并输入速度环控制单元进行速度调整。
如图3所示,是本发明伺服电机测速方法实施例的示意图。该方法可由电机控制装置(例如伺服驱动器等)执行,具体包括以下步骤:
步骤S31:计数安装在电机的编码器的输出脉冲。
步骤S32:根据编码器脉冲计算电机转速。该步骤中,可通过以下公式计算电机当前转速:V=(DltP*60)/(T*编码器线数),其中T为一个采样周期的时间,DltP为当前采样周期中所采集到的编码器输出脉冲变化值。
步骤S33:判断电机转速是否小于第一阈值,并在电机转速小于第一阈值时执行步骤S35,否则执行步骤S34。
步骤S34:采用M/T法测速并将测速结果作为速度反馈输出。
步骤S35:判断电机转速是否小于第二阈值,并在转速小于第二阈值时执行步骤S37,否则执行步骤S36。上述第二阈值小于第一阈值。
步骤S36:使用T法测速并将测速结果作为速度反馈输出。
步骤S37:根据前N个采样周期的速度预测当前采样周期的速度,并将预测的当前采样周期的速度作为速度反馈输出,其中N为大于3的整数。该步骤中的前N个采样周期的速度可为T法测速获得或预测法获得(即根据前N个采样周期采用的测速方式)。
在上述方法中,若连续M个采样周期内都未接收到来自编码器的输出脉冲,则将零速作为速度反馈输出,其中M为大于5的整数。
为避免不同测速方法之间的频繁切换并导致延迟、误差等,在步骤S34的M/T法测速切换到步骤S36的T法测速,以及在步骤S36的T法测速切换到步骤S34的M/T法测速时采用滞环方式切换。
如图4所示,是图3中预测速度步骤S37的一个实施例的示意图,包括以下步骤:
步骤S371:根据前N个连续的采样周期的速度计算该前N个连续的采样周期的转速差。该步骤中的前N个采样周期的速度可为T法测速获得或预测法获得(即根据前N个采样周期分别采用的测速方式)。
步骤S372:计算前N个连续的采样周期的转速差的加速度。
步骤S373:并根据该加速度及前一采样周期的转速差计算当前采样周期的转速差。
步骤S374:使用当前采样周期的转速差及前一采样周期的速度计算当前采样周期的速度,并将该当前采样周期的速度作为速度反馈输出。
图3中预测速度步骤还可通过以下方式实现:首先根据前5个连续的采样周期的速度计算该前5个连续的采样周期的转速差DV0、DV1、DV2、DV3、DV4;然后根据前5个连续的采样周期的转速差DV0、DV1、DV2、DV3、DV4计算当前采样周期的转速差DltV:DltV=(DV0+2*DV1+3*DV2+4*DV3+5*DV4)/15;最后使用当前采样周期的转速差及前一采样周期的速度计算当前采样周期的速度,并将计算获得的速度作为速度反馈输出。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。