无感BLDC 0基础入门
什么是反电势
BLDC控制算法中,三相逆变电路中的六个MOS管只会在同一时间打开其中两个,那么就会有一相处于悬空状态,如下图
1和4中,W相悬空;
2和5中,U相悬空;
3和6中,V相悬空;
因为转子在旋转,悬空的线圈就会切割磁感线而产生电动势,这就是反电势。转子在旋转过程中所处角度不同,悬空相的反电势也会随之变化,有 E = N▲BSsinθ。
因此有θ = 0时,E = 0,如下图
θ = kπ / 2时,| E |最大,如下图
BLDC的反电势波形
BLDC电机在旋转的过程中的反电势呈梯形状,反电势和电流波形如下图所示
虚线就是反电势。
假设图中A为U相,B为V相,C为W相
在 0°到 60°时,电流方向为U进V出,W相悬空
在 60°到120°时,电流方向为U进W出,V相悬空
在120°到180°时,电流方向为V进W出,U相悬空
在180°到240°时,电流方向为V进U出,W相悬空
在240°到300°时,电流方向为W进U出,V相悬空
在300°到360°(0°)时,电流方向为W进V出,U相悬空
这些角度均为电角度而非机械角度。
好,知道这些,那很明显了,在最理想的情况下扇区的最佳切换时机就是在0°,60°,120°,180°,240°,300°。
在30°,90°,150°,210°,270°,330°时,也就是上图红色点点的地方,为悬空相反电势的过零点,换相点也就是反电势过零点延迟30电角度的点。
但是,实际操作中,由于噪音的存在,往往反电势的波形是惨不忍睹的,所以或多或少都会有点硬件滤波或者软件滤波,所以我们处理器采集到的反电势数据是滞后的,所以实际的换相点一般是介于过零点和理论换相点之间,也就是过零点延迟不到30电角度的点。
但做好上面的还不够,看下图,这是我去年调试时打的波形
黄色波形为U相反电势,蓝色波形电平的每一次切换代表切换扇区。
不难发现,在切换扇区的时候,反电势波形出现了非常大的抖动,因此,在换向后的短时间内不可使用反电势去判断扇区,否则可能导致扇区误判从而打乱原本正确的扇区切换顺序。
扇区切换时机
这个方法就有很多了。举个例子:在过零点后根据当前速度计算出延迟时间。甚至简单点,直接在过零点换向也是可以转起来的。
我在这里介绍另一种不用检测过零点的方法,就是使用当前悬空相的反电势与下一扇区的悬空相的电势相减,当相减的差符号发生变化时,即换向,如下图
上面三个波形为U,V,W的反电势波形。
下面三个波形为U相反电势减V相反电势,V相反电势减W相反电势,W相反电势减U相反电势,黑色点即是两电势相减后发生符号变化的点,也就是由正变负或者由负变正的点。当前扇区在1扇区时,即用V-W波形判断切换扇区时机;当前扇区在2扇区时,即用U-V波形判断切换扇区时机;当前扇区在3扇区时,即用W-U波形判断切换扇区时机,其他扇区以此类推。
其他调试所得经验
由于无感BLDC无法在没有反电势的时候判断自己处于哪个扇区,所以在启动时,扇区切换比较混乱,速度反馈不准确,常常不能低转速带负载闭环启动,因此可以先开环转起来,一定速度后切入闭环。
另外在计算速度反馈时,可以按正确的扇区切换顺序去计算,也就是假如正确的扇区切换顺序为123456并在切换扇区的同时,当前扇区为1,上一扇区为6时才计算速度,若当前扇区为1,上一扇区为除1,6以外的其他扇区时将速度置0,因为扇区切换已经乱了。
至于反馈速度计算,就简单了,即V = (60° / 极对数)/ ▲T,V的单位为度每秒,这个公式有感无感都通用。