2023年1月10日火曜日

OpenModelicaを用いたPMSM駆動シミュレーション

前書き

この記事では誰でも無料で使用可能なオープンソースのOpenModelica OMEditを用いた、永久磁石同期モータ(Permanent Magnet Synchronous Motor; PMSM)の電流制御シミュレーションを紹介する。OMEditを用いることで、GUI上で複数の機能ブロックを組み合わせるだけで複雑なシミュレーションを行うことが可能である。PMSMの電流制御では、ベクトル制御による電流フィードバックを実現する。最初にOMEdit上での設定を示した後に、PMSMのベクトル制御による電流フィードバックの理論の概要を説明する。詳細は参考に示したサイトを見てほしい。OMEditでモデルを構成する上で注意が必要なブロックを紹介した後に、シミュレーション結果を示し、モデルの妥当性を確認する。
PMSMの電流制御シミュレーション

OpenModelica

OpenModelicaの詳細は他のサイトに任せ、この記事では簡単な説明のみを行う。

概要

OpenModelicaはModelica言語を用いた、オープンソース(OSMC Public License, EPL, GPL)の複雑な動的システムのシミュレーション・モデル作成・最適化・解析の環境であり、誰でも無料で様々な解析をすることができる。OpenModelicaは数学モデルシステム、力学、熱力学、電磁気、電気回路などの幅広い分野のシミュレーションを複合的に行うことが可能である。OpenModelicaの公式ページと、インストール方法について説明しているページを下記に記載するので、参考にしてほしい。

OMEdit

OpenModelicaのアプリケーションの1つであるOMEditは、matlab simlinkやscilab xcosのように、GUIを用いて視覚的に機能ブロックを組み合わせることで、シミュレーションモデルを構築できる。この記事ではOMEditを用いて、標準Modelicaライブラリ(Modelica Standard Library; MSL)のみを使うことでPMSMのシミュレーションモデルを構築して、その詳細を説明する。

OMEditで構築したシミュレーションモデルの図と各パラメータの設定値の詳細は下記のPDFに示している。

PMSM駆動システムモデル

PMSM駆動システム
この記事では、空間ベクトル理論を用いて、永久磁石同期モータ(Permanent Magnet Synchronous Motor; PMSM)をインバータによって駆動するシステムを検討する。モータの負荷は定速度負荷とする。インバータは PWM Controller から受け取ったゲート信号susvswにしたがって、必要な電圧を出力するように動作する。インバータの入力は直流電圧VDCであり、出力は三相電圧vuvvvwである。PMSMの前段には電流センサが設置させており、三相電流iuiviwを検出する。PMSMの出力トルクはTm、機械角速度はωmとする。PMSMの機械角θmは位置センサにより検出される。

制御システムは電流・速度・トルク指令値(Reference)などを入力として、検出したiuiviwθmを用いて、PMSMを指令値に追従するように制御する。モータコントローラはPMSMを指令値に追従させるために必要なインバータ出力電圧指令値vuvvvwを出力し、PWMコントローラはこれらの指令値を実現するインバータのゲート信号susvswを三角波比較法などを用いて生成する。

空間ベクトル理論

PMSMの制御ではゼロ相を制御しないため、クラーク変換を用いて三相電圧・電流をゼロ相とそれ以外のαβ相に分離する。クラーク変換の変換行列0αβCuvwは次式で定義される。
(1)0αβCuvw=23[121212cos(0)cos(23π)cos(23π)sin(0)sin(23π)sin(23π)]=23[1212121121203232]
クラーク逆変換uvwC0αβ0αβCuvwを転置することで得られる。
(2)uvwC0αβ=0αβCuvw1=0αβCuvwT
クラーク変換により得られるゼロ相、α相、β相の電圧・電流をそれぞれv0i0vαiαvβiβとする。
(3)[v0vαvβ]=0αβCuvw[vuvvvw],[i0iαiβ]=0αβCuvw[iuiviw]
次に、得られたvαvβiαiβを回転子座標系に回転座標変換(dq変換)する。PMSMの極対数をpm、電気角をθeとすると、dq変換行列は次式で与えられる。
(4)θe=pmθm(5)dqCαβ=[cosθesinθesinθecosθe](6)αβCdq=dqCαβ1=dqCαβT
逆dq変換行列αβCdq(5)θe=θeを代入したものであり、dq変換の逆回転の変換である。よってdq座標系でのαβ電圧・電流vdvqidiqは次式で表される。
(7)[vdvq]=dqCαβ[vαvβ],[idiq]=dqCαβ[iαiβ]

PMSMの数理モデル

uvw座標系において1相当たりの配線抵抗をRuvw、永久磁石による磁束の振幅をΦuvw、電気角速度をωeとすると、PMSMの数理モデルは次式で表される。
(8)[vuvvvw]=[Ruvw000Ruvw000Ruvw][iuiviw]+Lddt[iuiviw]+ωe[Φuvwsin(ωet)Φuvwsin(ωet23π)Φuvwsin(ωet+23π)](9)ωe=dθedt
ここでLはPMSMのインダクタンス行列であり、PMSMの数理モデルの電流微分の係数行列である。上式をdq座標系で表した等価な方程式は次式で表される。
(10)[vdvq]=[Ruvw+LdddtωeLqωeLdRuvw+Lqddt][idiq]+[0ωeΦdq](11)Φdq=32Φuvw
ここでLdLqはd軸・q軸インダクタンスである。dq座標系での配線抵抗はuvw座標系と同じ値Ruvwとなるのに対して、dq座標系での永久磁石の磁束Φdqはuvw座標系磁束Φuvw3/2となることに注意が必要である。

PMSMの制御システム

電流フィードバック制御器

ここでは古典的な比例積分(PI)制御を適用した電流フィードバック制御をシミュレーションする。PMSMの電流フィードバック制御では、(10)の干渉項と永久磁石による誘起電圧項をフィードフォワードすることによって補償する。上図は制御ブロック図であり、idiqvdvqidiqvdvqの司令値である。上図のidiqωeはセンサなどにより検出する。司令値vdvqは逆dq変換と逆クラーク変換により、vuvvvwに変換して PWM Controller に転送する。

OMEditのPMSM駆動モデルの構築

前述したPMSMドライブ回路とPMSMの制御システムのモデルをOMEditで作成すればよい。ここでは、構築したPMSMのOMEditシミュレーションモデルで注意が必要な要素のみの簡潔な説明を示す(詳細は Modelica Documentation)。 ToSpacePhasor ブロックを用いてクラーク変換を行う場合、(1)より、 ToSpacePhasor ブロックの出力値に3/2を乗ずる必要がある。同様に FromSpacePhasor ブロックを使って逆クラーク変換を行うには、ゼロシーケンス値をゼロ相の1/2として、ブロックの出力値に2/3を乗ずる。
.Modelica.Electrical.Analog.Ideal.IdealOpeningSwitch
理想的な開閉スイッチであり、そのスイッチング動作は,入力 boolean 信号により制御される。 boolean 信号が True のときスイッチは OFF となる。
.Modelica.Electrical.Polyphase.Basic.PlugToPin_p
plug_p (多相回路)の k ピンを pin_p (単相回路)に接続し、plug_p の他のピンは未接続(開放)にする。
.Modelica.Electrical.Machines.SpacePhasors.Blocks.ToSpacePhasor
多相電圧または電流をスペースフェーザおよびゼロシーケンス値に変換する。三相の場合には、三相入力を[xu,xv,xw]、スペースフェーザを[xα,xβ]、ゼロシーケンス値をx0とすると、下式の変換を行う。
[xαxβ]=23[cos(0)cos(23π)cos(23π)sin(0)sin(23π)sin(23π)][xuxvxw]x0=xu+xv+xw3
.Modelica.Electrical.Machines.SpacePhasors.Blocks.FromSpacePhasor
スペースフェーザおよびゼロシーケンス値から多相電圧または電流へ変換する。三相の場合には、三相出力を[xu,xv,xw]、スペースフェーザを[xα,xβ]、ゼロシーケンス値をx0とすると、下式の変換を行う。
[xuxvxw]=[x0x0x0]+[cos(0)sin(0)cos(23π)sin(23π)cos(23π)sin(23π)][xαxβ]
.Modelica.Electrical.Machines.SpacePhasors.Blocks.Rotator
スペースフェーザ(電圧または電流)を数学的に負方向(反時計回り)に、入力された角度だけ回転させる。

シミュレーション

OMEditのシミュレーションの刻み幅は2μsとした。シミュレーション結果を下記に示す。上から順にdq軸電流idiqとその司令値idiq、uvw相電流iuiviw、uvw相電圧vuvvvw、三角波比較での三角波triと変調波dudvdwの波形である。dq軸電流は司令値に追従しており、PMSMの電流制御を実現していることがわかる。uvw相電圧は階段状の波形であり、インバータのPWM制御によりPMSMを制御している。idiqのリプルはスイッチングに起因する。
シミュレーション結果
シミュレーション結果の拡大図

まとめ

この記事では誰でも無料で使用可能なオープンソースのOpenModelica OMEditを用いた、永久磁石同期モータ(Permanent Magnet Synchronous Motor; PMSM)の電流制御シミュレーションを紹介した。OMEditを用いることで、GUI上で複数の機能ブロックを組み合わせるだけで、数学モデルシステム、力学、熱力学、電磁気、電気回路などの幅広い分野の複雑な動的システムのシミュレーション・モデル作成・最適化・解析を複合的に行うことが可能である。PMSMの電流制御では、ベクトル制御による電流フィードバックを実現して、理論の概要を説明した。OMEditでモデルを構成する上で注意が必要なブロックを紹介した後に、シミュレーション結果を示し、モデルの妥当性を確認した。

参考

  • 2022 OpenModelica, 「OpenModelica」, openmodelica.org, https://openmodelica.org/ (Accessed Dec. 17, 2022)
  • Adrian Pop, 「OpenModelica Build Server -Modelica Documentation-」, build.openmodelica.org, https://build.openmodelica.org/Documentation/  (Accessed Jan. 5, 2023)
  • 一般社団法人オープンCAE学会, 「OpenModelica ユーザーズガイド和訳 リリース v1.14.1」, www.opencae.or.jp, https://www.opencae.or.jp/wp-content/uploads/2021/04/OpenModelicaUsersGuide.pdf
  • Wikipedia, 「OpenModelica」, en.wikipedia.org, https://en.wikipedia.org/wiki/OpenModelica
  • XSim, 「OpenModelica のインストールと実行」,www.xsim.info,  https://www.xsim.info/articles/OpenModelica/What-is-OpenModelica.html
  • 公益社団法人日本電気技術者協会, 「 音声付き電気技術解説講座  電気応用」, jeea.or.jp, https://jeea.or.jp/course/04.html

0 件のコメント:

コメントを投稿

変圧器の動作と内部磁束

前書き この記事では、変圧器の基本的な動作と変圧器内部の磁束について紹介する。変圧器は磁気結合を利用して、簡単に交流電圧を変圧することができる。変圧器の各コイルが発生させる磁束は互いに打ち消しあうため、変圧器の内部磁束は小さくなる。特に変圧器の片側が電圧源に接続されるとき...