隨著電子產(chǎn)品小型便攜化發(fā)展趨勢,充電電池應(yīng)用越來越廣泛了。市面上電池種類繁多,良莠不齊。現(xiàn)在的電池容量虛標(biāo)是非常普遍的事情,只有很少一部分正規(guī)廠家的產(chǎn)品采用了實事求是的態(tài)度。曾經(jīng)見過一種標(biāo)注容量8000mAH的手機電池,實際容量僅能達(dá)到標(biāo)注容量的一兩成而已,以目前的技術(shù),以手機電池的體積要達(dá)到如此容量尚無可能,只怕將來也未必能夠?qū)崿F(xiàn)。隨著小電子產(chǎn)品越來越多,每個人對于電池的需求將越來越多,手邊也會積累大量的充電電池。一塊高質(zhì)量的電池使用時效可以達(dá)到4、5年以上,劣質(zhì)電池就很差了,而且容易損壞。鑒于這個現(xiàn)狀,個人使用也有必要建立一個完整的評估體系,作為長期選購、使用的指導(dǎo)參考。
電池容量是衡量電池質(zhì)量的重要指標(biāo)。充電電池的容量測試有很多的方法。可以依據(jù)電池的放電曲線,進行短時間放電,從而粗略得出電池容量。這種方法最大的優(yōu)點是快速,但是充電電池的放電曲線并不具有普遍性,很多劣質(zhì)電池放電初期電壓也很平穩(wěn),一旦進入中后期,電壓下降非常迅速,所以采用這種方法得出的結(jié)論將非常不準(zhǔn)確的。最可靠最準(zhǔn)確無誤的還是以標(biāo)準(zhǔn)電流放電,全程測量實際放電時間的方式。不同的放電電流,充電電池最終能夠釋放出的電量是不同的,有一定的差距。蓄電池的容量標(biāo)注都是有統(tǒng)一標(biāo)準(zhǔn)的。目前使用最多的是10小時率放電容量與20小時率放電容量兩種。10小時率放電容量就是電池以恒定電流放電,至電量耗盡放電時間能夠維持10個小時左右,這個電流就被稱作10小時率電流(衡量電量用盡的標(biāo)準(zhǔn),不能以電池放電端電壓降低到零為準(zhǔn)。電池過度放電,會導(dǎo)致電池容量減少,無法恢復(fù),乃至提早損壞、完全失效。所以每種電池放電終止電壓都有嚴(yán)格的規(guī)定,這個可以查閱相關(guān)資料。過度放電與過度充電是造成充電電池不能達(dá)到使用年限、提前報廢的主要原因)。實時放電的測量方法最大的缺點就是費時費力,因為耗時久這樣測量精度也很容易受到各種外部因素的影響。測量過程中如果用10小時率電流持續(xù)放電時間至少都要在5個小時以上,作這樣長時間的測試更需要足夠的耐心與精力以及充裕的時間。科技的發(fā)展是非常迅速,今天單片機已經(jīng)非常普及了。通過單片機程序控制對放電時間,深度進行自動化控制,就很容易精準(zhǔn)測出電池的實際容量,實現(xiàn)整個過程的自動控制。模擬實際放電測量容量的方法雖然對能源有一點浪費,但是對于1A、2A以下的小容量充電電池還是完全可行的,對大容量電池進行抽樣檢查也是很有必要。
下面介紹的電池容量測試儀采用89S51作為控制芯片,圖1就是硬件的電路原理圖。
圖1 硬件的電路原理圖
這個電池容量測試儀由放電電路、單片機控制計時兩個完全獨立部分組合而成。單片機部分制作費時費力,而且市面上單片機已很普及,沒必要親手制作,隨便找一片51單片機實驗板就可以了。放電電路則是比較簡單的,僅由四五只元件構(gòu)成。單片機部分主要負(fù)責(zé)對放電時間計時,最終得到一組可靠的數(shù)據(jù),用于電池性能的考量。
這種放電電路的實質(zhì)就是一模擬可控硅。當(dāng)我們將待測電池接入電路相應(yīng)位置時,點按啟動鍵,如果電池尚有余量,則電池兩端放電電壓將維持在設(shè)定值以上,三極管VT1就會瞬間飽和,電池通過電阻R2進行放電。這種電路有可靠精確陡峭的開關(guān)特性,VT1絕對工作于飽和截止兩種狀態(tài)之下。通過可調(diào)電阻對開關(guān)電路臨界值(即充電電池放電終止電壓)進行調(diào)節(jié)設(shè)定,便可適應(yīng)于各種不同類型充電電池的全程保護放電。由于個人的應(yīng)用不需要非常精準(zhǔn)的測試結(jié)果,所以實際測試中電池模擬放電原則上還是以快些為好,只需要得到一個大致的電池容量。為了較快完成電池測試過程,這里的電路設(shè)計采用兩小時率電流進行放電。通過對各種電池測量結(jié)果的橫向比較,容量的差異還是顯而易見的,以此作為衡量電池優(yōu)劣的標(biāo)準(zhǔn),就已經(jīng)足夠了。這里以1000mAH、1.2V規(guī)格鎳氫電池測試為例,放電電流500mA就需要采用2Ω的放電電阻,電池終止放電電壓應(yīng)控制在1V以上。放電終止電壓通過可調(diào)電阻R1來調(diào)節(jié)設(shè)定。普通可調(diào)電阻精度較差,且容易產(chǎn)生漂移,會導(dǎo)致設(shè)定好的終止電壓隨時間推移以及使用環(huán)境變化產(chǎn)生較大的波動。為了保證放電終止電壓的精準(zhǔn)且易于設(shè)定,R1可以使用3296系列精密可調(diào)電位器。3296多圈可調(diào)精密電位器的可調(diào)范圍一般在50T,所以每圈的調(diào)節(jié)范圍為2%,每轉(zhuǎn)動一度,阻值變化大約0.005%,所以很容易調(diào)節(jié)獲得一個精確、穩(wěn)定的阻值。
終止電壓的設(shè)定必須在實際放電過程中進行,負(fù)載電阻R2阻值變動,已經(jīng)設(shè)定的終止電壓也會隨之改變,需要重新設(shè)置。具體的調(diào)試方法就不再詳述了,參考一下相關(guān)資料。
這個放電電路不需要單獨的工作電源,而且與電池種類沒有相關(guān)性,完全可以適應(yīng)鎘鎳、鎳氫、鋰電池、鉛酸電池各種類型蓄電池的保護性放電,只是需要根據(jù)電池類型以及容量大小重新設(shè)置電路的終止電壓及放電電流。如果電池容量相對較高,那么三極管VT1、VT2的耗散功率也要相應(yīng)加大一些,同時不要忘了加大負(fù)載電阻R2的功率。
圖2是放電電路的印刷電路圖,元件數(shù)量少,很容易制作。
圖2 印刷電路圖
各種電池兩小時率電流放電能夠維持的放電時間一般都是在1.5小時以下的。這里單片機計時系統(tǒng)使用秒計時,4位LED數(shù)碼管顯示。最大計時時間9999秒,大約2.7小時。
圖1單只LED數(shù)碼管內(nèi)部都是由8只發(fā)光管組合而成,分別作為8的7段字型部分,以及一位小數(shù)點。這里使用的是共陽極數(shù)碼管,內(nèi)部8只發(fā)光管的陽極是并連共同引出的,作為使能控制。
在實際電路中,L1就是第一只數(shù)碼管的共陽極端。單片機的輸出、輸入接口數(shù)量都很有限,所以4位LED數(shù)碼管驅(qū)動都是使用動態(tài)顯示的方式。4只獨立數(shù)碼管LED的內(nèi)部a、b、c、d、e、f、g、dp這8段發(fā)光管相對應(yīng)的陰極都是并連的。統(tǒng)一由單片機P0口8位輸出進行驅(qū)動。數(shù)碼管要顯示出數(shù)碼還必須在共陽極端同時施加正電壓才行。所以要讓4位中某一數(shù)碼管進行顯示,只要在P0口輸出字型碼的同時,給這位數(shù)碼管共陽極端加上正電壓就行了,當(dāng)然與此同時其他三位數(shù)碼管的共陽極端要保持低電壓,才不致顯示出現(xiàn)混亂。數(shù)碼管共陽極端驅(qū)動電流較大,所以采用了三極管進行控制。以第一只數(shù)碼管為例,在P0端口輸出字型碼的同時,P37輸出低電平,三極管T4導(dǎo)通,則共陽極端L1就得到高電平了,數(shù)字就會顯示在第一只數(shù)碼管上了。
程序設(shè)計是以單片機P37口作為計時控制端子,P37口輸入低電平,計時程序啟動,4只數(shù)碼管顯示時間。放電電路中按下啟動按鍵,放電過程觸發(fā),VT1導(dǎo)通,電池端電壓降落到放電電阻R2兩端,A端對地為高電平,通過電阻R4迫使三極管VT3導(dǎo)通,P37口電平就被拉低了,單片機計時程序啟動。電池電壓降到終止電壓以后,放電電路自動關(guān)閉,A端電壓消失,VT3恢復(fù)截止?fàn)顟B(tài),計時程序停止,數(shù)碼管維持顯示當(dāng)前持續(xù)時間。
如要進入下次測試,首先按動單片機復(fù)位鍵,當(dāng)前計時清零,等待下一次測試開始。
程序設(shè)計比較簡單。它的大致流程如下:初始化,P3端口置位,設(shè)立常量a為時間計數(shù)器,依次對a的十進制數(shù)值各位進行提取,順序輸送到P0端口,P2端口中的P24、P25、P26、P27各位是依次作為四位數(shù)碼管的使能控制端,通過P2端口的配合,就可以完成對各位數(shù)碼管的驅(qū)動,時間的動態(tài)顯示。程序進行中要不斷地檢測P3端口數(shù)值以決定計時狀態(tài):如果電池處于放電過程之中,三極管VT3導(dǎo)通,將迫使P37端口電壓降到零,P3端口值就是127,單片機程序檢測到這一結(jié)果,時間常量a將自動加1,指示期間放電時間已經(jīng)延續(xù)1秒種了。這1秒鐘的時間精確計算是比較麻煩的。計時程序是一個循環(huán)結(jié)構(gòu),每一周期耗用時間都是一致的。所以在使用keil軟件調(diào)試過程中,通過對時間計數(shù)寄存器sec的觀察計算,可以得出一次循環(huán)大致需要的時間。以此為據(jù)再通過適當(dāng)改變延時子程序循環(huán)次數(shù)將常量a計時周期控制在1秒以下,剩余微小的時間差就可以通過插補空指令來校正了。計時精度只要控制在千分之一以下就可以了。在51單片機使用11.0592MHz晶體振蕩器的情況下,指令周期大約1.085微秒,所以將計時精度控制在千分之一以下問題不大。誤差總是會有的,只能通過精確計算來控制了,也可以通過更換更高頻率的晶體振蕩器提高單片機時鐘頻率的方法來進一步提高計時的精度。如果放電過程中,意外原因或者人為終止放電過程,P37端口變?yōu)楦唠娖?,程序循環(huán)依舊會進行下去,只是時間常量a停止自動加一,時間顯示維持不變。
編譯后,寫入單片機內(nèi)部,做好放電電路部分與51單片機的連接,便可投入使用。
電池接入后,按動輕觸按鍵“啟動”,就會進入一次容量測試過程,期間電池取出接入,都不會影響到單片機計時。電池放電完畢,單片機數(shù)碼管顯示鎖定,給出總放電持續(xù)時間,單位為秒??梢宰孕腥斯び嬎惴烹娦r數(shù)。當(dāng)然也是可以自行對程序進行改進,直接以小時分鐘形式進行顯示。只要單片機不斷電,數(shù)碼管將持續(xù)顯示當(dāng)前放電時長。如果要進入下次測量過程,只需要按動單片機復(fù)位鍵,數(shù)碼管清零,單片機程序轉(zhuǎn)入起點,你就可以進入新一次的容量測試過程了。
充電電池如果較長時間閑置,它的實際容量將受到影響,重新啟用第一次能夠釋放的容量遠(yuǎn)遠(yuǎn)達(dá)不到標(biāo)注容量,放電電壓也很不平穩(wěn)。至少要經(jīng)過三次以上的充電放電循環(huán),電池完全激活,容量才能恢復(fù)到應(yīng)有的水平。充分考慮這種因素的影響,所以容量測試一般采取多次平均的方式,或者循環(huán)充放電三次以后放電持續(xù)時間為準(zhǔn),以此衡量電池容量才算是恰當(dāng)。
#include “reg51.h”
char
code disp[]={40,235,50,162,225,164,36,234,32,160};
//字形碼
void delay(unsigned int dt)
{ unsigned int j=0;
for(;dt>0;dt--)
{ for(j=0;j<125;j++)
{;}
}
}
void main()
{ int a,b,c,led1,led2,led3,led4;
P3=255;
a=0;
for(;;)
{b=a;
led1=b%10;
P2=239;
P0=disp[led1];
delay(6);
P2=255;
b=b/10;
led2=b%10;
P2=223;
P0=disp[led2];
delay(6);
P2=255;
b=b/10;
led3=b%10;
P2=191;
P0=disp[led3];
delay(6);
P2=255;
b=b/10;
led4=b%10;
P2=127;
P0=disp[led4];
delay(6);
P2=255;
for(c=44;c>0;c--)
{
P2=239;
P0=disp[led1];
delay(5);
P2=255;
P2=223;
P0=disp[led2];
delay(5);
P2=255;
P2=191;
P0=disp[led3];
delay(5);
P2=255;
P2=127;
P0=disp[led4];
delay(5);
P2=255;
}
if(P3==127)
delay(3);
if(P3==127)
a=a+1;
else a=a;
}
}