Medición del voltaje de la fuente de alimentación de un Arduino usando Analog In

Estoy alimentando un Arduino con una batería de 5v (3.7v a un módulo elevador) y necesito medir el voltaje. Digamos que la batería entrega alta corriente , ¿es seguro medir el voltaje a través de la entrada analógica? Como en esto:

ingrese la descripción de la imagen aquí

La razón por la que pregunto es que no sé mucho sobre la arquitectura y las limitaciones del ADC de Arduino. Entonces, normalmente, lo haría por seguridad:

ingrese la descripción de la imagen aquí

¿Las conexiones del primer diagrama son seguras para el ADC? ¡Gracias por adelantado!

Nota: Se hizo una pregunta similar aquí: ( Monitorear el uso de energía de CC ), pero no responde a la pregunta de cargas de alta corriente en la batería.

¿Dónde conseguiste una batería de 5V?
En realidad, es una batería de 3,7 V que se conecta a un circuito regulador de voltaje elevador. De hecho, estoy interesado en medir la batería de 3.7v, pero por ejemplo, asumí que es de 5v para mostrar que el Arduino está funcionando.
Ah, pero podría cambiar las cosas. Sin embargo, probablemente no: al arduino no le importará cuánta corriente consume la batería, siempre que no toda esa corriente pase por el pin IO. Pero no estoy seguro, no sé arduino.
Es verdad. Me preocupa la entrada actual al pin de entrada analógica si lo conecto directamente a una batería.

Respuestas (2)

Consulte la hoja de datos para conocer la corriente de entrada en un pin de E/S. Depende del tipo exacto de controlador de su Arduino. Probablemente se llame pin de E/S de corriente de fuga de entrada y estará cerca de 1 μA .

Aquí hay una hoja de datos típica de ATmega utilizada en Uno / Duemilanove / ... , puede encontrar el parámetro en la página 304. Consulte la hoja de datos de su controlador específico para obtener detalles precisos.

Si usa una batería de 3,7 V y un convertidor elevador para suministrar 5 V al controlador, puede conectar la batería directamente a la entrada analógica de su controlador. Sin embargo, cuando el voltaje de salida del convertidor elevador cae por debajo del voltaje de la batería (por cualquier motivo), todo su Arduino se alimentará a través del pin de entrada analógica y eso es lo que no desea. Todos los pines de entrada tienen protección contra sobretensión que permite este comportamiento, pero los diodos no están clasificados para corrientes continuas. En conclusión: lo mejor es incluir una resistencia en serie entre la batería y el pin de entrada.

Pero ahora su medida depende de la precisión de la fuente de alimentación de 5V. Dependiendo del controlador exacto que tenga, hay varios voltajes de referencia internos disponibles que son mucho más precisos que el voltaje de la fuente de alimentación. Si agrega una resistencia adicional a tierra (R2), puede usar dicha referencia para medir con precisión el voltaje de entrada. Esto se llama un divisor de voltaje (resistivo). Con la relación dada, el voltaje en el pin de entrada será de 1 V cuando el voltaje de la batería sea de 3,7 V:

V metro mi a s tu r mi metro mi norte t = R 2 × V B A T T R 1 + R 2

esquemático

simular este circuito : esquema creado con CircuitLab

Entonces, en esencia, es posible conectarlo directamente a una batería, pero NO se recomienda si los 5v varían. Incluso si el 5v es regulado y constante?
Debería ser seguro si 5V es constante, pero las cosas salen mal todo el tiempo, así que: mejor prevenir que curar. Una o dos resistencias son mucho más baratas que un nuevo microcontrolador. La ingeniería no se trata solo de hacer que las cosas funcionen, también se trata de hacer que las cosas sigan funcionando según sea necesario.
Otra pregunta, si se me permite: ¿no es una sola resistencia (1K) en paralelo a la batería lo suficientemente buena para evitar una entrada de alta corriente? (Ver mi segunda figura)
No, no hace nada más que gastar la batería.

Otra opción es usar la referencia de voltaje de banda prohibida interna de 1.1V de Arduino para determinar el valor de VCC sin el uso de partes externas adicionales como se detalla en estos dos enlaces:

http://jeelabs.org/2012/05/04/measuring-vcc-via-the-bandgap/

y

http://arduino.cc/forum/index.php?topic=88935.0

El único problema es que necesita determinar un valor de calibración contra la banda prohibida interna de 1,1 V, ya que puede estar desviada hasta en un 10 %.

Pero eso no requeriría piezas adicionales y le permitiría a su atmega determinar el voltaje de su fuente de alimentación.

Aquí hay otro artículo que explica cómo hacer esto. El código que utiliza es ligeramente diferente: provideyourown.com/2012/…
@ThomasW genial! Otro gran artículo sobre el uso de la banda prohibida de 1.1v.