三相同期モータの最大トルク制御
目次
はじめに
前回,三相同期モータ(ブラシレスDCモータ,PMSM)の運動モデルの立式と,ベクトル制御によるトルク制御のシミュレーションを行いました.
PMSMでは,Park変換と呼ばれる回転子に固定した座標系への変換によって,電流とトルクの関係が簡単に表すことができます.
PMSMの種類である,表面磁石同期電動機(Surface Permanent Magnet Synchronous Motor; SPMSM)と埋込磁石同期電動機(Interior Permanent Magnet Synchronous Motor; IPMSM)の電流とトルクの関係は以下のようになります.
SPMSMの電流とトルクの関係
\begin{align}
T = \frac{P_{n}}{2} \Phi_{a} i_{q}
\end{align}
SPMSMの場合には,トルクと軸電流が比例関係にあり,簡単に目標トルクを出すための電流値を求めることができます.
\begin{align}
i_{q} = \frac{2T}{P_{n} \Phi_{a}}
\end{align}
IPMSMの電流とトルクの関係
\begin{align}
T = \frac{P_{n}}{2}[ \Phi_{a} i_{q} + ( L_{d} - L_{q} ) i_{d} i_{q} ]
\end{align}
一方でIPMSMでは右辺第2項のリラクタンストルクが発生するため,id=0制御によってリラクタンストルクの項を消去し,トルクを出すために必要な電流値を算出していました.
に関する項が消え,SPMSMと全く同じ以下の式になります.
\begin{align}
i_{q} = \frac{2T}{P_{n} \Phi_{a}}
\end{align}
一方で,IPMSMではリラクタンストルクを上手く利用することで,同じ電流でより大きなトルクを生み出すことができます.
これを実現する手法が最大トルク制御です.
IPMSMの最大トルク制御
最大トルク制御の概念
IPMSMにおいて,トルクと軸電流,軸電流の関係は以下のような図になります.
2次元表示の図で真上を向いている赤の線がid=0制御を表していて,青色の線が等トルク線を表します.赤線と青線の交点が実際の動作点になります.この動作点から円を描いたものが等電流線です.
3次元の図で,この等電流線を上に持ち上げていくと,別の高さのところで3次元平面と接しています.この点も動作点のひとつです.
この赤い円で表される電流はid=0制御と同じ大きさですが,id=0制御よりも大きなトルクを得られることがわかります.つまり,同じ電流量でより多くのトルクを得ることができます.
これが最大トルク制御の概念です.
最適な電流位相の導出
id=0制御ではその名の通り軸電流としていましたが,最大トルク制御ではこの軸電流を与えることでリラクタンストルクを利用します.
モータに流れる電流は,軸電流と軸電流を合成した値になります.この合成した電流をとし,とのなす角を位相とすると,以下の関係が成り立ちます.
\begin{align}
i_{d} &= i_{a} \sin \beta \\
i_{q} &= i_{a} \cos \beta
\end{align}
合成電流や位相がどこから来たかですが,同じ電流量に対して最大のトルクを求めることは,とはどの割合がベストなのか,という問題になります.とを使うことで電流量と割合を分けて考えることができるようになります.
これをトルクの式に代入することで,以下のようになります.
\begin{align}
T &= \frac{P_{n}}{2}[ \Phi_{a} i_{a} \cos \beta + ( L_{d} - L_{q} ) i_{a}^2 \sin \beta \cos \beta ] \\
&= \frac{P_{n}}{2}[ \Phi_{a} i_{a} \cos \beta + \frac{1}{2} ( L_{d} - L_{q} ) i_{a}^2 \sin 2 \beta ]
\end{align}
最大トルク制御では,同じ大きさの電流で出せる最大のトルクを得ることが目的です.
したがって,ある電流の大きさに対して,トルクを最大化する位相を求めることになります.
したがって,トルクを位相で微分した式がゼロになる状態を求めればよいことになります.
\begin{align}
\frac{\partial T}{\partial \beta} &= \frac{P_{n}}{2}[ -\Phi_{a} i_{a} \sin \beta + ( L_{d} - L_{q} ) i_{a}^2 \cos 2 \beta ] \\
&= 0
\end{align}
ここで,であるので,以下の2次方程式に帰着します.
\begin{align}
[ -\Phi_{a} i_{a} \sin \beta + ( L_{d} - L_{q} ) i_{a}^2 ( 1 - 2 \sin^2 \beta ) ] = 0 \\
-2( L_{d} - L_{q} ) i_{a} \sin^2 \beta - \Phi_{a} \sin \beta + ( L_{d} - L_{q} ) i_{a} = 0
\end{align}
単純に,解の公式を使います.
\begin{align}
\sin \beta &= \frac{ \Phi_{a} + \sqrt{ \Phi_{a} + 8 ( L_{d} - L_{q} )^2 i_{a}^2 } }{ -4( L_{d} - L_{q} ) i_{a} } \\
\beta &= \sin^{-1}\left( \frac{ \Phi_{a} + \sqrt{ \Phi_{a} + 8 ( L_{d} - L_{q} )^2 i_{a}^2 } }{ 4( L_{q} - L_{d} ) i_{a} } \right)
\end{align}
これが同一の電流で発生トルクが最大になる位相です.
電流に対するトルクのマップ化
電流の位相を求めることで,ある電流を与えたときの最大のトルクを得ることができました.
図で表すと,ある電流(図中の緑円)を与えたとき,等トルク線(灰色の線)を刻んでいき,電流円と等トルク線が接するトルク(青色の線)について計算できたことになります.
赤の線はid=0制御の場合で,参考値です.
ただ,私たちが何かを制御したいときには目標値はトルクであるほうが嬉しいかと思います.
つまり,下図のようにあるトルク(青色の線)を与えたときに,等電流円(灰色の線)を刻んでいき,これらが接するときの電流(緑の円)を求めたいかと思います.
そこで以下のようなトルク-電流マップを作製します.
トルクの式はわかっているので,使用する電流範囲 ]を決め,位相を計算し,トルクを求めます.
ただし注意点として,電流となる点はゼロ割になってしまうため,何らかの方法でゼロ割を回避する必要があります.
実際の使用ではこのマップの縦軸と横軸を入れ替えて,あるトルクを指定し,そのトルクを出すために必要な電流を得られるようにします.
マップを利用することで目標トルクからが得られるので,位相が得られます.
\begin{align}
\beta = \sin^{-1}\left( \frac{ \Phi_{a} + \sqrt{ \Phi_{a} + 8 ( L_{d} - L_{q} )^2 i_{a}^2 } }{ 4( L_{q} - L_{d} ) i_{a} } \right)
\end{align}
とから,とが計算でき,目標電流が得られます.
\begin{align}
i_{d} &= i_{a} \sin \beta \\
i_{q} &= i_{a} \cos \beta
\end{align}
シミュレーション
MATLAB/Simulink
MATLAB/Simulink R2015aでシミュレーションしてみました.
シミュレーションに使用したPMSMのパラメータについては前回と同様,下記の論文の第4章を参考にしています.
シミュレーション結果が以下の図です.
目標トルクが得られていることが分かります.
また,前回のid=0制御が以下の図ですが,同じトルクを出力していても電流の振幅が約60→40と小さくなっていることがわかります.
この結果はSimlink project形式でGithubにアップロードしています.