1. 电机电磁性能仿真到底在算什么
1.1 从“电机模型”到“电磁性能”的映射关系
很多人第一次打开 Ansys Maxwell 的时候,面对那个空荡荡的模型树是懵的。定子、转子、绕组、气隙、永磁体,这些在图纸上看得见摸得着的东西,怎么变成软件里一堆材料属性和边界条件?我刚开始做电机仿真那会儿,也在这个环节卡了很久。后来才想明白一件事:Maxwell 本质上是一个求解麦克斯韦方程组的数值计算工具,它不关心你的电机长什么样,它只关心你给它的几何区域里,电流密度、磁导率、电导率是怎么分布的。
所以“电机电磁性能仿真”这件事,翻译成操作语言就是:把电机的物理结构,抽象成一组带材料属性的几何模型,加上激励源和边界条件,让求解器去算空间各点的磁场分布,再从磁场结果里提取出我们真正关心的性能指标。这些指标包括但不限于:空载反电动势波形、齿槽转矩、负载转矩、铁芯损耗、绕组电感、效率 Map 图。
这里有一个认知门槛需要跨过去:Maxwell 算的是场,不是路。电路里的那些集中参数模型,比如等效磁路法,是把电机简化成磁阻和磁动势的网络,算得快但精度有限。Maxwell 是直接把整个求解域剖分成百万量级的网格单元,逐个单元求解磁场方程。这就是为什么它慢,也是为什么它准。
1.2 哪些人真正需要做电磁仿真
不是所有做电机的人都需要跑 Maxwell。我见过不少团队,产品迭代周期短,直接拿经验公式和样机测试就能搞定,上仿真反而是拖累。但以下几种场景,电磁仿真几乎是绕不开的:
- 永磁同步电机设计:永磁体的形状、充磁方向、极弧系数对反电动势波形和齿槽转矩影响极大,靠手算根本搞不定。
- 高速电机:转速上万转以后,铁芯损耗和转子涡流损耗急剧上升,必须用瞬态场求解器配合损耗分离模型来评估。
- 直线电机:定位精度和推力波动直接受边端效应和法向力影响,二维仿真甚至三维仿真才能看清端部磁场畸变。
- 电机控制算法开发:做 FOC 矢量控制需要准确的 dq 轴电感和磁链参数,这些参数随电流饱和变化,查表法的基础数据就来自 Maxwell 的参数化扫描。
如果你正在做上述任何一类工作,那 Maxwell 的电磁性能仿真就不是“锦上添花”,而是“雪中送炭”。
1.3 仿真流程的全局视角
在动手操作之前,脑子里要先有一张完整的流程图。我习惯把它分成五个阶段:
- 几何建模:在 Maxwell 自带的 Modeler 里画,或者从 SpaceClaim、SolidWorks 导入。这一步决定了后续所有计算的物理真实性。
- 材料定义:硅钢片的 B-H 曲线、永磁体的退磁曲线、铜线的电导率,每一个参数都会直接影响结果。
- 激励与边界:绕组怎么通电、外电路怎么接、求解域边界怎么设,这是新手最容易出错的地方。
- 网格剖分与求解:自适应网格加密策略、时间步长选择、收敛判据设置,直接决定仿真能不能跑完以及跑得准不准。
- 后处理与参数提取:从场图里看磁密分布,从瞬态结果里提取反电动势和转矩波形,从损耗曲线里算效率。
这五个阶段环环相扣,任何一个环节出问题,结果都可能是垃圾。下面我逐个拆开讲,把踩过的坑和总结的技巧都倒出来。
2. 几何建模与材料定义的关键细节
2.1 建模阶段最容易犯的三个错误
第一个错误是气隙处理不当。Maxwell 二维仿真里,气隙是定转子之间唯一的非材料区域,它的网格质量直接决定转矩计算精度。我见过有人把气隙画得特别小,觉得这样更接近真实,结果网格剖分失败。正确的做法是:气隙区域单独建一个 Band 对象,用于瞬态求解时的运动设置,气隙本身的物理间隙按实际尺寸画,但网格剖分时对这个区域做加密控制。
第二个错误是绕组端部简化过度。二维仿真天然无法考虑端部绕组,所以算出来的电阻和电感跟实际有偏差。我的经验是:在二维仿真里把绕组端部的影响折算成端部漏电感,加在外电路里补偿。具体做法是先用经验公式估算端部漏感,然后在 Maxwell Circuit 里串联一个集中电感。这样反电动势波形基本不受影响,但电流相位和转矩会有明显改善。
第三个错误是求解域太小。有些教程说求解域取电机外径的 1.2 倍就够了,但实测下来,对于永磁电机,求解域至少要到外径的 1.5 倍以上,否则磁力线在边界处被截断,导致磁密分布失真。如果电机外部有金属机壳,求解域还要再放大。
2.2 材料库的建立与 B-H 曲线输入
Maxwell 自带的材料库里有常见的硅钢片型号,比如 M19、M27、M36 等,但实际项目中用到的材料往往不在库里。这时候就需要手动输入 B-H 曲线。
B-H 曲线的数据来源一般是硅钢片厂商提供的 datasheet,通常是一组离散的 (H, B) 点。输入的时候要注意单位:Maxwell 默认用的是国际单位制,H 的单位是 A/m,B 的单位是 Tesla。有些 datasheet 给的是 Oe 和 Gauss,需要换算。换算关系是 1 Oe = 79.577 A/m,1 Gauss = 0.0001 T。
注意:B-H 曲线在低 H 区域的斜率决定了初始磁导率,在高 H 区域的饱和点决定了最大磁密。如果曲线输入有误,空载反电动势的波形畸变率会明显偏大。
永磁体的退磁曲线同样关键。钕铁硼材料在高温下退磁曲线会拐弯,如果仿真时只输入常温下的线性段,高温工况下的退磁风险就完全看不出来。我的做法是:对每个工作温度点单独建一个材料,命名上标注温度,比如 NdFeB_80C、NdFeB_120C,仿真时根据实际工况切换。
2.3 绕组模型的等效处理
Maxwell 里建立绕组有两种方式:实体绕组和简化绕组。实体绕组是把每匝铜线都画出来,精度最高但网格量巨大,一般只用于小型电机或单槽模型。简化绕组是把整个槽内的导体等效成一个矩形区域,赋予铜的材料属性,然后通过激励设置来控制电流密度。
对于大多数工程应用,简化绕组就够了。但有几个细节要注意:
- 槽满率要折算成等效电导率。如果实际槽满率是 0.75,那等效铜区的电导率要乘以 0.75。
- 绕组的并联支路数要在外电路里体现,不能在几何里简单合并。
- 如果是扁线电机,集肤效应和邻近效应显著,需要用实体绕组或者引入交流电阻修正系数。
我通常的做法是:先简化绕组跑一遍,看反电动势和转矩是否合理,如果跟理论估算偏差超过 10%,再考虑细化绕组模型。
3. 激励设置与边界条件的实操要点
3.1 外电路的正确搭建方式
Maxwell 的瞬态场求解器支持外电路激励,这是做电机负载仿真和控制系统联合仿真的基础。外电路在 Maxwell Circuit Editor 里搭建,然后通过 Assign Excitation 里的 External 选项关联到绕组上。
搭建外电路时,有几个参数必须跟几何模型对应:
| 参数 | 几何模型中的对应 | 常见错误 |
|---|---|---|
| 绕组匝数 | 简化绕组的匝数设置 | 外电路里再乘一次匝数 |
| 并联支路 | 几何里不体现 | 外电路里漏设支路 |
| 初始位置 | 转子初始角度 | 与运动设置不一致 |
| 电阻 | 端部电阻折算 | 忽略温度修正 |
我踩过最坑的一次是:几何里设置了 20 匝,外电路里又设了一个 20 匝的匝数比,结果反电动势直接翻了 20 倍。排查了半天才发现是重复设置。
对于做 FOC 控制的同行,外电路里可以直接搭三相逆变器模型,用 PWM 信号驱动,这样能仿真出电流谐波和转矩脉动。但计算量会大幅增加,建议先用理想电流源跑通,再上逆变器。
3.2 边界条件的选取逻辑
Maxwell 二维仿真里常用的边界条件有四种:
- Vector Potential(矢量磁位):默认边界,一般用在求解域的外边界,表示磁力线平行于边界。
- Master/Slave(主从边界):用于周期性模型,比如只建一个极对的电机,通过主从边界模拟整个电机。
- Balloon(气球边界):用于模拟无限远边界,适合求解域不够大的情况。
- Symmetry(对称边界):用于利用几何对称性减小模型规模。
选择哪种边界,取决于你的模型规模和计算资源。如果电机有 8 极 48 槽,利用周期性可以只建 1/8 模型,计算量直接降到 1/8。但要注意:主从边界要求几何和网格在主从面上完全对应,否则会报错。
提示:使用主从边界时,建议在建模阶段就用镜像或旋转复制的方式生成从边界面的几何,确保节点一一对应。
3.3 运动设置与时间步长选择
瞬态场求解器需要设置转子的运动。在 Model 里选中 Band 对象,Assign Band,设置旋转方向和转速。转速可以用恒定值,也可以用表达式跟时间关联,比如模拟启动过程。
时间步长的选择是个技术活。步长太大,反电动势波形失真;步长太小,计算时间爆炸。我的经验公式是:
时间步长 ≤ 1 / (20 × 基波频率 × 极对数)
举个例子:一台 4 极电机,基波频率 50 Hz,极对数 2,那时间步长应该 ≤ 1 / (20 × 50 × 2) = 0.0005 秒,也就是 0.5 毫秒。实际设置时我一般取 0.2 毫秒,留足余量。
如果要做齿槽转矩分析,时间步长还要更小,因为齿槽转矩的周期跟槽数和极数的最小公倍数有关。对于 48 槽 8 极电机,齿槽转矩周期是 1/24 个电周期,步长要能分辨这个周期。
4. 网格剖分策略与求解效率优化
4.1 自适应网格加密的取舍
Maxwell 默认开启自适应网格加密,求解器会自动在磁场变化剧烈的区域加密网格,直到能量误差收敛到设定值。这个功能对新手很友好,但有几个坑:
- 自适应加密次数不宜过多。默认 6 次,我一般改成 3 到 4 次。因为加密到后面,网格量翻倍但精度提升有限,计算时间却线性增长。
- 气隙区域的网格要手动控制。自适应加密有时候会忽略气隙,导致转矩计算波动。我习惯在气隙 Band 上手动设置最大单元边长,一般取气隙长度的 1/3。
- 永磁体边角处要加密。永磁体的边角是磁场奇点,自适应加密会重点照顾,但如果初始网格太粗,可能收敛到错误的局部极值。
4.2 计算速度慢的排查思路
“Ansys Maxwell 仿真很慢”是搜索热词里的高频问题。我总结了几条排查路径:
- 检查网格量:在 Solution Data 里看总单元数。二维模型超过 50 万单元就要警惕了,三维模型超过 200 万单元基本跑不动。
- 检查时间步数:瞬态仿真如果设了几万个时间步,那肯定慢。先跑一个电周期看看波形对不对,再决定要不要跑多周期。
- 检查求解器设置:非线性求解的迭代次数、残差判据都会影响速度。有时候把残差从 1e-5 放宽到 1e-4,结果变化不大但速度快一倍。
- 检查硬件:Maxwell 对内存带宽敏感,建议至少 32 GB 内存,SSD 硬盘。如果做三维仿真,64 GB 起步。
我实测过一台 8 极 48 槽永磁电机,二维瞬态仿真一个电周期,网格量 15 万,时间步 200 步,在 16 核 32 线程工作站上跑了大约 12 分钟。如果网格量翻倍到 30 万,时间会增加到 40 分钟以上。所以控制网格量是提速的关键。
4.3 利用对称性减小模型规模
对于周期性对称的电机,利用主从边界可以大幅减小模型。但要注意:主从边界要求几何和网格在主从面上完全匹配。如果几何是用旋转复制生成的,网格一般能匹配;如果是分别画的,很可能不匹配。
另一种对称性是半周期对称,适用于某些特定极槽配合的电机。比如 8 极 48 槽,最小对称单元是 1/8 模型。但如果电机有奇数槽,比如 9 槽 8 极,最小对称单元就是整个电机,没法简化。
注意:使用对称边界后,后处理里的场图只显示部分模型,需要做周期延拓才能看到完整磁场分布。Maxwell 的 Field Overlay 功能可以自动完成这个操作。
5. 后处理与性能参数提取
5.1 反电动势波形的正确提取方法
反电动势是电机电磁性能的核心指标之一。在 Maxwell 里提取反电动势有两种方式:
- 直接在场计算器里对绕组区域做磁链积分,然后对时间求导。
- 在外电路里串联一个电压表,直接读取端电压。
第一种方式更灵活,可以提取单匝磁链、相磁链等中间量。第二种方式更直观,适合跟实测波形对比。
提取反电动势时要注意:空载反电动势和负载反电动势是两回事。空载时没有电枢反应,反电动势波形接近理想正弦或梯形;负载时电枢反应会畸变磁场,反电动势波形会变化。做控制算法开发时,需要的是负载工况下的反电动势,因为 FOC 的磁链观测器依赖这个波形。
我通常的做法是:先跑空载,确认反电动势幅值和波形畸变率符合设计预期;再跑负载,看电枢反应对波形的影响。如果负载反电动势畸变严重,说明绕组设计或永磁体布置有问题。
5.2 转矩波形的分解与齿槽转矩分离
转矩波形里混杂了多种成分:平均转矩、齿槽转矩、纹波转矩。做性能评估时,需要把它们分离开。
- 平均转矩:对稳态后的转矩波形取时间平均。
- 齿槽转矩:空载工况下的转矩波动,跟电流无关,只跟永磁体和齿槽结构有关。
- 纹波转矩:负载工况下由电流谐波和反电动势谐波相互作用产生。
分离方法:先跑空载,得到齿槽转矩波形;再跑负载,得到总转矩波形;总转矩减去齿槽转矩,剩下的就是纹波转矩。
齿槽转矩的幅值通常用峰峰值表示,好的设计能控制在额定转矩的 1% 以内。如果超过 3%,说明极弧系数或槽口宽度需要优化。
5.3 损耗计算与效率 Map 生成
铁芯损耗用 Bertotti 模型计算,分为磁滞损耗、涡流损耗和异常损耗三部分。Maxwell 里需要输入三个损耗系数:Kh、Kc、Ke,这些系数从硅钢片厂商的损耗曲线拟合得到。
铜损就是 I²R,但要注意交流电阻和直流电阻的区别。高频工况下集肤效应显著,交流电阻可能是直流电阻的 1.5 倍以上。
效率 Map 的生成需要扫描不同转速和转矩工况,每个工况跑一次瞬态仿真,计算量很大。我的做法是:先用磁路法快速估算效率 Map,找出高效区和低效区,然后在关键工况点用 Maxwell 精细计算,修正 Map 的边界。
6. 常见问题排查与避坑经验
6.1 求解不收敛的典型原因
| 现象 | 可能原因 | 解决方法 |
|---|---|---|
| 残差震荡不下降 | 网格质量差 | 检查气隙和永磁体边角网格 |
| 报错“Matrix is singular” | 边界条件冲突 | 检查主从边界是否匹配 |
| 转矩结果周期性跳变 | 时间步长太大 | 减小步长至基波周期的 1/100 |
| 反电动势幅值异常 | 匝数或并联支路设置错误 | 核对几何和外电路设置 |
| 求解中途崩溃 | 内存不足 | 减小模型规模或增加内存 |
6.2 从 Workbench 里找 Maxwell 的正确姿势
很多人问“Ansys Workbench 里怎么找 Maxwell”。答案是:Maxwell 不是 Workbench 的原生组件,需要通过 Ansys Electronics Desktop 启动。如果你装了 Ansys Electronics Suite,Maxwell 是独立的一个模块,不在 Workbench 的 Toolbox 里。
如果要做多物理场耦合,比如电磁-热耦合,可以在 Maxwell 里算完损耗,然后把损耗映射到 Workbench 的 Steady-State Thermal 或 Icepak 里做热分析。映射的时候要注意网格匹配,Maxwell 的网格和热分析的网格通常不一样,需要用 Mapping 功能做插值。
6.3 学生版与商业版的功能差异
Ansys EM 学生版有节点数限制,二维模型最多 3 万个网格节点,三维模型更少。对于小型电机或单槽模型够用,但整机仿真基本跑不动。如果只是学习软件操作和基本流程,学生版没问题;如果要出工程结果,还是得用商业版。
另外,学生版不支持并行计算,求解速度会慢很多。我建议学生党先用学生版熟悉操作,等到了实际项目再上商业版。
6.4 参数化扫描与优化设计
Maxwell 支持参数化扫描,可以把永磁体厚度、极弧系数、槽口宽度等设为变量,批量计算不同参数组合下的性能。这是做优化设计的核心功能。
我的经验是:先做灵敏度分析,再做优化。灵敏度分析就是每次只变一个参数,看性能指标的变化幅度。找出最敏感的参数后,再对这些参数做多目标优化。如果一上来就全参数扫描,计算量会大到无法承受。
优化目标通常是:最大化平均转矩、最小化齿槽转矩、最小化转矩脉动。这三个目标往往互相矛盾,需要用 Pareto 前沿分析找折中方案。
7. 从仿真到实测的闭环验证
7.1 仿真结果与实测偏差的来源分析
仿真跟实测有偏差是正常的,关键是要知道偏差从哪来。常见的偏差来源:
- 材料参数不准:硅钢片的 B-H 曲线和损耗系数跟实际批次有差异。
- 制造公差:气隙不均匀、永磁体充磁不一致、绕组匝数偏差。
- 端部效应:二维仿真无法考虑端部绕组和端部漏磁。
- 温度影响:仿真时材料参数是常温值,实测时电机已经热了。
我的做法是:仿真时留 10% 到 15% 的裕量,然后用实测数据反推修正系数。比如实测反电动势比仿真低 8%,那下次仿真时就把永磁体剩磁调低 8%。
7.2 直线电机的定位精度与重复精度测试
直线电机的电磁仿真跟旋转电机类似,但多了边端效应和法向力的问题。定位精度和重复精度的测试方法:
- 定位精度:给定目标位置,测量实际停止位置,多次测量的平均值与目标值的偏差。
- 重复精度:同一目标位置多次往返,测量每次停止位置的离散程度。
仿真时可以通过瞬态分析提取推力波动和法向力波动,这两个指标直接影响定位精度。如果推力波动大,定位时容易过冲或振荡。
7.3 仿真指导下的电机控制参数整定
做 FOC 控制时,d 轴和 q 轴电感是关键参数。这两个参数随电流变化,用 Maxwell 做参数化扫描可以得到 Ld-Id-Iq 和 Lq-Id-Iq 的三维查表数据。把这些数据导入 Simulink 或实际控制器里,能显著提高电流环的响应精度。
我试过用 Maxwell 提取的 Ld、Lq 查表数据做 MTPA 控制,跟用固定电感值相比,转矩输出提高了约 5%,电流谐波也小了很多。这个收益在电动汽车驱动电机上非常可观。
8. 一些提高效率的私房技巧
8.1 用脚本自动化重复操作
Maxwell 支持 IronPython 脚本,可以把建模、材料赋值、激励设置、求解、后处理全流程写成脚本。对于需要反复修改参数的项目,脚本能节省大量时间。
我常用的脚本功能包括:批量修改永磁体充磁方向、批量提取反电动势谐波幅值、批量导出转矩波形到 CSV。这些操作手动做一次要几分钟,脚本几秒钟就搞定。
8.2 合理利用对称性和周期性的组合
对于某些极槽配合,可以同时利用半周期对称和周期性对称。比如 8 极 48 槽,先利用半周期对称取 1/2 模型,再利用周期性取 1/8,最终模型只有 1/16。但要注意:半周期对称要求磁极和绕组都对称,如果绕组是单层交叉式,可能不满足。
8.3 求解器选择:瞬态场还是涡流场
不是所有问题都需要瞬态场。如果只关心稳态性能,比如额定工况下的转矩和损耗,用涡流场求解器(Eddy Current)配合运动设置也能算,速度快很多。瞬态场主要用于分析启动过程、故障工况、电流谐波影响。
我的建议是:先用涡流场快速评估设计方案,确认可行后再用瞬态场做精细分析。这样能把计算资源花在刀刃上。
8.4 后处理里的场图查看技巧
“Maxwell 查看某一点的场图”是常见需求。在 Field Overlay 里可以创建点、线、面的场图。查看某一点的磁密随时间变化,需要先在几何里创建一个 Point,然后在 Transient 结果里选择该点的 B 场分量,就能得到时域波形。
如果要看某个截面的磁密分布,创建一个 Plane,在 Field Overlay 里选择该平面,设置显示 B 的幅值或矢量图。矢量图能直观看到磁力线走向,幅值图能看出饱和区域。
9. 写在最后的一些个人体会
做电机电磁仿真这些年,最大的感受是:软件操作只是冰山一角,真正决定仿真质量的是对电机物理本质的理解。你可以把 Maxwell 的每个按钮都点一遍,但如果不知道为什么要设这个边界条件、为什么要选这个时间步长,结果就是一堆漂亮的彩色云图,没有任何工程价值。
另一个体会是:仿真跟实测的闭环非常重要。我见过太多人仿真做完就完了,从来不跟实测对比。这样做的后果是,你不知道自己的仿真模型有多少误差,下次做新项目还是凭感觉设参数。只有不断用实测数据修正仿真模型,才能让仿真真正成为设计工具,而不是演示工具。
最后说一个容易被忽视的点:仿真报告的撰写。很多人仿真做得很漂亮,但报告写得一塌糊涂,别人看不懂你算了什么、结论是什么。我的习惯是:每张场图下面标注工况和关键数值,每条曲线标注坐标轴单位和物理含义,每个结论都附上数据支撑。这样即使过了半年再回头看,也能快速回忆起当时的分析思路。
电机电磁性能仿真这条路,入门容易精通难。但只要抓住“物理本质-数学描述-数值实现-工程验证”这条主线,一步一步走扎实,总能从新手变成老手。