Estimación aproximada del nivel de batería (alcalina de 9 V) con lectura analógica

Estoy construyendo una estación meteorológica de escritorio portátil usando un microcontrolador Arduino Nano. El sistema está siendo alimentado por una batería alcalina de consumo de 9V, con el voltaje regulado por el regulador a bordo del Nano.

Quiero que se muestre un nivel de batería aproximado en la pantalla LCD.

El enfoque inicial que he tomado es usar un divisor de voltaje que escala la entrada de 9V a 3.3V. Luego, esta señal se ingresa en el Analogue IN (A6)Nano ( AREFse establece en 3,3 V debido a otros requisitos del dispositivo de entrada analógica).

A partir de esto, supuse que los rangos de lecturas de voltaje podrían corresponder a indicaciones de batería LLENA, MEDIA y BAJA.

Entiendo que el voltaje del terminal de la batería cambiará con el consumo de corriente. Espero un consumo de corriente pico de 350 mA con un consumo típico de aproximadamente 100-150 mA.

¿Cuál es un buen esquema/algoritmo/valores de corte que debo usar para medir aproximadamente el nivel de la batería?

EDITAR: -Mi consumo de energía estimado fue muy impreciso. Después de medir el consumo de corriente del dispositivo final, el consumo fue de aproximadamente 30-40 mA continuos, con picos raros de 50 mA.

-Terminé usando un porcentaje de batería simple usando AnalogRead(). Calibre una batería nueva para que muestre ~90% agregando un factor de error. Fue bastante exitoso como una estimación aproximada.

Tiene problemas más grandes: primero, todo el esquema de usar un regulador lineal en un dispositivo alimentado por batería es un desperdicio. Pero también, sin un circuito de habilitación de etapas múltiples, el divisor de voltaje que necesitará para leer el nivel de la batería agotará la batería incluso cuando su MCU esté durmiendo en lo que debería ser una corriente de microamperios.
Una alcalina de 9V es en realidad 6 celdas alcalinas de 1.5V en serie. Puede descargar a, digamos, 1V por celda. Pero no desea extraer 350 mA de una celda alcalina de 9V. Ni siquiera 100 mA. Esas baterías no pueden suministrar tanta corriente durante mucho tiempo.
Si usa un regulador lineal para llevar los 9 V a 3,3 V a 50 mA, necesitará disipar casi 285 mW como calor mientras su circuito consume 165 mW.
a 20mA esa batería no durará ni una semana.
Los 9V también se vuelven súper ruidosos cuando hace frío.

Respuestas (1)

Espere 9 V como batería nueva y alrededor de 6-7 V como batería descargada (supongo que necesita 5 V en su dispositivo, ¿no?)

En el caso de una buena batería, la carga continua no le dará medidas muy diferentes. Por supuesto, el voltaje de la batería puede caer, digamos, 0,1 V, pero en realidad es algo que puede ignorar.

Es posible que desee tener en cuenta la curva de descarga de su batería para mejorar la precisión de la estimación de energía: http://www.powerstream.com/9V-Alkaline-tests.htm Esto se puede hacer con una matriz simple que convierte el voltaje medido en % esperado de energía restante.

Le sugiero que codifique algo de histéresis, de lo contrario, verá que su estado rebota entre los estados "lleno" y "medio" cuando la batería está casi agotada a la mitad.

Estoy de acuerdo con los otros comentarios en que una batería de 9V solo tiene una ventaja: comodidad. Realmente no es la mejor fuente de alimentación para su circuito, puede ejecutar sus cosas desde celdas 3xD (4.5V conectadas directamente al riel de 5V, sin pasar por el LDO) durante aproximadamente 40-50 veces más que con una batería de 9V.