0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

怎样用Arduino测试锂电池容量

lhl2019 来源:lhl2019 作者:lhl2019 2024-07-30 09:14 次阅读

下面是Arduino测试单节锂电池容量的程序代码:
/*本程序用于单节锂电池的放电电量计算,测量电池的容量。单位mAh。锂电池放电终止电压=2.75V。
 * 该程序的参数只适合锂电池。可测量1个电池。本程序带自动开关,在锂电池放电终止电压=2.75V时程序自动断开电池。
 * 从而保证锂电池过放电。可以参考电路图--锂电池容量测试--自动电路图。(本程序对应电路少占用Arduino一个引脚)。
 * 发光二极管点亮时代表锂电池正在放电;发光二极管熄灭时代表锂电池放电结束(锂电池电压小于2.75V时)
 */
long timeh;//计算机运行时间,也是电池的放电时间。单位:小时。
float v1a;//电池1的电压值(0~1023)。(0~5V 转0~1023)。
float v1ak;//电池1的电压值(0~5v)。
float v1b;//MOS开关管源极对地电压(0~1023)。(0~5V 转0~1023)。
float v1bk;//MOS开关管源极对地电压(0~5v)。
float i1a;//电池1的放电电流。单位:mA
float i1ab;//电池1的放电电流的累加和。单位:mA
float i1ap;//是电池的放电电流的平均值
float r1 = 3.75;//放电电阻阻值。单位:欧姆。放电电压4.2V--2.75V,对应电流1120mA--733mA。
long cisu1;//电池的放电程序运行次数。
float rongliang1;//电池1的容量,单位:mA.小时。
float mwh1;//单次毫瓦时。
float mwh;//毫瓦时。
boolean kaiguan;//开关kaiguan定义为布尔函数。

void setup() {
  Serial.begin(9600);
    cisu1 = 0;
  i1ab =0;
   

 pinMode(4, OUTPUT);//引脚4定义为输出引脚。
 
 digitalWrite(4,HIGH);//用于控制MOS管开关状态,高位MOS管导通,低位MOS管关闭,切断放电电路。
}

void loop() {
 
 timeh = millis()/1000/60;//时间函数,单位:分钟。每次点击串口监视器,时间函数都从零开始。
 kaiguan=digitalRead(4);//开关读取Pin4引脚的状态。高位为真。
 
 v1a = analogRead(A0); //放电电池的电压(0~5v 转为0~1023)。
 v1ak = v1a/1023*5;//放电电池电压。单位:伏特。

 v1b = analogRead(A1); //MOS开关管的源极对地电压(0~1023)。(0~5v 转为0~1023)。
 v1bk = v1b/1023*5;//MOS开关管的源极对地电压(0~5v).单位:伏特。经过实测MOS管源漏极之间的电压只有0.02v。
 

 

//Serial.println(v1ak);//if (!pushButton1 && !pushButton2)
//Serial.println(timeh);

if((v1ak>2.75)&&kaiguan) {//锂电池放电终止电压是2.75V.如果v1a>2.75v 并且Pin4引脚为高位,则条件成立。

i1a=(v1ak-v1bk)/r1*1000;//ila是电池的放电电流,单位mA,r是放电电阻,本程序r1=3.75欧姆。
cisu1 = cisu1+=1;
 i1ab = i1ab+=i1a;
i1ap = i1ab/cisu1;//i1ap是电池的放电电流的平均值。
rongliang1 = i1ap*timeh/60;//电池容量, 单位:毫安.小时。

mwh1=v1ak*i1a/60;//单次毫瓦时。(每分钟累计一次)。
mwh=mwh+=mwh1;//累计毫瓦时,(每分钟累计一次)。

Serial.print("电池电压:");
Serial.print(v1ak);

//Serial.print("  ");
//Serial.print("次数:");
//Serial.print(cisu1);
Serial.print("  ");
Serial.print("电流:");
Serial.print(i1ap);
Serial.print("  ");
Serial.print("电量mAh: ");
Serial.print(rongliang1);
Serial.print("  ");
Serial.print("时间分钟:");
Serial.print(timeh);
Serial.print("  ");
Serial.print("毫瓦时mwh: ");
Serial.println(mwh);


delay(60000);//延迟1分钟。
    
} else {
   
   digitalWrite(4,LOW);//锂电池电压低于2.75V时,MOS开关管关断,切断电池的放电回路,从而保证电池不过放电。
                       //同时发光二极管熄灭。锂电池放电放电结束
   Serial.print("1号电池容量:单位 mAh: ");
   Serial.print(rongliang1);
   Serial.print("  ");
   Serial.print("毫瓦时mwh: ");
   Serial.println(mwh);

   
   delay(60000);
   
   
   }


 }
wKgaomanmZiAY0kOAAJfKWgsC44995.png
Arduino测试锂电池容量电路图

审核编辑 黄宇

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 锂电池
    +关注

    关注

    260

    文章

    8106

    浏览量

    170029
  • Arduino
    +关注

    关注

    188

    文章

    6469

    浏览量

    187005
收藏 人收藏

    评论

    相关推荐

    18650锂电池容量测试

    本文主要介绍了18650锂电池容量测量方法步骤。锂电池容量有多大,是设备能够使用多长时间的前提。那么朋友们知道如何测锂电池容量比较准确吗?一般生产厂家的标称
    发表于 07-24 11:08 3.6w次阅读

    锂电池容量测量电路

    手里有一些旧锂电池.有淘汰手机上的.还有从笔记本电脑电池组中拆出的。已经使用了些时间,容量下降。不知道还有多少容量,打算做一个简单的电路来
    发表于 09-29 09:58

    锂电池容量测定仪

    锂电池容量测定仪前段时间,打算DIY一个移动电源,于是四处购置原材料。首当其冲就是选择怎样锂电池,查了一下淘宝的“18650”条目,各家锂电的价格和
    发表于 05-25 14:22

    【转帖】一文读懂锂电池容量这个概念

    `我们现在设计电子产品,很多时候也锂电池供电,同手机或者平板电脑锂电池供电一样,熟悉了解锂电池容量的学问,也许对使用和设计
    发表于 08-28 16:15

    新能源动力锂电池与普通容量锂电池区别

    锂电池对材料的指标及电池材料配比的要求和动力锂离子电池有较大的不同。 两种锂电池在使用材料和生产工艺上是不同的,更客观的可以从价格方面做对比。比如两种
    发表于 09-06 15:50

    基于单片机锂电池容量测试仪的设计资料分享

    不多说,先上实物图工作原理时:此设计是万能板搭建,显示12864字库屏,主板与屏幕分开,这个单片机电池容量测试仪对于锂电/镍氢程序实现自
    发表于 12-03 07:55

    【开源分享】Arduino电池容量测试

    描述Arduino电池容量测试仪现在假冒的锂电池和镍氢电池随处可见,通过广告销售的容量比真实
    发表于 06-30 16:24

    锂电池容量到底是指什么

    我们现在设计电子产品,很多时候也锂电池供电,同手机或者平板电脑锂电池供电一样,熟悉了解锂电池容量的学问,也许对使用和设计
    发表于 10-12 15:04 1.2w次阅读
    <b class='flag-5'>锂电池容量</b>到底是指什么

    锂电池内阻和容量测试方法是怎样

    锂电池内阻和容量测验方法,你了解吗?电池内阻等于开路电压除以短路电流,容量是指锂电池存储电量的大小,电池
    发表于 03-19 17:19 2.3w次阅读

    锂电池容量测试方法

    锂电池容量测试是以满电电压和设定的终止电压为参数的,因为锂电池的最低放电电压是2.75V,所以,小于3V的电压已经对锂电池测试没有意义;固定
    的头像 发表于 07-26 14:37 9.6w次阅读

    锂电池容量损失机理

      参考:百度文库资料 责任编辑:xj        原文标题:锂电池容量决定因素及损失原因分类讲解 文章出处:【微信公众号:锂电联盟会长】欢迎添加关注!文章转载请注明出处。
    的头像 发表于 12-18 18:15 2250次阅读

    锂电池容量怎么计算?常见的18650锂电池容量有多大?

    18650锂电池容量最大能做到多少毫安时,还是一个很值得探讨的一个问题,因此一直受到众多从业者的关注,这几年来中国各个锂电池生产厂家技术都有所提升,不断的实验研发,容量也慢慢的有所提
    的头像 发表于 07-13 11:04 4.3w次阅读
    <b class='flag-5'>锂电池容量</b>怎么计算?常见的18650<b class='flag-5'>锂电池容量</b>有多大?

    为什么锂电池一端时间后电池容量变低?

    为什么锂电池一端时间后电池容量变低?
    的头像 发表于 11-27 15:45 1039次阅读
    为什么<b class='flag-5'>锂电池</b><b class='flag-5'>用</b>一端时间后<b class='flag-5'>电池容量</b>变低?

    如何测试锂电池容量锂电池的可用容量和剩余容量是什么?

    如何测试锂电池容量锂电池的可用容量和剩余容量是什么? 锂电池容量
    的头像 发表于 01-10 14:32 5282次阅读

    锂电池容量下降怎么办?锂电池容量下降修复方法

    锂电池容量下降怎么办?锂电池容量下降修复方法  锂电池是一种重要的能源储存设备,广泛应用于移动设备、电动汽车和可再生能源系统中。然而,随着使用时间的增长,锂电池容量可能会逐渐下降,从而
    的头像 发表于 01-10 16:50 4346次阅读