ngspiceを使ってみる anchor.png

KiCadには,電子回路シュミレーターSPICEngspice*1が組み込まれているようだ。

KiCadの回路図エディターで回路図を作成し,メニューの「検査」→「シュミレーター」でSPICEシュミレーターを起動できる。

ngspiceの公式マニュアル:ngspiceのマニュアル(36版)

Page Top

SPICEで可能な解析シミュレーションの種類 anchor.png

SPICEでは,次のようなシミュレーション解析が可能になっている。

  • .op: 動作点解析
  • .dc: DC解析(DC伝達関数)
  • .ac: 小信号AC解析(周波数解析)
  • .tran: 過渡解析

他にもいろいろあるみたい。

Page Top

ngspiceを使うときの注意点 anchor.png

Page Top

SPICEの端子番号 anchor.png

KiCadの部品シンボルの端子番号とSPICEが期待している端子番号が異なっているというのが一番に注意する点です。
例えば,SPICEはNPNトランジスタだとコレクタが1,ベースが2,エミッタが3と決め打ちしている。
しかし,KiCadの部品シンボルは当然SPICEに合わせているわけでなくて,実際の製品に合わせているので,SPICEの端子と食い違いが出ることがあります。

この場合は,KiCadのSPICEモデルの「代替ノードシーケンス」で対応します。

Page Top

SPICEのドットコマンドと制御コマンドの違い anchor.png

SPICEで使用するコマンドに,ドット(.)で始まるものと,そうでないものがあります。
前者は,シュミレーション方法を指示するためのコマンドなどをソースファイルの中で記述するもので,後者は,対話的にngspiceに指示をするためのコマンドのようだ。

例えば,.plotというドットコマンドと,plotという制御コマンドがあって,この2つは違うもの。

Page Top

大文字と小文字 anchor.png

SPICE(ngspice)は,大文字と小文字は区別しない。なので,以下のことに注意します。

以下のようなSI接頭辞が使えるが大文字と小文字が区別されないので,R1の値を3Mとすると3MΩではなく3ミリオームになってしまいます。

T = 10^12
G = 10^9
MEG = 10^6(Mと書くとミリ(10^-3)となってしまう)
K = 10^3
m = 10^-3(ミリ。小文字で書いたほうが良い)
u = 10^-6(小文字で書いたほうが良い)
n = 10^-9
p = 10^-12
f = 10^-15
Page Top

グラウンド(接地) anchor.png

SPICEでは,グラウンドのノードを「0」と記述する。ngspiceだと「GND」と記述することも出来るようだ。

Page Top

SPICEモデルの設定 anchor.png

回路図エディターで通常と同様に回路図を作成します。
部品シンボルのプロパティを開くと,下の方に「SPICEモデル」というボタンがあり,これをクリックするとSPICEモデルを設定できます。

抵抗・コンデンサ・インダクタ・トランジスタ・FETなどの各種基本電子素子のデバイスモデルと解析式に与える定数・変数(デバイスパラメータ)はKiCadにあらかじめ用意されている。

トランジスタやオペアンプなどの電子デバイスの個別デバイスパラメータは用意されていないので,そのデバイスのメーカーなどから提供されているSPICEモデルをダウンロードして,設定する必要がある。

古い部品ではメーカーがSPICEモデルを提供していない場合も多い。ngspiceのSPICEモデルのページで多くの部品が提供されている。2SC1815も入っている。


*1 オープンソース版のSPICE。

新しくコメントをつける

題名
ゲスト名
投稿本文
より詳細なコメント入力フォームへ

Front page   Freeze Diff Backup Copy Rename Reload   New Page Page list Search Recent changes   Help   RSS of recent changes (RSS 1.0) RSS of recent changes (RSS 2.0) RSS of recent changes (RSS Atom)
Counter: 705, today: 2, yesterday: 0
Last-modified: 2022-11-25 (Fri) 15:18:07 (JST) (908d) by yuji