王 婷 褚曉銳 楊曉娟 李姚凡
(1、西昌學院,四川 西昌 615700 2、重慶市南川區道南中學校,重慶 408400)
隨著新能源汽車發展,退役電池在梯次利用成為一個研究熱點。該過程中,退役電池相互搭配需要依據其實際容量而定,且后續使用過程中需要長期監控電池容量。[1]因此,本文提出一種能夠自動化長期檢測電池容量的系統。
電充容量檢測通常使用兩種方法檢測。一種是以放電的方式,檢測電池從充滿到放空的功率,并對時間做積分。這種方式檢測電池容量,準確度程度高,但耗時較長。另一種方式是通過測量電池內阻,估算電池容量。[2]該方法優點是測量速度快,缺點由于電池內阻與容量的關系只能通過數學公式計算,而每個電池的個體性能參數不同,因此其內阻與容量的關系確定性不強。[3]
考慮到上述兩種方法的優缺點,本文提出綜合使用上述兩種方法構建一種電池容量檢測裝置。該裝置既能以測量電池內阻的方式,快速估算電池容量,又能通過放電方式,準確測量電池容量。
電池容量實際測量公式如下:

上式中,IL為電池放電電流,通過測量獲取。t為累積放電時間,通過計時獲取。在電池電壓降低到電池最低允許放電電壓值時,截止放電。并返回最終電池容量測定結果。
內阻測試原理為:電池短時間在阻值RL已知,且固定不變的負載上放電時,測定負載端電壓UL,再測定斷開負載時的電池電壓U0,按照如下公式計算電池內阻:

因此,檢測方案需要具備電池端電壓檢測功能、負載斷開與接入功能、負載電流檢測功能、充電功能以及設備自身供電。設備檢測結果通過OLED顯示器顯示,輸入使用按鍵鍵盤,所以還需要人機交互功能。上述功能模塊統籌測控需使用中央控制模塊完成。
中央控制模塊直接控制負載的通斷,并使用電壓、電流測量模塊測量相關參數。在恰當的時候控制充電電路的啟停。
根據上文制定的電路方案,進行硬件設計。由于主控電路居于核心地位,其他電路的設計要以主控為基礎,因此先設計主控電路。
綜合考慮上一章功能模塊,可選用STM32F103單片機作為主控單元,選擇依據論證如下:
2.1.1 該單片機自帶3路12位,共計21通道AD轉換器,可完成電池電壓檢測任務。也可間接檢測負載電流,該部分設計將在后續電流檢測電路部分詳細論證;
2.1.2 該單片機具備超過20個雙向IO接口,可作為負載接入電路的開關控制引腳,也可控制充電電路的啟停,還可通過IO引腳連接鍵盤和顯示設備;
2.1.3 該單片機內存高達64k字節,flash空間為128k字節,即便使用ucos3操作系統,占用空間仍未超過50%。因此存儲空間富裕;
2.1.4 該單片機使用cortex m3處理器,最高運行頻率為72mHz,可提供較高算力。
在中控電路(圖1)上分別將A0,A1引腳引出,作為電流采樣、電壓采樣電路的端口。上述接口在單片機內部可連接ADC1的通道0和通道1。兩個通道分時復用可測量得到電池的電流和電壓數據。

圖1 中控電路原理圖
考慮到設備需要人機交互功能,因此將A2至A7作為鍵盤按鍵電路引出,該部分引腳在單片機內部可通過程序設置上拉輸入模式,直接連接按鍵。將B8,B9作為顯示器的數據輸出線路引出并通過軟件設置為推挽輸出。
B12至B14分別連接充電啟動電路、蜂鳴器電路、測溫電路。
電流測量電路(圖2)目的在于測量電池放電電流,以此統計電池容量。設計選用BTS7960芯片,通過設置該芯片的IS引腳合適的對地電阻值,再測量“I_Sensor”節點電壓,可間接計算得到負載電流。計算公式如下:

圖2 電流測量電路

上式中:IL為負載電流;K=8.5,為系數由芯片特性決定;US為“I_Sensor”節點電壓,可通過單片機測量得到;RS為外接對地電阻,此處假設負載電流為5A,單片機測量電壓范圍為0至3.3 V,反向計算得到RS=5.6 kΩ。因此,在設計該接地電阻的時候,使用5.6 KΩ電阻。考慮到可能調整該電阻的情況,設置了一個并聯電阻作為后備替補位置,如果不用,焊接時保持留空即可。
電池電壓測量電路如圖3所示。由于電池電壓充滿為12V,單片機測量電路最大測量電壓為3.3 V。因此設計一個串聯分壓電路將電池電壓按比例分壓后從“Test_Bat”節點輸入單片機采樣。

圖3 電池電壓測量電路
在完成硬件設計的基礎上,進行軟件設計。根據總體設計要求,軟件設計按功能分為多個模塊完成。多個模塊的協同配合,在使用操作系統的前提下可達到簡化設計難度的效果。
結合本設計,操作系統需要具備的特點如下:(1)輕量化,可燒入單片機;(2)開發難度低,開發周期短;(3)可靠性高,可支持軟件系統連續穩定工作。綜合考慮,UCOS3可達到上述目的。該操作系統編譯后僅占用50kB空間,最小模式運行內存占用僅10kB;其源代碼完全公開,接口文檔健全,因此容易開發;該操作系統采用c語言開發,系統內部不存在動態內存開銷,穩定性極佳。
軟件開發按層次劃分為驅動開發、應用層開發。
驅動層包括如下部分:(1)溫度測量驅動;(2)電池電壓、電流測量驅動;(3)按鍵掃描驅動;(4)顯示驅動。該部分底層硬件驅動,按照技術手冊編寫、移植即可。
應用開發分別為基本數據顯示模塊、充電模塊、放電實測容量模塊、內阻測試模塊。其中,基本數據顯示模塊通過驅動獲取電池電壓、溫度數據并顯示。充電模塊工作時,通過檢測電池電壓,如果電壓低于充滿狀態電壓,則啟動充電電路進行充電。
電池容量測定模塊首先會檢測電池是否充滿,如果沒充滿,則進入充電狀態,充滿則通過實際放電的方式進行容量實測。
按照第一章當中的公式,可完成內阻測定模塊編寫。
最后,再將以上模塊用狀態機方式完成編寫,狀態之間的切換根據變量“CurState”實現,狀態之間可相互存在邏輯切換關系,例如:充電完成后自動切換到放電模式。也可由人工按鍵方式切換狀態。
經測試,該設計成果可順利完成電池內阻測定以及電池容量測定的功能,測試結果如圖4。

圖4 容量測定及內阻測試圖