3.8 Controlling a 3-Phase Interleaved DC/DC Converter__控制三相交错DC/DC转换器_例子1:(未使用方向EPwm2Regs.TBCTL.bit.PHSDIR位)

例子1:(未使用方向EPwm2Regs.TBCTL.bit.PHSDIR位)

 

(1)三相相位滞后,使用TBPHS寄存器

 

图59显示了一种利用模块间相位偏移的常见电源拓扑。该系统使用三个脉宽调制模块,模块1配置为主模块。要工作,相邻模块之间的相位关系必须是F = 120。这是通过将从TBPHS寄存器2和3分别设置为周期值的1/3和2/3来实现的。例如,如果周期寄存器加载了600个计数,则TBPHS(从机2) = 200,TBPHS(从机3) = 400。两个从模块都与主模块1同步。通过适当设置待定参数值,这一概念可以扩展到四个或更多阶段。下面的公式给出了N相的待定参数值:

例子:

TBPHS(N,M) = (TBPRD/N) x (—1)
Where:
N = number of phases
M = PWM module number
For example,

for the 3-phase case (N=3), TBPRD = 600,
TBPHS(3,2) = (600/3) x (2-1) = 200 (i.e., Phase value for Slave module 2)
TBPHS(3,3) = 400 (i.e., Phase value for Slave module 3)

 

 

/*
 * 日期:2018-1-27
 * 功能:产生0度,120度,240度的PWM
 * 本例中,频率为1kHz,占空比为0.5,epwm1为主相位,2滞后120度,3滞后240度
 *
 */

 

 

(2)EPWM配置

void InitEPwm1Example() {
    EPwm1Regs.TBCTL.bit.CLKDIV = 0;    // CLKDIV = 1
    EPwm1Regs.TBCTL.bit.HSPCLKDIV = 1;    // HSPCLKDIV = 2
    EPwm1Regs.TBCTL.bit.CTRMODE = 2;    // 增减计数模式
    EPwm1Regs.AQCTLA.all = 0x0006;    // ePWM1A 计数值等于0,置高电平;ePWM1A计数值等于PRD,置低电平。
    EPwm1Regs.TBPRD = 37500;            // 1KHz PWM 信号

    EPwm1Regs.TBCTL.bit.SYNCOSEL = 1;    //    当CTR = 0时,同步输出

}

void InitEPwm2Example() {
    EPwm2Regs.TBCTL.bit.CLKDIV = 0;    // CLKDIV = 1
    EPwm2Regs.TBCTL.bit.HSPCLKDIV = 1;    // HSPCLKDIV = 1
    EPwm2Regs.TBCTL.bit.CTRMODE = 2;    // 增减计数模式
    EPwm2Regs.AQCTLA.all = 0x0006;    // ePWM2A 计数值等于0,置高电平;ePWM2A计数值等于PRD,置低电平。
    EPwm2Regs.TBPRD = 37500;            // 1KHz PWM 信号

    EPwm2Regs.TBCTL.bit.PHSEN = 1;            // 使能EPWM2相移
    EPwm2Regs.TBCTL.bit.SYNCOSEL = 0;        // 产生同步相位
    EPwm2Regs.TBPHS.half.TBPHS = 12500;        // 相移1/3,即120度
}

void InitEPwm3Example() {
    EPwm3Regs.TBCTL.bit.CLKDIV = 0;    // CLKDIV = 1
    EPwm3Regs.TBCTL.bit.HSPCLKDIV = 1;    // HSPCLKDIV = 1
    EPwm3Regs.TBCTL.bit.CTRMODE = 2;    // 增减计数模式
    EPwm3Regs.AQCTLA.all = 0x0006;    // ePWM3A 计数值等于0,置高电平;ePWM3A计数值等于PRD,置低电平。
    EPwm3Regs.TBPRD = 37500;            // 1KHz PWM 信号

    EPwm3Regs.TBCTL.bit.PHSEN = 1;            // 使能ePWM3相移
    EPwm3Regs.TBCTL.bit.SYNCOSEL = 0;        // 产生同步相位
    EPwm3Regs.TBPHS.half.TBPHS = 25000;        // 相移2/3,即240度
}

(3)生成的波形

 

1A超前2 1/3个周期,超前2/3个周期。

 

 

posted @ 2021-01-02 23:46  stringer123456789  阅读(465)  评论(0)    收藏  举报