所有关于电路
项目

创建一个Arduino控制的电池充电器

2016年2月17日通过Jason Poel Smith.

在这个项目中,我们使用Arduino和附加的充电电路来控制NiMH充电电池的充电。

Arduino和附加的充电电路可以用来监测和控制镍氢充电电池的充电,方法如下:

完成的设备

充电电池是为便携式电子设备供电的好方法。它们可以为你节省很多钱,而且当它们被适当回收时,对环境更有好处。为了充分利用可充电电池,它们需要适当充电。这意味着你需要一个好的充电器。你可以花很多钱在一个商业充电器上,但它是更有趣的为自己建立一个。下面是如何构建一个Arduino控制的电池充电器。

首先需要指出的是,没有一种适用于所有可充电电池的通用充电方法。每种类型的电池使用不同的化学过程使其工作。因此,每种类型的电池需要不同的充电方式。在本文中,我们不能涵盖所有的电池类型和充电方法。因此,为了简单起见,我们将重点介绍最常见的一种AA级可充电电池——镍氢电池。

一个项目的果子图

项目示意图

材料:

从左到右的零件

  • Arduino微控制器
  • AA电池座
  • nimh aa电池
  • 10欧姆功率电阻(额定至少5瓦)
  • 1莫姆电阻器
  • 1µF电容器
  • IRF510 MOSFET.
  • TMP36温度传感器
  • 5V稳压电源
  • 原型面包板
  • 跳线

如何给NiMH AA电池充电

增加C速率将更快地向电池充电,但会增加损坏它的风险

您可以为NIMH电池充电很多不同的方式。您使用的方法主要取决于您想要为电池充电的速度。相对于电池的容量测量电荷速率(或C速率)。如果您的电池容量为2500mAh,您将使用2500 mA的电流充电,然后您将以1C的速度充电。如果您以250 mA的电流向其充电,那么您将以C / 10的速率充电。

当快速充电时(以较高的C/10的速率),你需要仔细监测电池的电压和温度,以确保你不会过度充电。这会严重损害你的电池。然而,当你缓慢地充电(C/10或更少)时,如果你不小心过度充电,损坏电池的可能性就会大大降低。正因为如此,缓慢充电的方法通常被认为是更安全的,并将有助于最大限度地延长电池寿命。所以对于我的DIY电池充电器,我决定使用C/10的充电率。

充电电路

本充电器的电路设计是一个基本的Arduino控制电源。该电路由一个5伏的稳压电源供电,例如一个交流适配器或一个ATX计算机电源。大多数USB端口不适合这个项目,因为目前的限制。5V源通过一个10欧姆的功率电阻和一个电源给电池充电Mosfet.。MOSFET设定允许流入电池的电流。电阻器是监测电流的一种简单方法。这是通过将每个端子连接到Arduino上的模拟输入引脚并测量每一侧的电压来实现的。MOSFET由a控制PWM输出钉在Arduino上。脉宽调制信号的脉冲被一个1M电阻和一个1µF电容平滑成一个稳定电压信号。这个电路可以让Arduino监测和控制流入电池的电流。

温度传感器

温度传感器可防止电池过充,对安全造成危害

作为额外的预防措施,我安装了一个TMP36温度传感器来监测电池的温度。该传感器输出与温度直接对应的信号电压。所以它不像热敏电阻那样需要校准或平衡。传感器是通过在电池外壳的后面钻一个孔,然后把传感器粘在里面,这样安装时传感器就贴在电池的侧面。然后将传感器的引脚连接到Arduino上的5V、GND和模拟输入引脚。

AA电池座放置在面包板之前和之后

的代码

这个项目的代码相当直接。在代码的顶部有变量,允许您通过输入电池额定容量的值来定制您的充电器,以及您的功率电阻的确切电阻。充电器的安全阈值也有变量。电池的最大允许电压设置为1.6伏。电池的最高温度设置为35摄氏度。最大充电时间设置为13小时。如果超过任何一个安全阈值,充电器就会关闭。

在代码的正文中,您将观察到系统不断测量电阻器的端子的电压。这用于计算电池的端电压和流入电池的电流。将该电流与设置为C / 10的目标电流进行比较。如果计算的电流与目标电流的不同超过10 mA不同,系统会自动调节输出以纠正它。

Arduino使用串行监视器工具来显示所有当前数据。如果要监控充电器的性能,则可以将Arduino连接到计算机上的USB端口,但由于Arduino由充电器的5V电源供电,这无需。

你可以找到一个下载版本的完整代码如下:

Arduino_Controlled_Battery_Charger_Code.zip

现在你有了这些知识,你可以开始使用你自己的充电器了。一定要监控你的充电率,并使用安全协议,因为过度充电可能是危险的。

自己尝试一下这个项目吧!得到bom。

46个评论
  • T
    thegladiator 2016年2月22日
  • P
    Phil-S 2016年2月26日

    现在,如果你能做一个12v的铅酸?
    我有一个CTEK“智能”充电器,从去硫化到维护充电大约要经历8个阶段。
    我经常认为这将是一个很好的项目。
    无论如何,很好地完成,可能比许多便宜的更好。

    喜欢的。 回复
  • 年代
    sylvaneupher 2016年2月26日

    使用这个基本电路来为2节AA镍氢电池充电需要做哪些改变?是否可以使用Arduino Mini作为控制器?

    喜欢的。 回复