本發(fā)明涉及汽車電池領(lǐng)域,尤其是涉及一種用于純電動汽車的電池容量主動估計方法。
背景技術(shù):
在電動汽車上高壓電氣部件有許多,如高壓電池包,高壓分線盒,電機控制器,空調(diào)控制器,dc/dc,充電器等。動力電池是最關(guān)鍵的部件之一,動力電池的性能通常隨使用程度和使用和存儲時間增加而變?nèi)?。這種變?nèi)跤袃煞N表現(xiàn)形式:電池容量變化(變小),和充放電功率能力在同樣的儲電程度和溫度下變化(變小)。行業(yè)上,對于電池容量,一般損失20%以上即表明電池不再具有足夠的容量。
如果不能有效而精確的估計電池容量的變化,勢必影響電池soc(stateofcharge)計算的精確度,進而導致影響sop(stateofpower)計算的精確度。soc和sop的不精確會導致電池使用不當,導致電池壽命縮短,并可能導致行車和充電安全。
行業(yè)上已有的決定鋰電池容量的方法大致有兩個:第一,將電池容量當作一個變量,與soc,及其它模型參數(shù)一起學習。這個辦法的缺點是,電池容量的可觀測性及其低,因此,和其它電池模型參數(shù)相比,在一個給定的循環(huán)中,電池容量是幾乎定常的,和其它快速變化參數(shù)一起學習意義不大;第二,通過soc的定義,通過和電流積分獨立的方法(比如,電池離線足夠長時間后ocv讀數(shù)再推到soc),得到容量值,并適當?shù)奶幚?濾波),得到最終的容量值。
用第二種方法實現(xiàn)的算法已經(jīng)有一些。比如,美國專利us8751086通過對兩個soc的精確估計(通過ocv),并將電流,溫度,電流總量考慮到算法中,實現(xiàn)了插電式混合動力汽車電池容量計算。由于其對ocv獲取有比較苛刻的要求,可能在實際應用中,不能及時的學習電池容量。
目前已有的基于第二種方法的容量計算,沒有考慮到純電動汽車有其特殊的特點:純電動汽車必須在使用一段時間后充電,因而現(xiàn)有的計算方法,在獲取第二個ocv時會受漏電,電流平衡等的影響,進而降低容量計算的精度。更進一步,連續(xù)獲得電池包穩(wěn)態(tài)值的可能性比較小,因此,必須想辦法在非理想的(也就是說,電池沒有達到熱平衡和電平衡,進而得到soc估計值)情況下,得到所需要的學習電芯容量的相關(guān)數(shù)據(jù)。
技術(shù)實現(xiàn)要素:
本發(fā)明的目的是針對上述問題提供一種用于純電動汽車的電池容量主動估計方法。
本發(fā)明的目的可以通過以下技術(shù)方案來實現(xiàn):
一種用于純電動汽車的電池容量主動估計方法,用于對純電動汽車的電池容量進行周期性主動估計,所述方法包括下列步驟:
1)判斷是否到達純電動汽車的電池容量周期性估計時間,若是則進入步驟2),若否則返回步驟1);
2)判斷是否可以準確獲取電池的第一soc值,若是則通過讀取第一ocv值和當前溫度得到第一soc值并進入步驟3),若否則放棄估計;
3)計算純電動汽車在運行狀態(tài)下的總電流積分值;
4)根據(jù)純電動汽車的電池離線時間判斷是否可以估計第二soc值,若是則估計第二soc值并進入步驟5),若否則放棄估計;
5)根據(jù)步驟2)得到的第一soc值、步驟3)得到的總電流積分值和步驟4)得到的第二soc值進行計算,得到純電動汽車的電池容量估計值。
所述步驟4)具體為:
41)判斷純電動汽車的電池離線時間是否達到第一閾值,若是則直接讀取電池端口電壓,結(jié)合電池的電芯溫度得到第二soc值,若否則進入步驟42);
42)判斷純電動汽車的電池離線時間是否達到第二閾值,若是則通過估計計算得到第二soc值,若否則進入步驟43);
43)判斷純電動汽車是否通過慢充充電的方式進入非離線狀態(tài),若是則進入步驟44),若否則放棄估計;
44)在慢充充電的時間達到第一閾值時,通過小電流充電計算得到第二soc值。
所述通過估計計算得到第二soc值具體為:
421)讀取電池離線時間、電池初始電壓和電池后續(xù)電壓;
422)根據(jù)步驟421)讀取的結(jié)果,得到電池的第二ocv值與電池初始電壓、電池后續(xù)電壓和電池離線時間的關(guān)系式;
423)通過最小二乘法對步驟422)中的關(guān)系式進行求解,得到電池的第二ocv值;
424)根據(jù)電池的第二ocv值與電池當前的溫度,得到電池的第二soc值。
所述通過估計計算得到第二soc值還包括:重復步驟421)至423),得到不少于用戶要求的組數(shù)的電池的第二ocv值,計算所有電池的第二ocv值的投影平均作為最終結(jié)果,進入步驟424)。
所述通過小電流充電計算得到第二soc值具體為:
441)讀取當前的電池電壓和溫度;
442)根據(jù)當前的電池電壓和溫度,得到電池的第三ocv值;
443)根據(jù)soc-ocv的關(guān)系曲線,得到與第三ocv值對應的第三soc值;
444)根據(jù)步驟443)得到的第三soc值,結(jié)合慢充充電的電流值,計算得到第二soc值,具體為:
其中,soc2為第二soc值,soc3為第三soc值,ismall為慢充充電的電流值,tcal1為慢充充電的時間,η為電池充放電效率,qold為歷史估計結(jié)果。
總電流積分值具體為:
其中,currint為總電流積分值,η為電池充放電效率,tend為純電動汽車的運行時間。
所述步驟5)具體為:
51)根據(jù)步驟2)得到的第一soc值、步驟3)得到的總電流積分值和步驟4)得到的第二soc值進行計算,得到當前估計容量qlearned;
52)根據(jù)電池的估計時間,計算當前容量濾波系數(shù)alphanew;
53)根據(jù)步驟51)得到的當前估計容量qlearned和步驟52)得到的當前容量濾波系數(shù)alphanew,通過計算得到純電動汽車的電池容量估計值。
所述當前估計容量qlearned具體為:
其中,currint為總電流積分值,soc1為第一soc值,soc2為第二soc值。
所述當前容量濾波系數(shù)alphanew具體為:
其中,alpha為標定濾波系數(shù),t為電池實際壽命時鐘,t1為標定估計時間,tc為實際估計時間。
所述純電動汽車的電池容量估計值具體為:
q=qold×alphanew+(1-alphanew)×qlearned
其中,qold為歷史估計結(jié)果。
與現(xiàn)有技術(shù)相比,本發(fā)明具有以下有益效果:
(1)在獲取第一soc值和第二soc值的過程中,充分考慮了電池由于充電而帶來的離線時間的長短問題,避免了漏電或電流平衡等帶來的影響,因而得到的第一soc值和第二soc值的結(jié)果更為精確,繼而也提高了最終容量估計的準確程度,精確度高。
(2)在估計第二soc值的過程中,首先考慮了電池的離線時間,對離線時間足夠長的電池直接通過讀取端口電壓得到第二soc值,避免了繁瑣的估計過程,對離線時間達到要求或離線時間不達要求但通過慢充充電的電池,通過估計計算或小電流充電計算得到第二soc值,盡可能的對電池的第二soc值進行估計,從而完成容量估計,只有對離線時間不達要求且充電方式也不達要求的電池才放棄學習,使得估計過程盡可能的完整和可行,降低了電池容量估計的門檻,更適用于實際使用。
(3)對于慢充充電的電池,仍通過估計計算得到第二soc值,既考慮到了常見的通過外界充電樁進行充電的電動汽車,也考慮到了利用家用充電樁進行慢充充電的汽車,適用范圍廣
(4)利用最小二乘法計算電池的第二ocv值,繼而得到電池的第二soc值,這種計算方法更加準確,提高了最終的容量估計精度。
(5)在計算第二soc值的過程中,還包括多次計算第二ocv值求取投影平均值來作為第二soc值的計算基礎(chǔ),進一步提高了容量估計精度。
(6)在進行容量估計的過程中,引入容量濾波系數(shù),該容量濾波系數(shù)是根據(jù)電池的實際估計時間來進行計算的,因此將容量估計與估計時間進行匹配,更加符合實際情況,精確程度高。
(7)該估計方法由于通過讀取ocv值來得到電池的soc值,因而該方法可以跟蹤每個電池單元的容量變化,實用性能強。
附圖說明
圖1為本發(fā)明的方法流程圖;
圖2為本實施例中的電路圖。
具體實施方式
下面結(jié)合附圖和具體實施例對本發(fā)明進行詳細說明。本實施例以本發(fā)明技術(shù)方案為前提進行實施,給出了詳細的實施方式和具體的操作過程,但本發(fā)明的保護范圍不限于下述的實施例。
如圖1所示為本發(fā)明提供的一種用于純電動汽車的電池容量主動估計方法,用于對純電動汽車的電池容量進行周期性主動估計,該方法包括下列步驟:
1)判斷是否到達純電動汽車的電池容量周期性估計時間,若是則進入步驟2),若否則返回步驟1);
2)判斷是否可以準確獲取電池的第一soc值,若是則獲取第一soc值并進入步驟3),若否則放棄估計;
3)計算純電動汽車在運行狀態(tài)下的總電流積分值:
其中,currint為總電流積分值,η為電池充放電效率,tend為純電動汽車的運行時間
對于電池充放電效率η,在放電時記為1,在充電時則為電池溫度的函數(shù);
4)根據(jù)純電動汽車的電池離線時間判斷是否可以估計第二soc值,若是則估計第二soc值并進入步驟5),若否則放棄估計:
41)判斷純電動汽車的電池離線時間是否達到第一閾值,若是則直接讀取電池端口電壓,結(jié)合電池的電芯溫度得到第二soc值,若否則進入步驟42);
42)判斷純電動汽車的電池離線時間是否達到第二閾值,若是則通過估計計算得到第二soc值,若否則進入步驟43),通過估計計算得到第二soc值具體為:
421)讀取電池離線時間、電池初始電壓和電池后續(xù)電壓;
422)根據(jù)步驟421)讀取的結(jié)果,得到電池的第二ocv值與電池初始電壓、電池后續(xù)電壓和電池離線時間的關(guān)系式;
423)通過最小二乘法對步驟422)中的關(guān)系式進行求解,得到電池的第二ocv值;
通過估計計算得到第二soc值還包括:重復步驟421)至423),得到不少于用戶要求的組數(shù)的電池的第二ocv值,計算所有電池的第二ocv值的投影平均作為最終結(jié)果,進入步驟424);
424)根據(jù)電池的第二ocv值與電池當前的溫度,得到電池的第二soc值;
43)判斷純電動汽車是否通過慢充充電的方式進入非離線狀態(tài),若是則進入步驟44),若否則放棄估計;
44)在慢充充電的時間達到第一閾值時,通過小電流充電計算得到第二soc值:
441)讀取當前的電池電壓和溫度;
442)根據(jù)當前的電池電壓和溫度,得到電池的第三ocv值;
443)根據(jù)soc-ocv的關(guān)系曲線,得到與第三ocv值對應的第三soc值;
444)根據(jù)步驟443)得到的第三soc值,結(jié)合慢充充電的電流值,計算得到第二soc值,具體為:
其中,soc2為第二soc值,soc3為第三soc值,ismall為慢充充電的電流值,tcal1為慢充充電的時間,η為電池充放電效率,qold為歷史估計結(jié)果;
5)根據(jù)步驟2)得到的第一soc值、步驟3)得到的總電流積分值和步驟4)得到的第二soc值進行計算,得到純電動汽車的電池容量估計值:
51)根據(jù)步驟2)得到的第一soc值、步驟3)得到的總電流積分值和步驟4)得到的第二soc值進行計算,得到當前估計容量qlearned:
其中,currint為總電流積分值,soc1為第一soc值,soc2為第二soc值;
52)根據(jù)電池的估計時間,計算當前容量濾波系數(shù)alphanew:
其中,alpha為標定濾波系數(shù),t為電池實際壽命時鐘,t1為標定估計時間,tc為實際估計時間;
53)根據(jù)步驟51)得到的當前估計容量qlearned和步驟52)得到的當前容量濾波系數(shù)alphanew,通過計算得到純電動汽車的電池容量估計值:
q=qold×alphanew+(1-alphanew)×qlearned
其中,qold為歷史估計結(jié)果。
根據(jù)上述步驟,將電池以一個二階電路表示,如圖2所示,進行一次完整的電池容量估計,其中,所有模型參數(shù)r0,r1,c1,r2,c2,都是已知的電池溫度函數(shù),電池soc是電池平衡時的開路電壓的非線性單調(diào)增長函數(shù),則估計過程過程如下:
a:依據(jù)日歷,決定是不是需要學習容量。
在其它因素對等的情況下,鋰電池容量變化遵循逆根號時間關(guān)系,也就是說,使用的時間越長,對應的容量將會是初始容量除以時間的根號。
根據(jù)以上特點,我們在bms軟件設計時,首先標定一個最小容量學習時間段。bms全局時鐘決定是不是需要學習容量值。
在上述方法中日歷時間決定了什么時候必須學習容量,以及學習濾波系數(shù),作為一個另類方法,可以用放電量來代替日歷時間。唯一需要改變的是在濾波系數(shù)計算時,不再需要開方。
b:決定第一soc值
一旦全局時鐘觸發(fā)了容量學習,第一件事就是通過電池包斷電時間,在keyon時,讀取每個電池單元的ocv值。這些ocv值決定了每個電池單元的第一soc值。如果電池包斷電時間過短,不能獲取這些第一soc值,那么放棄本輪容量學習,即如果第一個soc不能可靠獲取,等待下一次,這次不學了。
c:決定電流積分
在車輛運行時,把總電流積分,考慮充電效率(在能量再生時)。這個值將用于容量計算。
d:keyoff,等待keyon或充電觸發(fā)
純電動車的特點是充電必不可少。因此,一旦keyoff,可以隨時檢測電池包離線時間。
如果在keyon/充電開始時,這個離線時間足夠判斷第二個soc,那么可以到第g步。如果離線時間不足以判斷第二soc值,那么,需要考慮不同的喚醒方式。如果是keyon,那么可以看看是不是離線時間足以估計最終的soc值,并得到所需要的第二個soc。如果離線時間不足以估計最終得soc值,那么放棄本輪容量學習,并清除相關(guān)的變量,等待下一次學習,即進入步驟f。如果是充電喚醒,那么可以看看是不是離線時間足以估計最終的soc值,并得到所需要的第二個soc,即進入步驟e。如果離線時間不足以估計最終的soc值,如果是慢充,選擇用小電流充電的方法,以達到獲取第二個soc值得目的。
e:不同充電方式–家用充電樁,慢充
如果充電是家用充電樁,那么,用小電流(比如,5a)開始定常充電,充電時間可以是對應電池電芯離線后能夠獲取電池平衡狀態(tài)soc的時間。(這和溫度有關(guān))
f:不同充電方式-其它
放棄本輪容量學習,并清除相關(guān)的變量,等待下一次學習。
g:獲取第二soc
不論哪種情況,一旦電池包離線時間超過最小獲取電池包離線后獲取有效ocv的時間,且沒有充電電流,第二soc將可以比較精確獲取。
g_1:電芯離線時間容許soc直接從端口電壓獲取
這是個已知的辦法。通常是讀取一組端口電壓值,并獲得rms值,依據(jù)電芯溫度,倒推出soc值。
g_2:keyon/充電喚醒,且離線時間容許估計最終得soc值
具體過程為:
第一步:獲取keyoff時間(n個采樣周期,n×ts),初始電壓v(i,1),以及后續(xù)電壓:v(i,1),v(i,2),…,v(i,m)
第二步:列出方程:
第三步:用最小二乘法獲取ocv:
用最小二乘法可以得到ocv。這是需要估計的ocv值。通過ocv,和溫度(假定和現(xiàn)在讀數(shù)一致),可以得到soc值。
第五步:如果要更進一步的精度,上述步驟可以重復計算并將得到的ocv投影平均。
g_3:keyon喚醒或其它充電喚醒,且離線時間不容許估計最終的soc值,如前所述,本輪學習停止,等待下一次。
g_4:家用慢充充電機喚醒,且離線時間不容許估計最終的soc值,用小電流ismall充電一定時間,獲取soc2,由于電流ismall很小,時間也不長,用過去的容量計算這個小的soc變化帶來的誤差可以忽略不計。
h:計算本次容量
一旦第一,第二soc決定,并且電流積分已獲取,那么可以通過定義,獲得本次容量q_learned。
i:容量濾波
在bms開發(fā)時,會確定一個濾波系數(shù)。這個系數(shù)將隨每次容量學習間隔而調(diào)整:
濾波系數(shù)計算
考慮標定容量學習時間是t1,實際間隔是tc,電池包實際壽命時鐘是t,那么,實際使用的濾波系數(shù)是:
alpha_new=alpha*(sqrt(t+t1)/sqrt(t+tc))
注:使用時間的平方根的意義是,有研究表明電池容量時間上衰減是和時間平方根的逆成正比。alpha_new<=1(如果大于1,那么設為1),alpha本身是個標定值,比如,0.95。
容量計算:
q=q_old*alpha_new+(1-alpha_new)*q_learned
數(shù)據(jù)存儲:
一旦學習結(jié)束,bms將把容量,學習時間(更新到現(xiàn)在的全局時鐘)存儲到eeprom中。