LTspiceを使っているとき、こんなのあったらと思って探して見つけたTipsを整理します。都度、増やしていくかもしれません。
ポテンシオメータ(可変抵抗)サブ・サーキット
C接点スイッチ
ノーマルオープンがa接点、ノーマルクローズがb接点、どちらにも切り換えられるのがc接点と覚えていたが、SPDT(Single-Pole Double-Throw)というらしいです。
LTspiceには電圧スイッチがあって、a接点とb接点は容易に使えるのですが、c接点を作るのは電圧スイッチを2連にするとか、少し面倒でやったことはありません。
下記引用に、電圧スイッチからモディファイする方法が説明されていました。シンボルもクールで気に入りました。
シンボルの作成
上記の説明通りに、電圧スイッチを加工してシンボルをつくり、"..\LTspiceXVII\lib\sym\MyParts\" などのフォルダに SPDT.asy の名前で保存します。
そして、新しい回路を描くときにF2キーを押してSPDTを選択します。
モデルの記述
下記の太字の部分が SPDT のモデル定義です。これを"Spice Directive" から回路図上に書き込みます。
Now, start a new schematic and hit F2 to get the list of parts. You should now see SPDT showing in the list. Grab it and put it down on the schematic. Now hit the "S" key to call up a Spice dialog box where you can enter in a model, now. Put in the following text into that box:
.subckt SPDT COM NO NC POS NEG S1 COM NO POS NEG MYSW1 S2 COM NC NEG POS MYSW2 .model MYSW1 SW(Ron=.01 Roff=1000Meg Vh=.25 Vt=.5) .model MYSW2 SW(Ron=.01 Roff=1000Meg Vh=.25 Vt=-.5) .ends
Paste that into your schematic anywhere you want.
Here is what I did:
I think you can see that it works. Take a careful look at the switch models I used in the SUBCKT. Make sure you understand what I did there.
You will be able to make anything you like now. It's easy, really.
Later, when you get better at this kind of thing, you can save those SUBCKT models, too. Just stick them into the .\lib\sub directory and go back to the symbol editing and modify the attribute using the Edit/Attribute/Edit Attributes menu option and enter in the file name where you've saved this text. That way, LTspice will automatically find the model in the disk file and you don't need to place it on the schematic, anymore. In fact, if you place LOTS of various SUBCKT models in that file (you are allowed to add as many as you want), then you can set up different model behaviors and select from any of them when you place the symbol down. (LTspice will notice that there is more than one model in the file. So you can change SPDT to something else, like SPDT1, and get a different behavior.)
サブサーキットのライブラリ利用
あるいは、任意のライブラリ名を付けて、ライブラリフォルダに保存します。たとえば、"..\LTspiceXVII\lib\sub\mylib\switches.lib" などとして、ライブラリフォルダに保存します。適時、ライブラリにモデルを追加して使うこともできると引用元には説明されています。
ライブラリファイルでモデルを定義する場合には、SPDT.asy に少し手を加えて、ModelFileが switches.lib である一行を追加する必要があります。
モデルをパラメータで定義する
Voltage Controlled Switch Model Parameters
変更するパラメータを決める
シンボルファイル SPDT.asy を編集します。シンボルファイルを開いて、右クリックから、”Attribute” , "Edit Attribute"を選びます。”Symbol Attribute Editor” のウィンドウが現れます。”Symbol Attribute Editor” の SpiceLine に変更するであろうパラメータ(もともとは、ライブラリファイル内で定義したモデル記述の一部)を選んで、書いておきます。
続いて、再度右クリックから、”Attribute” , "Attribute Window"を選びます。現れた"Attribute Window" から SpiceLine をクリックすると、シンボル上に定義したパラメータが表示されます。
パラメータが表示されることを確認して、シンボルファイルを更新保存します。
単にLTspice上で信号を増幅したいと思ったときに、オペアンプと抵抗を並べる回路図を書くのはしんどいです。そう思って調べてみると、電圧源はタイトルどおりに理想的な増幅器として使えることを再認識しました。周波数特性を考慮する必要もありません。
4種類の電圧・電流制御電圧源(電圧)、電圧・電流制御電流源がすべてに共通して理想的なアンプになります。
差動増幅
下記の回路は試しに作ってみたものですが、LEDの3線式電圧計をイメージしています。最大30Vを表示するLED電圧計を想定しています。通常は"Vout-" がGNDですが、あえてGNDではない"Vout-"として、"Vout+"との差を増幅するようにしてみました。
実際と同じように3.3Vレギュレータを電源にしたかったので、大きな信号を1/10倍にして入力し、ボルテージフォロアのオペアンプを経た後、10倍して元に戻すという訳のわからないことをやってみました。
V(n005) ; 13.978 x 1/10 = 1.3978
V(out) ; 1.3978 x 10 = 13.978
理想オペアンプを模擬
もう一例として、オペアンプの非反転増幅回路を電圧源で作ってみました。±1V入力を3倍に増幅する非反転増幅回路です。
この場合、電圧源の増幅率(オープンループ電圧利得)は非反転増幅回路のクローズドループ利得よりも十分大きな値にする必要があります。(下記、赤丸 1 x 10^10 , 200dB)
両者の比率をみると下図のようで、完全な模擬にはなっていない模様です。
周波数特性はどこまでもフラットです。
DC 0Vの電圧源を電流検出に使う
探していたら、回路上の何もないノード上の電流を測定する方法がありました。電圧がゼロVのDC電源を測定したいノード位置に配置することです。
電気を基礎から学んでいる人には当たり前のことだとも思えますが、趣味のにわか電子工作屋には新鮮です。電圧がゼロVの電源とは、内部抵抗=0Ωでかつ電圧値=0Vの電源、すなわち導線と等価な電源ということだと思います。
OPアンプをドロップダウンリストで選ぶ
テキストエディタで編集する方法
S-Audio.Systemsから入手したライブラリファイル NE5534_SN.lib には、4種類のサブサーキットが含まれていました。今まで使っていたのは最初に載っている NJM5534_SN だけで、Opamp2.asyから作ったシンボルファイルを NJM5534.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 2
WINDOW 3 16 96 Left 2
WINDOW 38 15 126 Left 2
*SYMATTR Value NJM5534
SYMATTR Prefix X
SYMATTR SpiceModel NJM5534_SN
SYMATTR Description Low Noise Amplifier
SYMATTR ModelFile NE5534_SN.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
LTspice上でシンボルファイルを修正する方法
シンボルファイルをLTspiceで開いて、"Attributes"から、”Edit Attributes” と続けます。現れた”Symbol Attribute Editor” の”SpiceModel” にNE5534_SN.lib にあるサブサーキット名をどれか一つ正確に記入します。
続いて、サブサーキット名を表示する設定を行います。"Attributes"から、”Attribute Window” と続けます。現れた”Attribute Window” から”SpiceModel” を選び、OKを押します。
ほどよい場所に、<SpiceModel> を置き、続けてこれをクリックすると"Symbol Attribute" が現れるので、文字位置と大きさを好みに設定します。