直流无刷电机 ax by cz 怎么划分?我每隔一段时间就会在技术交流群里看到这个问题,尤其当现场同时站着机械工程师、电气工程师和调试工程师的时候,答案往往要来回解释好几轮。第一次被人问“ax”的时候我也愣了一下,因为单独看它像某个电机型号的前缀,但结合“直流无刷电机”和“by cz”一起看,问的其实是多轴运动系统里 A 轴、B 轴、C 轴的划分规则。它的核心问题只浓缩成一句:是不是按相互垂直的轴线来划分?答案是肯定的——A、B、C 三个旋转轴分别围绕 X、Y、Z 三条互相垂直的坐标轴旋转,用右手定则确定正方向。
这篇文章会把这套划分规则从原理讲到实际操作,包括为什么无刷电机会牵扯出轴名、拿到一台电机输出轴怎么判断它是 A 轴还是 C 轴、以及我在真机调试中因为轴名混乱踩过的几个坑。适合正在做转台、机械臂、数控机床改造,或者纯粹被“ax by cz”这个写法绕晕的人看。我不打算堆公式,尽量给现场能直接用的判断方法。
1. 先回答那个最直接的问题:Ax、By、Cz确实是按垂直轴线划分的
1.1 从“轴的花名”说起
A 轴、B 轴、C 轴不是电机专科术语,而是机械运动控制里沿用了几十年的旋转轴命名法。在数控机床、机器人转台、自动化专机里,三个直线移动轴叫 X、Y、Z,它们两两垂直,构成右手笛卡尔坐标系;三个旋转轴叫 A、B、C,分别绕 X、Y、Z 旋转。换句话说,A 轴的正方向定义、零度定义都跟 X 轴绑定,B 轴跟 Y 轴绑定,C 轴跟 Z 轴绑定。因为 X、Y、Z 本身是三条互相垂直的轴线,所以 A、B、C 的划分依据自然也就是这三条垂直轴线——“是按照垂直轴线划分的么”这个问法,严格讲是对的。
我通常用一个表把对应关系固定下来,现场讨论时直接照着说,能省不少口舌:
| 旋转轴名 | 旋转轴线 | 依托的直线轴 | 典型设备场景 |
|---|---|---|---|
| A 轴 | 绕 X 轴线旋转 | X | 五轴摇篮工作台的摆动轴、头部摆动 |
| B 轴 | 绕 Y 轴线旋转 | Y | 卧式加工中心的摆动主轴、俯仰关节 |
| C 轴 | 绕 Z 轴线旋转 | Z | 回转工作台、数控分度盘、转台 |
这里“轴”有两个含义:一个是直线轴 X/Y/Z,代表沿某条直线方向移动;另一个是旋转轴 A/B/C,代表绕某条直线旋转。前者是移动自由度,后者是转动自由度。很多初学者把 A 轴理解成“A 电机轴”或者“A 相绕组”,这是不对的。你拿到一台直流无刷电机,它的输出轴在物理上就是一根圆轴,但它属于 A 轴还是 C 轴,完全取决于它被安装成绕哪条基准轴线旋转,跟电机本身长什么样没关系。
1.2 “垂直”这个词到底卡在哪里
很多人对“垂直轴线”的误解在于,以为 A 轴、B 轴、C 轴三个旋转轴本身是互相垂直的三根看得见的轴,比如像三坐标测量机的三个导轨那样呈直角排列。但旋转轴不是一个杆状实体,它表达的是一种旋转运动的方向,由它围绕的基准轴线决定。基准轴线 X、Y、Z 互相垂直,所以三个旋转轴向量自然互相垂直。这才是“垂直轴线划分”的完整含义。
还有一个容易被绕进去的点:基准坐标系本身不一定是“地面垂直”的。在数控机床行业,Z 轴通常跟主轴方向绑定,卧式加工中心的主轴是水平的,那它的 Z 轴就是水平方向,C 轴绕 Z 旋转,同样也是水平的。换句话说,你判断一个旋转轴叫 C 轴,不是看它“竖直不竖直”,而是看它绕的是不是全局坐标系里的 Z 轴。有些设备装出来歪着摆,只要它的运动学模型里定义了一条 Z 轴线,绕这条线转的就是 C 轴。
正方向用右手定则来统一:右手拇指指向旋转轴的正方向,四指自然弯曲的方向就是该轴角度增大的方向。以 C 轴为例,右手拇指指向 Z 正方向,四指从 X 正方向往 Y 正方向弯过去,所以从 Z 正方向往下看,逆时针为正。这套约定在 ISO 841 里也是默认的,市面上绝大多数伺服驱动、运动控制器的轴方向配置都会遵守。个别的设备文档会把顺时针定义为正,那就必须在轴系定义表里单独改驱动方向参数,不能让软件和机械两套标准各说各话。
2. 直流无刷电机为什么会牵扯出Ax/By/Cz这套坐标系
2.1 电机本体只有一个自由度的真相
直流无刷电机本体只有一根输出轴,能做的动作就是正转、反转和停在某个角度,跟 A/B/C 这三个名字看起来完全不沾边。轴名是外部运动学语义,是设计者根据整机运动赋予电机的“岗位名称”。同一个 BLDC 电机,装到立式转台上绕竖直轴旋转,它是 C 轴电机;拆下来装到俯仰机构上绕水平轴旋转,它可能就变成 A 轴或 B 轴电机。电机没变,岗位变了,轴名就变了。
这个点在实际项目里特别容易造成误会,因为采购清单上明明写的是同一款电机型号,可机械装配图和电气接线图里标的轴名不一样,新人一看就懵了。正确做法是:每个运动轴同时标注两样东西——驱动元件型号和轴名。选型表里通常写成“C 轴电机:某型号 60BLDC,配 1:10 行星减速机”,而不是只写“60BLDC 一台”。轴名定义了这台电机在整机里承担的角色,电机型号定义了它的电气和力矩参数,两者缺一不可。
2.2 相序、霍尔、编码器零点与轴正方向的牵扯
这个坑比想象中深。无刷电机控制器判断“正方向”,依赖的是一整套电角度和转子位置反馈:三相绕组相序决定磁场旋转方向,霍尔传感器或编码器反馈决定换相时序。如果机械安装导致电机输出轴的方向和控制器默认方向不一致,实际表现往往不是“转反了”这么简单,而是上电后不能正常换相,或者换相顺序混乱导致电机抖动、异响、甚至过流报警。
我在调机时遇到过一个转台项目,机械上把同一个 C 轴电机的安装方式做成了镜像。理论上 C 轴仍然绕 Z 轴旋转,但电机壳体左右对调之后,从电机尾端看输出轴的转向和原来相反。如果沿用原来的 FOC 参数,上电后电机霍尔信号正常,但转矩方向判反,转台会死死顶住限位机构,电流持续增大直到驱动器报过载。处理办法有两种:一种是在驱动器里把“电机方向”参数取反,这是软件改法,方便可逆;另一种是交换三相绕组的任意两相线,这是硬件改法,但换线之后霍尔采样时序也要同步重新匹配,否则照样转不顺。我个人的实操习惯是优先用软件方向参数,除非是离线直连驱动电路,否则不要轻易动相线。
无刷电机的“零点”也跟轴名有关系。FOC 控制器在启动前需要知道转子磁极位置,通常通过霍尔、绝对编码器或旋转变压器获取。编码器的零位如果和机械轴的原点不同步,上电显示的角度和实际转台角度会差一个固定偏置,这也就是为什么很多设备回原点时,明明机械到位了,系统却显示 90°、180° 这样的“假角度”。轴系划分不只是定义正方向,还必须定义每个旋转轴在哪个位置是角度零点。A 轴 0° 可以是工作台水平,C 轴 0° 可以是夹具指向前方,这些要靠机械限位、原点开关和编码器零点共同标定,缺一个都不行。
2.3 轴系命名在选型文档里的实际用途
轴名不是图纸上画着好看的,它直接影响电气的选型计算。举一个最直观的例子:五轴加工中心的摇篮转台,A 轴和 C 轴都是无刷力矩电机直驱。A 轴绕 X 轴摆动,工作台带着工件整体仰俯,重力臂随角度变化,峰值力矩出现在工作台转到接近水平、重心离旋转轴线最远的时候,这种轴必须考虑大峰值力矩和断电保持,通常要配抱闸。C 轴绕 Z 轴回转,工作台在水平面内旋转,重力方向跟旋转轴线平行,只要克服摩擦力矩和转动惯量即可,选型重点就变成惯量匹配和角加速度。
如果轴名定义不清,机械工程师按“一个摆动、一个回转”来选型,电气工程师按“轴 1、轴 2”来接线,调试工程师按“电机 A、电机 B”来配参数,三个环节各说各话,最后联调必然乱套。A/B/C 的划分本质上是在整机层面统一坐标系语言,让机械图纸、电气图纸、PLC 程序、触摸屏界面和机器人示教器都指向同一个运动轴。这也是为什么我在项目交底时总会反复强调:先定轴系,再谈电机。
3. 实操判定:面对一台电机,如何判断它是A轴、B轴还是C轴
3.1 三步判定法
拿到一台已经装在设备上的直流无刷电机,不需要看铭牌,按下面三步就能判断它是什么轴:
- 第一步,找全局笛卡尔坐标系。自动化设备一般以设备底座或工作台设一个基准点,X、Y、Z 三条轴线按右手定则标定。如果你手头有电气图纸,通常里面已经画了坐标符号;如果没有,就问机械设计要这个坐标系,不要自己随便拍脑袋定。
- 第二步,看电机输出轴带动的是旋转运动还是直线运动。如果是丝杠、同步带、齿轮齿条这类直线传动机构,那这个轴是 X/Y/Z 直线轴,电机应称为“X 轴电机”,不要叫 A 轴电机。如果是转台、摆头、分度盘这类旋转机构,才进入下一步判断旋转轴线。
- 第三步,盯着旋转机构思考:它围绕哪条基准轴线转?绕 X 轴转是 A 轴,绕 Y 轴转是 B 轴,绕 Z 轴转是 C 轴。最后用右手定则定正方向:拇指指向旋转轴的正方向,四指弯曲方向为正角度方向。
以一台常见的数控转台为例:转台装在工作台面上,旋转轴线竖直向上,跟基准坐标系 Z 轴平行,所以它是 C 轴。从上方往下看,逆时针是角度增加方向。如果这个转台用了蜗轮蜗杆减速,电机输入轴是水平的,电机本身横着装,但它的输出仍然是在驱动一个绕 Z 轴旋转的工作台,所以这台“横着装的无刷电机”依然是 C 轴电机。判断依据是最终被驱动的旋转轴线,不是电机自身输出轴的朝向。这个问题我至少被问过五回,几乎每个第一次接触转台的人都会盯着电机输出轴方向发呆。
3.2 用数控机床和机械臂的实例对照
数控机床上 A/B/C 的应用是最经典的实例。五轴摇篮转台通常这样布置:底座上先有一个绕 X 轴旋转的摆动框架,这是 A 轴;框架里面再放一个绕竖直方向旋转的工作台,这是 C 轴。工件装在工作台上,A 轴负责让工件前仰后合,C 轴负责让工件水平回转,两个轴联动就能实现复杂的五面加工。驱动 A 轴的如果是直驱无刷力矩电机,那它的转子直接连接摆动框架,定子固定在底座侧板,这种结构对电机的峰值力矩和刚度要求很高。
双摆铣头的结构又不一样。主轴头先绕 Z 轴旋转,这是 C 轴;主轴头再绕 Y 轴做俯仰摆动,这是 B 轴。这样一来,车铣复合机床上常见的是 B 轴和 C 轴组合,而不是 A 轴和 C 轴组合。同一个旋转轴命名规则,在不同机床布局下会组合出完全不同的轴系结构,但只要遵循“绕哪条基准轴线旋转就是哪个轴”这条铁律,就不会混乱。
机器人行业稍微特殊一点,六轴工业机器人内部一般叫 J1 到 J6 关节轴,不叫 A/B/C,因为每个关节的相对坐标系都在变化。但在机器人外部轴、变位机、行走轴这些场景,A/B/C 的命名又回来了。比如焊接机器人变位机,绕着基础坐标系 Z 轴旋转的变位机回转台是 C 轴,绕着 Y 轴翻转的定位机构是 B 轴。把外部轴接入 CNC 系统时,CNC 里的 A 轴、B 轴、C 轴地址就要跟这些机械轴一一对应。映射错了,机器人示教的轨迹和实际数控定位就会各跑各的。
3.3 非标准安装方式带来的判断题
现实设备不一定都按教科书姿势摆。有些旋转轴相对基准坐标系做了 45° 倾角,既不完全绕 X,也不完全绕 Y。规范做法是:先看机械结构设计时给它定义的主旋转轴是哪根,在图纸里以那个方向为主轴线命名,同时把安装角 θ 写清楚,运动学正反解时再加一个安装矩阵。如果定义里真没有主次之分,那就按旋转矢量在 X/Y/Z 上的投影大小来判断,投影最大的方向为轴名,并在轴系定义表里注明“实际安装轴线为空间对角线方向”。
还有一种经常被误判的情况:电机驱动的是直线运动机构,但因为减速机输出是旋转的,有人就下意识叫它“A 轴电机”。比如同步带驱动的龙门横梁,电机带动同步带轮旋转,同步带拉动滑台沿 X 方向移动,这个轴的正确叫法是 X 轴,不是 A 轴。旋转电机可以驱动直线自由度,轴名要按最终运动自由度来划分,不能按中间传动环节的运动形式来划分。简单记一句话:X/Y/Z 是“沿轴线移动”的意思,A/B/C 是“绕轴线转动”的意思,传动链中间不管经过什么,只看末端执行件的运动。
4. 我踩过的坑:轴名混乱引发的电机反向、零点丢失和联调翻车
4.1 案例一:镜像安装的A轴方向判反,上电直接顶限位
我调试过一台双边对称的翻转设备,左右各有一个绕 X 轴旋转的摆动机构,设计图纸上左右两边都标成 A 轴,控制器里也开了两个 A 轴映射。调试左边很顺利,回原点、摆动、限位全部正常。右边照抄左边参数上电后,电机一启动就往限位方向顶,电流几秒钟就上去了,驱动器开始报过载。
排查过程比较典型:先怀疑是限位信号接反,互换后故障依旧;再怀疑是电机相序不对,但霍尔信号正常,堵转状态和相序错误的抖动现象完全不同。最后检查编码器方向,发现右边因为机械镜像安装,电机旋转的正方向跟左边相反,而控制器里左右两轴的“方向”参数保持默认一致,右轴的正向运动实际变成了机械负向,才会一路冲向限位。处理是在控制器软件里把右侧 A 轴的方向参数取反,再重新回原点验证。这个案例暴露的问题不是轴名标错,而是同一轴名在不同机械零点、不同镜像方位下,电气正方向必须单独确认。A/B/C 是同一套坐标系下的命名,但不代表所有名字相同的轴参数都相同。
4.2 案例二:控制器Axis映射与机械轴名不一致
运动控制器里往往没有语义化的轴名,只有 Axis0、Axis1、Axis2 这样的逻辑轴号。机器上的机械轴叫 A 轴、C 轴,控制器的逻辑轴叫 Axis0、Axis1,PLC 里又用 Q0.0、Q0.1 这样的点号去控制继电器。三个团队的文档如果不互相翻译,联调的时候就是灾难。
有一次设备改造,原厂把 C 轴电机接到了控制器的 Axis1,后来电气换了一个新驱动器,把线接到 Axis0,机械上的 C 轴标签没变,程序里却让 Axis0 回原点。结果转台以 Axis0 的运动参数执行,曲线全乱了。我后来定了一个规矩,每个项目必须有一张轴映射表,至少包含下面这些列:
| 机械轴名 | 控制器逻辑轴号 | 电机型号 | 驱动器地址 | 编码器分辨率 | 正方向定义 | 原点方式 |
|---|---|---|---|---|---|---|
| A 轴 | Axis0 | 某款 60BLDC | Servo 1 | 4096 线 | 右手定则,绕 X 正向逆时针为正 | 光电开关+Z 脉冲 |
| C 轴 | Axis1 | 某款 80BLDC | Servo 2 | 17 位绝对值 | 右手定则,绕 Z 正向逆时针为正 | 绝对值零点 |
| X 轴 | Axis2 | 某款 57BLDC | Servo 3 | 2500 线 | X 正方向为远离立柱方向 | 行程开关+Z 脉冲 |
这张表在机械装配图、电气接线图、PLC 注释、调试记录里各放一份,任何一个人改线或调整参数,都必须先更新表。省下的时间是惊人的。
4.3 案例三:旋转变压器零点标定和机械原点对不上
有个项目用带旋转变压器的无刷力矩电机直驱 C 轴转台。旋变本身能输出绝对角度,但它的电气零位不一定正好对应转台的机械刻度 0°。第一次装配完,转台对刀时发现系统显示角度和工件实际角度差了约 73.5°,不是整数值,所以一开始还以为是传动件打滑或者编码器坏了。拿着百分表打转台外圆,确认每圈定位都准,再对比旋变角度值和机械刻度,才确定是一个固定偏置。
这类问题的本质是坐标系的“原点”没有对齐。A/B/C 轴的旋转方向是几何定义,但每个轴的角度零点是项目约定:C 轴 0° 是夹具指向前方,A 轴 0° 是工作台水平。旋变或绝对值编码器标定的零位如果是出厂默认的,跟机械约定不一致,就必须在控制器或驱动器里写入一个原点偏置值,把电气零点搬到机械零点上。增量式编码器也一样,回原点开关的安装位置决定了机械零点在哪里,而编码器 Z 脉冲只是提供一个重复精度高的对齐参考。做轴系标定时,方向只是第一步,零点才是真正决定设备好不好用的那一下。
4.4 把轴系定义落到纸面上的一点建议
带过几个多轴设备项目后,我越来越觉得 A/B/C 轴划分本身不复杂,难的是让所有参与者沿用同一套语言。结构工程师在图纸上标了“A 轴”却没画基准坐标系;电气工程师在端子图上写“M1”;机器人工程师在示教器里叫“转台旋转轴”;调试的人按 Axis5 改参数。一圈下来,同一个物理轴至少有四种叫法。不出问题还好,一出问题,光对名字就得对半天。
我现在的习惯是,任何项目启动交底时,第一件事就是定一张《轴系定义表》,内容包括:各轴的机械轴名、对应的直线或旋转性质、绕哪条基准轴旋转、正方向的判断依据、零点约定、驱动电机型号、减速比、限位方式、原点开关位置、控制器逻辑轴号。这张表不需要多专业,但必须唯一。它一旦建立,机械、电气、软件、调试都按这张表执行,A/B/C 划分就从“大家争论的定义题”变成“一条确定的标准答案”。
从真实项目回到最初的问题,“直流无刷电机 ax by cz 怎么划分,是按照垂直轴线划分的么”——这句话现在可以完整回答了:Ax、By、Cz 是 A 轴绕 X 轴线旋转、B 轴绕 Y 轴线旋转、C 轴绕 Z 轴线旋转的缩写写法,划分依据就是三条互相垂直的基准轴线,正方向由右手定则统一。真正在项目里把它用好,靠的不是记住这个定义,而是在每台设备上都建立一套清晰、唯一、共享的轴系约定。我踩过镜像轴判反、逻辑轴映射错、旋变零点没对齐这些坑之后,最深的体会是:轴名定得清楚,后面起码少调三天的试。