热循环疲劳分析 — 焊点接合部、电子封装的寿命预测
热循环疲劳的理论基础
热循环疲劳的驱动力
热循环疲劳为什么会导致焊点接合部破坏?只是温度上升和下降,并没有施加很大的力量啊。
很好的观点。根本原因不是直接外力,而是材料间热膨胀系数(CTE)的不匹配。例如,Si芯片的CTE约为2.6 ppm/°C,FR-4基板约为14-17 ppm/°C。温度从25°C变化到125°C时,这100°C的差异所产生的应变差简单计算为
塑性应变不断积累意味着焊料不会完全恢复原来的形状,对吧?怎样评估这种积累量呢?
完全正确。焊料(例如Sn-3.0Ag-0.5Cu)在室温附近已经由蠕变主导,每个循环都会留下痕迹。评估需要用到"稳定的塑性应变范围"
另一个寿命公式
这是基于剪切应变范围的Darveaux模型。用于BGA(球栅阵列)这类剪切变形为主的接合部。Δγ是剪切应变范围,从焊球的剪切变形计算。ε_f' 是疲劳延展系数,c是疲劳延展指数。Ansys的疲劳库中,SAC305的Darveaux常数通常为ε_f'=0.325, c=-0.442。该模型的特点是能分别评估裂纹发生和扩展。
热循环疲劳的数值计算方法
连成解析的策略
热和结构的连成分析,"直接耦合"和"间接耦合"哪种更适合热循环疲劳?
对于热循环疲劳,几乎肯定是"间接耦合(顺序结合)"。原因在于时间尺度不同。热传导和热膨胀导致的应力发生在数分钟到数十分钟的循环中,但焊料的蠕变和塑性是更慢的过程。直接耦合的非线性收敛会非常困难。实务中的做法是:先进行热分析(稳态或瞬态)求得温度分布,然后将结果作为"体积荷载"读入结构分析。Abaqus用`*TEMPERATURE`,Ansys用`LDREAD`命令。
焊料的材料模型应该怎样设置?线性弹性肯定不行吧。
当然不行。必须是"温度相关的弹塑性"和"蠕变"的结合。Ansys中,同时使用`PLASTIC`和`CREEP`。蠕变本构通常用Garofalo-Arrhenius(双曲正弦)模型:
用有限元分析求塑性应变范围Δε_p,需要模拟多少个循环?
通常3~5个循环就足够了。前1~2个循环包含瞬态响应(shake-down效应),从第3个循环开始应力-应变滞后环路就稳定了。Ansys中用`CYCLIC HARDENING`模型,或Abaqus中直接定义循环进行计算。关键是温度曲线和保持时间要符合实际试验条件(例如JEDEC JESD22-A104的Condition G:-40°C到125°C,保持10分钟)。保持时间太短会导致蠕变不充分,影响结果。
热循环疲劳的实务应用
工作流程与验证
开始实际分析前,有没有像检查清单一样的模型设置确认项?
有5个必须确认的项目:1)所有材料的CTE和弹性模量是否为温度相关数据,2)焊料是否定义了塑性和蠕变模型,3)热分析和结构分析的网格(特别是接口部分)是否一致,4)热分析的对流边界条件(自然对流的标准参考值h=5~10 W/m²K)是否合理,5)热循环的升温降温速率(典型为10°C/min)和保持时间是否符合规范。忽视这些会使结果物理无效。
边界条件中常见的错误是什么?基板要完全固定吗?
这是最大陷阱之一。现实中的基板(PCB)即使螺钉固定,螺孔周围也会略有变形。如果将整个基板完全固定(约束所有自由度),会导致焊点处的应变严重高估,寿命预测可能低估到1/10以下。应该的做法是:在螺孔位置创建刚体单元(RBE2/RBE3),仅对主节点施加平移约束,这样允许基板略有挠曲,可以更现实地考虑焊点的应变。
结果怎样验证?如果没有实验数据,能判断解析的可信度吗?
完全验证需要实验,但可以做几个理性检查。首先,最高温度时的应力是否超过焊料的温度相关降伏应力(125°C时SAC305约20 MPa)。如果没有超过,说明塑性变形没有被激活,模型太硬。其次,看应力-应变滞后环路。如果没有明显的滞后环(开放的环),说明没有蠕变或塑性。最后,最危险的焊球位置。通常应该是角落焊球(最端部)显示最大的Δγ,否则需要检查边界条件和对称性设置。
热循环疲劳的软件比较
各工具的方法
Ansys Mechanical和Abaqus/Standard在这类分析中的方法有很大区别吗?
物理核心相同,但工作流和收敛特性有差异。Ansys在`MAPDL`或`Workbench`环境中,用`LDREAD`读取热分析结果,有专用的材料库如`CHRYSO`。Abaqus/CAE中用`Predefined Field`指定温度,通过用户子程序`CREEP`细致控制蠕变本构。在收敛性方面,对于焊料这样的低降伏应力材料的大变形分析,Abaqus的`NLGEOM`(大变形)设置通常更稳健。
COMSOL Multiphysics怎样?它以直接耦合著称,能用吗?
COMSOL的"热应力"物理接口确实是直接耦合。但时间尺度问题依然存在,时间步长设置会很敏感。优点是温度曲线的参数化设置很直观,局部热点(热源)的影响评估也容易。另外,疲劳后处理模块内置,可以试用`Dang Van`和`Findley`等多轴疲劳准则。缺点是焊料专用的材料库不如Ansys和Abaqus那么完善,材料常数的获取和输入需要用户自己负责。
免费/低价软件(如CalculiX、Code_Aster)能做吗?
理论上可能,但实际障碍很大。CalculiX和Code_Aster都能定义温度相关材料和蠕变。问题在于"收敛"和"后处理"。商用求解器有高级的非线性收敛算法(线搜索、弧长法),能稳定求解焊料这样的软质材料。开源软件往往收敛困难,必须把时间步长或网格细化到极端,导致计算成本爆炸。而且,从稳定滞后环路自动计算Δε_p的后处理功能几乎没有。研究用可以尝试,但设计决策的实务工作不推荐。
热循环疲劳的故障排除
收敛误差与物理不匹配
分析过程中出现"过度变形"错误,计算停止。焊点要素严重扭曲。
这是典型问题。原因有两个。第一,焊点与相邻部件(铜垫等)之间的"刚体旋转"。即使接触定义为"粘合",厚度方向刚性太低时焊点也会过度剪切。对策是在焊球侧面添加非常细的"约束单元",用约束方程(Ansys的`CERIG`等)抑制非物理旋转。第二,网格太粗,无法捕捉变形。焊球厚度方向至少需要3层单元。
塑性应变范围Δε_p的计算值比文献值(如0.1%)小一个数量级,只有0.01%左右。哪里出问题了?
模型"太硬"了。首先重新检查基板的固定条件(是否变成了完全固定)。其次,看焊料以外的材料,特别是"底填"或"模塑树脂"。这些高分子材料的温度相关性比焊料还强。例如,环氧底填在125°C时弹性模量会降到室温的1/3以下。忽视这种软化,会抑制整体变形,焊料应变被低估。
重复热循环时,应力逐渐下降,最后几乎为零。这是正常的吗?
这表示"应力松弛"过度发生,即蠕变模型太强。检查Garofalo公式中的系数A(蠕变系数)。另外,蠕变在高温时明显,检查温度曲线的"保持时间"是否过长。现实试验中也会发生应力松弛,但不会完全降到零。还要检查降伏应力的设置。温度相关降伏应力定义不当,会导致塑性过易发生,应力早期释放。要对照材料数据表(例如Indium Corporation的SAC305数据表)。
寿命预测结果(Nf)的分散很大,和实验数据对不上。哪个参数灵敏度最高?
灵敏度最高的是Coffin-Manson准则的指数`n`。当n从0.5变为0.6时,寿命Nf变为
有帮助
更详细
错误