電池組管理電路設計思路
便攜式電源如移動電源,電動車電源、汽車應急啟動電源等都是由一個個電池單元組成的,由于電池產品固有的誤差,要平衡這個誤差讓電池組更好的工作,就需要做BMS管理設計,那么電池組的管理電路設計怎么做呢?
電池組管理系統(tǒng)整體結構
設計的應用實體是一個工業(yè)上使用的便攜式電池組設備,采用Altera的FPGA和其上的NIOS
II嵌入式處理器,并使用USB接口與電腦相連接,面向的是大數據量應用。這個設備需要30V直流電壓,所以計劃使用4個1000mAh鋰聚合物電池串聯的電池組;另外,出于防水防塵的考慮,對外只使用一個方形的USB接口(USBB
Type Sockr,這個USB口同時兼具數據傳輸和充電的功能。
控制核心包括FPGA及其所連的接口、顯示電路,需要3.3V的低電壓,由高效率的DC/DC芯片從4芯鋰電池組直接降壓得到。這個電壓很重要,所以需要保持穩(wěn)定且連續(xù),除非電池組低電量或者過流保護,否則此電壓一直供給。
執(zhí)行機構需要30V直流電壓,電流大約80mA左右,使用一個升壓DC/DC電路,這個電路由控制核心操縱,平時是不工作的,只在需要動作之前開啟。
充電使用外部20V電源,通過USB接口連接。使用這種電源的考慮是為了進行1C或0.5C大電流高速充電。由于與普通USB共用一個端口,為了避免接入普通USB時進入充電程序,需要一個電壓判斷電路進行判斷。
由于合乎需要的芯片解決方案市場上很難尋覓,決定使用FPGA的剩余邏輯資源來實現充電器的控制功能,添加少量的模擬電路來輔助。這就要求對控制電路的供電不能中斷,電池組必須一直在線,并且電池負極需要一直與GND連接。
1、電壓采樣
最重要的部分就是電壓采樣電路的設計,要求精度高并且受溫度影響小。這個設計難點在于電池電壓對于GND而言是浮動的。很多方案采取了差分運放轉換到對地電壓然后輸入專用ADC進行AD變換的方案。但這個方案由于引入了差分運放,產生了許多問題。首先,電壓比較高,運放很難找;其次,運放的電源與輸入電壓使用同一個電源,這樣一來就要求運放需要軌到軌輸入的功能;再次,可能還需要一個負電源,使用DC/DC又引入了噪聲;另外,運放及使用匹配的電阻使得精度降低。
RC充電電路
為了盡量簡化電路,這里構造了積分型的ADC,將FPGA定時的高精度轉化為電壓測量的高精度。其工作流程是:J1先閉合,釋放C1上的電荷;然后J1打開,由R1對C1進行充電;電壓比較器U1將C1上的電壓與參考電壓V2比較,當C1電壓超過V2時輸出高電平。統(tǒng)計從J1打開到U1輸出高電平之間的時間,便可以確定V1的電壓大小??梢灾庇^地看出,V1越高,這段時間越短。
實際取樣電路圖
實際的電路如圖3所示,注意這幅圖只畫出了第一個電池的測量電路。其中,R1與C1便是積分使用的電阻與電容,Q1是常用的P-MOSFET,這里用來實現J1給電容放電的功能,U5
同時實現電壓基準與電壓比較器雙重功能。X1是放電控制,來自FPGA,X2是開關量輸出,去往FPGA。
這個電路在靜態(tài)時僅僅消耗MAX921的4uA電流和C1、Q1、Q2的漏電流,基本可以忽略不計,非常省電。
這個電路另外一個特色是省掉了經常使用的光電耦合器,而使用電容C2代替。靜態(tài)時,C2兩端達到電壓平衡,不消耗電能,此時,X2電壓為0。U5輸出高電平時,因為C2兩端電壓不能瞬變,故X2電壓被提升。D1與D2兩個肖特基二極管是起限幅作用的。仔細調整C2與R4的值就能夠順利地傳遞開關量信息。
2、平衡充電
平衡充電是所有鋰電池組所需要的充電方式,但是很多小功率的應用中實際是沒有平衡充電的,如大多數的筆記本電腦電池組,這樣做實際上對電池壽命的影響是相當大的。
現有的均衡技術主要分為電池間能量傳遞均衡和外部能量輸入均衡。電池間能量均衡就是把高電量電池的能量給低電量電池充電。這種方法最大的問題就是控制起來很復雜。
現在很多專用芯片或者單片機解決方案使用的是外部均衡的方式,這種方式是通過可控制的耗能來實現的。這種方式中一般都是使用一個耗能元件來消耗能量,從而等待其他電池單元充滿或者降低某些單元的電壓。這種方案的缺陷在于穩(wěn)壓二極管上的耗能太大,造成的發(fā)熱量是不能忍受的。
實際充電方式圖
當然,這只是一個示意圖,不包括電流檢測電路(輸入到變壓器之間)和電壓檢測電路(變壓器次級繞組)。其中,開關陣列是用功率MOSFET實現。
這種做法,管子都工作在開關狀態(tài),耗能很少,另外電池沒有串聯二極管,可以獲得最大輸出。不足之處還是電路比較復雜,由于要匹配每個電池的電壓,所以要求輸入充電電路是隔離的。這里采用T1變壓器作為隔離,因為開關頻率可以做得很高,T1變壓器的體積很小。整個充電電路工作在開關狀態(tài),不再添加任何的控制模塊,由FPGA直接控制場效應管,電流檢測和電壓檢測電路的輸出也轉化為開關量直接傳給FPGA。
充電分為四個步驟:
a)檢測是否有電池單體低于2.5V,如有,使用5%的占空比對低于2.5V的電池輪流充電,使其升壓到2.5V;
b)打開J1和J8,對整體進行大電流充電,同時測量電池單體的電壓,如果有電池單體達到4.2V,進入下個步驟;
c)逐漸降低占空比,使單體電池的最高電壓維持在4.2V,直到占空比<5%;
d)對未到4.2V的電池進行輪流充電,當占空比均下降到5%時,充電結束。
這里需要說明的是,a)和d)步驟中輪流充電是通過開關矩陣實現的,并且輪流充電并不會延長充電時間,這是因為此時的占空比遠遠小于25%,可以在一個充電周期內分別給四個電池充電。
3、過流和低壓保護
為了保證電池組的絕對安全,電池組的過流和低壓保護是獨立設置的,當出現問題時可直接切斷電池組的輸出,這種類型的電路也非常普遍。