IoT. Medir corriente (parte 3): dispositivo LoRa.

En esta entrada del blog se explica como calcular usando un osciloscopio y un multímetro, el consumo aproximado de corriente de los dispositivos diseñados para ser alimentados con una batería durante un largo periodo de tiempo.

No me voy a extender mucho en esta entrada del blog, ya que realicé la prueba hace varios meses y al final no lo escribí (a día de hoy hacer un blog de electrónica en español que no sea Arduino no sé si tiene sentido, siendo todo youtube), pero faltaba esta entrada para completar a las otras dos.

En la primera entrada se explican las consideraciones que hay que tener con los multímetros a la hora de medir corriente, y el perfil de consumo de corriente que puede tener un dispostivo alimentado por una batería en función de si usa una fuente conmutada, un regulador disipativo, o se alimenta directamente de la batería sin usar ningún regulador de tensión.

En la segunda entrada se explica como podemos visualizar la corriente con el osciloscopio, intentanto que la forma de onda de la corriente que vemos en el osciloscopio sea lo más parecida a la real.

En esta tercera entrada vamos a hablar de como hacer un cálculo aproximado del consumo de corriente del dispositivo en dos casos: cuando el dispositivo está alimentado directamente desde la batería (o un LDO) y cuando está alimentado desde la batería a través de una fuente conmutada.

Opciones de alimentación dispositivos con baterías.

Opciones de alimentación dispositivos con baterías.

Dispositivos alimentados directamente desde la batería (o que usa un regulador disipativo).

Este es el  caso más sencillo para hacer el cálculo de corriente. Con el osciloscopio se captura la forma de onda del consumo de corriente como se explica en la segunda entrada, para ello se pone una resistencia de pequeño valor entre el dispositivo y la batería, y usamos un amplificador operacional para amplificar la caída de tensión que produce el paso de la corriente que sale de la batería en la resistencia en serie con nuestro dispositivo, visualizamos la forma de onda de esa caída de tensión (proporcional a la corriente) en el osciloscopio.

Dispositivo conectado a la batería

Perfil del consumo de corriente de un dispositivo conectado directamente a una batería.

En la imagen superior podemos ver el perfil del consumo de corriente, capturado con un osciloscopio, de un dispositivo conectado directamente a una batería (sin usar un DC/DC). Cuando el dispositivo está durmiendo (la mayor parte del tiempo) el consumo de corriente es muy pequeño, y durante cortos periodos de tiempo el dispositivo se despierta para enviar datos o realizar una tarea, teniendo entonces un consumo de corriente mucho mayor en ese tiempo en el que se encuentra despierto.

La corriente que consume el dispositivo cuando está durmiendo la podemos visualizar con un multímetro (teniendo en cuenta como nos puede afectar su burden voltage), ya que el consumo es un valor constante que no cambia con el tiempo como se ve en la curva capturada con el osciloscopio. Para ver el consumo de corriente cuando el dispositivo duerme, solo tenemos que conectar el multímetro entre la batería y el dispositivo (sin usar ninguna resistencia ni amplificador).

Consumo durmiendo sin dc/dc.

Consumo de corriente cuando el dispositivo duerme.

Cuando el dispositivo de la imagen superior está durmiendo, consume 1 uA de corriente. Cuando el dispositivo está despierto, la corriente que este consume cambia muy rápido en el tiempo, y si la intentamos medir con el multímetro nos dará un valor promedio erróneo, por lo que para ello tenemos que calcular el consumo de corriente usando la captura de corriente con el osciloscopio.

Captura con amplificador

Captura de corriente con resistencia en serie y amplificador.

Por lo general todos los osciloscopios tienen funciones matemáticas, entre ellas encontramos las que nos dan el valor medio de tensión, la integral o el área entre dos puntos de la curva de tensión que representa el osciloscopio en la pantalla (si no tuviera funciones matemáticas podemos usar los cursores de tiempo de la pantalla, es ir sumando el valor medio de corriente que producen los rectángulos contenidos bajo la curva del oscilsocopio).

Para calcular el consumo de corriente de nuestro  dispositivo cuando está despierto usamos el osciloscopio, en este caso el osciloscopio nos da el valor medio de la corriente entre dos puntos elegidos (puntos que se van a corresponder con el tiempo que está el dispositivo despierto), y conociendo el valor medio de corriente y el tiempo durante el que está despierto, cálculamos el consumo total de corriente del dispositivo como se puede ver (si no me he equivocado) en la siguiente imagen.

Consumo corriente

Con el osciloscopio determinamos el consumo de corriente cuando el dispositivo está despierto.

En la imagen superior vemos que el valor medio de tensión durante los 5.161 segundos que el dispositivo está despierto es de 25.32  mV, esa salida de tensión media a la entrada del osciloscopio la produce una corriente media de 25.32 / 5 = 5.064 mA (con la resistencia y amplificador que he usado para visualizar la corriente en el oscilsocopio, por cada 1 mA que pasa por la resistencia se generan 5 mV a la salida del amplificador).

Si el dispositivo se despierta por ejemplo cada 10  min para enviar datos, el consumo del dispositivo sería de 44.54 uA (según los calculos que podemos encontrar en la imagen). (Consumo medio * Tiempo activo) / periodo del ciclo.

Si alimentamos nuestro dispositivo con 2 pilas AAA con una capacidad de 1000 mAh, la vida del dispositivo sería: capacidad de la batería / el consumo del dispositivo, es decir 1000000 uAh / 44.54 uA = 22451 horas = 935 días (aunque la batería en realidad a lo largo de su vida no nos dará toda la capacidad máxima que indica, pero el tema de las baterías es otro mundo).

Según vaya disminuyendo la tensión de la batería, el consumo de corriente del dispositivo también irá disminuyendo ligeramiente, la corriente que consume un dispositivo es función de la tensión a la que se alimenta, y a menor tensión de alimentación por lo general tenemos menor consumo de corriente en los dispositivos.

Dispositivos que se alimentan mediante un DC-DC.

Lo más habitual cuando hablamos de dispositivos de IoT alimentados por batería y un DC/DC, es encontrar una  fuente conmutada (DC/DC) que suba la tensión de la batería a la que requiere el dispositivo para funcionar, y cuando estamos ante este caso calcular la corriente que consume el dispositivo no es tan sencillo como en  el caso anterior.

En la primera entrada veíamos como es el perfil de consumo de corriente que el dispositivo coge de la batería (es el mismo dispositivo que en el caso anterior, pero esta vez alimentandose con una fuente conmutada en lugar de alimentarse directamente desde la batería) cuando tiene una fuente conmutada.

Consumo con DC/DC

Consumo con DC/DC

Al igual que en el caso anterior el dispositivo está durmiendo la mayor parte del tiempo con un consumo mínimo, y se despierta un periodo corto de tiempo incrementando su consumo de corriente para realizar su tarea designada.

Si hacemos zoom en la zona donde el dispositivo duerme vemos lo siguiente:

Consumo de corriente durmiendo con DC/DC

Consumo de corriente durmiendo con DC/DC

Cuando el dispositivo está durmiendo el DC/DC para generar los 3.3V constantes en su salida, coge pequeños pulsos de corriente. En la imagen superior podemos ver como cada 23.65 mS en DC/DC coge un pulso de corriente con una amplitud máxima de 120 mA, ese pulso tiene una duración de 5 uS. El multímetro en continua nos da el valor promedio de la señal que muestrea (tomando n muestras por segundo), si tenemos una señal con pulsos de 5 uS de ancho y un período de 23.65 ms, es probable que el multímetro nos de un valor medio de voltaje muy inferior al real (si los llega a ver), por lo que a diferencia del caso anterior no podemos realizar la medición de consumo de corriente cuando el dispositivo duerme usando el multímetro directamente.

Por lo que podemos capturar la forma de onda con el oscilocopio, hallar su valor medio y calcular el consumo como en el caso anterior, pero aquí podemos tener otro problema.

Para capturar la corriente con el osciloscopio usamos una resistencia que ponemos en serie con el dispositivo y un amplificador, si queremos ver pulsos de 100 mA tendremos que seleccionar una resistencia muy pequeña para que no afecte a la medida, ya que la caída de tensión de la resistencia se le va a restar a la tensión que ve el dispostivo al estar en serie con él. Por ejemplo si usamos una resistencia de 0.1 Ohmios, cuando pasen 0.1 A, en la resistencia caen 10 mV que no modificará apenas el consumo de corriente de nuestro dispositivo, esa caída de 10 mV se multiplica por la ganancia del operacional (por ejemplo 50), viendo 500 mV en la pantalla del osciloscopio cuando por el dispositivo pasan 100 mA.

El problema es que cuando el dispositivo duerme, su consumo medio de corriente va a ser del orden de uA (1 uA en el ejemplo anterior), para poder ver los uA en el oscilocopio que consume el dispositivo tendríamos que tener una resistencia mucho más grande de 0.1 Ohmios, del orden de varios cientos o miles de Ohmios, resistencia que dejaría al dispositivo sin alimentación cuando este tuviera el pulso de cientos de mA.

Por lo que si estamos usando una resistencia de 0.1 Ohmios para capturar la corriente, si hubiera algún consumo del orden de uA no lo estaríamos viendo en el osciloscopio. Es decir podríamos tener pulsos muy cortos de 100 mA (como se ven en la imagen anterior) sobre un consumo constante del orden de uA, y ese consumo del orden de uA no lo vemos, ya que la resistencia que tenemos en serie con el dispositivo para poder visualizar la corriente en el osciloscopio es muy pequeña, la resitencia de 0.1 Ohmios no puede crear una caída de tensión apreciable cuando pasan por ella uAmperios.

La solución a este caso la encontramos en la siguiente nota de aplicación: SLVA828. Calculating and Measuring the No Load Input Current of the Boost Converter.

The no load or very light load input current of a boost converter is critical for some applications that require primary battery and a boost converter to power the whole system. In these applications, the system loads operate at idle mode for most of the time, which consume little energy. The efficiency of a boost converter at this special condition may be not found in the datasheet. So we need to calculate or measure the total input current of the boost converter (also the output current of the battery) at the idle mode to estimate the battery lifetime.

Taking TPS610981 as an example, this application report introduces the methods to calculate and measure the input current of a boost converter at no load or very light load condition.

 

Siguiendo la nota de aplicación, ponemos un filtro RC entre la batería y el DC/DC, y midiendo la caída de tensión producida por la corriente que sale de la batería en la resistencia de ese filtro, podemos saber el consumo de corriente que tiene nuestro dispositivo mientras duerme.

SLVA828

Método para medir la corriente cuando el dispositivo duerme. APP N: SLVA828.

En este caso y siguiendo la nota de aplicación anterior podemos medir el consumo de corriente del dispositivo mientras duerme:

Corriente consumo

Consumo de corriente medido usando el filtro RC.

Usando el método anterior vemos que el dispositivo durmiendo consume 12.45 uA, (149.6 mV que caen en la resistencia del filtro RC / 12 kOhmios de la resistencia). En esta imagen por error se me ha quedado puesto el osciloscopio a la salida del filtro RC, con una impedancia de entrada de 1 MOhmio probablemente me estaba incrementando el consumo de corriente visto en el multímetro unos 3 uA.

Cuando el dispositivo está despierto el consumo de corriente aumenta, de igual forma tenemos los trenes de pulsos nada más que está vez la distancia entre ellos es mucho más corta, y en algunas zonas de la onda están sobre un nivel de continua.

Sabemos que el consumo de corriente cuando el dispositivo está despierto va a estar en el rango de mA, por lo que podemos usar la resistencia de pequeño valor (despreciando el rango de uA) para capturar la onda y calcular el consumo de corriente en el tiempo que el dispositivo está despierto con el oscilsocopio, como en el caso anterior.

Consumo de corriente

Calculamos el consumo de corriente cuando el dispositivo está despierto como en el caso anterior.

Si no me he equivocado en los calculos, el dispositivo va a consumir una corriente de 66.47 uA (frente a los 44.5 uA que consumía en el caso sin DC/DC), pero este consumo de corriente es función del nivel de tensión de la batería, según la batería se vaya gastando y disminuyendo su tensión el DC/DC cogerá más corriente de la batería para generar su salida estable de 3V3, por lo que el consumo del dispositivo irá incrementandose según baja el nivel de tensión de la batería.

Por ejemplo si alimentamos el dispositivo con una batería que tiene una tensión de 2.5V (en lugar de los 3.15V de la imagen anterior), vemos la siguiente captura y consumo en el osciloscopio.

Consumo corriente

Captura del consumo corriente dispositivo alimentandose a 2.5V.

Como se puede ver en la imagen anterior al tener una batería de menor voltaje, el consumo de corriente cuando el dispositivo está despierto es de 73.78 uA (haciendo un envío cada 10 minutos) frente a los 54.13 uA alimentandose con una batería de mayor voltaje. El pico de corriente máxima también es mayor, 198.12 mA frente a los 122.7 mA anteriores, y cuando el dispositivo duerme ahora vemos muchos más pulsos de corriente, por lo que si medimos la corriente con el método anterior del filtro RC y el multímetro, encontraremos también un consumo de corriente mayor cuando el dispositivo duerme.

Conclusiones.

En esta entrada del blog se ha mostrado como visualizar e intentar estimar sin herramientas especializadas (herramientas muy caras diseñadas para la  tarea), el consumo de corriente de un dispositivo alimentado con batería, teniendo el dispositivo dos estados de funcionamiento: dormido y despierto. Para ello usando el multímetro y el osciloscopio estimaremos el consumo de corriente en cada uno de estos estados de funcionamiento del dispositivo, y podremos también visualizar el consumo para saber que el código que corre nuestro microcontrolador está funcionando correctamente.

El peor caso de consumo de corriente (mayor consumo) con el DC-DC es cuando la batería está al final de su vida, mientras que el peor caso de consumo de corriente cuando no tenemos DC/DC es cuando la batería está nueva.

Incluir un DC/DC en nuestro diseño tiene un coste de consumo muy alto como se ha podido ver en los casos anteriores, siendo lo más eficiente conectar nuestra electrónica directamente a la batería siempre que se pueda. También hay DC-DCs que son una combinación de los dos casos anteriores, conectan la batería directamente a la electrónica hasta que el nivel de la batería baja de cierta tensión, y a partir de ese umbral de tensión comienza a funcionar el DC-DC.

Una buena idea cuando diseñamos nuestro dispositivo es dejar un par de puntos de prueba y una resistencia en el PCB entre la tierra del circuito y el negativo de la batería, si montamos por ejemplo una resistencias de 0.1 Ohmios (o 0 Ohmios si no queremos usarla) podemos visualizar los consumos de nuestro dispositivo en un osciloscopio y por tanto saber que está haciendo nuestro dispositivo en cada momento, sin tener que usar elementos externos y conectando el osciloscopio directamente a los puntos de prueba del PCB.

Una resistencia entre la batería y el dispositivo conectada al osciloscopio directamente (sin el uso del amplificador) es suficiente para ver los pulsos de corriente y que nuestro dispositivo está funcionando como debe.

No me extiendo más, podríamos hablar de los equipos disponibles en el mercado para medir corrientes de los dispositivos IoT, hay soluciones baratas en el rango de cientos de euros que pueden ser útiles cuando no tenemos un DC-DC en medio, y de como diseñar el amplificador con operacionales, pero eso sería otra entrada más del blog.

Espero que si has leído hasta aquí, haya sido de utilidad.