LTspiceでダイオードのVf-If特性(順方向・逆方向)の特性を再現する記事をアップしました(クリックで記事ページに飛びます)

【LTspice】ダイオードのVf-If特性の再現【モデルを自作】

【LTspice】ダイオードのVf-If特性の再現【モデルを自作】 電子回路(LTspice)
この記事は約17分で読めます。

単一温度(今回は25℃)を前提に、ダイオードのVf-If特性(順方向特性・逆方向特性の両方)を再現しました。
対象は秋月電子通商で販売されているAE880です。

ダイオードの特性再現はSpiceモデリングの最も重要な基礎となると考えているため、何回か記事を作っていく予定です。

参考文献はこの記事末尾を参照してください。
データシートは参考文献(1)参考文献(2)どちらかから参照できます。
理論式は参考文献(3)・参考文献(4)に従います。
その他留意点は参考文献(5)~(9)に従います。

今回は以下の内容をまとめています。

  • LTspiceで適用されている理論式(パラメータとの関連もあわせて説明)
  • ちょっとしたExcelソルバー作業のコツ
    100%ではありませんが、少しでも収束性を上げる考えをまとめています。
    (なので出来ないじゃないか!とか言わないでNE!)

結果

まとめ

単一温度(25℃)でダイオードのVf-If特性の再現シミュレーション行いました。結果は以下通りです。

【詳細】

  • 今回設定したパラメータで使われているLTspiceの理論式が分かりました
    特に、参考文献(3)では\(\displaystyle I_{revh} + I_{revl}\)の算出方法が見当たりませんでした。
    そこで参考文献(4)を参照し参考文献(6)のパラメータ表と照らしあわせてLTspiceも参考文献(3)の式を使用していると推定、試行した結果、特性の一致を確認しました。

    上記は私が今回LTspiceの特性式を探しきれなかっただけであり、実は別の文献にアクセスすれば確認できたかもしれませんが、今回の記事に至るまでにそれは叶わなかったため、こんな記載としています。
  • 順方向特性はなかなかの精度で再現できた(自画自賛)
  • 逆方向特性はデータシートのような特性の再現ができず誤差が大きくなった(特に8V~30Vの間、60V~75V)
    [理由]
    今回調整したパラメータはデータシートのような波打った特性までカバーできなかったため
    [詳細]
    参考文献(5)にもある通り「デバイスモデルは、理論式の特性(基本的な構造の特性)しか表せないため、イレギュラーな特性については再現性が低い。」です。つまり、自分が使う理論式はどこまでの特性を再現できるか、把握する必要があります。
    逆に言えば、式をさらに拡張することでより複雑な特性を再現できると考えます(ビヘイビア電源を使用)。

【その他補足】
ブレークダウン電圧とブレークダウン電流は電気的特性表の値(Vr=75V・Ir=100nA)を採用しました。

【設定パラメータ】
ダイオードの名前はAE880としてください。
(といいましたが名前が一致していればOK、お好きに)

項目設定内容
.temp
(雰囲気温度[℃])
25
ダイオード
パラメータ
.model AE880 D(
+IKF = 1.95788206152676E-05
+Is = 1.93936668191969E-13
+Rs = 0.593398356460336
+N = 0.934472412384617
+VJ = 1.05731018307728E-06
+m = 1.03166543751281
+Isr = 4.32447570828725E-17
+Nr = 2.11242618487831
+BV = 75
+IBV = 0.0000001
+Nbv = 1.9999895736611
+Ibvl = 9.79407561559976E-12
+Nbvl = 1.99999998019562
+Tnom = 25)

再現する特性・想定する回路図・理論式と設定パラメータ

再現する特性は下図の左側の特性です(裏映りありますがご容赦ください)。ターゲットは図の特性(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}\)

【パラメータの説明表】

パラメータ内容単位デフォルト値設定例
IkfHigh-injection knee current.AInfin.
Issaturation currentA1e-141e-7
RsOhmic resistanceΩ0.010.
NEmission coefficient-1.01.0
VjJunction potentialV1.00.6
MGrading coefficient-0.50.5
IsrRecombination current parameterA0.0
NrIsr emission coeff.
※Nrは2以上:参考文献(3)より理論上はNr=2.0(デフォルト値)
-2.0
IbvCurrent at breakdown voltage
※データシートの値を入力
A1e-10
nbvReverse breakdown emission coefficient-1.02.0
IbvlLow-level reverse breakdown knee currentA0.0
nbvlLow-level reverse breakdown emission coefficient-1.0
BVReverse breakdown voltage
※データシートの値を入力
VInfin.40.
TnomParameter measurement temp.°C2750
引用:D. Diode、LTspiceHelp, Analog Devices Inc, 1998-2022 ...参考文献(6)

【今回設定に使用するパラメータについて】
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. 式(1)の両辺に対数をとります
  2. 最小二乗法でデータシートの電流\(\displaystyle \color{blue}{I_{D_{datasheet}}}\)(対数)とパラメータから求めた電流\(\displaystyle I_{D_{calculation}}\)(対数)の差が最小になるようにします
    最小二乗法は参考文献(9)参考文献(10)を参照してください
  3. パラメータは係数とべき乗項のべき数それぞれのセルを用意して計算する

計算する値は両辺の対数をとる

式(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ソルバーは初期値の設定の仕方が悪いと簡単に発散します。

【作業例】
章「作業手順」で示した画像を再掲します。

【LTspice】ダイオードのVf-If特性の再現【モデルを自作】_AE880のVf-If特性(計算表_最小二乗法)
最小二乗法の説明:ピンク色のセルが該当
左側ピンクはデータシートの電流\(\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ソルバーが勘違いして最小二乗法の結果が最小としてしまう可能性が高いと考えたため。

【作業例】
章「作業手順」で示した画像を再掲します。

【LTspice】ダイオードのVf-If特性の再現【モデルを自作】_AE880のVf-If特性(計算表_最小二乗法)
重みWの説明:右端オレンジ色のセルが該当

【補足】
私の記事で過去掲載した実測データを元にしたソーラーパネルのパラメータ推定の記事にて節”カーブフィッティングに相関係数、決定係数を利用する"で、相関係数や決定係数の考えを使用していましたが、今回は実施していません。

パラメータは係数とべき乗項のべき数それぞれのセルを用意して計算する

下図のピンク塗りつぶし部を見てみてください("パラメータ名"-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.....に該当します
【LTspice】ダイオードのVf-If特性の再現【モデルを自作】_AE880のVf-If特性(パラメータ表)

【パラメータを2つに分ける理由】
確実ではないのですが、Excelソルバーは整数よりも少数の方を動かしがちのように見受けられるためです。Excelソルバーを回すと値の出力結果がExcelで表現可能な少数MAX15桁となっています。おそらくですが、今回のような非常に小さい値を変化させる前提の動作によるものと考えています。

この考えにもとづき、値を変化させるセルは\(\displaystyle \color{red}{Val1}\)や\(\displaystyle 10^{\color{red}{Val2}}\)といったように分け、小数点の変化に注力されてもパラメータの値の変化を大きくさせるようにしています。

参考文献

  1. ダイオードアレイ AE/CEシリーズ, 福島双羽電機株式会社
    http://www.fu-futaba.co.jp/products_detail/id=51
    ※製造元
  2. ダイオードアレイ アノードコモン AE880, 株式会社 秋月電子通商
    https://akizukidenshi.com/catalog/g/gI-15457/
    ※販売元
  3. Semiconductor Device Modeling with SPICE SECOND EDITON, GIUSEPPE MASSOBRIO, Tata McGraw Education Private Limited, 1993
  4. SPICE Diode, Help Center, The MathWorks, Inc.
    https://jp.mathworks.com/help/sps/ref/spicediode.html
  5. SPICEデバイスモデル:ダイオードの例 その2, Tech Web 設計のイロハを学べる技術情報サイト, ローム株式会社
    https://techweb.rohm.co.jp/know-how/simulation/8325/
  6. D. Diode, LTspiceHelp, Analog Devices Inc, 1998-2022
  7. WebPlotDigitizer, Ankit Rohatgi, 2010-2022
    https://automeris.io/WebPlotDigitizer/
  8. ブラウザで画像化されたグラフからデータを抽出できるツールWebPlotDigitizerを使ってみる, @atsaki, Qiita
    https://qiita.com/atsaki/items/778d3d5d3afd27b58631
  9. エクセルのソルバーを用いた最小二乗法, 構造解析とExcelを用いた科学技術計算の(有)ゴッドフット企画, (有)ゴッドフット企画
    http://godfoot.world.coocan.jp/square_solver.htm
  10. Excelのソルバーを使ったカーブフィッティング 非線形最小二乗法, 研究と教育と追憶と展望 露本伊佐男のブログ, 露本伊佐男, 2010年7月16日 (金)
    http://tsuyu.cocolog-nifty.com/blog/2010/07/excel-24f0.html
  11. 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

変更履歴

2023/1/22023/1/32023/1/52023/1/7

記事UP

・章「再現する特性・想定する回路図・理論式と設定パラメータ」の内容を修正
修正前:赤文字はLTspiceで調整するパラメータです。
修正後:赤文字はExcelソルバーで調整するパラメータです。
・章「作業手順」でLateX表記の式が正しく表示されていない不具合を修正

節「計算する値は両辺の対数をとる」で以下を修正
・LateXの式表記
・脱字
修正前:NUMエラーは100%防げるわけではないですが、
修正後:NUMエラーは100%防げるわけではないですが、実際にやってみると効果は確認できます。
章「再現する特性・想定する回路図・理論式と設定パラメータ」で「(下図の例は順方向特性をカバーできる0.3V~1.2V)」を削除。

コメント

タイトルとURLをコピーしました