LTspiceは標準でトランジスタモデルが入っていますが、使いたい素子が入っているとは限りません。
その時は自分でモデルを作る必要がありますが、作業自体は難しくはありません。
今回作るバイポーラトランジスタは、日本ではおなじみの2SC1815/2SA1015です。
モデルの設定方法
LTspiceで自作のモデルを作ります。
以下は、npnトランジスタをLTspiceで動かすための最低限で最も簡単なSPICEモデルです。
高精度版は後ほど作ります。
.model 2SC1815 NPN (IS=6e-15 BF=200 VAF=120)
使用しているパラメーター一覧です。IS:飽和電流BF(hFE):順方向電流増幅率VAF:アーリー効果
バイポーラトランジスタ3端子の電流は、この3つのパラメータを用いて順方向では概ね以下の式で計算されます。
コレクタ電流:
ベース電流:
エミッタ電流:
ここでVTはq/kTで表される熱電圧です。
次に作成したモデルをLTspiceに読み込ませます。
いくつか方法はありますが、standard.BJTという標準ファイルに書き込むのが最も簡単で使いやすいです。
standard.BJTは、LTspice(ver/26.0.1)では以下のフォルダに保存されいます。
C:\Users\あなたのユーザー名\AppData\Local\LTspice\lib\cmp\standard.bjt
standard.BJTを開いて直接書き込みます。
書き込み後は一度、LTspiceを再起動しましょう。

標準ファイルに書き込むので、更新の際などに消える可能性もあります。
私は、編集前、編集後は必ずバックアップを取っています。
作成したモデルでシミュレーションを行う
作成したトランジスタモデルでシミュレーションを行ってみます。
まずLTspiceでcomponentからnpnを選択して配置します。

配置後、素子の上で右クリックして、Pice New Transistorから先程設定したモデルを選択します。

今回はバイポーラトランジスタの出力特性を確認するために、以下のように回路図を作成しました。

シミュレーションの実行文であるSPICE Directiveは以下のとおりです。
.step文では、Iinのベース電流を6uAから60uAまで6uA刻みで変化させます。
.dc文では、各ベース電流の値で、トランジスタのコレクタ電圧を0Vから10Vまで0.05V刻みで掃引します。
.step param Iin 6u 60u 6u
.dc VCC 0 10 0.05
実際にシミュレーションを行い、コレクタ電流をモニタした結果が以下の通りです。
典型的なバイポーラトランジスタの出力特性を得ることができました。

より高精度なモデルを生成AIで作る
完全なモデルを作るのは簡単ではありません。
素子の製造会社から出されているモデルもありますが、それらも常に正しいとは限りません。
モデルの高精度化は、研究機関や企業でも苦労しているところだと思います。
今回は、そこそこの精度を得ながらも、最も簡単にモデルを作ります。
具体的には、データシートを生成AIに食べさせて、作ってもらいましょう。

以下は出力されたモデルです。
基本はそのままですが、様々なパラメータが追加されました。
ついでに2SA1015も載せておきます。
.model 2SC1815 NPN (
+ IS=6e-15 NF=1.00 BF=200 VAF=120 IKF=0.12
+ ISE=2e-14 NE=1.50
+ BR=6 NR=1.20 VAR=25 IKR=0.06
+ RB=80 RBM=12 IRB=0.001
+ RC=1.0 RE=0.6
*
* Junction capacitances (fit priority: Cob?3.5pF@VCB=10V, and Cib curve shape)
+ CJC=6.2p VJC=0.80 MJC=0.38 XCJC=0.25
+ CJE=18p VJE=0.75 MJE=0.33
*
* Transit time / high-frequency behavior (fit priority: fT?80MHz@IC=1mA,VCE=10V)
+ TF=1.6n XTF=3.0 VTF=4.0 ITF=0.08
+ TR=50n
*
* Breakdown helpers (datasheet: V(BR)CBO=60V, V(BR)EBO=5V)
+ BV=60 IBV=100u
+ BVE=5 IBVE=100u
+ EG=1.11 XTB=1.5
+)
.model 2SA1015 PNP (
+ IS=8e-15 NF=1.00 BF=400 VAF=50 IKF=0.10
+ ISE=2e-14 NE=1.50
+ BR=6 NR=1.20 VAR=20 IKR=0.05
+ RB=90 RBM=15 IRB=0.001
+ RC=1.2 RE=0.7
*
* Junction capacitances (fit priority: Cob?7pF@VCB=10V,f=1MHz)
+ CJC=18p VJC=0.80 MJC=0.38 XCJC=0.25
+ CJE=22p VJE=0.75 MJE=0.33
*
* Transit time / high-frequency behavior (fit priority: fT?80MHz@IC=1mA,VCE=10V)
+ TF=1.8n XTF=3.0 VTF=4.0 ITF=0.08
+ TR=60n
*
* Breakdown helpers (datasheet: V(BR)CBO=-50V, V(BR)EBO=-5V)
+ BV=50 IBV=100u
+ BVE=5 IBVE=100u
+ EG=1.11 XTB=1.5
+)
先程の出力特性と比べ、形状が変わりました。
参照したデータシートにも近づいています。

以上のように、生成AIを使うと手軽に高精度なモデルを作れます。
ただし、出力されたパラメータを100%信じるのではなく、使いたい素子のデータシートや実測結果と照らし合わせながら調整するのが良いです。
モデルを作るだけでも、技術的な深さとおもしろさを感じます。

コメント