最近有朋友跑来问我一个看着简单、细想却很要命的问题:直流无刷电机里AX、BY、CZ到底怎么划分?是不是按垂直轴线分的?我听到后半句就知道他大概率在看三相绕组图或者无刷驱动教程时被绕晕了。实际上AX、BY、CZ不是机械轴的代号,而是三相绕组每相线圈两个引出端的标号;真正决定它们空间关系的,是定子槽里绕组的分布和跨距,三相磁轴之间互差120°电角度,跟“垂直轴线”(90°)没有关系。这篇文章就把这个高频疑问一次讲透,顺带把换相、反电动势、霍尔摆放、相序标定这些相关知识点串起来,适合刚接触无刷电机驱动、正在看原理图选型和写换相程序的工程师。
1. AX、BY、CZ是什么:先说清楚它是“端子的名字”不是“轴的坐标”
1.1 三相绕组图上的A-X、B-Y、C-Z怎么来的
打开任何一本电机学教材或者无刷电机驱动参考设计,都会看到类似这样的绕组连接图:A相绕组画成一个线圈,一端标A,另一端标X;B相一端标B,另一端标Y;C相一端标C,另一端标Z。于是整个三相绕组就写作AX、BY、CZ三组。
这里AX并不是一条“轴”,而是A相绕组这根线圈的两个引出端子。你可以把它理解成干电池的正负极:电池有正极和负极,但它不会叫“X轴电池”“Y轴电池”。只不过三相绕组在电路图里画了三根独立的线圈,为了说明“哪两个头是同一相”,就规定A和X为同一相两端,B和Y为同一相两端,C和Z为同一相两端。很多厂商的接线图上还习惯写成U1-U2、V1-V2、W1-W2,意思完全一样,只是换了套命名。
如果电机是星形接法,X、Y、Z三个端子会在内部并到一起形成中性点,外面只引出A、B、C三根相线;如果是三角形接法,X会接B、Y会接C、Z会接A,同样外面三根线。所以你在电机出线口看到三根粗线,对应的是A、B、C三相,而AX、BY、CZ更像是图纸上用来表达“线圈头尾”的内部名字。
1.2 那“轴线”这个词又是哪来的
真正的“轴”出现在电机理论的“磁轴”概念里。每相绕组通电流后,会在气隙里产生一个脉振磁场,这个磁场的中心线方向就叫该相的“绕组轴线”或“磁轴”。比如A相绕组通电产生的磁场方向,就是从定子某处指向转子的某一径向位置,这个方向称为A相轴线。于是把AX中的A理解成“A相”的缩写,X理解成“末端”,整根相线的磁轴方向就是它在线圈分布上的空间指向。
注意这里的轴线是一个空间方向,不是图纸上标着A、X两个字母的那条线。你在电路图里看到A和X中间画了一个线圈,并不代表A到X之间有根“轴”,代表的是A相绕组的两个端点之间跨过了一组线圈,而线圈产生的磁场方向才是它的轴线。弄清这一点,后面所有关于120°的讨论才有意义。
1.3 为什么有人会把它和“坐标轴”混在一起
会问“是不是按垂直轴线划分”的人,多半是把电机绕组里的A、X、B、Y、C、Z和数控机床或者结构图纸里的X、Y、Z坐标轴搞混了。坐标轴的X和Y确实互相垂直,但那是笛卡尔坐标系的约定。电机里的AX、BY、CZ是三相绕组端子的命名,不是空间直角坐标系的坐标轴。两者只是恰好都用字母,语义完全不同。
如果你在无刷电机控制的代码里看到AX、BY这样的结构体变量名,那通常是程序员随便起的标识符,跟本文讨论的绕组命名没有关系,别对着代码里的变量名推演电机原理,会越推越乱。
2. 空间摆放的核心:不是垂直轴,而是互差120°电角度
2.1 三相电的120°是从数学上定死的
三相交流电的定义就是三个幅值相等、频率相同、相位互差120°的正弦波。三相电压或反电动势满足:
- A相:eA = Em sinθ
- B相:eB = Em sin(θ - 120°)
- C相:eC = Em sin(θ - 240°)
三者的和恒等于零,这是三相系统能简化驱动电路、提高功率密度的根本原因。要想让三相绕组通电后合成一个圆形旋转磁场,各相绕组在空间上的磁轴也必须互差120°电角度。空间上的120°和电气上的120°一一对应,电机才能稳定出转矩。
如果三相磁轴互差90°,那就不是三相电机了,而是两相电机(或者你在做d-q轴变换时的坐标系)。两相电机的两套绕组确实在空间互差90°,但这和无刷直流电机的三相结构不是一回事。所以“按垂直轴线划分”这个念头,本质是把两相系统的几何约束强加到三相系统上。
2.2 电角度与机械角度的换算关系
这里有一个绕不开的公式:
θ电 = p × θ机
其中p是极对数。电机有2极,p等于1,电角度和机械角度数值相等;4极电机p等于2,转子转过60°机械角度,对应的电角度就是120°。这个换算关系直接决定了你看到的“120°”在定子上实际占多大弧长。
举几个常见例子:
| 电机规格 | 极对数p | 每槽机械角度 | 每槽电角度 | 相邻相磁轴间隔槽数 | 对应机械角度 |
|---|---|---|---|---|---|
| 3槽2极 | 1 | 120° | 120° | 1 | 120° |
| 12槽4极 | 2 | 30° | 60° | 2 | 60° |
| 24槽4极 | 2 | 15° | 30° | 4 | 60° |
| 24槽8极 | 4 | 15° | 60° | 2 | 30° |
注意最后一列:四极电机虽然两相磁轴的机械间隔是60°,但电角度依然是120°。所以你在电机定子上量到的“角度”往往不是120°,这是很正常的事,不代表标号错了。
2.3 用12槽4极电机还原一遍现场
以常见的12槽4极无刷电机为例。定子12个槽均匀分布,每个槽距机械角度30°,极对数p=2,所以每个槽距对应的电角度是2×30°=60°。极距是180°电角度,对应3个槽距,也就是A相绕组的跨距通常取3个槽。
A相磁轴定在某一个槽间位置后,B相磁轴要在电角度上滞后120°,也就是滞后2个槽距。这2个槽距的机械角度只有60°,根本不是90°。你拿量角器去量A、B两相线圈几何中心之间的夹角,得到的是60°,而不是120°或90°,这是新手最容易蒙圈的地方。
2.4 “垂直轴线”的误会到底出在哪
如果你说的“垂直轴线”是指空间直角坐标里X轴垂直于Y轴,那答案很明确:三相绕组不用直角坐标划分。如果你说的“垂直”是指“垂直于电机转轴方向”,那又另当别论:所有径向磁场的磁轴都垂直于转轴,但这只说明磁轴在电机截面内沿径向分布,并不决定三相之间是90°还是120°。
还有一类混淆来自矢量控制里的Clarke变换。Clarke变换把ABC三相坐标映射到αβ两相静止坐标系,α轴和β轴确实互相垂直,这是控制算法为了方便计算做的坐标变换,不是电机绕组的物理摆放。控制框图里看到垂直的αβ轴,别回头怀疑电机为什么不是90°三相,它们本来就不是同一层的东西。
3. 拿到一台真实电机,怎么一步步标定AX、BY、CZ
3.1 第一步:用万用表分清三相和中性点
无刷电机引出线最常见的有三根粗相线和五根细霍尔线。粗线之间的绕组连接关系可以用万用表电阻档判断。
星形接法下,任意两根相线之间是两个线圈串联,阻值约为单相绕组电阻的2倍;而每根相线对中性点的阻值才是单相绕组电阻。如果电机没有引出中性点,那你只能测到三个两两相等的阻值,这时候只能判断“这三根线确实是三相”,但还不能区分谁是A、谁是B、谁是C。
三角形接法下的线间电阻又会不同:任意两相之间是一个绕组和另外两个串联后并联,阻值等于2R/3。所以先量线间电阻,对照星形还是三角形,能帮你确认电机内部接法,对接下来的标定有帮助。
3.2 第二步:用通电吸附法确定同一相的头尾
区分“哪两根是同一相”相对容易,但要进一步确定A和X哪个是头、哪个是尾,单靠万用表做不到,因为同一个线圈两端在电气上是对称的。这时候需要借助绕组方向。
实操方法:找一台可调直流电源,串一个限流电阻,用1~2A左右的电流给任意两根线通电。电机转子会立刻转到某一个稳定位置,并保持在那里。记录下这组通电组合和转子指向。然后依次给另外两组线通电,转子会分别指向另外两个位置。三次通电得到的位置,两两相差约120°电角度,这就是三相磁轴的方向。
至于A和X哪个是头,需要结合绕线方向定义:让电流从A流入、X流出,产生的磁轴方向指向你设定的零度参考方向;反过来从X流入、A流出,磁轴指向反方向。所以你可以任意规定一根线叫A,另一根自然就是X,但一旦规定就不能中途换,否则后面所有换相逻辑都会反。
3.3 第三步:用反电动势波形确认相序
通电吸附法能帮你拿到三相的空间位置,但要确认“A、B、C”的相序对不对,最直接的办法是看反电动势。
把电机三相线接到示波器,用手或者电钻带动转子匀速旋转,观察三相反电动势波形。正常情况是三根正弦波,两两互差120°电角度。你任意给波形标上A、B、C,然后找到一个共同的过零顺序,比如A先过零、B次之、C再次,这个顺序就是你后续换相表的依据。如果波形顺序和你的霍尔顺序对不上,就在软件里对调相序或者换相表项,不要硬改硬件。
这里有个小经验:示波器探头最好用差分探头,实在没有就用地线夹夹在电机中性点上。三相绕组浮地情况下直接测量,六步换相期间中性点电位是跳变的,普通探头测出来波形会带很多毛刺。
3.4 霍尔信号与相序的对应关系
霍尔传感器装在定子上,三颗霍尔按120°电角度间隔摆放。转子转动时,霍尔输出三位二进制编码,比如常见的顺序是101、100、110、010、011、001依次循环。每个编码对应一个转子扇区,也就对应着下一步该给哪两相通电。
所以霍尔编码顺序和相线标号必须同步。如果你把A、B两相对调了,霍尔编码没变,换相表就会整体错位,表现出来是电机能转但噪声大、力矩小、转速上不去,严重时启动就抖动。标定步骤通常是先按3.2的方法确定三相,再旋转转子记录霍尔编码顺序,把编码和换相表对齐。
4. 这个划分直接决定电机能不能转
4.1 六步换相表里AX、BY、CZ怎么用的
无刷直流电机常用的驱动方式是六步换相,也叫120°导通。每个60°电角度区间内,只有两相导通,第三相悬空。六个导通状态依次为:
| 状态序号 | 导通相 | 实际电流路径 |
|---|---|---|
| 1 | A+B- | A端进,经A相绕组到星点,再经B相绕组从B端出 |
| 2 | A+C- | A端进,C端出 |
| 3 | B+C- | B端进,C端出 |
| 4 | B+A- | B端进,A端出 |
| 5 | C+A- | C端进,A端出 |
| 6 | C+B- | C端进,B端出 |
注意里面的“A+”指的是A端接高侧开关,“B-”指的是B端接低侧开关,而X、Y、Z作为绕组的另一端都在星点汇合。所以标定AX、BY、CZ的意义就在这里:你写代码时一个“A+ B-”的指令,实际是让电流从A端进、流过A相整组线圈、经中性点再流过B相线圈、从B端回,合成转矩方向恰好对准当前转子位置。如果A、B两个标号搞反了,这个转矩方向就偏了120°,电机轻则抖动、重则反转或堵转。
4.2 悬空相反电动势采样
六步换相的关键在于什么时候切换状态。无感驱动没有霍尔,只能靠检测悬空相的反电动势过零点来判断转子位置。以状态A+B-为例,C相悬空,C相绕组的端电压里含有C相反电动势分量。把C相电压和中性点电压比较,过零点出现在换相点之后30°电角度,所以检测到过零后再延时30°就是下一次换相点。
这套逻辑能否成立,前提是你清醒地知道“当前悬空的是哪一相”。这又回到了A、B、C标定:如果相序标错了,检测到的“C相反电动势”实际上可能是A相或B相,过零点的时序全乱,电机根本跑不起来。
4.3 换相表标错的现场症状
实战里最常见的故障就是电机“能抖动但转不起来”或者“正转正常反转无力”。前者多半是霍尔编码和换相表错位,后者多半是某一相头尾反了。还有少数情况是电机低速空载正常,一带负载就抽风,这种往往是反电动势采样相位不准,根源还是相序和电流方向的约定不一致。
排查顺序我建议这样:先断电,用万用表确认三相绕组对称;再用手转动转子,示波器看三相反电动势顺序并记录;然后看霍尔编码是不是按012345或类似规律循环;最后把换相表按霍尔顺序一步步对照。四步走完,90%的相序问题都能定位。
5. 常见问题与排查技巧速查
5.1 高频疑问与解答
| 疑问 | 解答 |
|---|---|
| AX、BY、CZ是坐标轴吗? | 不是,是三相绕组六个端子的命名 |
| 三相绕组是按照垂直轴划分的吗? | 不是,三相磁轴互差120°电角度 |
| 为什么我在定子上量到的是60°而不是120°? | 因为极对数不同,机械角度要乘以极对数才是电角度 |
| 万用表能不能测出A、B、C? | 只能分相,区分A/B/C需要反电动势或通电定位 |
| 相线颜色能不能作为判断依据? | 不同厂家不同批次都不一样,应以实测为主 |
| 星形和三角形接法线间电阻差多少? | 星形约为2R,三角形约为2R/3 |
| 霍尔顺序和相序不匹配怎么办? | 软件重映射换相表,或对调任意两相线并同步对调霍尔线 |
5.2 无感驱动的相序标定小实验
没有示波器的时候,有个土办法也能验证相序。准备一个限流电阻和一个12V小电源,电流限制在1A以内。按A+B-、A+C-、B+C-、B+A-、C+A-、C+B-六种组合依次给电机的三根线通电。每次通电后手动或自动让转子转到新位置,如果换相表正确,转子每一步都会朝同一方向转动固定的60°电角度,而且六步以后刚好转一圈,位置又回到起点。
如果中间某一步转子反向或者角度不规则,就说明那一步的相序和实际绕组不匹配。这个方法不需要示波器、不需要霍尔,就能把最基本的六步关系校出来,我第一次给自制的云台电机写驱动就用它稳住局面。
5.3 我的几点实操心得
第一,标定相序这种事,务必在电机静止状态下先做完再上电大电流测试,否则一旦换相错了,驱动桥的MOS管很容易因为持续直通发热烧掉。第二,带霍尔电机做相序映射时,软件里留一个phaseShift参数,比反复焊线快得多。第三,很多人量反电动势时发现相位差不是120°,先检查是不是探头接到了两个不同的参考地,再检查是不是示波器双通道没有共地,这个问题我至少坑过两次。
最后再说一个判断技巧:拿到一个陌生电机,先看槽数和极数。槽数除以极数如果接近整数,绕组大概率是整数槽绕组,相轴划分规则清晰;如果出现小数,多半是分数槽绕组,这时候相轴的精确位置要用槽星形图来算,不能再凭“每相隔几个槽”来猜。AX、BY、CZ的划分本质上就是找三个互差120°电角度的磁轴位置,方向对了,驱动就成功了一半。