鉅大鋰電 | 點擊量:0次 | 2020年07月01日
鋰離子電池管理系統的研究與實現 — 鋰離子電池管理系統的軟件實現
4.1鋰離子電池管理系統的軟件框圖
4.2鋰離子電池管理系統的軟件實現
硬件電路確定以后,控制系統的重要功能將依賴于系統軟件的實現。控制系統能否正常可靠的工作,除了與硬件的合理設計外,與功能完善的軟件設計也是分不開的。在軟件設計時,首先要根據控制系統要求分析軟件要實現的任務,然后進行軟件的總體設計,包括程序總體結構設計和對程序進行模塊化設計。按整體功能分成多個不同的模塊,單獨設計、編程、調試,然后將各個模塊組合調試,實現軟件的全部功能。
本系統軟件是基于ATMEGA8L的C語言實現的,其中:電壓測量模塊,由單片機控制模擬開關,通過單片機的10位A/D模塊測量單節電池電壓值。為了提高測量的精度,軟件采用篩值平均的軟件慮波方法。在對每一節電池的模擬量測量時,持續測量多次,然后篩去最高值和最低值,再對剩余的測量值取平均,獲得最佳的測量結果。然后根據電壓的計算方式,獲得電池的電壓。在電壓測量完成后,要運行冒泡排序的程序,對所有的電池電壓進行排序,標記最低、最高電池,為均衡模塊服務。
充電管理模塊,通過檢測到的單節電池電壓判斷電池所在的充電階段,并利用單片機的脈寬調制輸出(pWM)控制MOSFET實現預充階段的小電流充電和保持充電階段的脈沖充電。當檢測到電池充電完畢后,自動斷開充電回路,點亮充電完畢提示燈。充電管理模塊通過檢測到的電壓,電流,溫度值判斷電池是否工作在正常狀態,如出現過壓,過流,溫度過高等情況,馬上通過MOSFET關閉充放電回路,并點亮故障提示燈。
剩余容量估計包括檢測開路電壓,通過開路電壓與電池電量的對應關系計算,另外重要依靠安時積分法在充放電時對實時檢測到的電流值作積分,這通過單片機的按時器出現按時中斷來實現。
串口通信利用單片機的串口USART與pC機的RS232通信。在上位pC機中,重要完成的是對串口設置的選擇控制、采集數據的讀取顯示,并對采集的數據存儲。我們選擇了VC++6.0完成界面設計,通訊串口設置和存儲數據。VC++6.0開發串行通信程序重要有兩種方法:
1、利用VC++6.0供應的MSComm控件;
2、利用專門的Windows的SDK供應的ApI函數。
本文采用了MSComm控件。MSComm控件在串口編程時非常方便。程序員不必花時間去了解較為復雜的ApI函數,只要在串口通信資源的屬性(properties)一項中配置串口。串口通信的波特率、數據位數、停止位數、奇偶校驗、發送緩沖區大小、接收緩沖區大小以及超時設置等均在此時進行配置。完成串口配置之后即可打開串口,進行數據讀寫。它只有一個事件,即OnComm事件。通過事件驅動,對時間的發生進行跟蹤和處理,從而檢測和處理通信錯誤以及進行對數據的處理顯示等。
5系統調試
系統的現場調試在實驗室進行,下圖為鋰離子電池管理系統的現場運行
實驗證明系統能進行較為精確的數據采樣,電壓測量精度可以達到0.05V,可實現對鋰離子電池的分階段充電控制,SOC估算基本可靠。下圖為電路板和上位機的數據顯示:
6總結與展望
本文針對水下機器人的動力源鋰離子電池組提出一種電池管理系統的設計方法。該電池管理系統可直接檢測及管理儲能電池工作的全過程,包括電池充放電過程管理、電池溫度檢測、電池電壓電流檢測、電量估計、單體電池間的均衡、電池故障診斷等幾個方面。在單電池電壓測量、總電壓、總電流、溫度測量及SOC估計和其他功能方面均達到了要求。
系統不可防止地存在一些不足,對進一步的研究工作有如下展望:
(1)新增CAN通信模塊,CAN(ControlAreaNetwork)總線是德國BOSCH公司在80年代初為解決現代汽車中眾多的控制與測試儀器之間的數據交換而開發的一種串行數據通信協議,具有實時性強、抗干擾能力強、結構簡單、應用方便、價格低廉等特點,在現場總線中有一定的優勢。通過CAN總線組成具有兩級控制結構的可同時管理多組鋰離子電池組的分布式鋰離子電池管理系統。系統采用1個CECU(centralelectriccontrolunit)和5個LECU(localelectralcontrolunit)組成,原理圖如圖6-1所示,8節鋰離子電池為1個電池組,每個電池組由1個LECU管理,本文設計的鋰離子電池管理系統只作為1個LECU管理1組電池組。CECU接收各LECU數據并對數據進行處理。
(2)關于SOC估測方法的研究還沒有達到較為理想的狀態,要進一步深入下去,把一些沒有考慮到的對SOC有影響的因素引入到算法中來,如:電池老化引起電池容量的變化,單體電池對電池組的影響,溫度和電池容量對自放電的影響等。
下一篇:一種單節鋰離子電池保護IC設計