一、热应力基础理论:热应力的产生机理、胡克定律与热应变耦合、热应力计算公式推导
1.1 热应力是怎么来的?—— 从一次“崩裂”说起
先讲个我自己的故事。几年前我做一款大功率IGBT模块,铜基板跟陶瓷衬板焊在一起。高温老化测试时,焊层直接裂了。拆下来一看,铜和陶瓷的热膨胀系数差了一倍多。温度一上来,一个拼命往外胀,一个死活不动——结果就是焊层被“撕”开了。
这就是热应力的本质。说白了,就是温度变化时,材料想变形,但被“邻居”给拦住了。你想想看,如果一根金属棒两头自由,加热后它爱怎么胀就怎么胀,不会有应力。但一旦把它焊在基板上,或者夹在壳子里,变形被约束住,应力就来了。
核心结论:热应力 = 温度变化 + 变形约束。缺一不可。
实际工程中,约束来自哪里?我总结了几种常见情况:
- 异种材料连接:比如芯片焊在铜框架上,CTE(热膨胀系数)不同,温度一变就“打架”
- 结构自身约束:比如一根长管两端固定,加热后没法伸长,只能硬扛
- 温度梯度:同一个零件,一边热一边冷,热区想胀,冷区不让,内部就产生应力
嗯,这里要注意:温度梯度造成的热应力,往往比均匀温升更危险。因为应力集中区域很难提前预判。
1.2 胡克定律与热应变耦合—— 别把“热”和“力”分开看
很多新手容易犯一个错:把热分析和结构分析分开做。先算温度场,再拿温度结果去算应力。这其实不对。为什么?因为热应变和机械应变是耦合的。
先回顾一下胡克定律。一维情况下:
σ = E · ε
其中σ是应力,E是弹性模量,ε是应变。这个公式只适用于纯机械加载。但温度一掺和进来,应变就得拆成两部分:
ε_total = ε_mechanical + ε_thermal
热应变怎么算?很简单:
ε_thermal = α · ΔT
α是线膨胀系数,ΔT是温度变化量。那么,真正的机械应变其实是总应变减去热应变:
ε_mechanical = ε_total - α · ΔT
再代回胡克定律:
σ = E · (ε_total - α · ΔT)
这就是热应力计算的基本公式。我当年第一次推导这个公式时,觉得太简单了。直到做仿真时发现,ε_total 其实很难直接测量——你测到的位移是总位移,但不知道多少是热胀的,多少是力压的。
我的经验:做热应力仿真时,一定要先确认参考温度。我习惯把“无应力温度”设成装配温度,而不是室温。否则算出来的应力全是错的。
1.3 三维情况下的热应力公式—— 别怕,有套路
一维公式好理解,但实际零件都是三维的。三维情况下,胡克定律要写成矩阵形式。不过别慌,核心思路没变:
对于各向同性材料,三维热应力公式是:
σ_x = (E / (1+ν)(1-2ν)) · [ (1-ν)ε_x + ν(ε_y + ε_z) - (1+ν)αΔT ]
σ_y = (E / (1+ν)(1-2ν)) · [ (1-ν)ε_y + ν(ε_x + ε_z) - (1+ν)αΔT ]
σ_z = (E / (1+ν)(1-2ν)) · [ (1-ν)ε_z + ν(ε_x + ε_y) - (1+ν)αΔT ]
其中ν是泊松比。你看,每一项都减去了(1+ν)αΔT,这就是热应变的贡献。
我记得有一次做BGA封装的焊点可靠性分析,用这个公式手算了一个简化模型,跟仿真结果对得上。当时心里踏实了不少——公式虽然看着复杂,但物理意义很清楚。
避坑指南:我曾经在计算多层PCB的热应力时,忽略了Z向的CTE跟X/Y向不一样。结果算出来的翘曲量差了30%。各向异性材料(比如FR4)一定要用三维公式,别偷懒用一维近似。
1.4 知识体系框架图
下面这张图是我自己梳理的热应力基础逻辑。你看一遍,应该能记住核心脉络:
1.5 工程实战中的几个关键点
理论讲完了,说点实在的。我这些年做热设计,总结了几条经验:
- 参考温度是命门:仿真时参考温度设错了,结果全废。我习惯用“应力释放温度”作为参考,比如焊接后的冷却温度、装配时的环境温度。
- CTE 数据要核实:供应商给的 CTE 值往往是室温下的。高温下 CTE 会变,尤其是聚合物材料。我吃过这个亏,后来都要求供应商提供全温区 CTE 曲线。
- 别忽略泊松比:三维应力公式里,泊松比 ν 的影响很大。对于橡胶类材料(ν≈0.5),热应力会急剧放大。嗯,这个很多人不知道。
- 手算验证不可少:再复杂的仿真,我也会先做一个简化模型手算一下。比如一根梁、一个圆盘,用一维公式估算应力数量级。如果仿真结果差了一个数量级,那肯定哪里设错了。
一句话总结:热应力的核心就是“热想胀,力不让”。记住这个,公式怎么推都不会跑偏。
公众号:蓝海资料掘金营,微信 deep3321