基于STM32的多節(jié)鋰電池管理系統(tǒng)的設計
引言
電池節(jié)能和污染正日益成為人們關注的問題。在傳統(tǒng)電池領域中,鉛酸電池和鎳氫電池在實際使用過程中存在一系列問題:如比容小,不適應快速充電和大電流發(fā)電或者是鎳氫電池在串聯(lián)電池組時管理問題比較多。相反,鋰電池不僅比容要好于鉛酸電池和鎳氫電池,而且還具有無記憶效應、使用壽命長和單節(jié)電芯電壓高等優(yōu)點。
在礦用產(chǎn)品中,鋰電池逐步替代了鉛酸電池和鎳氫電池。但鋰電池在使用時也存在一個重要的問題,它在過充電或是在過放電時電池可能會發(fā)生爆炸,因此需要良好的保護電路來配合使用,這樣可以杜絕電池爆炸的問題。本文研究的就是利用STM32f103單片機和LTC6802-1芯片對鋰電池組進行管理保護。這樣可以既可以發(fā)揮鋰電池的優(yōu)勢,也可以杜絕使用鋰電池產(chǎn)生的一些問題。
LTC6802介紹
在眾多電池管理芯片中,LTC6802性能出眾,其獨特的內(nèi)部設計使其能同時檢測多達12節(jié)電池電壓,而且其簡單的外部電路配置能使我們方便的搭建系統(tǒng),有利于降低成本和開發(fā)時間。
LTC6802內(nèi)部有高精度的模數(shù)轉(zhuǎn)換器,位數(shù)多達12位,單個LTC6802能同時檢測12節(jié)串聯(lián)單體電池電壓,也可以測量電池組總電壓,在電池管理系統(tǒng)中,我們可以將多個LTC6802芯片組成鏈式電路,方便我們監(jiān)測多于12節(jié)或大于60V的電池組,采用這種可堆疊式架構使得我們測量或管理1000V電池系統(tǒng)成為可能,利用其雙熱敏電阻輸入、板上溫度傳感器等多種渠道可以實時監(jiān)測鋰電池組溫度。
LTC6802與微處理器之間的通信是由一個兼容式串行接口實現(xiàn),在鏈式電路中,每個LTC6802都能通過簡單的二極管隔離實現(xiàn)數(shù)據(jù)通信。其SPI時序圖如圖1所示。

LTC6802有多種工作模式,如待機模式、測量模式以及監(jiān)視模式;每一種模式都有其獨特的工作狀態(tài):
待機模式:系統(tǒng)上電時,LTC6802默認處于待機狀態(tài),此時,除串口和穩(wěn)壓器電路外,其他電路都處在關閉狀態(tài),這時LTC6802電流處在最小狀態(tài)。
測量模式:通過命令對寄存器CDC位進行設置,可以使LTC6802處在測量模式中,此時,對單體電池的電壓進行正常監(jiān)視,通過寄存器能判斷其是否過壓或欠壓。
監(jiān)視模式:LTC6802只監(jiān)視處于過壓或欠壓狀態(tài)的單體電池,串口通信電路處于關閉狀態(tài);
它廣泛應用于電動汽車和混合動力汽車、大功率可攜帶設備、備用電源、高壓數(shù)據(jù)采集系統(tǒng),本文中主要將其應用在備用電源中,取得良好效果。
硬件系統(tǒng)的設計
在圖2中,LTC6802鏈式電路可以測量多節(jié)(12節(jié)或更多)鋰電池電芯值,通過這些電壓或溫度值,可以判斷電池是過充、過放還是過溫。STM32F103主控芯片通過自帶動SPI總線模塊從LTC6802中讀取所需要的值,利用充放電控制單元對鋰電池組進行保護,同時也可以在LCD人機界面上顯示。

圖2 硬件系統(tǒng)框圖
STM32F103控制單元
該款單片機是基于Cortex-M3內(nèi)核設計的ARM芯片,內(nèi)部集成SPI總線模塊、USB模塊、16路ADC采樣等等外設。其時鐘頻率最大可以達到72MHz,這樣的頻率可以滿足大部分場合的需要。內(nèi)置512KB的高速存儲器以及64KB的SRAM,豐富的增強I/O端口和連接到APB總線的外設均使得STM32F103成為一款非常優(yōu)秀的單片機。
這些豐富的外設資源,使得STM32F103系列單片機適合于多種場合:
①電機驅(qū)動和應用控制;
②醫(yī)療和手持設備;
③PC外設和GPS平臺;
④工業(yè)應用:可編程控制器、變頻器、打印機和掃描儀;
⑤警報系統(tǒng)、視頻系統(tǒng)、備用電池系統(tǒng)等等。
在本系統(tǒng)中,STM32F103單片機主要應用在電池管理系統(tǒng)中,也就是備用電源。STM32F103通過自身的SPI外設來設置LTC6802工作方式,通過LTC6802讀取電池組電芯電壓值、電芯溫度值,以及設置電池過壓、欠壓和過溫等報警標志,并利用這些獲得的值對電池進行充放電管理,這樣可以達到保護電池的作用。
在硬件系統(tǒng)框圖中,我們可以看到系統(tǒng)模塊有:單片機最小系統(tǒng)、LTC6802鏈式電路、電池均衡電路、電池測溫單元電路、通信電路等。
在該電路中,STM32F103單片機主要負責對LTC6802信息的讀寫,控制均衡電路,也就是充放電控制單元,同時可以檢測電池溫度,將這些有用信息在人機界面上面顯示。電路如圖3所示。

圖3 STM32F103控制電路
LTC6802鏈式電路
LTC6802鏈式電路在多電池信息檢測中有著重要的作用,我們知道一塊LTC6802芯片只能管理12個單個電池,一般情況下也就是36V左右。在某些時候,可能需要電池電壓遠遠大于36V,這個時候我們就可以利用LTC6802鏈式電路來達到這個要求,如圖4所示。
在圖4中,SPI TOP和SPI BOTTOM就是連接頂端LTC6802和底端LTC6802。這樣就可以組成多級LTC6802鏈式電路。

圖4 LTC6802鏈式電路
控制均衡電路
均衡電路在電池管理過程發(fā)揮著至關重要的作用,我們所做的一切,都是為了方便管理電池電壓、電量的平衡,均衡電路的作用就在于保持電池電壓的平衡,這樣就保護了電池。電路如圖5所示,這里只給出了部分均衡電路。

圖5 均衡電路
電池測溫單元電路
每個芯片都有自己的工作溫度范圍,LTC6802的溫度范圍是85℃,而且當其內(nèi)部溫度超過105℃時,LTC6802采樣性能就會降低,更為嚴重的是,如果其溫度達到150℃,LTC6802芯片極有可能被燒壞。因此,為了保護LTC6802芯片,必須要用溫度檢測電路,其圖如6所示。

圖6 電池測溫單元電路
這里VTEMP2處接NTC,我們通過NTC就可以獲得實際溫度值。
通信電路
STM32F103與LTC6802的通信電路比較簡單,主要是SPI通信。如圖7所示。

圖7 通信電路
軟件設計
本電池管理系統(tǒng)采用模塊化編程方式,利用高級語言編程,主要流程圖如圖8所示。
圖8中給出的是單個LTC6802進行數(shù)據(jù)處理的軟件編程,LTC6802芯片可以連接成鏈式電路,這時,通過STM32F103由高到低逐次向各級LTC6802發(fā)送讀寫指令,寫指令時,數(shù)據(jù)由高到低傳送,讀數(shù)據(jù)則相反。
LTC6802有多個指令寄存器,如電壓寄存器、溫度寄存器、標志寄存器、命令寄存器。每個寄存器都有其特殊的功能,如通過配置電壓寄存器,我們可以設置過壓大小、欠壓大小等;配置命令寄存器,我們可以設置電池測量個數(shù)等。表1列出了命令寄存器。
表1 命令寄存器
圖8 程序流程圖
圖9 LTC6802的管理效果
系統(tǒng)中采用單片機作為主控制器,利用其本身自帶的SPI外設與LTC6802進行數(shù)據(jù)交換。這里給出一部分程序清單,如下:
void Ltc6802_Init(void)
{
GPIO_Configuration();
SPI_Configuration();
Ltc6802_Write();
}
測試結(jié)果
我們可以使用專門的軟件來查看LTC6802的管理效果,從圖9我們可以看出電池組中共
模數(shù)轉(zhuǎn)換器相關文章:模數(shù)轉(zhuǎn)換器工作原理
三維掃描儀相關文章:三維掃描儀原理 熱敏打印機相關文章:熱敏打印機原理
評論