電池管理系統中的均衡電路,
我們呢思考一下為啥要均衡呢
單體電壓是直接測量值,可以實時在線測量,這都使它成為衡量系統電芯一致性水平的有利條件。不單如此,常見BMS管理策略中,把單體電壓值作為觸發條件的情況還有放電終止條件,充電終止條件等等。
處于這樣位置的一個參數,單體電壓一致性差異過大,則直接限制了電池包充電電量和放電電量。基于此,人們用電池均衡方法解決已經處于運營狀態的電池組單體電壓差異過大問題,來提高電池組容量。從而也就可以做出,均衡手段延長了續航里程,延長了電池使用壽命之類的推論。下面一幅圖很形象的說明了主動均衡的原理。從這里可以看出,我們的均衡并非很理想,只是暫時沒有更好的辦法。
我們通常把能量消耗型均衡叫做被動均衡,而把其他均衡稱為主動均衡。而對系統進行人為干預的,雖然經常不被理論討論,但在實際應用中卻不可或缺的,單體充電均衡,就是人工單獨給電壓過低電芯充電的解決不一致問題的方式。
主動均衡的具體實施方案有很多種,從理念上可以再分成削高填低型和并聯均衡型兩大類。通常被質疑主動均衡影響電池壽命的,特指削高填低這類主動均衡。匯總幾種典型主動均衡電路在下面。
削高填低,就是把已經電壓高的電芯的能量轉移一部分出來,給電壓低的電芯,從而推遲最低單體電壓觸及放電。截止閾值和最高單體電壓觸及充電終止閾值的時間,獲得系統提升充入電量和放出電量的效果。
但是在這個過程中,高電壓單體和低電壓單體都額外的進行了充放。我們都知道,電池的壽命被稱為“循環壽命”,僅僅就這顆電芯來說,額外的充放負擔會帶來壽命的消耗是一個確定的事,但對電池包系統而言,總體上是延長了系統壽命還是降低了系統壽命,目前還沒有看到明確的實驗數據予以證明。
削高填低的均衡,包括電容式均衡,電感式均衡,變壓器式均衡,此三種均衡方式包括充電過程中的均衡以及靜置過程的均衡。另外還有一種主動均衡,叫做并聯式均衡,它只在充電過程中發揮作用。
也有人認為應該在車輛運行中,和放電過程的末尾加入均衡,但一般認為系統電流值的波動比較大,如果依然以單體電壓為依據進行均衡,則很可能出現誤判,影響均衡效果。當然,隨著技術的發展,能夠通過其他手段直接對SOC進行準確的推算,則根據SOC進行的均衡,將不會再受到這個問題的困擾。
電容式均衡
設 B1,B3 電池單體分別為組內電壓最高、最低單體。圖中所有開關管為常開,當均衡器發出均衡指令時,功率開關管 S1、Q2 閉合,此時單體電池 B1 給電容充電,控制功率開關管的占空比控制充電功率和時間,充電結束后,開關管 S3、Q4 閉合,電容給單體電池 B3 充電,此時電池組內不均衡度降低,均衡結束。
電感式均衡
充電過程中,開關管 S 閉合,充電機給電池組充電。此時電池組右側開關管全部斷開,均衡系統不開啟。設單體電池B1 電壓開始明顯高于其他電池并達到均衡閾值時,此時均衡系統開啟,S1、Q2開關管閉合,電感與單體電池 B1 并聯,起到分流的作用,電感儲存來自充電機與電池 B1 的能量;當 S1、Q2 開關管置 0,Q3、S4 開關管置 1 時,電感給充電過程的單體電池 B3 釋放一定能量。
靜置過程中,開關管 S 斷開,當單體電池 B1 電壓高于其他電池并達到均衡閾值時,均衡系統開啟,S1、Q2 開關管閉合,電感與單體電池 B1 并聯,電感吸收 B1 能量;當 S1、Q2 開關管斷開,Q3、S4 開關管閉合時,電感給單體電池 B3釋放電量。
變壓器式均衡
基于反激式均衡變壓器進行參數設計,即變壓器既作為吸收能量源又作為釋放能量源,吸收與釋放能量的轉換在于能量在磁能與電能之間的轉換。
同樣,設單體電池 B1 電壓最高,將 S1、Q2 置 1,其他開關管置 0,此時變壓器作為吸收能量源,能量由 B1 電池給的電能轉換為磁能;S1、Q2 置 0,Q1、S2 置 1,能量由初級繞組傳遞給次級繞組,能量釋放給單體電池 B3,能量由磁能重新轉換為電能。
并聯均衡
理想的均衡方式是所有電池能量及端電壓相同,并聯電池組內單體電池電壓始終相等,因為和連通器原理一樣,兩邊水柱永遠水平,并聯電池也先天性的單體電壓高的自發給單體電壓低的電池充電。但串聯電池組內想要應用此原理,就需要稍微改變原電池組拓撲結構。
如下圖所示的并聯拓撲結構,每節單體電池都有一個單刀雙擲的開關繼電器,所以 n 節串聯電池組內需要 n+1 個繼電器。
控制原理如下:設電池組內 B4 電壓最高,B2 電壓最低,控制繼電器 S5、S3、Q4、Q2 閉合,此時兩節單體電池并聯,兩單體電池自動均衡,電壓趨于一致。該拓撲的缺點是充電過程中不能進行均衡,只能靜置去極化時候進行并聯均衡。
看看實際電路中總體思路
就是利用這款芯片對電池電壓進行采集,替代之前的隔離,ad切換等復雜的工作。為電池管理系統提供可靠的前端采集,同時,也通過mosfet對電池進行放電均衡,保持電池一致性,防止危險發生。通過實時顯示,報告電池狀態,如果有異常情況及時LED報警。圖紙如下
我們呢主要看均衡電路那塊,通過電阻放電的方式
pcb圖
AD7280A采用電池直接供電,8-30V寬輸入電壓,理論精度在正負1.6mv,采用SPI方式通訊
//-------------模擬spi收發---------------------
unsigned long spi(unsigned long Data_send)
{
unsigned char i;
unsigned long Data_receive,j;
j=Data_send;
Data_receive=0;
SCLK=0;SDO=0;CS=0;
for(i=0;i<32;i++) //"發數據
{
if (SDI) {
Data_receive=Data_receive|0x00000001;
}
asm ("nop");
Data_receive=Data_receive<<1;
SCLK=1;
asm ("nop");
if (j&0x80000000){SDO=1;}
else SDO=0;
asm ("nop");
j=j<<1;
SCLK=0;
}
CS=1;
delay(2);// 延時3us8
return Data_receive;
}
//-------------初始化AD7280A----------
void initad7280()
{
//-----12路初始化--------
spi(0x01c2b6e2);//寫0E
delay(60);//延時90us
CS=0;
delay(10); //CS上升沿
CS=1;
spi(0x038716ca);//讀0E 可以作為驗證發送數是否正確
}
//-------------發送32bit數據-------
void spifourbyte(unsigned long data)
{
unsigned char one,two,three,four;
four=data;
three=data>>8;
two=data>>16;
one=data>>24;
CS=0;
spibyte(one);
spibyte(two);
spibyte(three);
spibyte(four);
CS=1;
delay(2);// 延時3us
}
//----------spi初始化子程序-------------------
void SPIINIT()
{
PIR1=0;
SSPCON=0x00; // SSPEN=0;CKP=0 , FOSC/4
SSPSTAT=0x80;
}