用Arduino发现假电池

文章作者:Hesam Moshiri

如今,空缺的锂电池无处不在,这不处理他们的广告能力。在本文中,我们将学习使用着名的Arduino-Nano板构建电池容量测量电路。

电池容量的真正测量对于许多场景至关重要。容量测量设备也可以解决假设假电池的问题。如今,空缺的锂电池无处不在,这不处理他们的广告能力。有时很难区分真实和假电池。备用电池市场存在此问题,如手机电池。此外,在许多场景中,必须确定二手电池的容量(例如笔记本电池)。在本文中,我们将学习使用着名的Arduino-Nano板构建电池容量测量电路。我已经为DIP组件设计了PCB板。所以即使初学者也可以焊接并使用该设备。

特征:

  • 识别假锂离子/锂聚合物/镍镉/镍氢电池
  • 可调恒定电流负载(也可以由用户修改)
  • 能够测量几乎任何类型的电池的容量(低于5V)
  • 易于焊接,制作和使用,即使是初学者(所有组件都是Dip)
  • 一个LCD用户界面

规范

  • 单板电源:7V至9V(最大)
  • 电池输入:0-5V(最大值) - 无反向极性
  • 恒流负载:37mA至540mA(最大)- 16步-可由用户修改

电路分析

设备原理图如图1所示。电路的核心是Arduino-Nano板。

Arduino电池容量测试仪[锂nimh - nicd]

图1:电池容量测量装置的示意图

IC1是LM358[1]芯片,包含两个运算放大器。R5和C7构建一个低通滤波器,将PWM脉冲转换为直流电压。PWM的频率在500Hz左右。我使用sigent SDS1104X-E示波器来检查PWM和滤波器的行为。我将CH1连接到PWM输出(Arduino-D10)和CH2连接到滤波器的输出(图2)。您甚至可以通过波德图检查滤波器的频率响应和它的截止频率,这是SDS1104X-E的一个很好的介绍功能。

Arduino电池容量测试仪[锂nimh - nicd]

图2:PWM信号(CH1: 2V/div)及通过R5-C7 RC滤波器后的结果(CH2: 50mV/div)


R5是一个1MΩ电阻,但是,在电压跟随器配置中,过滤器的输出通过OPAMP(IC1)的输出通过。IC1,R7和Q2的第一个Opamp构建恒定电流负载电路。到目前为止,我们建立了PWM可控恒定电流负载。

使用2 * 16 LCD作为用户界面,使控制/调整变得容易。R4电位器设置LCD对比度。R6限制了背光电流。P2是2销Molex连接器,用于连接5V蜂鸣器。R1和R2是用于触觉开关的上拉电阻。C3和C4用于去抖动按钮。C1和C1用于过滤电路电源电压。C5和C6用于过滤耗尽恒流负载电路噪声,以便不要降低ADC转换性能。R7充当Q2 MOSFET的负载。

什么是恒定的电流直流负荷?

恒定电流负载是即使施加的输入电压变化,恒定电流负载也始终绘制恒定量的电流。例如,如果我们将恒流负载连接到电源并设置250mA的电流,即使输入电压为5V或12V或其他任何内容,电流凹槽也不会改变。该特征的恒流负载电路允许我们构建电池容量测量装置。如果我们使用简单的电阻作为负载来测量电池容量,随着电池电压的降低,电流也降低,这使得计算复杂和不准确。

PCB板

图3显示了电路设计的PCB布局。板的两侧用于安装组件。

当我打算设计Schematic/PCB时,我总是使用SamacSys组件库,因为这些库遵循工业IPC标准,而且都是免费的。我使用这些库IC1 [2], Q2[3],甚至我可以找到Arduino-Nano (AR1)[4]库,节省了很多设计时间。我使用Altium Designer CAD软件,所以我使用Altium插件安装组件库[5]。图4显示了选择的组件。


Arduino电池容量测试仪[锂nimh - nicd]

图3:电池容量测量电路的PCB板

当我打算设计Schematic/PCB时,我总是使用SamacSys组件库,因为这些库遵循工业IPC标准,而且都是免费的。我使用这些库IC1 [2], Q2[3],甚至我可以找到Arduino-Nano (AR1)[4]库,节省了很多设计时间。我使用Altium Designer CAD软件,所以我使用Altium插件安装组件库[5]。图4显示了选择的组件。

Arduino电池容量测试仪[锂nimh - nicd]

图4:来自SamacSys Altium插件的已安装组件

PCB板略大于2 * 16 LCD,以适合三个触觉按钮。图5,6和7示出了板的3D视图。

Arduino电池容量测试仪[锂nimh - nicd]

图5:组装的PCB板(顶部)的3D视图

Arduino电池容量测试仪[锂nimh - nicd]

图6:组装后的PCB板的3D视图(侧面)

Arduino电池容量测试仪[锂nimh - nicd]

图7:组装后的PCB板的3D视图(底部)

装配和测试

我用一块半自制的PCB板做了一个快速原型,并测试了电路。图8显示了该板的图片。你不需要跟着我,只需订购PCB到专业的PCB制造公司,并建立设备。你应该使用一个站立的电位器类型的R4,它允许你从板的一边调整液晶对比度。

Arduino电池容量测试仪[锂nimh - nicd]

图8:第一个原型的图片,在半自制PCB板上

在焊接元器件和准备好测试条件后,我们就可以测试我们的电路了。别忘了在MOSFET上安装一个大的散热器(Q2)。

我选择R7是3欧姆电阻。这使我们能够生成高达750mA的恒定电流,但在代码中,我将最大电流设置为大约500mA的某个位置,这足以实现我们的目的。降低电阻值(例如1.5欧姆)可以进行更高的电流,但是,您必须使用更强大的电阻并修改Arduino代码。图9显示了电路板及其外部布线。

Arduino电池容量测试仪[锂nimh - nicd]

图9:电池容量测量装置的接线

准备大约7V到9V的东西到电源输入。我使用了Arduino董事会的调节器制作+ 5V轨道。因此,切勿将高于9V的电压施加到电源输入,否则可能会损坏调节器芯片。

电路板将上电,您应该在LCD上看到文本,与图10相同。如果使用蓝色背光2 * 16 LCD,则电路将消耗约75mA。

Arduino电池容量测试仪[锂nimh - nicd]

图10:LCD上的正确电路电源指示

大约3秒后,文本将在下一个屏幕上清除,可以通过向上/向下按钮调整恒定电流值(图11)。

Arduino电池容量测试仪[锂nimh - nicd]

图11:通过上下按钮调节恒流负载

在将电池连接到设备并测量其容量之前,您可以使用电源检查电路。请将P3插头连接到电源。

重要提示:不要对电池输入施加高于5V的电压,或反向电压,否则会永久损坏Arduino的数字转换器引脚。

设置所需的电流限制(例如100mA)并使用电源电压(保持在5V以下)。随着任何输入电压都可以看到,当前流程保持完整。这正是我们想要的!(图12)。

Arduino电池容量测试仪[锂nimh - nicd]

图12:即使在电压变化前,电流也保持不变(在4.3V和2.4V输入下测试)

第三个按钮复位。这意味着它只是重新启动电路板。当您计划重新启动程序以测试不同的黄油时,它很有用。

无论如何,现在你确定你的设备可以完美地工作。您可以断开电源,并将电池连接到电池输入,并设置所需的电流限制。

要启动自己的测试,我选择了一个全新的8,800mA额定锂离子电池(图13)。它看起来像是一个很棒的速度,不是吗?!但我不可能以某种方式相信:-),所以让我们测试它。

Arduino电池容量测试仪[锂nimh - nicd]

图13:8,800mA额定锂离子电池,是真的还是假的?

在将锂电池连接到电路板之前,我们必须充电,因此请使用电源准备固定的4.20V(500mA CC限制或更低)(例如,通过使用前一篇文章中的可变开关电源)和充电电池直到电流流到低电平。不要用高电流收取未知电池,因为我们不确定其真实容量!高充电电流可能会爆炸电池!小心。因此,我遵循此过程,我们的8,800mA电池已准备好进行容量测量。

我用电池夹将电池连接到电路板上。确保使用厚捷的短线,引入低电阻,因为电线中的功耗导致电压降和不准确。

让我们将电流设置为500mA并长时间按下“向上”按钮。然后你应该听到一个嘟嘟声,程序开始(图14)。我将截止电压(电池低电量阈值)设置为3.2V。如果您愿意,您可以在代码中修改此阈值。

Arduino电池容量测试仪[锂nimh - nicd]

图14:电池容量计算过程

基本上,我们应该在其电压达到低电平阈值之前计算电池的“生命时间”。图15显示了设备断开电池(3.2V)和计算的DC负载的时间。该设备还生成两个长蜂鸣声以指示过程的结束。正如您在液晶屏幕中看到的,真正的电池容量为1,190mAh,远非索赔的容量!您可以遵循相同的程序来测试任何电池(低于5V)。

Arduino电池容量测试仪[锂nimh - nicd]

图15:8.800ma额定锂离子电池的真实计算容量

图16显示了该电路的材料清单。

Arduino电池容量测试仪[锂nimh - nicd]

图16:材料清单

参考

[1]:https://www.onsemi.com/pub/Collateral/LM358-D.PDF

[2]:https://componentsearchengine.com/part.php?partID=671517

[3]:https://componentsearchengine.com/part.php?partid=617283

[4]:https://componentsearchengine.com/part.php?partID=368895

[5]:https://www.samacsys.com/altium-designer-library-instructions

留下你的评论