基于89C51單片機的開關電源優(yōu)化設計
本軟件主要完成對信號采樣,各種數(shù)據(jù)處理、以及對功率轉換部分的控制等。本系統(tǒng)軟件主要包括鍵開關掃描程序、故障判別子程序、均充及浮充子程序、中斷檢測子程序和通信子程序等。主程序流程圖如圖4所示。
圖4 主程序流程圖
在初始化過程中,先是將89C51各個輸入端口復位,然后從EEROM中讀出上次關機前存入的數(shù)據(jù),控制開關電路,并進行顯示。初始化完成后,開中斷程序。若有中斷請求則響應,否則進行數(shù)據(jù)采樣并讀取給定值,然后進行數(shù)據(jù)處理;若有短路或過流情況發(fā)生,則調用報警保護子程序;若要對電池浮一定的動態(tài)性,能在一定程度上反映出電池內部的變化及SoC的大小,但該方法在推導過程中是假設電流是時變的,若電池在一個較長時間段內恒流放電,則會大大降低SoC預測的準確性。基于狀態(tài)空間的動態(tài)模型以反應物的動態(tài)變化建立模型,以測量的電流和電壓作為輸入量計算SoC,同時考慮了活性物質的擴散現(xiàn)象,以此提高SoC的精度,是一種較好的方法;但由于電池模型階數(shù)較高,計算比較困難,模型的建立需要確定相當多的經驗參數(shù),給應用帶來較大麻煩。
基于能量模型的SoC定義修正了原來 SoC模型的不足,考慮到電池的可恢復性,綜合了電流、電壓、電阻判斷,在一定程度上提高了SoC的判斷精度,但它沒考慮溫度的影響,需要大量試驗數(shù)據(jù)。由于電池是密封的,所以外部可測參數(shù)只有電流和電壓,采用Randels Ershler電池模型對電池建模,并通過精確的安時積分估算SoC,同時進行容量老化補償、溫度補償、自放電補償及放電率補償,也不失為一種可行的方法。
上述方法能夠在一定程度上反映剩余電量的多少,適用于電動車用電池SoC的預測,但是這些模型參數(shù)確定需要許多反復的迭代步驟,并且重要的是,這些算法必須知道電池的SoC初值。因為要實時計算顯示SoC的值,這是需要時間的。模型越復雜,計算SoC所需時間也越多。 SoC的預測方法很多,但要達到較高的精度,在電池建模及SoC預測方法方面還有大量的工作可做。
評論