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 中变成了这样:

  1. 采集相电流:通常采样两相,第三相通过 KCL 计算。
  2. Clark 变换:把 ABC 变换到 αβ 静止坐标系。
  3. Park 变换:把 αβ 变换到 dq 旋转坐标系。这里需要转子位置 θ。
  4. PI 调节:在 dq 坐标系下分别控制 Id 和 Iq。
  5. 逆 Park 变换:把 dq 电压变换回 αβ 电压。
  6. 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 换相的核心流程对比:

换相时序核心逻辑对比 BLDC 六步换相流程 检测反电动势过零点 延时 30° 电角度 切换开关管状态 进入下一步(共 6 步) PMSM FOC 矢量控制流程 采样相电流 (Ia, Ib) 读取编码器角度 θ Clark + Park 变换 PI 调节 (Id, Iq) 逆 Park + SVPWM 输出三相 PWM 占空比 说明: BLDC 六步换相每 60° 电角度切换一次开关状态,位置检测依赖反电动势过零点。 PMSM FOC 每个 PWM 周期都在进行坐标变换和电压计算,位置检测依赖编码器。

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,平滑高效,适合高性能场景。不管哪种方式,换相的核心都是让定子磁场和转子磁场保持正确的角度关系。

调试时,先用示波器看相电压和相电流波形。波形不对,先查换相顺序和延时。波形对了,再调电流环参数。一步步来,别急。