2、换相时序基础:BLDC 与 PMSM 的换相逻辑
换相,说白了就是让电机绕组按顺序通电,产生旋转磁场。你想想看,电机转起来靠的就是磁场追着转子跑。怎么追?什么时候给哪一相通电?这就是换相时序要解决的问题。
我刚开始做电机驱动时,总觉得换相不就是按顺序给电嘛。后来踩了不少坑才明白——换相时机差那么几微秒,电机可能就抖得像筛子一样。今天咱们就把 BLDC 和 PMSM 的换相原理彻底捋清楚。
核心认知:BLDC 和 PMSM 的物理结构几乎一样,区别在于反电动势波形和控制策略。BLDC 是梯形波,适合六步换相;PMSM 是正弦波,必须用 FOC 矢量控制。
2.1 无刷直流电机(BLDC)的换相原理
BLDC 的定子绕组通常是三相星形连接。转子是永磁体。换相的目标就是让定子磁场始终领先转子磁场 90° 电角度,这样才能输出最大转矩。
我习惯把 BLDC 的换相想象成「推秋千」——你必须在秋千荡到最高点之前推它,推早了推晚了都费劲。换相也是一样,必须在正确的转子位置切换通电相。
2.1.1 六步换相法
六步换相是 BLDC 最经典的驱动方式。每一步只给两相通电,第三相悬空。六个步骤完成一个电周期。
具体来说,三相桥臂有 6 个开关管(Q1-Q6)。每个状态对应一对开关管导通:
| 步骤 | 导通开关管 | A 相 | B 相 | C 相 | 电流方向 |
|---|---|---|---|---|---|
| 1 | Q1, Q4 | + | - | 悬空 | A→B |
| 2 | Q1, Q6 | + | 悬空 | - | A→C |
| 3 | Q3, Q6 | 悬空 | + | - | B→C |
| 4 | Q3, Q2 | - | + | 悬空 | B→A |
| 5 | Q5, Q2 | - | 悬空 | + | C→A |
| 6 | Q5, Q4 | 悬空 | - | + | C→B |
每 60° 电角度换相一次。六个步骤走完,正好 360° 电角度。对于一对极的电机,这就是机械一圈。
我的经验:调试六步换相时,先用手转动转子,用示波器看反电动势过零点。确认过零点位置正确后,再让控制器根据过零点延时 30° 换相。这一步搞反了,电机要么反转要么堵转。
2.1.2 反电动势过零检测
六步换相需要知道转子位置。BLDC 常用无传感器方案——检测反电动势过零点。
原理很简单:悬空那一相的反电动势会经过零点。检测到这个过零点后,延时 30° 电角度,就是最佳换相点。
我曾经在一个项目中用过比较器电路直接检测过零点。结果发现低速时反电动势太小,根本检测不到。后来改用 ADC 采样加软件滤波,才解决了低速启动的问题。
注意:反电动势过零检测在电机静止或极低速时无效。这时候必须用「三段式启动」——先定位、再强制换相加速、等转速上来后再切到过零检测。
2.2 永磁同步电机(PMSM)的换相原理
PMSM 的反电动势是正弦波。如果用六步换相驱动,转矩脉动会非常大,噪音也大。所以 PMSM 必须用正弦波驱动——也就是 FOC 矢量控制。
你想想看,正弦波电流在定子绕组中产生的是连续旋转的磁场,而不是 BLDC 那种跳跃式的磁场。这就让 PMSM 运行更平滑、效率更高。
2.2.1 FOC 矢量控制中的换相逻辑
FOC 的核心思想是坐标变换。把三相静止坐标系(ABC)变换到两相旋转坐标系(dq),然后在 dq 坐标系下分别控制电流。
换相逻辑在 FOC 中变成了这样:
- 采集相电流:通常采样两相,第三相通过 KCL 计算。
- Clark 变换:把 ABC 变换到 αβ 静止坐标系。
- Park 变换:把 αβ 变换到 dq 旋转坐标系。这里需要转子位置 θ。
- PI 调节:在 dq 坐标系下分别控制 Id 和 Iq。
- 逆 Park 变换:把 dq 电压变换回 αβ 电压。
- SVPWM 调制:根据 αβ 电压计算三相占空比,输出 PWM。
你看,FOC 里没有「换相步骤」这个概念。取而代之的是连续的坐标变换和 PWM 调制。每一步都在实时调整三相电压,让电流波形始终是正弦的。
关键点:FOC 的换相精度取决于转子位置 θ 的精度。编码器分辨率不够,或者角度采样有延迟,都会导致电流波形畸变。我见过有人用 12 位编码器做 FOC,结果高速时转矩波动大得离谱——后来换成 14 位才解决。
2.3 六步换相 vs FOC:核心差异
我把两者的差异整理成一张表,方便你对比:
| 对比项 | 六步换相(BLDC) | FOC(PMSM) |
|---|---|---|
| 电流波形 | 方波/梯形波 | 正弦波 |
| 换相次数/电周期 | 6 次 | 连续(每个 PWM 周期都在换相) |
| 转矩脉动 | 较大(约 10-15%) | 很小(< 1%) |
| 噪音 | 较大 | 安静 |
| 位置传感器需求 | 霍尔或反电动势过零 | 编码器或高精度观测器 |
| 计算复杂度 | 低(8 位 MCU 即可) | 高(需要 DSP 或 ARM) |
| 低速性能 | 差(转矩脉动明显) | 好(可零速转矩控制) |
| 高速性能 | 好(弱磁控制简单) | 好(弱磁控制复杂但更优) |
我个人建议:低成本的简单应用(如风扇、水泵)用六步换相;高性能场合(如伺服、机器人)必须上 FOC。别想着用六步换相去做位置控制——那转矩脉动会让你怀疑人生。
2.4 换相时序的核心逻辑图
下面这张图展示了 BLDC 六步换相和 PMSM FOC 换相的核心流程对比:
2.5 换相时序调试的常见坑
调试换相时序时,我踩过的坑可以写一本书。这里挑几个最常见的:
- 换相顺序搞反:三相的相序必须和电机绕组的实际连接一致。换相顺序反了,电机反转。我曾经在 PCB 上把 U、V、W 标反了,查了三天才找到原因。
- 换相延时不对:六步换相中,过零点到换相点的延时必须是 30° 电角度。延时长了短了都会导致电流畸变。我习惯用定时器捕获过零点,然后软件计算延时。
- PWM 死区时间不足:上下桥臂切换时必须有死区时间。死区太短会导致直通短路,烧 MOSFET。我一般设 1-2μs,具体看开关管的关断延迟。
- 角度采样延迟:FOC 中,从编码器读取角度到执行 Park 变换之间的延迟必须固定且尽量小。延迟抖动会导致电流环不稳定。我建议用 DMA 或硬件触发来同步采样。
曾经有一次:我在调试一个 48V 的 BLDC 水泵时,六步换相总是有异响。用示波器抓了相电流,发现换相瞬间电流尖峰特别大。后来发现是 PWM 频率太低(只有 8kHz),换相时刻刚好落在 PWM 周期的某个位置,导致电流断续。把 PWM 频率提高到 20kHz 后,问题解决了。
2.6 小结
换相时序是电机控制的基础。BLDC 用六步换相,简单粗暴,适合低成本场景。PMSM 用 FOC,平滑高效,适合高性能场景。不管哪种方式,换相的核心都是让定子磁场和转子磁场保持正确的角度关系。
调试时,先用示波器看相电压和相电流波形。波形不对,先查换相顺序和延时。波形对了,再调电流环参数。一步步来,别急。