みなさま、お疲れ様です。
LTspiceでsimulinkのような制御設計が出来る”contraille”ライブラリをご存知でしょうか。以下が作者様の方のページです。
とても素晴らしいライブラリで感動しました。
LTspiceでもsimulinkみたいな制御設計がしたい!
と考えている人向けに導入方法と試しにシミュレーションをしてみた結果を報告します。
contrailleライブラリの導入方法
まず、作者様のGit Hubでライブラリをダウンロードします。(<>code->Download Zipでダウンロード可能です。)
ダウンロードしたらzipファイルを解凍して、subやsym内にあるcontrailleフォルダをそのままコピーして、LTspiceのsubやsymフォルダ内に貼り付けます。
![](https://kakitamablog.com/wp-content/uploads/2023/08/image-3.png)
これでLTspiceを開いて、部品配置ウィンドウを開くと、以下の通りContrailleが見えます。
![](https://kakitamablog.com/wp-content/uploads/2023/08/image-4.png)
例えば、Contraille\ContinuousにはPI制御器などの連続時間系の伝達関数ブロックがあります。
![](https://kakitamablog.com/wp-content/uploads/2023/08/image-5.png)
端子の意味が分からない場合は.libファイルにNodesの意味が書いてあります。
![](https://kakitamablog.com/wp-content/uploads/2023/08/image-6.png)
これで準備は完了です。
試しに使ってみる
以前、設計したピーク電流モード制御非絶縁降圧スイッチングレギュレータをcontrailleライブラリに置き換えてシミュレーションを流してみます。
ちなみに設計したときに書いた記事はこちらです。興味があれば、是非読んでみて下さい。
そして、そのときの回路図は以下の通りです↓。
![](https://kakitamablog.com/wp-content/uploads/2023/05/image-8-1024x490.png)
ビヘイビア電圧源Bや電圧制御電圧源Eなどを使っているため、回路図があまり綺麗ではありません。
これをcontrailleライブラリに変更しました↓。
![](https://kakitamablog.com/wp-content/uploads/2023/08/image-1024x490.png)
だいぶすっきりしました。
制御器は以下の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
}$$
となります。
シミュレーションを流した結果が以下の通りです。
![](https://kakitamablog.com/wp-content/uploads/2023/08/image-1-1024x490.png)
![](https://kakitamablog.com/wp-content/uploads/2023/08/image-2-1024x490.png)
良いですね。
これでLTspiceでも分かりやすい回路を引けますね。素晴らしすぎて感動しました。
作者の方に感謝です。
はい、これで本記事は終わります。誰かの参考になれば幸いです。
最後までお読みいただきありがとうございました!!!