新聞中心

EEPW首頁(yè) > 電源與新能源 > 設(shè)計(jì)應(yīng)用 > 數(shù)字電源控制器 UCD3138 的 Single Frame 和前饋功能說(shuō)明

數(shù)字電源控制器 UCD3138 的 Single Frame 和前饋功能說(shuō)明

作者: 時(shí)間:2012-11-20 來(lái)源:網(wǎng)絡(luò) 收藏

圖 4:輸出最終與環(huán)路輸出相乘

本文引用地址:http://butianyuan.cn/article/175998.htm

2.2 的實(shí)現(xiàn)

的硬件設(shè)計(jì)主要包含了輸入電壓的檢測(cè)電路,在第一章曾有描述,在此不再贅述。軟件設(shè)計(jì)主要包含了Vref(DAC)值的配置、Kc 的配置和前饋的啟用設(shè)置。

1)Vref(DAC)值的配置

如下函數(shù)實(shí)現(xiàn)了根據(jù)v_input_error 的大小對(duì)Vref(DAC)值的更新。v_input_error 為當(dāng)前采集的輸入電壓與前一次采集到的輸入電壓的差值。該函數(shù)包含在一個(gè)狀態(tài)機(jī)中,100us 執(zhí)行一次,將連續(xù)執(zhí)行300 次,以保證在使能前饋功能之前Vref(DAC)近似等于當(dāng)前輸入電壓。

if(v_input_error > 10)

{

if(FeCtrl2Regs.EADCDAC.bit.DAC_VALUE > 3000) //can not lower than 35V;

{FeCtrl2Regs.EADCDAC.bit.DAC_VALUE = FeCtrl2Regs.EADCDAC.bit.DAC_VALUE - 1;}

}

else if(v_input_error -10)

{

if(FeCtrl2Regs.EADCDAC.bit.DAC_VALUE 14000) //can not higher than 80V;

{FeCtrl2Regs.EADCDAC.bit.DAC_VALUE = FeCtrl2Regs.EADCDAC.bit.DAC_VALUE + 1; }

}

如果誤差很小,即輸入電壓已經(jīng)穩(wěn)定,則系統(tǒng)軟件準(zhǔn)備開(kāi)啟前饋功能并隨后進(jìn)入正常運(yùn)行的狀態(tài)機(jī)。

if ( abs(v_input_error) 10) //Vin error is small

{

supply_state = STATE_REGULATED;

Filter0Regs.FILTERCTRL.bit.OUTPUT_MULT_SEL =2;//Enable Feed Forward

}

2)Kc 值的配置

在輸入電壓穩(wěn)定的情況下,如果Kc 直接配置到0.5 到0.7 的某個(gè)值,則此時(shí)啟用前饋功能會(huì)影響正常環(huán)路的輸出,造成輸出電壓出現(xiàn)跌落。如下圖5 所示。

圖 5:Kc 啟用不當(dāng)造成輸出有跌落

圖 5:Kc 啟用不當(dāng)造成輸出有跌落

跌落的原因是因?yàn)榇藭r(shí)環(huán)路的正常輸出被突然乘以Gain=Kc=0.5~0.7,所以占空比會(huì)立即被限制,輸出電壓出現(xiàn)跌落。直到環(huán)路經(jīng)過(guò)多個(gè)周期后再將占空比展開(kāi)到正常大小,輸出電壓才恢復(fù)到正常值。

因此,在實(shí)際應(yīng)用中需要將Kc 由1 慢慢減小到需求的值(在本文涉及的硬全橋軟件中選擇Kc 為0.7)。另,在實(shí)際設(shè)計(jì)中使用Filter2 實(shí)現(xiàn)非線性增益和Kc 的設(shè)置,因此軟件配置如下。

Uint32 filter2_kc;

int filter2_kc_step = 0x200;

inline void handle_regulated_state(void)

{

filter2_kc = Filter2Regs.FILTERPRESET.bit.PRESET_VALUE;// It is Kc

if(Filter2Regs.FILTERPRESET.bit.PRESET_VALUE > 0x5A0000)

{

Filter2Regs.FILTERPRESET.bit.PRESET_VALUE = filter2_kc - filter2_kc_step;

Filter2Regs.FILTERPRESET.bit.PRESET_EN = 1;

}

}

其中,handle_regulated_state 為軟件狀態(tài)機(jī)中的一個(gè)狀態(tài),每100us 執(zhí)行一次。通過(guò)這樣一個(gè)循環(huán)函數(shù)就可以保證Kc 是以步進(jìn)的形式由1 配置到0.7(0x5A0000/0x7FFFFF=0.7),防止了輸出電壓出現(xiàn)跌落。

3)前饋功能的啟用

經(jīng)過(guò)上述完善的預(yù)先配置后,可以啟用前饋功能,啟用后KC 從1 慢慢開(kāi)始減小。啟動(dòng)的設(shè)置是通過(guò)下面代碼實(shí)現(xiàn)的。“OUTPUT_MULT_SEL”位用來(lái)選擇與環(huán)路輸出相乘的值,以決定最后的占空比。當(dāng)設(shè)置為2時(shí),將選擇前饋的輸出與環(huán)路輸出相乘,即啟動(dòng)了前饋。

Filter0Regs.FILTERCTRL.bit.OUTPUT_MULT_SEL =2;


上一頁(yè) 1 2 下一頁(yè)

評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉