開關電源功率因數校正的DSP實現
式中:ω是濾波頻率的角速度;
Q值按不同的要求確定。
離散化可以由Matlab的sysd=c2d(sys,Ts)方程方便地實現。圖3所示的就是所設計濾波器的Matlab模擬圖,其中ω=628,Q=20。
圖3 數字陷波器的Matlab模擬
4 DSP實現
我們采用TI公司的16位芯片TMS320LF2407A來實施控制方案。這款芯片專門用于數字控制的2000系列,采用哈佛結構的CPU和4級流水性操作的程序控制,運行速度是40MIPS(即25ns的指令周期)。它具有544字節的DARAM,2k的SARAM,32k的FLASH,2個事件管理單元,16路10bit、轉換時間500ns的A/D轉換,最多16路的PWM輸出等片內資源。
對電流回路和電壓回路,我們分別采取20kHz和10kHz的控制頻率。兩個中斷程序被用來完成PFC的數字控制,中斷程序int2負責3個輸入的采樣及電流回路的PI控制,另一個中斷程序int3負責電壓回路的PI控制及陷波濾波。圖4是主程序控制流程圖,圖5是采樣周期圖。其中int2的中斷優先級高于int3,所以若int3沒完成,而int2中斷發生時,int3將懸掛直到int2中斷程序運行結束才繼續運行。因為電壓回路的變化比較緩慢,所以一個周期的延時不會影響控制效果。設置比較控制寄存器,在T1下溢的時候寫入新的比較值,結合通用定時器周期寄存器T1PR的值,產生新的占空比的PWM波,控制與之相連的開關管的動作。從圖5中我們也可以注意到,int2的中斷程序(包括3個采樣和一個PI程序)必須在半個電流采樣周期,即25μs之內完成。根據前面給出的DSP的性能指標,這個目標完全可以達到。
圖4 主程序流程圖
圖5 采樣周期圖
另外,在實際應用中,采用的是積分分離的PI算法,把PI的輸出值限定在一定的范圍之內,避免使系統產生很大的超調量而引起系統振蕩。還加入了軟啟動程序,在程序剛開始的時候逐步加大Vref的值,從而達到開關電源的軟啟動要求。
因為像Kp,Ki及濾波器系數等這些參數都是浮點數,而所用的是16位的芯片,所以用DSP實現以上算法,還需要解決浮點數和定點數之間相互轉換的問題。可以用不同的Qn值來表達不同范圍和精度的浮點數,其中n表示16位中小數點之后的位數。例如,Q0可表示-32768到32767的整數,而Q15可表達-1到0.9999695之間精度為1/32768的實數[2]。不同的Qn值之間需要經過移位,轉換為相同的位數才能進行比較和加減運算。
5 實驗結果
程序編譯通過后,燒入片內flash,外加簡單的外圍電路,就可以進行實驗驗證了。我們采用的是Boost電路的拓撲結構,接電阻負載,輸入電壓220V,輸出電壓385V,得到的輸入電壓電流波形如圖6所示。用功率表測得PFC電路的輸入功率為545W,輸出功率為513W,可以計算出PFC電路變換效率為94.1%。在相同測試條件下,用功率因數表測得的PFC電路的功率因數為0.983。圖7所示的是軟啟過程。
圖6 BOOSTPFC電路輸入電壓電流圖
圖7 軟啟動波形圖
6 結語
本文探討了開關電源功率因數調整的全數字實現方案,實驗證明了該方案的可行性。目前,對開關整流器件采用DSP控制的研究開展的還不多,主要是由于相對于專用的集成芯片DSP的價格比較高昂,而且成熟的控制算法難以獲得。然而,隨著DSP芯片價格的不斷降低和控制算法的研究不斷深入,相信開關整流器件數字控制的時代很快就會到來。
評論