XCOSの事例(コンデンサの充放電モデル)

2018/01/02 22:19 に Teruhiko Hinaji が投稿

1. はじめに


5年前、2012年2月にまとめた記事です。(株)応用技術研究所として非公開にした理由も解消しつつあるので、当時の記事をアップすることにしました。

記事を執筆していた当時、超音波発振器の試作を作っていました。

発振回路にはCMOSタイマ LMC555(ナショナル・セミコンダクタ)を使っていました。


LMC555のデータシートから回路設計に必要な計算はできますが、それだけでは面白くないので、Scilab/XCOSで発振動作をモデル化してみました。

以下に概要を説明します。



1. 発振回路


以下に示される回路を例としてXCOSでモデルを作成してみました。

回路の詳細についてはデータシートに記載されているので、そちらを参考になさってください。


XCOSでモデル化を試みた発振回路

XCOSでモデル化を試みた発振回路



2. モデル化の方針

発振動作は、コンデンサCへの充放電を繰返すことで発振します。そこでモデル化はコンデンサCへの充電過程と放電過程について、それぞれモデル化することにしました。



3. コンデンサCへの充電過程

コンデンサCに充電される単位時間当たりの電荷は電流にあたります。
充電過程をモデル化するにあたり、その変化に着目しキルヒホッフの法則から微分方程式を組立てます。
微分方程式は、下図の上部に記載した式になります。

XCOSによる充電過程のモデル
XCOSによる充電過程のモデル


この式を元に、XCOSによる充電過程モデルを作成しました。
モデル化は、以下のように進めます。
  1. 微分方程式をdEc/dt項を左辺に、それ以外の項を右辺にまとめます。
  2. dEc/dt項の積分するので、積分ブロック(1/S)を置きます。この積分ブロックの出力がEcとなります。
  3. 上記1. で整理した微分方程式の右辺が積分ブロックの入力になるようにします。
  4. 右辺の(Vcc-Ec)の係数に注目し、Vccの出力から積分ブロック(1/S)の出力を加算器ブロックを使い減算するようにします。
  5. 加算器ブロックの出力(Vcc-Ec)の係数を(Ra+Rb)Cで除し、積分ブロック(1/S)に入力させます。


モデル化したXCOSによる解析結果を以下に示します。


XCOSによる充電過程の解析結果



4. コンデンサCの放電過程


上記の3節と同様に微分方程式を組立てて、その微分方程式からXCOSによるモデルを作成しました。作成したモデルは以下のようになります。


XCOSによる放電過程のモデル



放電過程で注意する点は、微分方程式にあるゼロを外部入力としてモデルに入れておく点です。このゼロ入力がないとモデルが成立しません。


このモデルを解析した結果が以下のようになります。


XCOSによる放電過程の解析結果



5. まとめ


発振の周期については、データシートの計算式を使えば求められますが、XCOSを使うことで発振周期だけでなく過程も確認することができました。


今回、結果をまとめる部分では、CSVで出力した結果をEXCELで整理しています。

今後の課題としては、その辺をXCOS上でできるような方法を見つけることが課題です。


今回の記事でXCOSでのモデル化対し、ご不明な点がございましたら、刃金からくり屋(HAGAKARA)、あるいは(株)応用技術研究所まで、お気軽にお問い合わせ下さい。

Comments