本文主要用于个人学习总结,内容基于正点原子的电机驱动课程,欢迎大家进行交流
根据前两篇文章,我们知道了如何让电机转起来,并用霍尔传感器进行有感控制,也就是检测转子当前位置,来知道下一步要通哪一项的上下桥臂。这种方式实现的六步换向就是有感控制。
目录
一.无感控制介绍
无感就是没有位置传感器也能实现对无刷电机的驱动
无感驱动由于没有位置传感器,所以体积很小,并且只有UVW三根线,这就是其与有感驱动电机最大的优势和区别了
1.有感驱动和无感驱动电机优缺点
其中重点为:无感电机一般通过反电动势进行驱动的,所以它的启动不流畅,因为在低速或转子静止的时候,反电动势过小,检测不到过零点,就驱动不了电机。这也是所有反电动势法的共同缺点。
那么我们可以先把转子固定到一个位置,比如uvw首先固定好u接正,v接负,然后按顺序进行通电,让转子进行旋转起来,旋转到一定速度的时候就能检测到反电动势了,接着就能通过过零点知道反电动势了。
这时候可能大家对反电动势的概念有所遗忘,以及对于过零点的概念不太清楚,所以我们接下来复习一下中学所学习的楞次定理,并简单介绍一下过零点。
二.无感控制的原理
1.楞次定律
感应电流的磁场总是要阻碍引起感应电流的磁通量变化(楞次定律)
阻碍:当磁通量增加的时候,就会产生一个相反的磁通量。当磁通量减少的时候,就会产生增加的磁通量。
如图所示,当磁铁N极向下靠近线圈,线圈磁通量增加,线圈就会阻碍磁通量的增加,就会产生相反的向上的磁通量,产生感应电流,就会产生感应电动势,也就是反电动势。
总结起来就是四个字:来拒去留
感应电动势分为两种:
动生电动势,导体在磁场中的运动,磁场是静止的,导体就产生运动切割磁场产生的电动势。
感生电动势,这里导体是静止的,磁场是变化的,导体产生的电动势就是感生电动势了。
由电机结构图可知,导体也就是绕组是不动的(定子),而转子是运动的,所以产生感生电动势
2.过零点
过零点的概念:就是反电动势由正变为负,或者由负变为正,产生的零点,这个点就是过零点。
但是光有概念,并不方便我们理解过零点的用途,所以我们给出电机里的过零点动态示意图:
转子一直在改变转动,磁场也是在一直改变的,此时线圈导体会产生反电动势。上图是感应电动势的波形图,下图为abc三相上下桥导通的情况。实心就是导通,控制就是关闭。
由图我们可知:当AB相导通,过零点在C相,C相是悬空的。
规律:过零点是发生在不通电的那一相桥臂。
3.过零检测原理
电机旋转一个电周期中电流以及反电动势的波形波形图,如下,实线表示的是电流,虚线表示的是反电动势。
从图中可以得到的信息,以第一个60度为例,A相电流实线是接正的。B相是负。C相就是零。可以看到电流的值。这表示AB相是导通通电的,C项电流为0表示其是开路的。
虚线就是反电动势了,此时反电动势的过零点由正变为负,这就有过零点了。
因此我们只需要检测每个60度内不通电一侧的相电压,就可以检测反电动势了。
在这里我们使用一个比较器,首先假设三个线圈为ABC相,C相是悬空的一项,不导通的,所以我们把它接到比较器的一段,比较器的另一端接的是中性点,比较它的电压值。
假设A相接正,为24v,B相接地GND,中性点不考虑限流电阻的情况,理想状态就是12v。C相会产生一个反电动势的,所以它是12v加上反电动势的电压。因此C相的电压来跟12v来进行比较,当C相电压比中性点大的时候,比较器输出1,如果比中性点小的时候,就输出0。
这时候,反电动势要么是由正变负,要么是由负变正,因此只要有过零点出现,比较器的输出端就会有跳变沿,就能知道产生了过零点了。
但是在实际的电机中,只引出了uvw的三根线,中性点是没有引出来的,所以一般会在驱动板子上引出这么一个电路,也就是虚拟中性点,把uvw三相都接出来,通过电阻连接到一起,这个中间的点就是虚拟中心点了,可以连接比较器的一端。
这样就可以实现比较器检测过零信号,就是当0-1或者1-0。
那么ABC三相输出0101跟霍尔传感器很相似,也是有120度的相位差,所以它们三个波形组合成的值也是六种情况,跟六步换向也是一一对应的,这个关系是固定的。
1.只要知道过零信号的组合就能知道转子的位置。
2.过零点发生在换相提前30度的时刻。也就是说检测到过零信号的变化了,不能立马进行换相,而是要延迟30度的时间之后再进行换相。
4.过零信号组合对应饶阻导通情况
下图为无感驱动对应的真值表。三相都是过零信号接比较器,通过比较器输出的信号就是过零信号了。
但是要注意遇到过零点不是立马导通,而是要延迟30度的电角度再进行导通。
从而通过过零信号就可以判断出转子的位置,从而实现无感控制
下图为无感驱动的整体框图:
注意事项: 过零信号就是反电动势和中性点进行比较的,输出的信号就是过零信号。在理论上BLDC输出的是梯形波,但是实际的波形是存在尖峰电压的,那么这个尖峰电压对于过零信号的输出是有影响的。
因为尖峰电压,比较器或输出01的跳变,就会有过零信号,跟理论上的过零信号的点不在同一个位置,就会产生干扰。所以大家在程序中一定要过滤掉尖峰电压。