能量消耗
与具有类似功能的其他嵌入式系统相比,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问题。