1. 从一根接错线开始:ax by cz 划分问题到底在问什么
前阵子帮朋友调试一台直流无刷电机的驱动器,现象很典型:电机上电后嗡嗡响,转子卡在一个位置不动,用手拨一下能转,但一加负载就乱抖。查了一圈硬件都没问题,最后发现是三相绕组的相序接错了。这事本来不算稀奇,但调完以后他问了我一句话:"网上说这个直流无刷电机ax by cz怎么划分的,是按垂直轴线划分的吗?"——我当时愣了一下,才知道很多人其实卡在一个基础概念上:无刷电机的相序划分,到底是怎么来的。
先把话说清楚:直流无刷电机里的 A、B、C 三相,从来不是按空间上的垂直轴线去划分的。所谓"ax by cz"这种写法,实际是把三相绕组分别对应到电气角的 0°、120°、240° 三个相位点上,而 x、y、z 本身只是坐标系里的命名习惯。你问"按垂直轴线划分",那是把交流电机的空间矢量概念跟无刷电机的电气相位概念混在一起了。
这其实触及了直流无刷电机控制里最核心也最容易被忽略的一层逻辑:三相绕组不是因为空间上互相垂直才叫 ABC,而是因为三相反电动势和霍尔信号之间存在固定的 120° 电角度关系,才被定义为 ABC。后面所有换相逻辑、PWM 调制、转子位置估算,全部建立在这套相位关系上面。相序接反了,哪怕霍尔信号完全正确,电机也转不起来。
这篇文章不打算从教科书定义开始讲,而是从工程调试的角度,把"相序划分"这个看似基础的问题掰开揉碎。内容包括:ABC 三相到底按什么标准划分、x/y/z 在这里扮演什么角色、霍尔信号和反电动势之间的 120° 契约、以及实际调相序时可以用到的几种可靠方法。适合刚接触无刷电机驱动的硬件工程师、做 FOC 算法的软件开发者,以及所有被"电机嗡嗡响但不转"困扰过的玩家。
2. 先推翻一个错误直觉:ABC 不是空间轴,是相位轴
2.1 "垂直轴线"这个直觉是怎么来的
很多人第一次接触三相无刷电机,脑子里会浮现出三相交流电机的定子绕组布局。在真正的交流电机里,三相绕组在空间上确实相差 120° 机械角度,定子槽的分布、线圈的轴线方向,都是实实在在的空间几何关系。所以"三相在空间上互成 120°"这句话,对交流电机来说是成立的。
问题是,直流无刷电机的定子绕组结构,往往不是简单的空间 120° 对称布局。尤其是一些槽极配比较低的电机(比如 12 槽 8 极、9 槽 6 极),绕组的空间分布非常复杂,一个绕组可能跨越多个齿,线圈的轴线方向跟"空间垂直"完全沾不上边。但如果用示波器看三相反电动势的波形,你会发现它们之间的关系依然是严格的 120° 电角度差。
这个"电角度"和"机械角度"的区别,就是混淆的根源。
- 电角度 = 机械角度 × 极对数
- 一个电气周期,对应转子转过 360° 电角度
- 对 4 极对数的电机,转子转一圈,电角度走了 1440°
所以你会发现,无刷电机的三相绕组,在空间上可能完全不对称,但在电气上必须有严格的 120° 相位差。ABC 的划分依据的是电气相位,不是空间位置。
2.2 x、y、z 到底是哪来的
在一个标准的三相系统里,A、B、C 三个相量之间的相位关系是:
- A 相:0°
- B 相:滞后 120°
- C 相:滞后 240°
当你把这三个相量画在复平面或者帕克变换的坐标系里,x 轴通常对应 A 相的方向,y 轴和 z 轴则是为了方便数学表达而引入的中间变量。在电机控制里,Clark 变换做的事情,就是把三相静止坐标系(a-b-c)映射到两相静止坐标系(α-β),那里面 x 轴和 y 轴才是真正的正交关系。FOC 算法里天天提到的"转子位置角 θ",就是指转子磁链方向和 x 轴之间的夹角。
所以"ax by cz"这个写法,准确的理解是:A 相映射到 x 轴方向,B 相映射到 y 轴方向,C 相映射到 z 轴方向,而这里的 x/y/z 已经不是空间上的正交轴了,是电气相位参考轴的一种表达。
换句话说,如果你非要说"划分标准",那么标准是:以 A 相反电动势的过零点为 0° 电气角,B 相在这个基础上滞后 120°,C 相滞后 240°。如果三个反电动势波形之间不是这个关系,那说明绕组接线或者霍尔安装有问题。
2.3 一个简单类比
可以这样理解:三个人排队报数,第一个人喊 0,第二个人必须等 120 毫秒再喊,第三个人等 240 毫秒再喊。这个时间差才是 ABC 划分的依据。至于这三个人站在空间上的什么位置,是面朝东还是面朝西,跟报数顺序没关系。
换句话说,空间垂直轴线是两个正交方向之间的关系,而 ABC 三相之间是时间(相位)上的先后关系。把这两个东西混在一起,就会追问出"ax by cz 是不是按垂直轴线划分的"这种问题。
3. 相序划分的硬核依据:反电动势与霍尔信号的 120° 契约
3.1 反电动势:电机告诉你"我是谁"
无刷电机转子转动时,永磁体磁场切割定子绕组,在三相线圈里感应出反电动势。这个波形是天然的"身份证明"。你只要把示波器探头接到电机的三根引出线上,手动盘动转子,就能看到三相反电动势波形。如果是星形接法,测的是相电压;如果是三角形接法,测的是线电压。但不管哪种接法,三相波形之间的相位关系都是 120°。
实际测量中有一个细节值得注意:反电动势的相位关系取决于转子磁极的位置,与霍尔传感器怎么接线没有直接关系。所以反电动势波形是最底层的物理事实,霍尔信号只是对这种物理事实的"数字化采样"。
试想一个场景:你把电机的三根线交换了任意两根,此时用示波器看反电动势,会不会变?不会。因为磁铁和绕组的关系没变,物理上的反电动势还是原来的 A 超前 B、B 超前 C。变的是你的驱动器认为哪一根是 A。这就是相序问题的第一层矛盾:电机物理上定义了相序,但控制器不一定知道。
3.2 霍尔传感器:电机告诉你"我现在在哪"
绝大多数直流无刷电机内部都装有三个霍尔传感器,间隔 120° 电角度摆放。转子转动一圈,霍尔传感器输出一组六状态的数字信号(101、100、110、010、011、001),每个状态对应一个 60° 电角度的扇区。
这里就引入了两个"120°":
- 三相绕组之间:反电动势相位差 120°;
- 三个霍尔传感器之间:安装位置差 120°。
这两个 120° 必须严格对应。也就是说,霍尔信号跳变的时刻,必须与对应相反电动势的过零点时刻对齐。对上了,电机才能正常换相;对不上,就会出现启动无力、抖动、堵转、反转等一系列问题。
用一张表来描述霍尔状态和反电动势之间的关系:
| 转子位置(电角度) | 霍尔状态(H3,H2,H1) | 对应的反电动势特征 | 应导通的功率管 |
|---|---|---|---|
| 0°~60° | 101 | C 相过零,A、B 相正向 | Q1(上A)+ Q4(下B) |
| 60°~120° | 100 | B 相过零,C、A 相正向 | Q1(上A)+ Q6(下C) |
| 120°~180° | 110 | A 相过零,B、C 相正向 | Q3(上B)+ Q6(下C) |
| 180°~240° | 010 | C 相过零,A、B 相反向 | Q3(上B)+ Q2(下A) |
| 240°~300° | 011 | B 相过零,C、A 相反向 | Q5(上C)+ Q2(下A) |
| 300°~360° | 001 | A 相过零,B、C 相反向 | Q5(上C)+ Q4(下B) |
这张表值得反复对照。很多相序问题,本质上是霍尔状态和导通顺序对不上,而根源往往是霍尔线序接错、霍尔元件安装偏移,或者绕组相序定义混乱。
3.3 控制器怎么判断"谁是谁"
控制器并不知道哪根线是 A 相,它只能通过两个途径感知:
- 霍尔信号:告诉你当前转子在哪一个 60° 扇区;
- 反电动势(无感方案):告诉你当前哪一相过零。
换相逻辑本质上就是:根据当前转子位置,决定哪一相应该通电,哪一相应该悬空。如果你把电机的 A、B 两根线对调,霍尔依然会给正确的位置信号,但控制器按原逻辑输出 PWM 时,电流流向就完全错了。结果就是电机要么不转,要么乱转。
所以,section 3.1 和 3.2 之间那个"对应关系",才是相序划分的真正锚点。有了这个锚点,你再回头看"ax by cz 怎么划分"这个问题,就会明白:不是空间上划分,而是根据反电动势相位和霍尔状态,将三相绕组标记为 A、B、C,然后使控制器的换相逻辑跟这个标记对齐。
4. 实战:三种靠谱的相序确定方法
4.1 方法一:反电动势法(最直接、最可靠)
你不需要拆开电机去数线圈,只需要一个示波器和一根能带动电机旋转的辅助设备(电钻、手摇柄都行)。
操作步骤:
- 将电机三相引出线分别接到示波器的三个通道,共地端接电机中性点。如果中性点没引出来,也可以悬空测线电压,波形会有一点差异,但相位关系仍然清晰。
- 用辅助设备缓慢匀速转动电机轴,速度不要太快,保持稳定转数。
- 观察三个通道的波形,确定滞后关系。相位最超前的那一相,标记为 A;滞后 120° 的标记为 B;滞后 240° 的标记为 C。
- 在电机端子和控制器端子上,都用标签写好 A、B、C 对应关系。
这个方法的好处是:直接以物理反电动势为基准,不依赖霍尔、不依赖控制器,是从根源上定相序的"黄金标准"。
注意事项:反电动势波形如果是梯形波,过零点好找;如果是正弦波,可以利用过零点来对齐。千万不要只看波形的峰值来判断相位关系,峰值处的点位受转速波动影响很大,过零点才是最稳定的参考点。
4.2 方法二:霍尔状态法(不上示波器也能搞)
如果手头没有示波器,但电机内部有霍尔传感器,可以用万用表或者逻辑分析仪来定相序。
操作步骤:
- 给霍尔传感器的供电端(一般是 5V 或 3.3V)接上电源,霍尔输出端接上拉电阻到电源。
- 用万用表电压档分别测量三路霍尔输出,手动缓慢转动电机轴。
- 记录三个霍尔信号在旋转一圈内的电平变化序列。正常情况是六步循环,例如 101→100→110→010→011→001。
- 找到相邻两个霍尔状态切换时,对应的是哪一相的反电动势过零。这一步需要把霍尔序列和反电动势对应起来。如果霍尔状态跳变顺序是 5 步里没有、出现了 000 或 111,那大概率是霍尔安装或接线有问题。
但这个方法有个容易踩的坑:只知道霍尔顺序,不够。你还需要知道霍尔信号的哪个跳变沿对应哪一相的过零点。这必须结合电机的设计参数或者手动盘动转子时的位置感来判断。所以,实际工作中我更建议:霍尔法用来做验证,反电动势法用来做初始定相。
4.3 方法三:驱动器换线试凑法(最土但最快)
如果你手上没有示波器、没有逻辑分析仪,只有一台支持开环模式的驱动器,那就用最土的试凑法:
- 将驱动器设置为开环强制换相模式,给定一个小的占空比,让电机输出一个固定方向的力矩。
- 记录一个方向上的动作;然后将任意两相线对调,再给同样的指令。
- 对比两次的转向和力矩表现,找出与控制器预期方向一致的接线方式。
这个方法本质是通过控制器的换相表来反推相序。可行,但效率低,而且有风险:如果接线方式不对,电机可能堵转、过流,驱动器如果没有过流保护,容易烧功率管。所以新手用这个方法时,最好把限流值调低,或者串一个小功率的限流电阻先做测试。
我的建议是:试凑法适合最后确认,不适合用来初定相序。除非你熟悉某款电机的霍尔状态表,否则反电动势法永远是第一选择。
5. 相序定错之后:故障特征与快速排查链路
5.1 最典型的三个故障特征
相序接错,电机的表现有很强的规律性,我总结了三个高频特征:
| 故障特征 | 可能原因 | 排查方向 |
|---|---|---|
| 上电后嗡嗡响,转子锁死 | 换相逻辑与转子位置完全不匹配,力矩方向互相抵消或为零 | 检查三根相线是否有一根或两根接反 |
| 能转但抖动,带负载后失步 | 换相时机偏移,力矩不足 | 检查霍尔信号和相序之间的对应关系 |
| 方向反转但电流异常大 | 换相顺序反了,或者霍尔线序反了 | 检查霍尔供电和输出接线,以及相线的两两交换 |
有时候,相序错误表现为"空载能转,带负载就停"。这种工况最迷惑人,因为空载时惯性可以掩盖换相问题,一旦负载力矩增大,错误换相导致的负力矩就会超过正力矩,电机自然停下来。很多人这时候去查电流环参数、查 PID,结果方向全错了。
5.2 一次完整的排查链路
分享一个真实案例。某项目用 14 极对无刷电机配 FOC 驱动器,上电后发现电机低速正常,高速啸叫严重,电流波形有明显的周期性尖峰。客户一度怀疑是 MOS 管驱动电路问题。排查过程如下:
- 断开 PWM 输出,手动盘动电机,用示波器抓三相绕组的反电动势波形,确认电机本体的相序定义。
- 读取霍尔信号波形,对比霍尔状态跳变对应的反电动势过零点。结果发现霍尔信号在 A 相反电动势过零之前提前了大约 30° 电角度。
- 进一步检查霍尔安装位置,确认不是霍尔偏移,而是霍尔信号线顺序标错了:客户把霍尔 H2 和 H3 的引线互换了。
- 交换霍尔线序后,电流波形恢复正常,啸叫消失。
这个案例说明了一个关键逻辑:排查相序问题时,永远从物理层开始,往上逐层验证。反电动势是物理事实,霍尔信号是对物理事实的采样,控制器的换相表是软件逻辑。下面不对,上面一定错。
5.3 如何快速区分"相序错"和"参数不对"
新手容易把相序问题和电流环参数问题混在一起。区分方法其实很简单:相序错误属于结构性错误,表现为电机在特定位置力矩为零或为负;参数问题表现为力矩输出不稳定,但电机在任何位置都能输出正向力。
更简单的判据:用手慢慢转动电机轴,从 0° 转到 360°。如果每个位置都能感觉到明显的、连续的阻力矩(齿槽转矩之外的制动力矩),说明相序大概率是对的。如果转到某个位置突然失去阻力,甚至出现反向推力,那相序一定有问题。这个测试不需要上电,只需要把驱动器输出的三相短接,然后手动盘动转子,感受阻力情况。
6. 回到最初的问题:ax by cz 到底该怎么理解
绕了一大圈,现在可以正面回答那个热词里的问题了:"直流无刷电机 ax by cz 怎么划分的,是按照垂直轴线划分的么?"
不是。
ax by cz 的划分依据是电气相位,不是空间几何。你把它理解为"三相绕组分别在电气角 0°、120°、240° 的位置上",其中 x 轴对应 A 相,y 轴对应 B 相,z 轴对应 C 相,x/y/z 是为了描述三相静止坐标系而引入的参考轴。真正"垂直"的是 FOC 算法里的两相静止坐标系 α-β 轴,或者说 d-q 旋转坐标系里的轴,那才谈得上正交。
为什么会有这个误解?因为很多人从 FOC 控制的角度倒推回去看电机,脑子里先有 α-β 坐标系的 x/y 正交概念,再去看 a-b-c 三相坐标系,就下意识以为三相之间也是正交关系。实际上,a-b-c 三相坐标系里的三个轴在同一平面上,两两夹角是 120°,你把它画出来的时候,x 轴朝右,y 轴往左上偏 120°,z 轴往左下偏 240°,三个轴把平面切成三等份——这就是"ax by cz"最直观的图解。它们既不是互相垂直,也不是空间三条正交线,而是平面上的三个 120° 分布矢量。所以如果你非要说"划分",划分标准是相位差恒定为 120° 电角度,而不是垂直。
另一个容易混淆的点是霍尔传感器的安装位置。三颗霍尔元件在电机定子上的物理安装位置确实也是间隔 120° 电角度,但它们检测的是转子磁场方向,输出的电平组合是转子位置的一种编码,不是三相绕组的相序编码。绕组的 A/B/C 和霍尔的 H1/H2/H3 之间,存在一个固定的映射关系,但这个映射因电机结构而异,没有一个通用的"垂直轴线"能套用。每台电机都要靠实测来确定这个映射。
从工程实践来看,把"ax by cz"这个符号体系理解透,能直接帮你少走两类弯路:第一,设计控制器软件时,不会再把霍尔信号直接当相序来用,而是先做一次位置校准;第二,调试现场遇到电机不转、抖动、过流这些常见问题,第一反应不再是盲目换硬件,而是先拿示波器看反电动势和霍尔信号的相对关系。这两步做扎实了,无刷电机驱动里 80% 的相序问题都能快速解决。
最后给一个实操建议:如果你手头正在调一台新的无刷电机,不管卖家有没有给你相序表,都花二十分钟用反电动势法把三相标记清楚。标记好了,写进代码注释里,存档。下次再有人问你"直流无刷电机 ax by cz 怎么划分的",你就可以直接告诉他:别管什么垂直轴线,拿示波器看三相反电动势,相位超前的是 A,滞后 120° 的是 B,再滞后 120° 的是 C,就这么简单。