胡兆坤,安沙沙,瑚 琦
(1.上海理工大學(xué),上海 200093;2.同濟大學(xué),上海 201804)
在智能設(shè)備越來越普及的環(huán)境下,其對電源的安全性要求也越來越高。為了更好地滿足基于Android系統(tǒng)的手持式光譜儀的供電需求,設(shè)計了該光譜儀供電電源管理方案。
該方案用STM32Fxx主控制器作為通訊主機,選取TI公司的BQ29412電源保護芯片和BQ3050電源管理芯片。BQ3050采用兩級安全保護方案,電量測量誤差在1%左右,可自由選擇是否用LED實時指示電源電量、電量偏低警告、溫度過高警告、過壓和過流警告等,能隨時把電源的安全狀況和電量使用情況告知用戶,方便用戶合理使用電源。
系統(tǒng)主要包括安全保護、電量測量和通訊三部分,其中安全保護分為一級安全保護和二級安全保護,BQ3050采用CEDV算法測量電池電量,圖1是智能電源系統(tǒng)框圖。

圖1 智能電源系統(tǒng)框圖
一級安全保護:檢測電阻實時測量電路中電流,實現(xiàn)過壓、欠壓保護、充放電過流保護和短路保護。溫度傳感器實時檢測電源內(nèi)部溫度,實現(xiàn)對電源的充放電過溫保護。
二級安全保護:BQ29412實現(xiàn)過壓安全保護,充放電過流安全保護、充放電和預(yù)充電故障保護、電池平衡監(jiān)測、寄存器故障和通訊故障監(jiān)測等。
BQ3050測量電量容量達到32 Ah,根據(jù)溫度評估計量任何時間RM(剩余有效電量)。電容平衡法充電,根據(jù)電阻跟蹤算法,充放電情況及自放電速率,計算出當(dāng)前電源的剩余電量。
BQ3050的設(shè)備地址是0X16,采用SMBus通訊協(xié)議,SMBus是一種串行數(shù)據(jù)總線,兼容I2C總線,當(dāng)SMBC和SMBD的邏輯低電平持續(xù)時間大于2 s時,BQ3050會監(jiān)測到SMBus是關(guān)閉狀態(tài),當(dāng)SMBC和SMBD的邏輯低電平轉(zhuǎn)變?yōu)楦邥r,高電平時間小于1 s,則通訊狀態(tài)是有效的。系統(tǒng)控制器對接口的讀寫操作都是以字節(jié)為單位的,由SMBus接口自動控制數(shù)據(jù)的串行傳輸,SMBus通訊時序圖如圖2。

圖2 SMBus通訊時序圖
BQ3050采用了經(jīng)SHA-1認(rèn)證機構(gòu)認(rèn)證的“電阻跟蹤算法”,算法綜合了充放電電壓、電流、自放電速率和電池溫度等因素,計算出當(dāng)前電源的剩余電量。
鋰離子電池具有電壓高、能量密度高、循環(huán)壽命長、無記憶效應(yīng)、工作溫度范圍寬以及安全性好等諸多優(yōu)點,因此選擇18650鋰電池作為電源管理系統(tǒng)的電芯。
單節(jié)16850電池輸出3.7 V,最大4.2 V,為了滿足常用便攜設(shè)備供電需求,電池組設(shè)定為兩并兩串,輸出電壓7.4 V,最大輸出電壓8.4 V,芯片內(nèi)部有三個工作溫度梯度的只讀寄存器,溫度閾值為T1、T2、T3,環(huán)境溫度為T,電源工作溫度范圍為-40~+70℃,電源正常工作溫度:

主機可以實時讀取電池所處環(huán)境的溫度,當(dāng)溫度在低于T1下限或高于T上線時,保護電路自動切斷電池的充放電,以實現(xiàn)對電池的保護。
BQ3050有兩個內(nèi)部溫度傳感器,兩個外部溫度傳感器,監(jiān)測電池組內(nèi)外的溫度變化。充電時,在單節(jié)電池平均電壓低于電壓設(shè)定值時,電池進入預(yù)充電模式,此時充電電流應(yīng)調(diào)整為250 mA,并維持這個充電電流直到電池電壓高于設(shè)定值,然后電池進入正常充電模式。
BQ3050電量測量采用阻抗跟蹤測定技術(shù),實現(xiàn)了一種動態(tài)建模算法,能夠?qū)W習(xí)在老化條件下的電池特性,可以對負(fù)載和溫度進行補償,得到精確的建模,合理評估電池的自放電電量,自放電速率對應(yīng)表格如表3。

表3 自放電速率
Temp是電源當(dāng)前的工作環(huán)境溫度,Y是可編程賦值的8位寄存器,SELF-DISCHARGE-RATE是電源的自放電速率,也是可編程的,Self-Discharge Rate(自放電速率)計算公式:

BQ3050根據(jù)充放電情況和自放電情況,調(diào)整RM(剩余電量),RM寄存器是可通過SMBus接口訪問讀取的,DCR(放電計量寄存器)可以追蹤電池的放電情況,BQ3050用DCR寄存器更新FCC(滿電量容量寄存器),F(xiàn)CC更新算法:

EVD2是可以通過編程設(shè)置的終止放電電壓閾值,系統(tǒng)也可以根據(jù)電源容量、溫度和放電負(fù)載給出相應(yīng)的匹配值,Battery_Low%是可編程設(shè)置的電源低電量值,如果電壓閾值(EVD2)未達到,而剩余電量狀態(tài)值已達到Battery_Low%,要等待電壓達到電壓閾值才終止放電。
該設(shè)計方案使用STM32F4xx高級單片機作為通訊主機,主機根據(jù)SMBus讀寫時序,向BQ3050寄存器發(fā)送指令,寫入適合方案需要的各個參數(shù),或讀取所需要的寄存器數(shù)據(jù),供實驗參考和上位機使用。
單片機進行寫操作時,首先發(fā)送該器件的7位地址碼和寫方向位“0”(共8位,即一個字節(jié)),發(fā)送完后釋放SDA線并在SCL線上產(chǎn)生第9個時鐘信號。被選中的存儲器器件在確認(rèn)是自己的地址后,在SDA線上產(chǎn)生一個應(yīng)答信號作為響應(yīng),單片機收到應(yīng)答后就可以傳送數(shù)據(jù)了如圖3。

圖3 單片機寫操作
單片機進行讀操作時,先發(fā)送該器件的7位地址碼和寫方向位“0”,發(fā)送完后釋放SDA線并在SCL線上產(chǎn)生第9個時鐘信號。被選中的存儲器器件在確認(rèn)是自己的地址后,在SDA線上產(chǎn)生一個應(yīng)答信號作為響應(yīng)。當(dāng)最后一個字節(jié)數(shù)據(jù)讀完后,單片機應(yīng)返回以“非應(yīng)答”(高電平),并發(fā)出終止信號以結(jié)束讀出操作如圖4。

圖4 單片機讀操作
利用電子儀表測試智能電池系統(tǒng)硬件電路的各關(guān)鍵測試點的電壓,包括輸出電壓,均在合理范圍內(nèi)。加載和卸載負(fù)載,各指示燈指示正常,當(dāng)電量低于10%時,一個指示燈閃爍警告,當(dāng)電量充滿至100%時,所有5個指示燈亮,利用上位機評估軟件,數(shù)據(jù)Flash寫入和讀出都正常。
該方案經(jīng)重復(fù)性測試,沒有發(fā)現(xiàn)保護電路工作異常問題,電壓測試點正常,恒流輸出穩(wěn)定,具有安全性好,電量測量精度高、集成度高,只占用極小的PCB版圖即可實現(xiàn)電源保護和電源管理,有兩級電池安全預(yù)警措施和前沿的電阻跟蹤算法。
該方案不足之處,忽略了電磁干擾對微弱電流信號和焊接點極間電容對微弱檢測信號的干擾,還有待改善。總體來說,該方案滿足了手持式光譜儀需求,在高安全性便攜式電源、光學(xué)儀器,及其他儀器儀表中也有著潛在的應(yīng)用價值。
[1] 金明鋼,趙新兵,沈 垚,等.低溫鋰離子電池研究進展[J].電源技術(shù),2007,(11):930-933.
[2] 蔣忠偉,孫一鳴,胡曉吉.基于嵌入式計算平臺的智能電池系統(tǒng)的設(shè)計[J].計算機工程與設(shè)計,2011,(6):1970-1974.
[3] 張志文,龐新潔.基于Atmega128的電量檢測及保護單元的設(shè)計[J].西安工業(yè)大學(xué)學(xué)報,2012,(2):152-156.
[4] 莊建華,刁 超.基于SMBus的便攜式設(shè)備智能電池系統(tǒng)的實現(xiàn)[J].計算機工程,2005,(10):203-205.
[5] Microchip.PS501現(xiàn)場可編程的單芯片電池管理器[Z].2004.
[6] 堯 鵬,謝志江,余中云.一種高精度數(shù)據(jù)采集無限傳輸系統(tǒng)硬件設(shè)計[J].重慶大學(xué)學(xué)報:自然科學(xué)版,2006,29(4):9-11.
[7] 戴仙金.51單片機及其C語言程序開發(fā)實例[M].北京:清華大學(xué)出版社,2008.
[8] GB/T22239-2008,信息安全技術(shù)信息系統(tǒng)安全等級保護基本要求[S].2007.
[9] GB/T20984-2007,信息安全技術(shù)信息安全風(fēng)險評估規(guī)范[S].2007.