ソフトウェア書き作業の真っただ中ですが、ちょっと迷うところが出てきたので頭を冷やすためにほんのしばらく回路作業に移行します。これもまた長いことやろうと思いつつ放置になっていた Analog2.0 回路の見直しを始めようと。まずは比較的作業のしやすい VCA から着手です。
というわけで、以前からこうしようかな?と考えていた回路を KiCAD に描きこみ。今までは LTSpice で動作確認してから回路試作をしていたのですが、KiCAD にはシミュレータが付いているので試したいと思っていました。これは絶好のチャンスです。ということでやってみました。
実際には element14 に上がっていた shabaz さんという方のブログ記事を見てそのまま実行しただけですけれども、
せっかくだから日本語で紹介し直します。この方法は製作用として組んだ回路図を使ってシミュレーションを行う方法です。シミュレーションだけのために回路図を組む場合シミュレーション用の部品を選んで行けば楽に実行できますが、この方法はそれよりもう少し手間がかかります。けれども本番回路にシミュレーションがかけられればその後そのまま部品の入れ替えをせずに基板設計に移行できるという利点があります。やってみたらとても便利でした。
回路図を作成
シミュレーションは回路図エディタに描いた回路をもとに行います。プリント基板用に作られた回路をシミュレーションするって、電源とか入力とかどうすんの?というのがずっと疑問でしたがそれは後で出てきます。あとでくっつけるのでこの段階では気にしなくて大丈夫です。

まあとにかくシミュレーションをするには回路図が必要です。回路を描いたら入力と出力にラベルを打っておくのがおすすめです。やらなくてもシミュレーションできますが、実行時に必要なものをどこにつなげば良いかわかりやすくて楽です。
SPICE モデルの準備
KiCAD でシミュレーションするからといって特別なことはなく、シミュレーションに必要なものは、回路・SPICE モデル・あと実行条件です。回路図は組んだので次は SPICE モデルです。回路図中の部品には全てモデルをあてがう必要があります。それはどうするのか?SPICE モデル設定は部品のプロパティに含まれています。各部品シンボルのプロパティを見てみると、”Simulation Model” というボタンが下の方にあります。これを押すと設定ウィンドウが出てきます。抵抗やコンデンサは簡単で、KiCAD に備え付けのモデルがデフォルトで設定されているのでそれをそのまま使えば良いです。特に追加で設定する必要がありません。今回はダイオードも備え付けモデルを使いました。もう一つ大事なのがコネクタです。コネクタの SPICE モデルなんてもちろんないので、元記事のおすすめ通り 0.01pF のコンデンサの備え付けモデルを割り当てました。

トランジスタやダイオードなどの基本的な半導体は備え付けの汎用モデルを使うこともできますが、トランジスタのモデルはデフォルトでは設定されていません。今回のシミュレーションではダイオードは備え付けを使いましたがトランジスタは重要かつ微妙な領域を使うのでそのデバイスの SPICE モデルを使いました。
下の図の赤線で囲ってある部分を使って、SPICE モデルファイルを読み込んで設定します。

回路図エディタからモデルを設定することもできるようですが、僕の場合なぜかうまく行かず、元記事で推奨されている通りシンボルエディタを使ってライブラリ側を更新しました。
さて、シンボルエディタを開きます。なお、システムのシンボルファイルは編集しても上書きできないので、初めから save as でコピーを自分のユーザ領域に保存してそのコピー上で作業したほうが良いかもしれません。もっというと回路図を描く前にこの作業をした方が楽なんですけれどもまあ後の祭りです。とにかくシンボルエディタでモデルを設定する部品を開き、やはりプロパティを開きます。

さて、以下の例はトランジスタの BC547 ですけれども、モデルは以下の diyaudio の記事で cabirioさんという人が配っているトランジスタのモデル集から頂きました。感謝なのです。このモデル集 2SC1815 なんかもあるんですよ。大変にありがたいです。
https://www.diyaudio.com/community/threads/tweaked-bjt-ltspice-models.404783
シンボルエディタ上でトランジスタを呼び出して、プロパティーから Edit Simulation Model.. ボタンを押して設定画面を開きます。

設定画面は空になっていますが、SPICE model from file を選択してモデルファイルを開きます。

モデルファイル内にあるモデル名が表示されるのでこれを選択して、Pin Assignment タブに移動します

そうするとシンボルのピン番号とモデルのピン番号の割り当ての設定が開かれます。BC547 の場合初めから正しく割り当てられていたのでそのままで OK でした。

次にオペアンプのモデル設定です。こちらはトランジスタよりもう少し込み入っていました。使ったオペアンプは TL072 で、モデル自体は TI が配布しているものが使えました。
https://www.ti.com/product/TL072
トランジスタの時と同様にモデルを取り込んでピン割り当て画面を開くと…ピン番号の対応が合っていません。

これはどういうことかというと、スパイスモデルのピン割り当ては以下のようになっていて 1 ユニット分しかないということ。
* TL072 OPERATIONAL AMPLIFIER "MACROMODEL" SUBCIRCUIT
* CREATED USING PARTS RELEASE 4.01 ON 06/16/89 AT 13:08
* (REV N/A) SUPPLY VOLTAGE: +/-15V
* CONNECTIONS: NON-INVERTING INPUT
* | INVERTING INPUT
* | | POSITIVE POWER SUPPLY
* | | | NEGATIVE POWER SUPPLY
* | | | | OUTPUT
* | | | | |
.SUBCKT TL072 1 2 3 4 5
*
C1 11 12 3.498E-12
C2 6 7 15.00E-12
...
Plaintextスパイスモデルファイルの SUBCKT の行にモデルのピン番号と、その上にピンの説明がありますから、これを見ながら実際の IC のピン番号に合わせて割り当てします。モデルには 1 ユニット分しかないのでとりあえず手っ取り早く A ユニットにだけ割り当ててシミュレーションには A ユニットだけ使うことにします。

以下の記事を見るともっとうまいやり方があるようですが未確認です。
https://forum.kicad.info/t/tl072dual-lib/59226
変更したライブラリを保存したら、忘れずに回路図上の部品も更新します。僕の場合部品を置いてから別ライブラリで作業したので部品は更新でなくて新しいライブラリからのものへの入れ替えが必要でした。そういうわけで回路図を引く前に SPICE モデルを用意したほうが楽だと思います。
電源と信号源の取り付け
全ての部品にシミュレーションモデルを設定したら、シミュレーション用の電源と信号源を用意する必要があります。これらは現実世界には存在しないものですが、通常の部品として回路図上で取り付けられます。そしてシミュレーションが終わったら外せば良いです。Place Symbol ボタンを押すと、部品リストの中に Simulation_SPICE という項目があり、その中から電圧源を選びます。

設計中の VCA は DC 増幅器なので信号源も DC 電圧源を選びました。下図の紫で囲った部分がシミュレーションのためにつないだ電圧源です。最初にやっておいたラベル付けがここで役に立ちます。

実行条件を決めてシミュレーションを行う
回路図エディタからメニュー Inspect -> Simulator でシミュレータが起動します。New Analysis Tab.. というボタンを押してシミュレーションを開始します。

まずは VCA の直線性を見たいので、Analysis type には DC Sweep を選びます。CV を -1V から 6V まで振って入力を 1V に固定してどんな出力が出るか見ます。

シミュレーションの実行ボタンを押して、あとは LTSpice などと操作感はそっくりです。プローブツールを使って測りたいところの電圧をとると

シミュレーションは無事実行されました。

と、長くなりましたがこれが KiCAD からシミュレータを使う方法です。今までは LTSpice と CAD と二度回路図を描く必要があって、これが地味に大変だったのでかなりうれしいです。