ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

Ansys Maxwell 2D无刷电机仿真:从建模到实测对标全流程解析

Ansys Maxwell 2D无刷电机仿真:从建模到实测对标全流程解析 做无刷电机设计的人最终大多会走到 Ansys Maxwell 这条路上。不管是做BLDC本体电磁设计的工程师还是写电机驱动控制的软件工程师只要需要看磁场、算反电动势、估转矩波动Maxwell 2D模型几乎就是默认起点。这东西我接触了好几年踩过的坑比看过的教程还多倒不是建模步骤有多难而是每一步你不明白为什么这么做后面就容易连环翻车——边界条件乱加、外电路怎么调都不收敛、求解出来不知道看哪列数据、转矩波动大得离谱还找不出原因。这篇文章打算用一套典型的12槽8极BLDC把几何建模、材料赋值、外电路搭建、瞬态求解、后处理分析、测试台对标完整捋一遍每个环节都说清楚“为什么这么设”。适合刚入门Maxwell的电机工程师、做BLDC驱动控制的同学以及那些仿真结果总跟实测对不上的老伙计们。1. 为什么选2D而不是3D电机仿真的维度取舍1.1 2D模型的计算代价与精度到底差多少先回答一个我经常被问到的问题能不能直接上3D能但没必要至少在一个新方案还没定型之前别这么做。Maxwell 2D的核心假设是“电机轴向无限长”也就是认为电机在轴向方向上每个截面都一样磁场只在xy平面内变化。对绝大多数轴向长度远大于气隙直径的径向磁通电机来说这个假设成立程度很高。拿12槽8极这种常规BLDC举例定子铁心轴向长度一般60~100mm气隙0.5~1mm轴向长度是气隙的百倍以上端部效应占比很小。端部绕组漏感和电阻虽然存在但相对电枢反应和主磁路来说对整体性能的影响在可接受范围内所以二维近似完全够用。从计算代价看3D瞬态场模型如果带旋转加电压外电路一个机械周期可能跑十几个小时甚至几天2D模型通常几分钟到半小时就能搞定。电机设计本质上是一个迭代过程一个方案要反复扫描极弧系数、磁钢厚度、槽口宽度等参数。假设一次扫10组参数2D模型一个晚上能跑完3D模型可能一周都在转。我实际测试过同一台电机3D和2D的空载反电动势波形一致性在5%以内齿槽转矩趋势也基本一致但3D耗时却是2D的30倍以上。所以通用做法是先用2D快速扫描方案锁定最优候选后再决定要不要用3D做端部漏感、局部过饱和这些维度的校核。1.2 什么时候2D不够用这里必须把边界说清楚否则新手容易踩坑。2D模型在几种情况下会明显失真第一种端部效应影响大的电机。比如轴向长度特别短的电机或者高速电机绕组端部漏感和电阻对电流换相过程影响很大。2D模型默认不计端部绕组仿真出来的电流上升率会比实测快这时候需要在外电路里手动加端部电阻和端部漏感做补偿。第二种斜槽或斜极。为了降低齿槽转矩很多BLDC会在转子磁钢上做斜极或者在定子上做斜槽。2D模型是一个平面截面没法直接表达轴向方向的斜角严格做法是用Maxwell的分段法multi-slice把电机切成多个截面试样再沿轴向加权平均或者用等效齿槽系数近似。如果电机有明显斜槽却没做任何处理齿槽转矩和反电动势谐波的仿真结果会跟实测差得很远。第三种轴向磁通电机、盘式电机这种磁路本来就在三维方向展开的结构2D模型从根本上就不适用必须用3D。另外内置式IPM电机虽然有磁桥漏磁但2D依然能处理只是磁桥区域的网格要剖得足够细否则漏磁路径会被网格“切断”。2. 搭建Maxwell 2D模型的完整流程2.1 几何参数准备一个12槽8极BLDC的例子我以自己常跑的一套12槽8极BLDC为例先把关键几何和电气参数摆出来后面所有分析都基于这组参数项目数值定子外径60 mm定子内径32 mm单边气隙0.6 mm转子外径30.8 mm永磁体厚度2 mm极弧系数0.8铁心材料DW310_35硅钢片绕组形式三相Y接每槽30匝1路并联额定转速4000 rpm直流母线电压24 V注意这些参数不是随手写的它们之间有明显的几何关联定子内径32mm转子外径30.8mm单边气隙就是0.6mm。转子外径减去两个磁钢厚度后的转子铁心半径大致决定了磁钢座的尺寸。极弧系数0.8则意味着每极磁钢的弧长占极距的80%这个系数直接影响反电动势波形和齿槽转矩后面我会专门说。建模有两种主流做法一种是在RMxprt里把定子槽型、绕组形式、磁钢牌号填好一键生成Maxwell 2D模型另一种是直接在Maxwell草图中手绘几何。我最推荐RMxprt导入因为绕组连接关系、磁钢极性方向、运动区域边界都会自动生成省掉大量手工定义的步骤。手绘的优势是几何自由度更高比如要做异形磁桥、不规则槽底RMxprt反而不方便但手绘的代价是必须自己把绕组线圈的方向、激励的正负极性一个个查清楚稍有不慎就会导致反电动势不对称。2.2 建模与材料赋值别直接在材料库里随便选材料赋值这个环节看起来简单实际上大多数人第一次都会在这埋雷。第一硅钢片不要选默认的“steel”线性材料。线性材料的磁导率是常数不管磁场多强都不饱和算出来的磁链、反电动势、铁耗全是错的。必须选带非线性B-H曲线的材料比如DW310_35或者M19_29G。选对了材料还要确认B-H曲线的数据范围覆盖到你实际工作磁密如果工作点超出了曲线最高点求解器会外推结果同样不可信。第二永磁体材料要搞清楚Br和Hcb的含义。N35SH的Br大概在1.18~1.22THcb大约880kA/m。Maxwell里永磁体默认用第二象限退磁曲线来定义Br是剩磁Hcb是矫顽力两者共同决定了磁钢在电机中提供的磁动势。另外一个容易忽略的是磁钢充磁方向表贴式BLDC通常选径向充磁在Maxwell里要指定为“Radial direction”而且方向要指向磁极中心。如果你建了8极模型8块磁钢每一块的N/S极方向都要跟实际转子装配完全一致差一个极性反电动势就补成谐波叠加波形直接乱掉。第三绕组类型要选对。2D瞬态场里绕组一般设为Stranded绞线型因为实际绕组是细漆包线多股并联绕制槽内集肤效应被多股线分摊。如果选成Solid实心导体相当于把整槽铜当成一整块大导体涡流损耗会大得离谱电流密度分布也会失真。2.3 边界条件、运动区域和激励方式边界条件的设置逻辑其实不复杂但新手经常不知道哪些该加、哪些不该加。最简单且稳妥的做法是在整个模型外围画一个比定子外径稍大的圆形求解域外边界设为Balloon气球边界用来模拟无穷远处磁场衰减到零。这个设置对2D电机仿真来说通常足够准也不容易出问题。如果是周期对称模型比如只建立了1/4或1/8的电机模型就要用Master/Slave主从边界把两侧关联起来。主从边界的价值在于大幅减小求解域计算量能降到全模型的1/4甚至1/8。但要注意主从边界配对后两侧网格必须严格对应否则求解器会报错。运动区域是整个2D瞬态仿真最容易出错的地方。只有转子部分需要旋转所以要在转子外围画一个完整的圆形Band区域把转子铁心、永磁体、转轴全都包进去。这个Band必须是完整的圆不能是扇形或局部弧段因为转动过程中网格需要在Band内部重新剖分如果Band不封闭运动算法会不断迭代失败。Band要略微超出转子外径通常把气隙包含进去但不能把定子齿尖也包进来否则旋转时定子网格会被拉扯。激励方式有两大类电流激励和外电路电压激励。电流激励直接把三相电流波形作为输入加载到绕组上适合快速算磁链、反电动势和转矩趋势电压激励配合外电路适合模拟真实驱动器工作状态电流波形由电压、反电动势和电感共同决定。两种方式各有用处具体取舍下一章展开。2.4 网格剖分气隙加密决定成败网格剖分是2D模型里最影响结果稳定性和精度的环节也是很多新手完全没概念的环节。Maxwell的自适应网格主要针对静态场和涡流场瞬态场更多靠人工控制。全局加密当然能把结果做得好一点但计算时间翻倍增长性价比非常低。我的习惯是这样的对气隙区域做长度约束剖分强制气隙内网格边长不超过气隙宽度的1/2到1/3。比如0.6mm的气隙气隙网格边长设0.2mm左右保证气隙内至少有2~3层网格。为什么气隙特别重要因为电机能量转换全靠气隙磁场气隙网格太粗磁场梯度会被抹平转矩波形就会出现明显毛刺齿槽转矩和反电动势谐波也会算不准。永磁体内部也要单独加密边长设在0.5mm左右让磁钢内部的磁密分布更平滑。定子齿和轭部可以稍微宽松一点但要注意在材料属性里把硅钢片设为Laminate叠片类型叠片方向选轴向这样Maxwell在铁耗计算时才会把涡流和磁滞分开处理。我实测过一个对比气隙网格从0.5mm加密到0.2mm反电动势波形有明显变化转矩波动毛刺减少了很多再从0.2mm加密到0.1mm结果几乎不变计算时间却翻了一倍多。所以网格并不是越细越好而是找到一个“结果不再随加密变化”的收敛点就停手。3. 用External Circuit把三相六步驱动“接”进仿真3.1 为什么需要外电路纯电流激励的局限很多教程一开始教你直接加三相电流激励就是那种标准的正弦表达式直接当作绕组输入。这个方法简单用来做初步的磁路验证、反电动势计算完全没问题但它有一个根本性缺陷它假设电流是理想正弦波。而实际BLDC驱动器用的是120度导通的六步方波换相电流波形接近梯形包含大量谐波。这些谐波会导致转矩波动、噪音和额外损耗如果用理想正弦电流激励这些问题全部会被掩盖掉。所以如果你要评估真实控制策略下的电机性能比如PWM调压时的电流纹波、换相瞬态的转矩跌落就必须把电压源、开关管、续流二极管和绕组模型全部连起来让电流根据反电动势、电感和电压自己计算出来。这就是External Circuit外电路存在的意义。3.2 外电路的搭建步骤绕组、MOS管、续流二极管、PWMMaxwell自带一个外电路编辑器叫Maxwell Circuit Editor在Electronics Desktop里可以打开。搭建一个三相全桥驱动的步骤大致是这样的第一步在2D模型里把三相绕组的激励类型从“电流源”改成“External”外部激励。这一步很关键选定后Maxwell会自动把绕组端子暴露给外电路接口。第二步打开Circuit Editor添加三个绕组元件分别对应A、B、C相。绕组方向和连接方式要跟真实电机的Y接或角接保持一致。如果是Y接三个绕组的一端连到中性点另一端分别接三相桥臂中点。第三步添加直流电压源这里就是24V母线电压。第四步添加6个开关管命名为S1到S6组成三相全桥。开关管可以用理想开关元件也可以导入真实的MOSFET模型。理想开关算得快但会忽略导通压降和开关损耗真实器件模型更接近实际但仿真时间会长不少。我一般先用理想开关跑通流程最后校核效率时才换真实器件。第五步每个开关管反并联一个续流二极管方向要正确。续流二极管对BLDC的电流续流至关重要尤其在PWM关断期间绕组电流就是靠这些二极管续流才能平滑变化。第六步设置换相顺序。BLDC六步换相的标准顺序是AB-AC-BC-BA-CA-CB每60度电角度换相一次。这个换相逻辑可以用PWM脉冲源配合受控开关来实现。第七步给开关管加上PWM脉宽调制信号。BLDC调速的方式是在六步换相的基础上用PWM斩波调节桥臂输出电压。PWM频率我通常设20kHz超出人耳可听范围也接近实际控制器的载频。占空比按目标电压给定后面会讲怎么算。3.3 Ud、PWM占空比、换相时刻怎么配合很多人建好外电路后不知道占空比该给多少上来就拍脑袋填个0.5结果电流不是过大就是过小。实际上占空比是可以算的。以我这台电机为例先在空载电流激励下算出每相反电动势峰值约6.8V线反电动势峰值约11.8V。Y接BLDC在任意时刻只有两相串联通电母线电压被两相分压每相导通电压近似等于占空比乘以母线电压的一半。要让电机在4000rpm稳定运行母线电压需要抵消反电动势和阻抗压降假设需要有效导通电压约9.6V那么占空比就是9.6/24约40%。当然实际还要考虑MOS管压降和电阻压降所以第一次仿真我会先给50%看电流大小再往下调直到电流幅值落在设计范围。换相时刻同样不能照搬教科书。教科书上的BLDC换相逻辑假设反电动势是完美梯形波但真实电机因为磁钢厚度、极弧系数、齿槽效应的影响反电动势往往是圆顶波平顶宽度跟理论值有偏差。如果你还按理想梯形波来定换相角换相瞬间容易产生负转矩段转矩波动明显变大。所以我的习惯是先把空载反电动势波形画出来从波形上量出平顶部分的中点位置再把这个位置对应到换相时刻。4. 求解设置与“怎么看求解出结果没”4.1 瞬态场求解参数设置转速、时间步长、机械周期搜索热词里有一条是“maxwell怎么看求解出结果没”说明很多人卡在这一步。其实求解参数设置对了剩下的事情就顺理成章。还是用4000rpm、8极的电机来算。机械频率等于4000除以60约66.67Hz所以一个机械周期约0.015s。8极电机有4对极电频率等于机械频率乘以4约266.67Hz一个电周期约0.00375s。BLDC六步换相的步距是60度电角度对应的时间是0.000625s。要看清换相过程和PWM纹波时间步长必须远小于这个值。我通常设20微秒这样每个电周期大约有187个采样点波形足够细腻既能看清换相尖峰又不至于把计算量推到无法接受的程度。求解时长方面我一般会跑满至少5个电周期也就是0.02s左右让电流从启动暂态完全进入稳态。取最后一个完整电周期的波形做分析前面的数据直接忽略。有些人只跑一个电周期就急着导数据结果启动瞬间的大电流尖峰混进结果里转矩平均值被明显抬高这就不对了。4.2 求解进度怎么看日志、收敛状态、网格质量告警求解过程中界面下方会有一个进度条但这个进度条只是表明“求解器还在跑”。真正有用的是Message Manager消息管理窗口里面每条信息都有含义。如果看到“Transient solver: Interpolation of current ...”这类信息一般无害是求解器在做时间插值。看到“Mesh has been adaptively refined”说明网格自适应正在调整是正常现象。如果出现“Convergence”字样且后面跟着错误级别的内容通常意味着方程迭代发散得回头检查几何和边界条件。有个非常常见的坑是求解明明提示“Solver finished”完成但你在结果树里找不到任何波形。这是因为没有在求解前创建Transient Report或者创建报告时选错了求解器类型。Maxwell 2D和3D的结果树结构不同、报告创建入口不同如果你打开的是3D的Result菜单却想查看2D瞬态结果自然会扑空。正确做法是在求解完成后右键点击结果树中的瞬态项选择“Create Transient Report”再选“Rectangular Plot”图表就是你要的波形。另外波形加载出来后横轴默认是秒看电机波形换算太费劲我习惯把横轴单位改成“电角度”或者“Electrical Degree”一眼就能看出一个周期内的波形形状。4.3 常见求解异常与处理异常表现可能原因处理办法求解中途报错提示网格细化超限几何存在重叠或极小特征检查磁钢与铁心是否有重叠面把微小圆角和小倒角去掉提示时间步长太小模型里存在极小几何尺寸导致最小网格过小清理几何中尺寸悬殊的缝隙合并细线求解进度条卡住、长时间无法结束Band区域没有完全包含转子或圆心偏离旋转轴重新画Band圆确认包含整个转子且圆心落在转轴上求解完成了但没看到任何曲线创建报告时选错求解器类型或没建Transient Report右键结果树重新创建瞬态报告核对Maxwell 2D/3D项目类型5. 后处理从波形的细节里读出电机的好坏5.1 空载感应电动势反电动势波形与极弧系数调整求解完成后先不要急着看转矩第一个应该看的是空载反电动势。做法是在外电路里把电压源设为0或者直接用电流激励但电流设为0让电机以额定转速旋转然后测量三相绕组端电压。从结果树里可以提取磁链曲线对磁链求导得到的就是反电动势。三相反电动势波形应该幅值接近、相位互差120度。如果发现波形不对称优先检查绕组连接方向是否一致再检查磁钢极性方向是否成对正确。波形正确后可以算反电动势常数线反电动势峰值除以转速单位是V/krpm这个参数是BLDC控制器标定反电动势观测器的重要输入。极弧系数对反电动势波形的影响很有意思。极弧系数越小气隙磁密波形越尖反电动势波形也越尖谐波含量增大极弧系数越大反电动势平顶越宽但相邻磁极之间的漏磁会增加总磁通反而可能下降。BLDC希望反电动势接近梯形波所以极弧系数一般取0.75~0.85。这个参数配合磁钢厚度一起扫描就是2D模型参数化分析最典型的应用。5.2 转矩/齿槽转矩平均值和波动电磁转矩的结果分几层看。先看平均值用工况点的功率和转速反算公式T9.55P/n对着验证。如果仿真转矩和手算偏差超过5%优先检查永磁体Br设置和电流幅值这两项是转矩误差的主要来源。再看转矩波动。BLDC的转矩波动来源主要有三个换相瞬间的转矩脉动、齿槽转矩、反电动势谐波引起的转矩谐波。用外电路跑出来的转矩波动天然比理想正弦电流激励大因为电流波形本身就含大量谐波。如果转矩波动异常大比如超过30%优先检查换相时刻是否对准了反电动势的平顶区域。我遇到过一种情况换相角偏了大约10度电角度转矩在换相点出现明显凹坑把换相时刻调整到反电动势平顶中点后转矩波动从28%降到12%。齿槽转矩要单独算。把绕组电流设为0转速设得很低比如1rpm在极低速下扫一个完整机械周期看电磁转矩波形。齿槽转矩的脉动次数有规律槽数和极数的最小公倍数除以极数就是每个机械周期内的脉动次数。12槽8极的LCM是24除以4对极6所以每个机械周期有6个完整脉动周期。如果齿槽转矩波形出现大小不均的“大小齿”多半是磁钢充磁方向或极弧分布不均匀导致的。5.3 损耗和效率铁耗、铜耗、机械损耗效率计算前要搞清楚Maxwell哪些损耗能算、哪些不能算。铜耗可以由绕组电阻和电流自动算出来但2D模型默认不计端部绕组电阻真实电机的端部电阻通常占绕组总电阻的5%~10%。如果直接按软件默认结果算效率效率会被高估。我一般在绕组的端部电阻参数里手动补一个估算值或者从RMxprt里导出端部电阻填进去。铁耗的计算依赖硅钢片的B-H曲线和损耗曲线。如果材料库里的材料没有附带损耗曲线铁耗算出是0。选材料时要注意看损耗曲线Pcore-Frequency数据是否完整。叠压系数也要设置默认0.95左右实际冲压铁心叠压系数可能只有0.9~0.93这个参数影响有效铁心体积和铁耗值。机械损耗比如轴承摩擦和风摩损耗Maxwell不会自动算需要在求解设置里手动输入。我习惯按额定功率的0.5%估一个固定损耗或者用实测摩擦转矩乘以转速的关系式输入。PWM谐波带来的额外损耗在仿真里确实会体现因为20kHz的电流纹波会产生额外的铜耗和铁耗这是真实存在的损耗如果你只想看基波效率可以先把稳态电流做FFT再用基波电流幅值算铜耗。5.4 与控制策略的衔接无感BLDC观测器需要什么仿真数据“无感bldc”这个词搜索量很大说明做电机控制的同学也在关注仿真模型。实际上Maxwell 2D模型能输出的数据对无感控制算法开发非常有用不只是给电磁设计看。第一反电动势过零点的精确位置。无感BLDC最常用的换相方法是反电动势过零检测法仿真模型可以精确给出每相反电动势的过零点帮助控制系统标定滞后角、补偿滤波延迟。第二反电动势常数的温度特性。在不同温度下磁钢Br会变化Maxwell里可以修改永磁体材料温度来扫描得到反电动势常数随温度变化的曲线这个数据对控制器在不同环境温度下的修正非常关键。第三绕组电感和互感矩阵。在静态场求解里给不同方向的电流激励可以算出d轴电感和q轴电感也可以直接提取绕组的自感和互感。这些参数是建立电流模型磁链观测器的基础很多无感算法在低速和零速下需要用高频注入或电感辨识知道准确的电感基值算法参数初始化就容易多了。有些团队会把Maxwell输出的瞬态电流和反电动势曲线导出成CSV文件直接导入Simulink或MCU算法仿真环境用真实电机数据校准观测器参数这比用纯理想数学模型靠谱得多。6. 从仿真到实测Maxwell 模型怎么和测试台对上6.1 测试台需要测哪些量反电动势、转矩-转速曲线、效率map仿真做完了终究要拿样机到测试台上验证。不要等样机到了才开始想测什么应该在仿真阶段就想好对标数据。最基本的是反电动势测试把电机轴用原动机拖到额定转速用示波器或电压采集卡测三相反电动势波形和仿真波形对照。这里对比波形形状和幅值通常偏差在5%以内就算对齐得不错。第二项是空载和负载的转速-转矩曲线。用测功机给电机加不同负载记录转速、母线电流、输出转矩。仿真里对应的是不同负载工况下的瞬态求解结果。我通常会跑一组负载点从空载一直到额定负载把仿真和实测的曲线画在同一张图里看。第三项是效率map。测功机配合功率分析仪在不同转速和转矩点测输入功率、输出功率和效率画出效率等高线图。仿真效率map就是从多工况批量求解中生成的。对比效率map能发现损耗模型的偏差比如铁耗在哪个转速段差得最多说明材料损耗曲线在该频率段的精度不够。6.2 实测与仿真偏差的常见原因偏差现象常见原因处理思路实测反电动势比仿真低3%~5%实际气隙偏大或磁钢Br偏低先测实际装配气隙再微调磁钢Br实测电流比仿真小端部电阻未计入手动加入端部电阻值实测转矩比仿真小气隙偏大或磁钢磁性能偏差确认装配公差按实测气隙修正模型实测铁耗明显高于仿真冲压边缘短路、叠压系数偏低降低叠压系数核对材料损耗曲线实测齿槽转矩波形与仿真不对应极弧系数实际偏小或磁钢磁化不均匀用实测空载反电动势反推极弧系数有一个非常典型的案例我做过一台48V BLDC样机实测空载反电动势比仿真低了将近8%刚开始怀疑磁钢牌号不对换了一批磁钢也没改善。最后用塞尺一量发现实际装配气隙比设计值大了0.15mm原因是定子铁心内孔椭圆度和转子铁心外圆公差叠加。把模型里的气隙改成实测值后反电动势误差直接缩到2%以内。这件事给我的教训是仿真和实测对不上时先怀疑几何公差而不是急着调材料参数。6.3 模型修正的实操建议模型对标修正的顺序也很重要别一上来就乱调参数。我的顺序是先对反电动势。把气隙改成实测值微调磁钢Br在标称值上下0.02T范围内直到仿真和实测的反电动势幅值和波形趋势一致。如果这一步对不上后面电流转矩全都不用看。再对电流和转矩。在电压外电路模型里确认端部电阻是否加上端部漏感是否合理。如果仿真电流偏大而转矩偏小大概率是模型里少了端部漏感的电压降或者气隙型号和实测值还有偏差。最后对铁耗和效率。仿真铁耗低于实测是普遍现象因为冲压边缘微小短路和片间绝缘不理想都会增加额外损耗。可以尝试把叠压系数从0.95调低到0.9模拟叠片间隙增大通常能拉近不少。模型修正完后把用过的参数都记录在版本描述里。我习惯保留“设计版模型”和“实测版模型”两套设计版用于新方案开发的选型和迭代实测版用于老方案的优化和故障分析。两个版本分开管理避免混用导致仿真结果和实际样机对不上。最后分享一个我自己的习惯每次跑完一组Maxwell 2D仿真我都会把关键波形截图和原始数据一起归档在文件名里标清楚“气隙、Br、叠压系数、端部电阻修正”这些已经调过的参数。等到测试台实测数据出来时翻出归档文件逐项核对通常几分钟就能找到偏差源头。仿真从来不是“算出来就完事”的活儿它更像给电机建一份数字档案你放进去的每个假设都会在实测里被检验。做BLDC设计和控制的这些年我最大的体感是2D模型足够快、足够准只要你愿意花时间把细节做扎实它就是你设计迭代和调试台架最趁手的工具。
返回列表