Arduino
電子工作
IoT
ESP8266
LTSpice

回路シミュレーション LTspice の使い方(2) 部品の追加

More than 3 years have passed since last update.


概要

LTspice の使い方 (部品の追加)


はじめに

LTspice は非常に便利に、回路のシミュレーションを行ってくれる。

しかし、どうも部品が足りない。

実際のところ「秋月」「千石」あたりで入手可能な部品で回路は作るのだから、そのあたりがシミュレーションできなければ、意味がない。

そこで、「秋月」で入手可能なトランジスタとオペアンプについて、2,3種類を追加した。

LTspice の使い方については、下記も参考して下さい。

「ESP8266 (ESP-WROOM-02) 回路シミュレーション・ツール LTspice (無料) の使い方 まとめ」

http://qiita.com/exabugs/items/59536e2a52aa460087d5


ディレクトリ構成

LTspice の部品群は、以下のフォルダにある。(Macの場合)

~/Library/Application\ Support/LTspice/lib

サブフォルダは、それぞれ、以下の内容の定義ファイルを含んでいる。

フォルダ
内容

cmp
ダイオードやトランジスタなどのパラメータ・モデルのデータ・ファイル

sub
デバイスの回路情報がセットされたlibファイルやsubファイル

sym
回路図を作成する時のデバイスのシンボルのデータ


トランジスタ

トランジスタの定義はcmp配下に置かれている。

ここでは、最も有名なトランジスタ NPN型「2SC1815」、PNP型「2SA1015」 を追加する。


追加手順


  1. cmp/standard.bjt に以下を追記する。(参考文献:1)


  • 【注意】 2SC1815/2SA1015系 の Spice データについて (2016/04/16)

    Vaf(アーリー電圧) が 6 となっているものが多数見受けられます。これは明らかに値がおかしい。

    6 から 100 に値を変更します。(Github 修正済み)

    スクリーンショット 2016-04-16 15.32.11.png


  • 【注意】 2SC1815/2SA1015系 の Spice データについて (2016/04/16)

    Ikf(順方向高電流域ロールオフ・ポイント)についても、値がおかしいです。2SC1815 では 20mA になっています。これでは値が小さすぎます。

    hfeが半分(50%)に低下するコレクタ電流(Ic)をIfkとして設定すればよいので、データシートより、2SC1815, 2SA1015 共に 200mA が適当です。

    スクリーンショット 2016-04-16 21.14.39.png


データシート

http://akizukidenshi.com/download/2sc1815-gr.pdf

http://akizukidenshi.com/download/2sa1015-gr.pdf

*Low Noise Amp PC=0.4W Ic=0.15A Vcbo=60V Complementary 2SA1015

.model 2SC1815 NPN(Is=2.04E-15 Xti=3 Eg=1.11 Vaf=100 Bf=300 Ne=1.5 Ise=0
+ Vceo=50 Icrating=150m mfg=TOSHIBA
+ Ikf=200m Xtb=1.5 Br=3.377 Nc=2 Isc=0 Ikr=0 Rc=1 Cjc=1p Mjc=.3333
+ Vjc=.75 Fc=.5 Cje=25p Mje=.3333 Vje=.75 Tr=450n Tf=20n Itf=0 Vtf=0 Xtf=0)

.model 2SC1815-GR NPN(Is=2.04E-15 Xti=3 Eg=1.11 Vaf=100 Bf=300 Ne=1.5 Ise=0
+ Vceo=50 Icrating=150m mfg=TOSHIBA
+ Ikf=200m Xtb=1.5 Br=3.377 Nc=2 Isc=0 Ikr=0 Rc=1 Cjc=1p Mjc=.3333
+ Vjc=.75 Fc=.5 Cje=25p Mje=.3333 Vje=.75 Tr=450n Tf=20n Itf=0 Vtf=0 Xtf=0)

.model 2SC1815-Y NPN(Is=2.04E-15 Xti=3 Eg=1.11 Vaf=100 Bf=200 Ne=1.5 Ise=0
+ Vceo=50 Icrating=150m mfg=TOSHIBA
+ Ikf=200m Xtb=1.5 Br=3.377 Nc=2 Isc=0 Ikr=0 Rc=1 Cjc=1p Mjc=.3333
+ Vjc=.75 Fc=.5 Cje=25p Mje=.3333 Vje=.75 Tr=450n Tf=20n Itf=0 Vtf=0 Xtf=0)

*Low Noise Amp PC=0.4W Ic=0.15A Vcbo=50V Complementary 2SC1815
.model 2SA1015 PNP(Is=295.1E-18 Xti=3 Eg=1.11 Vaf=100 Bf=300 Ne=1.5 Ise=0
+ Vceo=50 Icrating=150m mfg=TOSHIBA
+ Ikf=200m Xtb=1.5 Br=10.45 Nc=2 Isc=0 Ikr=0 Rc=15 Cjc=66.2p
+ Mjc=1.054 Vjc=.75 Fc=.5 Cje=5p Mje=.3333 Vje=.75 Tr=10n Tf=1.661n Itf=0 Vtf=0 Xtf=0)

.model 2SA1015-GR PNP(Is=295.1E-18 Xti=3 Eg=1.11 Vaf=100 Bf=300 Ne=1.5 Ise=0
+ Vceo=50 Icrating=150m mfg=TOSHIBA
+ Ikf=200m Xtb=1.5 Br=10.45 Nc=2 Isc=0 Ikr=0 Rc=15 Cjc=66.2p
+ Mjc=1.054 Vjc=.75 Fc=.5 Cje=5p Mje=.3333 Vje=.75 Tr=10n Tf=1.661n Itf=0 Vtf=0 Xtf=0)

.model 2SA1015-Y PNP(Is=295.1E-18 Xti=3 Eg=1.11 Vaf=100 Bf=200 Ne=1.5 Ise=0
+ Vceo=50 Icrating=150m mfg=TOSHIBA
+ Ikf=200m Xtb=1.5 Br=10.45 Nc=2 Isc=0 Ikr=0 Rc=15 Cjc=66.2p
+ Mjc=1.054 Vjc=.75 Fc=.5 Cje=5p Mje=.3333 Vje=.75 Tr=10n Tf=1.661n Itf=0 Vtf=0 Xtf=0)


使い方 (2SC1815)


  1. NPN型を選択して配置

    スクリーンショット 2016-03-20 14.50.37.png


  2. 右クリックして、「Pick new transistor」をクリック

    スクリーンショット_2016-03-20_14_50_50.png


  3. 「2SC1815」が選択できるようになっているはず。選択すると以下になる。

    スクリーンショット 2016-03-20 14.51.24.png


  4. 完成

    スクリーンショット 2016-03-20 14.51.49.png



オペアンプ

オペアンプやICなどの複雑な部品は「マクロモデル」という形でsub配下に置かれている。

ここでは、秋月で商品取扱がある、新日本無線のオペアンプ「NJM4558DD」を追加する。(参考文献:2,3)


追加手順


  1. 新日本無線からマクロモデルをダウンロード

    (「NJM4558DD」は探しても見つからないので、「オペアンプ バイポーラタイプ マクロモデル」にある「NJM4558C」で代替する。)

    http://www.njr.co.jp/products/semicon/design_support/macro/macro.html


  2. 展開したフォルダにある「njm4558C_v1.lib」を、subディレクトリにコピー


  3. 【重要】「njm4558C_v1.lib」の内容を修正

    「njm4558C_v1.lib」はパッケージに忠実に2個入りを再現している。

    しかし、シミュレーションには不要なので、1個だけで使えるよう、以下のように定義を修正する。


$ diff njm4558C_v1.lib.bak njm4558C_v1.lib

13,16d12
< .SUBCKT NJM4558C OUT1 -IN1 +IN1 V- +IN2 -IN2 OUT2 V+
< X1 +IN1 -IN1 V+ V- OUT1 njm4558C_s
< X2 +IN2 -IN2 V+ V- OUT2 njm4558C_s
< .ENDS NJM4558C
25c21
< .subckt njm4558C_s 1 2 3 4 5
---
> .subckt NJM4558C 1 2 3 4 5
84c80
< .ends njm4558C_s
---
> .ends NJM4558C


  1. 「opamp2」を選択して配置する
    スクリーンショット 2016-03-20 14.34.16.png
    スクリーンショット 2016-03-20 14.35.09.png

  2. 右クリックして「Open Symbol」をクリック
    スクリーンショット_2016-03-20_14_35_18.png

  3. 以下のような画面が立ち上がる。(これはシンボルエディタのようだ。)
    スクリーンショット 2016-03-20 14.35.36.png

  4. 右クリックで、View - Attribute Table を選択
    スクリーンショット_2016-03-20_15_09_45.png

  5. Value に「NJM4558C」を、ModelFile に「njm4558C_v1.lib」を記載する。
    スクリーンショット 2016-03-20 15.17.14.png

  6. 保存
    「njm4558c.asy」として保存する。

~/library/application support/ltspice/lib/sym/opamps/njm4558c.asy


使い方


  1. 「NJM4558C」を選択して配置
    スクリーンショット 2016-03-20 16.46.51.png


テスト

追加した「NJM4558C」を使って、簡単な発振回路でテストした。

スクリーンショット 2016-03-20 17.14.07.png

スクリーンショット 2016-03-20 17.14.27.png


Github


  • 今回の追加分を含む、lib配下一式を以下にアップしています。

    https://github.com/exabugs/LTspice

  • 上記の手順が面倒な方は、clone すれば、すぐ使えるようになります。


まとめ


  • 「秋月」「千石」で扱う部品については、Githubに、今後、適宜追加していく予定です。


参考文献


  1. http://netlog.jpn.org/r271-635/2012/12/ltspice-inst-adddevice.html

  2. http://www.eleki-jack.com/KitsandKids2/2008/06/ltspice20op1.html

  3. http://www.eleki-jack.com/KitsandKids2/2008/06/ltspice21op2.html