1、引言 近年來(lái),便攜式電子產(chǎn)品的迅猛發(fā)展促進(jìn)了電池技術(shù)的更新?lián)Q代。鋰離子電池由于其具有高能量密度、長(cháng)壽命、低自放電率、無(wú)污染等特性,迅速成為市場(chǎng)的主流電池產(chǎn)品。為了防止電池出現過(guò)充電或過(guò)放電狀態(tài)、保證電池的安全性能和避免出現電池特性惡化現象,必須在鋰離子電池組中安裝保護電路。同時(shí)要鋰電池能夠穩定可靠的為設備提供能量,對于電池的智能檢測與監控是必須考慮的環(huán)節。鋰電池供電是現代便攜式設備最合適的供電方案,但其充放電安全性不如鎳鉻電池、鎳氫電池及普通一次性干電池的傳統電源。如果充放電方法不對,將會(huì )導致鋰電池發(fā)生安全問(wèn)題,甚至爆炸,故鋰電池有必要加入監控電路以實(shí)時(shí)監控充放電過(guò)程。本文以珠海炬力SOC芯片ATJ2085來(lái)設計鋰電池的外圍檢測系統,該設計方案以微處理器作為各種功能控制的核心, 除了對鋰離子電池組提供過(guò)充、過(guò)放、過(guò)流保護外, 還可有效的對鋰離子電池組內各單節鋰電的充、放電提供平衡保護、能夠實(shí)時(shí)檢測出電池所處狀態(tài)并對鋰電池進(jìn)行保護。 2、ATJ2085的電池監測的功能的使用 ATJ2085為L(cháng)QFP封裝,64針腳,采用內嵌式的MCU和24-bit DSP雙處理器體系結構,分別完成針對操作事件控制和多媒體數據編/解碼算法的系統級優(yōu)化,通過(guò)數;旌闲盘柤夹g(shù),在單一硅片上集成了高精度ADC/DAC轉換器、USB控制器,實(shí)時(shí)時(shí)鐘RTC等。支持USB2.0(FULLSPEED),支援MP3/WMA/WAV/WMV/ASF等格式媒體播放;支持MTV電影播放;支持JPG、GIF、BMP圖片瀏覽。其系統集成度高,外圍應用電路簡(jiǎn)單,擁有功能完善而成熟的開(kāi)發(fā)工具和環(huán)境。 在A(yíng)TJ2085中,電池電壓從電池電壓檢測引腳VBATPIN輸入,VBAT的電壓范圍小于3.0伏,所以無(wú)論一節堿性電池(1.5V)供電還是兩節堿性電池(3.0V)供電,在外部電池供電電壓小于3.0伏時(shí)外部都無(wú)需要加分壓電阻。ATJ2085中有一個(gè)4bit的ADC,它把0.9-1.5伏之間的電壓16等分為:0.90V,0.94V,0.98V,1.02V,1.06V,1.10V,1.14V,1.18V,1.22V,1.26V,1.30V,1.34V,1.38V,1.42V,1.46V,1.50V。當電池電壓大于3.0伏供電時(shí),BATSEL接高電平,決定了從VBATPIN腳輸入的電壓在比較前會(huì )被分壓。并且A/D變換出來(lái)的數值會(huì )每2秒一次被記錄在IO PORT(D8H).BIT[3:0]里,這樣軟件就可以讀回IO PORT(D8H)中的值,與功能規格表(表1)中的值作比較,來(lái)確定要顯示的電池電量及采取的動(dòng)作。很明顯ATJ2085能在更多點(diǎn)上監測電池電壓。 表1 功能規格表 舉例如下: 假設VL0>VL1>VL2>VL3,電池電量顯示為3格 選VL0=1.30V, 即IO PORT(D8H).BIT[3:0]=0AH, VL1=1.10V, 即IO PORT(D8H).BIT[3:0]=05H, VL2=0.98V, 即IO PORT(D8H).BIT[3:0]=02H, 當VBAT>VL0時(shí),電池電量顯示為滿(mǎn)格; 當VL0>VBAT>VL1時(shí),電池電量顯示為缺1格; 當VL1>VBAT>VL2時(shí),電池電量顯示為缺2格; 當VBAT 3、電池檢測系統設計 3.1 電路設計 在本文中檢測電路僅僅列出鋰電池檢測電路的原理圖,該設計考慮到了鋰電池的過(guò)壓特性,于是選用SC805電池檢測芯片來(lái)進(jìn)行硬件電路的設計。如下圖所示,電路圖一部分是對于USB充電和過(guò)壓的保護設計,另一部分為電池電量檢測 圖1 檢測電路 正如ATJ2085的電池監測的功能的使用描述一樣,需要在電池兩端連接電阻R424和電阻R422(理想狀態(tài)下電阻R424和電阻R422比值應該為1:2)來(lái)分壓。但是考慮到非理想ADC的量化間隔是非等寬的,這勢必導致ADC器件不能完全正確地把模擬信號轉化成相應的二進(jìn)制碼,從而造成信噪比的下降;且ADC每個(gè)量化的二進(jìn)制碼所對應的量化間隔都不同,為了使設計的系統參數盡可能準確,我們需要克服微分非線(xiàn)性量化誤差。于是需要調整R424和R422的組值(如圖1所示)。 3.2 電壓檢測 ATJ2085內部有一個(gè)4 Bit非理想ADC.作為檢測電源電壓之用。此4 bit ADC可以根據固件(F/W)設定的電壓值,產(chǎn)生LB-和LBNMI-信號。對于鋰電池,由于自身特性不可能使產(chǎn)生的電壓直接可以達到0~1.5,需要利用如下公式分壓: 將分壓后的值與鋰電池實(shí)際值進(jìn)行對應,其電壓檢測如表2所示: 表2 鋰電池電壓檢測表 通過(guò)硬件后可以將表2的值對應到表1中去通過(guò)調用以下軟件流程進(jìn)行處理。 3.3 軟件流程 該檢測系統軟件設計流程如圖2所示: 首先清watchdog,然后通過(guò)GPIO_A0檢測USB狀態(tài),接下來(lái)進(jìn)行充電引腳GPIO確認并開(kāi)始充電,充電時(shí)將GPIO_A0(如檢測電路圖)寄存器的對應位置高電平,同時(shí)利用GPIO_B6進(jìn)行電池狀態(tài)檢測。當需要對4位ADC寄存器讀寫(xiě)數據時(shí),需要設置其端口值參數,通過(guò)電池狀態(tài)檢測后,最后將檢測到的電池參數通過(guò)顯示函數顯示在LCD上。 其初始化代碼如下: output8(0x4e,input8(0x4e)|0x08)//清watchdog output8(0xee,input8(0xee)|0x01); //初始化端口參數,開(kāi)始充電 output8(0xf0,input8(0xf0)&0xbf); output8(0xf1,input8(0xf1)|0x40); output8(0xee,input8(0xee)& 0xfe); if((input8(0x50)&0x40)!=0x40) if(!(input8(0xee)&0x04)) //防止充電黑屏后拔掉USB不開(kāi) 4、結束語(yǔ) 通過(guò)該方法設計的鋰電池檢測系統不僅可以有效防止電池的過(guò)壓、過(guò)充、過(guò)放、過(guò)溫,同時(shí)可以智能監控電池的電壓狀態(tài);該設計方案簡(jiǎn)單易行,穩定可靠,對于嵌入式系統的設計與研發(fā)具有一定的指導意義和實(shí)踐價(jià)值。該方法的創(chuàng )新之處在于不管外接干電池、鋰電池還是鎳氫電池均可以用該電路設計方法對電池進(jìn)行監控。 |