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