当前位置:首页 > 半导体工具包 > 正文内容

焊点热疲劳寿命Coffin-Manson预测

这个工具解决什么问题

把工艺窗口的边界算清楚,比算出一个漂亮的最优值更有用。

焊点可靠性验证周期长、费用高,往往要等到失效试验做完才知道某封装方案能不能撑过设计寿命。本工具读取已有热循环试验数据(温差、最高温度、循环频率、实测失效循环数等),自动回归出 Coffin-Manson 寿命模型的指数 n、系数 C 与频率指数 m,再据此预测各试样在目标工况下的寿命、相对基准条件的加速因子,并判定是否满足设计循环目标。工程师可以据此在定型前筛掉裕度不足的封装 / 合金方案,把有限的试验资源投向高风险组合,而不是盲目做全矩阵验证。

输入数据格式

数据文件 thermal_cycle_sample.csv,列顺序为:sample、package、delta_T_K、Tmax_C、cycle_min、dTdt_C_per_min、shear_stress_MPa、alloy、failed_cycles。

示例首行:S-01,BGA_0.8mm,100,125,30,8.0,18.5,SAC305,2596

示例输出(真实运行结果节选)

======================================================================
【焊点热疲劳寿命 Coffin-Manson 预测报告】
数据文件 : thermal_cycle_sample.csv
拟合模型 : Norris-Landzberg 修正 Coffin-Manson
样本数   : 10(其中已失效 9 个参与拟合)
设计目标 : 1000 循环    Ea = 0.122 eV    k = 8.617e-05 eV/K
======================================================================

【① 模型参数表】
  参数                     n         m             C    Ea(eV)        R²
  拟合值                2.000     0.350      580011.5     0.122    0.9973
  说明:n 为 Coffin-Manson 指数(典型 1.5~2.5),m 为频率指数,
        C 为拟合系数,R² 越高说明模型对本批数据解释力越强。

【② 逐试样对比】(条件 / 实测 / 模型预测 / 相对误差 / 是否满足1000目标)
  试样    封装         合金        ΔT(K)    Tmax   f(次/h)         实测      模型Nf      误差%
  S-01  BGA_0.8mm  SAC305      100     125     2.00       2596       2589     -0.3       满足
  S-02  BGA_0.8mm  SAC305      120     130     2.00       1752       1720     -1.8       满足
  S-03  QFN_0.5mm  SAC305       80     100     1.00       4170       4028     -3.4       满足
  S-04  QFN_0.5mm  SAC305      140     150     1.00        872        840     -3.7      不满足
  S-05  SOP_1.27mm SnPb        100     125

一句话

用 Coffin-Manson 与 Norris-Landzberg 模型,把热循环试验数据拟合成寿命公式,预测使用条件下的焊点寿命、加速因子与设计裕度。

运行环境与快速开始

· 环境:Python 3.8+,仅用标准库(csv / math / random / os)。 · 首次运行自动生成示例 thermal_cycle_sample.csv;之后替换为你自己的试验数据即可。

进入工具目录

cd 08_焊点热疲劳寿命Coffin-Manson预测器

运行(也可直接用 python solder_joint_fatigue.py)

"C:/Users/Administrator/.workbuddy/binaries/python/versions/3.13.12/python.exe" solder_joint_fatigue.py

运行后同目录生成 示例输出报告.txt,控制台同步打印完整中文报告。

输入数据格式

CSV 表头固定为以下九列(每行一个试样): · sample:试样编号,如 S-01。 · package:封装类型,如 BGA_0.8mm / QFN_0.5mm / CSP_0.4mm。 · delta_T_K:热循环温差,单位 K,= Tmax − Tmin。 · Tmax_C:循环最高温度,单位 ℃。 · cycle_min:单循环时长,单位分钟,用于推算循环频率 f = 60 / cycle_min(次/小时)。 · dTdt_C_per_min:升降温速率,单位 ℃/min(参考信息)。 · shear_stress_MPa:焊点剪切应力幅,单位 MPa(参考信息,用于风险筛查)。 · alloy:焊料合金,如 SAC305 / SnPb。 · failed_cycles:实测失效循环数;未测 / 未失效填 0(不参与拟合,仅做模型预测)。

输出说明

· ① 模型参数表:拟合得到的 n、m、C、Ea、R² 与参与拟合的样本数。 · ② 逐试样对比:条件、实测循环数、模型预测、相对误差、是否满足设计目标。 · ③ 加速因子表:各试样相对基准条件(ΔT=100K、f=1 次/h、Tmax=125℃)的加速因子 AF。 · ④ 敏感度分析:ΔT 与 Tmax 变化对寿命的提升倍数。 · ⑤ 结论与建议:列出寿命不足的方案与验证建议。

算法口径(关键公式)

· 基础 Coffin-Manson:Nf = C · (ΔT)^(−n);取对数 ln Nf = ln C − n·ln ΔT,对失效试样线性回归。 · Norris-Landzberg 修正:Nf = C · (ΔT)^(−n) · f^(m) · exp(Ea / (k · Tmax)), 其中 f = 60 / cycle_min(次/小时),k = 8.617e−5 eV/K,Ea = 0.122 eV(SAC 焊点常用值)。 · 拟合:对 n(1.0~3.0,步长 0.1)与 m(0.0~1.0,步长 0.05)做二维网格搜索,以对数残差 SSE 最小确定最优 (n, m),Ea 固定。 · 加速因子:AF = Nf_use / Nf_acc,基准条件 ΔT=100K、f=1、Tmax=125℃。 · 设计目标循环数默认 1000,可在脚本 DESIGN_TARGET 调整。

参数与调整点

E_A = 0.122 # 激活能 eV,按合金改(SnPb 常用 ~0.1) DESIGN_TARGET = 1000 # 设计目标循环数 N_STEP = 0.1 # n 网格步长(范围 1.0~3.0) M_STEP = 0.05 # m 网格步长(范围 0.0~1.0) BASE_DT, BASE_F, BASE_TMAX_C = 100.0, 1.0, 125.0 # 加速因子基准

可调参数与计算口径

脚本顶部集中了主要阈值与常量:REPORT_PATH=os.path.join(HERE, "示例输出报告.txt")。改完直接重跑即可,不必改动计算逻辑。

会生成哪些文件

运行后除控制台输出外,还会生成:thermal_cycle_sample.csv、示例输出报告.txt。

脚本里的主要处理步骤

  • frequency():循环频率(次/小时):每小时可完成的循环数。
  • generate_csv():用固定随机种子生成有真实感的试验数据:S-04、S-08 寿命不足 1000,S-10 未测。
  • fit_parameters():网格搜索 n、m,对 failed_cycles>0 的试样最小化对数残差 SSE。

以上步骤在脚本中是分开的函数,可以单独调用或按需替换其中一段,不必整体重写。

工具中出现的字段与提示

  • 循环频率(次/小时):每小时可完成的循环数。
  • 网格搜索 n、m,对 failed_cycles>0 的试样最小化对数残差 SSE。
  • 【焊点热疲劳寿命 Coffin-Manson 预测报告】
  • 拟合模型 : Norris-Landzberg 修正 Coffin-Manson
  • 样本数 : {len(rows)}(其中已失效 {nfit} 个参与拟合)
  • 【① 模型参数表】
  • C 为拟合系数,R² 越高说明模型对本批数据解释力越强。
  • 【② 逐试样对比】(条件 / 实测 / 模型预测 / 相对误差 / 是否满足{}目标)
  • f(次/h)
  • 模型Nf
  • 【③ 加速因子表】(基准:ΔT={}K, f={}次/h, Tmax={}℃)
  • 加速因子AF
  • 【④ 敏感度分析】
  • 实际设计应同时压低峰值温度与温差,并优先控制二者。
  • 【⑤ 结论与建议】
  • 满足 {} 循环设计目标的试样 {} 个,不满足 {} 个。
  • 寿命不足方案:「{}」,多因 ΔT 与 Tmax 同时偏高,热疲劳损伤加速。
  • 建议:对上述方案降低峰值温度或减小温差(如优化散热 / 降低功率循环幅度),

其余字段以界面与示例报告为准。

下载与文件清单

压缩包内包含:主程序脚本、示例数据文件、示例输出报告、中文说明文档,以及同主题 AI 提示词一套。解压后按说明运行即可,示例数据可直接试跑。

主程序文件:solder_joint_fatigue.py。

下载 焊点热疲劳寿命Coffin-Manson预测 工具包(zip)

本站工具免费下载,无需注册。工具为 Python 脚本,Python 3.8 及以上环境可直接运行,核心功能尽量不依赖第三方库。

常见问题

输入数据要准备成什么样?
按 示例首行中的列顺序准备即可,共 9 列:sample、package、delta_T_K、Tmax_C、cycle_min、dTdt_C_per_min、shear_stress_MPa、alloy。列为空或格式不符时结果会失真,建议先用示例数据试跑一遍。

跑完最该关注哪几项?
报告按 焊点热疲劳寿命 Coffin-Manson 预测报告、① 模型参数表、② 逐试样对比、③ 加速因子表、④ 敏感度分析 等部分组织,其中判定结论与建议部分直接对应下一步动作。

阈值可以改成我们自己的标准吗?
可以,脚本顶部已把主要阈值与常量集中声明,按自己产线的标准修改后重跑即可,不需要改计算逻辑。

附赠的提示词怎么用?
把提示词与自己的数据一起交给大模型,可以让它按同一套口径帮你改写分析流程或扩展报告字段。

同分类的其它工具

本工具归在 半导体工艺参数分析工具包,全部工具见 工具资源包下载页。

标签: 119

相关文章

晶圆良率分析Python工具免费下载|Wafer Map+良率分层报表

晶圆良率分析Python工具免费下载|Wafer Map+良率分层报表

工具简介读取CP测试数据,自动绘制Wafer Map、统计每片晶圆良率与FAIL bin分布、边缘/中心分层对比,输出中文分析报告。资料包内容· 主程序 wafer_yield_analyzer.py...

SPC控制图与Cpk计算Python工具免费下载|Xbar-R+判异

SPC控制图与Cpk计算Python工具免费下载|Xbar-R+判异

工具简介自动绘制Xbar-R控制图、计算Cp/Cpk/Ppk,内置Nelson判异规则1~5,输出异常清单与控制图。资料包内容· 主程序 spc_auto.py(Python 3.8+,核心功能零第三...

DOE实验设计方差分析Python工具免费下载|因子效应排序

DOE实验设计方差分析Python工具免费下载|因子效应排序

工具简介全因子实验矩阵生成、单因子方差分析(F检验)、因子效应极差排序、最优工艺窗口推荐。资料包内容· 主程序 doe_analyzer.py(Python 3.8+,核心功能零第三方依赖)· 自动生...

APC先进过程控制R2R控制器Python仿真工具免费下载

APC先进过程控制R2R控制器Python仿真工具免费下载

工具简介R2R运行到运行控制器+EWMA预测模型仿真:设备漂移与噪声下,对比开环与闭环的控制效果,输出收敛曲线。资料包内容· 主程序 apc_r2r_sim.py(Python 3.8+,核心功能零第...

OEE帕累托分析Python工具免费下载|三大损失+六大停机

OEE帕累托分析Python工具免费下载|三大损失+六大停机

工具简介自动拆解OEE三大损失(可用率/性能率/良品率),六大停机损失帕累托图,给出改善优先级建议。资料包内容· 主程序 oee_analyzer.py(Python 3.8+,核心功能零第三方依赖)...

WAT晶圆允收测试数据分析Python工具免费下载|批次z值+3σ拦截

WAT晶圆允收测试数据分析Python工具免费下载|批次z值+3σ拦截

工具简介WAT电参数清洗、分布统计、批次z值对比、3σ单点拦截预警,输出中文报告与批次箱线图。资料包内容· 主程序 wat_analyzer.py(Python 3.8+,核心功能零第三方依赖)· 自...