换相原理:电机三相绕组与转子位置关系

做伺服驱动这些年,我见过不少工程师在换相这块栽跟头。说白了,换相就是让电机绕组里的电流方向跟着转子位置走,保证转子能一直转下去。如果换相搞错了,电机要么抖得像筛子,要么干脆不转。

三相绕组与转子位置的对应关系

先看一个最基本的模型。永磁同步电机的定子上有三相绕组,分别叫U、V、W。转子上面贴着永磁体。当转子转到某个角度时,哪一相通电、电流朝哪个方向流,这是有固定规律的。

核心原则:定子磁场方向必须超前转子磁场方向90°电角度,才能输出最大转矩。

我习惯把转子位置分成6个扇区,每个扇区60°电角度。每个扇区对应一组换相状态。举个例子:

转子位置(电角度) 扇区 导通相 电流方向
0° ~ 60° 1 U+ V- U→V
60° ~ 120° 2 U+ W- U→W
120° ~ 180° 3 V+ W- V→W
180° ~ 240° 4 V+ U- V→U
240° ~ 300° 5 W+ U- W→U
300° ~ 360° 6 W+ V- W→V

你看,每60°换一次相,一个电周期正好换6次。这就是经典的六步换相法。我在调试第一台伺服时,就是对着这张表一个一个扇区对,生怕搞错顺序。

霍尔传感器换相逻辑

霍尔传感器是获取转子位置最直接的方式。三个霍尔元件间隔120°电角度安装,输出三路高低电平信号。三路信号组合起来,正好对应6个扇区。

我的经验:霍尔信号在安装时很容易出现±30°的偏差。我曾经遇到过一台电机,霍尔安装座加工误差导致换相点偏移了20°,结果电机在低速时转矩波动特别大。后来我养成了一个习惯:上电后先做一次霍尔自整定,把实际换相点校准到软件里。

霍尔换相逻辑其实很简单:

  1. 读取三个霍尔引脚的电平状态(H1, H2, H3)
  2. 查表得到当前扇区号
  3. 根据扇区号确定导通相和电流方向
  4. 更新PWM输出

这里有个坑要注意。霍尔信号在换相边界附近会有抖动,尤其是电机振动大的时候。我一般会在软件里加一个20~50μs的去抖滤波,不然换相会乱跳。

警告:霍尔信号线必须用双绞屏蔽线,且屏蔽层单端接地。我见过一个现场,霍尔线跟动力线走同一个线槽,结果换相信号被干扰得面目全非,电机直接堵转。

无传感器换相(反电动势法)简介

有些场合装不了霍尔传感器,比如压缩机内部高温高压的环境。这时候就得靠反电动势(Back EMF)来估算转子位置了。

反电动势法的原理是这样的:电机转动时,不通电的那一相绕组上会感应出一个电压,这个电压的过零点正好对应转子经过某个特定位置。检测到过零点后,延迟30°电角度,就是下一个换相点。

关键公式:反电动势过零点 → 延迟30° → 换相点

我最早做无传感器控制时,被反电动势检测折腾得不轻。信号太小、噪声太大、低速时几乎测不到。后来总结出几个要点:

  • 反电动势幅值与转速成正比,低速时信号很弱,一般需要500 RPM以上才能可靠检测
  • 必须用硬件比较器或ADC采样,软件滤波要跟上
  • 电机星形接法时,中性点电压需要虚拟构造

为什么低速难搞?因为反电动势跟转速成正比。转速降到100 RPM时,反电动势可能只有几十毫伏,跟噪声差不多。所以无传感器启动一般要用“三段式”法:预定位 → 开环加速 → 切换到反电动势闭环。

嗯,这里要特别提醒一下。反电动势法在电机静止时完全无效,因为根本没有反电动势。所以每次启动都得先做预定位,把转子强行拉到已知位置。我见过有人跳过这步,结果电机启动时反转了半圈,把负载撞坏了。

无传感器换相流程(反电动势法) 电机静止 预定位(直流制动) 开环加速 检测反电动势过零点 延迟30°电角度换相 反电动势幅值 = 0 转子被拉到已知位置 反电动势信号弱 信号幅值足够大 闭环运行

你看这个流程图,从静止到闭环,每一步都有它的道理。预定位保证起始位置已知,开环加速把转速提上去,等反电动势信号够强了再切到闭环。每一步的切换条件都要仔细标定。

避坑指南:我曾经在开环加速阶段加速时间设得太短,结果电机还没建立起足够的反电动势就切闭环,直接失步。后来我改成根据反电动势幅值做切换判断,而不是单纯靠时间。幅值阈值一般设在额定反电动势的10%~15%比较稳妥。

总结一下三种换相方式的适用场景:

换相方式 优点 缺点 适用场景
霍尔传感器 位置准确、启动可靠 需要额外传感器、高温受限 通用伺服、机器人
反电动势法 无需传感器、成本低 低速性能差、启动复杂 压缩机、风机、泵
高频注入法 零速也能检测位置 算法复杂、有噪声 高端伺服、电梯

换相这件事,说难不难,说简单也不简单。关键是把原理吃透,再结合实际的硬件和工况去调。我见过太多人拿着别人的代码直接跑,换相时序不对就怪电机不好。其实大部分问题,回到这张换相表上对一遍就能找到原因。