热循环疲劳分析 — 焊点与电子封装的寿命预测
理论与物理
热循环疲劳的驱动力
在热循环疲劳中,焊点为什么会失效?仅仅是温度上升和下降,并没有施加很大的力啊。
问得好。原因不是直接的外力,而是材料间热膨胀系数(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(双曲正弦定律):
为了在FEA中求得塑性应变范围Δε_p,需要模拟多少个循环?
通常,运行3~5个循环就足够了。最初的1~2个循环包含瞬态响应(包辛格效应),但从第3个循环开始,应力-应变滞后回线会稳定下来。使用Ansys的`CYCLIC HARDENING`模型,或者在Abaqus中直接定义循环进行计算。重要的是,温度曲线和保持时间要与实际测试条件(例如:JEDEC JESD22-A104的Condition G: -40°C to 125°C,10分钟保持)匹配。保持时间过短,蠕变无法充分发生,结果会不同。
实践指南
工作流程与验证
在实际开始分析之前,有没有像模型设置检查清单之类的东西?
必须确认的项目有5个:1) 所有材料的CTE和弹性模量是否为温度相关数据,2) 焊料是否定义了塑性和蠕变模型,3) 热分析和结构分析的网格(特别是界面)是否一致,4) 热分析的对流边界条件(h=5~10 W/m²K是自然对流的参考值)是否现实,5) 热循环的升降温速率(典型为10°C/min)和保持时间是否符合规格。如果忽略这些,结果将毫无物理意义。
在边界条件方面常见的错误是什么?基板可以完全固定吗?
这正是最大的陷阱之一。实际的基板(PCB)即使是用螺丝固定的,螺丝孔周围也会有轻微变形。如果将整个基板完全固定(Encastre),会高估焊点处的应变,有时会将寿命低估到1/10以下。应该改为在螺丝孔位置创建刚性体单元(RBE2/RBE3),仅约束其主节点的平移自由度,施加类似"点焊"的条件。这样可以允许基板产生轻微弯曲。
如何验证结果?没有实验数据能知道分析的可靠性吗?
完整的验证必须依赖实验,但可以进行合理性检查。首先,确认最高温度时的应力是否超过了焊料的温度相关屈服应力(125°C时SAC305约为20MPa)。如果没有超过,则不会发生塑性变形,说明模型过硬。其次,查看应力-应变滞后回线。如果没有明显的滞后(回线未闭合),则蠕变或塑性未被激活。最后,查看最危险的焊球位置。角落的焊球(最边缘)应该显示出最大的Δγ,如果不是,则需要重新检查边界条件或对称性设置。
软件比较
各工具的方法
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.01%左右,比文献值(例如0.1%)小了一个数量级。哪里出了问题?
这是模型"过硬"的证据。首先,重新检查基板的固定条件(是否如前述变成了完全固定)。其次,检查焊料以外的材料,特别是如果存在"底部填充胶"或"模塑树脂",其材料数据是否仅为室温下的各向同性弹性。这些聚合物材料的温度依赖性比焊料更强。例如,环氧树脂类底部填充胶在125°C时弹性模量会降至室温的1/3以下。如果不考虑这种软化,整体变形会受到抑制,焊料的应变会被低估。
重复热循环时,应力不断下降,最后几乎变为零。这是正确的行为吗?
这很可能是"应力松弛"过度发生,即蠕变模型太强。请检查前面Garofalo定律中的常数A(蠕变系数)。另外,蠕变在高温下显著,因此要确认温度曲线中的"保持时间"是否过长。在实际测试中,即使长时间保持应力会松弛,也不会完全变为零。另一个检查点是屈服应力的设置。如果没有正确定义温度相关的屈服应力,塑性变形会过于容易发生,导致应力过早释放。请与材料数据表(例如,Indium Corporation的SAC305数据表)进行核对。
寿命预测结果(Nf)的离散性很大,与实验数据不符。哪个参数最敏感?
最敏感的是Coffin-Manson定律的指数`n`。n从0.5变为0.6时,寿命Nf变为
なった
詳しく
報告