¿Cómo medir pequeñas cantidades puntiagudas de corriente?

13

Supongamos que tengo un microcontrolador con una cierta cantidad de periféricos conectados y me gustaría poder hacer una estimación razonable de la vida útil de la batería. Debido a que podría tener que dormir a veces, y varios periféricos estarían en diferentes estados, mi consumo actual puede variar entre uA (en modo de suspensión) y unos 10 s de mA (cuando está despierto).

Ahora, podría conectar una batería y dejar que se agote y medir el tiempo, pero esto hace que sea lento y difícil (y posiblemente costoso) comparar diferentes enfoques, tanto en el firmware como en el hardware.

Podría colocar un multímetro en serie, pero incluso si tiene registro de datos, eso es en algún intervalo y tendría que interpolar, y podría perder por completo variaciones más pequeñas que el intervalo. (Más voltaje de carga y todo eso).

Si mi dispositivo duerme lo suficiente , la corriente de activación se vuelve algo insignificante, pero eso puede requerir una proporción de 1000: 1 de tiempo de sueño a tiempo de activación, por lo que no es probable en todos los diseños.

¿Hay algún dispositivo que integre corriente a lo largo del tiempo en cantidades muy pequeñas (por ejemplo, no el medidor de salida Kill-a-watt)? Básicamente me interesa saber que "en la última hora, se consumieron 20 mAh". Puntos de bonificación si puedo obtener mediciones de corriente de precisión en un momento dado, para comparar el consumo de corriente despierto y dormido.

David
fuente
3
@ Sparky256 ¿de qué estás hablando? Es muy probable que una frecuencia de muestreo de 10 kHz sea suficiente aquí, suponiendo que haya suficientes condensadores de desacoplamiento involucrados. Digamos que estamos usando 16 bits por muestra, eso genera solo 20 kB por segundo. Cualquier micrococontrolador moderno de 16 o 32 bits puede escribir eso en una tarjeta SD sin mucha dificultad, y mi PC puede almacenar años de eso en RAM, en SSD o disco duro. ¡Esto no es la década de 1960! Incluso el 1MS / s de Vince es ... risible para alguien que está trabajando con la radio definida por software.
Marcus Müller
55
@ Sparky256, tengo un sistema NI Labview de 16 canales que puede grabar 16 canales de lecturas DAC de 16 bits a 200 ksps hasta que el disco duro de 1 TB esté lleno. Se trata de cuánto dinero quieres pagar.
Vince Patron el
3
@ Sparky256 ciertamente, las tarjetas DAQ de marca son caras. Para este propósito, un dispositivo muy simple funcionaría, potencialmente incluso una tarjeta de sonido (con tapas de acoplamiento puenteadas) con una referencia de voltaje en el otro canal estéreo.
Marcus Müller
44
Disculpe, pero la integración no necesita almacenar las muestras actuales digitalizadas, es suficiente para guardar la integral acumulada: una suma. 1MSa / segundo o 1Sa / segundo, un segundo de tiempo de integración o una semana, pocos bytes de memoria son suficientes.
user287001
66
No he visto a nadie mencionar contadores de culombios, lo que parece una mala idea en esta situación
BeB00

Respuestas:

13

Bueno, ciertamente hay circuitos integrados de detección de corriente específicos. En su caso, "simplemente" iría con algo como:

  • Use una resistencia en serie pequeña (por ejemplo, 0.5 Ω) entre la batería y sus componentes electrónicos.
  • Amplifique el voltaje a través de esa resistencia con un amplificador de instrumentación
  • Registre ese voltaje, por ejemplo, usando un ADC

Problemas:

  1. bajas corrientes · baja resistencia = bajo voltaje: la precisión de su medición será mala debido al ruido
  2. Como los microcontroladores se despiertan muy rápido y se duermen igual de rápido, su frecuencia de muestreo de ADC necesariamente debe ser muy alta.

Pero como principio, eso funciona, y es ciertamente viable (aunque diseñar un amplificador de instrumentación estable, de bajo ruido y alta amplificación podría no ser trivial; pero: hay circuitos integrados de amplificador de entrada que lo hacen mucho más fácil).

Afortunadamente, tu problema es bastante común. Entonces: muchos, incluidos Texas Instruments, tienen una cartera de amplificadores de detección de corriente, algunos de los cuales integran la resistencia de derivación mencionada anteriormente Y una interfaz digital. Vea la lista de productos de TI .

De hecho, estos circuitos integrados son capaces de medir la corriente y el voltaje de alimentación al mismo tiempo, y eso es genial para medir la potencia consumida, una medida mucho más relevante para la vida útil de la batería que la corriente extraída, si hay elementos no lineales (es decir, por ejemplo , MCU).

El INA233, por ejemplo, se puede conectar a una derivación externa (digamos, 0.3 Ω) y tiene una resolución de 2.5 µV por paso de ADC. Eso significa que un solo paso de ADC es I = U / R = 2.5 µV / 0.3 Ω = 8.333 µA en corriente.

Creo que ese dispositivo también tiene un modo automático de muestreo y promedio, para que pueda obtener fácilmente buenas aproximaciones incluso bajo una carga que cambia rápidamente.

Además, como acabo de descubrir: la cosa tiene un nivel de "alerta", por lo que puede activar su sistema de medición cada vez que la corriente se eleva por encima de un umbral configurable. ¡Agradable! De esa manera, solo necesita muestrear ocasionalmente.

Marcus Müller
fuente
¿Se podría abordar alternativamente la necesidad de una alta frecuencia de muestreo con un integrador analógico que se muestrea y luego se restablece a una frecuencia menor?
Phil Frost el
Tenga en cuenta que ningún proveedor de baterías tiene la misma fuga, capacidad y efecto de doble capa o relaciones ESR. Por lo tanto, prediciendo. Ah capacidad vs descarga actual es imposible de generalizar. Debe probarse a menos que se especifique con precisión en la hoja de datos.
Tony Stewart Sunnyskyguy EE75
@PhilFrost Me gusta esa idea, pero estoy preocupado por las imprecisiones que también se integran. ¡Pero estoy bastante seguro de que esto, al menos a cierta escala, es factible!
Marcus Müller el
7

¿Hay algún dispositivo que integre corriente en el tiempo en cantidades muy pequeñas?

Sí, hay varios. la más antigua es una célula de galvanoplastia (la masa de metal plateado representa las amperios-hora) patente de Edison , y las células de electrólisis (acumulación de gas en un tubo capilar) se han utilizado más recientemente. Estos son exactamente equivalentes a analizar la batería después de un largo período de uso.

Hoy en día, use la digitalización.

Si espera fluctuaciones más rápidas que una frecuencia de muestreo digital, eso se puede solucionar. Se puede disponer una ruta de corriente de dos ramas, con conductancia de alta frecuencia (un condensador) que evita el sensor de corriente, y una conductancia de baja frecuencia paralela (inductor y elemento sensor de corriente).

Si espera una pequeña corriente de larga duración (que vence la granularidad del muestreo digital), eso también se puede corregir. Agregue una pequeña fuente de CC-más-ruido blanco a la señal de corriente CC, y una cantidad fraccional de corriente causará (estadísticamente) una acumulación digital correcta durante grandes períodos de tiempo. ADC con tramado fig. 5a Sin embargo, la parte de CC de la señal añadida debe calibrarse. Las fuentes de ruido pseudoaleatorio son útiles para este tipo de 'dither'.

La digitalización y la acumulación en un registro (al igual que el Kill-a-watt) pueden funcionar con componentes fácilmente disponibles, y algunos trucos controlan su potencial de mala medición.

Whit3rd
fuente
7

Rápido y sucio: ¡SUPERCAPACITORES! (También busque el ultracondensador). Alimentarán su sistema y mostrarán la corriente integrada como una caída de voltaje con el tiempo.

¿Qué procesador Vdd y / o voltios de batería estaba contemplando? Un condensador integra naturalmente la corriente, por supuesto, y si usa un supercondensador de pocos faradios en lugar de una fuente de batería, puede medir el voltaje que cae con el tiempo y determinar con precisión los microamperios promedio a largo plazo.

Si su diseño necesita un Vdd constante, elija un valor de supercap lo suficientemente grande como para que el voltaje solo disminuya un XX por ciento mientras se ejecuta la prueba. Dependiendo de la corriente promedio, es posible que pueda escapar con un condensador de unos pocos dólares. Por ejemplo, 4.7 faradios a unos pocos voltios es un supercap común en los catálogos de excedentes. (Sparkfun tiene unos diez faradios, y el tamaño máximo es de los cápsulas de refuerzo de 3000 faradios de Electronic Goldmine a 2.7V.) Apílelos en serie para obtener un límite de voltaje más alto.

wbeaty
fuente
3
Los supercaps tienen una corriente de fuga significativa que cambia con el voltaje y la temperatura, que el OP tendrá que tener en cuenta.
Dmitry Grigoryev
2
@DmitryGrigoryev Buen punto. Ejecute la prueba solo con un condensador desnudo, calcule la corriente de fuga, luego pruebe nuevamente con la placa de la CPU conectada. No olvides: rápido y sucio, no complicado y de alta precisión. Si necesita conocer la respuesta dentro del 1%, diríjase a los integradores activos bien diseñados, etc.
wbeaty
Ejecute la prueba varias veces , algunas con y otras sin la placa de la CPU conectada, en orden aleatorio; luego calcule la diferencia de medias y su intervalo de confianza. / estadístico
nekomatic
Luego, metaanálisis de múltiples proyectos de CPU para aficionados, para detectar si algún grupo estaba creando sesgos al descartar los valores atípicos.
wbeaty
4

Si espera un amplio rango dinámico, una opción podría ser utilizar un espejo de corriente que fluye por un amplificador logarítmico de trans-impedancia como el LOG114 . Puede obtener más de 6 décadas de alcance con un circuito bien ajustado. La integración se puede ajustar con un condensador después del espejo actual.

Esta es una solución más compleja, y la resolución a alta corriente, cuando la carga de la batería cambia significativamente, es menor. La precisión frente a la detección directa y proporcional dependerá de la fracción de tiempo que pase a baja corriente.

Además, puedes usar fuerza bruta con la resolución ADC. 24 bits o 32 bits podrían cubrir 4 décadas sin problemas.

pserra
fuente
3

Para sus mediciones aproximadas (tal vez +/- 10% o 20%).

Simplemente coloque una resistencia en serie con la potencia y en paralelo con un condensador para obtener una constante de tiempo lo suficientemente grande como para que su frecuencia de muestreo no pierda datos significativos. Por ejemplo, si está muestreando a 100Hz, puede elegir una constante de tiempo de 0.2 segundos. Probablemente será un condensador electrolítico y un tipo de baja impedancia es el mejor, y puede ponerlo en paralelo con cerámica 1uF-10uF si los pulsos son más cortos que aproximadamente 10us. El valor no es crítico, solo tiene que ser lo suficientemente alto. Elija la resistencia para que no caiga demasiado voltaje y afecte la operación pero produzca suficiente señal para que pueda obtener una medición razonable.

No es necesario analizar los tiempos de subida y bajada de los amplificadores ni nada de eso: la resistencia y el condensador harán el trabajo.

Tenga en cuenta que la operación que depende de que la batería sea una fuente de baja impedancia para sus pulsos "puntiagudos" fallará antes de que la batería se agote realmente, en paralelo la batería con un condensador puede (a veces en gran medida) prolongar la vida útil: la resistencia interna de la batería aumenta a medida que se agota.

Spehro Pefhany
fuente
Además, tenga en cuenta que si sus tiempos de encendido son cortos y su corriente de reserva es baja, será una buena idea medir la corriente sin su circuito conectado, solo para poner a cero la fuga de la tapa electrolítica - I ' cinco diseños de MCU calculados aproximadamente de controladores esporádicamente activos, y la fuga a través de la tapa de cerámica de 100 nF fue mayor que el consumo de energía promedio de la MCU.
Marcus Müller
Ω
Sí, hace un par de años en el pasado. Pero, tal vez, estaba dañado (aunque no estoy seguro de qué tipo de daño aumentaría la fuga de manera tan significativa. Hace que se pregunte si tuve un error sistemático en alguna parte). MCU era una cosa de ultra baja potencia de escala libre que estaba encendida a la velocidad de reloj más baja durante un par de docenas de µs antes de apagarse por completo (excluyendo RAM y una fuente de interrupción), principalmente de segundos a minutos. Prototipo nunca terminado para "joyería" comunicativa por infrarrojos.
Marcus Müller
3

Lo que propongo es probablemente exagerar ... Pero si encuentra que las soluciones estándar / baratas simplemente no tienen un rango dinámico suficiente, o si realiza este tipo de mediciones con regularidad, es posible que desee ver este dispositivo muy ordenado: RocketLogger .

Está desarrollado y de código abierto por ETH Zurich. Lo llaman "Registrador de datos de precisión de señales mixtas para mediciones portátiles". Es un registrador de corriente y voltaje portátil con un rango dinámico de corriente muy alto, basado en un SBC Beaglebone.

  • 2 × canales de corriente con alto rango dinámico desde 4 nA hasta ± 500 mA
  • 4 canales de voltaje que miden desde 13 uV hasta ± 5.5 V
  • etc ...

Descargo de responsabilidad: no estoy asociado con los creadores del dispositivo.

mcmayer
fuente
3

El recuento de Coulomb se puede hacer midiendo el cambio en la carga almacenada por la caída de voltaje de una carga conocida Q = CV durante el intervalo medido de al menos 1 ciclo repetitivo.

En primer lugar, la vida útil de la batería debe definirse en términos de un mínimo en unidades de vatios-segundo o julios para que se pueda seleccionar la energía de vida útil de carga total necesaria.

En segundo lugar, el método de conteo de Coulomb debe ser lo suficientemente preciso mediante algún método de prueba en intervalos cortos, como 1 hora más o menos, si esto puede promediar ciclos repetidos de sueño y actividad pulsada para que la eficiencia del software pueda optimizarse para la energía.

La vida útil de la batería podría o podría ser, por ejemplo; 1 año primario o 1 día secundario entre cargos, pero debe especificarse.

En tercer lugar , ¿podríamos usar un tapón de baja fuga para contar Coulombs más rápido? ¿Como en 1 hora?
Si se espera que el drenaje sea de 20 mA por hora promedio y caiga solo 0.1 V, ¿qué valor C se necesita? C = Ic * dt / dV = 20mA * 3600s / 0.1V = 700 Faradios

Si es posible, elija una parte con este rango de capacitancia, como una batería CR123A de 3V, luego verifique el método de conteo de culombios y monitoree el voltaje.

Alternativamente, detecte la corriente y use el contenido actual para contar con precisión los Coulombs por separado del diseño.

Tony Stewart Sunnyskyguy EE75
fuente
3

La parte de su pregunta de una hora hace que esto sea un poco difícil, pero tal vez en realidad no lo necesite si su dispositivo está haciendo algo cíclico (como lo hace la mayoría de las cosas incrustadas).

Así que vamos a exagerar para mostrar lo que puedes comprar. El Keysight CX3300 le permitirá muestrear formas de onda actuales con un ancho de banda analógico de hasta 200 MHz y 1 GSa / s. Combinado con 256 MSa de memoria, puede obtener frecuencias de muestreo decentes incluso durante más de una hora. Por supuesto, el precio es un poco alto a partir de $ 33,000 y las sondas a partir de $ 4,800.

Un camino un poco más barato que usualmente utilizo es usar mi osciloscopio con una sonda de corriente como la N2820A ; esto te costará alrededor de $ 4,200 y no obtienes el ancho de banda analógico (hasta 3 MHz) pero encuentro esto Realmente utilizable. Esto le dará un canal con medición de corriente baja y uno con medición de corriente alta, por lo que el análisis necesita un poco de cálculo manual.

Estoy seguro de que hay ofertas similares de diferentes fabricantes para algo como los productos Keysight mencionados anteriormente.

Como mi osciloscopio no viene con una gran cantidad de memoria, lo que suelo hacer es medir un ciclo de la actividad y calcular a partir de ahí: nuestros dispositivos no tienen ciclos largos, por lo que funciona bastante bien.

Si necesito hacer una medición prolongada con el cálculo automático de Wh, uso mi confiable Gossen Metrahit Energy , que hace un gran trabajo incluso con bajas corrientes. Pero el registro de datos no es adecuado para corrientes muy variables, ya que la frecuencia de muestreo no es tan buena.

Por favor, no malinterprete esta respuesta porque me jacto de algunos equipos caros, es una señal de que hay equipos de prueba profesionales que pueden manejar los requisitos, ya que la mayoría de las otras respuestas se centran en hacerlo por su cuenta (lo que podría causar problemas si no solo estás realizando pruebas felices por ti mismo).

No estoy afiliado a Keysight o Gossen de ninguna manera, solo soy un usuario feliz de sus productos.

Arsenal
fuente
2

Tome la excelente respuesta de @marcusmuller e introduzca la salida en un integrador. ponga a cero el límite antes de comenzar y mida los mAh o uAh acumulados como voltaje de CC.

Puede que tenga que experimentar con su selección de condensadores integradores; Algunos diseños de condensadores son malos para el remojo o tienen una resistencia interna que les impide poner a cero correctamente.

akohlsmith
fuente
2

Podría colocar un multímetro en serie, pero incluso si tiene registro de datos, eso es en algún intervalo y tendría que interpolar, y podría perder por completo variaciones más pequeñas que el intervalo.

Por lo tanto, puede colocar un filtro de paso bajo en su cadena de medición para registrar el valor medio a una frecuencia razonablemente baja:

esquemático

simular este circuito : esquema creado con CircuitLab

Dmitry Grigoryev
fuente
2

Para duraciones más cortas (segundos), puede usar un dispositivo como el μCurrent conectado a un osciloscopio.

Si su pico de corriente es relativamente poco importante (por ejemplo, porque es muy corto o porque está dominado por un valor más o menos fijo y conocido como el pico de corriente de su microcontrolador), podría usar una resistencia de derivación con un diodo en paralelo para limitar la caída de voltaje. Con una derivación de 100Ω y un diodo SI en paralelo, puede medir hasta ~ 7 mA y lograr una precisión en decenas de μA.

Miguel
fuente
Es mucho mejor que segundos. El ancho de banda analógico es de 8 kHz para el μCurrent original y 300 kHz para μCurrent GOLD (el Kickstarter). He medido transitorios actuales de 1 ms para una Raspberry Pi usando esta configuración.
Peter Mortensen el
1
@PeterMortensen: me refería a la duración total que puede medir para estimar el tiempo de ejecución de la batería (es decir, la potencia promedio en el tiempo). Si el dispositivo de OP realiza cosas como, por ejemplo, mediciones periódicas en intervalos de 0,5 s, entonces sería suficiente medir durante unos segundos. Si el dispositivo de OP realiza tareas más complejas durante más tiempo, necesitaría un enfoque diferente.
Michael
0

Creo que su idea de usar una batería podría ser el mejor enfoque, pero no estoy seguro de por qué dice que es difícil o costoso. Estoy seguro de que puede comprar medidores A-Hr, pero es posible que no midan con precisión los cortos intervalos de corriente que le interesan. Otro enfoque sería una sonda de corriente conectada a un osciloscopio. Esta sería probablemente la forma más precisa de caracterizar la corriente en términos de amplitud y tiempo, pero no daría A-Hrs a menos que su forma de onda actual sea periódica.

EE_socal
fuente
Digamos que quiero ver el impacto del último código en la duración de la batería en un dispositivo diseñado para funcionar durante ~ 2 meses con una sola batería. Necesito sentarme allí y dejar que la batería se agote durante bastante tiempo. :) ("Caro" es para alguna definición si las células primarias están en uso.)
David
Una opción sería usar una batería mucho más pequeña. Siempre y cuando se sepa el A-hr de la batería, puede escalar los resultados a cualquier tamaño de batería.
EE_socal
Las baterías no son equipos de medición calibrados. Todo lo que sabes sobre una batería de 1 Ah es que tiene al menos 1 Ah.
Dmitry Grigoryev
La batería se puede calibrar poniendo una carga conocida y ver cuánto tarda en descargarse. Estoy de acuerdo en que no es el método más preciso, pero tal vez sea lo suficientemente bueno.
EE_socal
@EE_socal En un proyecto de pasatiempo, claro. En el trabajo, prefiero comprar el equipo de medición adecuado que pagarle a un ingeniero por hacer algo tan fascinante como calibrar una batería. Las baterías nuevas pueden cambiar sus características después de unos pocos ciclos, por lo que calibrar una no es tan rápido.
Dmitry Grigoryev
0

Tuve que resolver este problema hace mucho tiempo con baterías de litio. El dispositivo se despertó por un tiempo muy pequeño, una vez por minuto. Podría probar el voltaje a través de la batería. El problema con las baterías de litio en esta situación es que tienen una `` rodilla '' muy repentina en su ciclo de descarga y cuando alcanzan ese punto, está fuera de tiempo, y es un rango de valor pequeño.

William Price
fuente
0

De hecho, tomé un analizador lógico / analógico (Saleae Logic 8) y lo conecté a un µCurrent Gold y medí toda la trama actual y el voltaje de la batería desde la carga completa hasta la descarga. Simplemente puede ejecutar un script de Python que se conecta a la interfaz de desarrollo para sondear y almacenar valores. Esto crea una TONELADA de datos y, a menudo, no se puede manipular fácilmente en Excel, pero al menos puede abrir un poco de tiempo para ver qué corriente instantánea era en ese momento en particular.

Aquí hay una captura de pantalla de alguna validación de duración de batería que estaba haciendo que se parece a lo que estás buscando:

Captura actual usando Saleae Logic 8

La señal amarilla es la corriente (V traducido a A). Puede ver la respuesta de la batería (en este caso, la batería debe estar por encima de los 5 V máximos del Logic 8). Luego, lo más importante, puede ver los rieles de alimentación que se encienden y luego se apagan para las mediciones (en realidad estaba enviando datos a través de CAT -M a nuestros servidores en la nube). Para su caso, es probable que no vea tantas cosas emocionantes debido al hecho de que su ciclo de trabajo es mucho más pequeño (estaba haciendo algunas pruebas de batería aceleradas aquí, por eso era tan frecuente)

Si desea ver cómo se veía mi configuración, recientemente escribí un artículo sobre cómo tomar medidas con el equipo que tenía que produjo la captura anterior.

Es probable que pueda hacer algo similar con un osciliscope controlado por GPIB o un registrador de datos de marca diferente. Simplemente me alegró usar lo que tenía a mano.

Para capturas extendidas también puede consultar la referencia de programación de Saleae para sus analizadores lógicos. También creé una idea general del código que usé para crear esa captura también aquí.

jaredwolff
fuente
0

Todas estas respuestas y solo @wbeaty mencionó la obvia. ¿Un dispositivo que integra corriente con el tiempo? ¿Qué pasa con I = C dV / dt?

Si el consumo de corriente es lo suficientemente bajo, algunos condensadores pueden ser más que suficientes, pero se necesitaría un supercondensador para corrientes más altas. Ajuste de los condensadores para obtener una caída razonable en un período de tiempo razonable. Un circuito como el de abajo haría el truco.

esquemático

simular este circuito : esquema creado con CircuitLab

El divisor capacitivo está ahí para evitar eliminar la corriente del nodo. Se puede precargar al suministro de uC a través del pin periférico para establecer la condición inicial, y luego medirlo periódicamente para leer la velocidad de descarga. Un problema con este circuito es que el voltaje de salida cambiará, lo que podría significar una carga variable.

Para evitar este problema, y ​​para un circuito de uso múltiple ajustable con componentes de tamaño razonable, se podría usar un multiplicador de capacitancia activo, como el esquema conceptual a continuación. Alguna calibración con cargas conocidas, y usted tiene un medidor de consumo personalizado.

esquemático

simular este circuito

Edgar Brown
fuente