ARTICLE · INTELLIGENCE

战地情报 · 详情页

来自尧图项目组的一线实战观察与深度解析

直流无刷电机ax by cz怎么划分?详解三种轴含义与垂直轴线误区

直流无刷电机ax by cz怎么划分?详解三种轴含义与垂直轴线误区

搞直流无刷电机的人,十有八九都对着“ax by cz”这几个字母发过呆。最近我又看到有人搜“直流无刷电机 ax by cz 怎么划分的,是按照垂直轴线划分的么”,这个搜索词的问法特别典型——拿一台三线无刷电机,对着A/B/C三根线,满脑子都是初中数学课上的XYZ坐标轴,一度以为它们之间非要垂直不可。后来在实际调机里踩过几次坑,才算彻底明白:ax by cz在电机和运动控制这两个圈子里,至少有三层完全不同的含义。这篇东西我就按实际项目里最常用的顺序,一层层拆给你看,争取让你看完之后,下次再遇到类似表述,第一时间就能说出它到底指哪个“轴”。

1. 三种“ax by cz”:坐标轴、相序轴、通道轴先分清

先说结论:ax by cz并不是一个官方统一的标准写法。它更像一个“缩略黑话”,不同语境下指的是完全不同的东西。常见的有下面三种。

1.1 机械运动坐标系里的X/Y/Z轴

这是最常规的理解。在数控机床、三轴点胶机、桌面3D打印机、直角坐标机械臂这类设备里,X轴、Y轴、Z轴代表三个空间方向的直线运动轴。教科书上把它们画成三个互相垂直的方向,老老实实按右手定则排列。这时候说“按垂直轴线划分”,基本没问题——机械结构上,三个轴确实安装成正交布局,直线导轨一条横着、一条纵着、一条竖着。

但是要注意,机械上“正交”不等于运动学上“绝对独立”。后面我会专门讲非正交机构的坑,这里先记住一个概念:只要设备本身是典型的十字平台加Z轴升降结构,那么X/Y/Z就是按空间三维划分的,三条轴彼此垂直,属于“垂直轴线”划分。

1.2 无刷电机绕组里的A/B/C相序轴

如果这几个字母出现在电机本体的接线端子、驱动器接线图或相电流表里,那它就是另一回事了。直流无刷电机内部一般有三组绕组,工程上习惯叫A相、B相、C相,也有人用U/V/W表示。这三相绕组在定子铁芯槽里是等角度分布的,彼此相差120°电角度,而不是什么垂直关系。

这个A/B/C和空间XYZ坐标轴没有任何关系,它是电气上的“相序”概念。电机要转起来,必须按A-B-C或A-C-B的顺序轮流给绕组通电,产生一个旋转磁场,转子跟着磁场跑。别说垂直了,三相绕组要是真按90°装,电机反而没法正常运行。

1.3 控制器/驱动器里的轴号通道

还有第三种。不少多轴运动控制器、伺服驱动器里面,习惯把“轴”叫成AX1、AX2、AX3,或者AXIS0、AXIS1、AXIS2。这时候“ax by cz”更像是工程文档里的轴号缩写,比如A轴对应旋转轴、B轴对应第二直线轴、C轴对应夹爪旋转轴。它只是给每个运动通道编了个号,轴之间是否垂直、是不是空间正交,完全取决于你外接的机械结构。

1.4 怎么快速判断到底是哪一种

说实话,光看“ax by cz”三个字母,谁都不敢拍胸脯说是唯一答案。我自己常用的判断方法有两条。

第一条看出现位置。如果这几个字母印在电机线标签、驱动器端子图、相电流波形图上,优先按相序轴A/B/C理解;如果是在机床操作界面、PLC点位表、定位程序代码里,优先按坐标轴或轴通道理解;如果是在六轴机械手的运动学说明里,那多半就是关节轴号,轴和轴之间根本不是垂直关系。

第二条看“垂直轴线”这个词。一旦问法里出现了“垂直”“正交”“三维坐标”这些词,那基本可以确定对方说的是空间坐标系的划分,也就是X/Y/Z三轴。因为只有空间坐标轴才讲究三条轴互相垂直,相序轴和通道轴都不会提垂直不垂直。

表示方式出现位置典型含义是否互相垂直
x/y/z位置图、控制代码、机械结构图直线运动坐标轴标准正交布局下垂直
a/b/c电机绕组、驱动器接线三相绕组相序不是,彼此相差120°
ax1/by/cz控制器轴号、PLC点位运动控制通道取决于机械结构

2. 电机内部的“轴”不是位置轴:三相绕组和d/q轴到底怎么回事

既然提到了无刷电机的A/B/C相,顺着就得说说电机内部那些听起来很像“轴”的概念。因为很多人把“电机的轴”和“机械运动的轴”混在一起,一问就露馅。

2.1 三相绕组是怎么排的

直流无刷电机和永磁同步电机在结构上非常接近。定子上开有若干个槽,三相绕组嵌在槽里。以最常用的三对极电机为例,转子每转一圈,对应三个完整的电气周期。三相绕组在空间上并不互相垂直,而是按照电机极对数均匀分布,每个相带占一定的角度,组合起来形成一个旋转磁场。

如果拿示波器看三个相位,你会发现A相、B相、C相电流的正弦波依次相差120°。它们能产生合力,推动转子连续旋转。你要是非把这三个相“按垂直轴线划分”,那得到的电机模型会完全失真,电流闭环、换向逻辑全都会乱。

2.2 电角度和机械角度为什么不能混着用

这里有个特别容易踩的坑:电机程序里设置的很多角度参数是“电角度”,而不是“机械角度”。关系式很简单:

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

比如一个四极电机,极对数是2,转子转半圈,电气上已经跑完一个完整周期,也就是360°电角度。很多新手写矢量控制程序时,把电角度和机械角度搞混,结果电流环计算出来的夹角完全不对,电机运行起来嗡嗡响、扭矩忽大忽小。

轴划分也一样。如果你在推导三相ABC坐标系到两相坐标系的变换关系,那里面讲的都是电气角度,不能拿卡尺去量定子绕组机械上是不是90°。

2.3 矢量控制里的d轴和q轴

矢量控制是直流无刷电机高性能控制的主流方法,里面有一个很重要的“旋转坐标轴”概念:d轴和q轴。经过Clarke变换把三相ABC变成两相α/β静止坐标,再用Park变换旋转到转子坐标系,得到d轴和q轴两个正交分量。

d轴是直轴,跟转子磁极中心线对齐;q轴是交轴,在电气方向上领先d轴90°。搞控制的人都知道,一般用id控制励磁分量,用iq控制转矩分量。d/q轴在数学上确实是互相垂直的,但它们垂直的场所是“磁场坐标系”,不是机械空间里的XYZ。如果你把d轴当成设备里的某个纵向导轨方向,那就大错特错了。

所以回到那个热词问题:直流无刷电机的“轴”有好几套,有绕组相序轴A/B/C,有磁场坐标系里的d/q轴,也有设备上的运动坐标轴X/Y/Z。每一套都叫“轴”,但划分规则完全不一样。问“是不是按垂直轴线划分”之前,得先把这套轴到底属于哪一种说清楚。

3. “垂直轴线”的说法从哪里来:X/Y/Z坐标系的软件约定

既然题目里明确问到了“垂直轴线”,接下来重点拆一拆空间坐标轴X/Y/Z到底是怎么规定的。

3.1 从右手定则说起

建立空间坐标系时,默认做法是取一个原点,然后按右手定则确定三条轴的方向。右手拇指指向X正方向,食指指向Y正方向,中指弯曲指向Z正方向。这个规定保证了X/Y/Z两两垂直,也就是所谓“正交坐标系”。

放到实际设备上,习惯上把工作台左右方向叫X,前后方向叫Y,上下升降方向叫Z。Z轴往往就是“垂直轴”,因为设备地基是水平的,Z轴竖直向上。所以“垂直轴线”这个提法,严格说是指Z轴本身跟地面垂直,而X/Y/Z三条轴之间是互相垂直。

3.2 数控机床里还有A轴、B轴、C轴

如果你去看五轴加工中心的操作手册,会发现坐标轴写得更全:除了X/Y/Z三条直线轴,还有A、B、C三条旋转轴。A轴绕X轴旋转,B轴绕Y轴旋转,C轴绕Z轴旋转。这个写法在ISO标准和国标里都有定义。

这时候“ax by cz”就有了另一种解释:a轴、b轴、c轴,分别代表绕不同坐标轴转动的旋转轴。旋转轴不再是直线上的“垂直不垂直”问题,而是“绕哪个直线轴转”的问题。比如一个回转工作台绕Z轴转,那它就是C轴;如果工作台能绕X轴摆起来,那它就是A轴。

3.3 垂直轴线划分成立吗

如果你把“ax by cz”理解成空间里的X/Y/Z轴,那答案基本是:是的,标准坐标系里的三条轴是按垂直轴线划分的,三条直线轴两两垂直,并且定义Z轴时通常会带上竖直或法线方向的含义。

但如果你把“ax by cz”理解成三相绕组A/B/C,那答案就不是垂直轴线,而是120°电角度均分。提问里说“是按照垂直轴线划分的么”,说明提问者脑子里已经有空间坐标系的概念,这种直觉绝大多数情况下是把坐标轴理解对了,只是不确定电机里的轴跟坐标轴是不是一回事。

我做项目时经常碰到用户发来一张电机接线照片,然后问“这三根线不是垂直角度装的吗,怎么转起来不对”。其实那三根线在机械结构上根本不是按垂直布局装的,它们是电气相位的出口,在接线图里画成120°夹角,纯属示意。

4. 实际定轴实操:从选型参数到原点方向,一整套流程

说完了概念,落到实际调试上。不管你是给三轴平台配电机,还是给一个多轴专机定义运动行程,定轴这件事都有一套必须走完的流程。这套流程我在现场跑过无数遍,漏掉任何一步,后面都会踩大坑。

4.1 第一步:先定机械坐标系原点

机器的坐标系原点不是控制软件自动生成的,是你在机械结构上选出来的。一般取三条导轨的零位交汇点,或者取某个限位开关触发位置。定原点时要注意:原点最好落在行程范围内,并且加工时工件和机构不会跑出原点位置。

如果设备带有绝对式编码器,原点可以直接写入电机或驱动器内部;如果用的是增量式编码器,那每次开机必须先执行回零动作。很多人忽略回零方向,结果限位撞坏了才想起来,原点方向跟回零方向必须匹配。

4.2 第二步:定义各轴正方向

机械原点定了之后,正方向怎么定义也很关键。基本原则仍然是右手定则:人在操作面看,X轴向右为正,Y轴向操作者方向为正,Z轴向上为正。这个方向定义要写进程序设计里,无论PLC还是运动控制卡里,轴的正方向都必须跟机械实际运动方向一致。

如果方向反了,电机一通就猛往限位方向跑,轻则报警,重则撞机。我习惯的做法是:先把电机和机构脱开,手动转动电机确认编码器计数方向,再带上机构单独点动测试。用程序点动时,先输入特别小的脉冲,比如10个脉冲,观察运动方向是否符合定义,确认再继续加大。

4.3 第三步:做驱动器和控制器的轴映射

多轴系统里,物理上的X轴不一定接在驱动器通道0上,Y轴也不一定接在通道1上,这取决于布线习惯和现场安排。所以控制器里必须有一张“轴映射表”,把逻辑轴号映射到实际驱动器通道号和电机编号。

一张典型的三轴映射表长这样:

逻辑轴名控制器轴号驱动器通道电机型号减速比每转脉冲数
X轴AXIS01号驱动57A步进/伺服1:12000
Y轴AXIS12号驱动57A步进/伺服1:24000
Z轴AXIS23号驱动86A步进/伺服1:12000

映射表不要只写纸面上,要写进程序配置文件里。我见过不少现场,硬件接好了,软件里轴号和机械轴名对不上,发个X轴正方向指令,结果Y轴动了,非专业人士还真不容易发现。

4.4 第四步:设置电子齿轮比和运动参数

直流无刷电机用伺服驱动器时,位置控制除了要看编码器每转脉冲数,还要看电子齿轮比。电子齿轮比简单的理解就是控制指令脉冲数跟电机实际反馈脉冲数的换算比例。

举一个例子:驱动器编码器是2500线,4倍频后每转10000个脉冲;你希望每10000个脉冲让电机转一圈,那电子齿轮比分子分母都设成1就行。如果你希望20000个脉冲转一圈,速度和分辨率可以提高一倍,那就要把指令脉冲倍率分子设成1,分母设成2。这里要特别注意单位和符号,不同品牌驱动器的电子齿轮比定义方向不一样,有的是“指令脉冲/编码器反馈”,有的是反过来,看手册时别看反。

4.5 第五步:方向、限位、回零联动验证

参数设置完必须做联动验证。我习惯的顺序是:先单轴点动,依次验证X、Y、Z各轴正反向;然后手动触发正限位和负限位,确认限位信号能触发报警;接着执行回零动作,观察回零方向、回零速度、回零偏移是否正常;最后做一个“画对角直线”的联合测试,比如从原点向(100,100,50)这个点同时三轴插补,看终端轨迹是否是一条直线。

这一步能够暴露多轴同步问题,比如某轴回程间隙大、某轴皮带松、某轴零点漂移。只有联动验证通过,才敢说这台机器的轴定义是靠谱的。

5. 不是所有轴都老老实实垂直:非正交轴系与并联运动学

上一节讲的是常规X/Y/Z正交直角坐标系。但工程现场还有一大类设备,机械轴之间并不满足互相垂直,软件里依然按“轴”来管理。这里就得专门说说“垂直轴线”这个说法的局限性。

5.1 传动结构不垂直,但控制器依然叫它X/Y轴

典型例子是龙门式结构、CoreXY结构的3D打印机,以及部分带倾斜工位台的专机。机械结构上,一个电机驱动皮带控制X方向,另一个电机控制Y方向,但皮带走向可能并不是标准的垂直导轨布局,比如CoreXY结构里,X和Y的移动量是由两个电机的组合运动合成的。

从控制器的角度看,第一轴、第二轴仍然以正交坐标的名义下发指令。真正负责把X/Y目标位置换算成两台电机各自应转动量的,是运动学换算公式。换句话说,物理轴不垂直,但你在程序里操作的是虚拟的“正交坐标轴”,控制器帮你做了数学上的转换。

5.2 Delta并联机械臂:三个轴全不垂直

六轴机械臂也好,Delta并联机械臂也好,关节轴之间的几何关系根本不遵守垂直轴线定义。每个关节的转动会同时影响末端执行器在X、Y、Z三个坐标上的位置。这种设备你去看手册,照样把每个关节标成J1、J2、J3,或者Axis1、Axis2、Axis3。轴号之间没有任何“垂直”关系,它们只是依次排布的不同运动副。

因此,如果你遇到的问题是“ax by cz怎么划分”,先要确认设备是直角坐标机构还是关节型机构。前者可以谈垂直轴,后者只能谈关节轴号。

5.3 双电机共轴怎么算

另一个常见的“轴划分”困惑来自双驱动龙门。为了消除龙门偏斜,很多设备在同一个物理轴上装两台电机,一台主一台从,或者一左一右分别驱动两根丝杠但共用同一个逻辑轴。这时候“一个轴”里面其实有两个驱动器、两个编码器、两套动力。

调试双驱结构时,如果只在软件里定义一个逻辑轴,但把两台电机分别映射到AXIS0和AXIS1,程序下发的运动指令会让两边同时跑同一份运动曲线,这会出问题,除非控制器专门支持主从或龙门同步功能。我见过有人把两台电机分别当成X1和X2两个独立逻辑轴来用,结果龙门一跑起来就开始偏,最后几度划伤加工件。龙门双驱的处理方式应该是:设一个逻辑X轴,两个驱动轴跟随主轴数据,并且在两轴中间加偏差检测量。

5.4 现场处理非正交轴的一个思路

遇到机械轴不是垂直布置的设备,先不要纠结“按不按垂直轴线划分”,而是把问题拆成两层:

第一层是“机械轴坐标”,也就是实际丝杠、导轨、电机驱动的方向。按实际安装量测角度,记录每个物理轴的零点、行程、方向,这个数据是设备固有的。

第二层是“逻辑运动坐标”,也就是你编程和定义工件位置用的笛卡尔坐标。所有控制动作在这个坐标系里下发,然后靠逆运动学换算到各个机械轴。

只要把这两层拆开,垂直不垂直就不重要了。控制器只管把逻辑坐标变成机械轴位置,机械轴之间哪怕成45°夹角,一样能走到目标位置。只不过换算公式里多一个角度的正余弦,精度校准也更麻烦一些。

6. 这类“半截问题”的判断方法:一个可直接套用的思考框架

写了一大篇,其实很多人最后关心的还是那句话:直流无刷电机ax by cz到底按不按垂直轴线划分?我给你一个更直接的回答,同时也是我每次分析这种模糊问题时的思考框架。

先看在哪个层面提问。如果是在数学、几何、机床坐标系层面谈“ax by cz”,那它们通常就是按垂直轴线划分的——X/Y/Z两两正交,符合右手定则,Z轴常常还垂直于设备底座。如果是在无刷电机的绕组接线层面谈“A/B/C”,那它们就不是垂直轴线,而是相差120°电角度的三相绕组。如果是在多轴控制器的轴号层面谈“AX1、AX2、AX3”,那划分规则完全由外接机械决定,可能是垂直的,也可能完全不垂直。

这一步想清楚了,再去看上下文里的关键证据。有没有提到“三相”“相线”“120°”?有就往相序轴靠。有没有提到“机床”“平台”“行程”“回零”?有就往坐标轴靠。有没有提到“关节”“机械臂”“主从”“龙门”?有就往通道轴和运动学靠。

最后留一句实际的提醒:在现场调电机时,最怕的就是拿着坐标系的思维去理解相序轴,又拿着相序轴的思维去设置控制器轴映射。不同“轴”的划分规则不同,不是统一按垂直轴线分的。你做判断时,宁可先多花十分钟翻翻手册,也不要靠一个模棱两可的答案就往下接线。等设备真正转起来,你会发现提前把“轴”的概念分清楚,比后面反复断电重启省的时间多得多。

RELATED READING

延伸阅读

更多一线实战笔记与深度复盘,助您持续精进