CCWO Embedded Space

CCWOの日々の開発を発信するブログ

LTspice モデル 追加 オペアンプ

事前に読んでもらえるといいかと思います。

ccwo-embed.hatenablog.com

オペアンプのSpiceモデルを追加します。
エフェクターにも使ったNJM4558Dを追加してみます。

Spiceモデルファイルの作成

まずはSpiceモデルをsubフォルダに追加します。自分は既存のモデルと混在するとやっかいなので、subフォルダにmy_libフォルダを作成してここに追加した部品を保存しています。
njm4558C_v1.libとして以下の内容のファイルを作成しlibフォルダに保存します。自分の場合は.../LTspiceXVII/sub/my_lib/njm4558C_v1.libとなっています。

* PSpice Model Editor - Version 10.5.0
*$
*PART NUMBER:NJM4558C
*BIPOLAR OPAMP
*Version:1
*Please note that the inaccuracy is involved to it when you use this model.
*Please refrain from the model's resale.
********************************************
*Model Generated by NEW JAPAN RADIO CO.,LTD*
*            All Rights Reserved           *
*   Commercial Use or Resale Restricted    *
********************************************
*.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
*$
* connections:     non-inverting input
*                  | inverting input
*                  | | positive power supply
*                  | | | negative power supply
*                  | | | | output
*                  | | | | |
*                  | | | | |
.subckt njm4558C 1 2 3 4 5
  C1   11 12 {C1}
  C2    6  7 {C2}
  DC    5 53 DMOD2
  DE   54  5 DMOD2
  DLP  90 91 DMOD1
  DLN  92 90 DMOD1
  DP    4  3 DMOD1
  EGND 99  0 poly(2) (3,0) (4,0) 0 .5 .5
  FB    7 99 poly(5) vb vc ve vlp vln 0 1.72E+05 -1.00E+03 1.00E+03 1.72E+05 -1.72E+05
  GA    6  0 11 12 {GA}
  GCM   0  6 10 99 {GCM}
  IEE   3 10 dc {IEE}
  HLIM 90  0 vlim 1K
  Q1   11  2 13 PNP1
  Q2   12  1 14 PNP2
  R2    6  9 100.00E3
  RC1   4 11 {RC1}
  RC2   4 12 {RC2}
  RE1  13 10 {RE1}
  RE2  14 10 {RE2}
  REE  10 99 {REE}
  RO1   8  5 {RO1}
  RO2   7 99 {RO2}
  RP    3  4 {RP}
  VB    9  0 dc 0
  VC    3 53 dc {VC}
  VE   54  4 dc {VE}
  VLIM  7  8 dc 0
  VLP  91  0 dc {VLP}
  VLN   0 92 dc {VLN}

.MODEL DMOD1 D (T_MEASURED = 25 IS = 8.00E-16)
.MODEL DMOD2 D (T_MEASURED = 25	IS = 8.00E-16 RS = 1m CJO = 10p)
								
.MODEL PNP1 PNP (T_MEASURED = 25 IS = 8.00E-16 BF = 28181.81818)
.MODEL PNP2 PNP (T_MEASURED = 25 IS = {ISM2} BF = {BFM2})

.PARAM
+ C1 =	5.00E-10
+ C2 =	1.00E-09
+ GCM =	4.13E-07
+ GA =	2.32E-02
+ IEE =	1.55E-03
+ RC1 =	43.01
+ RC2 =	43.01
+ RE1 =	9.86
+ RE2 =	9.86
+ REE =	1.29E+05
+ RO1 =	50
+ RO2 =	25
+ RP =	1.76E+03
+ VC =	1.785
+ VE =	1.785
+ VLP =	17
+ VLN =	17
+ ISM2 = 8.152107E-16
+ BFM2 = 34444.44444

.ends njm4558C
*$

www.njr.co.jp
JRCから配布されているマクロモデルにはNJM4558Dがないので、同特性のNJM4558Cを利用します。

シンボルファイルの作成

sym/Opamps/opamp2.asyを編集し、.../LTspiceXVII/sym/Opamps/njm4558c.asyとして保存します。

Version 4
SymbolType CELL
LINE Normal -32 32 32 64
LINE Normal -32 96 32 64
LINE Normal -32 32 -32 96
LINE Normal -28 48 -20 48
LINE Normal -28 80 -20 80
LINE Normal -24 84 -24 76
LINE Normal 0 32 0 48
LINE Normal 0 96 0 80
LINE Normal 4 44 12 44
LINE Normal 8 40 8 48
LINE Normal 4 84 12 84
WINDOW 0 16 32 Left 0
WINDOW 3 16 96 Left 0
SYMATTR Value NJM4558C
SYMATTR Prefix X
SYMATTR Description BIPOLAR OPERATIONAL AMPLIFIER
SYMATTR ModelFile my_lib\njm4558C_v1.lib
PIN -32 80 NONE 0
PINATTR PinName In+
PINATTR SpiceOrder 1
PIN -32 48 NONE 0
PINATTR PinName In-
PINATTR SpiceOrder 2
PIN 0 32 NONE 0
PINATTR PinName V+
PINATTR SpiceOrder 3
PIN 0 96 NONE 0
PINATTR PinName V-
PINATTR SpiceOrder 4
PIN 32 64 NONE 0
PINATTR PinName OUT
PINATTR SpiceOrder 5

重要なのはSYMATTR ModelFileで用いるSpiceモデルを指定することです。これで新規でオペアンプを追加できます。オペアンプも慣れてしまえば意外と簡単です。ただ、オペアンプを追加する際はopamp2を用いれば大抵OKですが、自作のモデルや複雑なモデルは注意してasyファイルを作成する必要があります。asyファイルはLTspiceから作成する方法と、上記のような直接編集する方法があります。

2017/10/25の記事