ZHCU458J 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 三相 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 直流母线电压调节环路设计
  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 Digital Power 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 交流电压
          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 物料清单
    3. 4.3 PCB 布局建议
      1. 4.3.1 布局图
    4. 4.4 Altium 工程
    5. 4.5 Gerber 文件
    6. 4.6 装配图
  11. 5商标
  12. 6关于作者
  13. 7修订历史记录

测试和结果

本节中的所有实验都可以使用两个控制卡进行。但是,在使用 TMS320F280039C 控制卡时,请考虑以下注意事项:

  • 无法使用 GUI 界面。要更改参数和操作实验,必须直接更改 user_settings.h 文件中的参数。
  • 无法使用 SFRA。
  • 可以使用空间矢量调制以及直流链路电容器的中点控制。请注意,电网的中性点必须与电网断开。通过更改以下用户设置参数,可采用两种新的控制技术:
    • #define TINV_THIRD_HARMONIC_INJECTION_STATUS TINV_THIRD_HARMONIC_INJECTION_ENABLE
    • #define TINV_MIDDLE_POINT_CONTROL_STATUS TINV_MIDDLE_POINT_CONTROL_ENABLE

以下参数用于测试 E7 硬件,可使用 main.syscfgtinv_settings.h 进行配置。使用 E6 时,保留默认的 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)
注:

需要对 C2000Ware_DigitalPower_SDK 软件进行一些更改,才能支持新的 E7 硬件。第一项更改是风扇 GPIO 更改,如 节 3.1.1.2 之前所述(为方便起见,在此处显示)。第二项软件更改是在默认 SDK 软件中反转电压检测极性,因为最新的 E7 对 V_PCC 和 V_SN 采用非反相电压检测。

对于 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 观察窗口中的 TINV_fanSet 函数以大功率测试时启用风扇。

使用以下步骤,tinv.h 中更改 E7 电压感测极性:

    // 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;

对于 tinv.h 中的 E6 电压检测(默认 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 硬件,要打开所有三相继电器(预充电后),应使用 CCS 监视窗口中的 TINV_NeuthalRelaySet 函数。只对 E6 硬件使用 TINV_allRelaySet