前言:在之前的研究中,我更多是按硬件的思想來對TCM PFC控制進行分析。比如說,在交錯同步的相位管理中,我更多的是依靠主路的ZCD信號來刷新的開關周期,然后再繼續低通濾波器或者說DSP的片上捕獲單元ECAP模式來對主路PWM進行計數,然后得到主路的PWM周期,再將主路的周期一半的地方寫入到從相的滯后角度寄存器里面,從相的周期和滯后時候都依靠捕獲單元來進行控制。早期研究內容:
最近與一些前輩們交流,逐漸讓我感悟到其實方法還是很多的,不一定就想需要用捕獲ECAP來做。問題的核心觀點是:TCM/CRM PFC的周期是在變化的,而且依靠ZCD信號來確認開關周期。那么在程序運行中,我們事先是并不能知道開關周期的長度,所以在對從相的頻率和相位管理的時候,就很難搞。至少之前我沒有想到好方法(畢竟能力有限)
因此,我提出這種思考,在CRM/CCM中,DON和DOFF的占空比和伏妙必然會達到平衡。該算式為:Don = 1.0 -fabsf(Vac)/Vpfc。我們在使用COT的控制方法對TCM PFC控制時,電壓外環的輸出就是TON,因此組合Don和環路計算的Ton,可以直接計算出當前輸入/輸出電壓情況下,TON對應在CRM/CCM模式下的開關周期長度。下面是COT控制的PFC的外環,引入了電壓電壓RMS做前饋。
在DSP的實現中,可以把VLOOP直接與PWM的周期計數器比較得到TON時間。在這種工作模式的設計下,不難不做滿足CRM工作下的開關周期計算值。Tsw = Vloop /(1.0f - Fabsf(Vac)/Vpfc_out)。
剩下的關鍵是如何考慮TCM工作模式做需添加的額外續流開關的導通時間。在《Characterization and Application of Wide-Band-Gap Devices for High Frequency Power Conversion, Zhengyang Liu》論文中大佬直接根據TCM的幾個工作變量:VIN/VOUT/LF/Coss整理出了能實現ZVS工作的額外的續流時間計算公式:
該公式能自動的根據VAC的電壓來計算出SR的額外導通時間,在AC電壓低于VOUT/2的區域,計算值為0,就是不增加補償時間。可見:
實現為:把VLOOP計算出的理論開關周期加上TCM實現ZVS的額外增加時間。
理論情況下,我們基于VLOOP得到的TON時間,VIN/VOUT等情況,可以直接計算出滿足當前工作模式的ZVS所需的開關周期了。但是實際上并不能達到這么理想的情況來工作,因此開關周期的控制仍然需要電感電流ZCD 信號采樣。至少主路PWM依然需要電流ZCD或者說電流過零點采樣。主路的周期計數器使用外部產生的電感電流ZCD來重置,或是依據上述公式所計算得到的周期長度,二者可以使用OR邏輯來對主路開關周期進行控制和管理。
(CH1 TSW/ CH2 T_tcm_sr/ CH3 VLOOP) 因此,在軟件中我們就可以實現獲得主路工作的PWM周期長度,即可根據所需的交錯相位來在中斷函數中直接分配相位角度(例如TBPHS = 0.333f * TSW_tcm)。從而快速而簡單的實現從路的周期和相位管理。下圖是三路交錯的周期計數器的輸出:
功率:
控制:
運行:
VAC低于0.5*VOUT工作在CRM:
CRM區域:
TCM區域:
輸入電壓跳變:
小結:將占空比和伏秒公式計算出當前情況下的周期長度,然后根據TCM公式計算出額外所需的增加時間,將二者組合后,得出滿足TCM情況工作的開關周期長度,從而在程序中提前獲悉功率的周期長度,輕松的實現相位管理。關鍵字:TCM_TSW_1201參考發波: