
做硬件这几年最让我头疼的往往不是电路本身而是“看不见的磁场”。板子明明跑得好好的只要把无线充电线圈、大功率电感或者开关电源凑近系统ADC读数就开始跳传感器偶尔直接罢工。想用金属屏蔽罩挡住电场容易想挡低频磁场就麻烦多了。后来我把铁氧体薄片贴在干扰源和敏感器件中间问题一下子缓解了。但“贴一片”到底能降多少磁场不能靠猜得用COMSOL仿真把铁氧体磁屏蔽效果算明白。这篇文章我会从一个线圈加铁氧体屏蔽板的模型入手把仿真里的选型逻辑、建模过程、屏蔽效能计算和调试经验一次讲清楚。无论你是在做EMC整改、无线充电设计还是传感器抗干扰这篇都值得看完。1. 磁屏蔽这件事为什么偏偏选铁氧体1.1 金属屏蔽罩挡不住低频磁场磁路分流才是正解很多工程师直觉上觉得“屏蔽就是包一层金属”这个思路对付电场完全正确但对磁场就得打个问号。对于高频磁场铜、铝这类低电阻率金属靠感应涡流产生的反向磁场来抵消外场效果很好。可是频率一旦掉到几十千赫兹甚至更低铜的趋肤深度变得非常厚普通厚度的金属壳几乎没有涡流屏蔽效能迅速下降。铁氧体走的完全是另一条路它不靠涡流而是靠高磁导率给磁场线修了一条“捷径”。磁力线永远倾向于走磁阻最低的路径铁氧体的相对磁导率可能到几千空气的相对磁导率只有1磁力线自然被吸进铁氧体里本来要穿过敏感区域的磁场就从旁边绕走了。你可以把铁氧体屏蔽板想象成一个“磁路旁路管道”。干扰源发出的磁场线一部分被铁氧体捕获并导向旁边真正漏进敏感区的磁通就变少了。这就是磁路分流屏蔽。它特别适合那些频段在几千赫兹到几兆赫兹的场景比如无线充电的100kHz附近、开关电源的EMI抑制、精密电流传感器旁边的磁场隔离。而纯金属屏蔽在这个频段往往是心有余而力不足。1.2 铁氧体不是“铁”材料选型决定了仿真准不准COMSOL里建铁氧体模型材料参数是第一个分水岭。铁氧体虽然名字带“铁”但它是铁氧体陶瓷电导率很低磁导率很高。实际工程里最常见的两类是锰锌铁氧体和镍锌铁氧体。参数锰锌铁氧体Mn-Zn镍锌铁氧体Ni-Zn相对磁导率通常300~10000通常20~1500电导率约0.1~1 S/m约0.001~0.1 S/m饱和磁通密度约0.3~0.5 T约0.2~0.4 T适用频率一般1MHz以下可以到几十甚至几百MHz典型用途开关电源磁芯、低频电感、无线充电屏蔽片高频EMI抑制、射频隔离、宽带电感做低频强磁场屏蔽大家普遍用锰锌铁氧体磁导率高分流能力强。做高频电磁干扰镍锌铁氧体损耗低、频率特性更平但磁导率也低屏蔽效果通常不如锰锌那么“猛”。在建COMSOL模型之前建议先把材料参数确认清楚。如果你用的是成品铁氧体屏蔽片最好直接问供应商要磁导率曲线和损耗曲线如果没有就用Mn-Zn大类的典型值比如μr2000电导率0.5 S/m作为线性仿真的起点。后面想评估大电流下的饱和问题再换成B-H曲线。2. COMSOL建模前的“账本”几何、频段、边界条件先想清楚2.1 先判断能不能用二维轴对称很多新手一上来就建三维模型结果网格动不动几百万单元求解半天还容易不收敛。实际上如果线圈是圆形、铁氧体屏蔽板也是圆形且两者同轴那整个模型绕中心轴旋转对称直接可以用二维轴对称。二维轴对称建模能用极小成本算出一个相当可信的屏蔽效果是我最推荐的首个模型。几何上也很简单一个环形线圈一块圆形铁氧体薄板一个大范围空气域。假设线圈内径30mm、外径50mm、厚度5mm铁氧体屏蔽板半径60mm、厚度2mm屏蔽板放在线圈上方10mm处。这些都是实际工程里很常见的尺寸仿真时改参数也方便。如果你的铁氧体板是方形的或者线圈偏心那就必须老老实实建三维。二维模型算不出来的不要硬凑。2.2 空气域大小小了会切断磁路磁场仿真和电场仿真有个非常大的区别磁场线永远是闭合的不可能被一个边界直接“掐断”。所以空气域必须足够大让磁力线可以自由地从线圈出发、绕一圈再回来。如果空气域太小磁力线被边界强行切断算出来的屏蔽效果会严重失真。我习惯把空气域的半径放到最大结构尺寸的5倍以上。拿上面这个例子来说线圈最大半径50mm铁氧体板半径60mm空气域半径我直接给300mm高度方向也留够。这样既能保证磁力线有充足的闭合路径又不会让计算规模失控。在COMSOL的电感、磁性物理场中外边界默认是磁绝缘条件也就是n·A0这个条件在空气域足够大的时候是合理的。如果你懒得试5倍够不够可以把空气域从300mm改成600mm再算一次看屏蔽效能变化不超过1dB就说明边界影响可以忽略。2.3 频段决定物理场接口与求解方式磁屏蔽通常关心的是干扰频点比如无线充电的100kHz开关频率。COMSOL里直接用AC/DC模块的“磁场mf”接口选择频域研究。如果干扰源是方波或脉冲里面包含大量高次谐波你可以用“频响”或者参数化扫描把100Hz到1MHz扫一遍看清铁氧体在不同频率下的屏蔽能力。这里有个容易混淆的地方如果你只关心磁场分布不考虑涡流和损耗可以只给铁氧体设置相对磁导率电导率暂时不填。但真实情况下铁氧体内部也会有很小的感应涡流频率上来以后会带来额外损耗。要不要考虑它取决于你的频率和精度要求。后面第4章我会专门聊这个问题。3. 首个铁氧体屏蔽模型实操拆解从物理场到后处理3.1 建立几何与分配材料我在COMSOL 6.x里做的流程是这样新建模型选择二维轴对称添加AC/DC模块下的“磁场mf”物理场研究类型选频域。然后按尺寸画矩形和圆环把线圈、铁氧体板、空气域做出来。材料分配这块是最容易踩坑的地方。线圈材料用铜相对磁导率设为1电导率按标准铜的5.998e7 S/m来填。空气域用内置空气材料相对磁导率1。铁氧体板则建议不要偷懒直接选材料库里的默认名称自己新建一个材料把相对磁导率设为2000电导率设置为0.5 S/m。为什么强调自己建材料因为COMSOL材料库里有些“铁氧体”条目并不一定覆盖你手里具体牌号的磁导率频率特性。你做磁屏蔽仿真时更关心的是这个屏蔽片在目标频点下的实际磁导率。与其套一个不确定的材料数据不如先用线性常数模型把趋势算明白。3.2 激励设置线圈电流怎么给才合理激励是整个模型的核心。最简单的做法是给线圈域加上“线圈”特征选择多匝线圈激励方式选“电流”填入总电流。比如总电流1A匝数10COMSOL会自动把电流密度折算到线圈截面里。如果你不想和线圈特征打交道也可以直接给线圈域添加体电流密度。在二维轴对称模型里电流方向是方位角方向你只需要输入表达式N*I/A_coil其中N是匝数I是激励电流A_coil是线圈截面面积。算出来的结果和线圈特征是一样的。我在这个案例里用的是总电流1A、10匝这样激励安匝数是10安匝产生的磁场强度比较有代表性。如果你想模拟无线充电的几十瓦功率电流可以按实际系统给定比如2A到5A之间。3.3 网格划分薄板不能只画一层铁氧体屏蔽板通常只有1到3mm厚和几十毫米的线圈尺寸相比属于典型的多尺度几何。如果直接用默认自由三角形网格薄板厚度方向可能只分到一层磁通在板内的变化根本算不准。我的做法是铁氧体板单独使用映射网格厚度方向至少分3层线圈区域稍微细化因为要保证电流分布的几何准确空气域用较粗的自由三角形网格。如果你做三维模型铁氧体薄板最好用扫掠网格加边界层网格长宽比控制在可接受范围内。网格这步宁可多花点时间也不能省。我碰到过好几次网格太粗时屏蔽效能算出来很高但细化网格后掉了好几个dB——那不是真实物理纯粹是网格不收敛。3.4 求解后看什么先看磁力线再算目标区域频域求解结束后不要急着点“屏蔽效能计算器”。第一步应该看磁通密度模的分布以及磁力线走向。铁氧体板附近应该有明显的磁力线聚集说明“旁路效果”正在起作用。再看敏感区域我建议在屏蔽板后面定义一个目标区域比如一个半径10mm的小圆用平均值算子去算这个区域内的磁通密度模|B|。为了对比需要跑两个研究一个是“有屏蔽板”一个是“无屏蔽板”。最简单的做法是在模型里加一个全局参数enable_shield控制铁氧体域的几何是否参与计算或者直接复制研究并在第二个研究中禁用铁氧体域。无屏蔽时目标区平均磁通密度是B0有屏蔽时是B1后面用这两个数算屏蔽效能。4. 屏蔽效能怎么算才不算白算案例结果与频响分析4.1 屏蔽效能的定义别把单位搞错屏蔽效能的标准定义是取场强比值取对数SE(dB) 20 * log10(B0 / B1)其中B0是无屏蔽时目标区域的磁通密度B1是有屏蔽时的磁通密度。如果你用磁场强度H来算也一样二者在空气中只差一个磁导率常数结果完全相同。如果B0是B1的10倍屏蔽效能就是20dB100倍就是40dB。我在上面的典型模型里100kHz时无屏蔽目标区域平均|B|大概是52.1μT加上2mm厚铁氧体板后降到了7.8μT算出来SE≈16.5dB。如果把铁氧体板加厚到3mm、半径再放大一点很容易做到25dB以上。不过请注意这个数字只对这个几何和激励有效真正工程中一定要以自己模型里的B0和B1为准。后处理表达式我习惯这么写SE_dB 20*log10(intop1(mf.normB_no_shield)/intop1(mf.normB_shield))其中intop1是定义在目标区域上的积分算子。如果不取平均直接用点的B值也行但点的位置对结果影响很大我个人更推荐区域平均更稳定。4.2 扫频分析铁氧体屏蔽不是“全频段通吃”单点频率算完我强烈建议做一次扫频。从100Hz扫到1MHz你会发现屏蔽效能曲线明显分成几个阶段。低频时涡流基本不起作用屏蔽完全靠磁导率分流SE相对平稳频率升高以后铁氧体等效磁导率开始下降损耗也变大到了更高频率如果铁氧体板里还设置了电导率涡流将逐渐变成主导机制SE可能再次上扬。但这里要注意线性仿真如果只给铁氧体填一个固定实部磁导率高频段的“磁导率下降”根本体现不出来曲线就会过于乐观。想在COMSOL里更贴近真实就得使用复数磁导率把损耗和频散都考虑进去。一般可以写成μ μ - jμμ由损耗角正切或者供应商给出的磁谱曲线换算。新手阶段可以先用实部常数模型跑趋势到了和实测对标时再换成频变复数参数。扫频的另一个好处是能看出共振或局部放大点。某些几何下屏蔽板和线圈之间会形成局部谐振导致某个频率反而更糟。这些东西不做扫频根本发现不了。5. 网格、边界、求解器让铁氧体模型收敛的实战排查5.1 薄板网格导致的“假屏蔽”我前面提过铁氧体板太薄网格不好好画结果一定失真。更麻烦的是很多时候你明知道网格有问题但刚求解完的第一眼数据看起来“挺合理”。这是这种薄磁路结构最容易骗人的地方。判断网格是否足够的办法非常简单把网格加密一倍再看SE变化。如果SE变化超过1dB那就是网格不够。我遇到过把薄板从3层网格加到6层以后SE从22dB掉到18.5dB的情况显然原来的网格把屏蔽能力“算虚高”了。如果你已经用了映射网格还是有问题检查一下长宽比。铁氧体板宽度60mm厚度2mm如果厚度方向只有2层单元长宽比可能到30:1求解器虽然能算但场梯度没有足够自由度解析。我建议厚度方向至少3~5层宁可增加一点计算量。5.2 空气域不够大屏蔽效能被高估空气域太小也是常见的坑。你可以做一个简单的“边界实验”把空气域半径从300mm改成500mm屏蔽效能如果升高了或者降低了超过1~2dB说明原来的空气域还在干扰结果。很多时候空气域小了会限制磁力线绕过屏蔽板的路径从而让“有屏蔽”的磁场看起来更低屏蔽效能被高估。在实际项目里我不建议一上来就上无限元域或者完美匹配层除非你非常有经验。先把空气域做大算一个可靠的“基准解”后续再考虑用无限元域压缩规模。这样排查问题会容易得多。5.3 求解器报错、内存不足和奇异矩阵二维轴对称模型基本不用担心内存但如果是三维模型几百万自由度还是会让老笔记本冒烟。几个我常用的解法优先用电流激励而不是电压激励。电压激励会引入额外的未知电势自由度电流激励则简单直接。线性频域问题一般用直接求解器MUMPS鲁棒性最好。如果模型很大再考虑迭代求解器和域分解。如果出现“奇异矩阵”或者解发散先检查有没有独立的悬浮导体区域比如你把线圈画成了没有连到外部的铜实体而没有给线圈特征指定激励就容易出现这个问题。二维轴对称模型里变量是方位角方向的磁矢势Aphi如果几何轴线上有场源也要注意奇异性。通常COMSOL会处理但你可以在轴线上避免过于尖锐的网格。6. 从单板到结构优化参数化扫描和我的几个实测心得6.1 厚度、半径、间隙哪个参数最值得优化仿真模型建立以后最大的价值就是做参数化优化。我通常会设置三个全局参数铁氧体板厚度t_ferrite、半径r_ferrite、与线圈的距离gap。然后分别扫描。先说厚度铁氧体板越厚低磁阻路径的截面积越大屏蔽效能越高。但这是有饱和效应的。当厚度从0.5mm加到2mm时SE提升非常明显可能直接增加10dB从3mm加到5mm时可能只增加2~3dB。到了这个阶段说明磁路已经足够宽阔再堆厚度只会增加体积和成本。实际产品里2~3mm的锰锌铁氧体板在大多数100kHz无线充电场景下已经是“甜点”厚度。再说半径屏蔽板半径至少要比线圈外径大10%~20%否则磁力线会从板边缘绕过去目标区域漏磁明显。扫描半径时你会看到SE随半径增大而稳步提高但增幅逐渐放缓。需要注意的是板子超过一定尺寸后边缘绕射不再是主导路径再增大尺寸收益就很小。最后是间隙铁氧体板离线圈越近屏蔽效果越好因为磁通还没散开就被板子接住了。但离得太近可能会影响线圈电感和谐振特性。所以优化时别只盯着屏蔽效能还要看线圈本身的电感变化避免把发射端效率做坏。6.2 别忘了饱和大电流下屏蔽效能会“崩塌”线性仿真用固定磁导率假设小信号这对小功率场景没问题。但如果你用无线充电系统原副边隔着几毫米传几十瓦线圈电流很大铁氧体板内的磁通密度很可能接近甚至超过饱和点。一旦饱和相对磁导率从几千掉到十几低磁阻路径失效屏蔽效能会急剧恶化。在COMSOL里想评估饱和就得把材料模型从“线性相对磁导率”改成B-H曲线插值。典型锰锌铁氧体的B-H曲线可以用供应商数据表里的起始磁导率、饱和磁通密度和矫顽力点拟合出来。仿真完成后一定要看铁氧体板的磁通密度分布云图如果大面积超过0.3T就说明饱和风险很高要么加厚板子要么换饱和磁通密度更高的材料。这个坑是线性仿真最容易遗漏的。我见过有人拿线性模型算出SE30dB做得洋洋得意实际样机一测只剩12dB就是因为没把饱和当回事。6.3 与实测对标仿真永远比实测“好看”最后聊点实操心得。仿真模型天然是理想化的铁氧体材料参数是标称值屏蔽板和线圈严格同轴空气域没有金属结构装配缝隙为零。实际产品里这些因素都会让屏蔽效能变差。我自己的对标流程是先不贴铁氧体板实测目标点的磁场和仿真B0对比这一步能校验线圈模型和激励设置然后贴板子实测B1再和仿真B1对比。如果B0都对不上说明建模源头就有问题后面再算SE没有意义。如果B0对上了但B1偏高多半是材料磁导率没到位或者屏蔽板没有完全贴紧、有气隙。另外要特别留意测试探头的位置。磁通密度对位置非常敏感挪几毫米可能就相差好几个dB。仿真里用的“目标区域平均”和实测探头测的“单点值”本来就存在差异。我的做法是仿真里同时输出“区域平均值”和“对应探头位置的单点值”两个都记录这样和实测对照时才有据可查。还有一个值得说的经验不要一上来就把模型搞得很复杂。先用2D轴对称、线性材料、固定频率把屏蔽趋势摸清楚再逐步增加3D细节、非线性B-H曲线和扫频。这样做的好处是不管哪一步出了问题都能很快定位不会被“模型又大又不收敛”这种问题困住。铁氧体磁屏蔽仿真说到底是一个分析工具它能帮你快速比较方案、找出趋势但真正的产品验证永远绕不开一两次老老实实的实测。希望这篇能让你少走几步弯路。