呂斌,劉杰,賀海靖,曲君樂(lè),吳承璇
(山東省科學(xué)院 海洋儀器儀表研究所,青島266001)
本文提出了一種海洋儀器電池管理嵌入式系統(tǒng)設(shè)計(jì)方案。該系統(tǒng)具有多種通信方式,可實(shí)現(xiàn)電池組安裝完成后的實(shí)時(shí)在線檢測(cè)、診斷及提前預(yù)示電池性能趨勢(shì),并可在線自動(dòng)監(jiān)測(cè)每節(jié)電池電壓、電池組分組電壓、充放電電流和溫度,數(shù)據(jù)采集快速準(zhǔn)確。
海洋儀器電池管理嵌入式系統(tǒng)以ARM9處理器作為硬件電路核心控制單元,并移植嵌入Linux操作系統(tǒng),可實(shí)時(shí)在線快速巡檢監(jiān)控電池組性能,并將電池組數(shù)據(jù)及故障情況及時(shí)上傳給現(xiàn)場(chǎng)或遠(yuǎn)程監(jiān)控PC?,F(xiàn)場(chǎng)監(jiān)控PC可通過(guò)RS232、RS485、以太網(wǎng)LAN及 WiFi無(wú)線通信方式采集電池各項(xiàng)數(shù)據(jù),而遠(yuǎn)程監(jiān)控PC則以GPRS/CDMA無(wú)線通信網(wǎng)絡(luò)及北斗衛(wèi)星通信定位網(wǎng)絡(luò)為基礎(chǔ),主要分為遠(yuǎn)程信息服務(wù)中心及BMS終端兩部分。信息服務(wù)中心可通過(guò)分析上傳數(shù)據(jù),實(shí)時(shí)監(jiān)控電池工作狀態(tài),測(cè)繪電流、電壓、剩余電量及溫度曲線。若某臺(tái)海洋儀器的電池溫度、電壓和電流處于非正常狀態(tài),則馬上發(fā)出報(bào)警信息,并根據(jù)故障類型實(shí)現(xiàn)充放電控制、電池組自修復(fù)與調(diào)整、散熱等控制管理功能。信息服務(wù)中心建立數(shù)據(jù)庫(kù),對(duì)所有BMS終端上傳數(shù)據(jù)進(jìn)行備份與管理[3]。整個(gè)系統(tǒng)的網(wǎng)絡(luò)結(jié)構(gòu)圖略——編者注。
海洋儀器BMS終端采用三星公司基于ARM920T內(nèi)核的S3C2440A作為系統(tǒng)中央處理器,配備256 MB的SDRAM、256 MB的NAND FLASH和32 MB的NOR FLASH,以應(yīng)對(duì)嵌入Linux操作系統(tǒng)及保存數(shù)據(jù)所消耗的內(nèi)存。S3C2440A集成了 MMC/SD卡讀寫(xiě)控制器、LCD與觸摸屏接口、3路UART串口、1路主控與1路從動(dòng)USB接口、1個(gè)IDE接口可掛接大容量硬盤(pán)、實(shí)時(shí)時(shí)鐘、多至130個(gè)通用I/O口等豐富硬件資源[4]。
BMS終端硬件系統(tǒng)主要包括AC/DC與DC/DC電源模塊、ARM9處理器、WiFi通信模塊及天線、可擴(kuò)展GPRS及北斗衛(wèi)星通信模塊、LAN、RS485、USB、LCD液晶觸摸屏、FLASH存儲(chǔ)器、實(shí)時(shí)時(shí)鐘電路及現(xiàn)場(chǎng)聲光報(bào)警控制等功能模塊,硬件設(shè)計(jì)的整體框圖如圖1所示。
圖1 BMS終端硬件整體框圖
S3C2440A通過(guò)RS485接口實(shí)時(shí)采集多路電池巡檢單元單體電池及電池組的電壓、充放電電流及溫度,并將數(shù)據(jù)打包,通過(guò) WiFi無(wú)線模塊、LAN、RS485、GPRS或北斗衛(wèi)星等多種通信方式上傳給現(xiàn)場(chǎng)或遠(yuǎn)程監(jiān)控PC;S3C2440A對(duì)采集到的數(shù)據(jù)進(jìn)行計(jì)算與分析,可有效預(yù)測(cè)出各節(jié)電池及電池組的供電性能,及時(shí)發(fā)現(xiàn)性能?chē)?yán)重劣化故障電池,立即進(jìn)行現(xiàn)場(chǎng)聲光報(bào)警,掌握電池組的運(yùn)行狀態(tài),為電池組“精細(xì)”維護(hù)提供測(cè)量依據(jù)。同時(shí)S3C2440A可驅(qū)動(dòng)繼電器控制單元,“剔除”故障或損壞的電池,保證系統(tǒng)測(cè)試的正常運(yùn)行。S3C2440A還可將接收的數(shù)據(jù)與報(bào)警信息存儲(chǔ)到FLASH中,BMS終端設(shè)有USB接口,可外接WiFi通信模塊,亦可接U盤(pán)將數(shù)據(jù)與信息讀出,進(jìn)行數(shù)據(jù)備份。
此外,BMS終端除了必要的AC/DC與DC/DC電源隔離模塊、還擁有LCD觸摸液晶屏人機(jī)對(duì)話接口,可進(jìn)行必要的系統(tǒng)參數(shù)設(shè)置、報(bào)警信息和電池?cái)?shù)據(jù)參數(shù)顯示。BMS終端還擁有RTC實(shí)時(shí)時(shí)鐘,方便試驗(yàn)人員記錄試驗(yàn)時(shí)間,生成數(shù)據(jù)報(bào)表。
BMS終端電路系統(tǒng)涵蓋眾多功能模塊,下面僅詳細(xì)論述電池監(jiān)測(cè)電路、WiFi通信模塊電路的硬件設(shè)計(jì)方案。
電池監(jiān)測(cè)芯片采用美信公司生產(chǎn)的DS2438,該芯片內(nèi)部集成了溫度傳感器、A/D轉(zhuǎn)換器、電流積分器等電路,具有測(cè)量電池的溫度、電壓、電流和累計(jì)電量等多項(xiàng)功能。DS2438通過(guò)2字節(jié)的溫度寄存器實(shí)現(xiàn)數(shù)字式測(cè)溫。測(cè)溫分辨率可配置為9、10、11或l2位,默認(rèn)為l2位分辨率,其對(duì)應(yīng)的溫度分辨率為0.062 5℃[5]。
DS2438為了跟蹤監(jiān)測(cè)電池的剩余電量(State Of Charge,SOC)而使用了一個(gè)集成電流累加器ICA(Integrated Current Accumulator)。ICA是一個(gè)累積電池使用后的全部流入與流出電池電流的寄存器。電池電流是通過(guò)每27.46 ms測(cè)量1次外接電阻Rs上的電壓獲得的,根據(jù)此電壓值的正、負(fù)而將其累積加入或減入ICA寄存器中。通過(guò)S3C2440A讀流入和流出ICA寄存器里的數(shù)值就可以求出電池剩余電量[6]。
由于DS2438測(cè)量的電流量較小,BMS終端采用LEM公司生產(chǎn)的LA130-P閉環(huán)霍爾電流傳感器,其輸出電流有效值是130 mA,原邊額定有效值電流為130 A[7]。海洋儀器 BMS終端電池監(jiān)測(cè)電路原理圖如圖2所示。
圖2 電池監(jiān)測(cè)電路原理圖
圖2中,LA130-P由±12 V DC供電,電池組的供電線路穿過(guò)LA130-P通孔,C4、C5構(gòu)成電容濾波電路,DS2438通過(guò)測(cè)量Rs的正負(fù)電壓累積計(jì)入ICA,用以測(cè)量電池電流與剩余電量。測(cè)量電池組輸出電壓通過(guò)R5、R6電阻分壓,再經(jīng)過(guò)TLV2211IDBVT運(yùn)放跟隨器,最后通過(guò)2個(gè)保護(hù)二極管進(jìn)入DS2438的A/D通道Vad引腳。DS2438本身還集成溫度傳感器,可測(cè)量BMS終端溫度。DS2438的DQ引腳與S3C2440A的GPE2引腳相連,構(gòu)成1-wire通信方式,可將測(cè)得電池的溫度、電壓、電流和累計(jì)電量等數(shù)據(jù)發(fā)送給S3C2440A,并接收S3C2440A的控制指令與設(shè)置參數(shù)。
WiFi無(wú)線通信模塊選用英蓓特科技有限公司的WF8000-U,該 模 塊 使 用 USB HOST2.0 接 口,基 于IEEE802.11標(biāo)準(zhǔn)的無(wú)線網(wǎng)絡(luò)通信協(xié)議開(kāi)發(fā),高度集成MAC/BBP和2.4 GHz射頻單芯片。WiFi無(wú)線通信模塊實(shí)物圖略——編者注。
WiFi無(wú)線通信模塊USB接口電路原理圖如圖3所示。圖3中,22Ω電阻R30、R31在串行數(shù)據(jù)通信時(shí)起到緩沖抗干擾作用。而電容C3、R32與C38、R33構(gòu)成RC濾波電路,確保USB高速串行數(shù)據(jù)通信的可靠性。C35、C36為USB接口金屬外殼對(duì)電源地的濾波電容。
圖3 WF8000-U USB接口電路原理圖
海洋儀器BMS終端移植有Linux內(nèi)核、文件系統(tǒng)YAFFS2及底層驅(qū)動(dòng)程序,加載特定的系統(tǒng)引導(dǎo)程序Bootloader與BMS終端應(yīng)用程序后,可實(shí)現(xiàn)功能完善的電池管理應(yīng)用要求[9]。
Linux具有可裁減性,是真正的多任務(wù)、虛擬內(nèi)存、共享庫(kù)、內(nèi)存管理內(nèi)核[10],可高效運(yùn)行海洋儀器BMS終端電池管理主程序,并與其他子任務(wù)同步并發(fā)運(yùn)行,實(shí)現(xiàn)海洋儀器電池管理嵌入式系統(tǒng)的優(yōu)化設(shè)計(jì)。為實(shí)現(xiàn)電池管理的軟件功能,Linux系統(tǒng)共創(chuàng)建5個(gè)任務(wù),包括電池管理監(jiān)控主任務(wù)、無(wú)線與有線通信任務(wù)、MiniGUI圖形界面及鍵盤(pán)設(shè)計(jì)、數(shù)據(jù)庫(kù)設(shè)計(jì)、電池故障應(yīng)急處理、均衡管理及動(dòng)態(tài)維護(hù)任務(wù),如圖4所示。
在Linux操作系統(tǒng)上設(shè)計(jì)的嵌入式電池管理系統(tǒng)各任務(wù)與Linux內(nèi)核及相互之間配合運(yùn)行的關(guān)系如圖5所示[11]。根據(jù)電池管理系統(tǒng)的功能要求,在Linux系統(tǒng)中建立的任務(wù)包括電池管理監(jiān)控、數(shù)據(jù)采集與故障診斷任務(wù)及數(shù)據(jù)通信等任務(wù)。
圖4 BMS終端移植Linux系統(tǒng)功能模塊框圖
圖5 BMS終端移植Linux系統(tǒng)程序主框架設(shè)計(jì)圖
目前常用的電池電量測(cè)試方法包括密度法、開(kāi)路電壓法、內(nèi)阻法、電量累計(jì)(安時(shí)法)、神經(jīng)網(wǎng)絡(luò)法、卡爾曼濾波法等[12]。由于BMS終端設(shè)計(jì)有DS2438,其本身集成電流累加器ICA,因此本文在安時(shí)法基礎(chǔ)上,使用LA130-P精確測(cè)量電池輸出電流,并啟動(dòng)S3C2440A內(nèi)置定時(shí)器中斷準(zhǔn)確計(jì)時(shí),通過(guò)測(cè)量電阻Rs的電壓估算電池初始容量如圖3所示,濾除DS2438前端檢測(cè)初始漏電流、系統(tǒng)電源尖峰毛刺等背景噪聲,使安時(shí)法在較大范圍內(nèi)有較高的精度。SOC即為電池剩余電量與其總?cè)萘恐?,設(shè)電池充放電起始電量為Qini,電池的額定容量為Q0,電池運(yùn)行過(guò)程中的電流為I,則電流積分計(jì)算SOC的公式為[13]:
SOC標(biāo)定用鋰電池型號(hào)為PEG-05N(3.6 V,5 Ah),則Q0為18 000(A·s)。將電池由滿充狀態(tài)下完全放電,通過(guò)S3C2440A讀取DS2438的ICA值,記錄其放電量為187.859(A·s);然后再將電池持續(xù)充電,至滿充狀態(tài),記錄其充電量為187.867(A·s);經(jīng)10次充放電過(guò)程(忽略溫度影響),取電池充放電量均值187.862(A·s),作為起始電量Qini。表1為BMS終端外接電池滿充狀態(tài)下一個(gè)完全放電過(guò)程的SOC測(cè)量數(shù)據(jù)。
將表1中DS2438測(cè)定的電池放電量值、時(shí)間值與通過(guò)式(1)計(jì)算出的SOC值,經(jīng)Origin LAB軟件進(jìn)行二階數(shù)據(jù)擬合,得到標(biāo)定曲線如圖6所示。由該圖可以看出,ICA與時(shí)間值曲線、ICA與SOC數(shù)據(jù)曲線基本成線性關(guān)系,證明BMS終端測(cè)定SOC的方法可靠易行。
表1 BMS終端外接電池SOC測(cè)量數(shù)據(jù)
圖6 ICA與SOC數(shù)據(jù)標(biāo)定曲線
本文研究實(shí)現(xiàn)的海洋儀器電池管理嵌入式系統(tǒng),硬件上以ARM9處理器與DS2438為核心,軟件上移植Linux操作系統(tǒng),能有效實(shí)現(xiàn)BMS系統(tǒng)多種任務(wù)的調(diào)度,實(shí)時(shí)顯示電池各項(xiàng)參數(shù)的測(cè)量結(jié)果與數(shù)據(jù)曲線。通過(guò)電池ICA與SOC標(biāo)定實(shí)驗(yàn)證明,SOC數(shù)據(jù)準(zhǔn)確度較高并呈良好的線形曲線,較好地反映了電池的實(shí)際運(yùn)行狀況。
編者注:本文為期刊縮略版,全文見(jiàn)本刊網(wǎng)站www.mesnet.com.cn。
[1]惠力,趙杰,魯成杰.海洋儀器的太陽(yáng)能供電系統(tǒng)設(shè)計(jì)[J].山東科學(xué),2011(3):51-54.
[2]A Jossen,V Spath,H Doting.Reliable battery operation-a challenge for the battery management system[J].Journal of Power Sources,1999(84):283-286.
[3]徐高謀,鄭連存.電動(dòng)汽車(chē)電池組網(wǎng)絡(luò)監(jiān)控系統(tǒng)研究[J].微計(jì)算機(jī)信息,2006(4-2):186-188.
[4]田磊.基于S3C2440嵌入式系統(tǒng)的遠(yuǎn)程抄表監(jiān)控系統(tǒng)設(shè)計(jì)[J].電子質(zhì)量,2009(3):41-42.
[5]DS2438 Smart Battery Monitor[EB/OL].[2013-10].http://datasheets.maximintegrated.com/en/ds/DS2438.pdf.
[6]黃章華,陸華忠,呂恩利,等.基于ARM和CAN的電動(dòng)汽車(chē)電池管理系統(tǒng)[J].華南農(nóng)業(yè)大學(xué)學(xué)報(bào),2009(4):105-109.
[7]Current Transducer LA 130-P.[EB/OL].[2013-10].http://www.lem.com/docs/products/la%20130-p.pdf.
[8]WF8000-U 模塊 用戶 手冊(cè).[EB/OL].[2013-10].http://www.timll.com/chinese/upload File/TIOP/WF8000_User_M(jìn)anual.pdf.
[9]田磊.Linux體系結(jié)構(gòu)及嵌入式Linux的移植與應(yīng)用[J].西安郵電學(xué)院學(xué)報(bào),2009(3):102-105.
[10]丁聰.基于ARM9的嵌入式Linux系統(tǒng)移植與實(shí)時(shí)性能研究[D].濟(jì)南:濟(jì)南大學(xué),2009:1.
[11]駱華敏.嵌入式電動(dòng)汽車(chē)電池管理系統(tǒng)設(shè)計(jì)[D].天津:天津大學(xué),2009:5.
[12]張建.電動(dòng)汽車(chē)電池監(jiān)控系統(tǒng)設(shè)計(jì)[D].杭州:浙江大學(xué),2006:5.
[13]寇曉靜.電池運(yùn)行狀態(tài)監(jiān)控模塊的研究[D].哈爾濱:哈爾濱工業(yè)大學(xué),2006:6.