BMS狀態轉換及上電策略

2021-08-09 05:09:07 字數 2793 閱讀 3675

電池管理系統的功能主要可以分為檢測(電壓、電流、溫度、絕緣、hvil等物理狀態)、評估(soc、soh、sop等電池狀態)、控制(接觸器、熱管理元件、均衡模組等)、診斷標定(故障查詢、snapshot讀取、fbl、ccp等)、互動(vcu、charger、hmi等)等幾大部分。之前討論了關於bse相關的內容,本篇從上電控制邏輯展開討論。

畫了一組有較好通用性的bms執行狀態轉化圖。最開始kl.30使能後bms進入sleep模式,當kl.15使能則bms被喚醒進行初始化。在standby中進行自檢和執行任務的判斷,根據判斷結果進入相應的執行任務。當任務執行完畢後進入offduty進行任務退出確認後回到standby模式,當檢測到kl.15丟失後,則進入shutdown模式執行資料的儲存和校驗,最後再自行切斷powerlock回到sleep模式。通常整車廠會對kl.15使能到bms發出第一幀報文,或是進入standby狀態的時間有明確的時間要求(通常不超過500ms,甚至是300ms)。因此bms被喚醒後首先需要執行powerlock,然後盡快使能lecu並完成自檢。

上圖所畫的bms執行狀態轉化方式能比較好的相容絕大多數車輛應用場景,具體應用過程中可根據實際情況進行相應的裁剪。當bms進入drive模式後,筆者也將後續的處理內容分為五個部分:

drive_check:在該狀態中bms進行動力電池系統是否滿足行駛條件的判斷,如soc是否大於設定值、hvil是否正常、連續預充電次數等。同時在此還可以進行上電時序有效性的診斷,比如bms未上報ready前若收到vcu的上高壓指令,則可立即觸發時序異常進入epo。

drive_ready:在該狀態中bms進行車輛是否滿足行駛條件的判斷,如判斷vcu故障狀態、vcu高壓使能請求指令等。

precharge:在該狀態中執行預充電上電過程。

driving:在該狀態中判斷當前是否滿足繼續行駛的條件,包括vcu指令、bms故障狀態、soc值等。

drive_stop:進入該狀態後執行高壓下電操作,並退出drive模式。

通過上述五部分的劃分可以實現模組化的控制策略模型,針對具體專案的情況在各個模組中新增策略內容即可。在充電模式中也可以利用這五部分模組進行劃分,在此不作重複。

下面重點來談談precharge中的上電時序問題。首先bms進行接觸器供電診斷,確保正常。然後進行預充電接觸器粘連檢測,確認正常後吸合預充接觸器,再進行吸合確認。再進行總負接觸器粘連檢測,確認正常後吸合總負接觸器,再進行吸合確認。此時電池系統正在執行預充電過程,bms等待設定時間後判斷母線總壓是否達到電池總壓的90%,且收到vcu的預充電成功指令,若兩者同時滿足則預充電完成。再吸合總正接觸器,等待設定的時間後斷開預充接觸器並在此確認總正連線狀態。

當然若要實現上述策略需要用相應的總壓檢測方式配合。通過比較va、vb、vc三點的電壓變化從而實現對接觸器粘連的診斷和連線成功的確認。

同時bms關於判斷時間和等待時間的標定需要參考所選接觸器的特性進行設定。

下圖是pdu中總正、總負、預充電、慢充、快充五個接觸器以及電流感測器、預充電電阻的整合模組。

最後來談談預充電電阻該如何去選型。

首先在選型前需要確認動力電池系統的總壓和負責電容值作為輸入。預充電時間計算公式: t = rc * ln[(vb - v0)/( vb - vt)]。vb為電池總壓,v0為負載電容初始電壓,vt為預充電成功判斷電壓。以母線電壓達到電池總壓90%為完成預充電的條件,則預充電時間 t = rc * ln10。通常上電過程不超過1000ms,考慮到接觸器動作的響應時間,預充電過程一般需要控制在500ms。

以標稱電壓為320v的電池系統,負載電容為4400uf的案例進行舉例。

首先計算適宜的預充電電阻阻值:r = t / (c * ln10 ) = 49.35 (ω)

接下去需要考慮電阻功率特性,峰值功率p = u^2 / r = 2178(w),

以及預充電過程產熱,w = 1/2 * c * u^2 = 225 (j)。

由此可以得到wdbr3型號的產品較為符合應用的需求,並對多次連續預充電有比較好的冗餘能力。 同時在bms軟體設計上也需要結合產熱和散熱情況對連續執行的預充電進行相應的限制,這也是上面提到在drive_check模式中需要判斷的條件之一。

程序狀態及轉換

對程序可以執行有很多種狀態,可以建立和銷毀,也可以更改優先權,程序狀態是程序某時某刻所處的模式或條件。程序的狀態也決定了將來的事件以及可能進入的狀態。其中 準備執行的程序處於就緒狀態。如果某個程序因為等待某個資源或者事件的傳送而不能執行,則進入阻塞狀態。就緒和阻塞狀態是最常見的程序狀態之一。只有位於...

程序的狀態及轉換

目錄 引起程序狀態轉換的具體原因如下 執行態 阻塞態 等待使用資源 如等待外設傳輸 等待人工干預。阻塞態 就緒態 資源得到滿足 如外設傳輸結束 人工干預完成。執行態 就緒態 執行時間片到 出現有更高優先權程序。就緒態 執行態 cpu 空閒時選擇乙個就緒程序。五態模型在三態模型的基礎上增加了建立態 n...

FPGA上電後IO的預設狀態

在進行fpga硬體設計時,引腳分配是非常重要的乙個環節,特別是在硬體電路上需要與其他晶元通行的引腳。xilinx fpga從上電之後到正常工作整個過程中各個階段引腳的狀態,會對硬體設計 引腳分配產生非常重要的影響。這篇專題就針對fpga從上電開始 配置程式,到正常工作整個過程中所有io的狀態進行分析...