Other Parts Discussed in Thread: POWERSUITE
Dear Manish,
Hello,
I made a totem-pole PFC based on TIDA-01604.
My converter consists of one phase, not 3-phase(TIDA-01604). but I used the same component(four SiC Switch). It also is controlled by 28379D.
Input Voltage : 220VRMS
Output Voltage: 400VDC
Switching Frequency: 100kHz
Inductance: 500uH
Power Factor in the experiment: almost 0.99
Power: almost 400[w]
According to TI Design GUIDE, I completed the overall build level and so my converter is working on Build Level 3.
1.
However, although I used the same code in powersuite TIDA-01604, current spike always happens like the above figure.
So I tried to revise the below existing code. but I couldn't solve this problem.
Are there any solutions related to this problem?
case pwmSwState_negativeZeroCrossing3 :
// wait till certain positive threshold before moving to the normal operation
softstart_duty= softstart_duty+1;
softStartDeadBandFED=PFC_PWM_PERIOD - softstart_duty*50;
if(softStartDeadBandFED<dbFED_SetValue )
{
softStartDeadBandFED=dbFED_SetValue;
}
SET_PWM_DBFED(HIGH_FREQ_PWM1_BASE, softStartDeadBandFED );
state_slew++;
if(state_slew > state_slew_max && ac_sign_filtered ==0 )
{
gi.i10=0;
gi.i6=1;
gi.Ki=GI_PI_KI;
gi.Umax=GI_PI_MAX;
gi.Umin=GI_PI_MIN;
gi_out=0;
pwm_SwState.enum_pwmSwState=pwmSwState_negativeHalf;
SET_PWM_DBFED(HIGH_FREQ_PWM1_BASE, dbFED_SetValue);
state_slew=0;
}
break;
case pwmSwState_positiveZeroCrossing3 :
state_slew++;
softstart_duty= softstart_duty+1;
softStartDeadBandFED=PFC_PWM_PERIOD - softstart_duty*50;
if(softStartDeadBandFED<dbFED_SetValue )
{
softStartDeadBandFED=dbFED_SetValue;
}
SET_PWM_DBFED(HIGH_FREQ_PWM1_BASE, softStartDeadBandFED );
if(state_slew > state_slew_max && ac_sign_filtered==1)
{
gi.i10=0;
gi.i6=1;
gi_out=0;
gi.Ki=GI_PI_KI;
pwm_SwState.enum_pwmSwState=pwmSwState_positiveHalf;
SET_PWM_DBFED(HIGH_FREQ_PWM1_BASE, dbFED_SetValue);
state_slew=0;
}
break;
2. In state machine, I am curious about dutyPU=0.004f. Why this value is used in several case statements?
Thank you.