Al fin podemos estudiar el consumo energético del prototipo de Lora (son lecturas reales, aunque podrían cambiar en función de la cobertura.
En este gráfico podemos ver el consumo en los periodos de sleep, 22 y pico uA (millonésimas de Amperio)
En este (en otra escala de tiempos) la energía que empleamos en cargar el programa y sacar el micro del deep-sleep.
Energía empleada en la lectura de los sensores.
Energía empleada en subir los datos.
Con todos estos valores podemos hacer ya los cálculos (teóricos) definitivos de la duración de la batería. Sobre nuestros planteamientos iniciales hemos aplicado algunas mejoras para proporcionar la máxima información con el mínimo consumo:
- No vamos a enviar los datos a intervalos regulares, en lugar de eso analizaremos las lecturas y las compararemos con el último valor enviado, Si la variación supera un umbral predefinido la enviaremos siempre y cuando haya transcurrido el intervalo mínimo de envío. Si la lectura no ha superado este umbral nos esperaremos al intervalo máximo. De alguna manera podemos decir que nuestro algoritmo se adapta a la variabilidad del combustible enviando con más frecuencia cuando hay más variaciones.
- No vamos a leer la temperatura y la tensión de la batería en todas las lecturas, solo en las que hay un envío de datos. Entendemos que son datos que no varían de forma rápida y nos permite ahorrar tiempo.
Teóricamente, si tenemos un depósito que rellenamos 10 veces al año y nuestro umbral es del 5cm el umbral se superaría unas 200 veces al año, en condiciones de uso regular en un escenario hipotético en el que configuremos para lecturas cada 10 minutos y envíos mínimos cada 20* minutos y máximos cada 4 horas tendríamos la seguridad de que un cambio se enviaría antes de 20 minutos, pero el intervalo en el 99% de los casos se haría en 4 horas. Como en una hipótesis de consumo constante en ningún caso se vacía 5 cm en menos de 4 horas detectaríamos los llenados pero enviaríamos muchos menos paquetes,
*En realidad los 20 minutos de los que hablamos son unos 5 minutos de promedio. En condiciones normales cuando se produzca el cambio es probable que hayan transcurrido más de 20 minutos desde el último envío, por lo que se enviará inmediatamente cuando se detecte (se lee cada 10 minutos). Eso sí, si hay dos cambios seguidos se enviarán con un intervalo de 20 minutos. En todo caso podemos cambiar la configuración para mejorarlo si es necesario en algún caso concreto.
De hecho estos son los datos en esa hipótesis de consumo:
Concepto | Valor | Unidad |
Lecturas diarias | 143,906081 | lecturas |
Envios diarios | 5,99608672 | Envios |
Energía arranques | 0,11761924 | mAh |
Energía lecturas | 0,17407689 | mAh |
Energia envios | 0,1428493 | mAh |
Energía Sleep | 0,5292386 | mAh |
Energía autodescarga | 0,05342466 | mAh |
Total energía diaria | 1,01720869 | mAh |
Dás teoricos autonomía | 2556,01435 | Días |
Años teoricos autonomia | 7,00277903 | Años |
7 Años de batería con una granularidad de 20 minutos!!!!!