電池的荷電狀 態 (stateofcharge,SOC)測量計算是 電池管理 系統 (BMS)中最基礎重要 的部分。電池荷電狀態的準確監測不僅能夠為使用者提供電池能量供給狀態 ,它還是電池管理系統中充放電管理、均衡控制管理的基礎 ,因此準確測量電池 SOC的值意義重大。鋰 電池 的均衡本質上是荷 電狀態的均衡 。其數值為電池 當前容量 與額 定容量 的比值 。 目前測量 SOC的方法有多種 ,主要有安時積分法 、開路電壓法 、內阻法和卡爾曼濾波方法 。內阻法測量不穩定 ,數據擾動量較大;卡爾曼濾波算法對實時性要求較高 ,且初始參量較多 ,計算量大 。在充分考慮各種算法優劣和實用性 的基礎上 。結合系統的具體情況 ,采用安時積分法估計 電池組的 SOC,然后通過開路 電壓法和溫度 系數修正 SOC值。
本文以 LTC6804—2芯片為鋰 電池 電壓采集控制芯片 ,使用霍爾傳感器采集充放 電電流,使用 12C總線溫度傳感器芯片采集電池表殼溫度 ,使用 LPC2478為主控芯片.設計 了一種基于 LTC6804—2的鋰 電池 SOC應用系統 。
鋰電池的SOC是什么意思?
State of Charge的縮寫,一般是充電容量與額定容量的比值,用百分比表示。
一個電池一般是有額定容量的,在某倍率下充電一定的時間,你可以得到充電容量,這個容量與你的額定容量的比值即位SOC。
SOC尚無嚴格定義。通常認為 SOC=100%-DOD
DOD為電池放出電量 100%為電池滿充狀態是電量安時值
這個定義來自1996年USABC發布的電池測試手冊。
這個定義里最大的問題在于100%是一個時變值,隨著電池老化而變化DOD也是一個不確定的值,不同工況DOD是不一樣的,同工況,測量方法不同DOD值也不同USABC電池測試手冊里給出了一個DOD測量流程。
SoC 測量系統原理
安時積分法
安時積分法通過對單位時間內流過電池組的電流進行積分從而得 SOC.計算公式如下 :
SOC 表示鋰 電池 SOC的初始值 ,c 表示鋰 電池的額定容量 ,t表示鋰 電池 的充放 電時 間,,表示鋰 電
池 的充放電電流。安時積分法簡單 ,是現在常用 的方法 。由于該方法需要對 電流積分 ,因此對電流采集 的精度要求較高,而且誤差會 由于積分不斷積累 ,常時間使用誤差會越來越大。
開路電壓法
開路 電壓法 的基本原理是鋰 電池 的 SOC在 一定范 圍內時 .開路 電壓 與電池 的 SOC表現很 強 的相關性 ,可以通過實驗 的方法得 出其相關 曲線。該方 法通過對鋰電池充分靜置 ,使電池端 電壓恢復至開路電壓 ,根據開路 電壓 的大小來進行 SOC計算。該方法簡單易行 ,而且精度較高 。但是 電池需要靜置很長時間 ,不適合在線測量 ,實時性較差 。
本系統采 用安時積分法 加開路 電壓法進行 SOC估算 .即在電池組充放 電的時候用安時法進行 SOC估算 ,在 電池組擱置狀態時 ,用開路電壓法和電池表殼溫度系數對安時積分法修正 ,充分運用兩種方法的特點 。提 高 SOC估算的精度。
系統硬件設計
系統采用 LPC2478作為主控芯片,整個系統由 l2節鋰 電池組 、電壓測量 電路 、溫度傳感器、溫度采集 電路 、霍爾電流傳感器 、電流測量 電路、通信 電路 組成。
系統硬件結構框圖如圖 1所示 。
電壓測量硬件電路
LTC6804—2是第三代多節 電池 的電池組監視器,可測量最多 12個串接電池的電壓并具有低于 1.2mV的 總測量 誤差 。所 有 12節 電池 的 電壓 可 在 290Ixs之內完成測量 ,并可選擇較低的數 據采集速率以實現高噪聲抑制 。LTC6804—2具有頻率可編程 三階噪聲濾波器的 l6位增量累加型 ADC。LTC6804—2電池電壓測量 電 路 如 圖 2所 示 。ISOMD 接 低 電 平 表 示 將LTC6804作為 SPI從設備 配置 ,SPI接 口與 LPC2478之間采用硅芯片隔離 ,減少電池側對數字主控電路 的干擾 。鋰電池每組電芯電壓為 3.3V。
溫度采集硬件電路
溫度采集芯片使用美 國德州儀器公 司的 TMP100溫度傳感器芯片 ,溫度 ADC采集硬件電路設計如圖 3所示 。
其中 TMP1O0一D1一ADD0和 TMP100一D1一ADD1的不同組合 ,代表該芯片從設備的通信地址 ,器件的從地址 定 義見 表 1
每個 TMP100芯片可以支持 8種不 同的 12C從地址 ,系統設計有 12路鋰 電池 ,需要 TMP100芯片兩片 ,需要 占用主控芯片 LPC2478兩路 IC接 口。
電流測量硬件電路
電流測量數據通 過霍爾 電流傳感器和 ADC電壓采集芯片得到 ,本系統設計采用南京中霍傳感科技有限公司的 HCS-LSP一20A霍爾電流傳感 器。該傳感器是基 于閉環磁平衡原理的一款霍爾 電流傳感器 ,能夠測量直流、交流 、脈沖以及各種不規則電流等。傳感器的輸出能真實反映通 電導體的的真實波。
電流傳感器的輸出電壓范圍為 0.5~4.5V,輸 出電壓通過 ADC采集芯片采集 ,ADC芯片采用 Maxim—IC公司的 MAX1062.該芯片支持 5V輸人 .14bit采集精度 ,200kS/s采樣率 ,SPI通信接 口,LPC2478芯片一路SPI接 口接該 ADC采集芯片。
LPC2478系統主控硬件電路
考慮到能夠實現電壓測量 、電流測量 、溫度測量各項功能 ,同時滿足系統低功耗特性 ,選用 目前普及最廣的 ARM 芯 片 ,經 過 綜 合 考 慮 。選 取 NXP公 司 的LPC2478芯片 。
LPC2478的一 路 SPI接 口實 現 與 LTC6804—2、MAX1062兩芯片通信 ,通過 GPIO 口選擇需要通信的芯片:以太 網外部物理層芯片采用 KSZ8041NLI芯片,LPC2478的 以太 網 MAC接 口與 KSZ8041NLI芯 片相連 ,KSZ8041NLI通 過 RJ一45接 口 與 外 界 通 信 ;LPC2478芯片其 中兩路 串 口,一路接隔離 RS.422/485芯 片 ADM2582E,一 路 接 隔 離 RS.232 芯 片MAX3250EAI,LPC2478的兩路 IC口與 TMP100溫度采集芯片相連,LPC2478調試編程接 口為 JTAG接 口。
系統軟件設計
LTC6804—2配置與通信
LPC2478上電或復位后 ,首先通過 SPI口初始化LTC6804-2,主要是設置 SPI的通信速率、LTC6804的ADC工作模式 、選擇需要測量的通道。具體所使用 的函數如下 :
void LTC6804一 initialize(); //hc6804-2的初始 化函數
//設 置 ADC工作模式 ,電池測量通道 ,放電允許位設置
void set— adc(uint8一tMD,uint8一tDCP,uint8一tCH,uint8一tCHG);
void LTC6804一 adcv();//啟動 ltc6804-2電池測量
//讀取 12節電池測量電壓
uint8一 tLTC6804一 rdcv(uint8—treg,uint8一ttotal—.ic,uintl6—.tcell—
codes[][12]);
void LTC6804一 wrcfg(uint8一tnIC,uint8一tconfig[][6]); //hc6804
— 2寫配置寄存 器
int8一 tLTC6804一 ~dcfg(uint8一tnIC,uint8一tr—conflg[][8]);//
ltc6804—2讀配置寄存器
溫度采集芯片配置與溫度數據讀取
TMP100內部有 4個數據寄存器和 1個指針寄存器 ,通過指針寄存器索引被訪問的數據寄存器 ,對數據寄存器的讀寫通過指針 寄存器的最后兩位決定 ,指針寄存器定義見表 2,數據寄存器定 義見表 3,配置寄存器定義見表 4。
SD(shutdown):該位置 1,TMP100進入待機省電模式 ,芯片停止工作 ;該位置 0時 ,進入正常工作模式 ,溫度 值 可正 常讀 取 :R1/R0(CONVERTER RESOLU—TION):該位表示 轉換分辨率 ,該系統設 置 R1/R0為11,即分辨率為 12bits,0.0625oC,完成一次溫度數據采集轉換時間為 320ms,溫度寄存器是 16bits的寄存器 ,采用 2進制補碼計算。
電流采集程序設計
霍爾傳感器輸 出是 電壓數據 ,MAX1062采集電壓值 ,轉換為 2進制數據 .LPC2478與 MAX1062通信為SPI接 口。其 中 LPC2478的時鐘極性控制 位 CPOL和時鐘相位控制位 CPHA都設 置為 0,即 SPI總線空 閑時,SCLK時鐘總線為低 電平 ,SPI數據總線在時鐘線的第一個跳變沿采樣數據 ,即上升沿采集數據。
LPC2478需要 3個 SPI讀周期 ,才能將采集 的數據讀出來,實際有用的數據是 D13 ~ D0,記為 DMAX1062,VMAX1062為霍爾傳感器的輸出電壓,IPN表示額定電流,系統設計為 20 A,IP 表示測量電流,范圍為 0 ~ 20 A。計算公式見式(2) ~ 式(5)。
LPC2478 主控程序設計
ARM 主控芯片主要任務有:
① 配置 LTC6804 - 2 芯片,讀取電池電壓數據和執行其他命令控制;
② 配置溫度采集芯片,讀取溫度采集結果;
③ 計算霍爾電流傳感器充放電電流;
④ 控制一路隔離 RS-422 /485 串口,與上位機進行通信;
⑤ 控制一路隔離 RS-232 串口,與上位機進行通信;
⑥ 控制一路 10 M /100 M 自適應以太網,實時將各項參數傳送給上位機;
⑦ 看門狗復位電路,程序跑飛的情況下,系統自動復位。
7 個任務按照優先級排序,其中①任務優先級最高,在 LPC2478 內部執行一些智能算法,當電池表面溫度過高,停止充放電,當電池充放電電壓達到報警警戒,及時將數據傳送給上位機,告知操作人員采取一定措施。
本系統為實現網絡雙向 10 M /100 M 自適應雙向通信,采用了基于 μC /OS - II 的小型 TCP / IP 協議棧。它使用 μC /OS - II 實時操作系統的信號機制來實現個多任務并行并可重入的協議棧。本系統程序實現多任務實時運行,使用 UDP 通信協議連接。ARM 主控程序設計流程圖見圖 4。
試驗數據采集和結論為了測試本系統的測量精度及抗干擾能力,設計了一套測試方案。測試方案包括:本系統,一套獨立供電的高精度數控編程可調穩壓線性電源,調試計算機一臺,高精度數字萬用表一臺。可調穩壓線性電源主要給LPC2478 主控電路供電,高精度數字萬用表可測量每節電池的電壓,調試計算機主要承擔上位機角色,記錄采集數據。表 5 是一段時間 12 節鋰電池各項統計數據。
經過一段時間的拷機測試,系統測量精度高,測量誤差小于 0. 05% 。隨著溫度的升高,電池的容量會有所增加,但是本系統中鋰電池的表殼溫度不能超過48 ℃,超過該溫度,電池可能有問題,將電流數據、電壓數據、溫度數據、SOC 值代入 Matlab,進行多次曲線擬合,得出 SOC 的計算公式。本系統可以推廣到 UPS電源或礦用鋰電池管理系統等工程實際中使用
評論
查看更多