王 瀟,張立強,孫啟海
(中國海洋大學工程學院,山東青島 266100)
海洋儀器設備造價昂貴,使用環境條件苛刻,其安全性、可靠性備受研究者關注。海洋儀器設備中獨立電源的維修或者更換成本較高,為了盡可能地減少成本,越來越多的海洋儀器設備開始采用可重復利用的高能量密度電源[1]。鋰離子電池具有能量密度大、無記憶效應、環境友好度高、循環性能好等優點,常常被用作海洋儀器設備的電源[2]。但是海洋環境較為苛刻,高溫差、高濕度、高鹽度均可影響鋰離子電池的健康狀態,從而造成儀器失效等嚴重后果[3]。
根據國內外海洋儀器和設備故障的統計和分析,大約有70%的故障是由環境引起的,其中溫度原因占40%,濕度原因占20%左右[4]。同型號的鋰離子電池在海洋環境下的壽命要比正常環境下短,鹽度較高的海洋水汽會導致鋰離子電池組的電池被腐蝕,被腐蝕之后的鋰離子電池組極易發生爆炸,造成設備損壞[5]。運行在海洋環境下,電池組會不可避免地出現海水滲漏的現象,海水進入鋰離子電池組之后會造成設備短路,影響海洋儀器設備的正常運行[6]。此外,為了盡可能準確地估計電池的剩余使用壽命和健康狀態,研究者采用電化學阻抗譜等數據作為健康特征,用以表征電池內部更為詳細的狀態[7]。但是現有的電池組管理系統鮮有提供其內部單體電池的測試接口,用戶難以對單體電池的狀態進行直接測試與評估[8-9]。目前有部分電池管理系統選擇通過無線網絡進行數據傳輸,但在海洋儀器工作的環境中,無線傳輸方式遠不如診斷接口的通信方式穩定[10-11]。
為了解決海洋環境下的電池組管理和單體電池狀態信息難以獲取的問題,本文提出了一種帶有診斷接口的鋰離子電池組管理系統。該系統的診斷接口能夠將內部狀態信息發送到上位機平臺,同時診斷接口也包含了電池組內部單體電池中間抽頭接點。使用者可以通過中間抽頭對單體電池直接進行阻抗譜測試等各種外部附加測試。為了適應復雜的海洋環境,該系統還設計了內部環境檢測系統,能夠對浸水、火災等突發情況做出及時反應,從而保護電池組的安全。
本文中的鋰離子電池組采用16 并8 串的組成方式,電池組標稱電壓為25.6 V,工作電壓為18.4~29.2 V。鋰離子電池組的正負極通過2 芯防水插頭引出,另外設置有14 芯防水插頭作為診斷接口,診斷接口除上位機通訊功能外,還可以與專門的電池健康診斷系統連接,對電池組內部單體電池進行各類附加測試。
Arduino Nano(意大利產)單片機作為主控芯片控制整個系統的運行,并與上位機進行通信;基于LTC6811(美國產)芯片構建了電池組單體電池電壓采集和均衡電路;基于AD8210(美國產)芯片構建了電池組電流采集電路;基于DS18B20(美國產)和DHT11(廣州產)傳感器構建了溫度、濕度采集電路;通過水位傳感器(深圳產)、火災傳感器(深圳產)對鋰離子電池組內部環境進行監測;設計單片機控制MOSFET開關電路進行安全保護;單片機控制繼電器組將電池中間抽頭切換至單體電池電壓采集電路或診斷接口上;并在控制模塊與動作模塊之間設計了驅動隔離電路以提高電池組的可靠性。電池組整體電路結構如圖1 所示。

圖1 電池組整體電路結構
本文通過PMOS 和放電電阻R搭建了LTC6811 外部均衡電路。該電路能夠對8 路單體電池分別進行電壓數據采集和均衡。采集到的數據通過SPI 接口傳輸到Arduino Nano。電壓數據采集與均衡電路如圖2 所示。

圖2 電壓數據采集與均衡電路
鋰離子電池組的電流信息對電池組SOC估計具有重要的作用。本文采用單電源差分放大器AD8210 芯片構建電流數據采集電路。AD8210 通過放大高精度檢流電阻RA兩端的電壓來確定待檢測電流的大小。考慮電池組輸出電流最大為60 A,AD8210 芯片測量增益為20 倍,Arduino Nano 的AD引腳最大讀取電壓為5 V,且考慮到1.5 倍的余量,高精度檢流電阻阻值通過計算為2.8 mΩ,其計算如式(1):

因此選擇采樣電阻RA阻值為3 mΩ。電流采集電路如圖3 所示。

圖3 電流數據采集電路
內部環境檢測模塊分為溫度檢測、濕度檢測、火災檢測和漏水檢測四個部分。
溫度檢測電路采用8 個DS18B20 數字式溫度傳感器分別對單體電池溫度進行檢測,DS18B20 傳感器供電為5 V,數據線通過4.7 kΩ 上拉電阻連接到單片機的D5 引腳。
濕度檢測電路采用DHT11 數字式溫濕度傳感器對電池組內部濕度情況進行檢測,DHT11 數字式溫濕度傳感器數據引腳通過4.7 kΩ 上拉電阻連接到單片機的D3 引腳。
火災檢測電路通過火災檢測模塊檢測電池組內是否發生火災,火災檢測模塊的數字量輸出端口連接單片機的D8引腳,當環境中的火焰光譜達到某一數值時,數字量端口電平為低電平,模擬量輸出端口連接單片機的A5 引腳,模擬量輸出端口能夠輸出環境火焰光譜更精準的數值,其檢測光源或火焰的波長范圍為760~1 100 nm。當數字量輸出端口為低電平且模擬量端口輸出值達到預設閾值時,可以確定電池組內部發生火災。
漏水檢測電路采用水位傳感器檢測,水位傳感器供電電壓為5 V,水位傳感器模擬量輸出引腳連接單片機的A6 引腳來獲得水位的模擬量信息,以此換算出水位信息并判斷電池組內是否發生漏水故障。
MOSFET 控制電路用于在緊急情況下關斷電池組總輸出,以此實現對鋰離子電池組的安全保護。驅動電路采用高壓門驅動器UCC27211(美國產)芯片實現,為了保證MOSFET能夠在單片機控制信號為高電平的情況下持續導通,本文使用隔離電源和高速光耦6N136 搭建浮地MOSFET 控制電路。MOSFET 選用低內阻N 溝道MOS 芯片IPT015N10N5(德國產)。MOSFET 控制電路如圖4 所示。

圖4 MOSFET控制電路
中間抽頭切換電路采用一組AGQ20012(日本產)型雙刀雙擲繼電器實現,其工作電壓為12 V。中間抽頭切換電路通過Arduino Nano 的I/O 管腳控制光耦,繼而控制繼電器組觸點的切換。中間抽頭切換電路如圖5 所示(以V0 和V1 抽頭為例)。

圖5 中間抽頭切換電路
系統在上電之后,為保證系統的正常工作,需要對系統進行初始化,包括配置初始化、參數初始化、單片機引腳初始化、SPI 通信初始化、USART 通信初始化等。并在初始化的過程中保持MOSFET 關斷,繼電器組復位以保證電池組單體電池的中間抽頭與電壓測量與均衡電路連接。
開機初始化完成后,進入程序主循環,包括電池組內部的各參數狀態數據讀取、故障診斷、安全保護和接收執行命令幾部分,嵌入式程序整體流程如圖6 所示。

圖6 嵌入式程序整體流程
其中,故障診斷對于保證電池的性能、安全和壽命具有重要意義。通過對電壓、電流和溫度等狀態的檢測,能夠快速準確地確定鋰離子電池組的故障原因,并采取相應的保護措施。
電池組采集的數據包括鋰離子電池組單體電池電壓和溫度、電池組總電流、電池組總電壓等。對采集到的數據進行預處理,去掉異常值、最大值和最小值后進行平均值濾波,以處理結果作為待測參數的最終值。同時采用擴展卡爾曼濾波對電池組荷電狀態(SOC)進行估計。
根據采集的數據(電壓、電流、溫度、濕度等)判斷鋰離子電池組管理系統是否出現故障,并根據故障程度確定故障保護優先級,按照電池組是否發生火災、電池組是否發生漏水、溫度是否異常、電壓是否異常、單片機與LTC6811 芯片的通信是否異常、繼電器組是否工作的順序進行故障的診斷,如果存在故障則將相應的故障標志位置1,采取相應的保護動作,同時將異常信息或警告信息上傳到上位機中。
本文中,14 芯診斷接口使用防水插頭(深圳產、型號SP/SD 20)實現,其定義如表1 所示。14 芯接口內包含電池組管理系統供電接口、基于MAX3232 芯片的上位機通信接口以及各單體電池的中間抽頭。

表1 14 芯診斷接口定義
故障信息通信協議和警告信息通信協議分別如表2~表3所示。例如:當電池組發生電壓嚴重過高故障時,Arduino Nano 發送字符組“ERR:POVLT:1”,無電壓嚴重過高故障時,發送字符組“ERR:POVLT:0”,1 表示故障發生,0 表示故障未發生。

表2 故障信息通信協議

表3 警告信息通信協議
可接收的上位機命令分為數據獲取命令和控制命令兩類,如表4 所示。電池組管理系統的應答格式中“A,B,…”代表相應的數據值,例如:當電流值為23.4 A 時,DATA:CURR:A格式應為DATA:CURR:23.4。多個字母的格式含義類似。控制命令中的ON/OFF,ON 為開或者動作,OFF 為關或者復位,例如:CTRL:MOS:ON 命令為控制MOSFET 開通命令,CTRL:MOS:OFF 命令為控制MOSFET 關斷命令。

表4 上位機數據讀取命令、控制命令通信協議
根據本文提出的設計,利用128 只IFR26650 型磷酸鐵鋰電池(深圳產,3.2 V,3.3 Ah)構成16 并8 串結構的鋰離子電池組,如圖7 所示。

圖7 電池組外觀
在室溫27 ℃的情況下,通過串口可直接讀取單體電池電壓、溫度數據;通過診斷接口中間抽頭,新威CR-20V-2000 mΩ 型(深圳產)電池電壓內阻測試儀可以直接測量電池組內部單體電池阻抗,各單體電池測量結果如表5 所示。

表5 各單體電池測量結果
可見溫度測量誤差在0.1~0.2 ℃以內。且由于電壓采集和均衡電路的均衡功能,內部各單體電池之間的電壓差異均極小。內部各單體電池阻抗較為一致,由于電池并聯連接,其阻抗值較小,能夠滿足大電流放電的需求。
14 芯診斷接口未來可接入自主研發的電池健康診斷系統中,可直接對電池組內部單體電池進行阻抗譜等各類測試,可豐富電池健康狀態評估所需的數據,其接法如圖8 所示。

圖8 診斷接口阻抗譜測試方法
本文面向海洋儀器設備提出了一種帶有診斷接口的鋰離子電池組管理系統的設計方案。通過LTC6811、AD8210、UCC27211 等芯片構建了該系統的硬件結構,通過Arduino IDE 編寫了相應的嵌入式程序。該鋰離子電池組管理系統能夠實現內部單體電池電壓和溫度、電池組總電流、電池組總電壓等數據的測量,同時能夠結合測得的數據對該系統中出現的故障進行初步診斷和故障保護。通過診斷接口亦可對電池組內部單體電池進行阻抗譜測試,可獲得更加豐富的電池狀態評估數據。本文提出的鋰離子電池組管理系統可提高海洋儀器設備中電池供電系統的安全性和可靠性,從而增加海洋儀器設備的使用周期,降低使用成本,為今后的海洋儀器設備供電系統的研究提供有價值的參考。