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/mB 的单位是 Tesla。有些 datasheet 给的是 Oe 和 Gauss需要换算。换算关系是 1 Oe 79.577 A/m1 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 SuiteMaxwell 是独立的一个模块不在 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 的每个按钮都点一遍但如果不知道为什么要设这个边界条件、为什么要选这个时间步长结果就是一堆漂亮的彩色云图没有任何工程价值。另一个体会是仿真跟实测的闭环非常重要。我见过太多人仿真做完就完了从来不跟实测对比。这样做的后果是你不知道自己的仿真模型有多少误差下次做新项目还是凭感觉设参数。只有不断用实测数据修正仿真模型才能让仿真真正成为设计工具而不是演示工具。最后说一个容易被忽视的点仿真报告的撰写。很多人仿真做得很漂亮但报告写得一塌糊涂别人看不懂你算了什么、结论是什么。我的习惯是每张场图下面标注工况和关键数值每条曲线标注坐标轴单位和物理含义每个结论都附上数据支撑。这样即使过了半年再回头看也能快速回忆起当时的分析思路。电机电磁性能仿真这条路入门容易精通难。但只要抓住“物理本质-数学描述-数值实现-工程验证”这条主线一步一步走扎实总能从新手变成老手。
