
做电机驱动的这些年我经常在技术群里看到有人发一句话“直流无刷电机ax by cz怎么划分的是按照垂直轴线划分的么”乍一看很懵但等你把电机控制里那几套坐标轴全部捋顺就会发现这个问题其实戳中了电机理论里最基础、也最容易绕晕的部分——轴系定义。“ax”这个词在电机圈里至少有两层意思一个是 axis轴的缩写一个是 a×叉乘的写法。加上“ by cz”大概率是从某份英文资料里原样扒出来的有人把它看成“a×bc”的向量叉乘有人把它看成 abc 相轴加 xyz 空间轴的混标还有人会联想到数控多轴系统里的 A/B/C 回转轴。不管哪一种“是不是按照垂直轴线划分”才是真正要回答的命题。这篇内容专门把这个轴系问题讲透。我会先拆解“ax by cz”的几种常见来源再把直流无刷电机里的四套轴系——abc 三相绕组轴、αβ 静止坐标轴、dq 旋转坐标轴、xyz 机械空间轴——放在一起对比最后落到“垂直轴线划分”这个判断到底在哪些场景成立附上实操里判断轴方向的方法和踩坑记录。适合两类人看刚入门直流无刷电机和 FOC 控制的嵌入式新手以及被坐标变换和换相逻辑折腾过、想系统整理一遍的驱动工程师。1. “ax by cz”到底在说什么先给三种说法对号入座1.1 说法一向量叉乘 a×bc最像正解的一种解读是“a × b c”这个数学表达式被口语化地写成了“ax by cz”a 叉乘 b 得到 c。在电机、电磁学和力学里这个式子出现频率极高。叉乘的结果 c 是一个向量它的大小等于 |a||b|sinθ方向由右手定则确定。关键就在这里c 的方向永远垂直于 a 和 b 张成的平面。也就是说当你对两个不平行的向量做叉乘得到的第三个向量天然落在前两个向量的“法线方向”上——这就是许多人印象里的“垂直轴线”。如果原问题问的是这个叉乘关系那“按照垂直轴线划分”这个说法是对的而且这是叉乘的几何本质不是人为规定。1.2 说法二abc 相轴和 xyz 空间轴混标另一种解读是电机资料里同时出现了两套命名。三相直流无刷电机的定子绕组通常标为 a、b、c 三相它们之间的空间电角度是 120°这在英文文档里也常写成“a-axis、b-axis、c-axis”而结构尺寸和安装方向上工程师又习惯用 x、y、z 表示三轴空间。把这两个体系硬凑在一起就成了“ax by cz”a 轴、x 轴放一起b 轴、y 轴放一起c 轴、z 轴放一起。问题是abc 相轴和 xyz 空间轴的定义基础完全不一样前者按绕组物理位置划分后者按机械正交方向划分。把它们混着读就会出现“到底按什么划分”的疑惑。1.3 说法三多轴运动控制里的 A/B/C 回转轴在不常见但存在的场景里比如用直流无刷电机做五轴转台或者机械臂关节资料里会出现 x/y/z 三个直线轴加 a/b/c 三个回转轴的写法。A 轴绕 X 轴旋转B 轴绕 Y 轴旋转C 轴绕 Z 轴旋转。这几根轴之间存在严格的垂直约束一轴旋转时其余轴要保持正交关系运动学解算才能解耦。如果提问的人是从这种运动控制系统里看到的“ax by cz”那么答案同样是“是的按垂直轴线划分”而且不止回转轴之间要垂直回转轴和它绕着的直线轴本身就是同一条空间直线。1.4 为什么大家只记住了“垂直”不管是叉乘的法线方向、αβ/dq 坐标轴的正交性还是 xyz 直角坐标系90°垂直关系在电机和运动控制里无处不在。而 abc 三相轴的 120°分布反而容易被忽略。结果就是“垂直轴线”成为最高频的记忆锚点遇到轴系问题下意识就会往垂直上想。这个直觉一半对、一半错具体哪套轴垂直、哪套轴不垂直下一节把四套轴系并列出来就清楚了。2. 直流无刷电机里的四套轴系哪些垂直哪些不垂直2.1 第一套定子三相绕组的 abc 轴120°平分直流无刷电机的定子上有三相绕组结构上它们在空间里均匀分布。对最常见的三相绕组来说三相轴线之间相隔的电角度是 120°也就是一圈 360° 被三相平分。ABC 三相轴形成一个对称的 Y 型或三角型连接的等效绕组结构彼此之间不是 90°而是 120°。这套轴系的“划分”依据是绕组的实际物理摆放位置跟垂直没有关系。三相绕组分别通电后各自产生一个磁场分量合成出来的磁场是一个旋转磁场。三相电流大小随时间按正弦变化合成磁动势的幅值基本恒定、方向连续旋转——这是直流无刷电机能转起来的根本原因。理解这套轴系是为了后面引出坐标变换。2.2 第二套静止的 αβ 轴正交关系从这里开始三相轴虽然是 120° 分布控制算法却不喜欢处理三相互相倾斜的坐标。于是 Clarke 变换把 abc 三相投影到两相静止坐标系上得到 α 轴和 β 轴。α 轴通常与 a 轴重合β 轴与 α 轴差 90° 电角度两轴正交。所以严格说“直流无刷电机里有互相垂直的轴”这一说法最早是从 αβ 静止坐标系开始的。这里要注意的细节是变换的比例系数功率不变约束下要乘 √(2/3)幅值不变约束下要乘 2/3写代码前必须先确定用哪一种否则电流环的增益标定会整体偏移。我在项目里习惯用幅值不变的形式调参直观观测波形也方便。2.3 第三套跟着转子转的 dq 轴垂直是定义强制要求的FOC 的核心是 Park 变换把静止的 αβ 轴变换到随转子旋转的 dq 坐标系。d 轴对准转子磁极的方向q 轴逆时针超前 d 轴 90° 电角度。dq 轴垂直不是测量出来的而是定义里就规定的。这套轴系的价值在于交流量变成直流量id 管励磁、iq 管转矩控制逻辑变得和直流电机一样简单。表面贴式永磁电机通常把 id 控到 0让全部电流都去出力矩内嵌式电机则会利用 id 做弱磁或者磁阻转矩。d 轴与转子磁极对齐是标定工作的重中之重如果角度不对id 和 iq 会串扰转矩输出直接打折。q 轴的英文 quadrature 本身就是“正交”的意思这个名字已经把垂直关系写在脸上了。2.4 第四套机械装配里的 xyz 空间轴最后一套轴系属于机械范畴。电机安装到系统里一般约定输出轴方向为 Z 轴或按右手定则定义径向两个方向为 X、Y三者互为 90°。这套轴系的划分依据是机械结构和安装基准跟电机的电磁轴没有直接关系但电磁产生的转矩方向、轴承受力方向、负载惯性张量这些分析都要落在 xyz 里做。四套轴系放一起看“垂直”只在 αβ、dq、xyz 里成立abc 相轴是 120°。很多人在群里争“直流无刷电机的轴到底是不是垂直”其实是没说明白讨论的是哪一套轴。常见轴系对照速览轴系名称划分依据轴间夹角是否垂直主要用途abc 相轴定子绕组物理位置120° 电角度否三相通电、反电动势分析αβ 静止轴Clarke 变换投影90° 电角度是磁链观测、SVPWM 扇区判断dq 旋转轴转子磁极方向定义90° 电角度是FOC 电流环解耦控制xyz 空间轴机械装配基准90° 机械角是结构受力、安装定位3. 垂直轴线这个答案对在哪、错在哪3.1 叉乘的几何真相第三轴必然垂直于前两个轴回到“ax by cz”最核心的数学问题。设有两个不共线的向量 a 和 b叉乘 a×b 得到向量 c。c 的模长是 ab 张成平行四边形面积的数值方向同时垂直于 a 和 b也就是垂直于整个 ab 平面。用右手定则四指从 a 转向 b转过小于 180° 的那个方向拇指指向就是 c。这个性质不依赖任何物理场景纯粹是三维空间叉乘的几何定义。所以如果问题问的是 a×bc 这层关系“按照垂直轴线划分”是完全成立的——c 轴就是 ab 平面的法线方向或者说垂直轴线。3.2 电机里的叉乘电磁转矩为什么“横着”发力叉乘在直流无刷电机里不是纸面公式它就是出力原理本身。载流导体在磁场中受的洛伦兹力 F q(v×B)力的方向同时垂直于电流方向和磁场方向。转子半径方向 r 和切向力 F 再做一次叉乘得到沿轴向的转矩 T r×F。做一个简单的方向推导定子磁场沿 α 轴正方向转子导体电流沿 Z 轴方向则导体受力落在 β 轴方向正好是切向力。切向力乘半径转矩沿轴向输出。这就是为什么定子磁场和转子磁场的夹角越接近 90° 电角度单位电流能产生的转矩越大——正弦波驱动的 BLDC 和 FOC 都在努力维持这个正交关系。六步换相方波驱动以 60° 为步进跳变平均角度差也能保证转矩但转矩波动明显比 FOC 大。3.3 哪些场景“垂直划分”不成立最容易误导人的地方在于有人把“垂直轴线划分”推广到 abc 相轴上。abc 三相轴之间明明是 120° 电角度机械角度还要再除以极对数根本测不到 90°。如果按垂直轴去理解三相绕组的位置关系控制算法和接线判断都会出问题。还有一个容易翻车的地方叉乘结果垂直但垂直方向有两个右手定则只是规定了其中一个。数学上 a×b 和 b×a 方向相反写代码或按线缆接线时如果搞反了顺序电机就会反转或者堵转。“按垂直轴划分”只说对了方向属于法线没说清是哪一侧法线——这一侧的选择必须靠右手定则不能靠感觉。4. 实操拿到一台直流无刷电机怎么把轴系定出来4.1 从出线和霍尔找 abc 相序实际拿到电机第一件事是确定哪根线是 a 相、哪根是 b 相、哪根是 c 相。正规电机出厂会标 U/V/W 或 A/B/C但国产散件和二手电机经常乱标。用万用表电阻档可以直接量任意两相之间的绕组电阻应相等三相呈对称关系。如果电机带霍尔传感器三个霍尔输出按转子位置给出组合编码。霍尔安装间隔有 60° 和 120° 两种对应不同的换相表。上电后用示波器或者逻辑分析仪同时抓三路霍尔慢速手转转子记录六个有效状态和两个无效状态000 与 111根据状态顺序就能推出霍尔电角度序列进而确定相序方向。这块做反了六步换相表怎么填都转不顺。4.2 FOC 调机前怎么标定 αβ 和 dq 轴FOC 项目里最关键的标定是把 d 轴和编码器零点对齐。常用的方法是“定向锁定法”给电机注入一个固定方向的电流矢量比如让 id 为一个设定值、iq 为 0相当于在静止坐标系里固定一个磁场方向。转子会被吸到与该方向对齐的位置即 d 轴跟随注入矢量。转子稳定后读取编码器角度把这个角度记录为编码器零位偏移量。之后所有 Park 变换的角度都减去这个偏移量dq 轴就和转子磁极严格绑定。实测下来这个操作误差能控制在 1° 电角度以内够多数舵机和小功率电机使用。要注意注入电流不能太大否则转子定位时可能带着转子在平衡点附近振荡我一般用额定电流的 10% 到 20%。4.3 机械安装时 xyz 轴的约定结构装配阶段先约定输出轴朝前为 Z 正方向右手定则确定 X 和 Y。对大多数伺服电机和云台电机说明书里的径向载荷、轴向载荷、安装孔位置都基于这套轴系。安装时如果电机轴线没有和机械转轴严格同轴XYZ 轴定义就会失真运行中会多出附加弯矩和振动。这个误差肉眼往往看不出来用千分表打同轴度才靠谱。5. 常见问题速查与踩坑实录5.1 轴系问题 FAQ 速查表问题结论abc 三相轴夹角是多少120° 电角度不是 90°不是垂直αβ 两相静止轴垂直吗垂直90° 电角度由 Clarke 变换构造dq 轴垂直吗垂直q 轴由定义超前 d 轴 90°a×bc 中的 c 轴在哪个方向垂直 ab 平面方向按右手定则极对数对角度划分有什么影响电角度 机械角度 × 极对数120° 电角度对应的机械角度随极对数变化霍尔 60° 和 120° 安装区别在哪换相表不同霍尔状态顺序不同接线顺序不能混用xyz 轴和 abc 轴可以一一对应吗不能直接对应两套轴体系定义基础不同5.2 我踩过的几个坑第一个坑是早期做 FOC 时编码器零位偏移量方向搞反。注入 d 轴电流锁定转子后我把读取到的角度当作正向偏移直接减结果 q 轴电流和 d 轴电流串得一塌糊涂转矩只有标定正确时的一半。最后把示波器接在相电流上拉电流幅值对比才定位到问题——符号反了。第二个坑是霍尔序列顺序想当然。三相霍尔输出按 A、B、C 接线但不代表逻辑顺序就是 ab、bc、ca。有的电机霍尔间隔 120° 电角度有的 60°同一状态组合在不同电机里可能对应完全不同的换相步骤。正确做法是用手缓慢转动转子把完整状态序列录下来再对照标准换相表确认。第三个坑和“垂直”这个直觉有关。我一度以为绕组空间角必定是规则的 120°结果发现不同极对数的电机120° 电角度对应到机械角上可能是 120°/极对数。比如 4 对极电机三相绕组实际机械间隔是 30°用直尺一量差点怀疑电机绕线错。关注机械角度时一定先确认极对数再下结论。最后分享一点经验整套轴系折腾多了我的体会是与其背公式不如先画图。拿一张纸把 abc 三相轴画成 120°再画 αβ 直角坐标再画 dq 旋转坐标最后标上 xyz 机械方向每个项目开工前花十分钟把这图画一遍后面调控制、查故障都能少绕很多弯路。“ax by cz”这种看上去像暗号一样的写法本质就是轴系命名在不同的体系里撞了车搞清楚四套轴各自的分工垂直不垂直的问题自然就有答案了。