Monitoreo de batería de baja corriente

Quiero ejecutar un microcontrolador desde un lipo 1S a través de un regulador lineal de 3V. Sin embargo, necesito medir el voltaje de la batería. El problema con el uso de un divisor de voltaje es que agotará la batería con el tiempo, lo que puede o no tener un circuito de protección incorporado. Dado que el AVR que estoy usando tiene una impedancia de entrada recomendada de no más de 10K, no puedo hacer el divisor demasiado grande tampoco.

¿Alguien puede sugerir una solución que me permita monitorear este voltaje sin matar una batería desprotegida durante un par de meses? El circuito podría entrar en modo de suspensión profunda durante un período prolongado, lo que significa que una solución de divisor de voltaje consumiría la mayor cantidad de energía.


Terminé usando la solución de Hanno y Andy. Gracias por todos los aportes. Desafortunadamente, solo puedo elegir una respuesta.

Respuestas (3)

El divisor de voltaje debe unirse a la MCU en modo de suspensión profunda entonces... Esto se puede lograr con un FET de canal P (por ejemplo).... Cuando la MCU se despierta, querrá medir el voltaje de la batería, entonces, ¿qué? lo que puede hacer es encender un circuito formado alrededor de un FET de canal P que conecta la batería +V al divisor de voltaje: -

ingrese la descripción de la imagen aquí

La entrada ADC se muestra a la derecha y no habrá voltaje que la alcance a menos que la MCU haya activado el BC547 a través de la resistencia de 10k. Sin activación, el FET del canal P se apaga y prácticamente abre el circuito. Si puede programar la MCU para que tenga un menú desplegable en su pin de control cuando está dormido, debería ser así, de lo contrario, agregue otra (digamos) resistencia de 10k desde ese punto a tierra; esto asegura que el FET del canal P esté completamente apagado.

Una pequeña advertencia: elija un fet de canal P con baja corriente de fuga cuando esté apagado; de lo contrario, habrá un ligero agotamiento de la vida útil de la batería, pero la mayoría de los fet tendrán menos de 100 nA y muchos en la región de 1 nA.

Una última cosa: ¿cómo funciona el regulador de voltaje en su corriente de espera cuando el micro está apagado? ¿Debe cuidarlo también?

Estoy usando el MCP1802 que tiene una corriente de 25uA Q, esta parte funciona bien. Gracias por la sugerencia, exactamente el tipo de solución que estaba buscando.
¿Por qué usarías un P-Chan con transitor y no un solo fet N-Channel?
@jme: el ADC y la MCU están referenciados a tierra, por lo que tiene sentido cambiar la alimentación de mayor voltaje. Si usara un dispositivo de canal N, aún habría un drenaje permanente a través de la resistencia superior y a través de los diodos parásitos en la MCU cuando está en modo de suspensión.
@Andyaka, ¿qué identificación se invirtió el N-Fet para que el diodo se invirtiera para no permitir que la corriente fluya a las resistencias ADC?
@jme: ¿por qué no planteas esto como una pregunta adecuada?
@Andyaka supongo que puedo, pero no siento que lo necesite. solo quería pedir una aclaración sobre la elección del diseño y creo que es relevante para la respuesta que ha proporcionado.
Es un canal P FET por cierto
@jme "¿Por qué no usar un interruptor de lado bajo (por ejemplo, N-ch FET o μC i/o pin)?" es una buena pregunta Este es el por qué. El voltaje de la batería puede ser mayor que Vcc. Cuando se abre el interruptor del lado bajo, el voltaje de la batería aparecerá en el pin A/D. Eso podría provocar la quema del A/D o una fuga de la batería a través de los diodos de protección en el pin A/D. Hilo relacionado.
¿No debería agregar una resistencia desplegable en la base del BC547? De lo contrario, si la MCU está apagada, ese pin puede flotar y ocasionalmente habilitar el circuito y descargar la batería.
Funciona con batería y si el operador elige flotar o probar esa salida, entonces se debe agregar una resistencia.
Deambulo: ¿qué implicaciones tendría si usara un mosfet en lugar de BJT en este circuito? ¿Corriente de fuga de mosfet?
La corriente de fuga del mosfet que recibe la señal lógica no debería ser un problema @miceuz
¿Sería posible construir el circuito sin el MOSFET y conectar el divisor de voltaje inmediatamente entre la batería y el colector del BC547? Supongo que esto tendría el costo de un pequeño error en la lectura de voltaje, que tal vez incluso podría calcularse.
@dloeckx seguro que es posible construir eso, pero cuando el BJT está "apagado", ¿cuál será el voltaje en el pin MCU?
@Andyaka Mantendré el pin bajo con el MCU. Planeo agregar este esquema a un ESP32, que puede mantener su estado de pin IO incluso cuando está en modo de suspensión profunda.
@dloeckx Creo que se está perdiendo el sentido de estas preguntas y respuestas. Se trata de mantener el consumo de energía realmente bajo cuando el PFET está desactivado. Lo que propones también podría hacerse con el divisor de potencial conectado directamente a través de la batería. ¿Puedo sugerirle que plantee esto como una nueva pregunta porque este no es el lugar para discusiones extensas sobre una sesión de preguntas y respuestas que finaliza?

Cuando solo necesita saber cuándo se agotará la batería (o dar una advertencia poco antes de eso), no necesita medir su voltaje directamente. El voltaje de salida del regulador caerá por debajo de 3V antes de que la batería alcance su voltaje mínimo. Entonces podría medir el voltaje de suministro del microcontrolador.

Dependiendo de sus capacidades reales, puede hacerlo sin usar un divisor de voltaje. Para ver un ejemplo, consulte la hoja de datos del ADC para un PIC12F1822 (en la página 141):diagrama de bloques ADC

El PIC tiene una referencia de voltaje interno y puede medir su valor (el 'búfer FVR' que va al multiplexor). Pero también puede usar el voltaje de suministro como referencia para las mediciones de ADC (el selector ADPREF en la parte superior).

Dado eso, uno puede simplemente medir la referencia de voltaje con respecto al voltaje de suministro y obtener el voltaje de suministro como resultado. En el caso del 12F1822, la referencia interna es 2.048V y el ADC tiene una resolución de 10 bits. Entonces, cuando el voltaje de suministro cae por debajo de 3,0 V, el resultado de ADC supera los 699:

A D C r mi s tu yo t = 1024 V i norte V r mi F
que en nuestro caso es
A D C r mi s tu yo t = 1024 2.048 V V s tu pag pag yo y

Tenga en cuenta que un voltaje de suministro más bajo significa resultados de ADC más altos, ya que el voltaje de entrada y el voltaje de referencia se intercambian de la manera habitual. Puede convertir esta fórmula para averiguar el voltaje de suministro real, dado el resultado del ADC.

¿Realmente necesitas el regulador lineal? Hacer funcionar el µC con el voltaje total de la batería facilitará mucho las cosas. Además, el regulador y el µC siempre consumirán energía, incluso en los modos de ahorro de energía, agotando continuamente la batería. Echa un vistazo a las hojas de datos y tenlo en cuenta.

Debido a que la entrada del ADC (de un ADC común de muestreo y retención, como el de un AVR µC) solo absorberá la corriente cuando realmente tome muestras de un valor, la impedancia de entrada transitoria baja se puede compensar simplemente agregando un capacitor:

esquemático

simular este circuito : esquema creado con CircuitLab

La frecuencia máxima de muestreo, por supuesto, estará limitada de esta manera, ya que el capacitor necesitará tiempo para recargarse a través de la resistencia grande antes de que se realice el siguiente muestreo, pero supongo que no medirá más de, digamos, una vez por segundo de todos modos.

El tiempo requerido para recargar el capacitor se puede configurar variando su capacidad y/o R1. Mayor R1 = menos "pérdida" de energía + menor máx. frecuencia de muestreo. Una capacidad más pequeña se cargará más rápido para una resistencia dada y así sucesivamente.
Querrá maximizar el valor de R1, y luego puede necesitar minimizar el valor de C1 para lograr la frecuencia de muestreo deseada.

La capacidad mínima depende de la cantidad de carga que el ADC extraiga para una muestra, que a su vez está determinada por la capacidad del búfer de muestra del ADC. Para los dispositivos AVR, creo recordar que este valor se especifica en la hoja de datos. Para otros µC, no puedo decirlo, pero el 1 µF en el diagrama probablemente sea más que suficiente en cualquier caso, y posiblemente pueda reducirse en un factor de 10 más o menos. Las especificaciones del ADC lo dirán.

Editar:

Encontré esto en la hoja de datos de Atmel para el ATmega1284p. El condensador del búfer S&H está especificado en 14 picofaradios , por lo que un par de nanofaradios para C1 debería ser suficiente.

Circuito de entrada analógica de la hoja de datos ATmega1284p

Véase, por ejemplo, la discusión aquí .

El regulador lineal, a su vez, será controlado por un detector de voltaje de corriente ultrabaja, eliminando efectivamente tanto el uC como el regulador del circuito en caso de que la batería se agote por debajo de cierto valor.
Ok, pero ¿se requiere el regulador para el suministro de µC, o el µC puede ser alimentado directamente por Vbat, en cuyo caso puede funcionar sin ningún divisor de voltaje?
Parece que ahora entiendo que en realidad no está preguntando cómo se puede construir el dispositivo para usar la energía mínima, sino solo cómo asegurarse de que el LiPo no se destruya. ¿Es esto correcto?
Sí, se requiere el regulador para el suministro de uC. Se prefiere usar una potencia mínima, pero no es mi principal preocupación.
¿Cómo se ve la salida del detector de voltaje que mencionaste?
Estoy usando el MCP112, es un detector de voltaje push-pull. (El regulador de voltaje es el MCP1802)
Posiblemente, entonces podría poner el divisor de voltaje en su salida; pero la propuesta de Andy Aka es probablemente la mejor manera de hacerlo.
Para su información, para la familia STM32L, la impedancia de entrada del ADC es de 50 K, por lo que un divisor de voltaje con resistencias de megaohmios no funcionará.