準(zhǔn)備做一個(gè)pfc,看了一下microchip的例程,采用平均電流法,控制結(jié)構(gòu)如下:
最后電流環(huán)PI出來(lái)之后的程序看不明白了:下式中VacQ15:交流電壓輸入采樣、CurrentPIoutput:電流環(huán)輸出。
FeedForwardTerm =( __builtin_mulss( (32767 - VacQ15) , DCMFactor) >> 15) ;
FinalOutput_long = (long)FeedForwardTerm + (long)CurrentPIoutput;
if(FinalOutput_long > 32767)
FinalOutput_long = 32767;
else if(FinalOutput_long < 0)
FinalOutput_long = 0;
FinalOutput = (int) FinalOutput_long;
// Bring it in range of PWM Period
BoostDuty = ( (__builtin_mulss(FinalOutput,PWMPERIOD)) >> 15);
按道理應(yīng)該是D = 1 - (Vac-VL)/Vdc得到占空比,現(xiàn)在從最后一段程序推出來(lái)的是 (1-Vac)*DCMfactor+電流環(huán)輸出
請(qǐng)教大家,改程序如何實(shí)現(xiàn)占空比調(diào)制的?