做电子封装相关的仿真工程师大概都绕不开这几类问题芯片焊点在回流焊工艺中会不会因为热失配被拉裂做温度循环试验的时候焊点应力最大出现在什么位置板级结构的翘曲风险在生产环节里什么时候最高前阵子我重新梳理了一个小芯片无铅焊点的板级模型从建模到求解完整跑了一遍顺手录了屏方便复盘。这篇文章就把截图之外的思路、参数和踩过的坑都写出来。分析主线很直接以 Ansys Workbench 工作台为主用顺序耦合法做一场回流焊温度曲线下的热应力计算再做标准温度循环的累积等效塑性应变评估。这个方法不追求极限精度但解决的是工程上最关心的两个问题——工艺期间是否会产生瞬时失效风险以及长期温度循环下焊点的相对寿命趋势。适合刚接触电子封装热应力仿真的结构工程师阅读也适合做可靠性的同事对照温度循环试验结果做初步判断。1. 这个项目到底在分析什么1.1 回流焊为什么会产生热应力回流焊工艺中整个板件经历的温度曲线通常是预热、保温、回流和冷却四个阶段。焊点从固态加热到熔融峰值温度再冷却回到室温。在这个过程里芯片、焊料、基板、PCB 都在受热膨胀但大家的热膨胀系数不一样这个差异在封装行业里叫 CTE 失配。硅的线膨胀系数只有 2.6 ppm/K 左右FR-4 基板平面方向能到 14-18 ppm/KSAC305 无铅焊料在 21 ppm/K 附近。同样升温 100°C硅材料自己延伸到千分之零点几而 PCB 材料能延伸到千分之一点几差值放大了约十倍。芯片和基板通过焊点连接在一起界面处被迫协调变形应力就从这里产生。焊点通常是整个结构里最薄弱的一环刚度相对低形变却高度集中。一拉一压之间应变几乎全让焊点吸收了所以回流焊热应力分析中最需要看的位置就是焊球本身以及与之相连的焊盘界面。温度变化速率同样重要。回流焊峰值温度远高于服役温度循环的上限但降温速率如果控制不好表面和内部温差大瞬时热梯度会加剧翘曲焊点颈部应力就成倍增加。冷却区一般按 2-4°C/s 控制仿真里也要按这个速率设定载荷。1.2 温度循环与回流焊的本质区别很多人会问回流焊和温度循环本质都是温度变化为什么不放在一起算这个问题我一开始也纠结过。后来实际对比才明白两者关注的失效机理完全不同。回流焊关心的是单次工艺过程之后的残余应力状态以及升温过程里焊料熔化前后会不会出现界面分层、芯片开裂。这个过程只经历一次或少数几次是一次性的制造风险。温度循环则对应产品的服役阶段。器件在设备里反复经历开机、关机、环境季节变化温度在低温到高温之间反复切换。哪怕单次循环的应力不大几百个循环之后焊点内部塑性应变不断累积最终导致疲劳开裂。这是典型的累积损伤过程。所以简化理解回流焊看的是“一次冲击”温度循环看的是“长期累积”。两者可以共用一套热-结构耦合模型但载荷曲线、观察指标和寿命判断逻辑完全不同。1.3 适合谁学、能解决什么问题这套分析流程主要适合三类人。第一类是做封装结构设计的工程师需要快速判断不同芯片尺寸、焊点间距、基板厚度方案对热应力的影响。第二类是做板级可靠性测试的同事失败后想搞清楚失效机理用仿真验证试验现象。第三类是刚接触有限元但熟悉电子工艺的人想掌握 Workbench 环境下热应力分析的标准流程。做这类分析能拿到的结果主要有三个回流焊结束后的残余应力分布、温度循环中的等效塑性应变幅值、整板翘曲位移。有了这些数据就可以相对公平地比较不同设计方案也能在试验之前预判风险区域。2. 模型处理与材料数据准备2.1 建模简化的核心原则很多新手拿到一个真实芯片模型就想原样导进去。这个习惯在做热应力分析时要改掉。真实芯片包含几十层金属布线、介质层、阻焊层、表面处理层全模型导入之后网格量爆炸求解时间拉满而且大部分细节对应力结果根本没有影响。以热应力为目标的分析关键是刚度差异和热膨胀差异明显的区域必须保留。我这套案例里保留了五类结构硅芯片、塑封体、基板、PCB、焊球。至于走线、过孔、铜箔这些细节第一步统一忽略。如果后面发现某个区域的应力和试验失效位置对不上再针对性补细节。基板和 PCB 的层叠结构可以处理成各向异性弹性材料用等效刚度替代真实层叠。FR-4 面内各向异性不明显厚度方向模量偏低建模时要区分布层方向。芯片-焊球-基板-焊球-PCB 这个顺序要确保几何上连贯焊球上下两侧的焊盘厚度不要单独画出来直接作为不同材料分界面处理。焊盘厚度如果画出来网格会在极小尺寸处退化计算量增加但不带来多少精度提升。2.2 焊球网格怎么画才靠谱焊球形状接近鼓形上下被焊盘约束住中间鼓出来。这种结构对网格要求很苛刻是整个模型网格质量的核心。经验数值是焊球直径如果是 0.45 mm至少要在直径方向划分 6-10 个单元。也就是说单颗焊球要保证上下表面各有一层规则单元球体和焊盘交界处加密。网格用六面体扫略最理想但焊球数量多的时候全做六面体会很费时间。我通常的做法是先做二维切片测试取四分之一焊球验证网格策略确认应力收敛后再铺到全模型。如果时间紧用四面体网格配局部加密也可以出趋势性结论但焊球底部接触区的网格密度不能省。这个位置是应力集中区域网格太少会把峰值应力人为压低。焊球和上下焊盘之间的连接Workbench 里用 Bonded 接触就可以。接触区域要保证法向不穿透切向不滑动绑定接触把整块连接区当成一个连续体符合焊料凝固后冶金结合的事实。需要注意接触面的网格节点最好能共节点否则嵌入容易造成应力不连续。2.3 材料参数表与工程数据录入材料参数是仿真可信度的生命线。下表是我这套案例用的初始材料属性实际操作时一定要向材料供应商要实测的随温度变化曲线不要拿手册常温值硬套。材料弹性模量泊松比CTE密度温度相关性硅芯片130 GPa0.282.6e-6 /K2330 kg/m³弱可近似常数塑封料 EMC18 GPa0.3010e-6 /KTg以下1900 kg/m³强必须随温度FR-4 PCB面内 22 GPaZ向 10 GPa0.14面内 15e-6 /K1900 kg/m³强玻璃化转变后变软SAC305 焊料51 GPa0.3521e-6 /K7360 kg/m³强高温下急剧软化焊料的温度相关性要特别重视。室温下 SAC305 弹性模量能到 51 GPa到了 200°C 以上可能掉到只有常温的一半不到。回流焊峰值温度接近焊料熔点模量严重降低应力积聚主要在冷却阶段这个次序模拟得对不对直接决定残余应力方向准不准。在 Workbench 里把上述材料录入 Engineering Data 时最好用表格分段输入温度相关曲线。不要只输入常温单点值否则后面结构分析的温度载荷一升上来材料属性完全是错的求解结果没有参考价值。3. 热-结构耦合分析怎么搭3.1 顺序耦合法为什么够用热应力分析在 Workbench 里常见两条路线直接耦合法和顺序耦合法。直接耦合法在同一个求解器里同时求解温度场和应力场每一步都考虑变形对传热的影响理论上更精确。但代价是求解规模大、非线性收敛困难而且电子封装里热变形对温度场的影响微乎其微得不偿失。顺序耦合法先单独做瞬态热分析得到随时间变化的温度场再把温度场作为载荷映射到结构分析里。两个系统串行求解每一步都可以单独检查和调试非常符合工程分析的节奏。我这套案例选择顺序耦合还有一个实际原因焊接工艺的温度曲线和温度循环曲线差异很大分开分析可以在热分析阶段就独立验证温度曲线加载得对不对不用连结构模型一起反复重算。3.2 Workbench 项目流程搭建步骤搭建过程并不复杂但每一步的连接关系要理清楚。第一步拖入 Transient Thermal 和 Transient Structural 两个分析模块。第二步把共用几何关联。在 Workbench 示意图区把 Geometry 单元格用连线连接两个模块保证两个分析读取同一套几何模型。第三步把热分析结果耦合到结构分析。将 Transient Thermal 的 Solution 单元格拖到 Transient Structural 的 Setup 单元格上建立数据传递连接。第四步进入 Mechanical 界面确认结构分析中温度载荷是否已经挂在树形目录下。正常会看到 Body Temperature 或 Imported Load 条目载荷来源指向热分析。这套流程里最容易出错的是第三步连接没建立成功。如果结构分析里没有出现 Imported Load 或温度载荷先回项目示意图看连线是否完整。不要在结构分析里手动输入温度值那会丢失时间相关性变成恒温载荷。3.3 温度载荷映射的隐藏细节热分析和结构分析如果共用同一套网格温度场从热求解器传递到结构求解器时是节点对应的没有任何插值损失。我这套案例里在 Mechanical 里只设置了一次网格两个分析共享网格数据省心也准确。如果热网格和结构网格不一样Workbench 会做节点插值。大部分情况下插值误差在可接受范围但焊球与焊盘界面这种高梯度区域插值可能把温度剧烈变化抹平从而低估应力。还有一个特别容易忽视的点初始温度。热分析的初始温度默认是环境温度 22°C 或 25°C而结构分析有一个 Reference Temperature默认也是 22°C 左右。两者不一致时结构分析会把差值当成真实热应变计算进去。模拟回流焊时热载荷从 25°C 开始结构分析的参考温度要手动改成 25°C否则最初几步就会看到虚高的应力尖峰。4. 载荷与边界条件的实操设置4.1 回流焊温度曲线怎么设回流焊温度曲线不能用一个恒温载荷代替要按工艺阶段分段输入。我采用的典型曲线是预热区从 25°C 用大约 90 秒升到 150°C保温区维持 120 秒左右让助焊剂充分活化回流区 60-70 秒快速升到峰值 245°C冷却区从峰值降到室温大约用 100-150 秒。在 Transient Thermal 里设置时用 Tabular Ambient Temperature 配合 Convection 边界而不是直接给结构表面施加固定温度。原因是真实炉子里是靠热风对流加热的表面边界是第三类传热边界导热和表面对流同时存在。如果直接固定表面温度相当于把表面换热系数设成无穷大芯片中心和表面之间就不会有温度梯度应力会被低估。对流系数按炉内强制对流取 30-50 W/(m²·K)。如果模拟氮气回流环境气体流速更高可以适当上调到 40-60。板件底部如果有传送带遮挡那个区域的换热条件不一样可以考虑分区设置对流边界。初始温度统一设为 25°C和结构分析的参考温度保持一致。4.2 温度循环加载的设置方法温度循环的载荷比回流焊简单但循环次数多、时间跨度长设置时更要注意计算规模。我采用的标准循环是低温 -40°C 保温 30 分钟高温 125°C 保温 30 分钟升温降温速率为 10°C/min。整个循环两小时。模拟计算时不要真的跑几百个循环那样计算时间不可接受。工程惯例是算 3 个循环让应力随循环次数达到稳定状态然后取最后一个循环的塑性应变幅值作为寿命评估依据。在 Workbench 里把温度循环载荷写成多段表格时间点和环境温度一一对应。升温段用 3-5 分钟一步保温段用 5-10 分钟一步这样既保证温度变化平滑过渡又不会让总子步数量失控。温度循环箱的对流系数按强制气浴取 20-40 W/(m²·K)。这个数值比回流焊炉略低因为试验箱风速通常比炉内低一些。如果试验标准里给出了实际风速可以换算成对流系数再输入。4.3 约束条件怎么设才不会假应力爆表约束设置是整个仿真里最容易出错、也最影响结果可信度的环节。热应力分析中结构在受热时自由膨胀如果约束过强原本应该平衡的热应力会被人为放大应力云图上出现看似危险实际虚假的红色区域。我这套案例使用最小约束原则。PCB 板四个角孔中一个角完全固定限制所有平动自由度另一个角只允许面内滑动其余角用弱弹簧约束面外方向。这样结构既有足够的约束消除刚体位移又能自然膨胀不会在边界处产生额外约束应力。焊球阵列中间的应变集中完全来自 CTE 失配和边界约束无关。如果后处理时发现整板应力分布均匀但某个边角板上应力特别大多半是约束设置的问题。这时候可以做一个对照仿真把约束释放再算一遍看应力峰值是否显著下降。如果峰值下降超过 20%说明原来的约束过强需要调整边界条件。5. 求解设置与收敛控制5.1 大变形开关该不该开大变形开关在结构分析里控制几何非线性。对于温度循环和回流焊这类分析很多人一上来就打开 Large Deflection理由是焊点塑性应变大。其实这里要区分概念焊点应变大是材料非线性不一定是几何大变形。板级翘曲位移如果小于板厚的一半几何非线性效应可以忽略。我通常先关闭大变形算一版观察位移结果如果翘曲量达到厚度的 10% 以上再打开大变形做对比。大多数封装级模型都满足小变形假设开着大变形反而容易在接触和大变形判定上引发收敛问题。5.2 时间步、塑性和蠕变的调试顺序温度循环中最常见的收敛失败来自时间步过长。塑性材料在载荷突变时迭代收敛困难必须让自动时间步有足够空间加密。我在结构分析里设置自动时间步初始子步设为 10 分钟最小子步设为 0.5 分钟。遇到不收敛求解器会自动缩小子步直到找到可收敛的时间增量。焊料塑性模型推荐 Multilinear Plasticity 或 Bilinear Kinematic Hardening屈服应力设置为温度相关。如果只追求规律趋势用双线性随动硬化已经够用参数少、收敛容易。如果目标是定量评估焊点寿命建议在焊料本构里加入基于蠕变的 Anand 模型或 Garofalo 模型。蠕变引入后计算时间成倍增加每一步都要迭代应力松驰我会先关闭蠕变跑普通温度循环确认塑性应变分布合理后再开启蠕变做最终分析。求解器设置在材料非线性加接触的情况下建议把 Newton-Raphson 选项改成 Unsymmetric提高塑性收敛能力。默认的对称求解器在某些硬化模型下迭代残差下降慢容易在中途因为迭代次数超限中断。5.3 网格无关性粗略验证应力集中区比如焊球-焊盘过渡尖角网格加密后应力会继续升高这是典型的应力奇异现象。面对应力奇异单纯的加密只会让峰值无限增大没有物理意义。工程上实用的做法是取焊球内部靠近界面的区域离尖角一定距离处提取平均应力用它做网格无关性验证。把这个区域的网格整体加密 1.5 倍如果平均应力变化在 10% 以内我们就可以认为网格基本不影响结论。这套验证过程大约要额外花两到三个小时但能让后续结论站得住脚。6. 结果怎么读、寿命怎么判6.1 回流焊后重点看哪些量回流焊分析结束后我先看三样东西。第一是焊球残余 von Mises 应力分布找出应力最大的焊球位置。通常位于芯片下方四角对应的焊球因为它们离中性点的距离最大。第二是芯片-塑封体界面的法向应力用 Normal Stress 输出 Z 方向分量。塑封层与芯片 CTE 差异大界面受拉是分层失效的主要驱动力。第三是整板翘曲位移。把位移云图与回流焊后的实际板形作对比如果翘曲方向一致说明模型的 CTE 方向设置是对的。6.2 温度循环寿命怎么评估温度循环的寿命评估工程上常用简化的 Coffin-Manson 公式N_f C / (Δε_eq)^b。其中 Δε_eq 是等效塑性应变幅值C 和 b 是材料常数。需要强调一点这个公式只适合做趋势判断和方案比较不适合当作精确寿命预测。把材料常数带入算出的寿命可能与试验差几倍甚至十几倍。更合理的使用方式是基准设计方案算一次改进方案算一次比较两者的疲劳寿命倍数变化得出结论“这个设计优化能让焊点寿命提升到原来的几倍”。等效塑性应变可以从结果中输出。温度循环跑 3 个循环后取最后一个循环内的塑性应变极差作为 Δε_eq。云图中应变集中区域往往和试验失效位置高度重合这一点很有参考价值。6.3 仿真结果的可信度检查检查温度场是否合理。回看热分析温度历史确认板件峰值温度到达时间和回流焊炉温曲线设定值一致。检查应力量级是否合理。做一个简单手算芯片和 PCB 的 CTE 差值乘以温度变化幅度再乘以一个约束系数得到远场应力估算值与仿真云图对比量级是否接近。检查位移历史曲线是否平滑。如果翘曲位移在某个时间点突然跳变会是约束失效或接触打开需要回头检查。7. 常见问题与排查心得7.1 常见问题速查表现象可能原因排查方法应力远高于手算量级边界约束过强改用最小约束去掉多余固定温度循环第 1 步应力就爆表热分析与结构分析参考温度不一致统一参考温度和环境温度结构分析没有温度载荷项目连接失败检查示意图中的连接线求解中途报负特征值不收敛时间步过大或材料刚度异常减小初始子步检查材料曲线焊点应力随网格加密一直升高应力奇异提取离尖角一定距离的平均应力翘曲方向与实测相反CTE 或材料方向设置错误检查层叠方向和 CTE 符号7.2 避坑心得新手最容易卡在项目连接和参考温度这两件事上。项目连接可以按流程一步步对参考温度却很少有人在第一版就注意到。材料曲线只填常温值也是常见问题。如果热分析已经把温度升到 200°C 以上结构分析用的还是室温模量焊料根本不会表现出软化特征应力极大值会显著高估。我养成一个习惯温度循环跑完以后先打开第一个循环的应力历史曲线如果发现初始几步有数值跳变直接怀疑初始条件如果曲线平滑且每循环形状一致再继续做寿命评估。这个过程极度节省时间比盲目信任云图可靠得多。最后再分享一个实操中的小习惯每次算完回流焊我都会单独导出一份芯片-塑封体界面的法向应力云图。这个图在材料选型阶段特别好用因为塑封料和芯片的 CTE 匹配程度往往决定了界面风险等级。算过一次模型后续换材料只需要更新材料库重新求解前后对比就能清楚看到改进方向。工具只是手段把分析结果变成设计决策依据才是仿真工程师真正要练的功夫。