<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 電源與新能源 > 設計應用 > 基于STM32的多節鋰電池管理系統的設計

基于STM32的多節鋰電池管理系統的設計

作者: 時(shí)間:2013-03-17 來(lái)源:網(wǎng)絡(luò ) 收藏

引言

電池節能和污染正日益成為人們關(guān)注的問(wèn)題。在傳統電池領(lǐng)域中,鉛酸電池和鎳氫電池在實(shí)際使用過(guò)程中存在一系列問(wèn)題:如比容小,不適應快速充電和大電流發(fā)電或者是鎳氫電池在串聯(lián)電池組時(shí)管理問(wèn)題比較多。相反,鋰電池不僅比容要好于鉛酸電池和鎳氫電池,而且還具有無(wú)記憶效應、使用壽命長(cháng)和單節電芯電壓高等優(yōu)點(diǎn)。

在礦用產(chǎn)品中,鋰電池逐步替代了鉛酸電池和鎳氫電池。但鋰電池在使用時(shí)也存在一個(gè)重要的問(wèn)題,它在過(guò)充電或是在過(guò)放電時(shí)電池可能會(huì )發(fā)生爆炸,因此需要良好的保護電路來(lái)配合使用,這樣可以杜絕電池爆炸的問(wèn)題。本文研究的就是利用f103單片機和LTC6802-1芯片對鋰電池組進(jìn)行管理保護。這樣可以既可以發(fā)揮鋰電池的優(yōu)勢,也可以杜絕使用鋰電池產(chǎn)生的一些問(wèn)題。

LTC6802介紹

在眾多電池管理芯片中,LTC6802性能出眾,其獨特的內部設計使其能同時(shí)檢測多達12節電池電壓,而且其簡(jiǎn)單的外部電路配置能使我們方便的搭建系統,有利于降低成本和開(kāi)發(fā)時(shí)間。

LTC6802內部有高精度的模數轉換器,位數多達12位,單個(gè)LTC6802能同時(shí)檢測12節串聯(lián)單體電池電壓,也可以測量電池組總電壓,在電池中,我們可以將多個(gè)LTC6802芯片組成鏈式電路,方便我們監測多于12節或大于60V的電池組,采用這種可堆疊式架構使得我們測量或管理1000V電池系統成為可能,利用其雙熱敏電阻輸入、板上溫度傳感器等多種渠道可以實(shí)時(shí)監測鋰電池組溫度。

LTC6802與微處理器之間的通信是由一個(gè)兼容式串行接口實(shí)現,在鏈式電路中,每個(gè)LTC6802都能通過(guò)簡(jiǎn)單的二極管隔離實(shí)現數據通信。其SPI時(shí)序圖如圖1所示。

基于STM32的多節鋰電池管理系統的設計
圖1 SPI通信時(shí)序

LTC6802有多種工作模式,如待機模式、測量模式以及監視模式;每一種模式都有其獨特的工作狀態(tài):

待機模式:系統上電時(shí),LTC6802默認處于待機狀態(tài),此時(shí),除串口和穩壓器電路外,其他電路都處在關(guān)閉狀態(tài),這時(shí)LTC6802電流處在最小狀態(tài)。

測量模式:通過(guò)命令對寄存器CDC位進(jìn)行設置,可以使LTC6802處在測量模式中,此時(shí),對單體電池的電壓進(jìn)行正常監視,通過(guò)寄存器能判斷其是否過(guò)壓或欠壓。

監視模式:LTC6802只監視處于過(guò)壓或欠壓狀態(tài)的單體電池,串口通信電路處于關(guān)閉狀態(tài);

它廣泛應用于電動(dòng)汽車(chē)和混合動(dòng)力汽車(chē)、大功率可攜帶設備、備用電源、高壓數據采集系統,本文中主要將其應用在備用電源中,取得良好效果。

硬件系統的設計

在圖2中,LTC6802鏈式電路可以測量多節(12節或更多)鋰電池電芯值,通過(guò)這些電壓或溫度值,可以判斷電池是過(guò)充、過(guò)放還是過(guò)溫。F103主控芯片通過(guò)自帶動(dòng)SPI總線(xiàn)模塊從LTC6802中讀取所需要的值,利用充放電控制單元對鋰電池組進(jìn)行保護,同時(shí)也可以在LCD人機界面上顯示。

基于STM32的多節鋰電池管理系統的設計

圖2 硬件系統框圖

F103控制單元

該款單片機是基于Cortex-M3內核設計的ARM芯片,內部集成SPI總線(xiàn)模塊、USB模塊、16路ADC采樣等等外設。其時(shí)鐘頻率最大可以達到72MHz,這樣的頻率可以滿(mǎn)足大部分場(chǎng)合的需要。內置512KB的高速存儲器以及64KB的SRAM,豐富的增強I/O端口和連接到APB總線(xiàn)的外設均使得STM32F103成為一款非常優(yōu)秀的單片機。

這些豐富的外設資源,使得STM32F103系列單片機適合于多種場(chǎng)合:

①電機驅動(dòng)和應用控制;

②醫療和手持設備;

③PC外設和GPS平臺;

④工業(yè)應用:可編程控制器、變頻器、打印機和掃描儀;

⑤警報系統、視頻系統、備用電池系統等等。

在本系統中,STM32F103單片機主要應用在電池中,也就是備用電源。STM32F103通過(guò)自身的SPI外設來(lái)設置LTC6802工作方式,通過(guò)LTC6802讀取電池組電芯電壓值、電芯溫度值,以及設置電池過(guò)壓、欠壓和過(guò)溫等報警標志,并利用這些獲得的值對電池進(jìn)行充放電管理,這樣可以達到保護電池的作用。

在硬件系統框圖中,我們可以看到系統模塊有:?jiǎn)纹瑱C最小系統、LTC6802鏈式電路、電池均衡電路、電池測溫單元電路、通信電路等。

在該電路中,STM32F103單片機主要負責對LTC6802信息的讀寫(xiě),控制均衡電路,也就是充放電控制單元,同時(shí)可以檢測電池溫度,將這些有用信息在人機界面上面顯示。電路如圖3所示。

基于STM32的多節鋰電池管理系統的設計

圖3 STM32F103控制電路

LTC6802鏈式電路

LTC6802鏈式電路在多電池信息檢測中有著(zhù)重要的作用,我們知道一塊LTC6802芯片只能管理12個(gè)單個(gè)電池,一般情況下也就是36V左右。在某些時(shí)候,可能需要電池電壓遠遠大于36V,這個(gè)時(shí)候我們就可以利用LTC6802鏈式電路來(lái)達到這個(gè)要求,如圖4所示。

在圖4中,SPI TOP和SPI BOTTOM就是連接頂端LTC6802和底端LTC6802。這樣就可以組成多級LTC6802鏈式電路。

基于STM32的多節鋰電池管理系統的設計

圖4 LTC6802鏈式電路

控制均衡電路

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

基于STM32的多節鋰電池管理系統的設計

圖5 均衡電路

電池測溫單元電路

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

基于STM32的多節鋰電池管理系統的設計

圖6 電池測溫單元電路

這里VTEMP2處接NTC,我們通過(guò)NTC就可以獲得實(shí)際溫度值。

通信電路

STM32F103與LTC6802的通信電路比較簡(jiǎn)單,主要是SPI通信。如圖7所示。

基于STM32的多節鋰電池管理系統的設計

圖7 通信電路

軟件設計

本電池采用模塊化編程方式,利用高級語(yǔ)言編程,主要流程圖如圖8所示。

圖8中給出的是單個(gè)LTC6802進(jìn)行數據處理的軟件編程,LTC6802芯片可以連接成鏈式電路,這時(shí),通過(guò)STM32F103由高到低逐次向各級LTC6802發(fā)送讀寫(xiě)指令,寫(xiě)指令時(shí),數據由高到低傳送,讀數據則相反。

LTC6802有多個(gè)指令寄存器,如電壓寄存器、溫度寄存器、標志寄存器、命令寄存器。每個(gè)寄存器都有其特殊的功能,如通過(guò)配置電壓寄存器,我們可以設置過(guò)壓大小、欠壓大小等;配置命令寄存器,我們可以設置電池測量個(gè)數等。表1列出了命令寄存器。

表1 命令寄存器

基于STM32的多節鋰電池管理系統的設計

基于STM32的多節鋰電池管理系統的設計

圖8 程序流程圖

基于STM32的多節鋰電池管理系統的設計

圖9 LTC6802的管理效果

系統中采用單片機作為主控制器,利用其本身自帶的SPI外設與LTC6802進(jìn)行數據交換。這里給出一部分程序清單,如下:

void Ltc6802_Init(void)

{

GPIO_Configuration();

SPI_Configuration();

Ltc6802_Write();

}

測試結果

我們可以使用專(zhuān)門(mén)的軟件來(lái)查看LTC6802的管理效果,從圖9我們可以看出電池組中共

模數轉換器相關(guān)文章:模數轉換器工作原理


三維掃描儀相關(guān)文章:三維掃描儀原理
熱敏打印機相關(guān)文章:熱敏打印機原理

上一頁(yè) 1 2 下一頁(yè)

關(guān)鍵詞: STM32 多節鋰電池 管理系統

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>