メインコンテンツ

このページは機械翻訳を使用して翻訳されました。元の英語を参照するには、ここをクリックします。

C2000 プロセッサを使用した直交エンコーダ付き PMSM のフィールド指向制御

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

閉ループ FOC アルゴリズムを使用して三相 PMSM の速度とトルクが制御されます。この例では、C2000™ Microcontroller Blockset の C28xペリフェラル ブロックと Motor Control Blockset ™ の MCB ライブラリ ブロックを使用します。

この例では、直交エンコーダ センサーを使用してローターの位置を測定します。直交エンコーダ センサーは、電気的に 90 度位相がずれてコード化された 2 つのトラックまたはチャネルを持つディスクで構成されています。これにより、位相差が 90 度の 2 つのパルス (A と B) とインデックス パルス (I) が作成されます。したがって、コントローラは、Aチャネルと B チャネル間の位相関係とチャネル状態の遷移を使用して、モーターの回転方向を決定します。

必要なハードウェア

この例では、次のハードウェア構成がサポートされています。MATLAB ® コマンド プロンプトから、対象モデル名 (太字で強調表示) を使用して、対応するハードウェア構成のモデルを開きます。

  • オプションの QEP センサーを DRV8312-C2-KIT インバータボードのコネクタ J4 または LAUNCHXL-F280049C のコネクタ J12 に接続した 3 相 PMSM。

上記のハードウェア構成に関連する接続については、Hardware Connections を参照してください。

利用可能なモデル

例には次のモデルが含まれます。

メモ: F28069M コントロール カード、LAUNCHXL-F28069M コントローラ、および LAUNCHXL-F28379D コントローラについては、直交エンコーダーを使用した PMSM のベクトル制御 (Motor Control Blockset) を参照してください。

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

特定のモーターに適合させるためにモデルパラメーターを変更する必要がある場合があります。モーターの電圧と電力特性をコントローラーと一致させます。モーターは従来型の電圧源インバーターで駆動されます。コントローラ アルゴリズムは、6 つの電力スイッチング デバイスに対してベクトル PWM 技術を使用して 6 つのパルス幅変調(PWM) 信号を生成します。インバータは、2 つのアナログ - デジタル コンバータ (ADC) を使用して 2 つのモーター入力電流 (ia と ib) を測定し、その測定値をプロセッサに送信します。

周辺装置ブロックの構成

このモデルのペリフェラル ブロック構成を設定します。ブロックをダブルクリックして、ブロックパラメーター構成を開きます。この例を他のハードウェアボードで実行する場合には、同じパラメーター値を使用できます。

  • ePWMブロックの構成

  • ADCブロックの構成

この例のアルゴリズムでは、非同期スケジューリングを使用します。パルス幅変調 (PWM) ブロックによって ADC 変換がトリガーされます。end of conversion 時に、 ADC はメインの FOC アルゴリズムをトリガーする割り込みを発行します。詳細については、ADC Interrupt Based Scheduling を参照してください。

モデルの構成

1. mcb_pmsm_foc_qep_f28035 モデルを開きます。このモデルは、TI Piccolo F2803x ハードウェア用に構成されています。

2. 他の TI C2000 プロセッサでモデルを実行するには、まず Ctrl+E を押して [構成パラメーター]ダイアログ ボックスを開きます。次に、[ハードウェア実行][ハードウェア ボード] に移動して、必要なハードウェア ボードを選択します。

3. 次のスクリーンショットは、モデルで実行されたスケジューラ構成を示しています。この例を他のハードウェアボードで実行する場合には、同じパラメーター値を使用できます。

メモ:

  • ADCブロックのサンプリング レートは、 ePWMブロックの PWM 周期によって決定されるモデルの基本レートと同じである必要があります。

  • ベース レート トリガーの選択は、 ADCモジュールによってトリガーされる割り込みと同じである必要があります。詳細については、「 Texas Instruments C2000™ プロセッサのモデル構成パラメーター」を参照してください。

  • デフォルトのパラメーター動作 (構成パラメーター> コード生成> 最適化) が インライン に設定されていることを確認します。

4. ボーレートが 1.5e6 ビット/秒に設定されていることを確認します。

必要なMathWorks®製品

モデルをシミュレートするには:

モデル: mcb_pmsm_foc_qep_f28035mcb_pmsm_foc_qep_f28335mcb_pmsm_foc_qep_f280049C

  • Motor Control Blockset™

  • Fixed-Point Designer™

コードを生成してモデルをデプロイするには:

モデル: mcb_pmsm_foc_qep_f28035mcb_pmsm_foc_qep_f28335mcb_pmsm_foc_qep_f280049C

  • Motor Control Blockset™

  • Embedded Coder®

  • C2000™ Microcontroller Blockset

  • Fixed-Point Designer™

前提条件

  • モーター パラメーターをデータシートまたは他のソースから取得する場合は、Simulink® モデルに関連付けられたモデル初期化スクリプトでモーターのパラメーターとインバーターのパラメーターを更新します。手順については、Estimate Control Gains and Use Utility Functions (Motor Control Blockset)を参照してください。

モデルのシミュレーション

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

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

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

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

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

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

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

メモ: F28335 プロセッサの場合、シリアル通信には外部 FTDI を使用する必要があります。

1. ターゲット モデルをシミュレートし、シミュレーション結果を確認します。

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

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

あるいは、ADC のオフセット値を計算し、モデル初期化スクリプトで値を手動で更新できます。手順については、Open-Loop Control of 3-Phase AC Motors Using C2000 Processorsを参照してください。

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

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

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

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

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

8. mcb_pmsm_foc_host_model モデル内の次のブロックのパラメーターPort を、ホスト コンピュータの COM ポートと一致するように設定します。

  • mcb_pmsm_foc_host_model > ホストシリアルセットアップ。

  • mcb_pmsm_foc_host_model > シリアル通信> ホストシリアル受信。

  • mcb_pmsm_foc_host_model > シリアル通信> SCI_TX > ホストシリアル送信。

9. ホスト モデルで指令速度の値を更新します。

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

11.モータースイッチの位置を「開始」に変更して、モーターの動作を開始します。

12.ホスト モデルのタイム スコープで、シリアル通信ブロックからのデバッグ信号を観察します。

詳細: