无刷电机ax by cz轴系划分:为什么是120度而非垂直?

发布时间:2026/11/4 18:49:26
无刷电机ax by cz轴系划分:为什么是120度而非垂直?

前两天在技术交流群里看到一个挺有意思的问题:“直流无刷电机 ax by cz 怎么划分的,是按照垂直轴线划分的么?”我一看就猜到,问问题的八成是被电机绕组的轴系概念绕晕了。这里的“ax、by、cz”其实对应的是无刷电机里三相绕组 A、B、C 各自的空间轴线方向,不是什么特殊型号,也不是引脚编号,更不是轴向、径向那类机械方向术语。很多人第一次接触这个概念时,都会下意识把 x、y、z 当成直角坐标系的三个轴,觉得它们应该互相垂直成 90 度,但这恰恰是最大的误解来源。

真正搞无刷电机驱动、做电调调试或者玩 FOC 矢量控制的朋友,一定绕不开这套轴系划分。它决定了你怎么判断换相时机、怎么写电流环坐标变换、怎么排查电机抖动和发热的问题。这篇就把“ax by cz 到底怎么划分”这件事从头到尾讲清楚,包括 120 度电角度怎么来的、为什么不能按垂直轴理解、以及怎么不拆电机就能把相序和轴线方向量出来。内容不限定某个平台,适合刚入门的航模爱好者、做电机驱动的嵌入式工程师,也包括那些修了好几年电机但没认真抠过轴系概念的实践派。

1. “ax by cz”到底是什么:三相绕组轴线的基础概念

1.1 从电机里最朴素的结构说起:绕组和它的“轴线”

想理解 ax、by、cz,得先把“轴线”这个词落到物理结构上去看。一颗常见的永磁无刷电机,定子铁芯上有若干个齿和槽,线圈绕在齿上。以一台 2 极 12 槽电机为例,12 个齿分布在圆周上,每 3 个齿一组由同一相绕组占用,绕线方向交替正反,最后形成三相绕组。每一相绕组的所有线圈,并不是散乱分布的,它们在定子圆周上有一个等效的“中心位置”,这个中心位置的径向方向就叫这一相的轴线。

更直观地说,如果你从电机端面看进去,想象在定子中心画一个圆,A 相绕组线圈产生的磁动势有一个主要指向方向,比如指向 0 度位置;B 相绕组的等效中心就落在另一个方向上;C 相再落在下一个方向上。这三条从圆心射出去的方向线,就是 A、B、C 三相的轴线。我在图上标的习惯是:用一条带箭头的线表示“该相绕组如果单独通入正向电流,会在气隙中建立的磁通方向”,这就是这一相轴线的物理含义。

很多教材说“三相绕组在空间上对称分布、互差 120 度电角度”,说的就是这个三条轴线的夹角关系。不过注意,对于整数槽绕组,三相轴线在机械圆周上并不一定等分 360 度。因为电角度和机械角度之间还隔着一个极对数,这一点我后面会专门展开。先把结论放在这里:ax、by、cz 不是随便编的三个字母,而是 A 相轴、B 相轴、C 相轴的缩写,它们之间的角度关系在电气角度上是互差 120 度。

1.2 ax、by、cz 的命名和容易混淆的地方

我见过的资料里,正式一点的写法是 Axis A、Axis B、Axis C,或者直接标成 A 轴、B 轴、C 轴。而社区、论坛里大家图省事,有人写成 A-axis,顺手简化成 ax;B-axis 写成 by;C-axis 写成 cz。这也解释了为什么看起来像空间直角坐标里的 x、y、z——它们确实借用了字母,但这里的 ax 就是把 a 和 axis 拼在一起,by 是 b 和 axis 的连读,cz 是 c 和 axis 的连读,本质是“a 轴、b 轴、c 轴”的简写。

会有人产生“垂直轴线”的疑问,还有一个原因:很多人接触过运动控制里的笛卡尔坐标系,x 轴和 y 轴天然是 90 度垂直关系,顺手就把 ax、by、cz 里的 x、y、z 当作三维空间里的三个方向。但电机里这套三相轴线和机械直角坐标系完全不同,它描述的是一组电气空间矢量方向,而且三相之间是 120 度的等间隔关系。如果你用“互相垂直”的想法去套,很多控制代码里的坐标变换会对不上号,实验现象也会很离谱。

这里还要提醒一个容易混淆的点:“相”和“轴线”不是一个层次的概念。A 相绕组是一组物理线圈,它在电机里有好几段、分布在多个齿上;而 “A 相轴线” 是这组线圈的等效磁动势方向。所以你说“找出 A 相轴线”时,不是拿万用表找一根特殊导线,而是通过绕组的分布位置和绕向综合判断出来的方向。实际工程里,我们往往不去纠结谁天生是 A 相,而是先任意命名三根线为 A、B、C,再通过观测反电动势波形或转子转动方向来确认它们的轴线顺序。

2. 核心问题拆解:为什么是 120°,不是垂直 90°

2.1 三相平衡系统的基本约定:互差 120° 电角度

要回答“是不是按垂直轴线划分的”,先把三相电的底层逻辑翻出来。无论是电网里的三相交流电,还是三相无刷电机里的三相绕组,都遵循同一个基础约定:A、B、C 三相信号在时间相位上互差 120 度电角度,而且三相幅值相等、频率相同。把这个约定从时间域映射到空间域,就得到三相绕组的轴线在空间上也互差 120 度电角度。

为什么是 120 度而不是 90 度或 60 度?有三个原因值得说。第一,三相系统想实现对称运行,空间上的三相矢量必须等间隔分布。一个完整的 360 度电角度周期,三等分就是每相 120 度。第二,120 度的轴系安排能让三相绕组产生的合成旋转磁动势是一个恒定幅值的圆形旋转磁场,这是电机平稳转动的基础。打个比方,三个人双手互握围成等边三角形,站得稳;如果有人站成直角 L 形,整组结构就不对称,力的合成效果也偏。第三,三相瞬时功率能保持恒定,转矩脉动小,这对电机控制非常友好。

所以严谨地说,ax、by、cz 三条轴线在电气角度上是等分的:选定 A 相轴(ax)为 0 度基准,B 相轴(by)滞后 120 度电角度,C 相轴(cz)再滞后 120 度电角度。整一圈 360 度电角度刚好被划分成三段。这和“垂直轴线划分”完全不沾边。

2.2 真正“垂直”的坐标系:αβ 坐标系与 dq 旋转坐标系

那为什么总会有人提到垂直轴线?因为在电机控制里,确实存在两组互相垂直 90 度的轴系,而且它们非常重要。第一组是两相静止坐标系,叫 αβ 坐标系,α 轴和 β 轴在空间上相差 90 度电角度;第二组是转子旋转坐标系,叫 dq 坐标系,d 轴(直轴)和 q 轴(交轴)同样相差 90 度电角度,但随转子位置一起旋转。

这三套坐标系的关系是:三相静止轴系 ax、by、cz(A/B/C 轴)是原始系统;αβ 是经过 Clarke 变换从三相静止投影到两相静止的“垂直分轴”;dq 是再经过 Park 变换把 αβ 变到跟随转子旋转的两相垂直轴上。控制程序里的 FOC 算法,本质上就是在这些轴系里来回切换,最终把复杂的交流量变成类似直流系统的 d、q 分量,方便用 PI 控制器处理。

所以当你听到“垂直轴线”时,大概率是有人在说 αβ 轴或 dq 轴,而不是说三相绕组轴。ax、by、cz 是 120 度划分;αβ 和 dq 才是 90 度划分。这两个概念混一起,就会出现你看到的那个疑问:明明记得控制框图里有垂直的轴线,怎么三相绕组又不是垂直的?答案是,它们根本是两个不同阶段的坐标系统。三相绕组永远保持空间电气 120 度,只有经过坐标变换后,两相轴系才会变成 90 度垂直的关系。FOC 的核心流程,就是先把 120 度三相轴坐标变换到 90 度两相轴,再把两相旋转坐标里的电流解耦成直流量。

2.3 极对数介入:120° 电角度对应多少机械角度

还有一个问题非常关键:对于常见的多极无刷电机,三相轴线在机械上并不差 120 度。这里要先明确两个单位:电气角度和机械角度。电角度用来描述磁场变化周期,一对磁极对应的范围是 360 度电角度;机械角度就是电机转子实际转过的空间角度,整圈 360 度机械角度就是一圈。二者的换算公式很简单:

电角度 = 机械角度 × 极对数 p

拿实际电机举例:2 极电机 p = 1,一圈机械角度等于一圈电角度,三相轴线互差 120 度电角度,恰好也等于 120 度机械角度,想象起来最容易。4 极电机 p = 2,一圈机械角度等于两圈电角度,那么 120 度电角度只对应 60 度机械角度,也就是说 B 相轴和 A 相轴在定子圆周上只隔 60 度。6 极电机 p = 3,一组 N/S 极对占 360 度电角度,120 度电角度只对应 40 度机械角度。

我用一个表格把这组对照关系列出来,方便大家查:

极数极对数 p一圈对应电角度120° 电角度对应机械角度直观印象
21360°120.0°常规想象
42720°60.0°轴线密集
631080°40.0°更密集
841440°30.0°交替绕法常见

所以如果你拿量角器去量一台 1820 电机(4 极)的三相绕组轴线,发现它们之间只有 60 度甚至更小,别惊讶,这不是电机坏了,只是电角度和机械角度的换算没绕明白。这也是很多新手拿机械结构去验证“三相 120°”时怎么都对不上的根本原因。

3. 实操验证:不拆电机也能把三相轴线“量”明白

3.1 示波器看反电动势:最直观的 120° 证明

理论说再多,不如拿示波器看一次波形。手动转动无刷电机转子时,三相绕组切割永磁磁场,会在绕组两端产生反电动势。如果电机是星形接法且中性点引出,直接把示波器三个通道分别接在三根相线上,公共参考夹夹中性点;如果中性点没有引出,可以用三个阻值相同的大功率电阻搭一个虚拟中点,把示波器参考点接到虚拟中点上。

用手匀速转动转子,示波器上会看到三相反电动势波形。BLDC 电机通常是梯形波,PMSM 电机更接近正弦波。无论哪种形状,三个通道的波形在时间轴上一定依次相差 120 度电角度。举例来说,A 相波形到正峰值后,转过 120 度电角度,B 相波形才到正峰值;再转 120 度,C 相波形到正峰值。这就是 ax、by、cz 的相位关系最直观的证明。

操作上有几个要点:第一,转动速度要尽量匀速,否则波形间隔忽大忽小,不好判断;第二,转速不需要快,手拧 5 到 10 秒转一圈就够了,波形频率低反而好观察;第三,看相位差的时候要换算成电角度而不是纯时间。如果示波器频率一秒内出现 4 个完整波峰,而手拨一周只等于两个电气周期,那说明这是一台 4 极电机。波峰之间的时间间隔是 120 度电角度,机械上只有 60 度——这一点换挡时特别容易误判相序。

顺手还能测出极对数:让转子精确转一圈,数一数任意一相反电动势出现了几个完整的正弦周期,这个数就是极对数 p。不需要拆电机,这对后续电调参数设置特别有用。

3.2 霍尔信号:60° 还是 120°?轴线划分的另一种体现

很多无刷电机自带霍尔传感器,三路霍尔输出能反映转子相对三相轴线的位置。霍尔元件在定子上的安装角度不同,输出状态序列不一样。常见有两种安装布局:三个霍尔互差 120 度电角度,或者互差 60 度电角度。注意,这里说的“霍尔 120/60 度”是它们相互之间的角距,不是霍尔和绕组轴线之间的配合关系。霍尔实际安装时往往会有超前角或滞后角优化,但三路霍尔之间的相对角距基本保持 120 度或 60 度两类。

用示波器三个通道接霍尔信号线,用手匀速转转子,观察三路高低电平组合的变化。如果是 120 度安装,三路霍尔输出组合通常是按 1 → 3 → 2 → 6 → 4 → 5 → 1 的顺序循环(具体二进制值跟逻辑定义有关);如果是 60 度安装,状态顺序会不同。通过这一步,你不需要看电机内部结构,就能判断这颗电机的霍尔角距。

更关键的是:霍尔顺序必须和三相绕组轴线顺序匹配。如果 A 相霍尔信号对应的物理轴线其实是 C 相绕组的位置,那么控制器的换相表就是错的,电机轻则噪声大、电流失控,重则堵转抖动。这也是“先看波形、再定相序、后接电调”这条铁律的原因。我自己遇到过一个案例:一台云台电机换向逻辑正确但转起来有明显抖动和金属声,最后发现霍尔线里有一组被对调了。把它们按示波器测量到的实际顺序重新排列后,一切恢复正常。

3.3 转动测试法:没有示波器也能判断相序

手上没示波器的朋友也别急,只靠一块万用表甚至一个稳压电源,也能判断三相轴线顺序。这个方法我称它为“两相通电定位法”。原理很简单:给任意两相绕组通入直流电流,定子线圈会产生一个固定方向的磁动势,永磁转子会转到与该方向对齐的位置。

操作步骤是这样的:先把电机三根相线标记为 A、B、C。第一步,A 接电源正极、B 接负极,给绕组通入一个低压直流,比如 1 安培左右的限流电流,转子会摆到某个位置并停住,把这个位置记下来。第二步,断开电源,改为 B 接正、C 接负,转子会转向一个新的位置。第三步,再改成 C 接正、A 接负,转子又会转到第三个位置。如果三次转动方向是连续绕同一方向转,说明 A、B、C 这个命名顺序对应的轴线顺序就是正确的 ax、by、cz 顺序;如果转子来回跳跃、不按顺序走,说明其中有两相的命名关系反了。

这个方法看着简单,但它在实际调电调时特别有用。无感 FOC 启动前会做一个“电角度对齐”动作,本质上就是给某个方向通电让转子停到零度位置,如果三相轴线定义错了,对齐也白对,启动瞬间就会乱跳。我曾经调试一台 6 槽 4 极的无刷电机,软件里怎么调偏移角都抖,最后用这个办法重新标定了 A/B/C 顺序,一个参数没改,启动就顺了。它不需要贵重的仪器设备,但能解决价值不小的实际问题。

4. 轴线划分在控制算法里的归宿:从三相到两相

4.1 无感方波控制:六个换相点和过零检测

理解了 ax、by、cz 的三相 120 度轴系划分,再去看 BLDC 方波控制,很多设计就通顺了。方波控制也叫六步换相驱动,转子每转过 60 度电角度,逆变器就切换一次导通状态,一个电气周期一共六个状态。每个状态下只有两相绕组导通,第三相处于悬空状态,用来检测反电动势过零点。

为什么是 60 度一步?因为三相绕组轴线把 360 度电角度分成了三段,每两相之间的中点位置又形成了六个边界点。换相时刻通常选在“导通相合成磁动势超前转子位置 30 度”的地方,所以每 60 度电角度换一次相。如果你把三相轴线理解成垂直的 90 度关系,那六个换相点的推导就完全不成立了,PWM 时序会错乱。

实际无感方波还有一个关键点:检测悬空相反电动势过零,需要知道当前是哪一相“悬空”。三相轴线顺序对了,软件换相表才不用每颗电机单独改;轴线顺序一乱,ZeroCross检测到的过零事件全在错误相位,速度反馈、换相角度全部跟着错。所以你在代码里看到的PHASE_A_ON、PHASE_B_ON、PHASE_C_ON这类宏定义,本质上就是 ax、by、cz 六个半桥状态的逻辑映射。

4.2 FOC 里的 Clarke 变换与 Park 变换:120° 轴系是怎么变“垂直”的

FOC 矢量控制是目前更平滑、效率更高的驱动方式。它能在电机上实现类似直流电机的控制效果,靠的就是把三相交流电流变换到旋转的 dq 轴上。第一步是 Clarke 变换,把三相静止 120 度轴系上的电流投影到两相静止 90 度轴系上。采用等幅值 Clarke 变换时,数学关系是这样的:

iα = (2/3) × (ia − 0.5 × ib − 0.5 × ic) iβ = (2/3) × (0.866 × ib − 0.866 × ic)

其中 ia、ib、ic 是实测的三相电流,iα、iβ 就是 αβ 轴上的分量。这一步其实就是把“三根非垂直方向上的向量”用线性组合的方法投影到一个虚拟的直角坐标系里。投影之后,原本互差 120 度的三相电流变成了两个互差 90 度的交流分量。

第二步是 Park 变换,把 αβ 分量跟着转子电角度 θ 旋转到 dq 坐标系:

id = iα × cosθ + iβ × sinθ iq = −iα × sinθ + iβ × cosθ

这里 d 轴与转子磁极轴线对齐,q 轴垂直于 d 轴,两者互差 90 度电角度。经过这两步,三相交流量变成了直流量,PI 控制器就能对转矩电流 iq 和励磁电流 id 分别控制。等你需要输出时,再反着做反 Park 变换和反 Clarke 变换,把 dq 电压指令变回三相 PWM 占空比。

所以你看,FOC 整个算法就是把三相 120 度轴系通过数学变换映射到两相 90 度轴系。前提条件依然是三条轴线互差 120 度且对称。如果电机三相绕组不对称、反电动势波形畸变严重,或者 A/B/C 相序搞错,变换后的 iα、iβ 里会出现很大的负序分量,d、q 轴电流也会出现高频振荡,表现出来的现象就是电流波形乱七八糟、电机发热、转矩脉动大。

4.3 一个真实调机案例:轴线定义反了会怎样

前两年给一台多旋翼测试台做 FOC 驱动板,电机是厂家定制的 10 极外转子电机。初次上电静止标定一切正常,给参考电流后转子也能锁住,但一加速就出现明显的振动,相电流波形呈不对称的钝角畸变,看 d 轴电流像个正弦包络一样周期性跳动。用示波器对比三相电流相位也发现了端倪:B 相电流相对 A 相不是 240 度(或 120 度)的标准间隔,而是大约 60 度。最后用转动测试法重新标定,发现我把这颗电机的 B 相和 C 相在软件里定义反了。

把软件里的相序定义换成“A → C → B”后,同样的电流环参数下,振动消失,电流波形漂亮对称,噪声也明显降低。这个案例说明一个道理:硬件接线可以随便定义 A/B/C 名字,但软件里的换相表必须与物理实际一致。任何“看别人代码抄了一遍相序”的做法都可能在某种电机上翻车,正确流程一定是先用波形验证、再配控制参数。

5. 新手避坑:常见误区与故障排查速查表

5.1 五个高频误区逐个拆

误区一:把 ax、by、cz 当成直角坐标轴的 x、y、z。这是最大的源头错误。ax 是 A-axis 的缩写,不是 a 加 x 方向。三相轴线按电气角度互差 120 度划分,只有 αβ/dq 这类人构造的两相坐标系才按 90 度垂直划分。

误区二:以为三相轴线的机械夹角永远是 120 度。实际上极对数 p 会改变机械角度与电角度的比例。极数越多,三相轴线之间的机械夹角越小。很多新手第一次拿到 4 极无刷电机,发现绕线在圆周上相隔不远,就怀疑电机有问题,其实完全正常。

误区三:认为“霍尔 120 度”就是霍尔轴线垂直。霍尔 120/60 度是三个霍尔元件的相对电角度差,和“垂直”没有任何关系。甚至有些电机采用霍尔超前角,让霍尔信号相对绕组轴线偏移几十度,这都是正常设计。

误区四:把“相序”等同“轴线划分”。相序是 A→B→C 的电气顺序,而轴线划分定义了每个轴的方向;二者互相关联但不是同一回事。实际验证时一定要通过反电动势波形或转动测试两种手段交叉确认,不能只依赖标签。

误区五:觉得随便定义 A/B/C 无所谓。名字可以随便起,但一旦确定后,控制器的换相逻辑、编码器零点、霍热线序都要和这个定义保持一致。否则就会出现换相表“看起来对、实际不对”的灵异现象。我见过有人在两套项目里用了不同的 A/B/C 命名规则,结果复制代码后完全跑不通,就是吃了这个亏。

5.2 常见故障与排查思路速查表

现象大概率原因排查方法
电机上电抖动、不转相序定义错或相线接线反转动测试法重新标定 ax/by/cz 顺序
空载电流大、发热快三相轴线与霍尔换相表不匹配示波器看霍尔与反电动势相位差
反转相序 A/B/C 顺时针/逆时针方向反了交换任意两相,按新相序更新代码
高速振动、电流畸形轴线顺序错或霍尔/编码器零点不对Clarke/Park 波形对比,重新做对准
低速启动无力换相提前角或电流环带宽不合适先确认轴系,再排查控制参数
无感启动反复倒退电角度对齐不准、相序顺序不连续两相通电定位法校准轴系

这张表是我这几年调试经验的压缩版。很多调试问题表面上是“参数没调好”,挖到根上其实是三相轴线定义和物理不对应。先把基本面打牢,再花时间调 PI 参数,否则容易白费几个小时。

5.3 给新手的三个实用习惯建议

第一,拿到一颗新电机,不要急着接电调,先用手拨动转子,用示波器记录三相反电动势波形,顺手算极对数,同时用转动测试法确认 A、B、C 顺序。这个过程五分钟之内就能完成,却能为后续省出很多排查时间。第二,在电机或驱动板上做一个清晰的标签,把你定义的 A、B、C 和霍尔线序直接写上去。很多折腾到半夜的问题,都是因为隔了一周后忘了当初的线序定义。第三,把“轴线划分”“电角度”“极对数”这几个基础概念沉淀成自己的手册。遇到问题先回到这些基础概念上去推理,不要上来就改代码参数。

最后再分享一点实操心得

我做了这么多年电机驱动,最大的体会是:ax、by、cz 这套三相轴线划分,表面看是一个“角度定义”问题,实际上贯穿了电机本体设计、驱动硬件、控制算法三个层面。很多人觉得搞懂这个概念没什么用,直到有一天电机震得工作台快散架才意识到,自己连最基本的相序都没理顺。每次调试遇到“怪现象”,我都会先回到三相轴线和相序上做基本校验,这一招帮我避掉了大量无效加班。

最后分享一个个人很常用的经验:用一台可调稳压电源,限流 1 安培左右,任意接两相通电,转子会锁定到特定角度。记住这个位置后,换另一组相通电,转子会转换角度。如果三次角度变化是连续同向的,那你的 A/B/C 定义就是稳定可用的。这个办法不需要示波器、不需要高级工具,但在关键时候比什么仪器都管用。不论你在做航模电调、机器人关节电机,还是工业伺服,先把三相轴线和相序搞明白,后面所有控制环节都会顺很多。