Cami Can Calders, 8 2º-2ª | 08173 Sant Cugat del Valles info@bmotes.com 932504996

WhatsBee blog

Noveno paso: confirmando consumos

Llegados a este punto ya tenemos el circuito casi completo, inicialmente habíamos hecho unas hipótesis de consumo con tiempos y corrientes aproximados, es buen momento para ver lo acertados o lo equivocados que estábamos.

Pongo una resistencia de 10 ohms en serie con la alimentación para medir el consumo, el valor es un poco alto, pero es osciloscopio que estoy utilizando es un poco ruidoso. Por la ley de ohm el consumo en mA debería de ser la décima parte de la caida de tensión en mV en las resistencias.

Primero vamos a medir la lectura de los sensores:

Ciclo de lectura del sensor

Ampliando la imagen se aprecia que tenemos un consumo de 26.8 mA en un periodo de 400 ms.

Ahora un ciclo de escritura a la red Lora (ojo, la escala de tiempos es diferente):

Ciclo de escritura en la red Lora

Aqui podemos ver que hay dos zonas, 100mA durante 90ms y 24 mA durante 2,3 segundos, esto es un promedio de 26.6 mA durante 2,5 segundos.

Sinceramente, los valores me han parecido un poco bajos, pero contrastándolos con el datasheet parecen correctos. Si os fijáis el inicio de la traza tiene el mismo perfil que el de una medida de un sensor, porque realmente estamos haciendo un ciclo de lectura de los sensores antes del envío.

De momento la corriente de sleep no la puedo mirar, con un shunt más grande no me arranca el microprocesador, con el que tengo instalado no tengo resolución en el tester, aunque me da una lectura de entre 0,1 y 0 mA, lo cual me hace pensar que no estoy tan equivocado.

Configurando el sensor para leer cada 10 minutos y hacer un envío de datos cada hora  me salen estos valores:

Resultados
Número de lecturas diarias 144 Lecturas/día
Número de lecturas /hora 6 lecturas/hora
Tiempo dedicado lecturas/día 57,6 segundos
Consumo energet diario lecturas 0,4288 mAh /día
Envios RF diarios 24 Envios/día
Tiempo dedicado a envios RF 57,6 segundos
Consumo envios RF/día 0,4256 mAh/día
Tiempo en Sleep al día 86285 segundos/día
Consumo Sleep/día 0,5273 mAh/día
Autodescarga diaria batería 0,0534 mAh/día
Total Consumo diario 1,4351 mAh/día
Días teóricos de autonomía 1812 días
Años (ya no tan) teóricos de autonomía 5,0 Años

Y ¿para qué queremos leer cada 10 minutos si enviamos cada hora?

Pues es muy sencillo, la idea es que la frecuencia de envíos se acabe adaptando a la frecuencia de los cambios, es decir, si alguien llena o vacía el depósito el sensor debería de darse cuenta y (en función de los parámetros configurados) enviar en ese momento la lectura, aunque no hubiera pasado una hora. Por otro lado, si no hay cambios en el nivel es posible que con un envío cada tres o cuatro horas sea suficiente, consiguiendo así un poco más de ahorro energético.

¿podemos optimizar más?

Claro!!, de momento tenemos el debug por el puerto serie, al eliminarlo en la versión final deberíamos de reducir los tiempos para hacer las cosas, reducción de tiempo implica reducción de consumo. Esa es una mejora muy evidente, pero seguro que podemos optimizar todavía más. Actualmente en el sensor de ultrasonidos tomamos tres medidas para aplicar un filtro median, seguro que podemos buscar un algoritmo adaptativo, por ejemplo, hacer una única medida y si coincide con la última no hacer más.

Además de estas mejoras todavía podemos aumentar un poco las resistencias de pullup y pulldown, ver si hay alguna interna habilitada en el ESP8266, etc. Pero eso lo dejaremos para más adelante.

 

Dejar un comentario