基于ATJ2085的鋰電池檢測(cè)系統(tǒng)設(shè)計(jì)
關(guān)鍵詞:鋰離子電池;電池保護(hù);便攜式設(shè)備;電池檢測(cè);SOC
1、引言
近年來(lái),便攜式電子產(chǎn)品的迅猛發(fā)展促進(jìn)了電池技術(shù)的更新?lián)Q代。鋰離子電池由于其具有高能量密度、長(zhǎng)壽命、低自放電率、無(wú)污染等特性,迅速成為市場(chǎng)的主流電池產(chǎn)品。為了防止電池出現(xiàn)過(guò)充電或過(guò)放電狀態(tài)、保證電池的安全性能和避免出現(xiàn)電池特性惡化現(xiàn)象,必須在鋰離子電池組中安裝保護(hù)電路[1]。同時(shí)要鋰電池能夠穩(wěn)定可靠的為設(shè)備提供能量,對(duì)于電池的智能檢測(cè)與監(jiān)控是必須考慮的環(huán)節(jié)。鋰電池供電是現(xiàn)代便攜式設(shè)備最合適的供電方案,但其充放電安全性不如鎳鉻電池、鎳氫電池及普通一次性干電池的傳統(tǒng)電源[5]。如果充放電方法不對(duì),將會(huì)導(dǎo)致鋰電池發(fā)生安全問(wèn)題,甚至爆炸,故鋰電池有必要加入監(jiān)控電路以實(shí)時(shí)監(jiān)控充放電過(guò)程[4]。本文以珠海炬力SOC芯片ATJ2085來(lái)設(shè)計(jì)鋰電池的外圍檢測(cè)系統(tǒng),該設(shè)計(jì)方案以微處理器作為各種功能控制的核心, 除了對(duì)鋰離子電池組提供過(guò)充、過(guò)放、過(guò)流保護(hù)外, 還可有效的對(duì)鋰離子電池組內(nèi)各單節(jié)鋰電的充、放電提供平衡保護(hù)、能夠?qū)崟r(shí)檢測(cè)出電池所處狀態(tài)并對(duì)鋰電池進(jìn)行保護(hù)。
2、ATJ2085的電池監(jiān)測(cè)的功能的使用[6] [7]
ATJ2085為L(zhǎng)QFP封裝,64針腳,采用內(nèi)嵌式的MCU和24-bit DSP雙處理器體系結(jié)構(gòu),分別完成針對(duì)操作事件控制和多媒體數(shù)據(jù)編/解碼算法的系統(tǒng)級(jí)優(yōu)化,通過(guò)數(shù)模混合信號(hào)技術(shù),在單一硅片上集成了高精度ADC/DAC轉(zhuǎn)換器、USB控制器,實(shí)時(shí)時(shí)鐘RTC等。支持USB2.0(FULLSPEED),支援MP3/WMA/WAV/WMV/ASF等格式媒體播放;支持MTV電影播放;支持JPG、GIF、BMP圖片瀏覽。其系統(tǒng)集成度高,外圍應(yīng)用電路簡(jiǎn)單,擁有功能完善而成熟的開(kāi)發(fā)工具和環(huán)境。
在ATJ2085中,電池電壓從電池電壓檢測(cè)引腳VBATPIN輸入,VBAT的電壓范圍小于3.0伏,所以無(wú)論一節(jié)堿性電池(1.5V)供電還是兩節(jié)堿性電池(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。當(dāng)電池電壓大于3.0伏供電時(shí),BATSEL接高電平,決定了從VBATPIN腳輸入的電壓在比較前會(huì)被分壓。并且A/D變換出來(lái)的數(shù)值會(huì)每2秒一次被記錄在IO PORT(D8H).BIT[3:0]里,這樣軟件就可以讀回IO PORT(D8H)中的值,與功能規(guī)格表(表1)中的值作比較,來(lái)確定要顯示的電池電量及采取的動(dòng)作。很明顯ATJ2085能在更多點(diǎn)上監(jiān)測(cè)電池電壓。
表1 功能規(guī)格表
對(duì)應(yīng)電池電壓 | 對(duì)應(yīng)4Bit讀數(shù) | 對(duì)應(yīng)軟硬件動(dòng)作 |
0.9 | 00h | 由F/W設(shè)置,硬件reset |
0.94 | 01h | … |
0.98 | 02h | 硬件產(chǎn)生中斷、軟件進(jìn)入standby |
1.02 | 03h | … |
1.06 | 04h | 軟件空電量顯示、(當(dāng)錄音文件小于32M時(shí)終止錄音) |
1.10 | 05h | 軟件空電量顯示、(當(dāng)錄音文件大于32M時(shí)終止錄音) |
1.22 | 08h | … |
1.26 | 09h | … |
1.30 | 0Ah | … |
1.34 | 0Bh | … |
1.38 | 0Ch | 滿電顯示 |
1.42 | 0Dh | … |
1.46 | 0Eh | … |
1.50 | 0Fh | … |
舉例如下:
假設(shè)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,
當(dāng)VBAT>VL0時(shí),電池電量顯示為滿格;
當(dāng)VL0>VBAT>VL1時(shí),電池電量顯示為缺1格;
當(dāng)VL1>VBAT>VL2時(shí),電池電量顯示為缺2格;
當(dāng)VBATVL2時(shí),電池電量顯示為缺3格,即空格,并閃爍。
另外,當(dāng)電池的電壓低于某個(gè)電壓時(shí)(假設(shè)VL2),軟件把一些耗電大的電路關(guān)斷(利用IO PORT控制),如DSP,DAC等等。當(dāng)VBAT PIN腳上的電壓低于LBD PIN腳的電壓時(shí),ATJ2085仍會(huì)被無(wú)條件復(fù)位。
3.1 電路設(shè)計(jì)
在本文中檢測(cè)電路僅僅列出鋰電池檢測(cè)電路的原理圖,該設(shè)計(jì)考慮到了鋰電池的過(guò)壓特性,于是選用SC805電池檢測(cè)芯片來(lái)進(jìn)行硬件電路的設(shè)計(jì)。如下圖所示,電路圖一部分是對(duì)于USB充電和過(guò)壓的保護(hù)設(shè)計(jì),另一部分為電池電量檢測(cè)
圖1 檢測(cè)電路
正如ATJ2085的電池監(jiān)測(cè)的功能的使用描述一樣,需要在電池兩端連接電阻R424和電阻R422(理想狀態(tài)下電阻R424和電阻R422比值應(yīng)該為1:2)來(lái)分壓。但是考慮到非理想ADC的量化間隔是非等寬的,這勢(shì)必導(dǎo)致ADC器件不能完全正確地把模擬信號(hào)轉(zhuǎn)化成相應(yīng)的二進(jìn)制碼,從而造成信噪比的下降;且ADC每個(gè)量化的二進(jìn)制碼所對(duì)應(yīng)的量化間隔都不同,為了使設(shè)計(jì)的系統(tǒng)參數(shù)盡可能準(zhǔn)確,我們需要克服微分非線性量化誤差[3]。于是需要調(diào)整R424和R422的組值(如圖1所示)。
3.2 電壓檢測(cè)
ATJ2085內(nèi)部有一個(gè)4 Bit非理想 ADC.作為檢測(cè)電源電壓之用。此4 bit ADC可以根據(jù)固件(F/W)設(shè)定的電壓值,產(chǎn)生LB-和LBNMI-信號(hào)。對(duì)于鋰電池,由于自身特性不可能使產(chǎn)生的電壓直接可以達(dá)到0~1.5,需要利用如下公式分壓:
將分壓后的值與鋰電池實(shí)際值進(jìn)行對(duì)應(yīng),其電壓檢測(cè)如表2所示:
表2 鋰電池電壓檢測(cè)表
2.70 | 00h | 由F/W設(shè)置,硬件reset |
2.94 | 02h | 硬件產(chǎn)生中斷、軟件進(jìn)入standby |
3.18 | 04h | 軟件空電量顯示、(當(dāng)錄音文件小于32M時(shí)終止錄音) |
3.30 | 05h | 軟件空電量顯示、(當(dāng)錄音文件大于32M時(shí)終止錄音) |
… | … | 對(duì)應(yīng)電量顯示 |
… | … | 對(duì)應(yīng)電量顯示 |
4.14 | 0Fh | 滿電量顯示 |
通過(guò)硬件后可以將表2的值對(duì)應(yīng)到表1中去通過(guò)調(diào)用以下軟件流程進(jìn)行處理。
3.3 軟件流程
該檢測(cè)系統(tǒng)軟件設(shè)計(jì)流程如圖2所示:
首先清watchdog,然后通過(guò)GPIO_A0檢測(cè)USB狀態(tài),接下來(lái)進(jìn)行充電引腳GPIO確認(rèn)并開(kāi)始充電,充電時(shí)將GPIO_A0(如檢測(cè)電路圖)寄存器的對(duì)應(yīng)位置高電平,同時(shí)利用GPIO_B6進(jìn)行電池狀態(tài)檢測(cè)[6][7]。當(dāng)需要對(duì)4位ADC寄存器讀寫(xiě)數(shù)據(jù)時(shí),需要設(shè)置其端口值參數(shù),通過(guò)電池狀態(tài)檢測(cè)后,最后將檢測(cè)到的電池參數(shù)通過(guò)顯示函數(shù)顯示在LCD上。
其初始化代碼如下:
output8(0x4e,input8(0x4e)|0x08)//清watchdog
output8(0xee,input8(0xee)|0x01); //初始化端口參數(shù),開(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、結(jié)束語(yǔ)
通過(guò)該方法設(shè)計(jì)的鋰電池檢測(cè)系統(tǒng)不僅可以有效防止電池的過(guò)壓、過(guò)充、過(guò)放、過(guò)溫,同時(shí)可以智能監(jiān)控電池的電壓狀態(tài);該設(shè)計(jì)方案簡(jiǎn)單易行,穩(wěn)定可靠,對(duì)于嵌入式系統(tǒng)的設(shè)計(jì)與研發(fā)具有一定的指導(dǎo)意義和實(shí)踐價(jià)值。該方法的創(chuàng)新之處在于不管外接干電池、鋰電池還是鎳氫電池均可以用該電路設(shè)計(jì)方法對(duì)電池進(jìn)行監(jiān)控。
參考文獻(xiàn):
[1] 鄧紹剛,汪艷等,鋰電池保護(hù)電路的設(shè)計(jì)[J],電子科技2006年第l0期(總第205期)
[2] 陸安江,張正平,唐薇, 兼容USB的便攜式設(shè)備鋰電池充電電路設(shè)計(jì)[J],2007年中國(guó)儀器儀表交流論文集,2007
[3] 劉京南,電子電路基礎(chǔ)[M],電子工業(yè)出版社,2003年7月
[4] 上海東鉅電子有限公司,現(xiàn)代鋰電保護(hù)IC 的特點(diǎn)和應(yīng)用[J],電子設(shè)計(jì)應(yīng)用,2003
[5] 李凱,張斌,一種新型智能動(dòng)力鋰電池組能源管理模塊[J],微計(jì)算機(jī)信息 2006年第9-1期
[6] Actions ATJ2085 Data sheet Version 1.0, 2004
[7] Actions ATJ2085 Programming Guide, Version 2.7 ,2004
評(píng)論