SPICEモデルの使用法

2007年4月1日更新
サンプルファイルのダウンロード

回路の説明

SPICEモデルの使用法として、LTspiceにデフォルトで 登録されているシンボルをつかったやり方を挙げます。 ここでは、サブサーキットモデルとして アナログデバイセズ社のオペアンプAD8572を、 トランジスタモデルとしてZETEX社のNPNトランジスタFMMT617 を使用した定電流駆動回路を例としてとりあげます。

使用するシンボル

SPICEモデルを利用するために使用するシンボルは、それぞれ、

オペアンプ(シンボル名:opamp2)
オペアンプシンボル

NPNトランジスタ(シンボル名:npn)
トランジスタシンボル
を利用します。

回路図の作成

オペアンプおよびトランジスタをシンボルを置くだけに とどめ、その他抵抗などの値を記入した回路図です。
回路図
R4 は回路としては本来必要のない抵抗ですが、オペアンプの出力が トランジスタのベースなど入力抵抗の高いものにつながれている場合に シミュレーションの初期動作電位が決まらない問題(Iteration error) を避けるために入れてあります。

SPICEモデル参照のための手続き

ここで、SPICEモデルを参照するために必要な手続きを述べます。
まずオペアンプから。
オペアンプのシンボル上にマウスカーソルを置き、 その場で Ctrlキーを押しながら右クリックします。 すると以下のような画面が現れますので、Value のところの opamp2 をサブサーキットのモデル名と置き換えます。 今回の場合は、AD8572 です。
オペアンプの設定

その後、モデル名が回路図上で読めるよう、Visible を 有効にしておきます。設定は以下のようになります。
オペアンプの設定

これで Ok をクリックします。
つぎにトランジスタ。
同様にシンボルの上で、Ctrl key−右クリックを行い、 Value のところをNPNトランジスタのモデル名(今回の場合、FMMT617) と置き換えます。
トランジスタの設定

(LTspice のヘルプには FAQ のところにサードパーティ製のモデルを 使用する方法がのっています。そこでは、LTspice デフォルトの ライブラリファイルを変更するように記述がありますが、上記の 方法でも問題なく使用できますので私はもっぱらこちらの方法を 利用しています。)
これでシンボルのほうの準備は整いました。あとは、シミュレータに 正しくモデル定義ファイルを参照するよう必要な情報を与えるだけです。
シミュレータに追加のライブラリファイルを参照させるようにするには、 .LIB コマンドを利用します。
.OPアイコンアイコンをクリックして、 (もしくは、メニュー Edit から、SPICE Directive を選択して) 現れたウィンドウに、”.LIB モデル定義ファイル名”と入力します。
DOTコマンド入力画面

Ok をクリックし、回路図上の適当な位置で左クリックすることで コマンド入力を完了します。 今回の例ではそれぞれのモデルが別のファイルにありますので、 2回作業を繰り返します。回路図は以下のようになります。
回路図

シミュレーションの実行

これでシミュレーションの準備が整いました。 Runアイコン Runアイコンをクリックしてシミュレーションを実行してみましょう。 とりあえず、2秒間のTransient解析を行います。
シミュレーション設定

V(Imon) をプロットするとほぼ理想的に回路が動いていることがわかります。
シミュレーション結果

つぎにAC解析を行ってみます。 AC解析のため、入力となる信号にACを定義します。 V2 の上で右クリックして部品の詳細設定画面を開き、 以下のように設定を変更します。
V設定画面

Ok をクリックし画面を閉じます。
今度は、.Tran 2 と回路図上にあるシミュレーションコマンド の上で右クリックをします。 シミュレーションの設定画面があらわれますので、AC Analisys タブを選んで、以下のように設定します。
シミュレーション設定画面

Type of Sweep: Decade は周波数を、1, 10, 100, 1000,... というように 10倍区切りで掃引します。Type of Sweep: Octave は周波数を 1, 2, 4, 8, 16, 31, 64,...というように、2倍区切りで掃引します。
Ok をクリックしシミューレーションの設定を終了した後、 いったんグラフウィンドウを閉じて(右上の X アイコンをクリック) Runアイコンをクリックしてシミュレーションを実行します。 I(R1)をプローブした結果は以下のようになります。
シミュレーション結果

1MHz近辺で若干ピークをもった変調特性が確認されます。 ちなみに、この AC 解析で R4 を 10Meg 程度より大きくとると Iteration error が出るようです。Transient 解析のほうは特に 問題ないようですが。
この Iteration error は SPICE シミュレーションオプションの Gmin stepping をスキップしたりすると回避できる場合もあるようですが、 このあたりあまり深く突っ込んでいません。

SPICEモデルを利用する上での注意事項

サブサーキットモデルを利用する上でライブラリと シンボルのピンは対応していなくてはなりません。 ほとんどの場合(今回の場合も含めて) 標準と言っていいほどそのまま使用できますが、 やはり認識は必要かと思われます。
今回使用した Opamp2 というシンボルは5つの端子を もち、
noninverting input
inverting input
positive power supply
negative power supply
output
という順番の定義に対応しています。 したがって、使用したいサブサーキットファイルが この順番と異なるときは、自分でサブサーキットの ファイルを編集してピンの順番の定義を あわせる必要があります。(たいていは .subckt のある行を変更するだけですが。)
戻る