地址:深圳市罗湖区文锦广场文盛中心1401
邮箱:wawa209@126.com
1.BLDC的工作原理分析
@1.BLDC俗称直流无刷电机,直流无刷电机是相比于直流有刷电机的。直流无刷电机最明显的特点是没有没有换向器。转子是永磁铁构成的,定子是由铜线圈缠绕的绕组形成的。
如上图所示
@2.定子的特点:定子是由永磁铁组成的,既然是磁铁,肯定有N极和S极。N极和S极同性相斥,异性相吸。
@3.转子的特点:转子是由钢硅或其他材质的材料上面绕有铜线,构成一圈圈缠绕的铜线圈。通电后会形成一定的空间磁场,通电的方向不同,会产生不同方向的空间磁场。根据右手螺旋定则,可以判断定子线圈通电后产生的磁场方向,如下图所示:
通电的线圈可以等效看成一个磁体,如下图所示。
@4.定子和转子的组合如何产生旋转?
磁体之间,存在同性相斥,异性相吸的原理。定子(通电线圈)和转子(永磁体)也同样存在这样的原理。
给定子通电,则会产生磁场(根据电流的流向产生N极和S极),转子本身是永磁体(存在N极和S极)
根据同性相斥异性相吸原理:定子给定不同方向的空间磁场,则转子会跟随定子做一定角度的旋转。
2.有霍尔直流无刷电机BLDC换向分析
@1.通过第一章节的分析,大体的原理我们已经清楚。那么实际的使用场景中,有霍尔直流无刷电机的具体的构造是什么样的?
带霍尔直流无刷电机一般由8根线组成。3根粗线,5根细线。
3根粗线:(不同厂家的线束颜色可能不一样,注意区分)
黄:电机控制U相(有时也叫A相)
绿:电机控制V相(有时也叫B相)
蓝:电机控制W相(有时也叫C相)
5根细线:(不同厂家的线束颜色可能不一样,注意区分)
红:5V电源线
黑:GND线
黄:霍尔传感器U相(有时也叫A相)
绿:霍尔传感器V相(有时也叫B相)
蓝:霍尔传感器W相(有时也叫C相)
@2.电机控制U、V、W三相线的控制原理分析
要分析控制原理,就需要搞清楚三相的接线方法,我们一般用下图这种接线方法,称为星型接线方式
A(U)、B(V)、C(W)在电机外部引出3根线束,这3根线束是上面描述的铜线,在电机内部A(U)、B(V)、C(W)三根线束绕在定子的硅钢或其他材质的绕组上。A(U)、B(V)、C(W)三相铜线绕组最终都接到一个共同的公共点上。如果条件允许我们可以拆开一个电机,那万用表查找到这个公共点,可以和上图对应起来。
@3.此时,我们把转子加进来,做一个分析。
如上图所示,电流由U留到W。U相接正极,W相接负极,V相开路,那么此时电流由U相流到W相,同时U相和W相产生的磁场合成的磁场矢量方向即为转子磁场方向。
由BLDC的运行方式为绕组两两导通,所以三相线圈的导通组合只有6种通电情况,根据合理的顺序依次切换通电顺序即可让转子跟着磁场旋转起来。
3.直流无刷BLDC正转和反转换向分析
@1.通过上述章节,我们可以看到BLDC六步换向步骤,那么如何让电机正转(CW)、反转(CCW)。电机正转我们一般说的是电机顺时针旋转,电机反转我们一般说的是电机逆时针旋转。
V+U- W+U- W+V- U+V- U+W- V+W- 按照这个顺序换向是电机正转(CW、顺时针),如下图所示
V+U- V+W- U+W- U+V- W+V- W+U- 按照这个顺序换向是电机反转(CCW、逆时针),如下图所示
4.电机应该在什么时候换向?如何知道电机的实时位置?
@1.首先,我们需要知道电机的实时位置,或者详细点说电机永磁转子在电机的什么位置?如果不知道转子的位置,就不知道何时该驱动哪个绕组?所以驱动无刷电机的前提是我们必须要知道转子的当前位置。无刷电机依靠传感器提供转子位置信息进行驱动的方式我们称之为有感驱动。霍尔传感器就是来检测永磁定子的位置的。
@2.霍尔的工作原理是什么?霍尔传感器可以检测磁场的变化,根据检测磁场的变化的特性再搭配一定的电路将磁场方向变化信号转化成不同的高低电平信号输出。
以霍尔传感器为参照物,转子旋转时,霍尔传感器检测到的磁场变化及输出信号如下所示。
同无刷电机均匀分布的定子一样,用于输出3路磁场信号的3个霍尔传感器也是均匀分布在无刷电机的一周的,每相相邻两个传感器电角度相差120°,电机按照一定方向转动时,3个霍尔的输出会按照6步的规律变化。
@2.霍尔传感器U、V、W三相和电机U、V、W三相电机正反转的关系表
假设霍尔传感器U值是bit2高位,V值是bit1,W值是bit0.
电机正转换向值:V+U- W+U- W+V- U+V- U+W- V+W-
对应正转霍尔值: 2 3 1 5 4 6
电机反转换向值:V+U- V+W- U+W- U+V- W+V- W+U-
对应反转霍尔值: 5 1 3 2 6 4
@3.通过上述的霍尔传感器U、V、W三相值与正反转换向的电机U、V、W三相值对应关系,我们可以很清晰的知道任意时刻转子位置,根据霍尔传感器输入值可以任意的的正反转换向。
5.硬件和软件的换向算法实现
@1.硬件设计控制换向
不管是U相、V相、W相在电机换向的6种状态里边有时候需要接正极,有时候需要接正极,所以就有个问题了,如何减半的控制三相极性的切换?需要使用三相逆变电路来实现。
所谓的三相逆变电路就是由三个半桥构成的电路,A+A-(U+U-)为一个半桥,B+B-(V+V-)为一个半桥,C+C-(W+W-)为一个半桥,共三个半桥,这三个半桥分别对应A(U)、B(V)、C(W)三相绕组。
想要控制绕组的极性,只需要控制绕组对应半桥的“上桥臂导通”或“下桥臂导通”就可以实现该相连接至正极或负极。但是要注意不可以不可以同侧半桥上下桥臂同时导通,否则会短路,烧毁电机。要实现6步控制,就可以通过三相逆变电路来实现。
我们发现以上方式直接把电源加载到线圈上,这样会直接使电机很快飙升到很高的速度,这样不利于我们控制,所以一般都是将高低电平用PWM来代替,这样可以很方便的控制线圈电流,从而控制转子扭矩及转速。下图为PWM控制方式示意图
通常使用PWM控制直流无刷电机的常见方法有5种,分别是:
PWM – ON:这种方式的意思是,某一相上半桥PWM方式控制T1时间,对应的另一项下半桥在T1时间内保持高电平(也就是下半桥常开导通);然后再接下来的T2时间某一相上半桥保持高电平(也就是上半桥常开导通),在T2时间段内另一相下半桥PWM方式控制
ON–PWM:这种方式的意思是,某一相上半桥在T1时间内保持高电平(也就是上半桥常开导通),T1时间内另一相下半桥PWM方式控制;然后接下来某一相上半桥PWM方式控制T2时间,对应的另一项下半桥在T2时间内保持高电平(也就是下半桥常开导通);
H_ON – L_PWM:某一相上半桥始终保持高电平(也就是上半桥常开导通),另一相下半桥始终以PWM方式控制
H_PWM – L_ON: 某一相上半桥始终以PWM方式控制,另一相下半桥始终保持高电平(也就是下半桥常开导通),
H_PWM – L_PWM:上半桥和下半桥都是以PWM方式控制,这种控制必须是有死区,否则在换向的瞬间可能导致短路。
PWM-ON :下桥换相和上桥换相的换相转矩脉动相等,且最小;非换向相电流脉动也是最小的;
ON-PWM :下桥和上桥换相转矩脉动相等且比 PWM-ON 方式大,非换向相电流脉动也比 PWM-ON 方式时大。
H_ON - L_PWM :下桥换相转矩脉动和非换向相电流脉动小且与 PWMON 方式时的转矩脉动和电流脉动相等,上桥换相转矩脉动和非换向相电流脉动大且与 ON -PWM 方式时的转矩脉动和电流脉动等。
H_PWM - L_ON :下桥换相转矩脉动和非换向相电流脉动大且与 ONPWM 方式时的转矩脉动和电流脉动相等,上桥换相转矩脉动和非换向相电流脉动小且与PWM-ON 方式时的转矩脉动和电流脉动相等。 H_PWM - L_PWM:换相转矩脉动最大且非换向相电流脉动也最大。不同的控制方式在性能上有不同的效果,针对实际的应用场合可以多尝试多种调制方式,然后选择最优调制方式,一般认为: 单极性调制转矩波动更小,双极性调制转矩波动较大。
接下来用的驱动硬件所使用的是 H_PWM – L_ON 的驱动方式。
@2.软件算法实现换向方式。
首先,软件上必须有PWM方式来控制U、V、W三相上下桥臂的导通。这里所用的控制器是恩狄的AD18F06处理器,此处理是专门针对电机和touch的8位芯片。
PWM的输出用的是timer3定时器,timer3定时器可以输出4路频率相同占空比单独设置的PWM。也可以
用timer3和HBRIDGE单元结合输出6路非互补式或互补式的PWM波形。
HBRIDGE 是由一系列寄存器实现的。
这些寄存器可用于选择 PWM 调制模式、 死区时间设置以及输出极性控制等。
共有三组 HBRIDGE, 输出分别是 PWM00 和 PWM01 、 PWM10 和 PWM11、 PWM20和 PWM21, 其中 PWM10 和 PWM11 的原理图如下图, PWM00 和 PWM01、PWM20 和 PWM21原理相同。
注: 上臂对应 PWM00、 PWM10、 PWM20下臂对应 PWM01、 PWM11、 PWM21
配置timer3定时器,并且和HBRIDGE单元关联,就可以控制6路PWM的输出控制。可以设置占空比duty和频率Ft。
上述是对3组上下桥臂控制电机输出U、V、W三相的导通控制。
接下来,分析霍尔传感器的输入信号采集。霍尔传感器的U、V、W三相数据线连接到处理器的IO管脚上,然后将IO口配置成双沿中断触发模式,在IO中断中触发读取U、V、W三相数据线的值。读取霍尔传感器的值的方式有很多种,这里我们采用中断的原因是中断的实时性非常高,对后面的换向算法软件处理上有很大的好处。当然也可以开启一个定时器,在定时器中断中读取U、V、W三相数据线的值,但这种方式有一定的之后性,尤其在电机转速非常高,比如说10000rpm的时候,要想转速控制达到要求,必须对霍尔传感器反馈的数据及时有效的处理,否则可能转速控制达不到要求,转速控制达不到要求的最根本原因是电机换向不及时引起的。
结合上面的描述,我们在IO的中断中实时读取到了U、V、W三相数据线的值。那么我们把U相的值放在bit2位,V相的值放在bit1位,W相的值放在bit0位。
如果我们霍尔传感器是正常工作的,整个电机和电路都是正常运行的。那么霍尔传感器的U、V、W三相数据线的HallData值在0~7区间。
0:表示没采集到霍尔传感器的值,但是我们分析出现这种情况的原因是要么霍尔传感器出现了故障,要么软件配置有问题,要么电机和电路设计有问题。
7:表示霍尔采集的值出现了干扰,也就是说霍尔传感器采集值是不正常的。这种问题也要排除掉。
正常情况下,根据上述的换向真值表,有效值在1~6期间。
如果是正向换向,那么有如下关系:
电机正转换向值:V+U- W+U- W+V- U+V- U+W- V+W-
对应正转霍尔值: 2 3 1 5 4 6
霍尔值对应的是电机此时此刻U、V、W上下桥臂的导通关系。
const vu8 PMS_Config[]={0x80,0x9f,0xb7,0x9f,0xbd,0xbd,0xb7,0x80};
const vu8 PXC_Config[]={0xc0,0xc4,0xc1,0xc1,0xd0,0xc4,0xd0,0xc0};
上述摘抄出来的2行代码是核心的换向算法,是将霍尔值和换向表和上下桥臂的导通关系映射在一起了。
2 V+U- PMS_Config[2]:0xb7, PXC_Config[2]:0xc1:V+U-
3 W+U- PMS_Config[3]:0x9f, PXC_Config[3]:0xc1:W+U-
1 W+V- PMS_Config[1]:0x9f, PXC_Config[1]:0xc4:W+V-
5 U+V- PMS_Config[5]:0xbd, PXC_Config[5]:0xc4:U+V-
4 U+W- PMS_Config[4]:0xbd, PXC_Config[4]:0xd0:U+W-
6 V+W- PMS_Config[6]:0xb7, PXC_Config[6]:0xd0:V+W-
通过以上分析,霍尔传感器HallData值对应的就是换向表数组的下标值,只需要PMS_Config[HallData]、PXC_Config[HallData]这种软件实现方式就实现了正向换向。
接下来看电机反转换向软件算法分析:
电机反转换向值:V+U- V+W- U+W- U+V- W+V- W+U-
对应反转霍尔值: 5 1 3 2 6 4
我们发现:
V+U-对应的换向表下标是2,而霍尔值HallData是5
W+U-对应的换向表下标是3,而霍尔值HallData是4
我们通过上述分析发现,7-5=2,是换向表下标。7-4=3是霍尔值下标,则我们推论出7-HallData值就是对应换向表下标,这样就可以用同一个换向表实现霍尔的换向。
以上,就是所有的换向原理分析内容。附软件实现截图。
产品
应用
服务
资讯
公司
联系