ARTICLE DETAIL

资讯详情

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

HFSS螺旋线圈优化设计与高效仿真实践指南

HFSS螺旋线圈优化设计与高效仿真实践指南 做线圈设计绕不开HFSS尤其当你要对着一个螺旋线圈做优化设计时建模和高效仿真这两关能卡住不少人。我刚带完一个无线充电线圈的项目从模型搭建到参数优化再到后处理把整个流程重新捋了一遍发现很多问题其实都是共通的。这篇就围绕HFSS螺旋线圈的优化设计与高效仿真实践把建模方法、优化思路、仿真设置以及常见的坑一次讲清楚。适合正在做电感、NFC天线、无线充电线圈或者射频螺旋电感的工程师也适合刚接触HFSS想少走弯路的学生。1. 螺旋线圈建模画法不止一种选对路子才省事1.1 在HFSS里直接画螺旋线两个步骤搞定很多新手打开HFSS就懵了界面上找了一圈也没看到“螺旋线圈”按钮。其实HFSS本身没有一键生成螺旋体的命令但我们可以通过“路径 截面扫描”的方式做出来。核心思路是先建一条三维螺旋线再让一个圆形截面沿着这条路径扫掠就形成了线圈实体。具体操作是这样的先定义好变量比如线圈半径R、线径d、螺距pitch、匝数N。然后在Modeler菜单里用绘制折线的方式创建螺旋路径。老版本可能需要一点一点拼接新版本直接有Helix Curve的创建选项名字可能叫Draw Helix或者Create Helix。如果你用的版本没有这个命令还有一个办法先画一个圆弧再用Duplicate Around Axis按照角度增量复制旋转配合Z轴平移把整条螺旋线拼出来。这个方法稍微繁琐但胜在稳定可靠。路径建好之后再画一个圆形作为截面圆心放在螺旋线起点注意截面要垂直于路径的起始方向。然后选中圆形截面再选中螺旋路径执行Modeler Sweep Along Path。扫掠完成之后你的模型树里就会多出一个带螺旋形状的实体。这时候我建议先看一眼模型有没有扭曲或者自相交某些极端参数下扫掠会生成“麻花”一样的坏体后面网格剖分和求解都会出问题。1.2 参数化建模是优化的前提这一步不能省做HFSS螺旋线圈的优化设计最忌讳的就是把尺寸写死。比如你直接画了一个半径5mm的线圈后面想改成5.5mm那就得手动拖动或者重新画效率极低。正确的做法是从一开始就把所有关键尺寸定义成变量。HFSS里打开Properties面板在变量表里添加R、d、pitch、N这些参数。后面无论做参数扫描还是优化都只需要在Optimetrics里设置变量范围就行模型会自动更新。这里有个小细节HFSS的默认长度单位是毫米但定义变量的时候未必都带单位。如果你设置了R5HFSS会按当前模型的单位解释。我的习惯是所有变量统一写“5mm”而不是写“5”不然切换到别的单位制时数值会乱掉。另外变量名尽量不要用中文或者特殊字符HFSS对变量名的要求比较严格我见过有人用“线径”当变量名结果后处理时各种报错。还有一点要注意当你用Duplicate Around Axis做阵列复制时如果阵列数量也是变量请确认变量在复制操作之前已经生效。否则你复制出来的是固定数量的实体后面变量一变实体数量不会跟着变整个模型就废了。1.3 外部CAD导入的适用场景如果你的螺旋线圈形状比较复杂比如锥形螺旋、变螺距线圈、或者绕制在磁芯上的三维线圈直接在HFSS里建模会非常痛苦。这种情况下我建议用SolidWorks或者AutoCAD把模型画好另存为STEP或者IGES格式再通过HFSS的Import命令导入。导入之后有两个必须检查的点第一单位的换算。CAD里画图常用毫米但有些工程师习惯用英寸导入后HFSS不会自动帮你换算容易整体缩小25.4倍。第二破面与缝隙。螺旋线圈扫掠出来的实体在导入后偶尔会有小破面可以用Modeler Boolean Unite把相邻实体合并再用Modeler Surface Healing Tool修复曲面。不修复的话求解器会在破面处做非物理解剖算出来的电感值会偏小。2. 优化设计目标不明确扫再多的参数也白搭2.1 先搞清你要优化什么再决定看哪个指标很多人一上来就点Optimetrics把变量范围一填点运行然后面对一堆曲线不知道看哪个。其实螺旋线圈的优化目标通常是这几类电感值、自谐振频率SRF、品质因数Q值、耦合系数k、或者传输效率。这些目标对应的仿真设置完全不同。如果你做的是无线充电线圈低频100kHz到1MHz范围主要关注电感和Q值如果做RFID天线线圈13.56MHz还要额外关注自谐振频率如果做射频集成电路里的螺旋电感工作频率上到GHz那就要关注SRF和插入损耗。目标明确之后再到Solution Type里选求解类型。HFSS里Driven Modal适合大多数S参数和阻抗计算Driven Terminal适合多导体传输线。螺旋线圈这种两端口的谐振结构我一般用Driven Modal然后在端口上设置集总端口看Z参数算电感。用Z参数算电感的公式是L imag(Z11) / (2pif)。注意Z11虚部是感抗实部是损耗电阻。Q值则是imag(Z11) / real(Z11)。这些后处理都可以在Report里直接导出不用自己拿计算器按。2.2 Optimetrics参数扫描的设置参数扫描是优化设计里最基本的手段。在HFSS工程树里右键Optimetrics选择Add Parametric把前面定义好的变量加进去设置起始值、终止值和步长。比如我要扫匝距对电感的影响设pitch从0.3mm到1.2mm步长0.1mm这就相当于10个样本点。运行方式选Multiple ConfigurationsHFSS会在一个工程里并行算完所有样本最后在Family Link的表格里看结果。这里回应一个网上经常搜到的问题“HFSS的扫描角是什么意思”。其实它出现在两个地方一个是在参数扫描设置里的角度变量范围比如你对线圈的螺旋升角、馈电相位角做扫描时单位是度这就是角度扫描另一个是在远场方向图后处理里对theta/phi角度球坐标扫描。如果你看到“扫描角”三个字先确认是在参数扫描里还是在远场设置里两个概念完全不是一回事。参数扫描结束后我想提醒你一点不要只看单一频点的结果。螺旋线圈的电感会随频率漂移尤其是在自谐振频率附近电感值会剧烈跳动。所以扫出来之后要把频率维度一起拉出来看。比如Z参数的曲线族横轴频率从100kHz扫到100MHz族内每条曲线对应一个pitch值这样能同时看出电感和自谐振频率的变化趋势。我见过不少人只看了一个频点结果选了自谐振附近的“假电感”最后实测跟仿真对不上。2.3 一个实战案例8匝线圈的匝距优化拿我最近做的一个13.56MHz NFC线圈举例。线圈内径10mm线径0.2mm初始匝距0.5mm匝数8匝目标电感是1.8uH左右同时希望在13.56MHz处Q值尽量高。因为匝距会影响线圈之间的邻近效应进而影响损耗电阻和Q值所以我直接把pitch设为变量从0.3mm扫到1.2mm。扫完Z参数之后我分别提取了1MHz和13.56MHz两个频点的电感值。结果是这样的pitch从0.3mm增大到0.8mm时电感从2.3uH下降到1.7uH下降趋势比较平缓pitch超过1mm后电感变化趋缓基本稳定在1.6uH附近。原因是匝间距增加导致相邻匝之间的磁耦合减弱总磁链减少电感自然下降。但Q值的变化不是单调的pitch在0.3mm到0.6mm之间时邻近效应明显损耗电阻大Q值只有30出头pitch到0.7mm左右Q值升到最高接近52再继续增大因为分布电容减小自谐振频率升高在13.56MHz处的Q值反而又开始下降。这个拐点如果不做参数扫描光靠经验是很难找准的。这个案例说明了为什么“优化设计”不只是做一次仿真看结果而是要借助参数扫描把设计空间摸清楚。通过这轮扫描我最终把pitch定在0.7mm电感实测1.78uHQ值48跟仿真差不到5%。3. 高效仿真设置对了算得快还不崩3.1 求解类型与辐射边界的选择螺旋线圈仿真最常见的效率杀手就是求解设置不当。先看求解类型如果只是一般的线圈阻抗计算Driven Modal就够了如果要做线圈之间的无线传能效率而且两个线圈距离非常近可以考虑用Driven Terminal看终端电压电流如果是算谐振频率附近的场分布Eigenmode也能用但求解的信息不如Driven丰富。我的原则是能选Driven Modal就不选Terminal因为Modal求解收敛更稳定而且对集总端口的支持更好。辐射边界也是个容易被忽视的坑。HFSS里有自动创建辐射边界的入口在Radiation菜单里选Create Radiation Boundary会自动给模型套一圈空气腔并赋上辐射边界条件。空气腔的大小默认是工作波长的四分之一这个规则在高频时没问题但低频就尴尬了。13.56MHz对应的波长是22米四分之一波长也要5米多一个线圈模型外面套一个5米的空气腔网格数量直接爆炸常规电脑根本跑不动。所以低频线圈仿真时我的做法是建一个半径远小于波长的空气腔比如半径为线圈尺寸的5到10倍然后对空气腔的外表面赋Radiation边界。严格来说这不是完整的辐射模拟但我们的目标是算线圈的阻抗和近场耦合只要边界距离足够远到不影响线圈附近的场分布结果就是可信的。如果你做的是GHz级别的螺旋电感比如射频芯片里的电感那空气腔四分之一波长是合理的模型不大仿真也快。另外如果你想要调整空气腔的尺寸可以用Move Faces命令直接选中空气腔外表面拖动非常方便。3.2 端口设置与激励的细节螺旋线圈两端口的激励我基本都用集总端口Lumped Port。创建一个矩形面放在线圈一端导线截面上另一端同理然后给每个矩形面分配Lumped Port并设置积分线。积分线必须从一端连到另一端而且方向要跟电流方向一致。很多人仿真报错“Port not suitable”就是因为积分线没设置或者积分线设置在了非金属边界上。如果你的螺旋线圈是做成传输线结构的一部分比如螺旋微带线或者带状线那就更适合用Wave Port。这里说一下经常被搜到的“HFSS波端口的deembed功能”。Deembed的意思是把端口的参考面从实际端口位置“移走”相当于去除一段传输线的影响。比如你在仿真中给线圈加了很长一段馈线但你只想看线圈本身的S参数就可以在Wave Port设置里填Deembed距离HFSS会自动移去这段距离的相位延迟。注意Deembed只对波导结构和非TEM结构的部分模式有效对同轴线这种TEM结构直接用参考面移动也行。用完之后查看S参数会发现S11的相位变了幅度基本不变。还有朋友问“基于HFSS微带一分四功分器设计”时波端口怎么加15kW功率。其实HFSS默认每个端口激励功率是1W你可以在端口属性里把Power值改成15000W。但我要提醒你改大功率只影响场的绝对幅度不影响S参数和阻抗结果。15kW这种大功率场景真正要注意的是场强是否击穿你需要在后处理里看E场峰值是否超过材料的击穿场强比如空气的约3kV/mm而不是单纯看S参数。3.3 网格剖分与收敛控制HFSS的自适应网格剖分是一把双刃剑。用得好的情况下它能自动在电场梯度大的区域加密网格得到高精度的结果用得不好就是反复迭代不收敛一跑就是几个小时。我的做法是先把自适应迭代次数上限设成15次收敛条件Delta S设为0.02。如果算到第8次还没收敛我会先停下来看看是哪几个高频点不收敛而不是让它继续傻跑。螺旋线圈这类细长结构有个特点导线的直径远小于线圈的整体尺寸。自适应网格基于S参数误差来加密可能在导线截面上网格数量不够导致电流分布算不准。这种情况下可以在导线表面手动加一个Mesh Operation选中导体的外表面设置最大三角形边长。比如线径0.2mm我就把表面网格限制在0.05mm以内这样能保证线截面至少有4个网格电流分布的分辨率足够。代价是网格数增加仿真时间变长但对精度提升非常明显。另外仿真速度上也有技巧。如果你只需要某个频点的结果就把频率扫描设为单点如果你需要看宽频响应用Interpolating扫描比Discrete扫描快很多尤其是网络S参数比较平滑的时候。插值扫描的误差容限默认是0.5%一般够了。我之前把误差容限调到2%去试过速度能快将近一倍但S参数曲线会出现小毛刺得不偿失。3.4 频率扫描与后处理提速对螺旋线圈进行宽带仿真时频率范围通常要覆盖从工作频点到自谐振频率。扫描点数不用太多插值扫描会自动在曲线弯曲剧烈处加点。算完之后在Results里创建S参数报告或者Z参数报告。我的习惯是同时看S11的dB曲线和Z11的实部、虚部曲线前者判断谐振和匹配后者用来推电感和Q值。导出S参数文件是后处理的常规操作。选中Results里的S参数表右键Export选择Touchstone格式也就是.sNP文件。如果你忘了导出步骤直接搜索“HFSS导出SNP文件”也能找到一堆教程但要注意导出时归一化阻抗默认是50欧。如果你的系统特性阻抗不是50欧记得在导出设置里改掉否则导入到ADS或者Matlab里对不上。多端口的螺旋线圈结构比如双线圈无线传能系统导出的是S4P文件里面包含了所有端口之间的传输和反射系数后续做电路协同仿真非常方便。我经常看到有人用HFSS仿真完线圈之后又去ADS里搭匹配网络。这时候HFSS导出的S参数文件就是沟通两个工具的桥梁。你可以在HFSS里把S参数导出然后在ADS里用Data Item控件导入S参数文件再串联电容、电阻等元件就能快速评估匹配网络对系统效率的影响。这算是“场”跟“路”结合的经典工作流比在HFSS里硬画电路元件要高效得多。4. 常见问题排查与实用技巧4.1 模型建了却仿真报错我仿真螺旋线圈这些年遇到最多的报错就是端口设置和模型拓扑的问题。最常见的错误是提示“Port surface not valid”或者“Lumped port cannot touch conductor and radiation boundary simultaneously”。这个的意思是端口面和辐射边界挨得太近或者端口面同时接触了金属和背景。解决办法是把端口面向内移动一点让它完整落在导体截面上不要让端口边缘跟辐射边界重合。另一个高频问题是模型对象自相交。螺旋线扫掠时如果螺距pitch比线径还小相邻匝就会互相穿透。HFSS的模型检查有时候不会报错但求解器会提示“Invalid geometry check for overlapping objects”。遇到这种情况不用重画试试Modeler Boolean Unite把相邻匝合并。如果合并失败就说明几何上确实存在交叉需要把pitch调大或者把线径调小。4.2 从HFSS导出S参数和SNP文件的注意事项导出S参数时我先在Results里创建一个Smith Chart图确认一下数据是否合理然后再导出Touchstone文件。导出的文件后缀是.s1p还是.s2p取决于端口数量。单个螺旋线圈通常是.s2p双线圈是.s4p。导出时HFSS会问你要不要包含归一化阻抗我通常选50欧。如果你后续要在HFSS电路仿真里直接使用这个文件也可以在Data Reports里右键选择Export To Circuit这样会直接把S参数模型导出到HFSS的Circuit Designer里面省去手动导入的麻烦。导出后建议用记事本打开看一眼文件头确认频率范围和端口数对不对。我遇到过导出的文件包含了整个扫描频段而不是工作频段导致在ADS里看时数据量太大仿真速度变慢。这个可以在导出前先把扫频范围收窄只导出你关心的频段。4.3 用场计算器计算线圈两端的电压有朋友在论坛上问“HFSS中场计算器计算电压”。这个在螺旋线圈仿真里确实会用到尤其是你想评估线圈开路电压或者感应电压时。操作方法是先在场结果里选择电场E然后在Calculator里依次点击Quantity E、Geometry Line、选择积分路径、积分操作Int最后把数值保存成命名表达式。我建议你选一条沿线圈轴线方向、从一端到另一端的直线路径这样得到的电压意义更明确。需要注意场计算器里的Line需要提前在Modeler里建好而不是直接输入两个点。建一条Polyline从线圈一端中心连到另一端中心计算器选中这条线后再做积分。4.4 高频提问速查表问题常见原因处理方法螺旋线圈画出来是空心面而不是实体扫掠时选中了面而不是实体或者截面未闭合检查圆形截面是否为完整圆重新执行Sweep Along Path仿真一直不收敛网格不够密或收敛条件过严设置Max Delta S0.02~0.05手动加密线圈表面网格电感值仿真和实测差很多端口积分线方向错误或忽略了线圈分布电容复测端口积分线方向把仿真频率压低到远离谐振点再读取电感导入CAD模型后尺寸不对单位换算错误导入前核对STEP文件的单位导入后量一个已知尺寸核对导出SNP文件在ADS里无法使用归一化阻抗不一致或频率点重复统一设50欧重新导出并检查文件头想让HFSS自动生成辐射边界忘记在Radiation菜单操作在Radiation Assign Radiation Boundary里创建空气腔并赋边界Altium画好的PCB螺旋线圈无法导入HFSS缺少ODB或中间转换格式用ODB格式导出再在HFSS里Import ODB注意分层选项天线效率仿真结果偏低辐射边界太小或损耗设置不当增大空气腔尺寸检查介质损耗角正切设置这些坑我基本都踩过。尤其是导入CAD后忘了检查单位一整套螺旋线圈模型缩水成细菌大小网格剖分直接崩了。后来我养成了一个习惯每次建完模型用Measure命令量一下关键尺寸确认无误再开始仿真。最后说一个对我自己工作流影响最大的习惯把螺旋线圈仿真做成一个可复用的模板。变量表定义好N、pitch、d、R等参数端口和网格设置都按经验预设好下次接到新项目只需要改变量范围就能快速跑起来。这个模板帮我省下的时间比任何仿真技巧都多。你做线圈仿真时也建议从一开始就有意识地建立模板而不是每次从空白工程重新开始。
返回列表