自动计算转子速度的电路及方法与流程
未命名
09-22
阅读:62
评论:0
1.本发明涉及电机控制领域,特别是涉及一种自动计算转子速度的电路及方法。
背景技术:
2.现有技术大多采用软件计算电机的转子速度,包括如下步骤:
3.步骤一、在电机中安装霍尔传感器用于反馈电机转子的位置信息;
4.步骤二、补偿霍尔偏差;
5.步骤三、获取霍尔信号相邻两次跳变之间的时间差;
6.步骤四、对步骤三获取的时间进行滤波;
7.步骤五、根据转子的改变角度和滤波后的时间计算转子的速度。
8.上述方法严重依赖转子的位置信息,若有偏差,计算出来的转子速度就不准确,然而霍尔传感器在安装时往往会存在一些机械偏差,使转子位置角估计产生偏差,从而计算结果不准确。因此需要对霍尔偏差进行补偿,补偿方法大多采用软件补偿,需要做零阶泰勒算法、傅里叶解耦变换等大量算法,实现过程比较复杂困难。由于空气、地面粗糙度等外部因素会对电机的运转产生影响,获取霍尔信号相邻两次跳变之间的时间差后,为了消除偶然误差,需要对时间差进行rc滤波或平均滤波,对软件人员的知识储备要求较高。
9.另外,软件计算转子速度的时间较长,对于需要严格把控时间的功能(例如foc(磁场定向控制)模式)不友好;而且复杂的软件程序还会占用长时间的cpu,不利于其它安全控制。
10.因此,如何克服以上问题已成为本领域技术人员亟待解决的问题之一。
技术实现要素:
11.鉴于以上所述现有技术的缺点,本发明的目的在于提供一种自动计算转子速度的电路及方法,用于解决现有技术中计算转子速度的方法严重依赖转子的位置信息、操作麻烦复杂、计算时间较长,对于需要严格把控时间的功能不友好、占用长时间的cpu等问题。
12.为实现上述目的及其他相关目的,本发明提供一种自动计算转子速度的电路,所述自动计算转子速度的电路至少包括:
13.边沿产生模块,接收u、v、w三相霍尔信号,并分别产生各相霍尔信号的边沿响应信号;
14.计数模块,连接于所述边沿产生模块的输出端,基于所述边沿产生模块的输出信号分别对各相霍尔信号各自相邻两次跳变之间的时间差进行计数得到各相计数值,输出当前计数值;并在任意相霍尔信号跳变时产生触发信号;
15.除法模块,连接于所述计数模块的输出端,将霍尔信号相邻两次跳变之间的角度差除以所述当前计数值,以得到电机转速。
16.可选地,所述计数模块包括第一计数单元、第二计数单元、第三计数单元、选择单元、或逻辑单元及触发器;
17.所述第一计数单元、所述第二计数单元、所述第三计数单元接收计数触发信号及对应的边沿响应信号,分别对各相霍尔信号各自相邻两次跳变之间的时间差进行计数得到各相计数值;
18.所述选择单元连接于所述第一计数单元、所述第二计数单元及所述第三计数单元的输出端,并接收各边沿响应信号;当两相以上霍尔信号同时跳变时,按照u、v、w的优先级顺序输出相应相霍尔信号对应的计数值作为所述当前计数值;当各相霍尔信号分别跳变时,输出跳变相对应的计数值作为所述当前计数值;
19.所述或逻辑单元接收各边沿响应信号,并执行或逻辑运算;
20.所述触发器连接于所述或逻辑单元的输出端,当所述或逻辑单元的输出信号有效时输出所述触发信号。
21.可选地,所述第一计数单元、所述第二计数单元或所述第三计数单元包括第一选择器、第二选择器、第一d触发器及加法器;
22.所述第一选择器的第一输入端连接所述第一d触发器的输出端,第二输入端连接所述加法器的输出端,控制端连接所述计数触发信号;
23.所述第二选择器的第一输入端连接所述第一选择器的输出端,第二输入端连接低电平信号,控制端连接对应相霍尔信号的边沿响应信号;
24.所述第一d触发器的数据输入端连接所述第二选择器的输出端;
25.所述加法器的输入端分别连接所述第一d触发器的输出端及高电平信号,当所述第一d触发器的输出信号有效时执行加一操作,输出对应相计数值;
26.其中,各选择器的控制信号有效时选择第二输入端的信号输出,控制信号无效时选择第一输入端的信号输出。
27.更可选地,所述选择单元包括第三选择器、第四选择器及第五选择器;
28.所述第三选择器的第一输入端连接低电平信号,第二输入端连接所述第一计数单元的输出端,控制端连接w相霍尔信号的边沿响应信号;
29.所述第四选择器的第一输入端连接所述第三选择器的输出端,第二输入端连接所述第二计数单元的输出端,控制端连接v相霍尔信号的边沿响应信号;
30.所述第五选择器的第一输入端连接所述第四选择器的输出端,第二输入端连接所述第三计数单元的输出端,控制端连接u相霍尔信号的边沿响应信号;
31.其中,各选择器的控制信号有效时选择第二输入端的信号输出,控制信号无效时选择第一输入端的信号输出。
32.更可选地,所述计数模块还包括滤波单元;所述滤波单元连接于所述选择单元及所述或逻辑单元的输出端,并接收计数上限值及计数下限值,当任意相霍尔信号跳变且所述当前计数值介于所述计数上限值和所述计数下限值之间时将所述当前计数值输出。
33.更可选地,所述滤波单元包括第一比较器、第二比较器、与逻辑门、第六选择器及第二d触发器;
34.所述第一比较器的输入端分别连接所述选择单元的输出端及滤波下限值,并输出第一比较结果;
35.所述第二比较器的输入端分别连接所述选择单元的输出端及滤波上限值,并输出第二比较结果;
36.所述与逻辑门的输入端分别连接所述第一比较器、所述第二比较器及所述或逻辑单元的输出端,当所述当前计数值大于等于所述滤波下限值、小于等于所述滤波上限值,且任意相霍尔信号跳变时输出有效的滤波控制信号;
37.所述第六选择器的第一输入端连接所述第二d触发器的输出端,第二输入端连接所述选择单元的输出端,控制端连接所述与逻辑门的输出端;所述滤波控制信号有效时选择所述选择单元的输出信号输出,所述滤波控制信号无效时选择所述第二d触发器的输出信号输出;
38.所述第二d触发器的数据输入端连接所述第六选择器的输出端,输出滤波后的当前计数值。
39.更可选地,所述滤波下限值及所述滤波上限值由寄存器提供。
40.可选地,霍尔信号相邻两次跳变之间的角度差为180
°
。
41.为实现上述目的及其他相关目的,本发明还提供一种自动计算转子速度的方法,所述自动计算转子速度的方法至少包括:
42.1)分别产生u、v、w三相霍尔信号的边沿响应信号;
43.2)基于各相霍尔信号的边沿响应信号分别对各相霍尔信号相邻两次跳变之间的时间差进行计数得到各相计数值,并输出当前计数值;
44.3)将霍尔信号相邻两次跳变之间的角度差除以所述当前计数值,计算得到电机转速。
45.可选地,步骤1)中,所述边沿响应信号包括上升沿响应信号及下降沿响应信号。
46.可选地,步骤2)中,分别对各相霍尔信号相邻两次跳变之间的时间差进行计数;当两相以上霍尔信号同时跳变时,按照u、v、w的优先级顺序输出相应相霍尔信号对应的计数值作为所述当前计数值;当各相霍尔信号分别跳变时,输出跳变相对应的计数值作为所述当前计数值。
47.更可选地,步骤2)中还包括对所述当前计数值滤波后输出的步骤。
48.更可选地,滤波方法包括:当任意相霍尔信号跳变且所述当前计数值介于计数上限值和计数下限值之间时将所述当前计数值输出,否者滤除。
49.如上所述,本发明的自动计算转子速度的电路及方法,具有以下有益效果:
50.本发明的自动计算转子速度的电路及方法基于硬件电路采用同一相霍尔信号的跳变计算转速,采用寄存器写入的方式滤波时间差;不依赖转子位置信息,转速计算准确;操作方便简单,对技术人员要求不高,可以减少开发时间;不需要复杂的软件程序,cpu占用资源少;适用场景广泛,适用于理想情况、霍尔偏差的情况及掉相的情况。
附图说明
51.图1显示为理想情况下转子角度与三相霍尔信号之间的关系示意图。
52.图2显示为存在霍尔偏差情况下转子角度与三相霍尔信号之间的关系示意图。
53.图3显示为掉相情况下转子角度与三相霍尔信号之间的关系示意图。
54.图4显示为本发明的自动计算转子速度的电路的结构示意图。
55.图5显示为本发明的计数模块的结构示意图。
56.图6显示为本发明的第一计数单元的结构示意图。
57.元件标号说明
[0058]1ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
自动计算转子速度的电路
[0059]
11
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
边沿产生模块
[0060]
12
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
计数模块
[0061]
121
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
第一计数单元
[0062]
12a
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
第一选择器
[0063]
12b
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
第二选择器
[0064]
12c
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
第一d触发器
[0065]
12d
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
加法器
[0066]
122
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
第二计数单元
[0067]
123
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
第三计数单元
[0068]
124
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
选择单元
[0069]
12e
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
第三选择器
[0070]
12f
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
第四选择器
[0071]
12g
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
第五选择器
[0072]
125
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
或逻辑单元
[0073]
126
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
触发器
[0074]
127
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
滤波单元
[0075]
12h
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
第一比较器
[0076]
12i
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
第二比较器
[0077]
12j
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
与逻辑门
[0078]
12k
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
第六选择器
[0079]
12l
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
第二d触发器
[0080]
13
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
除法模块
[0081]
14
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
中央处理器
具体实施方式
[0082]
以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。
[0083]
请参阅图1~图6。需要说明的是,本实施例中所提供的图示仅以示意方式说明本发明的基本构想,遂图式中仅显示与本发明中有关的组件而非按照实际实施时的组件数目、形状及尺寸绘制,其实际实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态也可能更为复杂。
[0084]
3个霍尔传感器按照120
°
电角度均匀排列在电机端部的集成电路板上用于反馈电机转子的位置信息,霍尔传感器根据所对应区域磁极片的极性产生0或1逻辑电平,电机旋转时三相霍尔信号{u,v,w}按5,4,6,2,3,1的顺序周期变化。理论上每相邻两个霍尔信号之间的角度差为60
°
,如图1所示,其中,phu为u相霍尔信号,phv为v相霍尔信号,phw为w相霍尔
信号。然而由于霍尔偏差,霍尔信号会出现超前或滞后的现象,使相邻霍尔信号之间的角度差大于60
°
或小于60
°
,如图2所示,其中,v相霍尔信号phv滞后,w相霍尔信号phw超前;因此采用霍尔信号相邻两次跳变之间的角度差和时间差计算转子的速度是不准确的。另外,对于掉相的情况,如图3所示,w相霍尔信号phw掉相,相邻两个霍尔信号之间的角度差不再是60
°
,变成了120
°
、60
°
、120
°
,此时计算得到的转子速度也是有误的,不可以被采用。
[0085]
但是无论3个霍尔传感器之间的霍尔偏差有多大,同一个霍尔信号相邻两次跳变之间的角度差是固定的,如图1及图2所示,无论是理想情况还是超前或滞后的情况,u相霍尔信号phu相邻两次跳变之间的角度差均为180
°
,v相霍尔信号和w相霍尔信号phw也是如此。而对于掉相的情况,除掉相的w相霍尔信号phw,其它两相各自相邻两次跳变之间的角度差均为180
°
。
[0086]
本发明基于同一个霍尔信号相邻两次跳变之间的角度差和时间差计算转子的速度,以获得准确的转子速度,避免了补偿霍尔偏差的复杂程序,操作简单方便;具体方案如下:
[0087]
实施例一
[0088]
如图4所示,本实施例提供一种自动计算转子速度的电路1,所述自动计算转子速度的电路1包括:
[0089]
边沿产生模块11、计数模块12及除法模块13。
[0090]
如图4所示,所述边沿产生模块11接收u、v、w三相霍尔信号,并分别产生各相霍尔信号的边沿响应信号。
[0091]
具体地,所述边沿产生模块11接收u相霍尔信号phu、v相霍尔信号phv及w相霍尔信号phw。所述边沿产生模块11对所述w相霍尔信号phw的上升沿及下降沿进行响应,并产生第一边沿响应信号wchg;对所述v相霍尔信号phv的上升沿及下降沿进行响应,并产生第二边沿响应信号vchg;对所述u相霍尔信号phu的上升沿及下降沿进行响应,并产生第三边沿响应信号uchg。任意能实现双沿(上升沿和下降沿)检测的电路结构均适用于本发明,在此不一一赘述。作为示例,当霍尔信号跳变时,产生一相应的脉冲信号作为边沿响应信号。
[0092]
如图4所示,所述计数模块12连接于所述边沿产生模块11的输出端,基于所述边沿产生模块11的输出信号分别对各相霍尔信号各自相邻两次跳变之间的时间差进行计数得到各相计数值,输出当前计数值;并在任意相霍尔信号跳变时产生触发信号divtrig。
[0093]
具体地,如图5所示,在本实施例中,所述计数模块12包括第一计数单元121、第二计数单元122、第三计数单元123、选择单元124、或逻辑单元125及触发器126。
[0094]
更具体地,如图5所示,所述第一计数单元121、所述第二计数单元122、所述第三计数单元123接收计数触发信号cnt_trig及对应的边沿响应信号,分别对各相霍尔信号各自相邻两次跳变之间的时间差进行计数;其中,所述第一计数单元121接收第一边沿响应信号wchg及所述计数触发信号cnt_trig,对w相霍尔信号phw相邻两次跳变之间的时间差进行计数;所述第二计数单元122接收第二边沿响应信号vchg及所述计数触发信号cnt_trig,对v相霍尔信号phv相邻两次跳变之间的时间差进行计数;所述第三计数单元123接收第三边沿响应信号uchg及所述计数触发信号cnt_trig,对u相霍尔信号phu相邻两次跳变之间的时间差进行计数。作为示例,如图6所示,所述第一计数单元121包括第一选择器12a、第二选择器12b、第一d触发器12c及加法器12d;所述第一选择器12a的第一输入端连接所述第一d触发
器12c的输出端,第二输入端连接所述加法器12d的输出端,控制端连接所述计数触发信号cnt_trig;所述第二选择器12b的第一输入端连接所述第一选择器12a的输出端,第二输入端连接低电平信号“0”,控制端连接所述第一边沿响应信号wchg;所述第一d触发器12c的数据输入端d连接所述第二选择器12b的输出端;所述加法器12d的输入端分别连接所述第一d触发器12c的输出端及高电平信号“1”,当所述第一d触发器12c的输出信号有效时执行加一操作,输出w相计数值w_cnt;各选择器的控制信号有效时选择第二输入端的信号输出,控制信号无效时选择第一输入端的信号输出。所述第二计数单元122及所述第三计数单元123与所述第一计数单元121的结构相同,不同之处在于,所述第二计数单元122中第二选择器12b控制端接收所述第二边沿响应信号vchg,最终输出v相计数值v_cnt;所述第三计数单元123中第二选择器12b控制端接收所述第三边沿响应信号uchg,最终输出u相计数值u_cnt;具体结构在此不一一赘述。
[0095]
需要说明的是,任意能实现对霍尔信号相邻两次跳变之间时间差进行计数的电路结构均适用于本发明;进一步地,所述第一计数单元121、所述第二计数单元122及所述第三计数单元123的结构也可不相同,不以本实施例为限。
[0096]
更具体地,如图5所示,所述选择单元124连接于所述第一计数单元121、所述第二计数单元122及所述第三计数单元123的输出端,并接收各边沿响应信号;当两相以上霍尔信号同时跳变时,按照u、v、w的优先级顺序(u相优先级最高、其次是v相,最后是w相)输出相应相霍尔信号对应的计数值作为当前计数值uvw_cnt;当各相霍尔信号分别跳变时,输出跳变相对应的计数值作为当前计数值uvw_cnt。作为示例,所述选择单元124包括第三选择器12e、第四选择器12f及第五选择器12g;所述第三选择器12e的第一输入端连接低电平信号“0”,第二输入端连接所述第一计数单元121输出的w相计数值w_cnt,控制端连接所述第一边沿响应信号wchg;所述第四选择器12f的第一输入端连接所述第三选择器12e的输出端,第二输入端连接所述第二计数单元122输出的v相计数值v_cnt,控制端连接所述第二边沿响应信号vchg;所述第五选择器12g的第一输入端连接所述第四选择器12f的输出端,第二输入端连接所述第三计数单元123输出的u相计数值u_cnt,控制端连接所述第三边沿响应信号uchg,最终输出所述当前计数值uvw_cnt;其中,各选择器的控制信号有效时选择第二输入端的信号输出,控制信号无效时选择第一输入端的信号输出。
[0097]
需要说明的是,任意能实现上述功能的电路结构均适用于本发明的选择单元,不以本实施例为限。在正常工作状态下,u、v、w三相霍尔信号交替周期性跳变,按跳变顺序依次输出各相霍尔信号对应的计数值;在掉一相的情况下,按跳变顺序依次输出未掉相霍尔信号对应的计数值;在掉两相的情况下,输出未掉相霍尔信号对应的计数值。
[0098]
更具体地,如图5所示,所述或逻辑单元125接收各边沿响应信号,并执行或逻辑运算;当所述第一边沿响应信号wchg、所述第二边沿响应信号vchg及所述第三边沿响应信号uchg任意一个有效时,所述或逻辑单元125的输出信号有效(高电平有效)。作为示例,所述或逻辑单元125采用三输入或门实现,在实际使用中可基于多个逻辑元件实现或逻辑,不以本实施例为限。
[0099]
更具体地,如图5所示,所述触发器126连接于所述或逻辑单元125的输出端,当所述或逻辑单元125的输出信号有效时输出所述触发信号divtrig;即当任意相霍尔信号跳变时,所述触发信号divtrig有效。
[0100]
更具体地,作为本发明的另一种实现方式,如图5所示,所述计数模块12还包括滤波单元127,所述滤波单元127连接于所述选择单元124及所述或逻辑单元125的输出端,并接收计数上限值rp_lmth及计数下限值rp_lmtl,当任意相霍尔信号跳变且所述当前计数值uvw_cnt介于所述计数上限值rp_lmth和所述计数下限值rp_lmtl之间(包括端点值rp_lmth及rp_lmtl)时将所述当前计数值uvw_cnt输出。作为示例,所述滤波单元127包括第一比较器12h、第二比较器12i、与逻辑门12j、第六选择器12k及第二d触发器12l;所述第一比较器12h的输入端分别连接所述选择单元124的输出端及所述滤波下限值rp_lmtl,并输出第一比较结果;所述第二比较器12i的输入端分别连接所述选择单元124的输出端及所述滤波上限值rp_lmth,并输出第二比较结果;所述与逻辑门12j的输入端分别连接所述第一比较器12h、所述第二比较器12i及所述或逻辑单元125的输出端,当所述当前计数值大于等于所述滤波下限值rp_lmtl、小于等于所述滤波上限值rp_lmth,且任意相霍尔信号跳变时输出有效的滤波控制信号;所述第六选择器12k的第一输入端连接所述第二d触发器12l的输出端,第二输入端连接所述选择单元124的输出端,控制端连接所述与逻辑门12j的输出端,所述滤波控制信号有效时选择所述选择单元124的输出信号输出,所述滤波控制信号无效时选择所述第二d触发器12l的输出信号输出;所述第二d触发器12l的数据输入端d连接所述第六选择器12k的输出端,输出滤波后的当前计数值divisor。
[0101]
需要说明的是,所述滤波下限值rp_lmtl及所述滤波上限值rp_lmth由寄存器提供,在本实施例中,所述寄存器设置于中央处理器14中,如图4所示;在实际使用中,所述寄存器的位置可根据需要设置。任意能实现上述滤波功能的电路结构均适用于本发明,不以本实施例为限。本发明只需要配置两个寄存器即可将不合理的计数值排除达到滤波的目的,不需要复杂的软件程序、操作方便简单、计算时间短,同时还能减少cpu的占用时间。
[0102]
如图4所示,所述除法模块13连接于所述计数模块12的输出端,将霍尔信号相邻两次跳变之间的角度差除以所述计数模块12输出的计数值,以得到电机转速result。
[0103]
具体地,霍尔信号相邻两次跳变之间的角度差为180
°
,当所述触发信号divtrig有效(作为示例,所述触发信号divtrig高电平有效)时,将霍尔信号相邻两次跳变之间的角度差除以同一霍尔信号相邻两次跳变之间的时间差,即可得到所述电机转速result。触发模块的实现方式不限,在此不一一赘述。在本实施例中,所述计数模块12输出的计数值为滤波后的当前计数值divisor,在实际使用中,所述计数模块12输出的计数值也可以是所述当前计数值uvw_cnt。
[0104]
本发明的工作原理如下:
[0105]
理想情况下,三个霍尔传感器的安装位置精准,uvw三相均正常工作,霍尔信号可以准确的反应转子的位置信息,此时uvw每相相邻两次跳变之间的角度差均为180
°
,三相的计数值u_cnt、v_cnt、w_cnt都正常,电机运转的一个周期内可以准确计算6次转速。
[0106]
存在霍尔偏差的情况下,霍尔信号反应的转子位置信息有偏差,但uvw三相均可以工作,此时uvw每相相邻两次跳变之间的角度差均为180
°
,三相的计数值u_cnt、v_cnt、w_cnt都正常,电机运转的一个周期内可以准确计算6次转速。
[0107]
掉相的情况下,如果u相掉相、v相和w相工作,此时v相和w相每相相邻两次跳变之间的角度差均为180
°
,v相和w相的计数值v_cnt和w_cnt正常,电机运转的一个周期内可以准确计算4次转速。如果u相和v相掉相、w相工作,此时w相相邻两次跳变之间的角度差为
180
°
,w相的计数值w_cnt正常,电机运转的一个周期内可以准确计算2次转速。
[0108]
由此可见,本发明操作灵活快捷,适用范围广泛,不仅适用于理想情况,也适用于霍尔偏差和掉相的情况。
[0109]
实施例二
[0110]
本实施例提供一种自动计算转子速度的方法,作为示例,所述自动计算转子速度的方法基于实施例一的自动计算转子速度的电路实现,在实际使用中,任意能实现本方法的硬件或软件装置均适用;所述自动计算转子速度的方法至少包括:
[0111]
1)分别产生u、v、w三相霍尔信号的边沿响应信号。
[0112]
具体地,每一相霍尔信号对应一路边沿响应信号,所述边沿响应信号包括上升沿响应信号及下降沿响应信号。作为示例,当霍尔信号跳变时,产生一脉冲信号,其中,霍尔信号的跳变包括上升沿跳变和下降沿跳变,即,霍尔信号跳变为上升沿或跳变为下降沿都会产生相应脉冲信号。
[0113]
2)基于各相霍尔信号的边沿响应信号分别对各相霍尔信号相邻两次跳变之间的时间差进行计数得到各相计数值,并输出当前计数值。
[0114]
具体地,分别对各相霍尔信号相邻两次跳变之间的时间差进行计数,对于任意一相霍尔信号,当接收到边沿响应信号的当前脉冲时开始计数,当接收到下一脉冲时重新开始计数,依次类推,不断更新计数值。
[0115]
具体地,在本实施例中,基于通过选择各相计数值的输出顺序得到所述当前计数值uvw_cnt。此时,当两相以上霍尔信号同时跳变时,按照u、v、w的优先级顺序输出相应霍尔信号对应的计数值;作为示例,当三相霍尔信号同时跳变时,输出u相计数值;当u相和v相同时跳变时,输出u相计数值;当u相和w相同时跳变时,输出u相计数值;当v相和w相同时跳变时,输出v相计数值;正常情况下不会出现两相以上霍尔信号同时跳变的情况,如果出现这种情况说明发生了掉相或其它故障,而且这种情况不会持续很长时间,大部分时间各相霍尔信号是分别跳变的。当各相霍尔信号分别跳变时,输出跳变相对应的计数值;即任意一相霍尔信号有输出且发生跳变,则输出该相霍尔信号对应的计数值。
[0116]
具体地,作为本发明的一种实现方式,还包括对所述当前计数值uvw_cnt滤波后输出的步骤。当任意相霍尔信号跳变且所述当前uvw_cnt计数值介于计数上限值rp_lmth和计数下限值rp_lmtl之间时将所述当前计数值输出,否者滤除;以此提高最终结果的准确性。
[0117]
需要说明的是,所述计数上限值rp_lmth及所述计数下限值rp_lmtl由寄存器提供,无需软件人员基于电机理论及数学理论撰写复杂的滤波软件程序,操作方便简单。
[0118]
3)将霍尔信号相邻两次跳变之间的角度差除以所述当前计数值,计算得到电机转速。
[0119]
具体地,霍尔信号相邻两次跳变之间的角度差为180
°
,将180
°
除以所述当前计数值,即可得到当前电机转速result;该方法基于同一霍尔传感器的信号进行电机转速的计算,不依赖转子的位置信息,不影响转子速度计算的准确性;此外,即使有两个霍尔传感器掉相,只要有一个霍尔传感器工作都可以准确计算转子速度,因此本发明的适用情况更加广泛。
[0120]
需要说明的是,当步骤2)中进行滤波操作后,步骤3)中将180
°
除以滤波后的当前计数值divisor,在此不一一赘述。
[0121]
综上所述,本发明提供一种自动计算转子速度的电路及方法,包括:边沿产生模块,接收u、v、w三相霍尔信号,并分别产生各相霍尔信号的边沿响应信号;计数模块,连接于所述边沿产生模块的输出端,基于所述边沿产生模块的输出信号分别对各相霍尔信号各自相邻两次跳变之间的时间差进行计数得到各相计数值,输出当前计数值;并在任意相霍尔信号跳变时产生触发信号;除法模块,连接于所述计数模块的输出端,将霍尔信号相邻两次跳变之间的角度差除以所述当前计数值,以得到电机转速。本发明的自动计算转子速度的电路及方法基于硬件电路采用同一相霍尔信号的跳变计算转速,采用寄存器写入的方式滤波时间差;不依赖转子位置信息,转速计算准确;操作方便简单,对技术人员要求不高,可以减少开发时间;不需要复杂的软件程序,cpu占用资源少;适用场景广泛,适用于理想情况、霍尔偏差的情况及掉相的情况。所以,本发明有效克服了现有技术中的种种缺点而具高度产业利用价值。
[0122]
上述实施例仅例示性说明本发明的原理及其功效,而非用于限制本发明。任何熟悉此技术的人士皆可在不违背本发明的精神及范畴下,对上述实施例进行修饰或改变。因此,举凡所属技术领域中具有通常知识者在未脱离本发明所揭示的精神与技术思想下所完成的一切等效修饰或改变,仍应由本发明的权利要求所涵盖。
技术特征:
1.一种自动计算转子速度的电路,其特征在于,所述自动计算转子速度的电路至少包括:边沿产生模块,接收u、v、w三相霍尔信号,并分别产生各相霍尔信号的边沿响应信号;计数模块,连接于所述边沿产生模块的输出端,基于所述边沿产生模块的输出信号分别对各相霍尔信号各自相邻两次跳变之间的时间差进行计数得到各相计数值,输出当前计数值;并在任意相霍尔信号跳变时产生触发信号;除法模块,连接于所述计数模块的输出端,将霍尔信号相邻两次跳变之间的角度差除以所述当前计数值,以得到电机转速。2.根据权利要求1所述的自动计算转子速度的电路,其特征在于:所述计数模块包括第一计数单元、第二计数单元、第三计数单元、选择单元、或逻辑单元及触发器;所述第一计数单元、所述第二计数单元、所述第三计数单元接收计数触发信号及对应的边沿响应信号,分别对各相霍尔信号各自相邻两次跳变之间的时间差进行计数得到各相计数值;所述选择单元连接于所述第一计数单元、所述第二计数单元及所述第三计数单元的输出端,并接收各边沿响应信号;当两相以上霍尔信号同时跳变时,按照u、v、w的优先级顺序输出相应相霍尔信号对应的计数值作为所述当前计数值;当各相霍尔信号分别跳变时,输出跳变相对应的计数值作为所述当前计数值;所述或逻辑单元接收各边沿响应信号,并执行或逻辑运算;所述触发器连接于所述或逻辑单元的输出端,当所述或逻辑单元的输出信号有效时输出所述触发信号。3.根据权利要求2所述的自动计算转子速度的电路,其特征在于:所述第一计数单元、所述第二计数单元或所述第三计数单元包括第一选择器、第二选择器、第一d触发器及加法器;所述第一选择器的第一输入端连接所述第一d触发器的输出端,第二输入端连接所述加法器的输出端,控制端连接所述计数触发信号;所述第二选择器的第一输入端连接所述第一选择器的输出端,第二输入端连接低电平信号,控制端连接对应相霍尔信号的边沿响应信号;所述第一d触发器的数据输入端连接所述第二选择器的输出端;所述加法器的输入端分别连接所述第一d触发器的输出端及高电平信号,当所述第一d触发器的输出信号有效时执行加一操作,输出对应相计数值;其中,各选择器的控制信号有效时选择第二输入端的信号输出,控制信号无效时选择第一输入端的信号输出。4.根据权利要求2所述的自动计算转子速度的电路,其特征在于:所述选择单元包括第三选择器、第四选择器及第五选择器;所述第三选择器的第一输入端连接低电平信号,第二输入端连接所述第一计数单元的输出端,控制端连接w相霍尔信号的边沿响应信号;所述第四选择器的第一输入端连接所述第三选择器的输出端,第二输入端连接所述第二计数单元的输出端,控制端连接v相霍尔信号的边沿响应信号;所述第五选择器的第一输入端连接所述第四选择器的输出端,第二输入端连接所述第
三计数单元的输出端,控制端连接u相霍尔信号的边沿响应信号;其中,各选择器的控制信号有效时选择第二输入端的信号输出,控制信号无效时选择第一输入端的信号输出。5.根据权利要求2-4任意一项所述的自动计算转子速度的电路,其特征在于:所述计数模块还包括滤波单元;所述滤波单元连接于所述选择单元及所述或逻辑单元的输出端,并接收计数上限值及计数下限值,当任意相霍尔信号跳变且所述当前计数值介于所述计数上限值和所述计数下限值之间时将所述当前计数值输出。6.根据权利要求5所述的自动计算转子速度的电路,其特征在于:所述滤波单元包括第一比较器、第二比较器、与逻辑门、第六选择器及第二d触发器;所述第一比较器的输入端分别连接所述选择单元的输出端及滤波下限值,并输出第一比较结果;所述第二比较器的输入端分别连接所述选择单元的输出端及滤波上限值,并输出第二比较结果;所述与逻辑门的输入端分别连接所述第一比较器、所述第二比较器及所述或逻辑单元的输出端,当所述当前计数值大于等于所述滤波下限值、小于等于所述滤波上限值,且任意相霍尔信号跳变时输出有效的滤波控制信号;所述第六选择器的第一输入端连接所述第二d触发器的输出端,第二输入端连接所述选择单元的输出端,控制端连接所述与逻辑门的输出端;所述滤波控制信号有效时选择所述选择单元的输出信号输出,所述滤波控制信号无效时选择所述第二d触发器的输出信号输出;所述第二d触发器的数据输入端连接所述第六选择器的输出端,输出滤波后的当前计数值。7.根据权利要求5所述的自动计算转子速度的电路,其特征在于:所述滤波下限值及所述滤波上限值由寄存器提供。8.根据权利要求1所述的自动计算转子速度的电路,其特征在于:霍尔信号相邻两次跳变之间的角度差为180
°
。9.一种自动计算转子速度的方法,其特征在于,所述自动计算转子速度的方法至少包括:1)分别产生u、v、w三相霍尔信号的边沿响应信号;2)基于各相霍尔信号的边沿响应信号分别对各相霍尔信号相邻两次跳变之间的时间差进行计数得到各相计数值,并输出当前计数值;3)将霍尔信号相邻两次跳变之间的角度差除以所述当前计数值,计算得到电机转速。10.根据权利要求9所述的自动计算转子速度的方法,其特征在于:步骤1)中,所述边沿响应信号包括上升沿响应信号及下降沿响应信号。11.根据权利要求9所述的自动计算转子速度的方法,其特征在于:步骤2)中,分别对各相霍尔信号相邻两次跳变之间的时间差进行计数;当两相以上霍尔信号同时跳变时,按照u、v、w的优先级顺序输出相应相霍尔信号对应的计数值作为所述当前计数值;当各相霍尔信号分别跳变时,输出跳变相对应的计数值作为所述当前计数值。12.根据权利要求9-11任意一项所述的自动计算转子速度的方法,其特征在于:步骤2)
中还包括对所述当前计数值滤波后输出的步骤。13.根据权利要求12所述的自动计算转子速度的方法,其特征在于:滤波方法包括:当任意相霍尔信号跳变且所述当前计数值介于计数上限值和计数下限值之间时将所述当前计数值输出,否者滤除。
技术总结
本发明提供一种自动计算转子速度的电路及方法,包括:边沿产生模块,接收U、V、W三相霍尔信号,并分别产生各相霍尔信号的边沿响应信号;计数模块,连接于所述边沿产生模块的输出端,基于所述边沿产生模块的输出信号分别对各相霍尔信号各自相邻两次跳变之间的时间差进行计数得到各相计数值,输出当前计数值;并在任意相霍尔信号跳变时产生触发信号;除法模块,连接于所述计数模块的输出端,将霍尔信号相邻两次跳变之间的角度差除以所述当前计数值,以得到电机转速。本发明转速计算准确、操作方便简单、开发时间少、CPU占用资源少、适用场景广泛。景广泛。景广泛。
技术研发人员:李亚菲 赵旭东 华纯 刘欣洁
受保护的技术使用者:华润微集成电路(无锡)有限公司
技术研发日:2022.03.09
技术公布日:2023/9/20
版权声明
本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
航空之家 https://www.aerohome.com.cn/
航空商城 https://mall.aerohome.com.cn/
航空资讯 https://news.aerohome.com.cn/