Main Content

PMSM の弱め界磁制御 (MTPA を使用)

この例では、三相永久磁石同期モーター (PMSM) のトルクと速度を制御するためのベクトル制御 (FOC) 手法を実装します。この FOC アルゴリズムには回転子の位置フィードバックが必要であり、それを直交エンコーダー センサーで取得します。FOC の詳細については、ベクトル制御 (FOC)を参照してください。

弱め界磁制御

FOC アルゴリズムを使用して定格磁束でモーターを駆動する場合、固定子電圧、定格電流、および逆起電力によって最大速度が制限されます。この速度をベース速度と呼びます。この速度を超えると、逆起電力が電源電圧よりも大きくなるため機械の動作が複雑になります。ただし、d 軸の固定子電流 (Id) を負の値に設定すると、回転子鎖交磁束が減少し、ベース速度を超えてモーターを駆動することができます。この操作は、モーターの弱め界磁制御として知られています。

機械の接続負荷と定格電流によっては、弱め界磁制御の指令 d 軸電流 (${I_d}$) によって指令 q 軸電流 (${I_q}$) も制限されるため、それによってトルク出力が制限されます。したがって、モーターはベース速度までは定トルク領域で動作します。ベース速度を超えると、上の図に示すように、トルクが制限された定電力領域で動作します。

指令電流 ${I_d}$ の計算は、モーターとインバーターのパラメーターに依存します。

メモ:

  • 一部の表面 PMSM では、(パラメーターによっては) より高い速度を定格電流では実現できない可能性があります。より高い速度を実現するには、定格電流よりも高い最大電流でモーターをオーバーロードする必要があります (機械の熱条件が許容される制限に収まる場合)。

  • モーターをベース速度を超えて動作させるときは、モーターの温度を監視することを推奨します。モーターの動作中にモーター温度が製造元の推奨温度を超える場合は、安全のためにモーターをオフにしてください。

  • モーターをベース速度を超えて動作させるときは、弱め界磁のダイナミクスで一部のシステムが不安定になる可能性を回避するために、速度指令を徐々に大きくすることを推奨します。

最大トルク/電流 (MTPA)

埋込 PMSM の場合、回転子の磁気回路における突極性により ${{{L_q}} \over {{L_d}}}$ の比が高く (1 より大きく) なります。これにより、回転子で (既存の電磁トルクに加えて) リラクタンス トルクが生成されます。詳細については、MTPA Control Referenceを参照してください。

したがって、${I_d}$${I_q}$ の最適な組み合わせで機械を動作させることができ、同じ固定子電流でより高いトルク ${I_{\max }} = \sqrt {I_d^2 + I_q^2}$ が得られます。

これにより、固定子の電流損失が最小限になるため機械効率が向上します。機械の最大トルクが得られる指令電流 ${I_d}$${I_q}$ を生成するのに使用するアルゴリズムのことを最大トルク/電流 (MTPA) と呼びます。

この例では、埋込 PMSM (IPMSM) については、MTPA の手法を使用してベース速度までの指令電流 ${I_d}$${I_q}$ を計算します。表面 PMSM (SPMSM) については、ベース速度までの d 軸の指令電流をゼロにして MTPA の動作を実現します。

モーターをベース速度を超えて動作させるために、この例ではモーター タイプに応じて MTPA および弱め界磁制御の指令 ${I_d}$${I_q}$ を計算します。表面 PMSM には、定電圧定電力 (CVCP) 制御法を使用します。埋込 PMSM には、電圧/電流制限最大トルク (VCLMT) 制御法を使用します。

MTPA Control Reference ブロックに関する詳細については、MTPA Control Referenceを参照してください。

ターゲット通信

ハードウェア実装用に、この例ではホストとターゲット モデルを使用します。ホスト モデルはホスト コンピューターで実行され、モーターに接続されたハードウェアに展開されるターゲット モデルと通信します。ホスト モデルは、シリアル通信を使用してターゲット モデルに指令を送り、閉ループ制御でモーターを駆動します。

弱め界磁制御と MTPA のどちらでも、以下に関連する制限に従う指令電流を生成することが必要になります。

  • 電流制限円

  • 電圧制限楕円

  • モーター温度

これらの制限に従う操作点を特定するには、Obtain Motor Characteristicsの関数によって生成されるプロットを参照してください。

弱め界磁領域では、一部の PMSM でモーターの定格電流よりも高い固定子電流が必要になることがあります。詳細については、Obtain Motor Characteristicsの関数によって生成されるプロットを参照してください。

モデル

この例では、次のハードウェア構成の複数のモデルを使用します。

弱め界磁と MTPA を使用した PMSM の "速度制御":

弱め界磁と MTPA を使用した埋込 PMSM (IPMSM) の "速度制御":

メモ: このモデルでは、モデル初期化スクリプトで定義された ADLEE-BM-180E IPMSM パラメーターを使用します。ADLEE-BM-180E IPMSM の突極性は約 10% (${L_q}$${L_d}$ よりも約 10% 高い) です。突極性が低いため、このモデルが弱め界磁領域に入り、定格速度よりも速い速度で動作するには、より高い ${I_d}$ 電流が求められます。ただし、モーターの定格電流はわずか 9A です。したがって、このモーターを弱め界磁領域で動作させると、突極性が低いためにモーターの ${I_d}$ 電流がすぐに高くなり (定格電流の制限にすぐに達し)、ベース速度を超える速度の増加は限られた分しか得られません。このモデルは、突極性がより高い IPMSM を使用してベース速度を超えるより高い速度を実現するために使用できます。

MTPA を使用した PMSM の "トルク制御":

これらのモデルはシミュレーションとコード生成の両方に使用できます。

必要な MathWorks 製品

モデルをシミュレートする場合:

1. 対象のモデル: "mcb_pmsm_fwc_qep_f28069LaunchPad" および "mcb_pmsm_mtpa_qep_f28069LaunchPad"

  • Motor Control Blockset™

  • Fixed-Point Designer™

2. 対象のモデル: "mcb_pmsm_fwc_qep_f28379d""mcb_ipmsm_fwc_qep_f28379d"、および "mcb_pmsm_mtpa_qep_f28379d"

  • Motor Control Blockset™

コードを生成してモデルを展開する場合:

1. 対象のモデル: "mcb_pmsm_fwc_qep_f28069LaunchPad" および "mcb_pmsm_mtpa_qep_f28069LaunchPad"

  • Motor Control Blockset™

  • Embedded Coder®

  • C2000™ Microcontroller Blockset

  • Fixed-Point Designer™

2. 対象のモデル: "mcb_pmsm_fwc_qep_f28379d""mcb_ipmsm_fwc_qep_f28379d"、および "mcb_pmsm_mtpa_qep_f28379d"

  • Motor Control Blockset™

  • Embedded Coder®

  • C2000™ Microcontroller Blockset

  • Fixed-Point Designer™ (コード生成を最適化する場合のみ必要)

前提条件

1. モーター パラメーターを取得します。Simulink® モデルには既定のモーター パラメーターが設定されており、それらをモーターのデータシートまたは他のソースから得られる値に置き換えることができます。

ただし、モーター制御ハードウェアがある場合は、使用するモーターのパラメーターを Motor Control Blockset のパラメーター推定ツールを使用して推定できます。手順については、Estimate PMSM Parameters Using Recommended Hardwareを参照してください。

パラメーター推定ツールは、推定されたモーター パラメーターで "motorParam" 変数 (MATLAB® ワークスペース内) を更新します。

2. モーター パラメーターをデータシートまたは他のソースから取得する場合は、Simulink® モデルに関連付けられたモデル初期化スクリプトでモーター、インバーター、および位置センサー キャリブレーションのパラメーターを更新します。手順については、Estimate Control Gains and Use Utility Functionsを参照してください。

パラメーター推定ツールを使用する場合は、インバーターと位置センサー キャリブレーションのパラメーターは更新してかまいませんが、モーターのパラメーターはモデル初期化スクリプトで更新しないでください。モーターのパラメーターは、更新された "motorParam" ワークスペース変数からスクリプトで自動的に抽出されます。

モデルのシミュレーション (速度制御とトルク制御)

この例はシミュレーションをサポートしています。次の手順に従ってモデルをシミュレートします。

1. この例に含まれているモデルを開きます。

2. [シミュレーション] タブの [実行] をクリックして、モデルをシミュレートします。

3. [シミュレーション] タブの [データ インスペクター] をクリックし、シミュレーション結果を表示して解析します。

速度制御モデルのシミュレーション結果の解析

モデルでは、速度、電流、電圧、トルク、力が pu 単位系を使用して表されます。いずれかの pu 値の数量について SI 単位への変換を確認するには、ワークスペースで「PU_System」と入力します。

速度コントローラーと電流コントローラーのシステムのダイナミクスを確認します。また、ベース速度を超えるモーターの動作で Id 電流が負になっていることに注目してください。

メモ: この例では、最初はモーターを開ループ制御で駆動します。直交エンコーダー センサーのインデックス パルスを検出すると、閉ループ制御を使用したモーターの運転が始まります。この遷移が起動アルゴリズムで実行されるまでに約 0.5 秒かかります。この初期期間の間に速度と位置のフィードバック信号で観測される過渡状態はすべて無視します。

トルク制御モデルのシミュレーション結果の解析

次の 3 つの方法で生成される Id と Iq の指令電流を使用してシミュレーションを実行します。

1. MTPA Control Reference ブロックを使用して指令電流を生成する。

2. Vector Control Reference ブロックを使用して手動で MTPA 指令電流を生成する。

3. MTPA なしで制御指令を生成する。

最初の方法では、線形インダクタンスと仮定したうえで、数学的計算を使用して指令電流 Id と Iq を求めます。

2 つ目の方法は、非線形インダクタンスをもつモーターの MTPA ルックアップ テーブルを手動で生成するために使用します。これは、+(π/2) から -(π/2) までのトルク角をスイープして生成される Id と Iq の指令で示すことができます。

最後の方法は、MTPA アルゴリズムを使用せずに指令電流を取得するために使用します。

これらの 3 つの方法で生成されるトルクと力をデータ インスペクターで比較できます。

上の例から、MTPA を使用して生成される電気トルクは 0.34PU であるのに対し、MTPA を使用せずに生成される電気トルクは 0.27PU であることがわかります。また、トルク角が可変の場合、生成される最大トルクが MTPA によって生成されるトルクと一致することがわかります。d 軸の負の電流は、MTPA で埋込 PMSM にリラクタンス トルクを使用していることを示しています。

メモ: 表面 PMSM を扱う場合は、次の場所にある MTPA Control Reference ブロックで、[モーターのタイプ] パラメーターを [埋込 PMSM] から [表面 PMSM] に変更します。

  • mcb_pmsm_fwc_qep_f28069LaunchPad/Speed Control

  • mcb_pmsm_fwc_qep_f28379d/Speed Control

  • mcb_pmsm_mtpa_qep_f28069LaunchPad/Torque Control/MTPA_Reference

  • mcb_pmsm_mtpa_qep_f28379d/Torque Control/MTPA_Reference

コードの生成とターゲット ハードウェアへのモデルの展開

このセクションでは、コードを生成し、ターゲット ハードウェアで FOC アルゴリズムを実行する手順を示します。

この例ではホストとターゲット モデルを使用します。ホスト モデルはコントローラー ハードウェア ボードへのユーザー インターフェイスです。ホスト モデルはホスト コンピューターで実行できます。ホスト モデルを使用するための前提条件として、コントローラー ハードウェア ボードにターゲット モデルを展開します。ホスト モデルは、シリアル通信を使用してターゲット Simulink® モデルに指令を送り、閉ループ制御でモーターを駆動します。

必要なハードウェア

この例では、次のハードウェア構成をサポートしています。ターゲット モデルの名前を使用して、MATLAB® コマンド プロンプトから対応するハードウェア構成のモデルを開くこともできます。

上記のハードウェア構成に関連する接続については、LAUNCHXL-F28069M and LAUNCHXL-F28379D Configurationsを参照してください。

弱め界磁と MTPA を使用した速度とトルクの制御を実装するためのモデルの実行

1. 前のセクションに従って、モデルをシミュレートし、シミュレーション結果を解析します。

2. ハードウェアの接続を完了します。

3. トルク制御モデルには、QEP センサーをもつ埋込 PMSM が必要です。これは、速度制御 (速度制御モデルを使用) をもつ外部の動力計によって駆動されます。

4. ADC (または電流) のオフセット値がモデルで自動的に計算されます。この機能を無効にするには (既定では有効)、モデル初期化スクリプトで変数 inverter.ADCOffsetCalibEnable の値をゼロに更新します。

あるいは、ADC のオフセット値を計算し、モデル初期化スクリプトで値を手動で更新できます。手順については、開ループ制御での三相 AC モーターの駆動と ADC オフセットのキャリブレーションを参照してください。

5. 直交エンコーダーのインデックスのオフセット値を計算し、ターゲット モデルに関連付けられているモデル初期化スクリプトで値を更新します。手順については、Quadrature Encoder Offset Calibration for PMSMを参照してください。

6. 使用するハードウェア構成のターゲット モデルを開きます。ターゲット モデルの既定のハードウェア構成設定を変更する場合は、モデル コンフィギュレーション パラメーターを参照してください。

7. LAUNCHXL-F28379D の CPU2 にサンプル プログラムを読み込み、CPU2 が CPU1 用のボード周辺装置を使用するように誤って構成されていないことを確認します。たとえば、CPU2 の青色 LED を GPIO31 を使用して作動するプログラム (c28379D_cpu2_blink.slx) を読み込みます。サンプル プログラムまたはモデルの詳細については、Getting Started with Texas Instruments C2000 Microcontroller Blockset (C2000 Microcontroller Blockset)の「Task 2 - Create, Configure and Run the Model for TI Delfino F28379D LaunchPad (Dual Core)」セクションを参照してください。

8. [ハードウェア] タブの [ビルド、展開、起動] をクリックして、ハードウェアにターゲット モデルを展開します。

9. ターゲット モデルで host model のハイパーリンクをクリックして、関連付けられているホスト モデルを開きます。

ホストとターゲット モデルの間のシリアル通信の詳細については、Host-Target Communicationを参照してください。

10. ターゲット モデルに関連付けられているモデル初期化スクリプトで、変数 target.comport を使用して通信ポートを指定します。この例では、この変数を使用して、ホスト モデルで使用可能な Host Serial Setup、Host Serial Receive、および Host Serial Transmit の各ブロックの [Port] パラメーターを更新します。

11. 速度制御モデルで、Reference Speed (RPM) ブロックの値を更新します。トルク制御モデルで、Imag Reference ブロックを使用して電流要求を更新します。

12. [シミュレーション] タブの [実行] をクリックして、ホスト モデルを実行します。

13. モーターの始動と停止のスイッチをオンの位置に切り替えて、モーターの運転を開始します。

14. さまざまな指令速度 (または電流) を入力し、ホスト モデルの時間スコープで RX サブシステムからのデバッグ信号を観測します。

メモ:

  • この例では、位置のオフセットが正しくないとモーターの電流が過剰になることがあります。これを回避するには、ワークスペース変数 pmsm.PositionOffset で位置のオフセットが正しく計算されて更新されていることを確認してください。

  • モーターをベース速度を超えて動作させるときは、モーターの温度を監視することを推奨します。モーターの動作中にモーター温度が製造元の推奨温度を超える場合は、安全のためにモーターをオフにしてください。

  • モーターをベース速度を超えて動作させるときは、弱め界磁のダイナミクスで一部のシステムが不安定になる可能性を回避するために、速度指令を徐々に大きくすることを推奨します。

参考文献

[1] B. Bose, Modern Power Electronics and AC Drives. Prentice Hall, 2001. ISBN-0-13-016743-6.

[2] Lorenz, Robert D., Thomas Lipo, and Donald W. Novotny. "Motion control with induction motors." Proceedings of the IEEE, Vol. 82, Issue 8, August 1994, pp. 1215-1240.

[3] Morimoto, Shigeo, Masayuka Sanada, and Yoji Takeda. "Wide-speed operation of interior permanent magnet synchronous motors with high-performance current regulator." IEEE Transactions on Industry Applications, Vol. 30, Issue 4, July/August 1994, pp. 920-926.

[4] Li, Muyang. "Flux-Weakening Control for Permanent-Magnet Synchronous Motors Based on Z-Source Inverters." Master's Thesis, Marquette University, e-Publications@Marquette, Fall 2014.

[5] Briz, Fernando, Michael W. Degner, and Robert D. Lorenz. "Analysis and design of current regulators using complex vectors." IEEE Transactions on Industry Applications, Vol. 36, Issue 3, May/June 2000, pp. 817-825.

[6] Briz, Fernando, et al. "Current and flux regulation in field-weakening operation [of induction motors]." IEEE Transactions on Industry Applications, Vol. 37, Issue 1, Jan/Feb 2001, pp. 42-50.

[7] TI Application Note, "Sensorless-FOC With Flux-Weakening and MTPA for IPMSM Motor Drives."

参考