LTspice-サブサーキットモデル(.subckt)の追加方法

  • URLをコピーしました!

当記事では、SPICEモデルの内、サブサーキットモデル(.subckt)をLTspiceに追加する方法について詳しく説明します。

LTspiceで標準で搭載されているアナログ・デバイセズ(旧リニアテクノロジー含む)のSPICEモデル以外でも、追加して問題なく使用することが可能なのです。

なお、「デバイスモデル(.model)の追加方法」については以下の記事で解説しています。

目次

サブサーキットモデルで追加可能な部品の種類は?

サブサーキットモデル(等価回路モデル)はSPICE記述言語(ネットリスト)の表記が「.subckt」で始まり、等価回路を組み合わせて表現されたSPICEモデルです。

デバイスモデルは、抵抗、コンデンサ、コイル、フェライトビーズ、ダイオード、バイポーラトランジスタ、J-FET、MOS-FETの8種類に限られました。

しかし、サブサーキットモデルでは等価回路を組み合わせることで、アイディア次第でどんな部品でも作り出すことができます。

ただ、LTspice初心者にとっては、サブサーキットモデルを自作するのは難しいので、まずは部品メーカーが提供しているオペアンプやICなどのサブサーキットモデルを入手して追加するのが現実的です。

なお、サブサーキットモデルの意味自体が良くわからない場合は、以下の記事をご覧ください。

サブサーキットモデルの入手

デバイスモデルを入手するには、部品メーカーが提供しているデバイスモデルを入手するのが最も簡単です。

以下の記事で、SPICEモデルを無償提供しているメーカーをまとめましたので、参考にして下さい。

当記事では、解説のためにアナログ・デバイセズのオペアンプ「AD8610」を入手してみます。

1

以下のリンクをクリックして、アナログ・デバイセズのWEBサイトでSPICEモデルがダウンロードできるページに移動します。

アナログ・デバイセズのWEBサイトのトップページから移動する場合は、設計支援⇒シミュレーションモデル⇒SPICE シミュレーション モデル / SPICE回路の順で移動できます。

2

以下のように、ダウンロードできるSPICEモデルの一覧が表示されます。

AD8610 検索

「Search」に「AD8610」と入力します。

3
AD8610 SPICE Macro Model

「AD8610 SPICE Macro Model」をクリックします。

4
License Spice Models Accept

「License agreement for Spice Models」の画面が表示されるので、「I Accept」をクリックするとダウンロードが開始されます。

LTspiceにサブサーキットモデルを追加

1
ad8610.cir サブサーキットモデル

ダウンロードした「ad8610.cir」をメモ帳で開くと.SUBCKTから記述が始まっているので、サブサーキットモデルであることがわかりますね。このサブサーキットモデルをLTspiceに追加していきます。

2
Analog_Devices フォルダ作成

「C:\Users\ユーザー名\Documents\LTspiceXVII\lib\sub」に任意のフォルダを作成します。

LTspiceは定期的なアップデートによってファイルが更新されるので、単純にsubフォルダ内にサブサーキットモデルを追加していくと、自分で追加したファイルの場所がわからなくなってしまいます。

そこで、任意のフォルダを作成して、その中にサブサーキットモデルを追加していくのが後々、管理しやすいのでおすすめです。

フォルダ名は何でも構わないのですが、当サイトではメーカー別にフォルダを作成することにするので、「Analog_Devices」を作成します。

3
ad8610.cir 保存

「C:\Users\ユーザー名\Documents\LTspiceXVII\lib\sub\Analog_Devices」に、先程ダウンロードした「ad8610.cir」を保存します。

4
Analog_Devices フォルダ作成

「C:\Users\ユーザー名\Documents\LTspiceXVII\lib\sym」にも任意のフォルダを作成します。

同じように、メーカー別のフォルダとして、「Analog_Devices」を作成します。

5
opamp2.asy 回路図シンボル コピー

回路図シンボルを一から作るのは大変なので、標準で用意されている回路図シンボルを流用することにします。

まずは、「C:\Users\ユーザー名\Documents\LTspiceXVII\lib\sym」からオペアンプの回路図シンボルである「opamp2.asy」をコピーします。

6
opamp2.asy 保存

コピーした「opamp2.asy」を「C:\Users\ユーザー名\Documents\LTspiceXVII\lib\sym」に保存します。

7
AD8610.asy 名前変更

「C:\Users\ユーザー名\Documents\LTspiceXVII\lib\sym\Analog_Devices」に保存した「opamp2.asy」を「AD8610.asy」に名前を変更します。

名前を変更した後、「AD8610.asy」のファイルを開きます。

8
LTspice XVII シンボル属性 編集

LTspiceが起動され、「AD8610.asy」のファイルが開くので、「Edit-Edit Attributes」をクリックして、シンボル属性の編集画面を開きます。

9
LTspice XVII シンボル属性 意味

「Edit-Edit Attributes」の各属性の詳しい意味は以下の通りになります。

属性説明
Prefix回路図シンボルの接頭辞
抵抗:R
コンデンサ:C
コイル:L
サブサーキットモデル:X
※サブサーキットモデルであれば、抵抗、コンデンサ、コイルでも全て「X」になります。
Spice Model
Valueサブサーキットモデルのファイルで定義されている名前
例:「.SUBCKT AD8610」であれば「AD8610」
Value2
Spice LineValue以外のパラメータ
Spice Line2
Description回路図シンボルの説明
(シンボル上に表示)
Model fileサブサーキットモデルの場所(パス)
10
LTspice XVII サーキットモデル 回路図シンボル 関連付け

サブサーキットモデルの「ad8610.cir」と回路図シンボルの「AD8610.asy」を関連付けます。

「Value」をad8610.cirのサブサーキットモデルの名前と同じ「AD8610」、「Model File」をad8610.cirが保存されているパスの「Analog_Devices\ad8610.cir」に変更します。

「Library Search Path」を使用したサブサーキットモデルのパス設定

当記事では、サブサーキットモデルのパスを「Model File」で設定しましたが、「Control Panel」-「Sym. & Lib. Search Paths」-「Library Search Path[*]」で定義することもできます。

LTspice XVII サブサーキットモデル パス設定

当記事で解説している「AD8610」を例とすると、「Library Search Path[*]」に「ad8610.cir」が保存されているフォルダのパスとして「C:\Users\ユーザー名\Documents\LTspiceXVII\lib\sub\Maker\Analog_Devices」を入力します。

LTspice XVII サブサーキットモデル 関連付け

そして、「AD8610.asy」の「Symbol Attribute Editor」-「Model File」にはAD8610.asyに関連付けるサブサーキットモデルのファイル名として「ad8610.cir」を入力します。

後々、サブサーキットモデルのファイルの保存場所が変わる可能性がある場合、「Library Search Path[*]」に入力するフォルダのパスを修正するだけで、一括して変更できるので便利です。

また、LTspiceのSPICEモデルを提供している部品メーカーの中には、SPICEモデル(デバイスモデル・サブサーキットモデル)と一緒に回路図シンボルも配布しているケースもあります。

このような場合は、回路図シンボルの「Symbol Attribute Editor」-「Model File」には関連付けるサブサーキットモデルのファイル名がすでに入力されているので、「Control Panel」-「Sym. & Lib. Search Paths」-「Library Search Path[*]」でサブサーキットモデルが保存されているフォルダの場所を定義するだけで簡単にSPICEモデルを追加することができます。

「.lib/.include(.inc)」構文を使用したサブサーキットモデルのパス設定

当記事では、サブサーキットモデルのパスを「Model File」で設定しましたが、「.lib/.include(.inc)」構文を使用して回路図上で定義することもできます。

例えば、今回の場合で言えば、SPICE Directiveで「.lib Analog_Devices\ad8610.cir」と入力して、AD8610を使用する回路図に配置します。
※「.lib」の代わりに「.include(.inc)」でも動作します。

「.lib/.include(.inc)」構文の詳しい使い方は以下の記事で解説しています。

しかし、この方法だと、いちいち回路図に「.lib/.include(.inc)」構文を配置しなければならないので面倒です。やはり、「Symbol Atribute Editor」で設定してしまった方が良いでしょう。

11
LTspice XVII 回路図シンボル 変更

これで、回路図シンボルが「AD8610」に変更されました。

12

続けて、サブサーキットモデルの「ad8610.cir」と回路図シンボルの「AD8610.asy」において、ピン配置が一致しているのか確認します。

LTspice XVII サブサーキットモデル ピン配置

「ad8610.cir」をメモ帳で開くと、Non-Inverting Input(+入力)、Inverting Input(-入力)、Positive supply(+電源)、negative supply(-電源)、output(出力)の順でピン番号が配置されていることがわかります。

そのため、AD8610の入出力、電源とピン番号は以下のような対応になります。これはLTdpiceに標準で格納されているオペアンプの回路図シンボルのピン番号と同じです。

AD8610ピン番号
non-Inverting Input
(+入力)
1
inverting Input
(-入力)
2
positive supply
(+電源)
3
negative supply
(-電源)
4
output
(出力)
5

※AD8610実部品のピン番号ではないのでご注意ください。

13
LTspice XVII  ピン番号 確認

回路図シンボル「AD8610」に戻り、各ピンを右クリックすると、「Pin/Port Properties」の画面が開き、サブサーキットモデルと回路図シンボルのピン番号が一致しているのか確認できます。

14
LTspice XVII ピン番号 一致

In+(+入力)を右クリックすると、回路図シンボルのNetlist Order(ピン番号)が「1」になっており、サブサーキットモデルと一致していることがわかります。

同様に、他のNetlist Orderについても確認しておきましょう。

15
LTspice XVII サブサーキットモデル 追加終了

ピン番号が一致していることを確認後、保存します。これでサブサーキットモデルの追加作業は終了です。

追加したサブサーキットモデルの確認

1
LTspice XVII 電子部品

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

2
LTspice XVII AD8610 確認

「Select Component Symbol」から「AD8610」を確認することができました。

念のため、回路図に配置するため、「AD8610」を選択してOKをクリックします。

3
LTspice XVII AD8610 配置

他の部品と同様に、「AD8610」も問題なく配置できるはずです。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!
目次