某个批次的电源模块在高温老化房里跑到第三个月开始零星失效,常温下用户端要到第三年才会出现同样的症状。项目组需要在两周内回答一个问题:这批货在用户手里能不能撑过质保期。实验室里没有人真的等三年,靠的就是一条指数关系和两个参数——活化能 Ea 和指前因子,把"三年"压缩成"三个月"。这套方法的学名叫加速寿命试验,业界更习惯把 Ea 叫作温度加速的"斜率钥匙"。它不神秘,但极易被误用:同一个产品,Ea 取 0.5 eV 还是 0.7 eV,外推出来的寿命能差七八倍。下面我就按自己实际做项目的顺序,从原理、参数来源、试验设计、数据拟合、模型边界到报告落地,把这条链路完整走一遍,适合刚接触可靠性工程的同学,也适合做过几次加速试验但对 Ea 取值心里没底的老手。
1. 一次"三个月等于三年"的加速,凭什么成立
1.1 把化学反应速度搬到可靠性台上的那条桥
产品失效在微观层面绝大多数是化学反应或者物理扩散过程:电解液挥发、金属离子迁移、氧化层生长、聚合物链断裂、界面金属间化合物增厚。这些过程的共同点是速率受温度强烈影响,而且不是线性影响。温度每升高 10 ℃,速率大致翻一倍,这个"十度法则"是工程上的粗略说法,它背后就是阿伦尼乌斯关系。
十九世纪末研究化学反应速率时得到的经验公式写成k = A·exp(−Ea/(R·T)),其中 k 是反应速率常数,A 是指前因子(也叫频率因子),Ea 是活化能,R 是气体常数,T 是绝对温度。物理图像可以这么理解:分子要发生反应,必须先跨过一道能量门槛,Ea 就是这道门槛的高度;温度越高,分子平均动能越大,能跨过门槛的比例按指数规律上升。指数项是这套方法能当"时间机器"用的全部原因。
把这条关系挪到可靠性上要做一个关键假设:失效时间与反应速率成反比。反应越快,坏得越早。于是 t ∝ 1/k,把 k 代进去,寿命和温度的关系就变成 t = (1/A)·exp(Ea/(R·T))。这个假设在扩散控制、单一机理主导的场景下成立得相当好,但一旦失效机理发生切换,它立刻失效——这一点后面第 4 节会专门拆。
我在项目里见过最常见的误解,是把阿伦尼乌斯当成一个"万能外推公式",只要有几组数据就往上套。其实它的成立条件相当苛刻:单一失效机理、机理在整个温度区间内不改变、失效由热激活过程主导、没有其他应力起主导作用。四条里破一条,算出来的数就只能当参考,不能当结论。
1.2 阿伦尼乌斯方程的三种写法与单位陷阱
这条公式在工程文档里有三种常见写法,混用是新手翻车的头号原因。
| 写法 | 表达式 | 适用场景 | 单位注意 |
|---|---|---|---|
| 摩尔形式 | k = A·exp(−Ea/(R·T)) | 化学、材料类文献 | Ea 用 J/mol,R = 8.314 J/(mol·K) |
| 电子伏特形式 | k = A·exp(−Ea/(k_B·T)) | 半导体、电子可靠性 | Ea 用 eV,k_B = 8.617×10⁻⁵ eV/K |
| 对数线性形式 | ln t = C + Ea/(k_B·T) | 数据拟合、作图 | 横轴取 1/T,斜率直接就是 Ea/k_B |
第三种写法是实操中最有用的。把 ln(寿命) 对 1/T 作图,如果数据点落在一条直线上,斜率乘以玻尔兹曼常数就是 Ea。这也解释了为什么加速试验的数据处理总是画"寿命对数 vs 温度倒数"的图:直线的斜率就是活化能,直线的线性度就是模型可信度的直观证据。
单位陷阱有两个高频点。第一,温度必须用开尔文,25 ℃ 是 298.15 K,不是 25。第二,Ea 用 eV 还是 J/mol 必须和 R 的取值配套。我见过一份报告里 Ea 写成 0.7,然后代进 R = 8.314 的公式,算出来的加速因子小了五个数量级,整份寿命预测直接作废。这种错误不涉及任何高深原理,纯粹是单位没对齐,但它在评审里出现的频率高得惊人。养成习惯:公式旁边永远标注单位,表格里单独开一列写清楚。
还有一个容易被忽略的细节:有些文献里的 Ea 是"表观活化能",是把多个并行机理叠加后拟合出来的等效值。它在你自己的温度区间内能用,换个区间就不准。看到别人给的 Ea 数值,先问一句:这是在什么温度范围、什么失效模式下测出来的。
1.3 加速因子AF:算出"时间机器"的倍数
工程上真正天天用的是加速因子 AF,定义是两个温度下寿命的比值:
AF = t_use / t_stress = exp[(Ea/k_B)·(1/T_use − 1/T_stress)]
注意括号里是使用温度的倒数减去应力温度的倒数,符号别搞反,否则算出来是小于 1 的数,等于说"高温下寿命更长",一眼就能看出错,但真有人这么写进报告。
拿一组具体数算一遍。Ea = 0.7 eV,使用温度 25 ℃(298.15 K),应力温度 85 ℃(358.15 K):
- 1/298.15 = 3.3540×10⁻³ K⁻¹
- 1/358.15 = 2.7921×10⁻³ K⁻¹
- 差值 = 5.6189×10⁻⁴ K⁻¹
- Ea/k_B = 0.7 / 8.617×10⁻⁵ = 8123 K
- 乘积 = 8123 × 5.6189×10⁻⁴ = 4.564
- AF = e^4.564 ≈ 96
也就是说,85 ℃ 下跑 1 小时,等效于 25 ℃ 下跑 96 小时,大约 4 天。三个月(约 2160 小时)的老化,等效常温 20.7 万小时,约 23.6 年。这就是"三个月等于二十年"的算术来源。
换成 125 ℃(398.15 K)再算:1/298.15 − 1/398.15 = 8.4240×10⁻⁴,乘 8123 得 6.843,AF = e^6.843 ≈ 936。125 ℃ 下 1 小时相当于常温 936 小时,约 39 天。所以 125 ℃ 跑 500 小时,等效常温约 53 年。
这里有个反直觉的地方值得强调:AF 对温度差不是线性的,而是指数敏感的。同样从 25 ℃ 出发,升到 85 ℃ 是 96 倍,升到 125 ℃ 是 936 倍,温度只多 40 ℃,倍数翻了近十倍。这意味着加速试验里温度控制精度极其重要。试验箱里 2 ℃ 的偏差,在 125 ℃ 附近对应的 AF 误差可以到 5% 以上,直接传导到寿命预测的置信区间上。
2. Ea这个数字,决定整台机器的刻度准不准
2.1 Ea不是材料的固有常数,而是失效机理的指纹
很多资料把 Ea 描述成"材料的属性",这个说法会误导人。同一块 PCB,焊点热疲劳、离子迁移、绿油老化,对应的 Ea 完全不同。Ea 描述的是"哪一个失效机理在主导",不是"这是什么材料"。
举个具体例子。某型号铝电解电容,如果失效模式是电解液通过密封橡胶扩散流失,Ea 大致落在 0.4 到 0.7 eV;如果失效模式是内部氧化膜修复不足导致的漏电流上升,数值会明显不同。同一批电容,工作在不同纹波电流下,主导机理可能就不一样,Ea 跟着变。
实践含义很直接:在测 Ea 之前,必须先做失效分析,确认失效模式和机理。我参与过一个项目,前期没做切片分析,直接按经验值 0.7 eV 外推,报告出去半年后客户返回的失效件剖开一看,是焊点热疲劳,跟温度激活的化学反应压根不是一回事,Arrhenius 完全不适用。那次返工的成本远高于多做几片切片。
所以标准流程应该是:加速试验跑到出现失效 → 抽样做失效分析(切片、SEM、能谱、红外或 X 光)→ 确认机理 → 再决定用哪个模型、取哪个 Ea。顺序颠倒过来,后面所有计算都是在错误的轨道上跑。
2.2 0.5 eV和0.7 eV外推出来的寿命差了多少
为了让这个敏感度具象化,用一组实测数据算。假设某模块在 125 ℃ 下实测特征寿命是 520 小时,现在要外推到 25 ℃。分别用三个 Ea 值算:
| Ea 取值 | Ea/k_B (K) | 指数项 | AF (125℃→25℃) | 外推常温寿命 |
|---|---|---|---|---|
| 0.50 eV | 5802 | 4.888 | 133 | 6.9 万小时(约 7.9 年) |
| 0.64 eV | 7438 | 6.266 | 526 | 27.4 万小时(约 31 年) |
| 0.70 eV | 8123 | 6.843 | 936 | 48.7 万小时(约 56 年) |
同一份试验数据,Ea 从 0.50 换到 0.70,寿命从 7.9 年变成 56 年,差 7 倍。这个量级的差异已经不是"估算精度"的问题,而是"结论对错"的问题。7.9 年意味着产品过不了十年质保,56 年意味着可以超设计寿命服役,两者在商业决策上是完全相反的结论。
这张表也解释了为什么业界对 Ea 的取值如此谨慎。凡是寿命预测报告里出现"参考同类产品经验取 Ea = 0.7 eV"这种表述,我都建议追问三件事:同类产品的失效机理是否确认一致、温度区间是否重叠、数据来源是否可追溯。三个问题里有一个答不上来,这个 Ea 就应该打问号。
顺带说一句,Ea 越大,加速因子对温度的敏感度越高,外推的杠杆越长,误差也被放大得越厉害。所以在 Ea 偏大的场景(比如某些电化学机理,Ea 可以到 1.0 eV 以上),我更倾向于把加速温度压低一些,宁可试验跑久一点,也不要为了省时间把外推距离拉得太夸张。
2.3 常见失效机理的Ea参考区间怎么用才不翻车
下面这张表是我从各类文献和项目实践里整理出来的常见区间,只能作为立项时的初始假设和结果合理性校验,绝不能直接当结论用。真正写进报告的 Ea,必须来自本产品本机理的实测数据。
| 失效机理 | 常见 Ea 区间 (eV) | 使用注意 |
|---|---|---|
| 铝电解电容电解液干涸 | 0.4 – 0.7 | 与密封材料、纹波电流强相关 |
| 半导体氧化层击穿(E 模型) | 0.3 – 0.6 | 电压应力主导,温度只是配角 |
| 金属化电迁移 | 0.5 – 0.7 | 电流密度是主应力,需配合 Black 方程 |
| LED 光通量衰减 | 0.4 – 0.6 | 与结温、驱动电流都相关 |
| 聚合物/橡胶热氧老化 | 0.6 – 0.9 | 受氧扩散控制时数值偏高 |
| 润滑脂氧化结焦 | 0.5 – 0.8 | 高温段易出现机理切换 |
| 环氧封装黄变 | 0.3 – 0.5 | 光学指标类,判据定义影响大 |
| 离子迁移 / 电化学腐蚀 | 0.7 – 1.0 | 湿度是强耦合因素,单温度模型不够 |
用这张表的正确姿势是"校验"而不是"取数"。比如你实测拟合出 Ea = 0.95 eV,而机理判定是铝电解电容干涸(区间 0.4–0.7),那就说明要么拟合有问题(温度点太少、数据噪声大),要么机理判定错了(可能实际是别的失效模式),要么试验里混入了额外应力。三种可能都需要回去查,而不是直接把 0.95 写进报告。
反过来,如果实测值和区间吻合,也不代表万事大吉,还要看拟合的线性度。三个温度点连成的直线 R² 高,只能说明数据自洽,不能说明模型正确——三个点永远能拟合出一条不错的直线,自由度太低了。
3. 把Ea从数据里"抠"出来:多温度点加速试验的完整链条
3.1 温度点怎么布:点数、跨度、上限
温度点的布置直接决定 Ea 的可信度,这里有三个互相制约的因素。
点数:最少 3 个,推荐 4 个。3 个点只能拟合出一条直线,没有任何多余的观测去检验线性;4 个点可以做一次lack-of-fit 检验,能发现拐点。我在正式项目里基本都用 4 点,多花的试验资源换来的是模型可信度,很值。
跨度:整体跨度建议 40 到 60 ℃。跨度太小,1/T 的差异被测量噪声淹没,Ea 的置信区间会宽到没有意义;跨度太大,低温端可能跑不出失效(试验时间不可接受),高温端可能跨入新机理区间。常见的组合是 85/105/125/150 或者 70/85/100/125,具体看产品的额定温度。
上限:这是最容易被忽略的一条。加速温度不能超过材料的物理化学边界,否则会激活产品在实际使用中根本不会出现的失效机理。几个典型红线:
- 塑料封装的玻璃化转变温度 Tg,一般在 120 到 150 ℃,超过 Tg 后分子链段运动模式改变,扩散系数跳变,Arrhenius 关系断裂
- 焊料熔点,无铅焊料约 217 ℃,加速温度离它太近会引入蠕变和金属间化合物快速生长
- 电解电容的额定上限温度,超额定使用会触发安全阀动作或加速密封件老化
- 某些灌封胶、导热垫的长期耐温上限,超温后不可逆降解
我的经验做法是把最高温度点设在"材料额定温度"或者"Tg 减 20 ℃"里更保守的那个值,然后往下按 15 到 20 ℃ 递减布点。宁可试验跑久一点,也不要为了压缩周期把温度顶到边界上。
3.2 样本量、失效判据和数据记录
样本量。每个温度点至少 8 个样本,推荐 12 到 20 个。原因是要做分布拟合,Weibull 的形状参数需要足够的失效样本才能估准。样本太少时,形状参数的置信区间宽得离谱,传导到特征寿命上误差被进一步放大。
如果某温度点跑到预定时间还没有全部失效,也没关系,这叫截尾数据,用极大似然估计照样能拟合,只是要如实记录截尾时间,不能当成"没坏"直接忽略。
失效判据。这一条在试验开始前必须白纸黑字定下来,中途不能改。常见的判据形式:
- 电气参数漂移超过初值的 ±10% 或 ±20%
- 光通量维持率跌破 70% 或 80%
- 绝缘电阻低于某个阈值
- 出现功能性失效(无法启动、通信中断)
判据定得越模糊,后面的数据越难用。我见过一份试验记录,失效判据写的是"性能明显下降",结果三个测试员给出了三种判断,数据完全没法做统计。判据必须是可测量的、有明确阈值的、任何人复测都能得到同样结论的。
记录规范。每个样本要有独立编号,记录内容包括:投入时间、每次检测时间点、检测时的关键参数值、判失效时间、失效现象描述、失效件是否留存。失效件一定要留,后面做失效分析全靠它。测试时间点的间隔也要设计,太稀疏会丢失失效时间的精度,太密集则测试本身会引入额外的插拔应力和热冲击。
一个实操技巧:在预计失效集中的时间段加密检测,前期可以稀疏一些。预计失效时间可以从预试验或者经验值粗略推算,不用很准,能大致定位区间就够了。
3.3 两级拟合:温度内做分布,温度间做Arrhenius
数据处理分两阶段,这是很多人做错的地方——直接拿每个温度点的第一个失效时间去做 Arrhenius 拟合,那是把分布信息全扔了。
第一阶段,温度内拟合分布。对每个温度点的样本失效时间做 Weibull 或者对数正态拟合,得到一个特征寿命 η(Weibull 里是 63.2% 失效对应的时间)或者中位寿命。这一步的作用是把"同温度下样本之间的离散"压缩成一个代表值,同时给出形状参数,反映失效的集中程度。
Weibull 的可靠性函数写作 R(t) = exp[−(t/η)^β],其中 β 是形状参数。β 的物理含义很有用:β 明显小于 1 说明早期失效为主(批次缺陷),β 接近 1 说明随机失效,β 明显大于 1 说明磨损失效为主,这才是加速试验期望看到的形态。如果某温度点拟合出来 β < 1,那批样本很可能有制造缺陷,数据要单独审视。
第二阶段,温度间拟合 Arrhenius。把各温度点的 η 取对数,对 1/T 做线性回归,斜率乘玻尔兹曼常数得到 Ea,截距用来反推任意温度的寿命。这一步是真正的"时间机器"。
两级拟合的价值在于:第一级把分布信息吃干净了,第二级用的是收敛后的点估计,噪声被大幅削弱。如果跳过第一级直接拟合,等于假设每个温度点的失效时间是确定的单值,实际上把样本离散度错误地并入了温度效应,Ea 的估计会出现系统偏差。
3.4 一组数据完整手算一遍
下面这组数据是我为了讲清流程构造的,参数设置贴近真实的电源模块电容老化场景。
试验条件:三个温度点 85 ℃ / 105 ℃ / 125 ℃,每点 16 个样本,失效判据为容值衰减超过 20%。各温度点 Weibull 拟合得到的特征寿命 η:
| 温度 (℃) | 温度 (K) | 1/T (×10⁻³ K⁻¹) | η (h) | ln η |
|---|---|---|---|---|
| 85 | 358.15 | 2.7921 | 4200 | 8.3428 |
| 105 | 378.15 | 2.6445 | 1500 | 7.3132 |
| 125 | 398.15 | 2.5116 | 520 | 6.2538 |
对 ln η 和 1/T 做最小二乘线性回归,得到斜率 7438 K,截距 −12.404。
Ea = 7438 × 8.617×10⁻⁵ = 0.641 eV
这个值落在铝电解电容干涸的常见区间内,与失效分析结论(密封橡胶老化导致电解液扩散流失)一致,可以接受。
外推到 25 ℃:
- 1/T_use = 1/298.15 = 3.3540×10⁻³
- ln η_use = 7438 × 3.3540×10⁻³ − 12.404 = 24.928 − 12.404 = 12.524
- η_use = e^12.524 ≈ 2.75×10⁵ 小时 ≈ 31.4 年
加速因子校验:25 ℃ 到 85 ℃ 的 AF = exp[7438 × (3.3540 − 2.7921)×10⁻³] = exp(4.179) = 65.3,4200 × 65.3 = 2.74×10⁵ 小时,与上面的外推结果自洽,说明回归没有算错。
对应的 Python 计算代码,可以直接拿去改数据用:
import numpy as np # 温度点(摄氏度)与对应的特征寿命(小时) temps_c = np.array([85.0, 105.0, 125.0]) eta_h = np.array([4200.0, 1500.0, 520.0]) kB = 8.617333e-5 # eV/K T = temps_c + 273.15 inv_T = 1.0 / T # 线性回归 ln(eta) = slope * (1/T) + intercept slope, intercept = np.polyfit(inv_T, np.log(eta_h), 1) ea_ev = slope * kB print(f"Ea = {ea_ev:.3f} eV") # 外推到 25 摄氏度 T_use = 25 + 273.15 ln_eta_use = slope / T_use + intercept eta_use = np.exp(ln_eta_use) print(f"25C 外推寿命 = {eta_use:.0f} h = {eta_use/8760:.1f} 年") # 加速因子 AF = np.exp(slope * (1/T_use - 1/T[0])) print(f"25C -> 85C 加速因子 = {AF:.1f}")这里有一点要说清楚:这组数据的 R² 高到 0.998,是我构造的"理想数据"。现网真实数据能到 0.95 就已经很不错了,经常出现 0.9 上下。R² 低不代表方法错,它反映的是样本离散度、温度均匀性、检测精度等综合误差,这些误差应该用置信区间来表达,而不是靠删点美化。
4. 三个温度点不共线,模型崩了还是数据脏了
4.1 拐点:高温段斜率的突然变化意味着什么
加速试验最怕的不是数据散,而是数据"太整齐但拐弯了"。具体表现是:低温段的几个点连成一条斜率较缓的直线,高温段的点突然掉下去(寿命比按低温段外推的预测值短很多),两段斜率明显不同。这在工程上叫机理切换,是 Arrhenius 模型失效的直接证据。
拐点出现通常意味着三种情况之一。第一种,高温端激活了一个全新的失效机理,比如塑料超过 Tg 后扩散加速、焊点开始蠕变、密封件软化。第二种,高温端原有机理的速率控制步骤变了,从界面反应控制变成体扩散控制。第三种,温度测量本身出了问题,高温端实际结温比设定值高。
排查顺序建议从第三种往前推,因为它最容易验证。用热电偶或者热像仪直接测样本表面温度,和试验箱设定值对比。器件有功耗的情况下,自发热会让结温高于环境温度,功率越大偏差越明显。我遇到过一次,试验箱设 125 ℃,但模块满功率运行时的实际芯片结温到了 138 ℃,多出来的 13 ℃ 让 AF 翻了将近三倍,寿命预测整片偏乐观。后来改成降功率运行,同时用结温校准,数据才恢复正常。
确认温度没问题之后,再考虑机理因素。方法很直接:对高温段失效的样本做失效分析,和低温段失效的样本对比,看失效位置、形貌、成分有没有差别。有差别就是机理切换坐实了,这时候的处理方式不是硬拟合,而是只用不包含新机理的温度段数据做外推。比如拐点出现在 125 ℃ 以上,那就只保留 85 和 105 两个点,或者把最高点降到 110 ℃ 重做。
4.2 结温不等于箱温:自发热与温度均匀性
温度这个变量看起来最不容易出错,实际上是加速试验里误差来源最集中的地方。三个层面的问题需要分开看。
自发热偏差。任何有功耗的器件在运行时都会发热,结温 = 环境温度 + 热阻 × 功耗。一个功耗 2 W、结到环境热阻 15 K/W 的模块,结温比环境高 30 ℃。如果试验箱设 85 ℃,实际结温 115 ℃,你按 85 ℃ 计算 AF,误差是灾难性的。解决方式有两种:试验时降功率到自发热可以忽略的水平(牺牲了真实工况),或者直接测量结温并用结温做计算(推荐)。后者需要在样本内部埋热电偶或者用红外测温,成本高但值。
箱内温度均匀性。试验箱有温度梯度,靠近风道的位置和角落位置能差 3 到 5 ℃。样本摆放在不同位置,实际承受的温度就不一样。做法是:试验前做一次空载温度分布测量,把温差控制在 ±1 ℃ 以内的区域作为有效工作区,样本只放在这个区域内;试验过程中在样本附近布置监测热电偶,确认实际温度。
升温速率与热冲击。频繁开门取样会导致温度波动,反复的热冲击本身就是一种额外的应力,可能引入热疲劳机理。尽量减少开门次数,取样改在试验箱外的延长线上进行,或者用在线监测替代人工巡检。
这些细节看起来琐碎,但它们对最终结果的影响可以达到几十个百分点。相比之下,拟合算法的选择(最小二乘还是极大似然)影响要小得多。在加速试验里,把温度测准,比把模型选精更重要。
4.3 离散度异常时,回头去查失效判据
同一温度点下,样本失效时间的离散程度用 Weibull 形状参数 β 表示。β 太小说明失效时间分散,可能的解释有几种,需要逐一排查。
判据不一致。这是最常见的原因。不同测试员对"参数漂移多少算失效"的判断有主观差异,或者测试设备的重复性不够。排查方法是换一个人、换一台设备复测部分样本,看结论是否一致。
样本来源混杂。同一批试验里混入了不同生产批次、不同供应商的物料,或者样本在生产过程中经历了不同的工艺条件。这种情况下分布会出现双峰,Weibull 拟合出来的 β 会偏小。做法是追溯样本的物料批次,分组重新拟合。如果确实有多批次,应该分别评估,而不是混在一起算。
存在多个失效机理。比如一部分样本是焊点开裂(早期失效),一部分是电容老化(磨损失效),两种机理的失效时间分布完全不同,叠加后表现为大离散。判据没法区分机理,只能靠失效分析把样本归类,分开建模。
样本量太小导致的统计波动。8 个样本和 20 个样本拟合出的 β 置信区间差别很大。如果 β 的 90% 置信区间跨过了 1,基本可以认为数据量不够,需要增加样本。
我的处理原则是:β 落在 1.5 到 4 之间,认为数据正常;β 小于 1.2,先停下来查原因;β 大于 6,反而要警惕,说明失效高度集中,可能是应力条件太苛刻导致所有样本同时崩溃,或者测量分辨率不够,失效时间被"压"在同一条线上。
5. 温度和湿度、电压、循环一起上时怎么算
5.1 Peck模型:湿度项的指数很凶猛
单靠 Arrhenius 处理温度,在实际产品上往往不够。塑料封装、PCB、连接器这些部件的失效,湿度经常是比温度更强的主导因素。这时候要用 Peck 模型:
t = A · RH^(−n) · exp(Ea/(k_B·T))
RH 是相对湿度(百分比),n 是湿度指数,文献常见取值 2.5 到 3.0,工程上常用 2.66。
湿度指数的含义是:湿度每升高一定幅度,寿命按幂律缩短。拿 n = 2.66 算一组:从 40% RH 升到 85% RH,加速因子是 (85/40)^2.66 = 2.125^2.66 ≈ 7.4。湿度翻倍多一点,寿命缩短 7 倍多。这个敏感度比很多人直觉里要强得多。
Peck 模型的使用要点是温度和气湿度要一起变化,不能固化一个。常见的试验矩阵是 85 ℃/85% RH、85 ℃/60% RH、60 ℃/85% RH、60 ℃/60% RH 四个组合,这样可以同时解出 Ea 和 n 两个参数。只做一个湿度水平,就只能借用文献的 n 值,精度会下降。
有个实操上的注意事项:高湿高温组合下,样品表面容易结露,一旦结露,失效机理就变成液态水导致的电化学腐蚀,跟"湿气扩散"完全是两回事。试验箱的露点控制必须做好,样品升温速率要慢,避免样品表面温度低于环境露点。
5.2 Coffin-Manson:热疲劳不吃Arrhenius这一套
温度循环导致的失效——焊点开裂、引线断裂、芯片粘结层分层——走的是完全不同的物理路径。这类失效的本质是热膨胀系数不匹配产生的循环塑性应变累积,跟化学反应速率没关系,Arrhenius 在原理上就不适用。
对应模型是 Coffin-Manson 关系:N_f = C · (ΔT)^(−n),其中 N_f 是失效循环数,ΔT 是温度循环的幅值,n 是疲劳指数。无铅焊料常用的 n 在 1.9 到 2.5 之间,具体取值和焊料成分、循环的温度范围有关。
算个例子。使用工况 ΔT = 15 K,加速试验 ΔT = 100 K,取 n = 2.0:
AF = (100/15)^2 = 44.4
也就是加速试验跑 1000 个循环,等效实际使用 44400 个循环。如果一天开关机一次,等效 121 年;如果一天 5 次,等效 24 年。这里的"循环次数"是物理量,和频率的关系需要额外用频率修正项处理,因为高频循环下焊料的蠕变行为不一样。
实用上最容易犯的错是把温度循环试验的数据拿去套 Arrhenius。我见过报告里写着"温度循环试验后按 Arrhenius 外推",这在物理上就是错的。温度循环的加速靠的是 ΔT 幅值,不是平均温度;加速因子应该用 Coffin-Manson 算,两者不能混。
还有一点:真实工况的 ΔT 往往不是恒定值,而是每天的波动幅度有分布。这时候要做工况统计,把一年里的温度波动按幅值分档,用 Miner 线性累积损伤法则加权:Σ(n_i / N_fi) ≤ 1。直接取最大值或者平均值都会失真。
5.3 Eyring:把多应力塞进一个框架的思路
当温度、电压、湿度、机械应力同时起作用时,Arrhenius 和 Peck 都是 Eyring 模型的简化特例。完整形式比较抽象,工程上用得多的是它的推广形式:
t = A · T^m · exp(Ea/(k_B·T)) · exp[Σ(b_i · S_i)]
其中 S_i 是各种非温度应力的归一化值,b_i 是对应系数。T^m 这一项来自 Eyring 的量子力学推导,指数 m 通常在 0 到 2 之间。实际使用时,温度范围不宽的情况下 T^m 的影响经常被 Ea 项掩盖,很多人会把它并入指前因子,简化为类似 Arrhenius 的形式。
Eyring 框架最大的价值不是精度,而是让你没法忽略多个应力的耦合。举一个实际例子:某模块的失效分析显示,湿度引起的枝晶生长是主因,但施加电压偏高时生长速率明显加快。这时候单用 Peck 模型就不够了,需要把电压作为一个因子加进去,写成 t ∝ RH^(−n) · V^(−p) · exp(Ea/kT)。系数 p 要单独测,需要至少两个电压水平。
在规划加速试验的时候,我的建议是:先做应力筛选试验,确认哪几个应力是显著的,再决定模型的形式。四个应力各取两水平,做 16 组试验,听起来多,但如果盲目上五应力全模型,需要的数据量是几何级数增长的。筛选阶段可以用简单的正交表,找出显著项之后再做精测。
6. 从"能算"到"敢签字":寿命报告里必须钉死的几件事
6.1 点估计之外,置信区间才是签字的依据
上面算出来的"31.4 年"是一个点估计,用三组特征寿命拟合出来的最可能值。但工程决策从不看单点值,要看的是置信下限。
样本量、分布形状、失效数据完整性,这些因素共同决定了置信区间的宽度。经验上,16 个样本、全部失效的情况下,90% 置信度下的寿命下限大约是点估计的 50% 到 70%。如果是截尾数据,样本又少,这个比例可以低到 30%。也就是说,31.4 年的点估计,保守说可能只有 10 年。这两个数字在合同里是完全不同的东西。
计算置信区间的方法有几种:秩回归、极大似然估计配合 Fisher 信息矩阵、Bootstrap 重采样。Bootstrap 最直观也最不依赖解析假设,做法是把现有样本有放回地重采样几千次,每次算一遍 Ea 和外推寿命,最后取分位数。缺点是计算量大(现在这点数据量完全不是问题),优点是能同时反映 Ea 的不确定性和分布参数的不确定性,比解析方法更贴近真实情况。
写报告的时候,寿命必须报成"点估计 + 置信下限"的形式,比如"特征寿命 31.4 年,90% 置信下限 17.8 年"。只报点估计的报告,评审时应该被退回来。
6.2 外推多少倍算合理:经验红线
外推距离是另一个必须设限的地方。加速试验的温度离实际使用温度越远,外推倍数越大,误差被放大的程度越严重。这中间有几个经验红线可以参考。
温度外推距离。一般建议不要超过 60 到 80 ℃。从 25 ℃ 外推到 125 ℃ 是 100 ℃ 的跨度,已经偏大;如果试验在 150 ℃ 做,外推到 25 ℃,中间跨了 125 ℃,中间很可能藏着未被发现的新机理。
时间外推倍数。不同行业的惯例不一样,比较常见的红线是 100 倍。回到前面的例子,85 ℃ 下 3 个月(约 2160 小时)外推到常温得到 20 万小时,倍数接近 100,刚好在边界上。如果要外推到 500 万小时(570 年),先不说合不合理,模型本身已经跑出了它的可信范围。
假设的数量。每次外推至少要依赖三个假设:单一机理、机理在区间内不变、模型形式正确。假设越多,结论的鲁棒性越差。如果你的外推依赖了五个甚至更多假设,那这个结论只能用来"参考",不能用来说"保证"。
我自己在做项目时的处理方式是:把外推结果分成三档报告。试验数据直接覆盖的范围(比如 85 ℃ 下跑了 5000 小时)是"实测确认";一倍到十倍的外推是"高置信估算";十倍以上的外推是"工程判断,需后续验证"。客户拿到报告能清楚知道哪一句话有多少底气。
6.3 报告里必须写清楚的字段清单
一份可复现、可追溯的加速寿命试验报告,下面这些字段一个都不能少。少任何一个,别人就没法复现,也就等于没法验证。
| 类别 | 必须项 |
|---|---|
| 样品信息 | 型号、批次、生产日期、样本数量、抽样方式、预处理条件 |
| 失效机理 | 判定方法(切片/SEM/能谱等)、典型失效形貌描述、机理结论 |
| 试验条件 | 各应力水平、温度测量方式与实测记录、试验设备精度、样本摆放位置图 |
| 失效判据 | 具体参数、阈值、测量设备、复测一致性说明 |
| 数据记录 | 每个样本的投入/失效/截尾时间、检测时间点间隔、异常情况备注 |
| 模型与参数 | 使用的模型形式、拟合方法、Ea 及其置信区间、分布参数 β 与 η |
| 外推结论 | 使用工况定义、外推温度、AF 计算过程、点估计与置信下限、外推倍数 |
几项特别值得强调的。温度测量方式必须写清楚是箱温还是结温,实测值是多少,测量设备是什么精度。这一项不写,别人没法判断你的 AF 算得对不对。失效判据必须写清具体参数和阈值,写"性能下降"这种描述等于没写。外推倍数要明确标注,让读者自己判断这个结论的适用范围。
还有一个踩过坑的地方:样本预处理条件。有些可靠性试验要求样本先做温度冲击或者通电老化作为预处理,这一步会改变样本的初始状态,不做记录的话,后来的人重复试验会得到完全不同的结果。我现在的习惯是在报告开头专门开一段写"样本状态说明",把从拆封到投入试验之间发生的所有事情都记下来。
我个人的一点体会
做了几年下来,最深的感受是:这套方法的难度不在公式,在于对"模型什么时候开始撒谎"的体感。公式三行就写完了,Python 代码十行就够,真正花时间的是失效分析、温度测量、样本管理和数据审查这些"不上台面"的活。每一次算出来的 Ea 看起来都很漂亮,困难的是判断这个漂亮的数字到底映的是物理现实,还是拟合算法的自我安慰。
我现在拿到一份加速试验数据,第一件事不是拟合,而是看失效分析报告和温度实测记录。这两样东西没问题,拟合才有意义;这两样有问题,拟合得再精细也是白搭。第二条经验是永远给结论留出退路,报告里把假设、外推距离、置信下限写清楚,别让一个数字承担它承受不了的重量。
还有个小技巧值得分享:建一个自己的"Ea 台账",把每个项目实测出来的 Ea、对应的失效机理、试验温度区间、样本量、拟合方式都记下来。做过十几个项目之后,这本台账就成了新项目立项时最靠谱的初始假设来源,比翻文献管用得多,因为它带着你自己项目的工艺特征和使用场景。台账里的数字越具体,下一次试验的设计就越有底气,这才是"时间机器"真正积累起来的方式。