Arduino由9V电池供电


16

昨天下午,我将Arduino放在一块新鲜的9V碱性电池上运行(+连接至Vin,-连接至GND)。今天早上(16小时后),LCD显示屏不再可见,当我测量挥发度时,我看到电池电量耗尽了,令我惊讶的是,其空闲电压仅为7V。

我的设备是Arduino Uno,带有带LCD背光的LCD 2x16和2个DS18B20传感器。这种设备这么快耗尽9V电池是否正常?

我已经阅读了什么是Arduino的节电选项(或如何使用)以延长电池寿命的答案?问题,我想我看到的可能与此有关,但是我不确定。如果是,是否有一些常见的原理图如何将Arduino高效地连接到电池供电?


我会尝试连接万用表,并在整个过程中以及断开显示器和传感器的情况下测量电池的电流。如果其他因素会拉动大多数功能,请不要尝试优化arduino。
BowlOfRed 2014年

@bowlofred“测量电池的电流”-可以,但是我需要先购买一个新的9V电池。:)
Suma 2014年

1
9V电池很小,只有500mAh左右。仅LCD背光灯会在数小时内将其杀死。
hobbs 2014年

更彻底的节能方法:1.使用TI MSP430板代替Arduino;2.采用非线性调节器;3.使用不带背光的LCD(例如在计算器中)。
六。

@bowlofred整机电流为61 mA。在没有背光的情况下为57 mA,在没有LCD和传感器的情况下为56 mA。
苏马2014年

Answers:


21

能量消耗

与具有类似功能的其他嵌入式系统相比,Arduino板使用了相当多的电源。

有三个主要因素:

  • Arduino UNO R3(示意图)中的NCP1117(数据表)5V线性稳压器的静态电流约为6mA。

  • ATMega328P(数据表)在8MHz和5V电压下的功耗约为5mA,可能是16MHz时的两倍多。

  • user2973:用于USB通信的ATMega16U2也消耗约13mA电流。

LED和其他外围设备也消耗一些电流。在您的电路中,LCD背光也可能消耗4mA电流。

当通过线性稳压器将9V降至5V时,由于稳压器的4V压降,几乎损失了一半的功率。Duncan评论说,这几乎使9V 的静态功耗以及5V的每mA所需的功率增加了一倍,因为电压调节器会浪费掉4/9的功率作为热量。一个高效的开关稳压器可以在几乎不浪费能量的情况下输出5V电压,从而有效地将电池看到的电流消耗降低了4/9倍。

金霸王9V电池(数据表)在约7.5小时内从9V降至7V,消耗的电流为50mA。因此,一个粗略的猜测是您的电路消耗约25mA的电流,根据电路的描述这听起来是正确的。

注意,碱性电池寿命相对于电流是非线性的。对于很小的电流(<1mA),碱性电池的寿命接近锂电池的寿命。

降低电流

以下是一些降低电流消耗的技巧:

  • 稳压器:用低静态电流的稳压器或更好的开关稳压器(也采用低静态电流)代替稳压器。开关稳压器使用电流的“脉冲”以及一些外部电感器和电容器来提供合理的稳定电压输出。它不会像线性稳压器的压降那样浪费能量,并且可以实现高达90%的效率。

    • 有些降压(降压)转换器将电池作为输入,然后直接连接到5V和GND,绕过VIN和稳压器。来自Pololu的器件可上下移动,并具有0.1mA的静态电流。
    • 或者,您可以使用一些1.5V碱性电池和升压(升压)转换器将电压提高到5V(例如,Sparkfun的产品)。升压转换器似乎更常用。
    • 最后,您可以购买带充电护罩的可充电锂电池。这样做的好处是不必购买新电池,对于比9V电池稍大一点的锂电池,其容量要大得多。seeeduino跟踪器防水套件是一个非常酷的产品,其中包括充电电路,电池,太阳能电池板和其他物品。
  • ATMega328P:而不是delay用于计时和loop无休止地等待事情发生,而是重新编写代码,以使其在两次传感器读取之间进入休眠状态,等等。那里有一些低功耗库,它们使用看门狗定时器来完成定期从睡眠中唤醒很方便。您可以在睡眠期间使ATMega328P的电流消耗低于0.1mA。

  • LCD:关闭背光灯,甚至关闭整个LCD。在设计上添加一个按钮,用户可以按此按钮激活LCD,并在经过一定数量的不活动后将其关闭。

  • 外设:大多数外设芯片还具有睡眠模式,可大大降低其功耗。卸下不需要的电源指示灯和其他指示灯。

  • ATMegu16U2: user2973注释似乎该芯片非常耗电(user2973)。可以将其删除以节省功率,而仅使用UART,但这似乎有点过头了。有些Arduino Pro板只是没有USB接口而不是UNO的裸露Arduino。

  • 电池:其他碱性电池具有更大的容量。例如,1.5V AA的低电流电流超过2000mAh。使用AA电池和升压转换器会增加更换电池之前的时间。使用D电池(16000mAh),它将运行一段时间。:D

摘要

使用适当的电源和编码,您可以从电池中获得合理的使用寿命。使用上述原理,我制作了一个Arduino衍生板,可以测量一些传感器并将读数每半秒存储到SD卡上一次。使用2节AA电池可以持续约4个月,因此绝对有可能低功耗并保留在Arduino生态系统中。

我用于板上低功耗的芯片是LTC3525-3.3V。它的输入电压低至0.8V,升压至3.3V,并且还提供5V版本。由于没有现成的接口,我为此芯片设计了一块PCB,并且在数据手册中有参考设计。选择该芯片的主要标准是它在非常低的电流下仍具有很高的效率。其他一些转换器需要最小的最小电流消耗。

主板上最大的电源消耗者最终是微型SD卡。根据制造商的不同,它的空闲电流可以在0.1mA至1.5mA之间变化。我发现Verbatim和Lexar卡消耗的电量最少。我将用我的micro SD卡功耗测试的结果来更新这个EE.SE问题


1
好彻底的答案。注意:USB到串行atmega16u2的功耗在解决其他问题之后将非常重要。
user2973

@ user2973您知道它可能是什么吗?我可以从数据表中获得典型的特性,但是由于我不知道固件是否处于休眠状态,所以没有放入。如果它只是正常运行,则它在5V电压下为12mA,这是一个很大的消耗。
geometrikal

@geometrikal,如何用2节AA电池为Arduino供电?仅3伏,低于最低电压。您提到的电源是降压/升压电源吗?(顺便说一句<投票结果>。)
Duncan C

1
@geometrikal,您介意将链接链接到您提到的降压电源之一,例如SparkFun的电源吗?我只是做了一些搜索而找不到。对于长寿命而言,降压型电源似乎至关重要,因为来自常规稳压器的闲置电流非常重要。
邓肯C

1
@geometrikal,您说过“ ...此外,当通过线性稳压器将9V降至5V时,由于稳压器的4V压降,稳压器几乎损失了大部分功率。”这并不是9V静态功耗和每5V毫安所需的功率?(由于电压调节器将4/9的功率浪费为热量。)似乎最好是像TSR 1-2450这样的降压转换器运行它
Duncan C

3

我认为Arduino Uno不适合此类项目。正如@geometrikal正确指出的那样,板上的某些组件消耗的电流太多。如果您要应对挑战,我建议您将您的项目再上一个台阶,准一些。

Sparkfun上有一篇很好的文章,介绍了如何使用Arduino Uno上的ATmega328来延长电池寿命:https : //www.sparkfun.com/tutorials/309

寻找方法来仅使用您真正需要的组件来创建电路,并使您的微控制器尽可能多地睡眠。


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.