永磁同步电机速度检测方法和装置与流程

文档序号:11110361阅读:797来源:国知局
永磁同步电机速度检测方法和装置与制造工艺

本发明涉及电机速度检测领域,特别涉及永磁同步电机速度检测方法及装置。



背景技术:

永磁同步电机的应用范围很广,用来做速度控制的场景很多,因此速度控制精度是评价电机控制系统的重要指标

通常,检测电机转速一般有周期法和频率法两种测量方法。周期法是测量两个脉冲之间的时间,频率法是测量一定时间内检测到的脉冲数。在低转速情况下,周期法检测两个脉冲之间的计数值大小,一般数值较大,因此误差较小;而高转速情况下,周期法检测到两个脉冲之间的计数值比较小,误差就较大。在高速情况下,频率法测量一定时间内检测到的脉冲数,一般脉冲数较大,因此误差较小;而低速情况下,频率法检测到一定时间内的脉冲数较少,误差就比较大。

虽然周期法在电机低速情况下精度比较高,而频率法在高速情况下精度比较高,但是相反的情况下,周期法和频率法的测量精度会大大降低,存在误差大的缺陷,不能兼顾电机高速情况和低速情况下的速度检测精度,因此不足以时刻满足电机控制的要求。



技术实现要素:

为了克服现有技术的不足,本发明的目的在于提供永磁同步电机速度检测方法和装置,其能解决周期法和频率法不能兼顾电机高速情况和低速情况下速度检测精度的问题。

本发明的目的采用以下技术方案实现:

永磁同步电机速度检测方法,包括以下步骤:

获取当前检测周期内接收到的增量编码器输出的脉冲信号数K,K不小于0,检测周期的时长为T;

获取上一检测周期内最后接收到脉冲信号到上一检测周期终止的第一时长Sn-1以及当前检测周期内最后接收到脉冲信号到当前检测周期终止的第二时长Sn

根据所述检测周期的时长T、第一时长Sn-1以及第二时长Sn计算上一检测周期内最后接收到脉冲信号到当前检测周期内最后接收到脉冲信号的第三时长T0;

计算电机的转速v,具体为根据以下计算公式计算得到:

其中,K0为电机转动一周增量编码器输出的脉冲信号数。

优选的,所述获取当前检测周期内最后接收到脉冲信号到当前检测周期终止的第二时长,具体的包括以下步骤:

接收到增量编码器输出的脉冲信号时,高频计时器的时间复位;

若电机向一方向转动,则所述高频计时器递增计时;

若电机向另一方向转动,则所述高频计时器递减计时;

检测周期终止时,获取高频计时器的时间,即为当前检测周期内最后接收到脉冲信号到该检测周期终止的第二时长。

优选的,所述检测周期由中断定时器触发和终止,所述检测周期的时长T为中断定时器的预置数与中断时钟频率之比;所述高频计时器的时间Sn具体为:所述高频计时器的寄存器中的值与高频时钟频率之比。

优选的,所述获取当前检测周期内接收到的增量编码器输出的脉冲信号数,具体为:

所述检测周期开始时,将用于获取所述脉冲信号数的计数器的值置为0,检测周期终止时,所述计数器的值即为所述当前检测周期内接收到的增量编码器输出的脉冲信号数。

优选的,所述上一检测周期内最后接收到脉冲信号时到当前检测周期内最后接收到脉冲信号时的时长T0,具体为根据以下计算公式计算得到:

若电机向一方向转动,则

T0=T-Sn+Sn-1

若电机向另一方向转动,则

T0=T-Sn-1+Sn

永磁同步电机速度检测装置,包括:

计数器,用于获取当前检测周期内接收到的增量编码器输出的脉冲信号数K,K不小于0,检测周期的时长为T;

计时模块,用于获取上一检测周期内最后接收到脉冲信号到上一检测周期终止的第一时长Sn-1以及当前检测周期内最后接收到脉冲信号到当前检测周期终止的第二时长Sn

第一计算模块,用于根据所述检测周期的时长T、第一时长Sn-1以及第二时长Sn计算上一检测周期内最后接收到脉冲信号到当前检测周期内最后接收到脉冲信号的第三时长T0;

第二计算模块,用于计算电机的转速v,具体为根据以下计算公式计算得到:

其中,K0为电机转动一周增量编码器输出的脉冲信号数,T为检测周期的时长。

优选的,所述计时模块包括:

复位单元,用于接收到增量编码器输出的脉冲信号时,将高频计时器的时间复位;

高频计时器,用于若电机向一方向转动,则所述高频计时器递增计时;若电机向另一方向转动,则所述高频计时器递减计时;

获取单元,用于检测周期终止时,获取高频计时器的时间。

优选的,所述永磁同步电机速度检测装置还包括中断定时器,所述检测周期由所述中断定时器触发和终止,所述检测周期的时长为中断定时器的预置数与中断时钟频率之比;

所述高频计时器包括寄存器,所述高频计时器的时间具体为:所述高频计时器的寄存器中的值与高频时钟频率之比。

优选的,所述第一计算模块包括:

方向判别单元,用于根据电机转向选择第一计算单元或第二计算单元;

第一计算单元,用于当电机向一方向转动时,计算第三时长T0,具体计算公式为

T0=T-Sn+Sn-1

第二计算单元,用于当电机另一方向转动时,计算第三时长T0,具体计算公式为

T0=T-Sn-1+Sn

永磁同步电机速度检测装置,包括:

处理器以及用于存储处理器可执行的指令的存储器;

所述处理器被配置为:

获取当前检测周期内接收到的增量编码器输出的脉冲信号数K,K不小于0,检测周期的时长为T;

获取上一检测周期内最后接收到脉冲信号到上一检测周期终止的第一时长Sn-1以及当前检测周期内最后接收到脉冲信号到当前检测周期终止的第二时长Sn

根据所述检测周期的时长T、第一时长Sn-1以及第二时长Sn计算上一检测周期内最后接收到脉冲信号到当前检测周期内最后接收到脉冲信号的第三时长T0;

计算电机的转速v,具体为根据以下计算公式计算得到:

其中,K0为电机转动一周增量编码器输出的脉冲信号数。

相比现有技术,本发明的有益效果在于:通过获取上一检测周期内最后接收到脉冲信号到上一检测周期终止的第一时长Sn-1以及当前检测周期内最后接收到脉冲信号到当前检测周期终止的第二时长Sn,精确计算出K个完整的脉冲信号所代表的电机转动角度的精确时间,不受电机高速还是低速运行的影响,能更精确的检测永磁同步电机的速度。本发明属于一种改进的频率检测方法。其改进之处在于,不论是低转速还是高转速情况下,脉冲个数对应的时间比较精确。在检测到一定脉冲数以后,对所用时间段进行修正,使其成为真正的对应时间。在这种情况下,由于脉冲数和对应时间都很精确,因此计算出的转速也比较精确。提出了一种既能应用于高速又能应用于低速的准确检测电机转速的方法。

附图说明

图1是本发明实施例一提供的永磁同步电机速度检测方法的流程示意图。

图2是本发明实施例一提供的永磁同步电机速度检测方法的原理图。

图3是图1中获取第二时长Sn的一种实施例的流程示意图。

图4是本发明实施例二提供的永磁同步电机速度检测装置的结构示意图。

图5是图4中计时模块的结构示意图。

图6是图4中第一计算模块的结构示意图。

图7是本发明实施例三提供的永磁同步电机速度检测装置的结构示意图。

具体实施方式

上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其他目的、特征和优点能够更明显易懂,以下特举较佳实施例,并配合附图,详细说明如下。

实施例一:

如图1所示的永磁同步电机速度检测方法,包括步骤S101-S104。下面结合图2对永磁同步电机速度检测方法进行描述。

永磁同步电机包括增量编码器增量编码器,增量编码器通过检测电机转子转动时,产生的脉冲数量可以反映电机角度的变化。图2中的0、1、K分别表示在该位置接收到一个脉冲信号。

S101,获取当前检测周期内接收到的增量编码器输出的脉冲信号数K,K不小于0,检测周期的时长为T;

具体的,如图2中的(n-1)T到nT之间的角度(或弧长)表示第n个检测周期,在该检测周期内,接收到第1到第K个脉冲信号。

优选的,所述获取当前检测周期内接收到的增量编码器输出的脉冲信号数,具体为:

所述检测周期开始时,将用于获取所述脉冲信号数的计数器的值置为0,检测周期终止时,所述计数器的值即为所述当前检测周期内接收到的增量编码器输出的脉冲信号数。可以避免计数器溢出,且减小计算量。

S102,获取上一检测周期内最后接收到脉冲信号到上一检测周期终止的第一时长Sn-1以及当前检测周期内最后接收到脉冲信号到当前检测周期终止的第二时长Sn

具体的,如图2中的0位置表示第(n-1)个检测周期内最后接收到脉冲信号,从0位置到该检测周期结束的(n-1)T位置,经过了第一时长Sn-1;图2中的K位置表示第n个检测周期内最后接收到第K个脉冲信号,从K位置到该检测周期结束的nT位置,经过了第二时长Sn

优选的,如图3,所述获取当前检测周期内最后接收到脉冲信号到当前检测周期终止的第二时长,具体的包括以下步骤:

S1021,接收到增量编码器输出的脉冲信号时,高频计时器的时间复位;

S1022,若电机向一方向转动,则所述高频计时器递增计时;

S1023,若电机向另一方向转动,则所述高频计时器递减计时;

S1024,检测周期终止时,获取高频计时器的时间,即为当前检测周期内最后接收到脉冲信号到该检测周期终止的第二时长。

当前检测周期结束进入下一检测周期时,所述第二时长成为上一检测周期内最后接收到脉冲信号到上一检测周期终止的第一时长。

设置定高频计时器的计数方向与电机转向有关,电机正转,则高频计时器递增计数;电机反转,高频计时器递减计数。每次检测到脉冲信号以后,高频计时器都会复位重新计数。可以实现获取当前检测周期内最后接收到脉冲信号到当前检测周期终止的第二时长Sn。此处,电机是正转还是反转和光电编码器或者磁编码器的工作方式,即编码器增减的方向有关。

S103,根据所述检测周期的时长T、第一时长Sn-1以及第二时长Sn计算上一检测周期内最后接收到脉冲信号到当前检测周期内最后接收到脉冲信号的第三时长T0;

具体的,如图2表示电机顺时针转动时的情况,此时第三时长T0=T-Sn+Sn-1。在另一实施例中,电机逆时针转动,则第三时长T0=T-Sn-1+Sn。具体应用哪个方式也与光电编码器或者磁编码器的工作方式,即编码器增减的方向有关。

S104,计算电机的转速v,具体为根据以下计算公式计算得到:

其中,K0为电机转动一周增量编码器输出的脉冲信号数。K/K0即为电机转动的周数。需要注意的是,对于可旋转角度不是360度的情况,如180度电机,可以通过可旋转角度与360度的比例关系计算出假想的电机转动一周增量编码器输出的脉冲信号数K0

图2清楚的体现了T0时间内,检测到了0位置到K位置的K个完整的脉冲信号,无论在电机高速情况下还是低速情况下,T0时间都体现了K个完整的脉冲信号所代表的电机转动角度的精确时间。检测周期内电机转动了K/K0周,转速即可通过K/K0/T0算出来。如果检测周期的时长T、第一时长Sn-1以及第二时长Sn的单位为秒,则转速的单位为转/秒。

本实施例提供的永磁同步电机速度检测方法,通过获取上一检测周期内最后接收到脉冲信号到上一检测周期终止的第一时长Sn-1以及当前检测周期内最后接收到脉冲信号到当前检测周期终止的第二时长Sn,精确计算出K个完整的脉冲信号所代表的电机转动角度的精确时间,不受电机高速还是低速运行的影响,能更精确的检测永磁同步电机的速度。

具体的,所述检测周期可以由中断定时器触发和终止,所述检测周期的时长T为中断定时器的预置数与中断时钟频率之比。所述高频计时器的时间Sn具体为:所述高频计时器的寄存器中的值与高频时钟频率之比。中断定时器的时钟频率和高频计时器的时钟频率可以相同也可以不同。

进一步,相对的,中断定时器为低频定时器,设置中断周期为比较长的时间T。高频计时器计数速度较快,周期很小,但时间精度很高,可以保证检测精度。两者配合可以在保证检测精度的情况下节省计算资源。

实施例二:

如图4所示的永磁同步电机速度检测装置,包括:

计数器101,用于获取当前检测周期内接收到的增量编码器输出的脉冲信号数K,K不小于0,检测周期的时长为T;

计时模块102,用于获取上一检测周期内最后接收到脉冲信号到上一检测周期终止的第一时长Sn-1以及当前检测周期内最后接收到脉冲信号到当前检测周期终止的第二时长Sn

第一计算模块103,用于根据所述检测周期的时长T、第一时长Sn-1以及第二时长Sn计算上一检测周期内最后接收到脉冲信号到当前检测周期内最后接收到脉冲信号的第三时长T0;

第二计算模块104,用于计算电机的转速v,具体为根据以下计算公式计算得到:

其中,K0为电机转动一周增量编码器输出的脉冲信号数,T为检测周期的时长。

进一步,在另一实施例中,永磁同步电机速度检测装置还包括:

中断定时器105,所述检测周期由所述中断定时器触发和终止,所述检测周期的时长为中断定时器的预置数与中断时钟频率之比。

作为本发明的进一步改进,如图5,计时模块102包括:复位单元1021、高频计时器1022及获取单元1023。

复位单元1021用于接收到增量编码器输出的脉冲信号时,将高频计时器的时间复位;

高频计时器1022用于若电机向一方向转动,则所述高频计时器递增计时;若电机向另一方向转动,则所述高频计时器递减计时;

获取单元1023用于检测周期终止时,获取高频计时器的时间。

进一步,所述高频计时器1022包括寄存器(图未示),所述高频计时器的时间具体为:所述高频计时器1022的寄存器中的值与高频时钟频率之比。

进一步,如图6,第一计算模块103包括:

方向判别单元1031,用于根据电机转向选择第一计算单元或第二计算单元;

第一计算单元1032,用于当电机向一方向转动时,计算第三时长T0,具体计算公式为

T0=T-Sn+Sn-1

第二计算单元1033,用于当电机另一方向转动时,计算第三时长T0,具体计算公式为

T0=T-Sn-1+Sn

本实施例中的装置与前述实施例中的方法是基于同一发明构思下的两个方面,在前面已经对方法实施过程作了详细的描述,所以本领域技术人员可根据前述描述清楚地了解本实施中的系统的结构及实施过程,为了说明书的简洁,在此就不再赘述。

为了描述的方便,描述以上装置时以功能分为各种模块分别描述。当然,在实施本发明时可以把各模块的功能在同一个或多个软件和/或硬件中实现。

通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例或者实施例的某些部分所述的方法。

描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的模块或单元可以是或者也可以不是物理上分开的,作为模块或单元示意的部件可以是或者也可以不是物理模块,既可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。

本发明可用于众多通用或专用的计算系统环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器系统、基于微处理器的系统、机顶盒、可编程的消费电子设备、网络PC、小型计算机、大型计算机、包括以上任何系统或设备的分布式计算环境等等,如实施例三。

实施例三:

如图7所示的永磁同步电机角度检测装置,包括:处理器200以及用于存储处理器200可执行的指令的存储器300;

所述处理器200被配置为:

获取当前检测周期内接收到的增量编码器输出的脉冲信号数K,K不小于0,检测周期的时长为T;

获取上一检测周期内最后接收到脉冲信号到上一检测周期终止的第一时长Sn-1以及当前检测周期内最后接收到脉冲信号到当前检测周期终止的第二时长Sn

根据所述检测周期的时长T、第一时长Sn-1以及第二时长Sn计算上一检测周期内最后接收到脉冲信号到当前检测周期内最后接收到脉冲信号的第三时长T0;

计算电机的转速v,具体为根据以下计算公式计算得到:

其中,K0为电机转动一周增量编码器输出的脉冲信号数。

在另一实施例中,所述处理器200还被配置为:

接收到增量编码器输出的脉冲信号时,高频计时器的时间复位;

若电机向一方向转动,则所述高频计时器递增计时;

若电机向另一方向转动,则所述高频计时器递减计时;

检测周期终止时,获取高频计时器的时间Sn

本实施例中的装置与前述实施例中的方法是基于同一发明构思下的两个方面,在前面已经对方法实施过程作了详细的描述,所以本领域技术人员可根据前述描述清楚地了解本实施中的系统的结构及实施过程,为了说明书的简洁,在此就不再赘述。

本发明实施例提供的永磁同步电机角度检测装置,可以通过获取上一检测周期内最后接收到脉冲信号到上一检测周期终止的第一时长Sn-1以及当前检测周期内最后接收到脉冲信号到当前检测周期终止的第二时长Sn,精确计算出K个完整的脉冲信号所代表的电机转动角度的精确时间,不受电机高速还是低速运行的影响,能更精确的检测永磁同步电机的速度。

对于本领域的技术人员来说,可根据以上描述的技术方案以及构思,做出其它各种相应的改变以及变形,而所有的这些改变以及变形都应该属于本发明权利要求的保护范围之内。

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