メインコンテンツ

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

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

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

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

この例では、ホール センサーを使用してローターの位置を測定します。ホール効果センサーは、適用される磁場の強さに基づいて出力電圧を変えます。PMSM は電気的に 120 度ずつ離れた 3 つのホール センサーで構成されています。この設定の PMSM では、6 つの有効なバイナリ状態の組み合わせ (たとえば 001、010、011、100、101、110) を提供できます。センサーは 60 度の倍数で回転子の角度位置を提供し、コントローラーはそれを使用して角速度を計算します。その後、コントローラーは角速度を使用して回転子の正確な角度位置を計算できます。

必要なハードウェア

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

  • DRV8312-C2-KITボードのコネクタ J4 または LAUNCHXL-F280049C のコネクタ J12 に接続されたオプションの HALL センサーを備えた 3 相 PMSM。

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

利用可能なモデル

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

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

これらのモデルは、シミュレーションとコード生成の両方に使用できます。mcb_pmsm_foc_hall_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_hall_f28035 モデルを開きます。このモデルは、TI Piccolo F2803x ハードウェア用に構成されています。

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

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

メモ:

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

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

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

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

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

必要な MathWorks® 製品

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

モデルの場合: mcb_pmsm_foc_hall_f28035mcb_pmsm_foc_hall_f28335mcb_pmsm_foc_hall_f283049c

  • Motor Control Blockset™

  • Fixed-Point Designer™

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

モデルの場合: mcb_pmsm_foc_hall_f28035mcb_pmsm_foc_hall_f28335mcb_pmsm_foc_hall_f283049c

  • 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 モデルにコマンドを送信し、閉ループ制御でモーターを実行します。

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

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

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

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

4. ホール センサーのオフセット値を計算し、ターゲット モデルに関連付けられたモデル初期化スクリプトで更新します。手順については、Hall 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.ホスト モデルのタイム スコープで、シリアル通信からのデバッグ信号を観察します。デバッグ信号を使用して、SelectedSignals 内のさまざまなデバッグ信号を視覚化します。

詳細: