熱サイクル疲労解析 — はんだ接合部・電子パッケージングの寿命予測
理論と物理
熱サイクル疲労の駆動力
熱サイクル疲労で、はんだ接合部がなぜ壊れるんですか?温度が上がったり下がったりするだけで、大きな力が加わっているわけではないのに。
良い着眼点だ。直接的な外力ではなく、材料間の熱膨張係数(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をFEAで求めるには、サイクルを何回シミュレーションする必要がありますか?
通常、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を自動計算する後処理機能がほぼない。研究目的なら挑戦の価値はあるが、設計判断を下す実務では推奨しない。
トラブルシューティング
収束エラーと物理的不整合
解析中に「過度の変形」エラーで計算が止まります。はんだ要素が極端に歪んでいます。
これは古典的な問題だ。原因は2つ考えられる。1つ目は、はんだと隣接部品(銅パッドなど)の間の「剛体回転」だ。接触条件を「ボンデッド」に設定していても、厚み方向の剛性が低いとはんだがせん断されすぎる。対策として、はんだボールの側面に非常に細い「拘束要素」を追加し、非物理的な回転を抑制する「拘束方程式」を導入する方法がある(Ansysの`CERIG`など)。2つ目は、メッシュが粗すぎて変形を捕捉できない。はんだボールの厚み方向に少なくとも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は
なった
詳しく
報告