解析圖騰柱無橋PFC的狀態(tài)控制(基于DSP C2000)
解析圖騰柱無橋PFC的狀態(tài)控制(基于DSP C2000)
\\\插播一條:
自己在今年整理一套單片機單片機相關(guān)論文800余篇
論文制作思維導(dǎo)圖
原理圖+源代碼+開題報告+正文+外文資料
想要的同學(xué)私信找我。
圖騰柱無橋PFC控制邏輯遠復(fù)雜于Boost有橋PFC。
TTPLPFC在AC電壓不同相位,需要修正慢管邏輯、調(diào)制邏輯、抑制過零點畸變。有橋Boost PFC中,輸入電壓經(jīng)過二極管橋整流,不存在上述問題。
一、圖騰柱PFC狀態(tài)機設(shè)計
1、在數(shù)字控制的TTPLPFC的電源軟件中,ISR狀態(tài)機可按照電網(wǎng)相位,分為4大狀態(tài):
·PH:AC電壓正半周
·NH:AC電壓負半軸
·PZC:AC電壓正過零
·NZC:AC電壓負過零
2、ISR狀態(tài)機的四大狀態(tài)中,待處理的事件:
·慢管邏輯
·快管調(diào)制邏輯
·死區(qū)調(diào)節(jié)
·環(huán)路參數(shù)調(diào)節(jié)
·軟過零算法/抑制過零點畸變
3、狀態(tài)機狀態(tài)切換條件:
·SPLL提供的電網(wǎng)相位
·電網(wǎng)電壓采樣值
二、C2000(DSP)代碼解讀
以TIDA-010062《數(shù)字1kW高功率密度80plus鈦金交流/直流電源》前級圖騰柱沒橋PFC電源軟件代碼為例,狀態(tài)機示意圖如上圖所示。
ISR狀態(tài)機分為八個狀態(tài):
正半周+負半周+正過零3個狀態(tài)+負過零3個狀態(tài)。
狀態(tài)切換條件為:SPLL相位與電網(wǎng)電壓采樣值取“或”邏輯
狀態(tài)機實現(xiàn)采用“switch + case + default”架構(gòu),為了便于瀏覽,代碼構(gòu)建了union用于標(biāo)識狀態(tài)。
typedef union{
enum
{
pwmSwState_normalOperation = 0,
pwmSwState_positiveHalf = 1,
pwmSwState_negativeZeroCrossing1 = 2,
pwmSwState_negativeZeroCrossing2 = 3,
pwmSwState_negativeZeroCrossing3 = 4,
pwmSwState_negativeHalf = 5,
pwmSwState_positiveZeroCrossing1 = 6,
pwmSwState_positiveZeroCrossing2 = 7,
pwmSwState_positiveZeroCrossing3 = 8,
pwmSwState_defaultState = 9,
}enum_pwmSwState;
int32_t pad;}TTPLPFC_pwmSwState;
狀態(tài)機實現(xiàn)如下,每個狀態(tài)處理對應(yīng)的事情。
switch(TTPLPFC_pwm_SwState.enum_pwmSwState)
{
/*First state after B2 Tasks initialization*/
【文章福利】:小編整理了一些個人覺得比較好的學(xué)習(xí)書籍、視頻資料共享在群文件里面,有需要的可以自行添加哦!~點擊綠色通訊軟件搜索wujidanpianji加入(需要自?。?/span>
casepwmSwState_normalOperation:
--過零啟動相關(guān)程序
break;
/*Positive half state*/
casepwmSwState_positiveHalf:
--慢管驅(qū)動信號(ePWM.AQ控制)。
--死區(qū)控制(ePWM.DB)。
--控制參數(shù)(DCL庫參數(shù))。
break;
/*NZC state1:*/
casepwmSwState_negativeZeroCrossing1:
--快管封鎖(ePWM.DB,用死區(qū)模塊封鎖快管,方便實現(xiàn)軟過零算法)
--慢管封鎖(ePWM.AQ)。
break;
/*NZC state2:*/
casepwmSwState_negativeZeroCrossing2:
--duty重置。
--軟過零狀態(tài)標(biāo)志重置。
--調(diào)制管更換(ePWM.DB[SWAP])。
break;
/*NZC state3:*/
casepwmSwState_negativeZeroCrossing3:
--軟過零(softtransition)算法。(TTPLPFC一大痛點解決方案)
--死區(qū)調(diào)節(jié)(ePWM.DB)。
--控制環(huán)路參數(shù)重置。
break;
/*Negative half state*/
casepwmSwState_negativeHalf:
--慢管驅(qū)動信號(ePWM.AQ控制)。
--死區(qū)控制(ePWM.DB)。
break;
/*PZC state1:*/
casepwmSwState_positiveZeroCrossing1:
--快管封鎖(ePWM.DB,用死區(qū)模塊封鎖快管,方便實現(xiàn)軟過零算法)
--慢管封鎖(ePWM.AQ)。
break;
/*PZC state2:*/
casepwmSwState_positiveZeroCrossing2:
duty重置。
--軟過零狀態(tài)標(biāo)志重置。
--調(diào)制管更換(ePWM.DB[SWAP])。
break;
/*PZC state3:*/
casepwmSwState_positiveZeroCrossing3:
--軟過零(softtransition)算法。(TTPLPFC一大痛點解決方案)
--死區(qū)調(diào)節(jié)(ePWM.DB)。
--控制環(huán)路參數(shù)重置。
break;
/*Protect state: OCP OVP*/
casepwmSwState_defaultState:
--異常狀態(tài)、保護狀態(tài)。
break;
default:
TTPLPFC_pwm_SwState.enum_pwmSwState=pwmSwState_defaultState;
}
三、總結(jié)
建議大家閱讀對應(yīng)的代碼,加深理解。
之后的文章中會更新:
·TTPLPFC功率因數(shù)補償方法
·TTPLPFC過零點畸變抑制
·電流環(huán)與電壓環(huán)設(shè)計
·基于DSP(C2000)主動EMI技術(shù)
·軟開關(guān)PFC技術(shù):谷底開關(guān)/擴展ZVS