The Negligible Lab

Astray in the forest of electrical and electronic circuits. Adrift in the gap between time and frequency domains. 独立独歩を是とする。

LTspice用制御系ライブラリContraille開発中

Analog Devices社が無償で提供しているLTspice XVIIは回路シミュレータとして大変強力ですが,MATLAB/SimulinkやPSCAD/EMTDCにあるような「信号」という概念がありません。すべてが回路です。SimulinkやPSCADにあるようないわゆる「制御ブロック」を標準では持っていないので,制御系を作ろうとするとOPアンプで作るか,Arbitrary behavioral voltage sourceを組み合わせて作るしかありませんでした。

このような背景の下,金田洋志さんが作られたLTspice Control Libraryが公開されています。これも非常によく作られており,私も使わせて頂いておりました。しかし,離散(サンプル値)制御に関するブロックをもう少し拡充したいと思い,結局,私としても制御用ライブラリを作ってみようということになりました。

LTspiceで制御を軌道に乗せる─ということでContrailleと名付けることにしました。もちろん飛行機雲という意味の"contrail"から取っていますが,まったく同じ綴りにしたくなかったので"le"を付けてみました💦

f:id:s-inoue2010:20200627005141j:plain:w300
Contraille暫定ロゴ(えぇ,中二病ですよ💦)

Matplotlibみたいに機能に即した命名もありますが,Pythonのライブラリは結構自由な名前を付けていますよね。BokehとかPandasとか…。

まだ世の中に公開できるレベルに到達していませんが,ブロック図ベースでSimulink的に使えるような感じにはなってきています。

f:id:s-inoue2010:20200627011030p:plain
水位制御系(離散制御)の例

例えば,水位制御系です。離散(サンプル値)制御をしています。これは回路を使わず,ブロック図だけで解析しているので,Simscape(旧SimPowerSystems)なしの純粋なSimulinkのような使い方ですね。

今年の下半期にはdocumentやexampleを充実させて,世に問いたいと思っています。これで技術者として,恩返しになると良いのですが…。