聶巍,丁玉峰,余峰
(武漢船用電力推進裝置研究所,武漢430064)
基于ARM的鋰電池監控系統設計
聶巍,丁玉峰,余峰
(武漢船用電力推進裝置研究所,武漢430064)
安全問題日益成為鋰電池技術發展的關鍵難題,對鋰電池狀態進行有效的監控顯得尤為重要。本文設計了一種以ARM為控制核心的鋰電池監控系統。詳細描述了該系統的主要功能、硬件結構和軟件設計。實現了96路單體電池的電壓、16路電池溫度以及電池放電電流的測量,并通過CAN總線將檢測數據傳送給上位機。實踐表明該系統工作穩定可靠,檢測精準,滿足鋰電池監控系統的設計需求。
ARM鋰電池監控系統
鋰電池作為動力電池廣泛應用于電動汽車、電動自行車等領域[1]。在這些領域中,通常需要對鋰電池單體作大規模的串聯或并聯處理,來滿足輸出功率等方面的需求,因此需要對電池組中單體電池狀態進行精確檢測,來判斷電池組狀態,保證電池組的正常工作。本文以96節串聯鋰電池組為研究對象,針對電池組的檢測與保護設計了一種鋰電池監控系統。根據鋰電池監控系統所要達到的控制功能,本文以LPC2378微控制器為控制核心,基于μc/OS-Ⅱ系統進行軟件設計。
1.1系統功能
本文設計的鋰電池監控系統主要實現了以下四個功能:數據采集、數據存儲、上位機通訊、電池組故障保護。其中:
數據采集:1)共96路電池電壓采集;2)共16路電池溫度采集;3)電池放電電流采集。
數據存儲:1)定時對所有采集數據進行存儲;2)對電池組狀態、監控系統狀態進行存儲;3)對上位機所發指令等通訊信息進行存儲。
上位機通訊:通過CAN總線將所采集數據、電池組及監控系統狀態等信息發送給上位機。
電池組故障保護:1)電池欠壓故障保護;2)電池過流故障保護;3)電池過溫故障保護;4)電池防充電保護。
1.2硬件方案設計
監控系統的核心是嵌入式微控制器,32位的ARM微控制器是嵌入式控制器的主流。為了滿足監控系統的功能需求和今后擴展系統的要求,選用恩智浦公司的LPC2378作為本系統的微控制器。LPC2378包含了10/100Ethernet MAC、USB 2.0全速接口、4個UART、2路CAN通道、2個SPI接口等,可在高達72 MHz的工作頻率下運行,512KB的片內FLASH程序存儲器,32KB的SRAM[2]。監控系統以LPC2378為核心,硬件系統結構圖如圖1所示。

圖1 硬件系統結構圖
數據采集電路采用Linear公司的電池監視IC LTC6803,它內置1個12位ADC、1個精準電壓基準。每個LTC6803能夠在輸入共模電壓高達60V的情況下測量多達l2個串接電池的電壓,2路外接溫度傳感器電壓,可用13 ms完成一個系統中所有電池的測量,最大總測量誤差為0.25%[3]。本系統中采用8個LTC6803串聯使用,主控制器通過SPI總線控制LTC6803啟動電壓溫度采集,并通過總線傳回采集數據。
在控制板上,擴展了64MB的FLASHROM作為存儲單元,用來存儲電池數據、狀態和通訊指令等信息。系統中通過信號調理電路將0~10 A的電流信號轉換為0~3V的電壓信號,然后輸出到LPC2378的AD采集接口。系統所需的CAN通訊信號通過高速CAN隔離收發器CTM1050進行轉換,該芯片內部集成了所有必需的CAN隔離及CAN收、發器件,滿足系統與上位機通訊需求。在放電回路中,串連一個大功率MOS管,用于控制放電回路的開通與關斷。
2.1嵌入式操作系統設計
長期以來,嵌入式系統在工業、電信、航空及軍事領域得到了廣泛的應用。本系統從系統實時性、多線程應用的要求出發,基于μc/OS-Ⅱ嵌入式操作系統開發鋰電池監控系統控制軟件。分為μc/OS-Ⅱ嵌入式操作系統層,電池監控應用層以及硬件驅動層。硬件驅動層包括AD驅動,SPI驅動,定時器驅動,CAN驅動和LTC6803驅動等。硬件驅動層提供硬件初始化函數、中斷處理和對外接口。電池監控應用層用于實現系統需求,多任務模式。
通過對系統功能分析,將軟件主要劃分為3個任務。分別是:
T1:CAN通訊任務,優先級最高。用于與上位機通訊。
T2:電池監控任務,優先級低于T1。對電池模塊數據進行采樣,進行電池狀態判斷,并處理。
T3:數據存儲任務,優先級最低。對電池數據及狀態進行存儲。
軟件基本結構圖如圖2所示。

圖2 軟件基本結構圖
任務T1-T3作為3個獨立模塊,由操作系統調度程序進行調度。
2.2驅動程序設計
硬件驅動層包括AD驅動,SPI驅動,定時器驅動,CAN驅動和LTC6803驅動等。其中除LTC6803驅動外,都有官方例程可以借鑒,減少了開發任務量。LTC6803驅動程序遵循數據手冊描述,上電后,通過SPI總線對LTC6803進行初始化配置,在采集電壓或溫度時,先發送啟動電池電壓ADC轉換指令,轉換約在12 ms后完成,然后讀電池電壓寄存器,獲取采集結果。其中啟動電池電壓ADC轉換按如下流程進行。
1)將CSBI拉至低電平;
2)發送STCVAD命令字節和PEC(堆棧中的所有器件同時啟動ADC轉換);
3)將底部器件的SDO輸出拉至低電平并持續約12 ms的時間;
4)SDO輸出以1 kHz頻率跳轉,指示菊鏈中的所有器件ADC轉換均完成;
5)將CSBI拉至高電平以退出輪詢狀態。
對采集結果進行處理,ADC輸出一個帶0X200(十進制為512)偏移的12位代碼。輸入電壓可以按下式計算:

式中的DOUT是一個十進制整數。
2.3應用程序設計
在應用程序中,根據系統的功能,本系統主要編寫了以下程序:
1)數據采樣處理程序:為了保證電壓溫度及電流的采樣精度,除了硬件濾波外,軟件采用多次采樣后去除最大值和最小值,然后進行均值的方法進行軟件濾波,將濾波后的數據與門限值進行比較,判斷電池是否工作于正常狀態;
2)數據存儲程序:將每次采集的數據以及電池狀態,按時間順序存儲在FLASHROM中,當數據容量超過存儲空間時,刪除最先保存的采集數據;對與上位機通訊過程中產生的指令進行存儲,進行系統操作記錄;
3)CAN指令處理程序:根據上位機所發指令,對監控系統進行相應的操作,包括:上傳采集數據、電池狀態、系統狀態,開通、關斷放電回路等;
4)故障報警及保護程序:根據采集的數據,對電池狀態進行判斷,當電池電壓過高、過低,電池溫度過高,放電電流過大等情況發生時,立即向上位機報送故障信息,并可斷開放電回路,保護電池。
采用VB開發的上位機對監控系統所采集的數據進行讀取,得到檢測數據如圖3所示。界面中反映了所有電池電壓和溫度、放電回路電流,通過讀狀態顯示出系統和電池的狀態。

圖3 上位機界面
為了了解監控系統的電壓采樣精度,對一個測量通道進行電壓檢測試驗,將監控系統測量值與萬用表測量值進行比較,得到數據如表1所示。可以得出在實際電壓為0.49V時,測量誤差最大為0.61%,略高于手冊上0.25%的誤差,隨著電壓的升高誤差逐漸減小,但都在10 mV以內。經過多次試驗,發現引起誤差的主要原因在于LTC6803的測量電壓基準偏差導致,手冊標稱值為3.065V,實際測量得到范圍為3.055V到3.075V,保證此基準電壓的準確,是提高LTC6803測量精度的關鍵,在設計過程中需重點關注。

表1 鋰電監控系統電壓測試
本文采用恩智浦公司的LPC2378芯片和Linear公司的LTC6803芯片設計了一種鋰電池監控系統,該系統能夠測量96路單體電池的電壓、16路電池溫度以及電池放電電流,并通過CAN總線將檢測數據傳送給上位機。經過實際測試,該監控系統具有電壓檢測±10 mV精度,系統工作穩定可靠,具有廣泛的應用價值。
[1]祝斌.動力電池技術與應用[J].船電技術,2015,35(4):30-34.
[2]周立功.ARM微控制器基礎與實戰(第2版)[M].北京:北京航空航天大學出版社,2005.
[3]郭建成,楊繼承,曹廣永.LTC6803-3在鋰電檢測系統中的應用[J].中國新通信.2013,14:84-85.
Design of Lithium Batteriessupervisorysystem with ARM
Nie Wei,Ding Yufeng,Yu Feng
(Wuhan Institute of Marine Electric Propulsion,Wuhan 430064,China)
Because thesecurity becomes the key question of lithium batteries technology development,it is particularly important to monitor effectively lithium batteries operation.In this paper,a lithium batteriessupervisorysystem with ARM is designed,and main function,hardwarestructure andsoftware design method for thesupervisorysystem are presented.It can measure 96 cellsVoltage,16 cells temperature and batteries discharging current,and transmit the testing result to thesupervisory controlsystem through the CAN bus.Testsshow that thesystem isstable,reliable and accurate,and can meet the demands of lithium batterysupervisorysystem.
ARM;lithium battery;supervisorysystem
TM911.14
A
1003-4862(2015)10-0070-04
2015-03-14
聶巍(1989-),碩士。研究方向:控制科學與工程。