単一温度(今回は25℃)を前提に、ダイオードのVf-If特性(順方向特性・逆方向特性の両方)を再現しました。
対象は秋月電子通商で販売されているAE880です。
ダイオードの特性再現はSpiceモデリングの最も重要な基礎となると考えているため、何回か記事を作っていく予定です。
参考文献はこの記事末尾を参照してください。
データシートは参考文献(1)・参考文献(2)どちらかから参照できます。
理論式は参考文献(3)・参考文献(4)に従います。
その他留意点は参考文献(5)~(9)に従います。
今回は以下の内容をまとめています。
- LTspiceで適用されている理論式(パラメータとの関連もあわせて説明)
- ちょっとしたExcelソルバー作業のコツ
100%ではありませんが、少しでも収束性を上げる考えをまとめています。
(なので出来ないじゃないか!とか言わないでNE!)
結果
再現する特性・想定する回路図・理論式と設定パラメータ
再現する特性は下図の左側の特性です(裏映りありますがご容赦ください)。ターゲットは図の特性(a)~(f)の順方向特性と逆方向特性の両方です。実線は「Ideal」とあるとおり、理想ダイオードの特性です。今回再現する特性と理想ダイオードの特性がどれだけ異なるかが分かります。
想定する回路図は下図の右側です。今回はゼロバイアス接合容量\(\displaystyle C_{jo}\)の再現は対象としていません。
ダイオードに印加する電圧はデータシートの特性を再現する範囲としています。
理論式とパラメータは参考文献(3)より、順方向と逆方向のIf-Vf特性は次の式で一括で表します。
赤文字はExcelソルバーで調整するパラメータです。
青文字はデータシートで確認する値です(定数として扱います)。
\(\displaystyle \Large{\color{blue}{I_{D_{datasheet}}} = K_{hil}I_{f} + K_{gen}I_{r} -(I_{revh} + I_{revl})} \tag{1}\)
第一項
\(\displaystyle K_{hil}=\sqrt{\frac{1}{1+\frac{I_{f}}{\color{red}{I_{KF}}}}} \tag{2}\)
\(\displaystyle I_{f}=\color{red}{I_{s}}\exp\big[\frac{q}{k(273.15+\color{red}{T_{nom}})}*\frac{\color{blue}{V_{D_{datasheet}}}-(\color{red}{R_{s}}\color{blue}{I_{D_{datasheet}}})}{\color{red}{N}}-1\big] \tag{3}\)
第二項
\(\displaystyle K_{gen}=\sqrt{\big[(1-\frac{\color{blue}{V_{D_{datasheet}}}-(\color{red}{R_{s}}\color{blue}{I_{D_{datasheet}}})}{\color{red}{VJ}})^2+0.005\big]^\color{red}{m}} \tag{4}\)
\(\displaystyle I_{r}=\color{red}{I_{sr}}\exp\big[\frac{q}{k(273.15+\color{red}{T_{nom}})}*\frac{\color{blue}{V_{D_{datasheet}}}-(\color{red}{R_{s}}\color{blue}{I_{D_{datasheet}}})}{\color{red}{N_{r}}}-1\big] \tag{5}\)
第三項(パラメータIbvとBVはデータシートの値を入力するため赤青表示にしています)
\(\displaystyle I_{revh}=\color{red}{I}_{\color{blue}{bv}}\exp\big[-\frac{q}{k(273.15+\color{red}{T_{nom}})}*\frac{\color{blue}{V_{D_{datasheet}}}-(\color{red}{R_{s}}\color{blue}{I_{D_{datasheet}}})+\color{red}{B}\color{blue}{V}}{\color{red}{N_{bv}}}\big] \tag{6}\)
\(\displaystyle I_{revhl}=\color{red}{I_{bvl}}\exp\big[-\frac{q}{k(273.15+\color{red}{T_{nom}})}*\frac{\color{blue}{V_{D_{datasheet}}}-(\color{red}{R_{s}}\color{blue}{I_{D_{datasheet}}})+\color{red}{B}\color{blue}{V}}{\color{red}{N_{bvl}}}\big] \tag{7}\)
【パラメータの説明表】
引用:D. Diode、LTspiceHelp, Analog Devices Inc, 1998-2022 ...参考文献(6)
パラメータ 内容 単位 デフォルト値 設定例 Ikf High-injection knee current. A Infin. Is saturation current A 1e-14 1e-7 Rs Ohmic resistance Ω 0.0 10. N Emission coefficient - 1.0 1.0 Vj Junction potential V 1.0 0.6 M Grading coefficient - 0.5 0.5 Isr Recombination current parameter A 0.0 Nr Isr emission coeff.
※Nrは2以上:参考文献(3)より理論上はNr=2.0(デフォルト値)- 2.0 Ibv Current at breakdown voltage
※データシートの値を入力A 1e-10 nbv Reverse breakdown emission coefficient - 1.0 2.0 Ibvl Low-level reverse breakdown knee current A 0.0 nbvl Low-level reverse breakdown emission coefficient - 1.0 BV Reverse breakdown voltage
※データシートの値を入力V Infin. 40. Tnom Parameter measurement temp. °C 27 50
【今回設定に使用するパラメータについて】
LTspiceはパラメータの大文字・小文字の違いを認識しないため、上記式は参考文献(3)・(4)、下記パラメータ説明表は参考文献(6)の表記をそのまま用いています。該当パラメータを探す時はアルファベットが一致していればOKです。
以上で事前の説明はおわりです。
後は作業です。
作業手順
NO | 内容 | 補足 |
---|---|---|
1 | データシートの特性グラフ(Vf-If特性)から値を抽出→理論式の\(\displaystyle \color{blue}{V_{D_{datasheet}}}\)と\(\displaystyle \color{blue}{I_{D_{datasheet}}}\)を決定 | 抽出方法は参考文献(7)を使用、使用方法は参考文献(8)を参照 |
2 | 章「理論式と設定パラメータ」の式に手順1で取り出した\(\displaystyle \color{blue}{V_{D_{datasheet}}}\)と\(\displaystyle \color{blue}{I_{D_{datasheet}}}\)から各種パラメータの値を計算する | 下図参照(この段階はパラメータがでたらめな値でOK) |
3 | 最小二乗法で各プロットの値が手順1で抽出したVf-Ifの値と最小の差となるようするに、Excelソルバを回す | 下図参照 |
4 | 散布図のグラフで波形の一致性を確認 | 章「結果」の画像を参照(戻って確認ください) |
下図は手順2・3の例です。
イマイチ桁のセル名称や数値の桁の表記が統一しきれていませんが、ご容赦ください。
細かい内容は次章「Excelソルバで作業するときのコツ」を参照ください。
また、Excelの表の中身は逆方向特性の一部ですが、順方向特性の値もいれています。
(ここは個人の好みで分けるなりしてもらえればOKです)
Excelソルバで作業するときのコツ
次の3つです。細かい話は節中で記載しています。
- 式(1)の両辺に対数をとります
- 最小二乗法でデータシートの電流\(\displaystyle \color{blue}{I_{D_{datasheet}}}\)(対数)とパラメータから求めた電流\(\displaystyle I_{D_{calculation}}\)(対数)の差が最小になるようにします
最小二乗法は参考文献(9)と参考文献(10)を参照してください - パラメータは係数とべき乗項のべき数それぞれのセルを用意して計算する
計算する値は両辺の対数をとる
式(1)をもとに、対数で表すとこうなります(表記上は両辺に対数をとっただけ)。
\(\displaystyle \ln{(\color{blue}{I_{D_{datasheet}}})}=\ln{[K_{hil}I_{f} + K_{gen}I_{r} -(I_{revh} + I_{revl})]} \tag{8}\)
【対数をとる理由】
Excelソルバーの収束性を上げるためです。具体的には対数を取ることで自然数\(\displaystyle e\)のべき乗の値は大きくても数百程度の値(例:\(\displaystyle \ln{e^{10^{2.5}}}\)でも約316程度になるため、Excelソルバーの計算を行う過程で#NUMエラー※になりにくくなります。#NUMエラーは100%防げるわけではないですが、実際にやってみると効果は確認できます。
※今回の場合はExcelで扱える範囲を超えるくらいに大きすぎたり小さすぎたりする場合(扱いきれない桁)になります。詳しくは参考文献(11)を参照してください。
具体的には次の二つを考えています。
- 式の特性上、少しの値の変化で結果が劇的に変化する
実際にやってみると分かるのですが、べき乗に該当する箇所の値をすこし変えただけでもグラフの結果が劇的に変わります。 - べき乗項のバーゲンセール
1つ目と重複しますが、特に気を付ける内容のため別項目にしました。
理論式をみると、式(1)の\(\displaystyle \color{blue}{I_{D_{datasheet}}}\)は右辺で使われているパラメータの過半数がべき乗項にあります。そのためExcelソルバーは初期値の設定の仕方が悪いと簡単に発散します。
【作業例】
章「作業手順」で示した画像を再掲します。
左側ピンクはデータシートの電流\(\displaystyle \color{blue}{I_{D_{datasheet}}}\)
右側ピンクはパラメータから求めた電流\(\displaystyle \color{blue}{I_{D_{calculation}}}\)
最小二乗法の重みは10のべき乗で重みづけする
コツは重みWが10のべき乗数にすることです(赤文字の箇所)。
式にすると次の通りです。
nは順方向特性・逆方向特性のデータ数です(1以上の自然数)
\(\displaystyle T_{subtraction}=\sum_{1\le i\le n}\color{red}{10^{W}}(\color{blue}{I_{D_{datasheet}(i)}}-I_{D_{calculation}(i)})^{2} \tag{9}\)
【10のべき乗とする理由】
参考文献(9)は重みWをそのまま乗じていますが、今回の場合は扱う桁がマイクロオーダーでそのまま乗じてもそもそもの差が小さいため、Excelソルバーが勘違いして最小二乗法の結果が最小としてしまう可能性が高いと考えたため。
【作業例】
章「作業手順」で示した画像を再掲します。
【補足】
私の記事で過去掲載した実測データを元にしたソーラーパネルのパラメータ推定の記事にて節”カーブフィッティングに相関係数、決定係数を利用する"で、相関係数や決定係数の考えを使用していましたが、今回は実施していません。
パラメータは係数とべき乗項のべき数それぞれのセルを用意して計算する
下図のピンク塗りつぶし部を見てみてください("パラメータ名"-1の隣にあるセル)。パラメータを2セルに分けて表現している箇所があります。次のことをやっています。
- パラメータを係数項とべき乗項に分ける
パラメータ\(\displaystyle I_{s}\)を例とすると次のようになります。
\(\displaystyle I_{s}=\color{red}{Val1}*{10^{\color{red}{Val2}}} \tag{10}\)
- Excelソルバーで変化させるセルを式(10)の赤文字で記載した2か所で指定
\(\displaystyle I_{s}\)を例とすると、\(\displaystyle \color{red}{Val1}\)は0.572.....のセルに、\(\displaystyle 10^{\color{red}{Val2}}\)は12.469.....に該当します
【パラメータを2つに分ける理由】
確実ではないのですが、Excelソルバーは整数よりも少数の方を動かしがちのように見受けられるためです。Excelソルバーを回すと値の出力結果がExcelで表現可能な少数MAX15桁となっています。おそらくですが、今回のような非常に小さい値を変化させる前提の動作によるものと考えています。
この考えにもとづき、値を変化させるセルは\(\displaystyle \color{red}{Val1}\)や\(\displaystyle 10^{\color{red}{Val2}}\)といったように分け、小数点の変化に注力されてもパラメータの値の変化を大きくさせるようにしています。
参考文献
- ダイオードアレイ AE/CEシリーズ, 福島双羽電機株式会社
http://www.fu-futaba.co.jp/products_detail/id=51
※製造元 - ダイオードアレイ アノードコモン AE880, 株式会社 秋月電子通商
https://akizukidenshi.com/catalog/g/gI-15457/
※販売元 - Semiconductor Device Modeling with SPICE SECOND EDITON, GIUSEPPE MASSOBRIO, Tata McGraw Education Private Limited, 1993
- SPICE Diode, Help Center, The MathWorks, Inc.
https://jp.mathworks.com/help/sps/ref/spicediode.html - SPICEデバイスモデル:ダイオードの例 その2, Tech Web 設計のイロハを学べる技術情報サイト, ローム株式会社
https://techweb.rohm.co.jp/know-how/simulation/8325/ - D. Diode, LTspiceHelp, Analog Devices Inc, 1998-2022
- WebPlotDigitizer, Ankit Rohatgi, 2010-2022
https://automeris.io/WebPlotDigitizer/ - ブラウザで画像化されたグラフからデータを抽出できるツールWebPlotDigitizerを使ってみる, @atsaki, Qiita
https://qiita.com/atsaki/items/778d3d5d3afd27b58631 - エクセルのソルバーを用いた最小二乗法, 構造解析とExcelを用いた科学技術計算の(有)ゴッドフット企画, (有)ゴッドフット企画
http://godfoot.world.coocan.jp/square_solver.htm - Excelのソルバーを使ったカーブフィッティング 非線形最小二乗法, 研究と教育と追憶と展望 露本伊佐男のブログ, 露本伊佐男, 2010年7月16日 (金)
http://tsuyu.cocolog-nifty.com/blog/2010/07/excel-24f0.html - Excel の仕様と制限, Microsoft サポート, Microsoft
https://support.microsoft.com/ja-jp/office/excel-%E3%81%AE%E4%BB%95%E6%A7%98%E3%81%A8%E5%88%B6%E9%99%90-1672b34d-7043-467e-8e27-269d656771c3
変更履歴
記事UP
・章「再現する特性・想定する回路図・理論式と設定パラメータ」の内容を修正
修正前:赤文字はLTspiceで調整するパラメータです。
修正後:赤文字はExcelソルバーで調整するパラメータです。
・章「作業手順」でLateX表記の式が正しく表示されていない不具合を修正
節「計算する値は両辺の対数をとる」で以下を修正
・LateXの式表記
・脱字
修正前:NUMエラーは100%防げるわけではないですが、
修正後:NUMエラーは100%防げるわけではないですが、実際にやってみると効果は確認できます。
・タイトル変更
・引用で用いている画像や資料を引用ブロックに含めた
・冒頭部
ダイオードの温度特性(Vf-Ifの順方向・逆方向)のリンクを追加
・数式
スクロールが実装されていない式にスクロールできるよう修正
コメント スパム対応をしたつもり、コメントは残す方向で頑張ってます