Medición de voltaje PIC

Estoy ejecutando un dispositivo alimentado por batería y me gustaría que mi microcontrolador (PIC) informe sobre el voltaje de suministro.

Esto es para que pueda determinar cuántas baterías se utilizan en el suministro y también el estado de carga del paquete de baterías.

El voltaje de suministro varía de 4xD (ya sea NiMH nominal de 1,2 V o alcalinas de 1,5 V que producen alrededor de 6 V) a 12xAA (NiMH de 1,2 V para 14,4 V o alcalinas de 1,5 V para 18 V).

Mi PIC está funcionando con un suministro regulado de 5V.

Planeo usar uno de los puertos ADC para medir el voltaje y, por lo tanto, creo que debería asignar el fsd de 18 V al rango de 0-5 V, por lo que aproximadamente tendría que dividir el voltaje de entrada por 3.

Escuché sobre el uso de un divisor de voltaje de resistencia, pero sé que puede ser un desperdicio en términos de energía consumida.

¿Se pregunta si hay una mejor manera de lograr esta división de voltaje sin demasiada pérdida/desperdicio de energía?

Gracias.

Respuestas (2)

quieres un divisor de voltaje. Si le preocupa la disipación de energía, hay un par de cosas que puede hacer:

  • use un divisor de voltaje de impedancia bastante alta, con un capacitor en el terminal de salida, y búferelo con un amplificador operacional de baja potencia. Asegúrese de usar un filtro RC entre el amplificador operacional y el ADC, los valores de este filtro RC suelen estar entre 50 y 200 ohmios, 1000 pf. Esto sirve para mantener el voltaje estable cuando el ADC está cambiando entre canales y la carga se transfiere entre el capacitor interno del ADC y el pin exterior. Un amplificador operacional por sí solo no puede hacer esto. Si no amortigua el divisor de voltaje de alta impedancia, obtendrá errores debido a la corriente de fuga de ADC y la transferencia de carga.

  • cambie el divisor de tensión, por ejemplo, conéctelo/desconéctelo a la tensión de alimentación, para que pueda hacer esto sólo ocasionalmente cuando lo desee. Un PFET funcionaría, solo tenga cuidado con la forma en que lo conduce.

Esto suena genial, solo me gustaría agregar que necesita cargar (extraer corriente de) una batería para obtener una medición realista de la vida útil restante de la batería. Está mucho mejor con un divisor de corriente más alto con un interruptor de apagado.
Acabo de publicar una respuesta similar y voté para eliminarla. Aparentemente tenía una versión antigua de la página almacenada en caché. Voté esto a favor, es el camino a seguir.
+1 para cambiar el divisor de voltaje. Un truco muy útil.
@Kortuk: tiene un muy buen punto, pero desacoplaría el divisor de voltaje de la carga de la batería. Es realmente fácil controlar un FET de canal N directamente desde un microcontrolador (bueno... debe haber una pequeña resistencia entre la salida micro + la compuerta FET, generalmente uso 10-100 ohmios) y tener una resistencia desde el drenaje FET hasta la fuente de alimentación . Mucho más fácil que tratar de combinar estas dos funciones y lograr un divisor de voltaje conmutable. Además, hay muchas ocasiones en las que desea medir el voltaje de una batería sin carga o casi sin carga. De hecho, si tuviera que elegir uno u otro, lo mediría sin carga.

Jason S ha proporcionado una buena sugerencia sobre cómo puede reducir la potencia si es necesario. Pero antes de complicarte la vida, es posible determinar cuánta energía realmente puedes permitirte.

Para cualquier diseño de bajo consumo, debe considerar el presupuesto general de energía. Para un dispositivo alimentado por batería, esto generalmente estará determinado por la vida útil deseada de las baterías. Si la potencia combinada del resto del circuito es significativamente mayor que el divisor de resistencia, entonces no necesita preocuparse por eso o tiene que preocuparse por otras partes del circuito que consumen mucha energía.

+1 por señalar la importancia de la perspectiva. Agregaría, si es el 1% de su presupuesto de energía, no vale la pena preocuparse (¡a menos que tenga un montón de divisores de voltaje!) -- si es el 5-10% de su presupuesto de energía, puede valer la pena preocuparse; si es 20% o más lo es. (solo mi 2c)
Suena como una buena regla general para mí. El otro punto importante es que podemos medir y calcular estas cosas. Y hacerlo es más útil que adivinar :)
Buen punto Jasón. Un poco más sobre la aplicación: es un sistema de iluminación que no se utilizará durante largos períodos de tiempo y luego, cuando se enciende, consume alrededor de 3 A del suministro con un circuito de corriente constante. Entonces, en funcionamiento, el consumo de energía para el monitoreo de voltaje es una parte insignificante del consumo de energía total. Sin embargo, en el modo de espera, me gustaría que la capacidad de la batería no se agotara innecesariamente tanto como sea posible, o mejor dicho, me gustaría que cualquier consumo parásito inevitable se minimice en el modo de espera.
@Kheng: ¿Es posible tener todo excepto el microcontrolador en una fuente de alimentación separada? Encienden todos los periféricos a la vez con un relé o fet bajo el control del uC. Entonces debería ser fácil controlar la corriente de reserva del uC y no tiene que preocuparse por minimizar la potencia en circuitos individuales.
@Kheng: "Me gustaría que la capacidad de la batería no se agote innecesariamente tanto como sea posible" es demasiado puntiagudo para un ingeniero. ¿Cuál es la corriente promedio consumida? Para calcular eso, necesitará conocer el ciclo de trabajo promedio y la corriente inactiva. Luego aplique las reglas generales dadas por Jason para ver si tiene sentido hacer algo más complicado que un divisor de resistencia. La ingeniería NO está haciendo "lo mejor posible", sino "cumpliendo los requisitos al menor costo".