黃志華
(安徽芯核防務(wù)裝備技術(shù)股份有限公司,安徽合肥,230000)
新能源汽車火災(zāi)事故頻發(fā),其安全性受到了廣泛質(zhì)疑。熱失控是電池安全研究中的關(guān)鍵科學(xué)問題,已經(jīng)成為鋰離子電池在電動汽車大規(guī)模應(yīng)用的主要障礙[1]。相關(guān)法規(guī)文件提出了對電池安全監(jiān)控的要求,如國家質(zhì)量監(jiān)督檢驗檢疫總局和國家標準化管理委員會發(fā)布的GB7258-2017《機動車運行安全技術(shù)條件》規(guī)定:“車長大于等于6米的純電動客車、插電式混合動力客車,應(yīng)能監(jiān)測動力電池工作狀態(tài)并在發(fā)現(xiàn)異常情形時報警”[2]。應(yīng)急管理部《CCCF/XFJJ-01電動客車鋰離子動力電池箱火災(zāi)防控裝置通用技術(shù)要求》明確要求車輛停車3日內(nèi),火災(zāi)防控裝置應(yīng)能正常工作。本系統(tǒng)設(shè)計的火災(zāi)報警控制器由備用電池、電源管理模塊、控制模塊、聲光報警模塊、滅火啟動模塊等組成。軟件采用μC/OS-II系統(tǒng),按照事件的緊急情況對事件進行優(yōu)先級劃分,實現(xiàn)了火災(zāi)聲光報警、數(shù)據(jù)存儲、CAN通信、休眠、喚醒、手動/自動啟動等功能。
火災(zāi)報警控制器包括多個硬件模塊:主控芯片,電源管理模塊,聲光報警控制模塊,CAN通信模塊,存儲模塊,液位檢測模塊,滅火啟動模塊等。主控芯片負責(zé)所有數(shù)據(jù)處理,控制策略執(zhí)行。電源模塊UPS負責(zé)主備電切換,備用電源充放電管理,寬電壓輸入轉(zhuǎn)化等。聲光報警模塊負責(zé)報警和故障信號的聲光提示,CAN模塊負責(zé)控制器和整車的協(xié)議交互,存儲模塊負責(zé)所有傳感器信號記錄,液位檢測模塊負責(zé)滅火器泄露檢測,滅火啟動模塊負責(zé)輸出電流信號,驅(qū)動滅火器開啟。系統(tǒng)硬件原理框圖如圖1所示。
圖1 系統(tǒng)硬件框圖
(1)主控芯片。主控芯片采用STM32F105RBT6,基于ARM Cortex-M內(nèi)核,屬于STM32互聯(lián)型產(chǎn)品,具有高性能、低成本、低功耗特點。具備兩路CAN通信,支持CAN2.0B協(xié)議,支持SPI和SDIO兩種讀寫SD卡模式。
(2)電源管理模塊。電源管理模塊在整車上電時使用主電對系統(tǒng)供電,整車斷電后,使用備用電池供電;在備用電池電壓不足時,通過報警開關(guān)發(fā)出綠燈閃爍信號,且當整車供電時自動對備用電池充電。主控芯片I/O口檢測到整車電壓信號ACC低電平時控制器進入低功耗休眠模式,檢測到高電平時上升沿中斷自動喚醒系統(tǒng)。ACC檢測電路如圖2所示。
圖2 ACC檢測電路
(3)聲光報警控制模塊。有3路高電平輸出和1路輸入檢測。發(fā)生數(shù)據(jù)存儲、通信、傳感器等硬件故障時,可通過I/O控制報警開關(guān)黃色指示燈閃爍;備用電池欠壓時,可控制綠色指示燈閃爍;發(fā)生火情時,根據(jù)探測器發(fā)送的報警等級高低可分別控制紅色指示燈和蜂鳴器的報警頻率。報警狀態(tài)下按下報警開關(guān),主控芯片將通過高功率MOS管驅(qū)動滅火器啟動,滅火劑通過管路進入電池箱實現(xiàn)滅火;休眠狀態(tài)下按下報警開關(guān),I/O上升沿中斷可將系統(tǒng)喚醒。
(4)CAN通信模塊。兩路CAN通信,其中CAN2連接整車,采用高速CAN隔離收發(fā)器CTM1042KATCAN模塊,2500V電氣隔離;為了抑制共模干擾信號,增加了共模信號抑制電路,共模濾波器采用TDK的ACT45B-510。為了防止靜電干擾,在CAN_H和CAN_L上分別設(shè)置了二極管SMBJ40CA,如圖3所示。CAN模塊支持CAN2.0A/B,防止高靜電、高浪涌,具有更高的可靠性。CAN1屬于系統(tǒng)內(nèi)部使用CAN,CAN收發(fā)器采用恩智浦高速CAN收發(fā)器TJA1044T芯片,可通過其第8腳S腳設(shè)置低功耗模式和總線喚醒功能。通過CAN總線連接各個電池箱火災(zāi)探測器,接收預(yù)警信息,故障信息。
圖3 CAN2通信電路
(5)滅火啟動模塊。為了防止滅火器在復(fù)雜車載的電磁環(huán)境下誤啟動,滅火啟動采用雙MOS驅(qū)動電路設(shè)計。由P型MOS管DMP6023LSS和N型MOS管DMT6016LSS和外圍電路組成,如圖4所示。當需要啟動滅火器時,需要主控芯片兩路I/O口分別對FC+和FC-輸出高電平信號,此時三極管導(dǎo)通,P型MOS管輸出24V高電平,N型MOS管輸出GND信號,滅火器點火頭處于兩路MOS管之間被輸出電流引爆,進而啟動滅火器。雙MOS啟動可大大降低單路驅(qū)動造成的滅火器誤啟動概率。
圖4 滅火啟動模塊
(6)其他模塊。包括液位檢測模塊,液位傳感器安裝在滅火器瓶內(nèi),當滅火劑發(fā)生泄露時,控制器發(fā)出故障報警信號。存儲模塊采用16G的SD卡,掛載Fat32文件系統(tǒng),循環(huán)3個月覆蓋存儲,每1S記錄一次傳感器數(shù)據(jù)和故障狀態(tài),存儲的時間信息由CAN2通過整車校時獲得。
μC/OS-II 是一款開源的實時性嵌入式操作系統(tǒng),移植方便,可剪裁、可配置、搶占式,最多可支持64 個任務(wù),任務(wù)間可通過信號量、消息郵箱、消息隊列等中間環(huán)節(jié)實現(xiàn)通信。μC/OS-II通過了FAA(Federal AviationAdministration)認證,在實時性要求很高的嵌入式工業(yè)控制領(lǐng)域能夠放心使用[3]。
μC/OS-II移植到主控芯片STM32F105RBT6上,首先要修改系統(tǒng)和硬件相關(guān)的三個文件。
(1)OS_CPU.H。需要改寫的是關(guān)于數(shù)據(jù)類型、堆棧增長方向、中斷屏蔽方式、以 及 任 務(wù) 調(diào) 度 函 數(shù) 的 定 義。
①STM32設(shè)置數(shù)據(jù)類型如圖5所示。
圖5 數(shù)據(jù)類型設(shè)置
②堆棧增長方向設(shè)置為高地址向低地址增長:
③中斷屏蔽方式,使用第3種方式保護臨界段,進入臨界段之前使用OS_ENTER_CRITICAL()調(diào)用OS_CPU_SR_Save()屏蔽中斷,臨界代碼結(jié)束后使用 OS_EXIT_CRITICAL()調(diào)用OS_CPU_SR_Restore(cpu_sr)開啟中斷功能[4]:
④任務(wù)切換函數(shù)重定義,在任務(wù)切換時調(diào)用:
(2)OS_CPU.C。STM32 單片機需要重新定義任務(wù)堆棧初始化函數(shù) OSTaskStkInit() 。這個函數(shù)在任務(wù)創(chuàng)建時被調(diào)用,負責(zé)初始化任務(wù)的堆棧結(jié)構(gòu)并返回新堆棧的指針[5]。
(3)OS_CPU_A.ASM。主要涉及高優(yōu)先級任務(wù)就緒函數(shù) OSStartHighRdy() 、任務(wù)切換函數(shù) OSCtxSw() 等。OSStartHighRdy( )負責(zé)啟動優(yōu)先級高的任務(wù),使其從就緒態(tài)進入運行態(tài)。 OSCtxSw()負責(zé)用戶任務(wù)上下文切換。
使用μC/OS-II設(shè)計軟件時,需要對不同的任務(wù)按照緊急程度劃分優(yōu)先級。在鋰離子動力電池滅火控制系統(tǒng)中,首先要確保滅火的時效性,在電池箱內(nèi)發(fā)生火災(zāi)時,按下報警開關(guān)啟動或自動啟動應(yīng)設(shè)置成最高優(yōu)先級1?;馂?zāi)報警實時性的要求需要將CAN1通信設(shè)置成優(yōu)先級2,即在探測器探測到火情時控制器能快速響應(yīng)??刂破髦芷跒?s上傳預(yù)警信息至整車報文,或接收整車校時報文的CAN2通信任務(wù)設(shè)置成3。滅火劑泄露、傳感器故障或備用電池欠壓故障報警設(shè)置成4。傳感器信息、時間的數(shù)據(jù)存儲設(shè)置成5。ACC檢測到整車斷電時進入低功耗休眠狀態(tài),設(shè)置成6,需要注意的是休眠后通過外部中斷喚醒,需要將單片機控制CAN1通信的I/O腳,設(shè)置成上升沿中斷模式,探測器監(jiān)測到異常時,通過CAN報文喚醒控制器。報警開關(guān)按鍵輸入檢測和ACC電平檢測的I/O腳也要設(shè)置成上升沿中斷模式,以便開關(guān)按下或整車上電能喚醒系統(tǒng)。進入休眠之前,需調(diào)用OSSchedLock()禁止任務(wù)調(diào)度函數(shù),在休眠期間鎖定任務(wù)不被其他任務(wù)搶占,被外部中斷喚醒后調(diào)用OSSchedUnlock()函數(shù),允許任務(wù)調(diào)度。STM32休眠模式選擇STOP模式,任一外部中斷能喚醒,休眠前盡可能關(guān)閉一些功能模塊的電源,以節(jié)省功耗。任務(wù)劃分如表1所示。
表1 任務(wù)劃分
試驗驗證有兩個目的:(1)驗證控制器在一定的條件下能否自動進入休眠模式;(2)控制器休眠72小時,遇到異常情形能否自動喚醒。
使用安捷倫高精度數(shù)字源表U3606A接入控制器備用電源供電端,對控制器輸出12V直流電壓,測得控制器正常工作電流30mA。通過軟件設(shè)置,控制器在工作10min后沒有外部異常情況下進入休眠模式,通過CAN盒監(jiān)測控制器停止發(fā)送報文,測得控制器休眠狀態(tài)下的電流為2.2mA,如圖6所示。
將鋰離子動力電池和探測器放入電池箱內(nèi),控制器滅火器放在箱外,探測器通過CAN線與控制器連接起來,如圖7所示,再蓋好箱蓋。系統(tǒng)使用備用電池供電,在系統(tǒng)進入低功耗模式持續(xù)72小時后,再使用恒流充電機對持續(xù)電池過充并觸發(fā)電池發(fā)生熱失控,探測器在監(jiān)測到有害氣體濃度過高的時自動喚醒,通過CAN報文將控制器喚醒,進而整個系統(tǒng)從休眠模式喚醒,并發(fā)出聲光報警信號,在按下報警開關(guān)后,滅火劑噴射到電池箱內(nèi),實現(xiàn)了火災(zāi)抑制。
因此,控制器在沒有主電供電,只用備用電源供電的情況下工作10min自動進入休眠模式;休眠72小時后,電池發(fā)生熱失控能喚醒整個系統(tǒng)。
圖6 控制器休眠測試
圖7 電池?zé)崾Э卦囼?/p>
設(shè)計的火災(zāi)報警控制器,實現(xiàn)了火災(zāi)聲光報警,手動/自動啟動滅火器,備用電池充放電管理,硬件故障報警,數(shù)據(jù)存儲,滅火劑泄露檢測等功能。軟件采用μC/OS-II系統(tǒng),通過任務(wù)的劃分和調(diào)度,系統(tǒng)在休眠狀態(tài)下能監(jiān)測到電池?zé)崾Э夭⒆詣訂拘?,通過手動方式觸發(fā)滅火器。試驗驗證表明,控制器在只有備用電源供電的情況下能自動進入休眠模式,遇到異常情形可通過探測器喚醒。既保證了節(jié)約了電池電量,又保證能正常監(jiān)測鋰離子動力電池箱的工作狀態(tài),滿足相關(guān)法規(guī)規(guī)定的停車3日內(nèi)滅火系統(tǒng)正常工作要求。