电子发烧友App

硬声App

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

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

3天内不再提示
电子发烧友网>电子资料下载>电子资料>使用Arduino Nano的电池容量测量设备

使用Arduino Nano的电池容量测量设备

2022-07-29 | zip | 0.11 MB | 次下载 | 免费

资料介绍

PCB图如下:
pYYBAGLaAS6AcU6pAABDEOT421I572.jpg
poYBAGLaATCAdDbbAAB8WlqZlK4840.jpg
pYYBAGLaATOATL5_AACAdNCSIsc322.jpg
poYBAGLaATWANYGbAAA_krwRFeA831.png
pYYBAGLaATiASkZCAABg1yac1m0447.jpg
poYBAGLaATuAcnfKAACpA0bPaHg814.jpg
poYBAGLaAT2AJ8QIAACPWegm6Ho128.jpg

描述

一个完整的电池容量测量设备,使用 Arduino-Nano [Lithium-NiMH-NiCd]

特征:

识别假锂离子/锂聚合物/镍镉/镍氢电池

可调恒流负载(也可由用户修改)

能够测量几乎任何类型电池的容量(低于 5V)

易于焊接、构建和使用,即使对于初学者也是如此(所有组件均为 Dip)

LCD 用户界面

规格

电源:7V 至 9V(最大值)

电池输入:0-5V(max) – 无反极性

恒流负载:37mA 至 540mA(max) – 16 步 – 可由用户修改

电池容量的真实测量对于许多情况都是必不可少的。容量测量设备也可以解决发现假电池的问题。如今,假冒的锂电池和镍氢电池随处可见,无法满足其宣传的容量。有时很难区分真假电池。这个问题存在于备用电池市场,例如手机电池。此外,在许多情况下,必须确定二手电池(例如笔记本电脑电池)的容量。在本文中,我们将学习使用著名的 Arduino-Nano 板构建电池容量测量电路。我为浸入式组件设计了 PCB 板。因此,即使是初学者也可以焊接和使用该设备。

示意图

pYYBAGLaAUCALZ-BAACuGvgk-bk446.jpg

印刷电路板

pYYBAGLaAUKAIKcyAACpRouuwwE622.jpg

材料清单

poYBAGLaAUSAcK4QAADK81Hi5UM804.jpg

Arduino代码

 

#include  
#include 
 
常量 浮动Low_BAT_level = 3.2 ;
 
//3R 负载 (R7) 的电流步长
const  int Current[] = { 0 , 37 , 70 , 103 , 136 , 169 , 202 , 235 , 268 , 301 , 334 , 367 , 400 , 440 , 470 , 500 , 540 };
 
常量字节 RS = 2 , EN = 3 , D4 = 4 , D5 = 5 , D6 = 6 , D7 = 7 ;
常量字节 PWM_Pin = 10 ;
常量字节扬声器 = 12 ;
常量 int BAT_Pin = A0;
int PWM_Value = 0 ;
无符号 长容量 = 0 ;
int ADC_Value = 0 ;
浮动BAT_Voltage = 0 ;
字节 Hour = 0 , Minute = 0 , Second = 0 ;
布尔计算=假,完成=假;
 
LiquidCrystal lcd (RS、EN、D4、D5、D6、D7);
 
按钮UP_Button ( 16 , 25 , false , true ) ;
按钮Down_Button ( 15 , 25 , false , true ) ;
 
无效 设置()  {
 
  pinMode(PWM_Pin,输出);
  pinMode(扬声器,输出);
 
  模拟写入(PWM_Pin,PWM_Value);
 
  UP_Button.begin();
  Down_Button.begin();
 
  lcd.setCursor( 0 , 0 );液晶显示器开始( 
  16、2 );
  lcd.print( "电池容量" );
  lcd.setCursor( 0 , 1 );
  lcd.print( "测量 v1.0" );
  延迟(3000);
  lcd.clear();
  lcd.print( "加载调整:向上/向下" );
  lcd.setCursor( 0 , 1 );
  lcd.print( "0" );
 
}
 
无效 循环()  {
  UP_Button.read();
  Down_Button.read();
 
  if (UP_Button.wasReleased() && PWM_Value < 80 && calc == false )
  {
    PWM_Value = PWM_Value + 5;
    模拟写入(PWM_Pin,PWM_Value);
    lcd.setCursor( 0 , 1 );
    lcd.print( "" );
    lcd.setCursor( 0 , 1 );
    lcd.print(String(Current[PWM_Value / 5 ]) + "mA" );
  }
 
  if (Down_Button.wasReleased() && PWM_Value > 1 && calc == false )
  {
    PWM_Value = PWM_Value - 5 ;
    模拟写入(PWM_Pin,PWM_Value);
    lcd.setCursor( 0 , 1 );
    lcd.print( "" );
    lcd.setCursor( 0 , 1 );
    lcd.print(String(Current[PWM_Value / 5 ]) + "mA" );
  }
  if (UP_Button.pressedFor( 1000 ) && calc == false )
  {
    数字写入(扬声器,高);
    延迟(100);
    数字写入(扬声器,低);
    lcd.clear();
    定时器中断();
  }
 
}
 
无效 定时器中断()  {
  计算 =真;
  而(完成==假){
    第二个++;
    如果(第二 == 60){
      第二 = 0 ;
      分钟++;
      lcd.clear();
    }
    如果(分钟 == 60){
      分钟 = 0 ;
      小时++;
    }
    lcd.setCursor( 0 , 0 );
    lcd.print(String(Hour) + ":" + String(Minute) + ":" + String(Second));
    lcd.setCursor( 9 , 0 );
    ADC_Value = 模拟读取(BAT_Pin);
    BAT_Voltage = ADC_Value * ( 5.0 / 1024 );
    lcd.print( "V:" + String(BAT_Voltage));
    lcd.setCursor( 0 , 1 );
    lcd.print( "BAT-C: 等等!..." );
 
    如果(BAT_Voltage < Low_BAT_level)
    {
      lcd.setCursor( 0 , 1 );
      lcd.print( "" );
      lcd.setCursor( 0 , 1 );
      容量 = (小时 * 3600 ) + (分钟 * 60 ) + 秒;
      容量 = (容量 * 电流 [PWM_Value / 5 ]) / 3600 ;
      lcd.print( "BAT-C:" + String(容量) + "mAh" );
      完成 =真;
      PWM_Value = 0 ;
      模拟写入(PWM_Pin,PWM_Value);
      数字写入(扬声器,高);
      延迟(100);
      数字写入(扬声器,低);
      延迟(100);
      数字写入(扬声器,高);
      延迟(100);
      数字写入(扬声器,低);
    }
 
    延迟(1000);
  }
}

 

下载该资料的人也在下载 下载该资料的人还在阅读
更多 >

评论

查看更多

下载排行

本周

  1. 1DC-DC电路(Buck)的设计与仿真
  2. 0.60 MB   |  11次下载  |  2 积分
  3. 2UHD智能显示SoC VS680产品简介
  4. 0.46 MB   |  6次下载  |  免费
  5. 3375W带L6562的FOT-CONTROLLED PFC预调节器应用资料
  6. 0.14 MB   |  2次下载  |  免费
  7. 4非隔离降压型有源 PFC LED驱动芯片BP2327A数据手册
  8. 0.42 MB   |  2次下载  |  2 积分
  9. 5深蕾半导体智能显示SoC芯片 VS680产品简介
  10. 0.33 MB   |  2次下载  |  免费
  11. 6电池管理系统(BMS)软硬件介绍
  12. 0.23 MB   |  2次下载  |  2 积分
  13. 7高速 PWM控制器UC3823A和UC3823B 以及UC3825A 和 UC3825B系列数据表
  14. 1.26MB   |  1次下载  |  免费
  15. 8JW7707F杰华特3.4A50V,7mΩ同步整流器-jw7707f参数规格书
  16. 268.87 KB  |  1次下载  |  免费

本月

  1. 1DCDC原理详解
  2. 0.98 MB   |  84次下载  |  免费
  3. 2allegro快速入门教程
  4. 1.98 MB   |  39次下载  |  免费
  5. 3FU-7(807)胆机原理图
  6. 11.93 MB   |  26次下载  |  1 积分
  7. 4电子元件基础知识介绍
  8. 8.76 MB   |  23次下载  |  2 积分
  9. 5用于汽车应用的高压电源管理IC TPS65311-Q1数据表
  10. 1.05MB   |  22次下载  |  免费
  11. 6DC-DC电路(Buck)的设计与仿真
  12. 0.60 MB   |  11次下载  |  2 积分
  13. 7华为海思Ascend 310芯片的资料说明
  14. 0.12 MB   |  10次下载  |  10 积分
  15. 8GD32F10x系列MCU用户手册
  16. 11.5MB   |  9次下载  |  免费

总榜

  1. 1matlab软件下载入口
  2. 未知  |  935083次下载  |  免费
  3. 2开源硬件-PMP21529.1-4 开关降压/升压双向直流/直流转换器 PCB layout 设计
  4. 1.48MB  |  420046次下载  |  免费
  5. 3Altium DXP2002下载入口
  6. 未知  |  233067次下载  |  免费
  7. 4电路仿真软件multisim 10.0免费下载
  8. 340992  |  191308次下载  |  免费
  9. 5十天学会AVR单片机与C语言视频教程 下载
  10. 158M  |  183311次下载  |  免费
  11. 6labview8.5下载
  12. 未知  |  81567次下载  |  免费
  13. 7Keil工具MDK-Arm免费下载
  14. 0.02 MB  |  73786次下载  |  免费
  15. 8NI LabVIEW中实现3D视觉的工具和技术
  16. 未知  |  70088次下载  |  免费