DIY制作一个3.6V的锂电池容量检测仪.pdfVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
DIY制作⼀个3.6V的锂电池容量检测仪 锂电池的种类繁多,⼿机、相机、数码等电⼦产品中随处可见。锂电池⼀般是标称电压为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欧。⼤电流放电对⼩容量电池有 损害,不建议使⽤。恒流值须配合程序使⽤,不能随意设置。 ←左右滑动,查看代码→ #includereg51.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; // 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;x0;x--) for(y=110;y0;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; } 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];

文档评论(0)

176****7010 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档