バックナンバーはこちら。
https://www.simulationroom999.com/blog/model-based-of-minimum-2-backnumber/
はじめに
前回まではmassモデルをベースにシンプルなシミュレーションをしてきた。
今回からはDCモータのModelicaモデルを使用していろいろやっていくことになる予定。
一応、サンプルがあるのでそれほどがっちり理論からやるってイメージではない。
「どう利用するか」って方がメインとするつもりではいる。
登場人物
博識フクロウのフクさん

イラストACにて公開の「kino_k」さんのイラストを使用しています。
https://www.ac-illust.com/main/profile.php?id=iKciwKA9&area=1
エンジニア歴8年の太郎くん

イラストACにて公開の「しのみ」さんのイラストを使用しています。
https://www.ac-illust.com/main/profile.php?id=uCKphAW2&area=1
ModelicaのDCモータモデル

えーっと、
前回までは超シンプルなmassモデルをやってきたけど
今回からはDCモータモデルをやるんだっけ?

そうそう。

前回の話だとサンプルがすでにあるようなこと言ってたけど、
どこにあるの???

OpenModelica Connection Editorのライブラリブラウザで探していくと・・・。
Modelica→Electrical→Machines→Examples→DCMachines→DCPM_Start
にある。


これか!


それそれ。
まずはシミュレーション

まぁいろいろ弄ることにはなるのだけど、
まずは素の状態でシミュレーションしてみよう。

一応、シミュレーションは通ったけど、
どのパラメータを表示したらいいのかな?

そうだねー。
- 制御電圧\([V]\)
- 制御電流\([A]\)
- 角速度\([rad/s]\)
くらいは見ておこうか。

で、どこを見れば・・・。
パラメータが無茶苦茶一杯あってどこに何があるのかがさっぱりだよー。

変数ブラウザ上だと
制御電圧は
signalVoltage→v
制御電流は
signalVoltage→i
角速度は
loadInertia→w
だね。


あ、あった。
これをグラフで表示させればいいんだね。


うん。
ランプ関数を入力とした電圧制御してるだけのモデルなんで、
シミュレーション結果としてはOKだ。
ランプ関数とは?

ランプ関数?
なんだっけ?

これだな。
ランプ関数(英: ramp function)とは、一変数の実関数であり、独立変数とその絶対値の平均として容易に求められる。区分線形関数。この関数は工学において(DSPの理論など)応用を持つ。”ramp function”の名は、グラフの形状が傾斜路(英: ramp)に似ていることに由来する。
Wikiepdiaより(https://ja.wikipedia.org/wiki/%E3%83%A9%E3%83%B3%E3%83%97%E9%96%A2%E6%95%B0)
$$R(x):=\begin{cases} x,x\geq 0 \\ 0, x<0 \end{cases}$$


あー。
とりあえず、徐々に値が上がっていくだけって関数か。

そうそう。
まぁ今回のは100でリミットが掛かってるけどね。
DCモータモデルをシミュレーションした感想

いやー、でもDCモータモデルがすでにあって、
シミュレーションもできちゃうのかー。
ScilabとかSimulinkで頑張ってたのは一体なんだったのだろう。
っておもっちゃう。

まぁ今回のはあくまでDCモータモデルで制御の話まではやってないからねー。
制御込みになると、ScilabとかSimulinkの方がやり易いし。

なるほど。
得手不得手とかはありそうだよね。
まとめ

まとめだよ。
- ModelicaのDCモータモデルのサンプルの位置をライブラリブラウザで確認。
- DCモータモデルをとりあえずシミュレーション。
- 制御電圧、制御電流、角速度の結果を確認。
- 今回は電圧をランプ関数で制御したシンプルなもの。
- ランプ関数は0を起点に徐々に上がっていく関数。
バックナンバーはこちら。
コメント