1、方波驱动基础:什么是六步换向法?BLDC电机的基本工作原理
各位同学,咱们今天聊点实在的。
很多人一上来就学FOC,结果连BLDC怎么转起来的都没搞明白。我个人习惯是,先把基础打牢。六步换向法,说白了就是让BLDC转起来的最简单方式。你想想看,电机要转,本质上就是让磁场转起来,对吧?
1.1 BLDC电机长什么样?
BLDC,全称是Brushless DC Motor,无刷直流电机。它跟有刷电机最大的区别就是——没有电刷。
有刷电机靠电刷换向,火花四溅,效率低,还容易坏。BLDC把电刷换成了电子换向器,说白了就是用MOS管来切换电流方向。
BLDC内部结构其实很简单:
- 定子:线圈绕组,通常是三相的(U、V、W)
- 转子:永磁体,一般是钕铁硼磁钢
- 霍尔传感器:检测转子位置,告诉控制器该换向了
我在项目中遇到过一种情况,有人把BLDC当步进电机用,结果烧了驱动板。嗯,这里要注意:BLDC的绕组电感很小,电流上升很快,不加限流的话MOS管瞬间就炸了。
1.2 六步换向法到底是什么?
六步换向法,也叫梯形波驱动。为什么叫六步?因为一个电周期内,你需要切换6次通电状态。
咱们先看三相绕组:U、V、W。每一相都可以接正、接负、或者悬空。所以一共有3×3=9种组合,但实际能用的只有6种——这就是六步的由来。
具体哪六步?我习惯用这张表来记忆:
| 步骤 | U相 | V相 | W相 | 电流流向 |
|---|---|---|---|---|
| 1 | + | - | 悬空 | U→V |
| 2 | + | 悬空 | - | U→W |
| 3 | 悬空 | + | - | V→W |
| 4 | - | + | 悬空 | V→U |
| 5 | - | 悬空 | + | W→U |
| 6 | 悬空 | - | + | W→V |
你看,每次只有两相通电,一相悬空。这样产生的磁场是跳跃式的,每60°电角度切换一次。说白了就是让磁场一步一步地追着转子跑。
1.3 霍尔传感器怎么用?
BLDC内部通常有三个霍尔传感器,间隔120°电角度安装。它们输出的是高低电平,组合起来就是6种状态。
霍尔状态和换向步骤的对应关系,我建议你直接查表:
| 霍尔值 (H3 H2 H1) | 对应步骤 | 通电相 |
|---|---|---|
| 101 | 1 | U+ V- |
| 100 | 2 | U+ W- |
| 110 | 3 | V+ W- |
| 010 | 4 | V+ U- |
| 011 | 5 | W+ U- |
| 001 | 6 | W+ V- |
为什么会这样对应?因为霍尔传感器检测的是转子磁场位置。转子转到某个角度,霍尔就输出对应的编码。你按照这个编码去切换通电相,电机就能持续转下去。
1.4 六步换向的代码怎么写?
咱们用STM32来举个例子。核心逻辑就是一个switch-case,根据霍尔值切换MOS管状态。
// 六步换向核心代码
void six_step_commutation(uint8_t hall_value) {
switch(hall_value) {
case 0b101: // 步骤1
// U上桥臂导通,V下桥臂导通
HAL_GPIO_WritePin(UH_GPIO_Port, UH_Pin, GPIO_PIN_SET);
HAL_GPIO_WritePin(VL_GPIO_Port, VL_Pin, GPIO_PIN_SET);
// 其他MOS管关闭
break;
case 0b100: // 步骤2
// U上桥臂导通,W下桥臂导通
HAL_GPIO_WritePin(UH_GPIO_Port, UH_Pin, GPIO_PIN_SET);
HAL_GPIO_WritePin(WL_GPIO_Port, WL_Pin, GPIO_PIN_SET);
break;
// ... 其他case类似
default:
// 关闭所有MOS管,安全状态
break;
}
}
这段代码看起来简单,但实际跑起来有个坑——换向时机。你必须在霍尔信号跳变的瞬间立刻切换,否则电机就会抖动甚至反转。
我建议你用定时器捕获霍尔信号的上升沿和下降沿,在中断里执行换向。主循环只负责调速和监控。
1.5 六步换向的优缺点
说实话,六步换向法在工业里用了很多年,它确实有它的价值:
- 优点:控制简单,代码量小,对MCU性能要求低。8位单片机都能跑。
- 缺点:转矩脉动大,低速时噪音明显,效率不如FOC。
你想想看,每60°才换一次向,电流波形是方波,不是正弦波。这就导致电机在换向瞬间会产生转矩突变,表现出来就是噪音和振动。
1.6 从六步到FOC的过渡
学完六步换向,你可能会问:那FOC到底好在哪?
说白了,六步换向是「跳着走」,FOC是「平滑走」。FOC通过SVPWM调制,让三相电流形成连续旋转的磁场,而不是一步一停的跳跃磁场。
但别急着跳级。我见过太多人直接学FOC,结果连电流采样、坐标变换都搞不明白。先把六步换向吃透,你才能理解为什么FOC需要更快的MCU、更精密的电流传感器、更复杂的算法。
嗯,这一章就到这里。下一章咱们聊聊PWM调制和死区时间,这些都是六步换向里最容易出问题的地方。