電磁界解析ソフトウェアEMSolution

MATLAB/Simulinkとの連成解析

概要

1.はじめに

EMSolutionは単体で電磁場解析と外部回路系、運動方程式との連成解析機能を有しています。しかし,モータに代表されるような複雑な制御回路を模擬するには力不足なため、パワーエレクトロニクスも模擬できるPSIMとの連成解析モジュールを開発し、既にリリースしております。IPMモータに代表される電磁機器は、パワーエレクトロニクスも含む制御回路システムを、マルチドメインシミュレーション及びダイナミックシステムであるMATLAB/Simulink(Mathworks Inc.)で作成されることが多く、より実機に近い回路が模擬できるなど汎用性が高いと思われます。そこで、EMSolutionとMATLAB/Simulink(MATLAB 7.10.0 R2010a)との直接連成解析ができるようになりましたので報告致します。
これはPSIMとの連成解析モジュールと同様に行えるもので、パワエレを含む電気回路や制御回路とFEMを直接連成して解析できるモジュールです。

解説

2.連成解析方法

MATLAB/Simulinkには様々なモジュールが用意されていますが、ここではSimulinkとパワエレも含む電気回路モジュールであるSimPowerSystemsとの連成解析例を示します。基本的にPSIMとの連成解析と同じ方法となっており、EMSolutionの実行モジュールはDLL(Dynamic Link Library)を使用します。この時、EMSolutionはSimulink上ではS-Functionとしてモジュール化されるため、SimPowerSystemsのElectric Valueはそのままでは受け渡せず、SimulinkのPhyshical Valueに変換してから受け渡すことになります。そのため、SimPowerSystemsに限らず他のSimulinkと連成解析できるパワエレ系ソフトウェアも同様に使用できると思われます。

2.1.電気回路系の連成

 EMSolution単体で電気回路系との連成解析機能を有しています。PSIMとの連成解析同様、Simulinkで計算された電圧をEMSolutionの入力とし、EMSolutionで電磁場解析を行い、電圧源の電流を求めSimlinkに出力し、ステップ計算を行います。PSIM同様、SimulinkでもEMSolutionの電圧源に相当するものがSimPowerSystemsのControlled Current Source、その両端の電圧がVoltage Measurementによって得られ、EMSolutionに渡されます。

Fig.1 電気回路系の連成

EMSolution側の設定は、PSIMと同様にしてNETWORKモジュールのVPS:電圧源に与える時間関数をOPTION=4として設定します。 SimulinkのSimulation TypeはContinous:連続として連成します。Simulink側のソルバは可変ステップも用意されていますが、EMSolutionでは固定ステップのみが扱えますので、Simulinkのソルバも固定ステップとし、ソルバの種類も固定ステップのものを選択します。固定ステップ(基本サンプル時間)はデフォルトでは“auto”になっていますが、この場合、回路素子の最小時間ステップを検出して計算します。そのためEMSolution以外の素子のサンプル時間は“-1:継承”とすれば、EMSolutionと連成解析する場合、EMSolutionで設定している時間ステップが固定ステップとしてSimulinkで自動的に選択されて解析されます。もちろん固定ステップに明示的に時間ステップを設定することもできますが、使用するSimulinkの素子によって、EMSolutionと異なる固定ステップを設定できない場合もあるようです。固定ステップソルバについては解析例で検討します。

2.2.運動方程式の連成

EMSolutionにも運動方程式と連成して解析する機能はありますが、位置や速度に対して複雑な演算を伴う場合は、Simulinkを使用した方が良いと考えられます。PSIMでは等価電気回路として記述しなければなりませんが、Simulinkでは用意されている素子を使用して回路作成を行うことができます。Simulinkでは微分・積分素子も用意されていますので、直観的に回路作成を行うことができます。
次の運動方程式を考えます。

$$m\ddot{z}+d\dot{z}+s(z-z_s)=F-mg$$
$$ \ddot{z} :加速度、 \dot{z} :速度、 z :位置$$

ここで、$m$、$g$、$s$、$z_s$、$d$はそれぞれ、質量、重力加速度、スプリング係数、スプリング平衡位置およびダンパー係数です。

(1)式をSimulink上の回路として表すと以下のようになります。加速度を積分素子により積分し、速度、位置としています。

Fは外力であり、今の場合電磁力を表します。このように、運動方程式をSimulinkにより記述し、EMSolutionと連成解析することもできます。 設定はPSIM同様に、Dynamicモジュールに用意されている外部ソフトとの値の受け渡しIDを設定します。

Fig.2 運動方程式の連成

3.解析例

3.1.プランジャーモデル

Fig.3で示すプランジャーモデルの解析をSimulinkと連成します。電気回路、運動方程式共にSimulinkで記述して解析します。

Fig.3 プランジャーモデル

(i) 全体図

(ii) 電気回路Subsystem

(iii) 運動方程式Subsystem

Fig.4 MATLAB/Simulink プランジャーモデル

Fig.1、 2で示した電気回路と運動方程式回路部分をSubsystem化しています。電気回路はFig.3のFEMメッシュと一緒に示してあるものです。電気回路Subsystemから電圧を受け取り、電流を返しています。運動方程式Subsystemからは位置を受け取り、電磁力を返しています。EMSolutionではダイオードを関数として与えていますが、ここではSimulinkに用意されているダイオード素子を使用することにします。またコイルがダイオードと直列につながれていますが、電気回路Subsystemではコイルインダクタンス分をダイオードに含めています。EMSolutionでは電気回路Subsystemからは電圧を受け取り、FEMと連成して得られた電流値を返します。運動方程式Subsystemでは、位置を受け取り、FEMで計算された電磁力を返します。固定ステップは“auto”とし、EMSolutionと同じ時間ステップdt=1.e-4secとして解析します。解析はプランジャーが底面に衝突しないようにキャパシタンスの初期電圧を50Vとしています。EMSolution側の時間積分は、デフォルトのTHETA=2/3、THETA_NETWORK=0.5、THETA_MOTION=0.5と設定しています。Fig.5、6にEMSolution、PSIM連成、Simulink連成の、プランジャーの位置および回路中の電流の時間変化を合わせて示します。なお、Simulink連成は、固定ステップソルバをode1:1st-order Euler method、ode3:3rd-order Euler method、ode5:Dormand-Prince methodを使用して解析したものを示しています。Simulink同様PSIMでも用意されているダイオード素子を使用しているため、EMSolutionとの差はやや見られますが、良く合っています。Simulink ode1:1st-order Euler methodではEMSolution、PSIMとの乖離がやや大きく、精度良い結果を得るには、ode3:3rd-order Euler method以上の高次ステップソルバを使用した方が良いようです。

Fig.5 抵抗の電流

Fig.6 プランジャーの位置

3.2 ブラッシュレスサーボモータの解析

モデルはSimulinkに用意されている例題のPWMインバータ制御されているモデルを流用し、SPMモータ素子部分をEMSolutionで置き換えたものを使用します。 SPMモータはこちらのSPMモータを使用しています。例題のSimulinkのモータモデルとは極数や容量、指令速度や回転方向、外部負荷の方向等も異なりますので、適宜変更しています。また、モータには回転速度に応じた摩擦係数も設定しています。EMSolutionの入力としてSimulinkから三相コイル電圧、外部負荷トルクを受け取り、三相コイル電流、回転速度、回転位置、トルクを出力しています。 PWMインバータはヒステリシスコンパレータ方式とし、回転速度をフィードバックし、PI(比例積分)信号とし、q軸電流を制御しています。回転速度指令値314rad/sec(=18,000deg/sec)を与え、始動時は外部トルクをゼロ(無負荷)として解析し、始動0.03sで4Nmの外部トルクをステップ状に与えた時の解析を行っています。PWMインバータのタイプをPWM輸送波比較方式に変更することも可能です。モータは三相Y結線されていますが、SimulinkではそのままY結線を表現するとエラーになってしまうため、一度線間電圧の二相結線に変更し、再度三相相電圧に直してEMSolutionに接続しています(Y結線のうち2つの電流が決定されれば、残りの電流はそれらの和で決まるためです)。おそらくSimulink側でY結線することなくダイレクトにEMSolutionに接続しても問題ないと思われます。PWMインバータやdq-abc変換もSimulinkのブロックとして記述しています。内容はSimulinkの例題を変更していませんので、説明は省略します。 EMSolution側の時間積分はTHETA、THETA_MOTIONはプランジャーモデルと同じに設定し、THETA_NETWORK=1:後退差分の方が安定するため、そのように設定します。Simulinkの固定ステップソルバは精度が十分であったode3:3rd-order Euler methodと設定しています。解析はEMSolutionの時間ステップを1.e-4sec、Simulinkを固定ステップ解析として1.e-5secと、EMSolutionとSimulinkの時間ステップを変更して、0.05sまで500ステップ解析します。

Fig.7 PWMインバータ SPMモータモデル

Fig.8 EMSolution Simulink
三相Y結線モデル

Fig.9~13に、コイル相電圧、線間電圧、コイル電流、回転速度、トルクを示します。始動から徐々に速度が上がっていき、およそ0.008sで指令速度に達します。無負荷運転ですが、速度に応じた摩擦係数があるため、平均トルクはゼロよりわずかに大きくなっています。負荷トルクが0.03sで印加されると、それに伴い電圧が変化し、電流、トルクが上がっていますが、すぐに指令値に近い速度に復帰することがわかります。

Fig.9 U相電圧

Fig.10 UV相電圧

Fig.11 コイル電流

Fig.12 回転速度

Fig.13 トルク

4.おわりに

本報告では、MATLAB/Simulinkとの連携による磁場解析について述べました。Simulinkと連成させることにより、電気回路、運動方程式およびパワエレ系制御回路と同時に計算できることをご理解いただけたかと考えます。Simulinkと連成解析した場合と、EMSolution単独、PSIMと連成解析した場合で結果は良く一致し、本方法が妥当なものであることが示せたと考えます。逆に、Simulinkの機能は非常に豊富で本解析では紹介しきれませんが、EMSolutionと連成して解析する方法は示せたと思います。PSIM同様モニタ機能はEMSolution実行時にも表示することができるため便利に使用できますが、出力は明示的に行わないとならないようです。本報告で使いましたモデルは二次元モデルであり、また、あまり現実的なものではありませんでしたが、本法の利点の一端はご理解いただけたものと思います。
なお、現在(2011/01/24)、Windowsのみで稼動しますので、EMSolutionもWindowsで実行する必要があります。連成解析にはMATLAB/SimulinkモジュールとEMSolution DLL MATLAB/Simulink版が必要となります。もしLinuxシステムでご使用になられたい場合はご相談ください。

使用法

使用法はMATLAB/Simulinkを起動し、S-FunctionとしてEMSolution DLL MATLAB/Simulink版を設定します。連成用DLLの拡張子はMATLAB 7.0.4(R14SP2)以前は.dllでしたが、R14SP3からは.mexw32:32bit用/.mexw64:64bit用となっております。EMSolution inputファイルの設定方法はPSIMとの連成解析と全く同じですので、そちらをご参照ください。Simulinkとの連成解析時はEMSolution DLL MATLAB/Simulink版を、Simulink設定ファイル.mdl、EMSolution inputファイル、メッシュファイルと同じフォルダに置いて使用してください。 なお、電気回路との連成を行うには、Networkモジュール、運動方程式と連成を行うにはDynamicモジュールが必要となります。

ダウンロード

プランジャーの電気回路

  • 運動Simulinkモデルデータ一式

PWMインバータブラッシュレスサーボモータ

  • Simulinkモデルデータ一式

この先は会員の方のみご覧いただけます。

既存ユーザのログイン