JAJU510J March   2018  – February 2025 TMS320F28P550SG , TMS320F28P550SJ , TMS320F28P559SG-Q1 , TMS320F28P559SJ-Q1

 

  1.   1
  2.   概要
  3.   リソース
  4.   特長
  5.   アプリケーション
  6.   6
  7. 1システムの説明
    1. 1.1 主なシステム仕様
  8. 2システム概要
    1. 2.1 ブロック図
    2. 2.2 主な使用製品
      1. 2.2.1  UCC21710
      2. 2.2.2  UCC5350
      3. 2.2.3  TMS320F28379D
      4. 2.2.4  AMC3306M05
      5. 2.2.5  OPA4388
      6. 2.2.6  TMCS1123
      7. 2.2.7  AMC0330R
      8. 2.2.8  AMC0381D
      9. 2.2.9  UCC14341
      10. 2.2.10 UCC33421
    3. 2.3 システム設計理論
      1. 2.3.1 3 相 T タイプ インバータ
        1. 2.3.1.1 アーキテクチャの概要
        2. 2.3.1.2 LCL フィルタの設計
        3. 2.3.1.3 インダクタの設計
        4. 2.3.1.4 SiC MOSFET の選択
        5. 2.3.1.5 損失の推定
      2. 2.3.2 電圧検出
      3. 2.3.3 電流検出
      4. 2.3.4 システムの補助電源
      5. 2.3.5 ゲート ドライバ
        1. 2.3.5.1 1200V の SiC MOSFET
        2. 2.3.5.2 650V の SiC MOSFET
        3. 2.3.5.3 ゲート ドライバのバイアス電源
      6. 2.3.6 制御設計
        1. 2.3.6.1 電流ループの設計
        2. 2.3.6.2 PFC の DC バス電圧レギュレーション ループの設計
  9. 3ハードウェア、ソフトウェア、テスト要件、テスト結果
    1. 3.1 必要なハードウェアとソフトウェア
      1. 3.1.1 ハードウェア
        1. 3.1.1.1 必要なテスト ハードウェア
        2. 3.1.1.2 設計に使用されているマイクロコントローラ リソース (TMS320F28379D)
        3. 3.1.1.3 F28377D、F28379D 制御カードの設定
        4. 3.1.1.4 設計に使用されているマイクロコントローラ リソース (TMS320F280039C)
      2. 3.1.2 ソフトウェア
        1. 3.1.2.1 ファームウェアの概要
          1. 3.1.2.1.1 CCS プロジェクトを開く
          2. 3.1.2.1.2 デジタル電源 SDK のソフトウェア アーキテクチャ
          3. 3.1.2.1.3 割り込みとラボの構造
          4. 3.1.2.1.4 ファームウェアのビルド、ロード、デバッグ
          5. 3.1.2.1.5 CPU ローディング
        2. 3.1.2.2 保護方式
        3. 3.1.2.3 PWM スイッチング方式
        4. 3.1.2.4 ADC ローディング
    2. 3.2 テストと結果
      1. 3.2.1 ラボ 1
      2. 3.2.2 インバータ動作のテスト
        1. 3.2.2.1 ラボ 2
        2. 3.2.2.2 ラボ 3
        3. 3.2.2.3 ラボ 4
      3. 3.2.3 PFC 動作のテスト
        1. 3.2.3.1 ラボ 5
        2. 3.2.3.2 ラボ 6
        3. 3.2.3.3 ラボ 7
      4. 3.2.4 効率に関するテストのセットアップ
      5. 3.2.5 テスト結果
        1. 3.2.5.1 PFC モード
          1. 3.2.5.1.1 PFC スタートアップ - 230VRMS、400VL-L AC 電圧
          2. 3.2.5.1.2 定常状態の結果 - PFC モード
          3. 3.2.5.1.3 効率、THD、力率の結果 (60Hz) – PFCモード
          4. 3.2.5.1.4 ステップ負荷変動による過渡応答テスト
        2. 3.2.5.2 インバータ モード
  10. 4デザイン ファイル
    1. 4.1 回路図
    2. 4.2 部品表 (BOM)
    3. 4.3 PCB レイアウトに関する推奨事項
      1. 4.3.1 レイアウト プリント
    4. 4.4 Altium プロジェクト
    5. 4.5 ガーバー ファイル
    6. 4.6 アセンブリの図面
  11. 5商標
  12. 6著者について
  13. 7改訂履歴

テストと結果

このセクションのすべてのラボは、両方の制御カードで実行できます。ただし、TMS320F280039C 制御カードを使用する場合は、以下の点に注意してください。

  • GUI インターフェイスは使用できません。パラメータおよびラボを変更するには、user_settings.h ファイル内のパラメータを直接変更する必要があります。
  • SFRA は使用できません。
  • 空間ベクトル変調と、DC リンク コンデンサの中間点の制御を組み合わせることができます。送電網の中性点は、送電網から切断する必要があることに注意してください。次のユーザー設定パラメータを変更すると、2 つの新しい制御方式を動作させることができます。
    • #define TINV_THIRD_HARMONIC_INJECTION_STATUS TINV_THIRD_HARMONIC_INJECTION_ENABLE
    • #define TINV_MIDDLE_POINT_CONTROL_STATUS TINV_MIDDLE_POINT_CONTROL_ENABLE

以下のパラメータは E7 ハードウェアのテストに使用されており、main.syscfg または tinv_settings.h のいずれかで構成できます。E6 を使用する場合は、default main.syscfg 値をそのまま使用します。E7 パラメータは次のコードに示されています:

// Power Stage Settings
//
#define TINV_PWM_SWITCHING_FREQ_HZ ((float32_t)90*1000)
#define TINV_PWM_DEADBAND_US ((float32_t)0.15)
#define TINV_PWM_PERIOD_TICKS (TINV_PWMSYSCLOCK_FREQ_HZ / TINV_PWM_SWITCHING_FREQ_HZ)
#define TINV_PWM_DEADBAND_TICKS (int16_t)((float32_t)TINV_PWM_DEADBAND_US *    \
                                          (float32_t)TINV_PWMSYSCLOCK_FREQ_HZ *   \
                                          (float32_t)ONE_MICRO_SEC)

#define TINV_AC_FREQ_HZ ((float32_t)60)
#define TINV_VBUS_NOMINAL_VOLTS ((float32_t)800)
#define TINV_LI_INDUCTOR_VALUE  ((float32_t)0.13*0.001)
#define TINV_LG_INDUCTOR_VALUE  ((float32_t)0.01*0.001)
#define TINV_VGRID_MAX_SENSE_VOLTS ((float32_t)512.5)
#define TINV_VINV_MAX_SENSE_VOLTS TINV_VGRID_MAX_SENSE_VOLTS
#define TINV_VBUS_MAX_SENSE_VOLTS ((float32_t)1100)
#define TINV_IINV_MAX_SENSE_AMPS ((float32_t)33)
#define TINV_IINV_TRIP_LIMIT_AMPS ((float32_t)29)
#define TINV_IGRID_MAX_SENSE_AMPS ((float32_t)32)
#define TINV_IGRID_TRIP_LIMIT_AMPS ((float32_t)29)


//
// PI Controller Settings from Compensation Designer
//
#define TINV_GI_PI_KP ((float32_t)0.0996509341)
#define TINV_GI_PI_KI ((float32_t)0.0070057718)



#define TINV_GV_PI_KP ((float32_t) 1.9979056049)
#define TINV_GV_PI_KI ((float32_t) 0.0041887902)
注:

新しい E7 ハードウェアをサポートするには、C2000Ware_DigitalPower_SDK のソフトウェアの一部の変更が必要です。最初の変更は、セクション 3.1.1.2ですでに説明したように、ファン GPIO の変更です (便宜上、ここに表示)。2 つ目のソフトウェア変更は、最新のE7 が V_PCC と V_SN について非反転電圧検出を使用しているため、デフォルトの SDK ソフトウェアでの電圧検出極性が反転することです。

tinv_user_settings.h でファン GPIO を変更する場合:

//E6
//#define TINV_FAN_GPIO                      9
//#define TINV_FAN_GPIO_PIN_CONFIG           GPIO_9_GPIO9

//E7
#define TINV_FAN_GPIO                      18
#define TINV_FAN_GPIO_PIN_CONFIG           GPIO_18_GPIO18
注:

高電力テストの際には、デバッグ セッション中に CCS WATCH ウィンドウの TINV_fanSet 機能を使用して、ファンを有効にしてください。

tinv.hE7 電圧検出の極性変更には、以下を使用

    // Voltage sensing on the actual board is non-inverted hence a +2.0f needs to be multiplied as below
    TINV_vInv_A_sensed_pu = ((float32_t)TINV_VINV_A_READ *
                      TINV_ADC_PU_SCALE_FACTOR -
                      TINV_vInv_A_sensedOffset_pu) *  2.0f;

    TINV_vInv_B_sensed_pu = ((float32_t)TINV_VINV_B_READ *
                      TINV_ADC_PU_SCALE_FACTOR -
                      TINV_vInv_B_sensedOffset_pu) * 2.0f;

    TINV_vInv_C_sensed_pu = ((float32_t)TINV_VINV_C_READ *
                      TINV_ADC_PU_SCALE_FACTOR -
                      TINV_vInv_C_sensedOffset_pu) * 2.0f;

    TINV_vGrid_A_sensed_prev_pu = TINV_vGrid_A_sensed_pu;

    TINV_vGrid_A_sensed_pu = ((float32_t)TINV_VGRID_A_READ *
                       TINV_ADC_PU_SCALE_FACTOR -
                       TINV_vGrid_A_sensedOffset_pu ) * 2.0f;

    TINV_vGrid_B_sensed_pu = ((float32_t)TINV_VGRID_B_READ *
                       TINV_ADC_PU_SCALE_FACTOR -
                       TINV_vGrid_B_sensedOffset_pu ) * 2.0f;

    TINV_vGrid_C_sensed_pu = ((float32_t)TINV_VGRID_C_READ *
                       TINV_ADC_PU_SCALE_FACTOR -
                       TINV_vGrid_C_sensedOffset_pu ) * 2.0f;

E6 の電圧検出の場合、tinv.h から (デフォルトの SDK コードは許容可能):

    // Voltage sensing on the actual board is inverted hence a -2.0f needs to be multiplied as below
    TINV_vInv_A_sensed_pu = ((float32_t)TINV_VINV_A_READ *
                      TINV_ADC_PU_SCALE_FACTOR -
                      TINV_vInv_A_sensedOffset_pu) *  -2.0f;

    TINV_vInv_B_sensed_pu = ((float32_t)TINV_VINV_B_READ *
                      TINV_ADC_PU_SCALE_FACTOR -
                      TINV_vInv_B_sensedOffset_pu) * -2.0f;

    TINV_vInv_C_sensed_pu = ((float32_t)TINV_VINV_C_READ *
                      TINV_ADC_PU_SCALE_FACTOR -
                      TINV_vInv_C_sensedOffset_pu) * -2.0f;

    TINV_vGrid_A_sensed_prev_pu = TINV_vGrid_A_sensed_pu;

    TINV_vGrid_A_sensed_pu = ((float32_t)TINV_VGRID_A_READ *
                       TINV_ADC_PU_SCALE_FACTOR -
                       TINV_vGrid_A_sensedOffset_pu ) * -2.0f;

    TINV_vGrid_B_sensed_pu = ((float32_t)TINV_VGRID_B_READ *
                       TINV_ADC_PU_SCALE_FACTOR -
                       TINV_vGrid_B_sensedOffset_pu ) * -2.0f;

    TINV_vGrid_C_sensed_pu = ((float32_t)TINV_VGRID_C_READ *
                       TINV_ADC_PU_SCALE_FACTOR -
                       TINV_vGrid_C_sensedOffset_pu ) * -2.0f;
注:

E7 ハードウェアの場合、(プリチャージ後に) 3 相リレーをすべてオンにするには、CCS WATCH ウィンドウの TINV_neutralRelaySet 機能を使用します。TINV_allRelaySet は E6 ハードウェアにのみ使用してください。