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

## 概要
LTspice の使い方 (部品の追加)

## はじめに
LTspice は非常に便利に、回路のシミュレーションを行ってくれる。
しかし、どうも部品が足りない。
実際のところ「秋月」「千石」あたりで入手可能な部品で回路は作るのだから、そのあたりがシミュレーションできなければ、意味がない。
そこで、「秋月」で入手可能なトランジスタとオペアンプについて、２，３種類を追加した。

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](https://qiita-image-store.s3.amazonaws.com/0/69410/69ca0bf1-e961-ab6a-4f8b-484a0ffb33a7.png)  

- 【注意】 2SC1815/2SA1015系 の Spice データについて (2016/04/16)
Ikf(順方向高電流域ロールオフ・ポイント)についても、値がおかしいです。2SC1815 では 20mA になっています。これでは値が小さすぎます。
hfeが半分(50%)に低下するコレクタ電流(Ic)をIfkとして設定すればよいので、データシートより、2SC1815, 2SA1015 共に 200mA が適当です。
 ![スクリーンショット 2016-04-16 21.14.39.png](https://qiita-image-store.s3.amazonaws.com/0/69410/4e752c9f-6433-1a1e-2fef-15cbc1f8c0f9.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](https://qiita-image-store.s3.amazonaws.com/0/69410/d2b967af-8ec7-825f-cf73-3e5956e9e41b.png)

2. 右クリックして、「Pick new transistor」をクリック
![スクリーンショット_2016-03-20_14_50_50.png](https://qiita-image-store.s3.amazonaws.com/0/69410/3ef15830-6211-10db-d741-00ee1f7c046d.png)
 
3. 「2SC1815」が選択できるようになっているはず。選択すると以下になる。
![スクリーンショット 2016-03-20 14.51.24.png](https://qiita-image-store.s3.amazonaws.com/0/69410/219e1eab-c8c1-7dd8-ce67-3cd1170f75cc.png)

4. 完成
![スクリーンショット 2016-03-20 14.51.49.png](https://qiita-image-store.s3.amazonaws.com/0/69410/d64b7305-f4df-8f75-672b-2c814e74424c.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
```
4. 「opamp2」を選択して配置する
![スクリーンショット 2016-03-20 14.34.16.png](https://qiita-image-store.s3.amazonaws.com/0/69410/d77fe730-b27d-68b6-81ab-2a41b0fc4fe1.png)
![スクリーンショット 2016-03-20 14.35.09.png](https://qiita-image-store.s3.amazonaws.com/0/69410/9eef7773-3014-e259-8cf1-cd6800fd791c.png)
4. 右クリックして「Open Symbol」をクリック
![スクリーンショット_2016-03-20_14_35_18.png](https://qiita-image-store.s3.amazonaws.com/0/69410/6edbdc43-9db2-8c75-2663-c77a37fa75b5.png)
6. 以下のような画面が立ち上がる。(これはシンボルエディタのようだ。)
![スクリーンショット 2016-03-20 14.35.36.png](https://qiita-image-store.s3.amazonaws.com/0/69410/386aa6bd-3fb0-8bf8-803f-14422621d264.png)
7. 右クリックで、View - Attribute Table を選択
![スクリーンショット_2016-03-20_15_09_45.png](https://qiita-image-store.s3.amazonaws.com/0/69410/0428c25b-9f7c-941a-fd02-cad673a91373.png)
8. Value に「NJM4558C」を、ModelFile に「njm4558C_v1.lib」を記載する。
![スクリーンショット 2016-03-20 15.17.14.png](https://qiita-image-store.s3.amazonaws.com/0/69410/8ba305f8-ee15-213a-e75c-df9dc2b256e2.png)
9. 保存
「njm4558c.asy」として保存する。

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

### 使い方
1. 「NJM4558C」を選択して配置
![スクリーンショット 2016-03-20 16.46.51.png](https://qiita-image-store.s3.amazonaws.com/0/69410/73e3679f-d922-e0f4-3393-0db834691fcb.png)



## テスト

追加した「NJM4558C」を使って、簡単な発振回路でテストした。
![スクリーンショット 2016-03-20 17.14.07.png](https://qiita-image-store.s3.amazonaws.com/0/69410/ecfeb8f5-b5c6-cf85-7844-8b3d6de8d768.png)

![スクリーンショット 2016-03-20 17.14.27.png](https://qiita-image-store.s3.amazonaws.com/0/69410/ca24c934-9eb7-0b8d-d54e-77c40ea8f41f.png)


## Github
 - 今回の追加分を含む、lib配下一式を以下にアップしています。<br>
https://github.com/exabugs/LTspice
 - 上記の手順が面倒な方は、clone すれば、すぐ使えるようになります。

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


## 参考文献
1. http://netlog.jpn.org/r271-635/2012/12/ltspice-inst-adddevice.html
1. http://www.eleki-jack.com/KitsandKids2/2008/06/ltspice20op1.html
1. http://www.eleki-jack.com/KitsandKids2/2008/06/ltspice21op2.html