三相同期モータの最大トルク制御

目次

 はじめに

前回,三相同期モータ(ブラシレスDCモータ,PMSM)の運動モデルの立式と,ベクトル制御によるトルク制御のシミュレーションを行いました.

hamachannel.hatenablog.com

PMSMでは,Park変換と呼ばれる回転子に固定した d-q座標系への変換によって,電流とトルクの関係が簡単に表すことができます.

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の場合には,トルクと q軸電流が比例関係にあり,簡単に目標トルクを出すための電流値を求めることができます.

\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制御によってリラクタンストルクの項を消去し,トルクを出すために必要な電流値を算出していました.

 i_{d}に関する項が消え,SPMSMと全く同じ以下の式になります.

\begin{align}
i_{q} = \frac{2T}{P_{n} \Phi_{a}}
\end{align}

一方で,IPMSMではリラクタンストルクを上手く利用することで,同じ電流でより大きなトルクを生み出すことができます.

これを実現する手法が最大トルク制御です.

 

IPMSMの最大トルク制御 

最大トルク制御の概念

IPMSMにおいて,トルク T d軸電流 i_{d} q軸電流 i_{q}の関係は以下のような図になります.

f:id:blockahead:20180127174929p:plainf:id:blockahead:20180127174940p:plain

2次元表示の図で真上を向いている赤の線がid=0制御を表していて,青色の線が等トルク線を表します.赤線と青線の交点が実際の動作点になります.この動作点から円を描いたものが等電流線です.

3次元の図で,この等電流線を上に持ち上げていくと,別の高さのところで3次元平面と接しています.この点も動作点のひとつです.

この赤い円で表される電流はid=0制御と同じ大きさですが,id=0制御よりも大きなトルクを得られることがわかります.つまり,同じ電流量でより多くのトルクを得ることができます.

これが最大トルク制御の概念です.

最適な電流位相の導出

id=0制御ではその名の通り d軸電流 i_{d}=0としていましたが,最大トルク制御ではこの d軸電流を与えることでリラクタンストルクを利用します.

www.jeea.or.jp

モータに流れる電流は, d軸電流 i_{d} q軸電流 i_{q}を合成した値になります.この合成した電流を i_{a}とし, i_{a} i_{q}のなす角を位相 \betaとすると,以下の関係が成り立ちます.

\begin{align}
i_{d} &= i_{a} \sin \beta \\
i_{q} &= i_{a} \cos \beta
\end{align}

合成電流 i_{a}や位相 \betaがどこから来たかですが,同じ電流量 i_{d} + i_{q}に対して最大のトルクを求めることは, i_{d} i_{q}はどの割合がベストなのか,という問題になります. i_{a} \betaを使うことで電流量と割合を分けて考えることができるようになります.

これをトルクの式に代入することで,以下のようになります.

\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}

最大トルク制御では,同じ大きさの電流で出せる最大のトルクを得ることが目的です.

したがって,ある電流の大きさ i_{a}に対して,トルク Tを最大化する位相 \betaを求めることになります.

したがって,トルク Tを位相 \beta微分した式がゼロになる状態を求めればよいことになります.

\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}

ここで, \cos 2 \beta = 1 - 2 \sin^2 \betaであるので,以下の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}

これが同一の電流で発生トルクが最大になる位相 \betaです.

電流に対するトルクのマップ化

電流の位相 \betaを求めることで,ある電流 i_{a}を与えたときの最大のトルクを得ることができました.

図で表すと,ある電流(図中の緑円)を与えたとき,等トルク線(灰色の線)を刻んでいき,電流円と等トルク線が接するトルク(青色の線)について計算できたことになります.

赤の線はid=0制御の場合で,参考値です.

f:id:blockahead:20180127181159p:plain

ただ,私たちが何かを制御したいときには目標値はトルクであるほうが嬉しいかと思います.

つまり,下図のようにあるトルク(青色の線)を与えたときに,等電流円(灰色の線)を刻んでいき,これらが接するときの電流(緑の円)を求めたいかと思います.

f:id:blockahead:20180127181259p:plain

そこで以下のようなトルク-電流マップを作製します.

f:id:blockahead:20180127173517p:plain

トルクの式はわかっているので,使用する電流範囲 [ i_{aMin}, i_{aMax} ]を決め,位相 \betaを計算し,トルク Tを求めます.

ただし注意点として,電流 i_{a}=0となる点はゼロ割になってしまうため,何らかの方法でゼロ割を回避する必要があります.

実際の使用ではこのマップの縦軸と横軸を入れ替えて,あるトルクを指定し,そのトルクを出すために必要な電流を得られるようにします.

マップを利用することで目標トルク Tから i_{a}が得られるので,位相 \betaが得られます.

\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}

 i_{a} \betaから, i_{d} i_{q}が計算でき,目標電流が得られます.

\begin{align}
i_{d} &= i_{a} \sin \beta \\
i_{q} &= i_{a} \cos \beta
\end{align}

シミュレーション

MATLAB/Simulink R2015aでシミュレーションしてみました.

シミュレーションに使用したPMSMのパラメータについては前回と同様,下記の論文の第4章を参考にしています.

jairo.nii.ac.jp

シミュレーション結果が以下の図です.

目標トルクが得られていることが分かります.

f:id:blockahead:20180127182458p:plain

 

また,前回のid=0制御が以下の図ですが,同じトルクを出力していても電流の振幅が約60→40と小さくなっていることがわかります.

 

f:id:blockahead:20180120180609p:plain


 

この結果はSimlink project形式でGithubにアップロードしています.

github.com