我正在使用 5v 电池(3.7v 到升压模块)为 Arduino 供电,我需要测量电压。假设电池提供大电流,通过模拟输入测量电压是否安全?就像这样:

我问的原因是我对 Arduino 的 ADC 架构和限制了解不多。所以通常情况下,为了安全起见,我会这样做:

第一张图中的连接对于 ADC 是否安全?提前致谢!
注意:此处提出了类似的问题:(Monitor DC Power Usage),但它没有回答电池上的高电流负载问题。
我正在使用 5v 电池(3.7v 到升压模块)为 Arduino 供电,我需要测量电压。假设电池提供大电流,通过模拟输入测量电压是否安全?就像这样:

我问的原因是我对 Arduino 的 ADC 架构和限制了解不多。所以通常情况下,为了安全起见,我会这样做:

第一张图中的连接对于 ADC 是否安全?提前致谢!
注意:此处提出了类似的问题:(Monitor DC Power Usage),但它没有回答电池上的高电流负载问题。
检查数据表以了解 I/O 引脚上的输入电流它取决于 Arduino 上控制器的确切类型。它可能被称为输入漏电流 I/O 引脚,将接近1μA。
这是 Uno / Duemilanove / ... 上使用的典型 ATmega 数据表,您可以在第 304 页找到参数。请查看特定控制器的数据表以获取准确的详细信息。
如果您使用 3.7V 电池和升压转换器为控制器提供 5V 电压,则可以将电池直接连接到控制器模拟输入。但是,当升压转换器的输出电压低于电池电压(无论出于何种原因)时,您的整个 Arduino 将通过模拟输入引脚供电,这就是您不想要的。所有输入引脚都具有过压保护功能,可以实现这种行为,但二极管的额定电流不适合连续电流。总之:最好在电池和输入引脚之间包含一个串联电阻。
但是现在您的测量依赖于 5V 电源的精度。根据您拥有的确切控制器,有各种内部参考电压可用,它们比电源电压准确得多。如果您添加一个额外的接地电阻 (R2),您可以使用这样的参考来准确测量输入电压。这称为(电阻)分压器。在给定的比率下,当电池电压为 3.7V 时,输入引脚上的电压为 1V:

另一种选择是使用 Arduino 的内部 1.1V 带隙电压参考来确定 VCC 的值,而无需使用以下两个链接中详述的任何其他外部部件:
http://jeelabs.org/2012/05/04/measuring-vcc-via-the-bandgap/
和
http://arduino.cc/forum/index.php?topic=88935.0
唯一的问题是您需要根据内部 1.1V 带隙确定校准值,因为它可以偏离多达 10%。
但这不需要额外的部件,并且可以让您的 atmega 确定其电源的电压。