2021年12月にKiCad6 Stableが公開されてUI含め大きな変更がありました。
Spice機能についても見た目が変わったりしているので再度解説を書きます。
シミュレーション回路の準備
KiCad6のngspiceを使うにあたり回路を準備します。
簡単なトランジスタ増幅回路を題材として扱います。
抵抗、コンデンサは通常通りのものを配置します。
信号源はSpiceシンボルを配置します。
Spice信号源シンボルですが、シンボル配置検索ウィンドウでspiceと打つと出てきます。
ここではVSINとVDCを使います。
Q1のトランジスタはBC550がKiCadの標準ライブラリに入っているのでそれを使います。
※オペアンプやトランジスタのようにspice外部モデルを使うようなシンボルはKiCad-ngspice間でピン配置を合わせないといけないのですが後述しますのでとりあえず変更しなくても済むBC550を使用してください。
次に各種シンボルに値を設定してきます。
ダブルクリックか選択+Eでプロパティに入ってもらって下部のSpiceモデル...というボタンをクリックします。
Spiceモデルエディターが開くので好みに設定します。*1
今回は過渡解析をやりたいので画像のように設定しました。
うまく設定ができるとシンボルフィールドにSpiceに関するパラメータが入ります。
DC信号源も同じように設定します。
抵抗コンデンサも同様に処理しますが、KiCadのValueフィールドとSpice_Modelフィールドが自動連動してないので注意してください。
あとは回路図上のすべての素子に対してSpice_Modelフィールドを設定していきます。
トランジスタモデルの読み込み
ONSEMIのサイトからBC550のspice modelをダウンロードします。
https://www.onsemi.com/products/discrete-power-modules/general-purpose-and-low-vcesat-transistors/bc550
先ほどと同様にプロパティからSpiceモデルエディタを開きます。
モデルタブからファイルを選択をクリックしてダウンロードしたモデルファイルを読み込みます。
ここで注欄にシンボルピンのナンバリングが要求されたSPICEのピン順と一致しませんという文字が出てきますが、修正の必要のないシンボルでも出てくるのでおそらくBugかと思います。BC550はピン順がコレクタ、ベース、エミッタの順なので修正の必要なし
シミュレーションの設定
ここではシミュレーションの設定を行います。
KiCad上部メニューよりシミュレータを起動します。
シミュレータウィンドウが起動するのでパラメータアイコンをクリックします。
各自シミュレーションの設定を行います。
今回は過渡応答を行うので以下のように設定しました。
互換モードは基本PspiceとLTspiceを選んでおくとエラーが起こりにくいです。
シミュレーションの実行
実行アイコンをクリックしてシミュレーションを実行します。
信号を追加 or プローブで見たい信号を選びます。
この時KiCad上でノードに名前を付けておくとシミュレーション画面が見やすくなります。
Tipsなど
SpiceとKiCadでシンボルピン番号が違う場合
SpiceのBJTのピンはコレクタ(1)、ベース(2)、エミッタ(3)の順なのでそれ以外のものは代替ノードシーケンスを使う必要があります。
オペアンプの場合
オペアンプの場合は多回路入りを使うとノードでバグるのでSPICE専用シンボルを使うことになります。
実際の回路を作るときは多回路入りに戻すことになるので多少めんどいです。
代替ノードシーケンスはトランジスタと同様でSPICE側のピンに合わせます。
シミュレーションに含めたくないシンボルの扱い
シミュレーションに含めたくないシンボルもあると思います。
その場合はシミュレーションでシンボルを無効化にチェックを入れることで回避できます。
シンボルフィールドテーブルの利用
一個一個設定するのがめんどくさい方はシンボルフィールドテーブルを使うとまとめて管理できる。