Medición del consumo medio de corriente en el hardware

Estoy trabajando en un presupuesto de energía muy bajo, proyecto alimentado por batería. Este proyecto puede dibujar 15uA (promedio) a 3v. El microcontrolador que estamos usando consume de 4 a 10 mA cuando está activo y de 2 a 3 uA cuando está dormido. El micro pasa la gran mayoría de su tiempo dormido.

Me gustaría tener una forma integrada de medir el consumo de corriente promedio de todo el sistema durante los últimos 5 a 10 segundos. El problema es que hacer funcionar el micro para leer una resistencia de derivación requiere, bueno, hacer funcionar el micro. Este dispositivo está diseñado para funcionar durante años con una batería y nos gustaría poder detectar fallas prematuras en función del consumo actual.

Mi idea básica es tomar el circuito de detección de corriente típico y lanzar un gran condensador a través de la salida del amplificador operacional. La entrada ADC al micro es de alta impedancia (10s de megaohmios).

¿Es esto algo que podría funcionar? Estaría buscando una precisión de +/- 2uA. Ignore los valores reales de los componentes. Estoy tratando de encontrar un enfoque general primero.

esquemático

simular este circuito : esquema creado con CircuitLab

¿Desea medir el consumo de corriente promedio del sistema o desea que el sistema controle su propio consumo de corriente en tiempo real?
@Dampmaskin Me gustaría que el sistema pudiera monitorear su propio consumo actual. Sería parte de cada dispositivo fabricado.
El problema en su circuito es el Rsense. A 100 mOhm, con una corriente de 2 µA, obtendrá 0,2 µV. Muy por debajo de las capacidades del amplificador operacional (consulte su especificación de voltaje de compensación: ~ 5 mV típico). Pero si usa una resistencia más grande, lo que la llevaría a un rango más razonable, obtendrá una gran caída de voltaje cuando la MCU consuma 10 mA. Hay amplificadores operacionales que son más precisos, pero es probable que no alcance el rango dinámico que necesita con una topología de este tipo (consulte electronics.stackexchange.com/questions/255646/… )
Su idea propuesta es viable, pero el circuito no: el rango de modo común de TL081 no incluye tierra. Pero podría funcionar al revés para que Rsense esté en el lado alto del sistema. Tendrá que compensar cuidadosamente los voltajes de compensación del amplificador operacional, o usar un amplificador operacional de voltaje de compensación cercano a cero.
Obviamente, la mayoría de los amplificadores operacionales consumen mucho más de 15 µA, por lo que es mejor que investigue aquí y obtenga el que tenga la corriente de reposo más baja que pueda encontrar.
@CHendrix Parece que no está realmente interesado en saber la corriente exacta, sino solo en saber si consume demasiada energía o no. Si es así, probablemente podría elegir una MCU con un comparador analógico incorporado, que activa la MCU si la corriente es demasiado alta. Posiblemente, la MCU podría registrar el número de "accidentes de sobrecorriente". Y tendría que diseñar un caso especial para el arranque del sistema, cuando se espera que las corrientes sean más altas de lo normal (carga de tapas, etc.).
@pipe Se olvidó por completo de la corriente operativa para los amplificadores operacionales. Soy un tipo de software que se está acercando más al hardware. Estoy empezando a pensar que no hay una buena manera de hacer esto a bordo...

Respuestas (2)

Si esta es una medida de 'tiempo de diseño' para probar el sistema o su programación en el banco, entonces podría usar una técnica que he usado a menudo en el pasado.

Tome un condensador electrolítico grande, y me refiero a 10,000 uF o similar, y utilícelo para alimentar el microcontrolador. Registre su cambio de voltaje segundo a segundo, que multiplicado por la capacidad le dará la carga integrada que ha usado el controlador.

Obviamente cada cierto tiempo necesitarás cargarlo conectando una fuente de alimentación, para mantener su voltaje dentro del rango aceptable para el micro.

Hay dos calibraciones para hacer, ambas bastante fáciles.

Una es cuál es la corriente de fuga del capacitor, registre el voltaje a lo largo del tiempo sin carga. Es posible que desee amortiguar su medidor con un amplificador operacional de polarización baja como TL081. La fuga puede cambiar con el tiempo, pero con un capacitor de alta calidad, especialmente si se reforma a un voltaje muy superior a 3v (obviamente dentro del voltaje nominal del capacitor), debe ser lo suficientemente pequeño y estable.

El segundo es el valor real de la capacitancia, los electrolíticos son notorios por sus amplias tolerancias como -20/+80%. Habiendo establecido la corriente de fuga, agregue una carga adicional de una resistencia y grafique la tasa de caída de voltaje. La resistencia y el voltaje le darán una corriente, con el tiempo le darán una carga y la carga por cambio de voltaje le dará la capacitancia.

Se supone que esto es una medida del tiempo de ejecución, pero puede resultar poco práctico, en cuyo caso esta prueba de tiempo de diseño (en realidad, más como una prueba de fabricación) también resultará útil.

Este dispositivo está diseñado para funcionar durante años con una batería y nos gustaría poder detectar fallas prematuras en función del consumo actual.

Déle la vuelta a esto: mida el voltaje del terminal de la batería cuando el micro está funcionando y tomando la carga de 10 mA; con el tiempo, este voltaje caerá a medida que la batería se descargue más y habrá un punto en el que sea factible predecir falla prematura de el sistema.

Entonces, cuando esté tomando la corriente máxima, active (habilite a través de una línea GPIO, por ejemplo) un comparador de baja potencia y una referencia de voltaje medio decente y use el comparador para generar un 1 o un 0 según el voltaje terminal de la batería. Una vez medido, deshabilite esa parte del circuito para que no consuma más corriente y aumente el problema.

Tampoco necesita activar este circuito con tanta frecuencia: una vez al día estaría bien, pero puede decidir eso.