2、换相原理:为什么电机需要换相?霍尔传感器换相原理、无传感器换相(反电动势法)简介
好,咱们进入正题。这一节要聊的是换相——说白了,就是怎么让电机乖乖转起来。
很多刚入行的朋友问我:“电机不就是通电就转吗?为什么还要搞什么换相?”嗯,这个问题问得好。如果你拿一个直流有刷电机,确实通电就转。但咱们做运动控制的,绝大多数场合用的是无刷直流电机(BLDC)或永磁同步电机(PMSM)。这两种电机,转子是永磁体,定子是线圈。想让转子连续转,就得让定子磁场跟着转——这就是换相的本质。
2.1 为什么电机需要换相?
想象一下这个场景:你用手推一个旋转门,推一下,门转一点。如果你一直推同一个点,门转到某个角度就卡住了。你得换一个角度继续推,门才能继续转。
电机换相也是这个道理。定子线圈通电产生磁场,吸引转子磁铁。转子转到位后,你得切断当前线圈的电流,给下一组线圈通电,让磁场“追”着转子跑。
核心逻辑:换相的本质是让定子磁场始终领先转子磁场一个角度,从而产生持续的电磁转矩。
如果不换相会怎样?我见过一个新手调试时把换相逻辑写错了,结果电机“嗡嗡”响,转子卡在一个位置剧烈抖动,温度飙升。不到两分钟,MOS管冒烟了。这就是典型的“缺相”或“错相”故障。
所以,换相不是可选项,是必选项。没有换相,BLDC 就是个振动器,不是电机。
2.2 霍尔传感器换相原理
霍尔传感器换相,是目前最简单、最可靠的换相方式。我个人习惯在样机阶段先用霍尔方案,等逻辑调通了再考虑无传感器方案。
霍尔传感器的工作原理很简单:它检测磁场极性。当转子磁铁的 N 极或 S 极经过霍尔元件时,输出高电平或低电平。
典型的 BLDC 电机内部会安装 3 个霍尔传感器,间隔 60° 或 120° 电角度。这 3 个霍尔信号组合起来,就能判断转子当前在哪个扇区。
霍尔换相的基本步骤
- 读取霍尔状态:3 个霍尔信号组成 3 位二进制数,共 6 种有效状态(另外 2 种是非法状态)。
- 查表确定通电相序:每种状态对应一组 MOSFET 开关组合。
- 执行换相:切换 PWM 输出到对应的定子绕组。
- 等待下一次霍尔跳变:转子转到下一个位置,触发新一轮换相。
这里我贴一个我常用的霍尔换相表,6 步换相法:
| 霍尔状态 (H3 H2 H1) | 转子扇区 | A 相 | B 相 | C 相 |
|---|---|---|---|---|
| 101 | 0° ~ 60° | H | L | Z |
| 100 | 60° ~ 120° | H | Z | L |
| 110 | 120° ~ 180° | Z | H | L |
| 010 | 180° ~ 240° | L | H | Z |
| 011 | 240° ~ 300° | L | Z | H |
| 001 | 300° ~ 360° | Z | L | H |
表中 H 表示上桥导通,L 表示下桥导通,Z 表示高阻(悬空)。你想想看,6 个状态循环一遍,电机就转了一圈(电气角度)。
我的经验:霍尔信号在安装时会有机械偏差。我曾经遇到过霍尔板装偏了 10°,结果电机在低速时抖动严重。解决办法是在代码里加一个霍尔偏移校准值,用示波器看霍尔跳变沿和反电动势过零点,把偏差补偿掉。
2.3 无传感器换相(反电动势法)简介
霍尔传感器虽然好用,但也有短板。比如在高温、高湿、强振动的环境下,霍尔元件容易失效。而且霍尔传感器会增加电机成本和体积。这时候,无传感器换相就派上用场了。
无传感器换相的核心思路是:不装传感器,直接检测电机绕组上的反电动势(Back EMF)来判断转子位置。
反电动势是什么?说白了,转子在定子线圈里转动时,线圈会切割磁感线,产生一个反向电压。这个电压的大小和转子速度成正比,方向与外加电压相反。
在 BLDC 的 6 步换相中,每一相都有“悬空”的阶段。在悬空相上,你测到的电压就是反电动势。反电动势过零点,正好对应转子经过某个特定位置。
反电动势法换相流程
- 启动阶段:电机静止时没有反电动势,无法检测位置。所以先用“预定位”或“开环强拖”把电机转到一定转速。
- 切换阶段:转速达到约 200~500 RPM 后,反电动势信号足够强,切换到反电动势检测模式。
- 正常运行:检测悬空相的反电动势过零点,延迟 30° 电角度后执行换相。
这里有个关键点:反电动势过零点并不是换相点。过零点对应转子 N/S 极交界处,而换相点要滞后 30° 电角度。这个 30° 延迟,我习惯用定时器或软件计数器来实现。
注意:反电动势法在低速时几乎不可用。转速越低,反电动势越弱,信噪比越差。我曾经在 50 RPM 以下尝试过反电动势检测,结果位置估算误差大到电机直接反转。所以,如果你的应用需要频繁启停或低速重载,老老实实用霍尔传感器吧。
2.4 霍尔换相 vs 无传感器换相
我把两种方案的对比整理成了一张表,方便你选型时参考:
| 对比项 | 霍尔传感器换相 | 无传感器换相(反电动势法) |
|---|---|---|
| 成本 | 高(传感器 + 线束) | 低(无需额外硬件) |
| 低速性能 | 优秀,零速也能定位 | 差,低速无法检测 |
| 高速性能 | 良好,但受限于霍尔响应频率 | 优秀,反电动势信号随转速增强 |
| 环境适应性 | 差(高温、振动易失效) | 好(无敏感元件) |
| 启动方式 | 直接换相,无需特殊处理 | 需要预定位或开环强拖 |
| 调试难度 | 低,查表即可 | 高,需要滤波、比较器、软件锁相环 |
我个人习惯是:产品原型阶段用霍尔,量产时根据成本和环境要求决定是否切到无传感器。如果环境恶劣但成本敏感,那就硬着头皮调反电动势算法。
2.5 换相逻辑的核心流程图
下面这张图是我自己画的一个换相逻辑总览,涵盖了霍尔法和反电动势法的共同框架。你看一眼就能明白整个换相过程是怎么串起来的。
这张图把霍尔法和反电动势法放在同一个框架里对比。你从上往下看,启动后先判断有没有霍尔传感器,然后走不同的分支,最终都回到循环换相。嗯,这里要注意:反电动势法的启动阶段是最大的坑,我见过很多工程师在“预定位”这一步翻车。
2.6 避坑指南
最后,我把自己踩过的几个坑列出来,你遇到了能少走弯路:
- 霍尔信号毛刺:电机高速运转时,霍尔信号会有振铃。我习惯在 GPIO 输入前加一个 RC 低通滤波,时间常数 1~10 μs 左右。
- 反电动势比较器阈值:不要用固定阈值。反电动势幅值随转速变化,固定阈值在低速和高速都会误判。我用的是“浮动中点”法,实时采样三相电压中点作为参考。
- 换相延迟时间:反电动势过零点到换相点的 30° 延迟,不要用固定延时。转速变化时,固定延时会导致换相角度偏移。我习惯用定时器捕获两次过零点的时间间隔,动态计算 30° 对应的延时。
- 启动失败重试:无传感器启动时,如果开环强拖没成功,不要无限重试。我设了一个超时计数器,3 次启动失败就报错停机,防止电机过热。