【シミュレータ】LTspiceでsimulinkのような制御設計が出来る!”contraille”ライブラリを紹介

みなさま、お疲れ様です。

LTspiceでsimulinkのような制御設計が出来る”contraille”ライブラリをご存知でしょうか。以下が作者様の方のページです。

とても素晴らしいライブラリで感動しました。

LTspiceでもsimulinkみたいな制御設計がしたい!

と考えている人向けに導入方法と試しにシミュレーションをしてみた結果を報告します。

スポンサーリンク

contrailleライブラリの導入方法

まず、作者様のGit Hubでライブラリをダウンロードします。(<>code->Download Zipでダウンロード可能です。)

ダウンロードしたらzipファイルを解凍して、subやsym内にあるcontrailleフォルダをそのままコピーして、LTspiceのsubやsymフォルダ内に貼り付けます。

これでLTspiceを開いて、部品配置ウィンドウを開くと、以下の通りContrailleが見えます。

例えば、Contraille\ContinuousにはPI制御器などの連続時間系の伝達関数ブロックがあります。

端子の意味が分からない場合は.libファイルにNodesの意味が書いてあります。

PI制御器であれば、hがホールド、rがリセット、iが初期値

これで準備は完了です。

試しに使ってみる

以前、設計したピーク電流モード制御非絶縁降圧スイッチングレギュレータをcontrailleライブラリに置き換えてシミュレーションを流してみます。

ちなみに設計したときに書いた記事はこちらです。興味があれば、是非読んでみて下さい。

そして、そのときの回路図は以下の通りです↓。

前回設計したピーク電流モード制御非絶縁降圧スイッチングレギュレータの回路図

ビヘイビア電圧源Bや電圧制御電圧源Eなどを使っているため、回路図があまり綺麗ではありません。

これをcontrailleライブラリに変更しました↓。

contrailleライブラリに変更しました。

だいぶすっきりしました。

制御器は以下のPI制御器でK=1,ゼロ周波数fz=100Hzと設定しておりました。(wz=2*Π*fz)

$$\small{
K\frac{1+\frac{s}{w_z}}{\frac{s}{w_z}}
}$$

これを一般的なPI制御器のKp,Kiに当てはめようとすると

$$\small{
K_P+\frac{K_I}{s}=\frac{sK_P+K_I}{s}=K_P\frac{s+\frac{K_I}{K_P}}{s}
}$$

となるので、

$$\small{
K_P=K\\
K_I=K_P*w_z
}$$

となります。

シミュレーションを流した結果が以下の通りです。

ちゃんと動いてます。
拡大波形。ちゃんと出力電圧が5Vに収束しており、問題なしです。

良いですね。

これでLTspiceでも分かりやすい回路を引けますね。素晴らしすぎて感動しました。

作者の方に感謝です。

はい、これで本記事は終わります。誰かの参考になれば幸いです。

最後までお読みいただきありがとうございました!!!