尧图网站设计 尧图网站设计YAOTU DESIGN
ARTICLE DETAIL

资讯详情

深耕网站设计与一线实操的经验洞察。

基于Ansoft Maxwell的Prius永磁同步电机建模与仿真要点

基于Ansoft Maxwell的Prius永磁同步电机建模与仿真要点 简介这是一份关于Ansoft Maxwell 2D电机仿真应用的中文翻译资料以丰田2004年普锐斯混合动力车用内置永磁驱动电机为完整案例展开适合电机设计工程师、仿真工程师及相关专业学生入门Maxwell永磁电机分析。资源为单个PDF文档体积约2.13MB阅读方便目前已有801人浏览学习。文档内容覆盖从软件启动到求解后处理的全流程设置工具栏与工程单位、使用User Defined Primitive创建定子、转子和永磁体模型、指定材料属性、设置主从边界条件并依次演示稳态分析、瞬态分析和齿槽转矩求解等关键步骤。每个操作环节都给出参数表格、菜单路径与模型命名提示引用Oak Ridge国家实验室的实测数据作为参考中文翻译版便于对照英文术语和界面操作。按文档逐步操作即可在Maxwell 2D上复现Prius电机仿真模型系统掌握内置式永磁电机性能评估的完整方法。1. 从一份老 PDF 看懂 Ansoft 在电机仿真里的真实价值如果你在 2024 年之后才接触电机仿真大概率是从 Ansys Maxwell 或者 Motor-CAD 起步的。这时翻出一份名为 Ansoft学习资料之丰田Prius电机中文翻译.pdf 的资料第一反应可能是Ansoft 不是早就被 Ansys 收购了吗这份十多年前的 Prius 电机拆解资料现在还有参考价值吗我的答案是有而且价值比大多数新版教程都高。原因在于这份资料的核心不是软件按钮教学而是一套完整的电机建模思路——从 Prius 的几何尺寸、绕组分布、材料属性到如何把这些参数映射到 Maxwell 的求解模型里。Ansoft 时代奠定的场路耦合分析框架至今仍是 Maxwell 做永磁同步电机仿真的底层逻辑。这篇文章不试图复刻那份 PDF 的全部内容而是顺着它的技术主线把「拿到一份电机资料后如何在 Ansoft/Ansys Maxwell 里从零搭出可收敛、可验证的 Prius 电机模型」这件事讲透。适合正在做永磁同步电机仿真的工程师也适合刚入门想理解 Maxwell 求解原理的人。2. Prius 电机模型的坐标系与几何参数映射2.1 为什么说 Prius 电机的 8 极 48 槽结构是 Maxwell 建模的经典样本丰田 Prius 2004 款所搭载的永磁同步电机其 8 极 48 槽的结构在电机拓扑里属于「整数槽、双层绕组、V 型内置永磁体」的典型组合。这个组合在 Maxwell 里建模时有一个非常舒服的特性极数 8 与槽数 48 的最大公约数是 8意味着每个极对跨越 6 个齿槽电机模型可以缩减为 1/8 模型而不损失精度。对于 Ansoft Maxwell 的 2D 求解器来说模型缩减直接决定了网格数量和求解时长——一份能用的学习资料必须把这一层意图讲明白。实际在 Ansoft 里搭建这个模型时几何参数映射是第一步也是最容易出错的一步。PDF 资料里给出的转子外径、定子内径、气隙长度、磁钢宽度与厚度这些不是随手填进去就完事。你需要区分「机械尺寸」和「磁路有效尺寸」两个概念。比如定子内径在图纸上是 80.4mm但在 Maxwell 里建模时气隙边界要从定子内径往里偏移半个气隙长度转子外径则要往外偏移半个气隙长度——这样气隙区域的网格才能被正确剖分避免因几何重叠导致的自适应网格失败。# 以 RMxprt 导入 Maxwell 2D 时的关键尺寸参数示例单位mm stator_od 134.0 # 定子外径 stator_id 80.4 # 定子内径 rotor_od 79.6 # 转子外径注比定子内径小 0.8形成气隙 rotor_id 30.0 # 转子内径/轴径 magnet_thickness 2.8 # V 型磁钢的单边厚度 magnet_width 32.5 # 磁钢切向宽度这段参数本身不复杂关键在理解它如何映射到 Maxwell 的几何建模里。转子外径 79.6 与定子内径 80.4 之间的 0.8mm 差值就是物理气隙但软件建模时需要在定子内径面与转子外径面之间保留一个完整的 air gap 区域通常用两个圆弧面夹出一个扇形 band 区域这样才能让 motion 组件正确计算旋转带来的磁场变化。如果直接让定子内径面与转子外径面相邻而不建立独立的 band 区域瞬态场求解时转子的旋转运动会因为网格剖分无法更新而报错——这是很多从 RMxprt 一键转换过来的人最容易踩的坑。2.2 坐标选取与旋转轴的设置从 PDF 图纸到 Maxwell 的坐标转换一份设计图纸里给出的坐标系通常以转子轴心为原点但 PDF 里往往还有额外信息定子槽形的坐标点、磁钢 V 形夹角的顶点坐标。如果你原样照抄这些坐标进 Maxwell几乎必然会出现几何偏移。原因很简单——图纸的坐标原点可能落在某个槽的中心线上而 Maxwell 默认以全局坐标原点为旋转轴心。我的做法是先把 PDF 里的所有坐标减去转子中心坐标做一次平移然后确认一个关键角度偏移量让某个齿的中心线与 X 轴对齐。为什么要把齿中心线对齐 X 轴因为 Maxwell 里设置 1/8 模型的周期边界条件时主边界master与从边界slave需要落在相同的几何结构上。若模型以某个齿中心线为对称轴则周期边界条件可以设置为奇对称或偶对称若没有对齐则必须用旋转周期边界虽然也能算但后处理时磁链、反电动势的波形对齐会麻烦很多。Prius 电机的 48 槽在 8 极下每极每相槽数 q 2属于对称度极高的绕组排布1/8 模型下依然保留完整的 2 个槽距边界条件设置不会损失绕组信息。参数图纸典型值Maxwell 建模建议说明转子中心坐标(0, 0) 或偏移值平移到 (0, 0)旋转轴必须过原点定子内径80.4mm建模时保留不偏移与转子外径共同定义气隙齿中心线角度任意对齐到 0° 或 45°/极对简化周期边界设置磁钢 V 形夹角约 100°用顶点坐标约束夹角直接影响凸极率与 reluctance torque2.3 材料属性映射不要直接照抄 BH 曲线PDF 学习资料里通常会附带硅钢片的牌号和磁钢的牌号这是最容易被忽略的部分。Prius 电机定转子硅钢片是 0.35mm 的 35JN210 之类的高牌号无取向硅钢但 Ansoft 自带材料库里的 BH 曲线往往对应的是 M19_29G 之类的美标材料。直接把材料库里的 M19 拖给 Prius 模型算出来的电磁转矩和铁损误差可能在 15% 到 25% 之间原因是两者的饱和点与损耗系数差异明显。我在处理这类资料时会先把 PDF 里的硅钢片牌号记下来再去查对应厂商的 BH 数据手动录入 Maxwell 材料库。录入时有两个细节第一BH 曲线的数据点不要只给到饱和段一定要包含膝点附近的密集采样数据——Maxwell 在非线性求解时膝点附近的插值误差直接影响齿部饱和区的磁密分布第二电导率设置要按实际叠压系数折算Prius 定子叠压系数约 0.95若直接填硅钢片本体电导率涡流损耗会偏高约 5%。磁钢方面Prius 早期版本使用钕铁硼 N36H 或类似牌号剩磁约 1.18T 到 1.23T。Ansoft 材料库里的 NdFe35 剩磁大约是 1.23T 但矫顽力偏低。最稳妥的做法是在材料编辑器里新建一个自定义磁钢材料输入 PDF 给的实际剩磁与矫顽力并把退磁曲线第二象限的数据完整录入这样在过载工况下仿真退磁才有一点点可信度。3. 绕组设置与激励加载从中文翻译 PDF 到可求解的 Maxwell 电路3.1 双层绕组的分相策略与线圈连接Prius 电机定子是双层绕组48 槽每槽两个线圈边总线圈数 48每极每相槽数 q 2。在 Ansoft 里设置绕组时会遇到第一个选择题用 Maxwell 自带的绕组编辑器Winding还是用 RMxprt 里的自动绕组生成。区别在于RMxprt 自动生成适合初步估算但用 PDF 里的实际绕线图手动设置更适合精确建模尤其是需要查看匝间短路、缺相这类故障工况时——自动生成的绕组无法单独修改某一匝的激励属性。手动设置时我通常先在 Excel 里列出每槽的绕组分配表。Prius 的 48 槽双层绕组在 1/8 模型里只包含 6 个槽每个槽有两个线圈边分别属于不同相。比如槽 1 的上层边属于 A 相下层边属于 B 相-B槽 2 上层 A、下层 A 等。把这张表做好后在 Maxwell 里按 coil 逐个添加并指定所属 winding 与电流方向比直接在软件里按图点选快得多。# 绕组分配表示例1/8 模型6 槽双层 # 格式(槽号, 上层线圈相, 下层线圈相, 每槽匝数) winding_table [ (1, A, -B, 11), (2, A, -A, 11), (3, B, -C, 11), (4, B, -B, 11), (5, C, -A, 11), (6, C, -C, 11), ] # 每槽 11 匝双层绕组则每层 11 匝 # 注意Prius 实际每槽匝数约为 10~12需按 PDF 原始资料核对这段代码的重点不是语法而是背后的绕组规律每槽上下层相差一个极距180° 电角度所以上下层可能属于同一相的正负边也可能跨相。Maxwell 里的 coil 方向由几何面的法向决定所以建线圈时如果发现同一相的两个线圈磁动势方向相反、合成磁动势为零第一时间检查是不是某段 coil 的朝向设置错了——这是绕组设置里最常见的「能求解但结果荒谬」的错误来源。每槽匝数需要和 PDF 资料核对Prius 的每槽匝数直接决定额定转矩大小若与实测资料不符整条转矩-转速曲线会整体偏移且不会被任何报错提示。3.2 激励参数的意义电流源 vs 外电路 vs 电压源Ansoft Maxwell 支持三种激励方式电流源AC current、外电路External circuit、电压源AC voltage。Prius 电机的 PDF 资料会给出额定电流、额定电压和功率因数等运行点数据这些数据直接决定你选哪种激励。常见做法是在做额定点静态场或瞬态场分析时使用电流源直接把三相正弦电流按 PDF 给定的额定幅值和初相角加载到绕组上。这种方式收敛快、容易对照 PDF 里的理论计算值但它的局限是无法模拟电流谐波和电压极限下的弱磁控制。Prius 电机在高速区必定进入弱磁若只用电流源仿真得到的转矩在高速段会明显偏离实际——因为电流源不会自动限制端电压而你算出来的反电动势早已超过电池侧电压。需要做全工况特性时我的做法是用 Maxwell 的外电路接口接一个三相电压源串联电阻和端部漏感。PDF 学习资料里通常给出的是电机的相电阻和电感值这两个参数刚好用于外电路建模。外电路求解的思路是电压源幅值设为电池直流母线电压折算后的相电压峰值频率由转速和极对数计算然后让 Maxwell 的瞬态求解器在每一个时间步同时求解电磁场和外电路方程实现真正的场路耦合。# 电压源驱动下的额定点估算供外电路设置参考 # 极对数 p 4额定转速 n 6000 rpm # 电频率 f p * n / 60 400 Hz # 若直流母线电压 Vdc 500VPrius 典型值 # 相电压峰值 V_phase_peak ≈ Vdc / sqrt(3) * 0.9 ≈ 260V # 该值仅作为外电路电压源初值实际需扫描调优 python -c print(f电频率: {4*6000/60} Hz); print(f相电压峰值约: {500/1.732*0.9:.1f} V)电压源驱动的瞬态仿真常常遇到启动电流冲击和收敛困难。经验做法是在外电路里给三相电压源串入一个小的启动电阻约 10 毫欧到 50 毫欧并在 1ms 到 5ms 时间内通过时变开关把它短路掉这样等效模拟了变频器的软启动过程。另外外电路求解必然用瞬态场时间步长必须足够小才能捕捉 PWM 开关频率约 10kHz的影响如果 PDF 资料没有明确说明分析工况步长就从 10μs 起步逐步降低直到转矩波动曲线不再变化。3.3 激励初相位转矩波动和反电动势极值的隐藏控制点激励初相位是绕组设置里少数几个「参数值看似无关紧要、实际决定仿真成败」的设置之一。Prius 的 8 极 48 槽电机在 Id 0 控制方式下 A 相轴线和转子 d 轴对齐时三相电流的初相位应设置为 A 相电流波形过零点的时刻。若相位差了 90° 电角度仿真出的平均转矩可能直接减半而且转矩波动中会出现明显的 2 倍电频率分量——因为对称性被破坏了。我一般会在瞬态场开始前先用静态场做一个电流激励扫描找到反电动势过零与电流相位的对应关系。具体做法是在 Maxwell 2D 里设置一个求解点让转子固定给三相绕组分别加直流电流同一时刻只有一相通电流扫三个位置角反电动势的极值出现位置就锁定 d 轴方向。然后把这个角度换算为瞬态场里的初始转子位置角填入 motion 设置中。这样比反复试相位快得多且一次就能把额定点的平均转矩对到 PDF 资料的误差范围之内。4. 运动设置与网格剖分Prius 电机仿真的收敛性关键4.1 Band 区域与旋转运动的正确建模方式Maxwell 2D 瞬态场里处理旋转运动只有一个正确姿势建立 band 区域。Band 是一个把转子完全包住的空气区域它的外边界不能与定子内径面相交内边界至少要留出转子外径加一层网格的空间。Prius 模型的 band 外径通常设为转子外径加 1 到 2 倍气隙长度即可——太大了会增加空气区域的网格量太小了转子的微小振动数值层面可能导致运动边界穿透网格引起负体积报错。Band 区域的材料必须设置为空气或者真空把 band 内的所有物体转子铁芯、转轴、磁钢都包含进去。motion 设置里需要指定旋转方向与转速。Prius 电机 PDF 资料给出的额定转速 6000rpm在 8 极电机下对应的机械频率是 100Hz电频率 400Hz。瞬态场求解会按电周期自动划分时间步——每个电周期至少 100 步否则转矩波动的高次谐波6 次、12 次无法分辨。需要注意 band 与转子的关系还有一个更隐蔽的问题磁钢、转子铁芯、甚至转轴都必须在 band 内一起旋转而 band 外区域保持静止。如果你把磁钢误设在 band 外或者把气隙的一部分划进了 band 内旋转边界上的矢量磁位连续性会被破坏求解器会出现「motion setup inconsistency」之类的提示或者干脆不报错但结果完全失真。判断 band 建得对不对有一个笨办法看后处理里气隙磁密的波形是否光滑连续若在 band 边界处出现肉眼可见的折点说明 band 划分错了。4.2 网格剖分的内外边界尺寸与自适应加密策略Ansoft Maxwell 的经典特性之一是基于能量的自适应网格加密。对 Prius 这类模型首次求解时软件会自动在磁场变化剧烈的位置细化网格。但自适应加密对气隙这种狭长区域并不特别敏感——气隙厚度只有 0.4mm 一个边默认剖分可能只有 2 到 3 层单元这会导致气隙磁密计算的精度不足。我的做法是在 band 区域和气隙附近各加一个 mesh operation给气隙单独设置每边至少 4 层网格给 band 内的磁钢和转子铁芯区域设置最大边长限制。Prius 的 1/8 模型气隙区域网格限制在 0.1mm 以下的三角形单元磁钢区域限制 0.5mm 左右定子齿部限制 1mm 以内。网格质量的好坏不直接体现为报错而是表现为转矩波形的毛刺多、收敛步数异常多、以及不同细分设置之间结果不一致。区域建议最大边长网格层数/说明气隙0.1mm至少 4 层保证磁密径向分量精度磁钢0.5mm关注磁钢拐角处的局部饱和定子齿部1.0mm齿顶处需局部加密定子轭部1.0~2.0mm磁密较低网格可以放宽转轴2.0~5.0mm不参与电磁计算的部分可粗剖自适应加密的收敛判定标准通常是能量误差百分比小于 1%但如果目标是对比 PDF 里的转矩波形我的经验是把收敛标准收紧到 0.5% 再停止因为转矩波动对网格的敏感度远高于平均磁链。每一轮加密之后对比网格数量与前一轮的差值若网格数量翻倍但转矩结果变化少于 0.5%就可以判断网格已经收敛。4.3 时间步长设置与一个完整电周期的扫频验证瞬态场的时间步长设置直接决定仿真时长与频谱分辨率的平衡。Prius 电机额定点电频率 400Hz一个电周期 2.5ms。转矩波动主要的谐波成分是 6 倍电频率即 2400Hz 和高次 12 倍频 4800Hz要分辨到 12 倍频时间步长至少要能覆盖其 20 个采样点即步长约 10μs 左右。但这只是理论下限实际还要考虑 PWM 电压源激励带来的开关纹波此时步长需进一步细化。我做额定点对标的推荐方案是分两步走先做电流源激励、步长 20μs 的快速求解看平均转矩与 PDF 数据是否吻合吻合后再切到电压源激励、步长 5μs 的精度求解分析转矩波动和谐波成分。这样避免了用高精度设置反复试错浪费时间比较适合需要多工况对比的场景。如果仿真单次耗时过长优先检查是不是时间步长设置太小而不是网格过密——多数时候步长是主要瓶颈。5. 后处理的核心对象反电动势、齿槽转矩与弱磁特性验证5.1 反电动势波形的提取与 FFT 谐波分析Prius 电机学习资料里一定会出现空载反电动势波形这是验证模型材料属性是否正确的第一个检查点。在 Maxwell 2D 瞬态场里空载工况的设置是三相绕组全部开路电流为零转子以额定转速旋转软件算出三相绕组端电压即为反电动势。常见做法是让转子转速固定仿真两个完整电周期取第二个周期的波形做 FFT避免第一个周期数值震荡带来的干扰。Prius 的 8 极电机反电动势中主要含 5、7、11、13 次谐波总谐波畸变率THD通常在 5% 到 10% 之间但由于 V 形磁钢的聚磁效应其 5 次谐波占比会明显低于同规格的表贴式电机。若你的模型里 THD 超过 15%大概率不是绕组问题而是磁钢形状或隔磁桥尺寸与 PDF 图纸偏差过大。# 后处理 FFT 参考流程基于 Maxwell 输出的 CSV 数据 import csv import numpy as np # 读取 Maxwell 导出的 A 相空载反电动势数据时间(s), 电压(V) with open(emf_a.csv) as f: reader csv.reader(f) next(reader) time, emf zip(*[(float(r[0]), float(r[1])) for r in reader]) # 计算基波频率并提取各次谐波幅值 fs 1.0 / (time[1] - time[0]) fft_vals np.fft.fft(emf) freqs np.fft.fftfreq(len(emf), dtime[1]-time[0]) # 基波 400Hz5 次 2000Hz7 次 2800Hz for harmonic in [1, 5, 7, 11, 13]: amp 2 * np.abs(fft_vals[np.argmin(np.abs(freqs - harmonic*400))]) / len(emf) print(f{harmonic} 次谐波幅值: {amp:.3f} V)FFT 之前的波形处理有一个容易被忽略的细节Maxwell 导出的反电动势波形包含直流偏置。这是数值求解的伪影不是电机真实属性应在 FFT 前减去均值。如果不减FFT 结果里会凭空多出一个 0Hz 分量且基波幅值被污染许多教程不提这一步导致很多人对 FFT 结果困惑。另一种情况是波形本身带有异常尖峰这通常是网格剖分在个别位置过粗造成的局部磁密突变处理方法是对该区域局部加密后重算而不是直接滤波掩盖。5.2 齿槽转矩的扫描法转角细分与静态场复用齿槽转矩是 Prius 这类内置式永磁电机学习资料里必然出现的另一个重点指标。齿槽转矩的周期等于一个齿距对应的机械角度Prius 48 槽、8 极一个齿距对应 7.5° 机械角度等于一个齿槽转矩周期。为了准确捕捉齿槽转矩波形扫描步长应小于周期的 1/20即小于 0.375° 机械角度。实际操作方法是转子静止转速设为 0三相绕组全部开路使用静态场求解对转子角度从 0° 到 7.5° 做参数化扫描每个角度求解一次转矩最后绘制转矩-角度曲线。静态场的优势是没有时间步概念求解速度极快1/8 模型下 30 个扫描点总耗时通常不超过几分钟。需要注意静态场中的转矩计算结果不应包含负载电流的影响这与瞬态场空载工况的齿槽转矩定义一致。齿槽转矩峰值大小与隔磁桥宽度密切相关。Prius 电机的隔磁桥通常设计在 1mm 到 1.5mm 宽度隔磁桥越窄漏磁越少齿槽转矩峰值越小但机械强度下降。若你的模型齿槽转矩峰值超过 PDF 所给数据一倍以上排查顺序是先检查磁钢 V 形夹角是否准确再检查隔磁桥宽度是否按图纸设定最后检查定子槽口宽度。大多数情况下是槽口尺寸不对——槽口宽度变化 0.2mm 就能让齿槽转矩峰值改变 30% 以上。5.3 弱磁扩速与转矩-转速特性曲线的快速验证Prius 作为混合动力电机的显著特征是高速弱磁区间宽阔最大转速出现在额定转速的两倍以上。在 Maxwell 里验证弱磁特性时需要同时考虑电压约束与电流约束。具体做法是运行一组不同转速、不同电流角超前角的瞬态仿真记录每个运行点的输出转矩与端电压。转速(rpm)电流角(°)输出转矩(Nm)端电压(V)是否受限2000092180否40002078240否60004061265接近80005545268限压100006831270限压电流角是弱磁控制的核心参数。在 Maxwell 里做瞬态场参数化扫描把电流角从 0° 到 80° 按 5° 步进扫描提取每个角度下的输出转矩和端电压你会发现最优电流角与转速强相关。低转速时最优角接近 0°即 MTPA 区高转速时最优角大幅提升。这个扫描过程同时也是对 PDF 资料里给出的转矩-转速数据做验证偏差在 5% 以内说明模型可信偏差明显偏大则回到材料与几何设置排查。需要注意电压约束的判定标准端电压有效值不能超过直流母线电压除以根号 3对三相星接Prius 的 500V 母线对应相电压上限约 288V。扫描结果中若某个运行点端电压超过该值说明需要进一步增大电流角或适当降低电流幅值来维持电压平衡——这个迭代优化的过程就是电机控制器弱磁策略的本质。6. 模型验证的最后一公里参数化扫描脚本与结果复现技巧参数化扫描是 Maxwell 脚本化的核心场景。当需要批量计算不同电流角、不同转速下的电机性能时手动在 GUI 里一个一个改参数再点求解不仅效率低而且容易漏记录边界条件。Maxwell 支持用 IronPython 脚本驱动参数化扫描官方叫法叫 Optimization但在学习资料场景里直接写一段参数扫描脚本比用内置优化器更直观可控。# Maxwell 参数化扫描脚本骨架IronPython 风格 import ScriptEnv ScriptEnv.Initialize(Ansoft.ElectronicsDesktop) oDesktop.RestoreWindow() oProject oDesktop.GetActiveProject() oDesign oProject.GetActiveDesign() # 定义扫描参数电流角从 0 到 80 度步长 5 度 for angle in range(0, 85, 5): oDesign.ChangeProperty( AnalysisSetup:Setup1, DesignProperties:CurrentAngle, angle ) oDesign.Analyze(Setup1) # 导出转矩数据到独立 CSV 文件文件名带角度标识 oModule oDesign.GetModule(ReportSetup) oModule.ExportToFile( Torque_Report, ftorque_angle_{angle}.csv, False )这段脚本的执行逻辑是把电流角这个参数依次修改、求解、导出结果形成一组带角度标识的数据文件。脚本里关键一步是ChangeProperty的参数路径必须与模型里设置的参数名完全一致否则会静默失败——Maxwell 不会报错只会继续用上一次的值求解等你汇总数据时才发现所有点都是同一个角度算出来的。避免这种坑的防御性做法是在每次 Analyze 之后读一次输出变量确认电流角确实变了再进入下一次迭代。批量扫描收敛之后最后一步是把多组 CSV 合并成特性曲线。常见的做法是用 Python 的 pandas 库做数据聚合把每个文件里的平均转矩、端电压峰值提取出来连同对应的电流角组成一张汇总表再绘图。这个过程看似简单但有个细节值得提Maxwell 导出的 CSV 首行是求解器版本信息不是列名数据读取时需要跳过前 1 到 2 行否则会出现解析异常。另一个细节是转速变化时基波频率跟着变转矩波形的周期也随之改变提取平均值时务必取整数个电周期避免因频谱泄漏引起的均值偏差。用快速傅里叶变换确定实际电周期再截取数据窗口比固定时间窗口更可靠。# 合并多组 CSV 并提取平均转矩 import pandas as pd results [] for angle in range(0, 85, 5): df pd.read_csv(ftorque_angle_{angle}.csv, skiprows1) # 取后 3/4 区间数据计算平均转矩避开初始震荡 stable df.iloc[int(len(df)*0.25):] avg_torque stable[Torque].mean() results.append({angle: angle, avg_torque: avg_torque}) summary pd.DataFrame(results) # 找到平均转矩最大的电流角即为该工况最优 MTPA 角 best_angle summary.loc[summary[avg_torque].idxmax(), angle] print(f最优电流角约 {best_angle}°)如果脚本执行过程中出现求解不收敛优先检查两个位置一是检查外电路电压源的初始相位与转子初始位置的匹配关系二是检查时间步长与网格最大边长的乘积是否满足 Courant 稳定性条件的大致估计。转动瞬态中网格形变导致的最小单元边长会随着旋转位置而变如果某个转角位置网格被压缩到极小而时间步长没有同步缩小求解器会以「singular matrix」或者「convergence not achieved」报错。此时处理方式是把该位置附近的网格局部加密或者把时间步长改小为原来的 1/2 重试。整套流程走完把最终的转矩-转速曲线、反电动势 THD、齿槽转矩峰值三项指标与 PDF 原始数据做对照偏差在合理范围以内就能确认这份学习资料已经成功转化为你手里可复用的 Maxwell 仿真模型。本文还有配套的精品资源点击获取
返回列表