LTspice-デバイスモデル(.model)の追加方法

当記事では、SPICEモデルの内、デバイスモデル(.model)をLTspiceに追加する方法について詳しく説明します。
LTspiceで標準で搭載されているアナログ・デバイセズ(旧リニアテクノロジー含む)のSPICEモデル以外でも、追加して問題なく使用することが可能なのです。
なお、「サブサーキットモデル(.subckt)の追加方法」については以下の記事で解説しています。

デバイスモデルで追加可能な部品の種類は?
デバイスモデルはSPICE記述言語(ネットリスト)の表記が「.model」で始まり、モデルパラメータのみで表現されたSPICEモデルです。
LTspiceでデバイスモデルとして定義されており追加可能なのは、以下の8種類になります。
- 受動部品
- standard.res:抵抗
- standard.cap:コンデンサ
- standard.ind:コイル
- standard.bead:フェライトビーズ
- 能動部品
- standard.dio:ダイオード
- standard.bjt:バイポーラトランジスタ
- standard.jft:J-FET
- standard.mos:MOS-FET
なお、デバイスモデルの意味自体が良くわからない場合は、以下の記事をご覧ください。

デバイスモデルの入手
デバイスモデルを入手するには、部品メーカーが提供しているデバイスモデルを入手するのが最も簡単です。
以下の記事で、SPICEモデルを無償提供しているメーカーをまとめましたので、参考にして下さい。

当記事では、解説のためにONセミコンダクターのNPNバイポーラトランジスタ「2N4923」を入手してみます。
以下のリンクをクリックして、ONセミコンダクターWEBサイトでSPICEモデルがダウンロードできるページに移動します。
なお、ONセミコンダクターWEBサイトのトップページから移動する場合はわかりづらいので、サイト内検索で「シミュレーション・モデル」と検索した方が早いです。
以下のように、ダウンロードできるSPICEモデルの一覧が表示されます。

検索窓に「2N4923」と記入して「検索」をクリックします。

拡張子の違う複数の種類のファイル名が表示されますが、LTspiceで使用できるファイルの拡張子は「.LIB」になります。「PSpice Model」をクリックすると、自動的にダウンロードが開始します。
LTspiceにデバイスモデルを追加

ダウンロードした「2N4923.LIB」をメモ帳で開くと.MODELから記述が始まっているので、デバイスモデルであることがわかりますね。このデバイスモデルをLTspiceに追加していきます。

LTspiceを起動させて、「File-Open…」をクリックします。

C:\Users\ユーザー名\Documents\LTspiceXVII\lib\cmpから、フォルダ「cmp」を開くと、各部品ごとのデータファイルが表示されます。
ファイルの種類を「Discretes」にして、バイポーラトランジスタのデータが保存されている「standard.bjt」を選択して開きます。

このように保存されているバイポーラトランジスタのデータが表示されます。

先程、メモ帳で開いた「2N4923.LIB」のテキストをコピーペーストします。
どこでも構わないのですが、今回はわかりやすいように一番下に貼りつけます。
デバイスモデルを追加する数が増えてくると、
以下のようにコメント文を使って、メーカー別にわけて整理するとわかりやすいです。
*ON Semiconductor
.MODEL 2N4923 npn(…)
.MODEL MUN5215 npn(…)
*Infineon Technologies
.model BFN24 npn(…)
.model BFP650 npn(…)
*ST Microelectronics
.model TIP50 npn(…)
.model BD135 npn(…)

「.MODEL Q2n4923 npn」と表示されていますが、このままだと回路図上では「Q2n4923」と表示されてしまうので、「.MODEL 2N4923 npn」と修正します。
また、余分なコメント文についても削除しておきます。

このままでも問題ありませんが、改行が気になり他のデータと同じように横一列にしたい場合は修正しておきましょう。
改行を「+」で表しているので、「+」を削除してパラメータをカッコ()で閉じます。各パラメータの間はスペースを入れておきます。

修正を行い、全ての作業が終了したら、保存しておきます。
その他のやり方として、「.lib/.include(.inc)」構文を使用して、デバイスモデルを追加することができます。デバイスモデルのファイルをsubフォルダに保存した場合、以下のようになります。
- 「2N4923.LIB」を「C:\Users\ユーザー名\Documents\LTspiceXVII\lib\sub」に保存する。
- SPICE Directiveで「.lib 2N4923.LIB」と記入して、2N4923を使用する回路図に配置する。
※「.lib」の代わりに「.include(.inc)」でも動作します。
「.lib/.include(.inc)」構文の詳しい使い方は以下の記事で解説しています。

しかし、この方法だといちいち回路図に「.lib/.include(.inc)」構文を配置しなければならないので面倒です。やはり、データファイルに直接、デバイスモデルのデータを書き込む方法が良いでしょう。
追加したデバイスモデルの確認

LTspiceで新規の回路図エディタを開き、「Component」をクリックします。

「Select Component Symbol」から「npn」を選択してOKをクリックします。
当記事ではNPNバイポーラトランジスタを例に解説していますが、その他のデバイスモデルに対応している回路図モデルは以下の通りになります。
- ダイオード:diode
- ツェナーダイオード:zener
- ショットキーダイオード:schottky
- NPNバイポーラトランジスタ:npn
- PNPバイポーラトランジスタ:pnp
- Nch-JFET:njf
- Pch-JFET:pjf
- Nch-MOSFET:nmos
- Pch-MOSFET:pmos

NPNを配置後、右クリックして「Bipolar Transistor」の編集画面を開きます。

「Pick New Transistor」をクリックして、standard.bjtに保存されているバイポーラトランジスタ一覧(Select Bipolar Transistor)を表示させます。

Select Bipolar Transistorの画面一番下を確認すると、追加した「2N4923」があるので、選択してOKをクリックします。

「NPN」から「2N4923」に変更されます。これで、正しくデバイスモデルがLTspiceに追加されたことを確認できました。