バックナンバーはこちら。
https://www.simulationroom999.com/blog/model-based-of-minimum-2-backnumber/
はじめに
前回、OpenModelicaのライブラリブラウザからDCモータモデルのサンプルを発掘。
とりあえずそのまま動作させて主要なパラメータを確認。
問題無く動作するようだ。
今回は、そのサンプルをちょっと掘り下げていく。
登場人物
博識フクロウのフクさん
![指差しフクロウ](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/指差しフクロウ.png)
イラストACにて公開の「kino_k」さんのイラストを使用しています。
https://www.ac-illust.com/main/profile.php?id=iKciwKA9&area=1
エンジニア歴8年の太郎くん
![技術者太郎](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/技術者01アップ.png)
イラストACにて公開の「しのみ」さんのイラストを使用しています。
https://www.ac-illust.com/main/profile.php?id=uCKphAW2&area=1
ModelicaのDCモータモデルの掘り下げ
![太郎くん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/「技術者a」20アップ.png)
とあえず、DCモータモデルのサンプルは動いたけど
あんまり理屈はわかってないんだよねー。
![フクさん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/考え中フクロウ.png)
以前も貼ったけど、
基本的なのはここから読み取るしかないかなー。
![太郎くん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/「技術者a」20アップ.png)
まぁそうなんだろうけど、
今回のモデルとどう紐づくかのイメージが湧かないんだよねー。
![フクさん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/指差しフクロウ.png)
なるほど。
じゃー、OpenModelica Connection Editor上の見え方と
各領域の関係性だけ説明するか。
DCモータモデルの各領域
![フクさん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/指差しフクロウ.png)
ざっと絵にするとこんな感じだ。
![OpenModelica、DCモータ、Modelica.Blocks.Sources.Ramp ramp、Modelica.Electrical.Analog.Sources.SignalVoltage signalVoltage、Modelica.Electrical.Machines.BasicMachines.DCMachines.DC_PermanentMagnet dcpm、Modelica.Electrical.Machines.Utilities.ParameterRecords.DcPermanentMagnetData dcpmData、Modelica.Mechanics.Rotational.Components.Inertia loadInertia、Modelica.Mechanics.Rotational.Sources.TorqueStep loadTorqueStep、電気/電子領域I_m/(E_m-E_(k_e ) )=1/(L_m s-R_m )、古典力学領域T_m/(E_m-K_e y)=K_t/(L_m s-R_m )トルク定数K_tと逆起定数K_eで特性が決定、幾何学(材料力学)領域T=GI_q h=(GI_q)/l v、古典力学領域y/(T_m-T_L )=1/Js](https://www.simulationroom999.com/blog/wp-content/uploads/2021/06/02_DCモータモデルの各領域-1024x674.png)
![太郎くん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/技術者02アップ.png)
うーんと、
- 電気/電子領域
- 古典力学領域
- 幾何学(材料力学)領域
ってのが絡んでくるのかー。
![フクさん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/考え中フクロウ.png)
DCモータモデルもmassモデルと比べたら複雑ではあるが、
それでも最小規模。
最小規模でも領域横断が出てくる。
![太郎くん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/「技術者a」20アップ.png)
ホント厄介だよねー。
![フクさん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/指差しフクロウ.png)
とはいえ、領域を横断しても理論的に動きが分かるってことだから
昔の人は良く特定したよね。
![太郎くん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/「技術者a」10アップ.png)
た、確かに・・・。
計算すれば結果が分かるってのはすごいことかも。
![フクさん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/お休みフクロウ.png)
さらにModelicaのような言語でモデリングすれば
細かい理屈は抜きでシミュレ―ションが出来てしまう。
![太郎くん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/「技術者a」20アップ.png)
うーん、厄介という発想が失礼ってことかー。
物理モデリングの手順とか
![フクさん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/指差しフクロウ.png)
まぁ物理モデリングの手順っておおざっぱに言うと
①伝達経路の定義
②伝達関数導出
③微分方程式の解決
④シミュレーション
の4段階なんだけど、
このうち③を省略してくれてるのがSimulinkとかScilabだねー。
![太郎くん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/技術者02アップ.png)
あー確かに演算に関しては悩まなくてよさそうになるよね。
![フクさん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/お休みフクロウ.png)
そして、Modelicaは③に加えて②も省略できる。
![太郎くん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/技術者01アップ.png)
そっか。
いろんな方程式が最初からモデルに組み込まれてるから
②も省略できるのか。
![フクさん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/考え中フクロウ.png)
まぁ微調整とかはいるかもだけど、
①が出来てしまえば②はそれほど悩まないって特性はあるねー。
![太郎くん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/技術者02アップ.png)
なるほど。
こう説明してもらえると、
「難しいことをやってる!」
ってイメージから
「難しいことを簡単にできるようにしてる!」
ってイメージが強くなるね。
今後の方針
![フクさん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/考え中フクロウ.png)
今後の方針としては、
やはりDCモータモデルを少し紐解いた方が良いかなって思ってる。
![太郎くん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/「技術者a」20アップ.png)
うーん、まぁその方がいいのかなー。
![フクさん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/指差しフクロウ.png)
まぁ細かい理屈というより、こういう工夫がされてるよー。ってあたりだから、
何かを理解しなきゃいけないって話にはならないと思うよ。
![太郎くん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/「技術者a」08アップ.png)
だったら、OKだ!
![フクさん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/お休みフクロウ.png)
(うーん、そういう反応されるのもちょっとアレだな・・・。)
まとめ
![フクさん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/指差しフクロウ.png)
まとめだよ。
- ModelicaのDCモータモデルをちょっと掘り下げ。
- 以下が絡んでくる。
- 電気/電子領域。
- 古典力学領域。
- 幾何学(材料力学)領域。
- 以下が絡んでくる。
- 物理モデリングは伝達経路、伝達関数、微分方程式解決、シミュレーションの4つの工程がある。
- Modelicaは伝達関数、微分方程式解決をサボれるツール。
バックナンバーはこちら。
コメント