直流无刷电机ax by cz三相轴解析:不是垂直轴,而是120°电角度划分

发布时间:2026/11/4 18:35:54
直流无刷电机ax by cz三相轴解析:不是垂直轴,而是120°电角度划分 前阵子有个做运动控制的同行问我直流无刷电机里经常看到“ax by cz”这种轴名写法这三条轴是怎么划分的是不是按垂直轴线分的他说他翻了不少代码变量一会儿是axis_a/axis_b/axis_c一会儿是alpha/beta还有人直接标x/y/z越看越迷糊。这个问题听起来基础但我实际调试FOC时见过太多人卡在这一步坐标轴没想清楚后面Clark变换写错符号、编码器零点对歪、Hall状态表编反最后电机要么转不起来要么抖得跟筛子似的。这篇就把“ax by cz”的划分方式彻底说清楚顺便回答“垂直轴线”这个误区到底出在哪。1. 先把“ax by cz”这串字母拆干净三相轴不是垂直轴1.1 三相绕组空间轴线才是ax/by/cz的物理来源直流无刷电机定子上有三相绕组通常叫A、B、C也有些人叫U、V、W。每一相绕组通上电流之后都会在电机气隙里产生一个磁势这个磁势的有效方向就是这一相的“相轴”。资料里把A相轴写作a-axis缩写就成了axB相轴写成b-axis缩写byC相轴写成c-axis缩写cz。所以ax/by/cz不是随手编的三个符号它们对应的是电机内部三相绕组的物理轴线。这三条轴线在空间上不是垂直的而是两两相隔120°电角度。为什么必须是120°因为三相电流在时间上已经互差120°相位要让三者的合成磁势变成连续旋转的圆形磁场空间上也得对称分布120°。你可以想象三个人站在圆盘边上拉绳子三个人位置均匀隔开发力相位又互相错开合力的方向才能平稳绕圈。如果三个人全挤在一起或者站成垂直十字形合力方向就乱套了。这里有个容易忽略的细节相轴不是某一根导线的方向而是整相绕组等效磁势的中心轴线。电机的线圈是分布在好几个槽里的但合成磁势可以简化成一个轴线方向。所以你在电机端盖上找不到一条物理的“轴”它更像一个矢量方向。1.2 120°是电角度不是机械角度很多新手第一次拿量角器去量电机引出线位置发现三根线之间的机械夹角根本不是120°然后就开始怀疑资料写错了。其实这里差了一个极对数p。无刷电机的转子有多少对磁极电角度周期就是机械角度的p倍。三相轴之间相差的是120°电角度换算成机械角度要除以p。举个例子2极电机极对数p1A相轴和B相轴的机械夹角就是120°4极电机p2机械夹角变成60°14极电机的极对数p7A相轴和B相轴的机械夹角只有约17.1°。很多电动车电机就是14极甚至20极你拿眼睛根本看不出“均匀120°”的分布但它们电气上确实是120°电角度对称。这个概念直接回答热词里的疑问ax/by/cz是按“电角度120°均匀划分”的不是按垂直90°划分。如果哪天你实测到两相之间机械夹角只有几十度先算一下极对数别急着下结论。1.3 命名上的歧义ax/by/cz里的“yz”不是坐标轴为什么那么多人会把ax by cz理解成垂直轴问题出在写法上。ax、by、cz里面刚好带上了x、y、z三个字母很容易让人联想到空间直角坐标系的x轴、y轴、z轴进而觉得ax是x方向、by是y方向、cz是z方向三条轴当然互相垂直。实际上这里的x、y、z只是后缀是“axis”一词的尾字母加简写习惯并不代表笛卡尔坐标方向。更坑的是有些仿真软件和文档里确实会用X、Y、Z来标注三相输入信号。比如MATLAB的Clarke变换模块输入端标的就是X/Y/Z而不是A/B/C。这种标注方式进一步加剧了误解你以为是三维直角坐标实际上它表达的还是三相绕组轴。所以先把结论钉死ax/by/cz本身不是垂直轴它就是一组建模在定子上的、互差120°电角度的三相物理轴。2. “垂直轴线”到底说的是什么αβ轴与dq轴2.1 Clark变换三相120°变成两相90°既然三相轴不是垂直的那控制算法里的“垂直轴”是从哪来的答案是数学变换。三相绕组彼此耦合、又冗余星形接法下IaIbIc0直接做控制很麻烦。于是先做Clark变换把三相电流从abc轴投影到两相静止直角坐标系αβ上。变换后α轴通常与A相轴重合β轴逆时针超前α轴90°电角度。等幅值变换的标准形式是Iα Ia - (1/2)Ib - (1/2)IcIβ (√3/2)(Ib - Ic)从公式能看出来α轴分量的计算方式相当于把三相电流按空间120°方向做矢量合成β轴方向则完全由B、C两相电流的差值决定。做完变换后原来三根互差120°的轴就变成了一组互相垂直、完全解耦的两根轴。信号不再有两相冗余合成矢量的大小和方向可以直接用平面几何方法处理。这里有个工程坑Clark变换有等幅值和等功率两种系数约定。等幅值变换输出电压矢量的幅值直接对应相电压幅值而等功率变换会在系数里多一个√(2/3)。两种写法都没有错但代码里只能选一种而且要跟电流采样增益、后续逆变器调制算法保持一致。经常有人调完电流环发现力矩小了或波形不对最后查出来是等幅值和等功率变换混用了。2.2 Park变换静止垂直轴变成旋转垂直轴Clark变换得到的αβ轴虽然是垂直的但还是静止坐标系转子转一圈αβ轴上的电流依然是正弦波。如果直接拿PI控制器去跟踪正弦参考会有稳态误差控制效果很拉胯。所以还要做Park变换把αβ轴上的交流量变成旋转坐标系dq轴上的直流量。dq坐标系固定在转子上d轴一般取转子永磁体磁链方向q轴超前d轴90°电角度。变换公式大致是Id Iα·cosθ Iβ·sinθIq -Iα·sinθ Iβ·cosθ变换之后稳定运行时Id和Iq都是直流量PI控制器可以做到无静差。Iq对应转矩电流Id对应励磁电流表贴式电机通常把Id控到0内置式电机还要做最大转矩电流比控制。这一层又是两个垂直轴只不过变成了旋转的垂直轴。所以“垂直轴线”这个说法在控制语境下其实指两样东西静止的αβ垂直轴和旋转的dq垂直轴。它们都是数学变换的产物跟电机里真实存在的三相绕组轴不是一回事。2.3 三个坐标系的真实关系一张对比表坐标系轴组成轴间角度参考系主要用途三相静止abc轴ax/by/cz120°电角度定子固定电机实际绕组物理轴采样和输出的原始量两相静止αβ轴α/β90°定子固定Clark变换后的中间量交流信号便于几何合成旋转dq轴d/q90°转子旋转Park变换后的控制量稳态为直流直接做PI看完这张表就清楚ax/by/cz从来都不垂直它们是电机物理结构决定的120°分布αβ轴和dq轴才是真正按90°划分的垂直轴。热词里问“ax by cz是不是按垂直轴线划分”严格回答是“不是”但如果你打算用FOC去做控制算法内部一定会先把三相轴变换到垂直轴上去。物理是三相控制是两相桥梁就是坐标变换。3. 直流无刷电机里两种控制方式对坐标系的使用完全不同3.1 方波六步换向直接切三相轴常规BLDC方波驱动不做什么Clark、Park变换它就是直接操作三相桥臂。控制方式叫六步换向每个电周期走六个状态每个状态里三相桥臂中两相导通、一相悬空每60°电角度切换一步。典型的开关组合如下“上桥”表示上管导通“下桥”表示下管导通“悬空”表示该相上下管都关断步序A相B相C相电流路径步1上桥导通下桥导通悬空A B-步2上桥导通悬空下桥导通A C-步3悬空上桥导通下桥导通B C-步4下桥导通上桥导通悬空B A-步5下桥导通悬空上桥导通C A-步6悬空下桥导通上桥导通C B-方波控制正因为直接用三相轴上的开关状态驱动电机所以相电流是梯形波而不是正弦波合成磁势方向每60°跳变一次扭矩脉动和噪音都比较大。但它的优点是非常简单对控制器性能要求低很多小功率风机、水泵还在用。如果你看到一台无刷电机只是霍尔换向、六步PWM那它全程都没有“垂直轴”参与。它的坐标系就是ax/by/cz三相轴换向表写得多清楚电机就走得多顺。3.2 FOC正弦控制必须先把三相轴换成垂直轴再算FOC则完全是另一套逻辑。它先采样三相电流Ia、Ib、Ic做Clark变换得到Iα、Iβ再做Park变换得到Id、Iq然后分别对Id、Iq做PI调节输出Uq、Ud再经过逆Park变换得到Uα、Uβ最后由SVPWM或正弦PWM把电压矢量还原到三相桥上输出。在FOC的调试界面里你看到的不是“A相电流多大”而是Iq多少、Id多少。你调电流环PI参数调的也是旋转直角坐标系上的控制量。正因为dq轴互相垂直且解耦才能把一个交流电机控制系统拆成类似直流电机的两个独立回路来处理。这比直接在三相轴上做六个状态来回切细腻得多代价是运算量大、对转子位置精度要求高。这里要特别说明即使FOC内部全是垂直轴计算最终作用于电机的仍然是三相桥臂的开关组合真正通电出力还是ax/by/cz三相绕组。数学变换只是把“怎么出力”这件事算得更精准。3.3 从相电流波形看坐标系差异用示波器挂电流探头看相电流一眼就能分辨两种控制方波六步相电流接近梯形波每个电周期有一段平台开关切换处有尖峰换向时有明显的转矩脉动。FOC正弦相电流是连续的正弦波三相互差120°波形干净运行噪音低。如果你在调试FOC时看到相电流不是正弦而是类似梯形的形状多半是电角度不对、编码器零点偏了或者电流环带宽不够。因为从垂直轴坐标系算出来的参考电压本来就是正弦的输出到三相轴上就应该是正弦。4. 工程中最容易踩的坑坐标轴混用与零点对齐4.1 开环定位到底定在哪个角AB-不只是A相轴调试无刷电机时最常用的操作是开环定位给逆变器通一组固定开关组合让转子锁到一个确定位置然后去对齐编码器零点。很多教程直接说“给A相上桥、B相下桥通电转子就停在A相轴上”这句话其实不严谨。实际算一下AB-导通的情况设IaIIb-IIc0代入Clark变换Iα I - (1/2)(-I) - 0 1.5IIβ (√3/2)(0 - (-I)) 0.866I合成矢量角atan2(0.866I, 1.5I)约等于30°再根据定义方向实际上是-30°电角度。也就是说这个开关组合让转子停在A相轴逆时针偏30°的位置而不是A相轴正方向。正确的做法有两种。第一要精确定位到0°电角度需要通过软件给三相注入一组互差120°的电流比如IaIIbIc-I/2让合成电流矢量正好指在α轴正方向。第二如果只做简单标定可以把开环定位停下来的位置直接定义为程序的0电角度但这时你的0°对应的是那个偏30°的合成磁势位置后面Hall和编码器的所有换算都要基于这个自定义零点。我在实际项目里推荐方式二因为简单可靠。但一定要把“这个零点对应的是合成矢量方向不是某相绕组轴线”写进注释里不然过几个月再调试自己都会绕晕。4.2 编码器零点偏移导致的Iq/Id串扰FOC最依赖的东西就是转子电角度θ。如果编码器零点跟A相轴线之间差了一个角度Δθ那么Park变换算出来的Id、Iq就不再是真实的直轴电流和交轴电流而是旋转了Δθ之后的投影。表现出来的症状很典型小电流时电机能转但给大一点的Iq指令Id也跟着跑两个轴互相串扰速度稳定后电流波形有2倍频纹波。校准方法我常用两种一是机械对齐法。先开环定位注意4.1里的偏置然后安装编码器让它在定位点输出一个约定角度比如0度或某个固定值。接着在程序里把这个固定值与标准A相轴之间的角度差写进“电角度偏移量”常量。二是软件标定法。电机低速开环运行给一个固定的小Iq指令在线微调电角度偏移量同时观察Id波形。当Id稳定在0附近、不再随转速波动时偏移量就对了。这个方法特别适合磁编码器或绝对值编码器因为不需要重新机械拆装。有一点非常关键不同代码库对电角度的定义方向不一致。有的写θ_elec 机械角×极对数 偏移量有的写θ_elec 机械角×极对数 - 偏移量符号反了会导致整个FOC是完全正反馈电机一给电流就啸叫。改代码前先画一张坐标系方向图标出d轴和q轴的正方向再对公式。4.3 霍尔状态序列与三相轴对应关系的核对方波控制里霍尔状态表错位是家常便饭。三颗霍尔传感器通常按120°电角度安装输出8种状态实际只用6种。但不同电机厂摆放位置不同状态跳变的顺序和Hall边沿跟反电动势过零点的关系也完全不同。网上抄来的换向表大概率不适合你的电机。我的做法是用逻辑分析仪或示波器同时抓三路Hall信号和A相反电动势。用手缓慢匀速盘转子记录Hall边沿变化顺序以及在每个Hall状态区间里反电动势过零点的位置。然后把真实状态序列整理出来再去填六步换向表。这里有个隐蔽坑霍尔有60°安装和120°安装两种类型。60°安装的三路Hall边沿在电气角度上间隔60°120°安装间隔也是60°不对准确说两者产生的高电平宽度不同状态序列会差一个码。如果你按120°的表去套60°的电机或者反过来电机能空载转但一带负载就顿挫或者正转正常反转错乱。遇到这种情况先确认电机霍尔传感器到底是60°还是120°电气布置再决定状态表。5. 实战排查速查表与调试流程建议5.1 现象、原因与处理对照表现象可能原因检查手段处理方向能转但力矩小、噪音大相序接反、编码器零点偏移、Clark系数错误示波器看相电流波形是否正弦、反电动势过零顺序重新做编码器零点标定核对坐标系定义电流环调不上去Id/Iq互相串扰d/q轴方向定义反、电角度偏移量不对给固定小Iq观察实际转向和Id趋势修正坐标变换符号软件补偿偏角方波控制每60°抖动一次Hall状态表错误或霍尔60°/120°类型搞混逻辑分析仪抓Hall状态和反电动势过零点重新整理Hall状态表FOC能空载运行带载就失步转子位置采样延时、电流环带宽太低看低速带载时Id/Iq波形是否紊乱提高电流环带宽补偿位置采样延迟角高速运行时相电流出现明显削顶母线电压不足、调制比饱和看调制深度是否接近1检查母线电容容量适当降低转速指令这张表是我踩过坑的总结不一定覆盖所有情况但帮你快速定位80%的坐标系相关问题。5.2 一套个人推荐的调试顺序第一先检查电机本体。三相直流电阻是否对称绝缘是否正常。不对称的电机怎么调都是白费功夫。第二示波器测三相反电动势波形。这里不只是看幅度更是要确认顺序是A→B→C还是A→C→B。这个顺序直接决定你后续方向相关代码怎么写。第三开环定位。用固定电流矢量把转子锁住完成编码器或霍尔零点标定。如果是增量式编码器每次上电都要做一次找零或整定。第四电流环小电流闭环。电流环是基础别急着跑速度环。给定一个很小的Iq指令比如额定电流的5%观察Id是否趋近0相电流是否正弦。如果波形不对先查坐标变换和零点。第五速度环中速闭环。看转速波动能不能压得住加载后动态响应如何。这一步主要暴露机械阻尼、负载惯量和编码器分辨率问题。第六带载和高速测试。这里才验证SVPWM调制、死区补偿、高速弱磁这些进阶功能。按照这个顺序每步都确认好了再进下一步整体调试时间反而最短。5.3 新手如何快速建立坐标系直觉别一上来就啃坐标变换矩阵。我的建议是先把定子展开图画一遍把三相绕组的分布画出来标出ax、by、cz三条轴的空间位置然后再在旁边画α轴和β轴标出它们与A相轴的关系。最后画旋转的dq轴用箭头表示转子所在位置。有一个技巧特别好用在调试上位机里把坐标变换前后的矢量全部打印出来画成可视化的相量图。你会直观看到三个相隔120°的电流矢量经过Clark变换后变成一个在αβ平面旋转的合成矢量再经过Park变换后变成两个几乎不动的Id、Iq直流分量。看一遍完整过程比看十篇原理文章都管用。还有就是要接受“坐标系定义可以有方向差异”。不同框架、不同教材里的d轴、q轴正方向定义不完全相同有的q轴超前d轴90°有的滞后90°你只要保证代码内部自洽、物理方向和自己画的图一致就行不要死记硬背公式符号。我自己第一次接触无刷电机控制时也被ax by cz这种写法晃了一下真以为三相轴是x/y/z方向的垂直轴结果按三维直角坐标的思维去推Hall组合怎么算怎么不对。后来把电机拆开对着定子绕线看了一遍又用示波器在线反电动势上过了一次零点才彻底转过弯来。这个事给我最大的教训是控制算法里的坐标轴只有一部分是物理轴大部分是数学轴你脑子里要同时装三套轴系并且随时知道当前调试的关键量到底在哪个轴系上。最后再分享一个实用小技巧每次换控制板或换电机型号先把代码里的Clark/Park变换前后矢量打印出来画一次图亲眼验证一下120°变90°、交流变直流的全过程所有坐标系的困惑都会立刻消失。

关于本文作者

来自尧图内容编辑团队

尧图内容编辑团队 内容团队

尧图内容编辑团队

本文由尧图网络内容编辑团队执笔。团队由资深项目经理、前端工程师与设计师组成,所有内容均来自亲手交付的真实项目,先讲清问题、再给出可落地的解法。尧图深耕北京网站建设十年,服务过京华建材集团、智造科技等各行业客户,把一线经验沉淀为可复用的行业观察。

  • 十年建站经验,覆盖建材、制造、服务、文创等
  • 项目经理把关选题与事实准确性
  • 工程师与设计师联合撰写专业细节
  • 统一编辑规范,保证文风与排版一致
  • 每月复盘转化数据,迭代选题方向

延伸阅读

相关资讯与近期热门内容

深度阅读推荐

建站决策前值得细读的三篇

网站改版的5个关键决策
2024-08-12

网站改版的5个关键决策

什么时候该改版、改到什么程度、如何避免流量掉光,京华建材集团改版复盘给出答案。

获取专属建站方案

看完文章,把您的行业与预算告诉我们,免费获取一份量身定制的官网建设方案与报价。

立即免费咨询