鋰電池的種類繁多,手機、相機、數碼等電子產品中隨處可見。鋰電池一般是標稱電壓為3.6V左右,電池容量更是五花八門。電池容量是一個電池續航能力的重要參數,往往現在市場上買的鋰電池(特別是一些高仿和山寨),都或多或少有虛標容量的現象來得以高利潤的欺詐。
現以18650電池為實例DIY制作一個3.6V鋰電池容量檢測儀,該檢測儀不敢說非常準確,但是可以從客觀事實上反應出被測鋰電池的放電能力和大致容量。
為簡化電路采用的LM317三端穩壓組成恒流放電電路,LM358運放作為電壓比較強來判斷電池電壓,通過AT89C2051單片機定時器統計放電時間,并自動轉換為容量通過數碼管顯示出來,并且可以通過開關來切換放電速度,實現以每小時600mA或每小時240mA的不同速率放電。滿足不同容量電池不同場合的使用。一般來說充滿電的鋰電池電壓為4.2V左右,當電池放電到3v時(該放電值可以通過調節電位器適當調整)自動斷開放電電路,切換到充電電路。在本制作中關心的是電池容量,故而未對充電電路作出過多電路考慮,只是一個簡單的限流,建議對電池充電還是拿到專門的充電器上充電為宜。
電路圖仿真圖
單片機源程序如下:
//AT89C2051單片機,12M晶振
//lm317恒流放電注意散熱,可以通過更改低1腳和第2腳之間的電阻來調節放電電流,公式為1.2v除以恒流值等于一二腳之間的電阻,比如恒流1200ma放電,1.2v/1.2A=1歐.2400ma放電就是1.2v/2.4A=0.5歐大電流放電對小容量電池有損害,不建議使用,恒流值須配合程序使用。不能隨意設置。
#include<reg51.h>
#define uint unsigned int
unsigned char int_time;
unsigned int s,m,ma;
sbit led0=P3^2;//第1個數碼管
sbit led1=P3^3;//第2個數碼管
sbit led2=P3^4;//第3個數碼管
sbit led3=P3^5;//第4個數碼管
sbit jiance=P3^0;//j啟動檢測
sbit gz=P3^7;//工作指示燈
sbit qiehuan=P3^1;//放電電流切換
// sbit key=P3^6;
unsigned char Tab[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};//共陽極的段碼
void delay(uint z)//延時程序
{
uint x,y;
for(x=z;x>0;x--)
for(y=110;y>0;y--);
}
void interserve(void)interrupt 1 using 1//定時器中斷
{
int_time++;
if(int_time==20)
{
int_time=0;
s++;
}
if(qiehuan==0)//以240ma電流放電
{
if(s==15)//計算方法是60/(240/60)=3
{
s=0;
ma++;
}
}
if(qiehuan==1)//以600ma電流放電
{
if(s==6)//計算方法是60/(600/60)=3
{
s=0;
ma++;
}
}
/* if(key==0)
{
delay(10);
if(key==0)
m++;
} */
// ma=m*2;
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
}
void display()//顯示程序
{
led0=led1=led2=led3=1;
P1=Tab[(ma%10000)/1000];
led0=0;
delay(2);
led0=led1=led2=led3=1;
P1=Tab[(ma%1000)/100];
led1=0;
delay(2);
led0=led1=led2=led3=1;
P1=Tab[(ma%100)/10];
led2=0;
delay(2);
led0=led1=led2=led3=1;
P1=Tab[ma%10];
led3=0;
delay(2);
led0=led1=led2=led3=1;
P1=Tab[(ma%100)/10];
led0=led1=led2=led3=1;
delay(2);
}
void main(void)//主程序
{
TMOD=0X01;
ET0=1;
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
TR0=1;
int_time=0;
s=0;
while(1)
{
if (jiance==0)
EA=1;
display();
if (jiance==1)
EA=0;
if(s%2&jiance==0)
gz=0;
delay(10);
gz=1;
}
}

走線盡可能的利用就近原則,本例中使用焊錫堆焊連線將電源正負極的主干聯通。焊接中盡量考慮到減少飛線。為了方便使用,電路中將繼電器更換成了5V繼電器,電源插頭使用了手機上用的MINIUSB插座,這樣隨便找個手機充電器就可以用了,比較方便些。
將數碼管安上效果。
<span>

該模塊直接使用電池電源,為了不影響容量測試,只有在按下電壓檢測按鈕時才顯示,平時是不顯示的。

按下啟動按鈕,繼電器吸合開始放電測試。

放電完畢,檢測出其中一只18650電池虛標嚴重,標3800MAH,實際測量只有1127mah左右。
|