最近总有人拿着电机实物来问我:直流无刷电机AX BY CZ怎么划分的,是不是按照垂直轴线划分的?说实话,我第一次看到这问题也愣了一下。被问多了以后我发现,大家不是不会接线,而是被“AX、BY、CZ”这套老式标号带偏了,总觉得字母里的X、Y、Z像空间坐标轴,甚至联想到三个互相垂直的截面。今天这篇文章就想把这个“历史遗留问题”彻底讲透:AX、BY、CZ本质是什么,绕组在定子里到底按什么规则划分,以及拿到一台只有六个端子的无刷电机,你该从哪里下手。整篇按我实际的排查思路来写,适合电机维修、航模DIY,以及刚接触FOC控制的朋友。
1. 先从绕组编号说起:AX、BY、CZ 是“三个绕组”,不是“六根轴”
1.1 一个绕组两端的“头尾命名”
直流无刷电机也好,三相异步电机也好,定子上最基础的东西都是三相绕组。每一相绕组实际上是一组绕在定子槽里的线圈,线圈有两个出线端:一个叫首端,一个叫末端。为了统一起见,电工教材里通常把A相的首端写A、末端写X,B相首端B、末端Y,C相首端C、末端Z。所以“AX”的意思不是A和X之间隔着一根空间轴,而是“从A端进去、从X端出来的这一个绕组”。
BY、CZ同理。你用手捏住AX这对线,万用表一量必然是导通的,因为它本来就是同一根漆包线绕出来的线圈。不要把AX、BY、CZ跟直角坐标系里的“轴”对应起来,这是很多入门者踩坑的起点。我见过有人对着六根引出线发愁,以为AX、BY、CZ代表三条互相垂直的轴向,甚至想拿角度尺去量端子位置,这完全是方向上的误解。
1.2 旧标号在不同电机上的延续
你可能会问,现在很多直流无刷电机引出线只标U、V、W,怎么又有AX、BY、CZ呢?其实两套标号描述的是同一个东西。早期的三相控制电机、三相同步电机都喜欢用A-X、B-Y、C-Z表示三相绕组,后来为了避开和Y形接法字母混淆,以及接线端子标号简化,很多厂家改成了U1-U2、V1-V2、W1-W2,或者干脆U、V、W。
下面这张对照表是我整理的三相绕组常见的几种标号方法:
| 相序 | 首端/末端标记 | 单字母简写 | 常见端子盒标号 |
|---|---|---|---|
| A相 | A-X | A | U1-U2 |
| B相 | B-Y | B | V1-V2 |
| C相 | C-Z | C | W1-W2 |
直流无刷电机内部结构仍然是三相绕组,所以无论铭牌上写AX、BY、CZ还是U、V、W,本质上都是三组线圈的六个引线端子。区别只在于:有的电机把三组绕组的一端在内部接在一起,只引出三根电源线,这就是星形接法的“三线无刷电机”;有的电机把六个端点都引到接线盒,让你自己选择星形或三角形接法,这时候才有可能看到AX、BY、CZ这六个字母。
1.3 为什么直流无刷电机也沿用这套规则
直流无刷电机本体其实是一台永磁同步电机,定子绕组也是三相交流分布。它和异步电机最大的区别只是转子用永磁体,不需要励磁电流。因此绕组设计里的相带、槽数、极对数等规则,完全继承自三相交流电机的成熟理论。所以当你看到一台直流无刷电机的接线图上标着AX、BY、CZ时,直接用三相绕组的思路去理解就行。
搞清楚这一点,后面讨论“垂直轴线”才有共同的语境。你甚至可以把它当成一台“转子换成了永磁铁的三相交流电机”来看待,电压方程、反电动势、电感矩阵的推导逻辑都能对得上,只是驱动器换成了电子换相器罢了。
2. “按垂直轴线划分”这个猜测,到底错在哪
2.1 误区来源:X、Y、Z太像空间坐标轴了
为什么那么多人都问“是不是按垂直轴线划分”?我推测有两个原因。第一个是这三个字母组合和空间直角坐标系的X、Y、Z轴太像:X轴、Y轴、Z轴本来就是互相垂直的三条直线,很容易让人脑补电机被三个垂直平面切开。第二个是有些人把“相带”听成了“相轴”,再结合A/B/C三个字母,就想当然地认为相同空间方位就是一条轴线。
实际上,三相交流绕组的三个相带是沿定子圆周“连续铺开”的,不是按三维坐标轴切出来的。定子内圆是一个圆柱面,所有槽都开在圆周方向,绕组在圆周上按电角度划分。不存在一个竖直剖面把A相和X相分开这种事。如果有人非要问“垂直轴线”,那只能说无刷电机的转轴本身就是一根轴线,但它跟AX、BY、CZ这六个字母没有任何对应关系。
2.2 真正的划分依据之一:相带
谈到绕组划分,必须先引入“相带”这个概念。把定子沿圆周展开成一个长方形,一个极距对应180°电角度。在三相电机中,通常把一个极距平均分成三个60°的区段,每个区段称为一个“相带”。
标准60°相带三相绕组的排列顺序是A、Z、B、X、C、Y,沿定子圆周循环。注意,A和X是A相的两个相带,一个在N极范围,一个在S极范围,二者相隔180°电角度;B和Y是B相的两个相带;C和Z是C相的两个相带。把A相带里的线圈和X相带里的线圈串联起来,并且绕向相反,这样两个相带感应出的电动势才能同向相加,于是得到完整的A-X绕组。B-Y、C-Z的道理完全相同。
所以此刻你应该能看出:AX里的X不是从坐标系里抄来的,而是“A相绕组的另一半”,也就是位于相反极性磁极下、绕向与A相带相反的那一组线圈。同样,Y是B相的另一半,Z是C相的另一半。
2.3 真正的划分依据之二:定子槽数与槽距角
光有相带还不够,绕组线圈必须落到实际的定子槽里,于是出现第二个关键参数:槽距角。相邻两个槽之间的电角度叫槽距角,计算公式是:
槽距角 = 360° × 极对数 / 定子槽数
比如一台9槽8极的直流无刷电机,极对数是4,相邻槽之间的电角度就是360×4/9=160°。三相绕组要彼此相差120°电角度,在槽位上就要相差120/160=0.75个槽。分数槽绕组的排列比整数槽复杂得多,很多无刷电机用的恰恰是9槽8极、12槽10极这类分数槽方案,所以不能简简单单说“三相等分120°机械角”。
如果拿24槽4极的整数槽电机看,槽距角是360×2/24=30°电角度,三相相差120°电角度换算成槽位是4个槽,绕组规律得多。而6槽4极电机槽距角是360×2/6=120°电角度,三个槽位之间正好差一槽,绕线最直观。这也是我经常建议新手看绕组展开图时,先用24槽4极来练眼力的原因。
2.4 直接回答热搜问题
回到那个热搜问题:“直流无刷电机AX BY CZ怎么划分的,是按照垂直轴线划分的么?”
结论很明确:不是按垂直轴线划分。
AX、BY、CZ是按“电角度相带”来划分的,三个相绕组彼此相差120°电角度,每一相的两个相带彼此相差180°电角度。所谓X、Y、Z只是三相绕组在相反磁极方向下的另一半,不是空间坐标轴。你绝不可能把电机沿某个垂直平面切开,然后得到一对AX来。想从几何上理解,只能把定子沿圆周展开,在一张展开图上才能看到A、Z、B、X、C、Y的排列顺序。
3. 电角度与机械角度的换算:看懂这个才算看懂绕组
3.1 电角度为什么和机械角度不一样
很多自学无刷电机控制的人,在第一步就被“电角度”卡住了。借用生活类比:你站在旋转磁场里面,磁场经历一个N极到下一个N极,就叫走过了360°电角度。而电机转子转一圈,转过的机械角度永远是360°。如果转子有p对磁极,那么转子每转一圈,磁场就变化p个完整周期,也就是p×360°电角度。所以电角度=机械角度×极对数。
这个公式虽然简单,却是理解绕组划分和换相的核心。举个例子,4极电机的极对数是2,转子转一整圈,磁场变化2个周期,相当于720°电角度。所谓三相绕组两两间隔120°电角度,在这个电机上对应的机械角度只有60°。如果单纯量三相绕组之间夹多少度机械角,结果会随极数变化而变化,那显然不是划分绕组的本义。
3.2 120°电角度具体对应多少机械角度
用一台4极直流无刷电机来算:机械角度=120°电角度/2=60°。也就是说,A相绕组中心线、B相绕组中心线、C相绕组中心线,在定子圆周上每两个之间相隔60°机械角度。如果换成8极电机,极对数p=4,120°电角度就只对应30°机械角度。
这正是很多初看绕组表的人最容易迷惑的地方:明明三相绕组是“对称”的,为什么三根相线的几何位置不是120°均匀分布?答案就藏在电角度和机械角度的换算关系里。绕组对称指的是电角度上互差120°,而不是机械角度上互差120°。
再算一个与槽数结合的实例。一台36槽4极电机,槽距角=360×2/36=20°电角度。三相之间差120°电角度,所以差6个槽位。如果电机是24槽4极,槽距角=360×2/24=30°电角度,三相之间就差4个槽位。所以在实际定子槽表上,A相、B相、C相的绕组起始槽位不是随手画的,都要按这个规则排。
3.3 为什么极对数不同,三相绕组的“视觉夹角”不同
有人拆开过两台不同极数的无刷电机,会发现极数少的绕组线圈跨度往往大一些,极数多的绕组线圈跨度小一些。以12槽4极和12槽10极为例:12槽4极极对数2,槽距角60°电角度,每相绕组分布在4个槽里,线圈跨距往往需要跨多个槽;而12槽10极极对数5,槽距角150°电角度,绕组绕法更接近集中的分数槽结构。
极对数改变了每槽对应的电角度,也就改变了相带在圆周上的“视觉宽度”。所以别再用“三根相线在圆周上隔120°”这种几何直觉来判断绕组的对称性,一切要以电角度为准。拿到一台不熟悉的电机,先查它的槽数和极数,比盯着端子位置猜要靠谱得多。
3.4 顺便澄清:d轴/q轴跟AX/BY/CZ是两码事
翻资料的时候,你可能还会遇到“直轴d轴、交轴q轴”这些词。这里的d轴和q轴确实与坐标概念有关:d轴指向转子永磁体的磁极中心,q轴与d轴相差90°电角度,它们是以转子为参照的轴线。
但这是控制理论里的转子坐标轴,和定子绕组端子标号AX、BY、CZ完全不是一回事。AX、BY、CZ描述的是定子绕组在槽里的位置和方向;d轴、q轴描述的是转子磁场所在的方向。硬要把它们混在一起,只会让问题越学越乱。很多无刷电机观测器算法里天天算d/q轴电流,但你在接线端子上看到的仍然是AX、BY、CZ,两者互不替代。
4. 实操:拿到一台只标AX、BY、CZ的电机,怎么接线
4.1 第一步:用万用表拆出三对绕组
很多无刷电机打开接线盒就是六个端子,字母已经被磨得看不清了。这时候别慌,先拿万用表电阻档,两两测量六个端子之间的导通关系。同一相绕组的两个端之间电阻很小,一般在几欧姆到几十欧姆之间,且只有这两端之间的阻值不是无穷大。测出三组导通对,分别就是AX、BY、CZ。
我曾经遇到一台线圈阻值只有0.1欧姆上下的无刷电机,万用表蜂鸣档直接叫,但导通对依然能分辨。测出来后,先把三组对分别做上临时标记,再进入下一步。这里有个容易被忽略的点:无刷电机三相绕组阻值非常接近,但不是绝对相等。字母看不清时,不应该按“阻值大小排序”去硬猜哪组是A相、哪组是B相、哪组是C相。对驱动来说,哪组叫A、哪组叫B、哪组叫C其实不影响最终运行,只要三组各自的首末端是成对的就行。
4.2 第二步:判断首末端(干电池法细节)
如果你接的是三角形接法,首末端的判断通常不是必须的,因为三角形接法把三相绕组首尾直接连在一起;但如果是星形接法,要把X、Y、Z短接、A/B/C接驱动器,就一定要确保A/B/C确实是首端。判断首末端,经典做法是干电池法。
先随便给A-X绕组通一节3V左右的干电池,瞬间通电时,绕组会产生一个固定方向的磁势;再把万用表拨到直流电压最低档,接在B-Y两端,观察干电池接通和断开的瞬间,电压表指针正摆还是反摆。标好A相首端后,用同样的方法依次判断B、C相的同名端。
记住原则:当A相首端接电池正极时,若B相电压表正摆,则B相与之对应的端也叫首端;若反摆,则该端为末端。实际操作中多试几次,以“断开瞬间”的摆动方向为准,比接通的瞬间更稳定。这个方法在异步电机接线盒那里用了几十年,移植到无刷电机照样好使。
4.3 第三步:决定接法,并和驱动器对线
判断好三对绕组和首末端后,就要看电机设计用于哪种接法。低速大扭矩的应用常用星形接法,高速应用常用三角形接法。不过大多数直流无刷电机出厂时已经把三相绕组接好,只引出三根粗线,并不需要你操心首末端。只有当遇到六线电机,或者想自己改成不同接法时,才需要在接线盒里作业。
接好电机本体后,把三根相线接到驱动器的三相桥输出。无刷驱动器普遍用A/B/C或U/V/W命名三个桥臂,你的A-X对应U桥臂,B-Y对应V桥臂,C-Z对应W桥臂即可。顺序一致时电机会正常转;顺序不同,电机可能反转、抖动或堵转。记住:交换任意两相,电机旋转方向会反转,这是判断相序关系的最快办法。
4.4 如果接错,会发生什么
把A接成B、B接成C这类相序错乱,驱动器输出的电压矢量和电机反电动势不对齐,最常见现象是启动时来回抖动、电流飙升、转速始终上不去。更隐蔽的问题是某相反接:三根相线顺序没错,但其中一相的首末端对调了。这时候电机也能转,但力矩会明显变小,空载电流偏大,带载后容易过热。
如果你用FOC驱动器,相线接错还可能导致闭环运行飞车,或者控制器报过流。我自己的经验是:接线前先在三根相线上绑不同颜色的热缩管,并做好记录;上电测试前把驱动器限流调到额定值的三分之一左右,这样即使线序错了,也比较安全。这个习惯帮我省了好几次烧驱动器的学费。
5. 从AX/BY/CZ到驱动器标定:完整调通一台无刷电机的经验
5.1 有感电机:霍尔线序和相线线序的匹配
无刷电机里经常还有一组霍尔传感器引线,常见五根:电源、地、HA、HB、HC。霍尔信号与三相绕组反电动势之间有一个严格的相位关系,不是随便接三个霍尔引脚就行。很多入门者只关心把电机相线接对了,结果发现电机抖动,以为驱动器坏了,其实是霍尔线序和相线顺序没对齐。
有感方波控制中,通常要求霍尔信号变化顺序对应六步换相表。如果霍尔ABC接到驱动器的H1、H2、H3,而电机相线正好也是ABC,那就按标准六步表工作;如果霍尔顺序接反,电机可能卡在某个位置不动,或者来回抖。最快排查方法是手动转动转子,用示波器量霍尔波形,或者直接调换霍尔线序试试。六步换相表中,霍尔信号彼此相差120°电气间隔,所以只要看成三个相差120°的方波,问题就清晰了。
5.2 无感FOC:电角度偏移标定
如果是无感FOC驱动器,联机后第一个麻烦是“电角度零点”在哪。FOC控制需要知道当前转子磁场方向,才能把电流分解成d轴和q轴。很多开源方案的做法是让电机开环对齐,再记录零点偏移。相线AX、BY、CZ接好后,这个问题通常被归纳为一个参数:电角度偏移量。
以SimpleFOC为例,初始化步骤一般是:设置极对数、转子方向、霍尔或编码器方向,然后调用对齐函数,让控制器给A相施加一个固定矢量,强制转子锁到0°电角度,再读取传感器数据,得到零位偏移。这个操作之所以能成功,正是因为AX、BY、CZ这些相线端子已经确定了PWM输出和绕组物理位置的对应关系。
相线接错时,对齐结果也是错的,电机在闭环转起来后会有明显的位置误差和电流波动。以代码为例,常见流程是这样:
Motor motor = new Motor(pole_pairs, phaseA_pin, phaseB_pin, phaseC_pin); motor.sensor_direction = Direction::CW; motor.zero_electric_angle = 0; motor.initFOC();其中zero_electric_angle需要在对齐时自动算出。如果你把B相和C相对调了,initFOC之后电机要么啸叫,要么直接过流报警,不用怀疑硬件,先回头检查相线。
5.3 我踩过的坑和留下的检查清单
做了几年电机控制,我总结了一个无刷电机接线检查清单,分享给大家:
- 用万用表确认每相绕组导通,并记录三组端子颜色。
- 如果不确定同名端,用干电池法判断,并用记号笔标好首端。
- 确认电机是星形还是三角形接法,六线改接时特别要看清原始接法。
- 相线接好后再接霍尔/编码器,不要带电插拔。
- 首次上电把驱动器限流调小,占空比从10%到20%逐步加。
- 如果电机反向,交换任意两相相线即可,不必改霍尔。
- 有感电机霍尔相位不对时,优先尝试霍尔线序的循环换位,不要乱调相线。
按照这个顺序,我处理过不少“电机抖动、驱动器报警”的返修电机。其中大部分问题根本不是驱动器或者绕组坏了,而是AX、BY、CZ接线对应错了。
最后再说一句:以后再有人在群里问“AX BY CZ是不是垂直轴线划分”,你直接把“相带和电角度”甩给他就行。这套东西看着绕,实际上把定子展开图上A、Z、B、X、C、Y的顺序记在脑子里,比硬背任何公式都有用。我自己最开始也被XYZ带偏过,后来亲手绕了一个小电机,给线圈头尾做标记,才彻底明白AX、BY、CZ不过是三相绕组的两个半相带。多绕几个线圈,多接几次线,答案自然就出来了。