冬は寒い。寒いとブレッドボードに向きあったりするのはとても辛い。なので、布団に入っていても回路と格闘できるようにするため、回路シミュレーションツールである LTspice に手を出した。

LTspice は Linear Technology (半導体メーカー) が提供している回路シミュレーションソフトウェアであり、Windows 版と Mac 版がある。Mac 版しか触ってないが、検索すると Windows 版の画面ばっかり出てくる。UI は Windows 版と Mac 版で結構違う。

回路シミュレーションツールは、だいたい全て SPICE というソフトウェアを元にしており、元のソフトウェアの記述形式がデファクトスタンダードになっているっぽい。LTspice は比較的使いやすい UI 及び、自由度が高く、なおかつ無償のため、アマチュアで良く使われるっぽい。

ハマったところ

GND がない

Mac 版の場合、ショートカットを覚えないと、絶対に呼びだせない機能が存在する。特に罠なのは GND で、Components には存在しないし、メニューから追加できなくて困るが、キーボードショートカットの「G」で配置できる。

いずれにせよキーボードショートカットを覚えないと著しく作業効率が悪いので、公式に提供されているpdf を開いておいたほうがよさそう。

RUN できない

何も考えずに RUN しても、エラーしかでない。Windows 版だと親切なダイアログが出るらしいが、Mac 版では出ない。

シミュレーションコマンド を、キーボードショートカットの「S」を押して出てくるダイアログに入力して、画面内に配置することで、RUN が可能になる。

この S で出てくるダイアログの入力エリアを右クリックすると Help me Edit というメニューがあり、シミュレーションコマンドを対話的に入力できる。

RUN しても結果がでない

RUN をすると、回路図上の任意のポイントで、ポインターがプローブの形に変わる。クリックするとその部分の電圧または電流が見れる。続けで他のポイントをクリックすると、波形が追加される。同じポイントを2度クリックすると、それだけを表示させることができる。

  1. トップ
  2. tech
  3. 冬だし LTspice に入門するぞ!!

デフォルトで入っていないオペアンプを使いたい場合、追加する必要がある。


部品追加の考えかた

オペアンプの場合、最初から、汎用の opamp2 というシンボルが用意されている。これは中身(マクロモデル=等価回路) の設定されていないテンプレみたいなやつ (だと思う)。

この opamp2 を配置した上で、Value にマクロモデルの名前を指定することで、指定したマクロモデルを持つオペアンプにすることができる。

ただ、マクロモデルを適当なディレクトリに置いただけでは読みこまれないので、SPICE directive を追加し、.lib コマンドで使いたいライブラリを読みこむ必要がある。

また、提供されているマクロモデルのピンアサインが、opamp2 と一致するようにする必要がある。

オペアンプの追加

よく使う JRC のオペアンプを追加する。今回は NJU7043 を使いたかった。

JRC はマクロモデルで無償提供しており、これは (本来の対象ではないが) LTspiceでも使うことができる。展開して適当に配置する (lib/sub 以下に配置すると .lib コマンドのとき比較的パスを指定しやすい)

mv ~/Downloads/Operational_Amplifiers_Macromodel ~/Library/Application\ Support/LTspice/lib/sub/JRC_OPAMP

そして、

1. Components から opamp2 を選択して配置する
2. 配置されたオペアンプを右クリック
3. Value を nju7043_s とする (サブサーキット名と一致させる)
4. S を押して SPICE directive を追加し .lib JRC_OPAMP/NJU7043/nju7043_2.lib とする (パスを指定)

OK

サブサーキット名は

grep SUBCKT JRC_OPAMP/NJU7043/nju7043_2.lib 

で名前とピン配置をさがせる。

この .SUBCKT の指定は、opamp2 とピンの順番を一致させる必要がある。ピンの名前 (VDD とか VSS とか) は元のままで順番だけ一致させる。opamp2 のピン配置は右クリックして Open Symbol して、Netlist Order を全部見ていくとわかる (一発でわからない?)

結果として

.SUBCKT nju7043_s  IN+ IN- VDD VSS OUT

みたいになる。

こんな感じ

このオペアンプはオフセット電圧が最大10mVと結構大きいので、それがよく出てる(と思う)


  1. トップ
  2. tech
  3. LTspice で任意のオペアンプを追加する