モータのモデリング

古典制御

ものを制御するときにその数理モデルを知っていることは非常に重要です。
実機を使った実験ではお金も時間もかかってしまいます。
そこで正確な数理モデルが求められます。

今回はDCモータを例に数理モデルの導出方法を紹介します。
これを読めば、モデルの導出方法や、モータがなぜ一次遅れ系を使って表現できるのかも納得できると思います。

モータの概要

ブラシ付きDCモータの動作原理は下のような図を見ると理解できます。
下の画像はオリエンタルモーター株式会社さんのサイトのものです。

磁石の間にコイル(巻線、電機子)があり、そして電機子の電流の向きが常に同じになるようにブラシと整流子を設置すると電磁力が常に同じ向きに発生します。(フレミングの左手の法則)

https://www.orientalmotor.co.jp/ja/tech/e-learning/sp-list/bl-fundamental/1-1

これをより簡略化した図が以下になります。

$R_{a}$[Ω]は電気子抵抗,$L_{a}$[H]は電機子のインダクタンスを表します。
そして、$v_{a}$はモータへの印可電圧を、$i_{a}$[A]は電機子に流れる電流を表します。
また、$D$は粘性係数を$J$は慣性モーメントを表します。

モデル化

では上で簡略化したモータをモデル化していきます。


モータは回ることによって逆起電力を発生させます。
逆起電力はモータが発電する電力です。
この電圧はモータの回転速度に比例します。
逆起電力定数を$K_{e}$, 電機子の回転角速度を$w(t)$[rad/s]とすると逆起電力は$K_{e}w(t)$になります。

ここで回路の電圧について一つのつり合い式を立てられます。
抵抗での電圧降下は$R_{a}i_{a}$,コイルでの電圧降下を$L_{a}\frac{di}{dt}$,そして逆起電力
$K_{e}w(t)$の合計がモータへの印可電圧$v_{a}$[V]と一致するので次の式が成り立ちます。
\begin{equation} R_{a}i_{a}(t)+L_{a}\frac{di}{dt}+K_{e}w(t)=v_{a}(t)\tag{1} \end{equation}


2つ目の式はトルクに関する式も立てられます。
トルクは電流に比例するため発生トルクを$\tau(t)$[Nm]とすると
\begin{equation} \tau(t) = K_{t}i_{a}(t) \tag{2}\end{equation}
3つ目に慣性モーメントとトルクの関係より以下の式が成り立ちます。
\begin{equation} J\dot{w}(t)+Dw(t)=\tau \tag{3} \end{equation}

また回転角度$\theta(t)$の時間微分が角速度$w(t)$になりますので以下が言えます。
\begin{equation}\dot{\theta}=w(t)\tag{4}\end{equation}

以上の4式をそれぞれラプラス変換すると次のように求まります。
\begin{equation} R_{a}i(s)+L_{a}si(s)+K_{e}w(s)=v_{a}(s) \tag{5} \end{equation}
\begin{equation} \tau(s)=K_{t}i_{a}(s) \tag{6} \end{equation}
\begin{equation} Jws+Dw=\tau \tag{7} \end{equation}
\begin{equation} \theta s = w \tag{8}\end{equation}

上でラプラス変換したものを$P(s)=\frac{\theta(s)}{v_{a}(s)}$で表します。
\begin{align}
v_{a}(s)&=i(s)(R_{a}+L_{a}s)+K_{e}w\\
&=\frac{w(\tau s+D)}{K_{t}}(R_{a}+L_{a}s)+K_{e}w\\
&=\frac{s\theta(Js+D)(R_{a}+L_{a}s)}{K_{t}}+K_{e}s\theta\\
&=\frac{s\theta(Js+D)(R_{a}+L_{a}s)+K_{e}K_{t}s\theta}{K_{e}}\\
&=\frac{\theta\{s(Js+D)(R_{a}+L_{a}s)+K_{e}K_{t}s\}}{K_{t}}\\
\end{align}
以上より、
\begin{align}
P(s)=\frac{\theta(s)}{v_{a}(s)}=\frac{K_{t}}{s\{(Js+D)(R_{a}+L_{a}s)+K_{e}K_{t}\}}
\end{align}

と求めることができます。

ブロック線図に表すと以下のようになります。

このブロック線図を見てみるといろいろと趣深いことがわかってきます。
例えば電圧だったところが積分器を介すると電流に変わっていることや、
電流にゲイン$K_{t}$をかけてトルクになっていることなどです。

簡略化

上で求めた式はやや複雑ですので簡略化させてみます。
回路方程式で記述される電気系の応答速度は機械系の応答速度よりも速くなります。
したがってインダクタンス$L_{a}$の影響はほぼ無視できます。
そこで$L_{a}$=0とすると次のように簡略化できます。
\begin{align}
P(s)&=\frac{K_{t}}{s\{(Ts+D)R_{a}+K_{e}K_{t}\}}\\
&=\frac{\frac{K_{t}}{R_{a}}}{s(Js+D+\frac{K_{t}K_{e}}{R_{a}})}\\
B=D+\frac{K_{t}K_{e}}{R_{a}}とすると\\
&=\frac{\frac{K_{t}}{R_{a}}}{s(Js+B)}\\
そして,K=\frac{\frac{K_{t}}{R_{a}}}{B}とすると、\\
&=\frac{K}{\frac{s}{B}(Js+B)}\\
&=\frac{K}{(\frac{J}{B}s+1)}\\
加えて、T=\frac{J}{B}とすると、\\
&=\frac{K}{s(Ts+1)}
\end{align}
以上の式よりインダクタンスを無視した場合、モータの伝達関数は一次遅れシステムと積分器の積で表現できます。

2024/10/25追記

この伝達関数に比例制御をかけて定常値をもとめると、定常偏差は0になります。
これは伝達関数を求める際、クーロン摩擦や、回路の損失などを考えていないためです。
実験で回転角度を調べると、比例制御の場合定常偏差が出ます。そこは注意ですね。

粘性摩擦は速度に比例するため回転数が上がるにつれて影響力が増していきます。
一方でクーロン摩擦は動き出すときや、低速時に影響力が大きいです。
ほかにも空気抵抗や部材の変形を考慮したヒステリシス抵抗も存在するため実機に合わせようとするとより複雑なモデルになりますね。

参考文献

以下の本を参考にしました。


ArduinoとMATLABで制御系設計をはじめよう! 【第2版】 (Physical Computing Lab) 単行本(ソフトカバー)

コメント

タイトルとURLをコピーしました