主题中讨论的其他器件:TMS320F280039、
工具与软件:
您好!
我开发 PSFB 直流/直流转换器、
我使用参考设计 TIDM-02000并使用 TMS320F280039 MCU。
当直流/直流转换器开启时、主传输 出现第1个电流峰值电流。
MCU 计算出的 I 命令值不会改变、并保持接近0的值。
主变速器。 第1个电流增加、但 PWM 栅极不关断并保持导通状态。
我想知道为什么。 如果有任何需要检查的内容、请告诉我。

谢谢!
此致、
金相模
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
工具与软件:
您好!
我开发 PSFB 直流/直流转换器、
我使用参考设计 TIDM-02000并使用 TMS320F280039 MCU。
当直流/直流转换器开启时、主传输 出现第1个电流峰值电流。
MCU 计算出的 I 命令值不会改变、并保持接近0的值。
主变速器。 第1个电流增加、但 PWM 栅极不关断并保持导通状态。
我想知道为什么。 如果有任何需要检查的内容、请告诉我。

谢谢!
此致、
金相模
Sangmo、
在 PSFB TIDM-02000中、内部电流环路基于硬件(基于比较器的峰值电流模式控制)。 最初、超前桥臂的 PWM 为180度相移至滞后桥臂(与您共享的示波器波形中所示相同)。 在这种情况下、没有功率传输。 当检测到的电流与命令的电流不同时、通过使用 ePWM 的逐周期跳闸来调整相位、从而调整初级侧的电流、从而减小误差。 这种类型的跳闸在每个开关周期都会复位。
我想建议几个调试步骤、
1.您能否对电流检测电路进行交叉检查、以确保电流信号正确调节并进入 CMP/ADC 输入端? 您可以移除分流器并使用直流电源或函数发生器对此进行测试。
2.内部比较器跳闸连接到 ePWM 跳闸输入端?
3.请确保负载至少设置为满载较高负载的25%、以便能够正确感应到电流信号。
4.确保将消隐窗口设置为适当的值、以便不会因为开关瞬态而出现错误的逐周期跳闸。
请告诉我这些补救措施是否有效。
此致、
Sumit
您好、Sumit。
然后我检查了电流感应信号。 这是正常的。 请查看下面的 CH2和 CH3。

2.是的、我知道 内部比较器跳闸连接到 ePWM 跳闸输入端。
请检查代码。
void PSFB_HAL_initCmpssPCMC (void)
{
//
//启用 CMPSS 并配置要来自的负输入信号
// DAC
//
CMPSS_enableModule (PSFB_PCMC_OCP_CMPSS_BASE);// CMPSS1启用
CMPSS_CONFIGHighComparator (PSFB_PCMC_OCP_CMPSS_BASE、//高电平比较器(PCMC)
CMPSS_INSRC_DAC);// DAC value:internal DAC
//
//对 OCP 使用 DACL 并配置要来自的负输入信号
// DAC
//
CMPSS_CONFIGLowComparator (PSFB_PCMC_OCP_CMPSS_BASE、// CMPSS 低电平比较器(OCP)
CMPSS_INSRC_DAC);// DAC value:internal DAC
//
//在28004x 上、CMPSS 上有一个额外的 MUX、
//在 analogesysctrl 中配置
//选择来自 A2/B6/PGA1_OF (IHV_FB)的 CMPSSH 正输入
//选择 CMPSSL 的正输入来自 A2/B6/PGA1_OF (IHV_FB)
//
ASysCtl_selectCMPHPMux (PSFB_PCMC_OCP_CMPSS_ASYSCTRL_CMPHPMUX、// HP:正高电平、LP:正低电平
PSFB_PCMC_OCP_CMPSS_ASYSCTRL_MUX_VALUE);// ASYS 输出?
ASysCtl_selectCMPLPMUX (PSFB_PCMC_OCP_CMPSS_ASYSCTRL_CMPLPMUX、
PSFB_PCMC_OCP_CMPSS_ASYSCTRL_MUX_VALUE);
//
//使用 VDDA 作为 DAC 的基准、并将 DAC 值设置为
//
CMPSS_CONFIGDAC (PSFB_PCMC_OCP_CMPSS_BASE、CMPSS_DACREF_VDDA |// DAC 值-> CMPss 负输入
CMPSS_DACVAL_PWMSYNC | CMPSS_DACSRC_RAMP);
EALLOW;
//
//将 PWMSYNC 设置为来自 ADC_OVERSAMPLE_PWM_BASE
//
HWREGH (PSFB_PCMC_OCP_CMPSS_BASE + CMPSS_O_COMPDACCTL)=
(HWREGH (PSFB_PCMC_OCP_CMPSS_BASE + CMPSS_O_COMPDACCTL)&
~(CMPSS_COMPDACCTL_RAMPSOURCE_M)|(8);// 230227 8=>ePWM5、4:ePWM3
EDIS;
CMPSS_setRampDecValue (PSFB_PCMC_OCP_CMPSS_BASE、PSFB_SLOPE_INITIALIZE);
//
// DAC 初始化
//
CMPSS_setMaxRampValue (PSFB_PCMC_OCP_CMPSS_BASE、PSFB_PCMC_DAC_INIT);
CMPSS_setDACValueLow (PSFB_PCMC_OCP_CMPSS_BASE、PSFB_OCP_DAC_INIT);// Low Cmpss:IHV_FB OCP 初始设置。 3584/4096
CMPSS_configFilterLow (PSFB_PCMC_OCP_CMPSS_BASE、PSFB_OCP_SAMPLE_PRESCALE、
PSFB_OCP_SAMPLE_WINDOW、PSFB_OCP_THRESHOLD);//数字滤波器10 SAMPLE >= 7
CMPSS_configFilterHigh (PSFB_PCMC_OCP_CMPSS_BASE、0、
4、4);//数字滤波器10样本>= 7
//
//初始化数字滤波器
//
CMPSS_initFilterHigh (PSFB_PCMC_OCP_CMPSS_BASE);
CMPSS_initFilterLow (PSFB_PCMC_OCP_CMPSS_BASE);
//
//配置输出信号。 CTRIPH 和 CTRIPOUTH 都将由提供
//异步比较器输出。
//
// CMPSS_configOutputsHigh (PSFB_PCMC_OCP_CMPSS_BASE、
// CMPSS_TRIP_ASYNC_COMP | CMPSS_TRIPOUT_ASYNC_COMP);
CMPSS_configOutputsHigh (PSFB_PCMC_OCP_CMPSS_BASE、
CMPSS_TRIP_FILTER | CMPSS_TRIPOUT_FILTER);
CMPSS_configOutputsLow (PSFB_PCMC_OCP_CMPSS_BASE、
CMPSS_TRIP_FILTER | CMPSS_TRIPOUT_FILTER);
//
//清除锁存的比较器事件
//
CMPSS_clearFilterLatchHigh (PSFB_PCMC_OCP_CMPSS_BASE);
CMPSS_clearFilterLatchLow (PSFB_PCMC_OCP_CMPSS_BASE);
}
3、我不理解这个评论。
这是指、如果我想感测10A 电流、必须设置最大电流刻度40A?
4.使用直流/直流开关频率55kHz、设置消隐窗口100ns。
您能谈谈如何将 消隐窗口设置 为适当的值吗?
我还有一个问题。
我启用下图下的 PWM 功能。
如果直流/直流转换器开启、请先启用 PWM 端口、而非强制 PWM 跳闸清除。

启用 PWM 功能时、异常 PWM 输出。
您可以看到红框熔断波形。
我想知道为什么在 PWM 功能启用期间 PWM2低侧栅极输出。
请检查。

我可以避免在 PWM 功能启用期间出现 PWM 输出异常、从而更改 PWM 功能启用的序列。


谢谢!
金相模
Sangmo、
也有类似的 e2e 讨论了有关所面临确切问题的调试步骤。 您可以按照 https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1465785/tidm-02000-query-regarding-slope-compensation-in-3kw-dc-dc-converter-design-based-on-tidm-02000中相同的步骤操作吗
此致、
Sumit