創造工学のネタで学生さんにシミュレータを作ってみようと提案してみたし、 せっかく買ったもんだし、一番簡単そうな回路図で動かしてみた。 『No.013:オーディオジェネレータ』で、アンテナ同調コイルを低周波トランスの代用とした、 RLC発信回路。
回路実験とシミュレータ作りの視点から
実際に動かしてみた感想は、バリコン(可変コンデンサ)を動かせば、 かなり広い周波数変化をするかと思ったけど、大きく周波数変化する部分もあるけど、 たいした周波数変化はしなかった。 シミュレータを作るとなると、意外に多用されている、この同調コイルの特性再現も重要な課題になるはず。
もう一つの感想は、回路図をブロックに置き換える際には、指導書の回路を配線する分には 簡単なんだけど、ちょっと特性を変化させるために抵抗追加と思っても、 ブロック配置も変わる。それにブロックの種類も限られているため、 T字型に配線されている抵抗ブロックの直通部分を配線に使うといった、 「電子ブロックの配線」のためのノウハウも重要となる。 このため、プロコン応募を目標に作るのであれば、 回路図を入力したら『EX-150』の部品の中から無理矢理ブロック配置を考えてくれる ツールも欲しいなぁ。
シミュレータを作るのなら
実際にシミュレータを作るという視点で、フリーの回路図エディタ・シミュレータの利便性を確認。 まず、Debian/Linux に含まれているツールということで確認すると、 GPL EDA 電子回路設計ソフトウェア回路図エディタ(geda-gschem)であれば、 SPICE用ネットリスト生成は簡単みたい(「gschemで回路図作成」)。 ひとまず、初めてだけど gschem をLinux上で動かしてみた。 初めてだと、該当部品をライブラリから探すだけでも一苦労ということがよく分かった。 慣れれば簡単なんだろうけど…
ちなみに、 gschemの吐き出したネットリストも見てみた。 配置された部品の座標間を、無損失伝送路(T)が大量に配置されている。 (Wikipediaの説明に無い文法も含まれてるなぁ…".END"行も出力されていないし、gschem専用文法だな…) EX-150専用エディタを作れば、回路図上の部品配置なんて関係ないので、 シンプルなネットリストを吐くことはできるだろう。
- gschemのネットリストから、SPICE用のネットリスト出力するには、gnetlist が必要みたい。
- 回路シミュレータは、Debian であれば、"Non-free"ではあるけどngspiceが、パッケージに含まれているみたい。
(( ひとまずDebianでこの辺のネタを試すのに必要なインストール作業 )) # aptitude install geda geda-gschem geda-gnetlist geda-symbols geda-utils ngspice gwave