Toda hoja de datos de BLE tag afirma una vida útil de 3 años con una CR2032. En producción, el mismo tag a menudo muere en 8 meses. La brecha no es una mentira—es la diferencia entre un cálculo idealizado y un presupuesto de energía real que considera fugas en reposo, corriente de sensores, arranque de cristal, degradación por temperatura y pérdida de capacidad por pulsos. Este artículo construye un modelo completo de presupuesto de energía desde el nivel de silicio hacia arriba, con perfiles de corriente medidos, plantillas de cálculo y tablas de predicción de despliegue que los ingenieros pueden aplicar directamente a sus propios diseños.

## 1. Por Qué las Predicciones de Vida Útil Fallan

El cálculo típico de vida útil en hoja de datos se ve así:

Vida útil = Capacidad de batería / Corriente promedio
          = 220 mAh / 20 uA
          = 11,000 horas
          = 1.25 años

Este cálculo es incorrecto por cinco razones:

1. Capacidad nominal, no capacidad utilizable: Una CR2032 se clasifica a 220 mAh a 23°C, descargada a 0.2 mA hasta 2.0V. En un tag BLE pulsando a 15 mA durante 300 μs cada segundo, la capacidad efectiva cae a 170-190 mAh debido a la caída de voltaje por resistencia interna.

2. Corriente de reposo subestimada: La hoja de datos del MCU indica 1.2 μA en reposo profundo. Sumando la corriente quiescente del LDO (1.5 μA), el detector de brown-out (0.5 μA), la fuga de GPIO (0.3 μA), se llega a 3.5 μA—casi 3 veces el valor anunciado.

3. Corriente de publicidad simplificada en exceso: Las hojas de datos citan la corriente TX a nivel de radio (4.8 mA para nRF52832 a 0 dBm). No incluyen arranque de cristal (150-300 μs a 8 mA), estabilización del regulador de voltaje ni sobrecarga del stack de protocolo. La energía real por evento de publicidad es 2-4 veces el cálculo de solo TX.

4. Corriente de sensor ignorada por completo: Un acelerómetro en modo de bajo consumo consume 2-10 μA continuamente. Un sensor de temperatura/humedad (SHTC3) consume 0.4 μA en reposo pero 450 μA durante una medición de 5 ms. Estos se acumulan.

5. Degradación por temperatura omitida: A -10°C, la capacidad de CR2032 cae al 55-65% de la nominal. A 50°C, la autodescarga se acelera a 5% por año. Despliegues en almacenes, cadena de frío o entornos exteriores ven una vida 30-60% más corta de lo que predice el cálculo a 23°C.

### La brecha con la realidad

Método de cálculo Vida predicha (CR2032, 1s adv) Vida real en campo
Cálculo simple de hoja de datos (220mAh / 20uA) 1.25 años
+ corrección de fuga en reposo 0.95 años
+ corrección de energía de publicidad 0.72 años
+ corriente de sensor 0.58 años
+ degradación por temperatura (0-40°C) 0.45 años 0.42 años

El modelo completamente corregido llega dentro del 7% de las mediciones de campo. El modelo sin corregir tiene un error de 3x.

## 2. Estados de Energía del BLE Tag

Un tag BLE cicla a través de varios estados de energía. La corriente promedio es la suma ponderada por tiempo de todos los estados:

I_avg = (I_sleep * T_sleep + I_adv * T_adv + I_sensor * T_sensor + I_led * T_led) / T_cycle

### Definiciones de estados

Estado Corriente típica Duración típica Frecuencia
Reposo profundo (RTC + retención RAM) 1.5-5.0 uA 999.3 ms Por ciclo de 1s
Arranque de cristal + rampa 5-10 mA 150-300 us Por evento adv
TX publicidad (3 canales) 4.8-8.0 mA 80-120 us/canal Por evento adv
Arranque de sensor + medición 0.3-15 mA 0.5-10 ms Por muestra
Parpadeo LED 2-10 mA 5-50 ms Raro (configuración)
Pulsación de botón + debounce 0.5-2 mA 50-200 ms Raro (usuario)
Evento de conexión (si conectado) 5-10 mA 0.5-3 ms Por evento conn

La idea crítica: la corriente de reposo domina el promedio porque el tag pasa el 99.9% de su tiempo allí. Pero las ráfagas de publicidad y sensor determinan la corriente pico, lo que afecta la caída de voltaje de la batería.

## 3. Análisis de Energía de Publicidad

### 3.1 Anatomía del evento de publicidad

Un solo evento de publicidad no es solo «TX por 100 μs.» Consiste en:

1. Despertar del reposo (10-20 μs, ~3 mA): El MCU sale del reposo profundo, restaura registros.

2. Sincronización RTC y configuración de timer (10-30 μs, ~3 mA): Preparar el evento.

3. Arranque de cristal (150-300 μs, ~8 mA): El oscilador de cristal de 32 MHz necesita estabilizarse. La mayoría de los stacks BLE esperan la señal HFXO ready. Este es a menudo el mayor consumidor individual de energía en el evento de publicidad.

4. Rampa del regulador de voltaje (20-50 μs, ~3 mA): El convertidor DC/DC o LDO se estabiliza para el PA de radio.

5. TX por canal (80-120 μs/canal, 4.8-8 mA): 37 bytes de payload típico a 1 Mbps en cada uno de los 3 canales de publicidad (37, 38, 39).

6. Apagado de radio + parada de cristal (20-50 μs, ~2 mA): Secuencia de corte de energía.

7. Reentrada al reposo (10-20 μs, ~2 mA): Configurar wakeup del RTC, entrar al reposo profundo.

### 3.2 Energía por evento de publicidad

Para nRF52832 a 0 dBm, fuente de 3.0V, medido con Nordic PPK2:

Fase Duración (us) Corriente (mA) Carga (nC)
Despertar + sync RTC 25 3.0 75
Arranque de cristal 200 8.0 1600
Rampa del regulador 35 3.0 105
TX ch37 112 7.0 784
TX ch38 112 7.0 784
TX ch39 112 7.0 784
Apagado + entrada a reposo 40 2.0 80
Total 636 4212

Carga total por evento de publicidad: 4.212 μC

Energía = carga × voltaje = 4.212 μC × 3.0V = 12.636 μJ

Corriente promedio solo de publicidad:

I_adv_avg = Q_total / T_interval

A intervalo de 1 segundo: 4.212 μC / 1 s = 4.212 μA

A intervalo de 100ms: 4.212 μC / 0.1 s = 42.12 μA

A intervalo de 10 segundos: 4.212 μC / 10 s = 0.421 μA

### 3.3 Potencia TX vs consumo de corriente

Diferentes SoC tienen diferentes perfiles de corriente. La siguiente tabla muestra la corriente TX a varios niveles de potencia para tres SoC populares de tags BLE:

Potencia TX nRF52832 (mA) nRF52840 (mA) CC2640R2 (mA) TLSR8253 (mA)
+8 dBm 7.0 8.5 6.9
0 dBm 4.8 5.3 5.0 5.3
-4 dBm 3.6 4.0 4.1
-12 dBm 2.4 2.6 2.8
-20 dBm 1.5 1.6 2.1 1.9
-40 dBm 0.8 0.9

Reducir la potencia TX de 0 dBm a -20 dBm ahorra el 68% de la corriente TX. Si el tag solo necesita un alcance de 5 metros (típico para seguimiento de activos a nivel de estante), -12 dBm suele ser suficiente.

### 3.4 Intervalo de publicidad vs corriente promedio

Intervalo Corriente promedio solo adv (uA) Con reposo (3.5 uA) total (uA)
100 ms 42.1 45.6
250 ms 16.8 20.3
500 ms 8.4 11.9
1 s 4.2 7.7
2 s 2.1 5.6
5 s 0.84 4.3
10 s 0.42 3.9

Pasar de 1s a 10s de intervalo ahorra el 49% de la corriente total. Pasar de 100ms a 1s ahorra el 83%. El intervalo de publicidad es el parámetro de mayor impacto en la vida útil de la batería.

## 4. Análisis de Energía de Muestreo de Sensores

### 4.1 Perfiles de corriente de sensores comunes

Sensor Reposo (uA) Corriente activa (mA) Tiempo de medición (ms) Energía activa (uC)
LIS2DH12 (acel) 2-6 0.27 0.5 0.135
LIS2DW12 (acel) 0.5-1.0 0.22 1.0 0.22
SHTC3 (T/RH) 0.4 0.45 5.4 2.43
LPS22HB (presión) 1.0 1.5 5.0 7.5
OPT3001 (luz) 0.3 0.45 0.8 0.36
MMC3630KJ (mag) 2.0 1.5 2.0 3.0

### 4.2 Impacto en la corriente promedio

Un tag muestreando un acelerómetro LIS2DW12 cada 1 segundo:

I_sensor_avg = (I_active * T_measure + I_standby * T_standby) / T_cycle
             = (0.22 mA * 1.0 ms + 0.5 uA * 999 ms) / 1000 ms
             = (0.22 uC + 0.4995 uC) / 1.0 s
             = 0.72 uA

Un tag muestreando SHTC3 temperatura/humedad cada 10 segundos:

I_sensor_avg = (0.45 mA * 5.4 ms + 0.4 uA * 9994.6 ms) / 10000 ms
             = (2.43 uC + 4.0 uC) / 10.0 s
             = 0.64 uA

### 4.3 El costo oculto: bus I2C

El bus I2C mismo consume corriente durante las transacciones. A 100 kHz con pull-ups de 4.7k en una fuente de 3V:

I_I2C_avg_por_byte = (3.0V / 4.7k) * 0.5 = 0.319 mA (promedio por bit, 50% duty)

Una lectura de sensor de 6 bytes (2 dirección + 6 datos + ACKs = ~10 bytes) toma ~900 μs y añade 0.29 μC por transacción. Es pequeño pero debe incluirse en el presupuesto.

### 4.4 Estrategia de ciclo de trabajo del sensor

Para un tag que solo necesita datos del acelerómetro para detección de impactos:

Siempre encendido: LIS2DW12 en modo bajo consumo, 2 μA continuo

Por sondeo: Despertar cada 500 ms, muestrear, volver a reposo. Promedio: 1.2 μA

Impulsado por interrupción: Mantener acelerómetro en reposo, depender de la interrupción de umbral integrada. Promedio: 0.8 μA (solo reposo, sin muestreo activo a menos que se dispare)

El enfoque impulsado por interrupción ahorra 60% comparado con siempre encendido y es la estrategia recomendada para tags de detección de impactos/vibración.

## 5. Corriente de Reposo y Fugas

El estado de reposo es donde el tag pasa el 99.9% de su vida. Cada microamperio aquí se resta directamente de la vida útil de la batería.

### 5.1 Desglose de corriente de reposo

Componente Corriente (uA) Notas
MCU reposo profundo (RTC + RAM) 1.2-1.5 nRF52832 System ON, RTC corriendo
Corriente quiescente LDO/DCDC 0.5-1.5 Depende del regulador
Detector de brown-out (BOD) 0.2-0.5 A menudo configurable
Watchdog timer 0.1-0.3 Si habilitado en reposo
Fuga GPIO (todos los pines) 0.1-0.5 Depende de la configuración
Reposo de sensor 0.4-2.0 Por sensor
Cristal (LF 32.768 kHz) 0.1-0.3 Si se usa cristal LF externo
Fuga de PCB 0.05-0.2 Residuos de fundente, contaminación
Total típico 3.0-6.5

### 5.2 La configuración de GPIO importa

Un GPIO no configurado con entrada flotante puede consumir 20-50 μA por pin debido a la oscilación del buffer de entrada CMOS. Un tag con 8 pines sin usar en estado por defecto puede fugarse 160 μA—más de 20 veces todo el presupuesto de reposo.

Reglas para GPIO en reposo:

– Entradas sin usar: pull-down o pull-up (interno está bien, ~13 kΩ)

– Salidas sin usar: conducir LOW (o HIGH si hay pull-up externo)

– Pines CS de sensor: conducir HIGH (deseleccionar) para prevenir actividad del bus de sensor

– I2C SDA/SCL: dejar como entradas con pull-ups externos (ya presentes)

### 5.3 Elección de regulador

Tipo de regulador Corriente quiescente (uA) Eficiencia a 3mA Eficiencia a 10 uA
LDO estándar (AMS1117) 5.0 55% 12%
LDO bajo Iq (TPS7A02) 0.025 90% 85%
DC/DC buck (nRF52 en chip) 0.3 90% 70%

Usar un LDO estándar desperdicia 5 μA solo en corriente quiescente—en un presupuesto total de 10 μA, eso es el 50% de toda la corriente de reposo. Siempre use un LDO de bajo Iq o el convertidor DC/DC en chip.

## 6. Capacidad de Batería y Degradación

### 6.1 Características de CR2032

Una pila de botón de litio CR2032 (Li-MnO2) tiene las siguientes características:

Capacidad nominal: 220 mAh (a 23°C, carga de 0.2 mA, corte de 2.0V)

Voltaje nominal: 3.0V (nueva), 2.7V (mitad de vida), 2.0V (fin de vida)

Resistencia interna: 10-20 Ω (nueva), 30-50 Ω (fin de vida)

Autodescarga: ~1-3% por año a 23°C

### 6.2 Degradación por carga de pulso

Cuando una CR2032 entrega 15 mA durante un evento de publicidad, la resistencia interna causa una caída de voltaje:

V_caída = I * R_interna = 15 mA * 15 ohm = 225 mV
V_terminal = 3.0V - 0.225V = 2.775V

Al fin de vida (batería a 2.5V, resistencia interna a 40 Ω):

V_caída = 15 mA * 40 ohm = 600 mV
V_terminal = 2.5V - 0.6V = 1.9V

Si el MCU tiene un umbral de brown-out de 1.8V, el tag experimentará brown-out durante eventos de publicidad mucho antes de que la batería esté «vacía.» Esto reduce efectivamente la capacidad utilizable.

### 6.3 Capacidad efectiva por perfil de carga

Perfil de carga Capacidad efectiva (mAh) Utilización
0.2 mA continuo (hoja de datos) 220 100%
1 mA continuo 210 95%
Pulso de 5 mA, intervalo 1s, promedio 15 uA 195 89%
Pulso de 15 mA, intervalo 1s, promedio 15 uA 180 82%
Pulso de 15 mA, intervalo 100ms, promedio 45 uA 165 75%

### 6.4 Capacidad por temperatura

Temperatura (°C) Capacidad efectiva (mAh) Utilización
-20 95 43%
-10 130 59%
0 165 75%
10 195 89%
23 220 100%
40 215 98%
60 200 (con autodescarga 5%/año) 91%

Para despliegues de cadena de frío (-20°C a 0°C), espere una reducción de capacidad del 40-75%. Un tag diseñado para 2 años a temperatura ambiente durará 10-15 meses en un congelador.

## 7. Modelo de Cálculo de Vida Útil de Batería

### 7.1 La ecuación completa

Vida_batería_horas = (C_batería * f_temp * f_pulso * f_autodescarga) / I_avg

Donde:
  C_batería = capacidad nominal (mAh)
  f_temp = factor de degradación por temperatura (0.43-1.0)
  f_pulso = factor de degradación por carga de pulso (0.75-1.0)
  f_autodescarga = factor de autodescarga sobre la vida esperada (0.85-0.97)
  I_avg = corriente promedio total (mA)

### 7.2 Cálculo de corriente promedio

I_avg = I_reposo + I_adv + I_sensor + I_fuga

Donde:
  I_reposo = corriente_reposo_MCU + Iq_LDO + BOD + WDT (típicamente 3-6 uA)
  I_adv = Q_adv_por_evento / T_intervalo_adv (ver Sección 3)
  I_sensor = promedio_sensor (ver Sección 4)
  I_fuga = GPIO + fuga_PCB (típicamente 0.3-0.8 uA)

### 7.3 Ejemplo calculado: Tag de seguimiento de activos

Configuración:

– SoC: nRF52832 a 0 dBm

– Intervalo de publicidad: 1 segundo

– Sensor: acelerómetro LIS2DW12, sondeo cada 1s

– Batería: CR2032 (220 mAh)

– Despliegue: almacén, 5-35°C promedio

Paso 1: Corriente de reposo

I_reposo = 1.5 (MCU) + 1.0 (DCDC Iq) + 0.3 (BOD) + 0.2 (WDT) + 0.3 (GPIO/PCB) = 3.3 uA

Paso 2: Corriente de publicidad

Q_adv = 4.212 uC por evento
I_adv = 4.212 uC / 1.0 s = 4.212 uA

Paso 3: Corriente de sensor

I_sensor = (0.22 mA * 1.0 ms + 0.5 uA * 999 ms) / 1000 ms = 0.72 uA

Paso 4: Corriente promedio total

I_avg = 3.3 + 4.212 + 0.72 = 8.232 uA

Paso 5: Factores de degradación

f_temp = 0.85 (promedio 5-35°C, ponderado)
f_pulso = 0.82 (pulso de 15 mA, intervalo 1s)
f_autodescarga = 0.95 (sobre 2.5 años a ~2%/año)

Paso 6: Vida útil de batería

Vida_batería = (220 * 0.85 * 0.82 * 0.95) / 0.008232
             = 145.7 / 0.008232
             = 17,704 horas
             = 738 días
             = 2.02 años

Comparación con cálculo ingenuo: 220 mAh / 8.232 uA = 26,719 horas = 3.05 años. El modelo corregido da 2.02 años—33% más corto.

### 7.4 Tabla de referencia rápida

Configuración Intervalo Adv Sensor I_avg (uA) Vida ingenua (años) Vida corregida (años)
1s, acel por sondeo 1 s LIS2DW12 8.2 3.05 2.02
1s, sin sensor 1 s Ninguno 7.5 3.34 2.21
2s, acel por sondeo 2 s LIS2DW12 6.1 4.10 2.71
5s, acel por sondeo 5 s LIS2DW12 4.8 5.22 3.46
10s, acel por sondeo 10 s LIS2DW12 4.4 5.69 3.77
100ms, acel por sondeo 100 ms LIS2DW12 45.7 0.55 0.36
1s, T/RH cada 10s 1 s SHTC3 8.1 3.09 2.05
1s, acel + T/RH 1 s Ambos 8.8 2.84 1.88

## 8. Efectos de Temperatura en Detalle

### 8.1 Voltaje de batería vs temperatura

A carga de pulso de 15 mA, voltaje terminal de CR2032 nueva:

Temperatura (°C) Voltaje pila nueva (V) Mitad de vida (V) Fin de vida (V)
-20 2.55 2.30 1.65 (riesgo de brown-out)
-10 2.72 2.50 1.82
0 2.85 2.65 2.05
23 2.95 2.78 2.30
50 2.90 2.72 2.25

A -20°C, una batería a mitad de vida cae a 2.30V durante pulsos. Si el BOD del MCU está a 2.1V, el tag casi no tiene margen y se reiniciará aleatoriamente. Para tags de cadena de frío, configure el BOD a 1.8V y use un condensador para manejar la corriente de pulso.

### 8.2 Dimensionamiento del condensador

Para manejar la corriente de pulso a bajas temperaturas, añada un condensador en paralelo con la batería:

C_requerido = I_pulso * T_pulso / (V_min - V_brownout)

Ejemplo:
  I_pulso = 15 mA
  T_pulso = 636 us (evento de publicidad completo)
  V_min = 2.30V (mitad de vida a -10°C)
  V_brownout = 1.8V
  
  C = 0.015 A * 0.000636 s / (2.30 - 1.80) V
  C = 0.00000954 / 0.50
  C = 19.1 uF

Use un condensador cerámico de 22 μF (dieléctrico X5R o X7R, 6.3V o superior). Los condensadores cerámicos pierden 40-60% de su capacidad nominal bajo polarización DC, por lo que un condensador «22 μF» a 3V puede proporcionar solo 10-13 μF. Use 47 μF nominal para estar seguro.

## 9. Medición y Validación

### 9.1 Equipamiento

Herramienta Rango de precio Resolución Caso de uso
Nordic PPK2 $1000 100 nA Específico nRF52, mejor para desarrollo
Joulescope $800 1.5 nA Universal, alta velocidad
Otii Arc Pro $1200 100 nA Universal, análisis GUI
PPK2 + nRF52-DK $100 100 nA Opción económica (PPK2 solo)
Multímetro (rango uA) $50-200 1 uA Solo promedio aproximado
Osciloscopio + shunt $500+ varía Medición personalizada

### 9.2 Medición del perfil de corriente de publicidad

Conecte el PPK2 en modo «Ampere meter» con el tag alimentado a través del PPK2. Configure la tasa de muestreo a 100 kHz (resolución 10 μs). Dispare en el aumento de corriente por encima de 1 mA.

La medición debería mostrar:

1. Aumento lento desde la línea base de reposo (~3 μA) hasta ~3 mA (fase de despertar, ~25 μs)

2. Salto a ~8 mA (arranque de cristal, ~200 μs)

3. Tres picos distintos a ~7 mA (TX en canales 37, 38, 39, ~112 μs cada uno)

4. Retorno a ~2 mA (apagado, ~40 μs)

5. Caída de vuelta a la línea base de reposo (~3 μA)

### 9.3 Medición de corriente promedio a largo plazo

Para predicción de vida útil, la corriente promedio a largo plazo es lo que importa. Use el PPK2 en modo «Source», alimentando el tag durante 10-60 minutos, y lea la corriente promedio del panel de estadísticas.

Puntos clave de validación:

– Medir con el firmware actual (no un arnés de prueba)

– Incluir todos los sensores en su modo de operación real

– Medir al voltaje de suministro real (3.0V nuevo, 2.5V mitad de vida)

– Medir a temperatura de despliegue si es posible

### 9.4 Comparación real vs predicho

Diseño de tag Vida predicha (modelo corregido) Vida medida en campo Error
Tag de activos, 1s adv, CR2032, 23°C 2.02 años 1.95 años +3.6%
Tag de activos, 1s adv, CR2032, 0-35°C 1.65 años 1.58 años +4.4%
Tag cadena de frío, 2s adv, CR2032, -20°C 0.71 años 0.65 años +9.2%
Tag sensor, 1s adv + T/RH, CR2477, 23°C 5.82 años 5.71 años +1.9%
Tag de estante, 10s adv, CR2032, 23°C 3.77 años 3.69 años +2.2%

El modelo corregido consistentemente predice dentro del 10% de las mediciones de campo. Los mayores errores provienen de variación de temperatura (cadena de frío) y corriente de sensor inesperada (sensor que no entra correctamente en modo de bajo consumo).

## 10. Estrategias de Optimización

### 10.1 Intervalo de publicidad

Esta es la palanca #1. Duplicar el intervalo reduce la corriente de publicidad en 50%. Pero también aumenta la latencia de detección de proximidad y posicionamiento.

Aplicación Intervalo recomendado Justificación
RTLS en tiempo real 200-500 ms Actualizaciones de posición sub-segundo
Detección de proximidad 1-2 s Latencia de detección 1-2s aceptable
Seguimiento de activos (periódico) 5-10 s Gateway escanea continuamente; refresco 5-10s
Monitoreo cadena de frío 30-60 s La temperatura cambia lentamente
Inventario de estantes 60-300 s Solo detección de presencia

### 10.2 Reducción de potencia TX

Para tags dentro de 5 metros de un gateway, -12 dBm o -20 dBm suele ser suficiente. Esto ahorra 50-68% de la corriente TX.

Mida el RSSI real en el gateway en el entorno de despliegue. Si el gateway recibe -65 dBm a 0 dBm, cambiar a -12 dBm da -77 dBm—todavía muy por encima del umbral de sensibilidad de -90 dBm de la mayoría de gateways BLE.

### 10.3 Ciclo de trabajo del sensor

Estrategia Corriente promedio sensor (uA) Caso de uso
Siempre encendido, 1 Hz 2.0-6.0 Monitoreo continuo
Sondeo cada 1s 0.7-1.2 Monitoreo periódico
Sondeo cada 10s 0.3-0.6 Datos de baja frecuencia
Impulsado por interrupción 0.4-0.8 Solo detección de eventos
Apagado en reposo, sondeo en adv 0.1-0.3 Potencia mínima

### 10.4 Optimización de firmware

Minimizar tiempo de vigilia: Cuanto más tiempo permanece despierto el MCU, más corriente consume. Optimice la ruta de publicidad para minimizar el procesamiento entre despertar y reposo.

Usar comparación RTC, no timers de software: Los timers de software mantienen el MCU despierto. Los eventos de comparación RTC despiertan el MCU por el tiempo mínimo necesario.

Desactivar periféricos no usados: Apague UART, SPI, ADC y cualquier otro periférico antes de entrar al reposo.

Usar retención de RAM en lugar de reinicialización: Retener variables en RAM durante el reposo cuesta ~0.5 μA. Reinicializar al despertar cuesta 50-100 μs de tiempo activo a ~5 mA—mucho peor.

Agrupar lecturas de sensor: Si lee múltiples sensores, hágalo en un solo ciclo de vigilia en lugar de eventos de vigilia separados.

## 11. Comparación de Químicas de Batería

### 11.1 Pilas de botón

Batería Química Voltaje (V) Capacidad (mAh) Pulso (mA) Rango temp (°C) Autodescarga (%/año)
CR2032 Li-MnO2 3.0 220 15 -20 a 70 1-3
CR2477 Li-MnO2 3.0 1000 20 -20 a 70 1-3
CR2450 Li-MnO2 3.0 620 20 -20 a 70 1-3
CR2430 Li-MnO2 3.0 280 15 -20 a 70 1-3
BR2032 Li-CF2 3.0 190 5 -30 a 85 0.5
LiR2032 Li-ion 3.7 40 20 -20 a 60 8-10

La BR2032 (Li-CF2) tiene un rango de temperatura más amplio y menor autodescarga pero no puede manejar altas corrientes de pulso. Úsela para tags de bajo ciclo de trabajo en entornos extremos.

### 11.2 Selección de batería por despliegue

Tipo de despliegue Batería recomendada Justificación
Seguimiento interior (2 años) CR2032 Menor costo, capacidad adecuada
Cadena de frío (-20°C, 1 año) CR2450 + condensador 47uF Mayor capacidad, maneja pulso a baja temp
Exterior larga vida (5 años) CR2477 1000 mAh, baja autodescarga
Sensu de alta tasa (100ms adv) CR2477 Capacidad de corriente de pulso
Temperatura extrema (-30°C) BR2032 Mejor rendimiento a baja temperatura
Recargable (cosecha de energía) LiR2032 o LIR2450 Recargable, pero baja capacidad

## 12. Plantilla de Predicción de Despliegue

### 12.1 Calculadora

Entradas:
  Batería: CR2032 (220 mAh)
  Intervalo Adv: ___ ms
  Potencia TX: ___ dBm
  Sensor: ___ (reposo: ___ uA, activo: ___ mA, medición: ___ ms, muestra cada: ___ s)
  Rango de temperatura: ___ a ___ °C

Paso 1: Corriente de reposo (Sección 5)
  I_reposo = ___ uA

Paso 2: Corriente de publicidad (Sección 3)
  Q_adv = 4.212 uC (a 0 dBm, ajustar por potencia TX)
  I_adv = Q_adv / Intervalo_adv = ___ uA

Paso 3: Corriente de sensor (Sección 4)
  I_sensor = ___ uA

Paso 4: Corriente promedio total
  I_avg = I_reposo + I_adv + I_sensor = ___ uA

Paso 5: Degradación
  f_temp = ___ (Sección 6.4)
  f_pulso = ___ (Sección 6.3)
  f_autodescarga = ___ (estimado: 0.97 para 1 año, 0.95 para 2 años, 0.90 para 5 años)

Paso 6: Vida útil de batería
  Vida = (220 * f_temp * f_pulso * f_autodescarga) / I_avg
  Vida = ___ horas = ___ años

### 12.2 Escenarios pre-calculados

Escenario Batería Int. Adv Sensor Temp I_avg (uA) Vida (años)
Tag interior activos CR2032 1s Acel sondeo 23°C 8.2 2.0
Tag interior activos CR2032 5s Acel sondeo 23°C 4.8 3.5
Tag interior activos CR2032 10s Ninguno 23°C 3.9 4.2
Tag almacén CR2032 2s Acel sondeo 5-35°C 6.1 2.4
Tag cadena frío CR2450 5s T/RH cada 30s -20 a 0°C 6.5 1.8
Exterior larga vida CR2477 10s Ninguno -10 a 50°C 4.0 6.8
RTLS alta tasa CR2477 200ms Acel sondeo 23°C 23.5 1.7
Tag inventario CR2032 60s Ninguno 23°C 3.6 4.6

### 12.3 Comportamiento al final de vida

A medida que la batería se acerca al fin de vida, el tag no simplemente se detiene. Pasa por una secuencia de degradación predecible:

1. Reducción de alcance (80-90% de capacidad consumida): La caída de voltaje durante TX reduce la potencia TX efectiva. El RSSI del gateway cae 5-10 dB. Los tags parecen «más lejos» de lo que están.

2. Reinicios intermitentes (90-95% de capacidad): Brown-out durante eventos de publicidad a baja temperatura. El tag puede perder intervalos de publicidad o reiniciar su RTC.

3. Falla completa (95-100% de capacidad): La batería no puede sostener ningún evento de publicidad. El tag enmudece.

Implemente un mecanismo de detección de batería baja:

– Medir voltaje de batería vía ADC durante un evento de publicidad (carga pico)

– Comparar contra umbral (2.2V para CR2032)

– Reportar batería baja en el payload de publicidad (1 bit)

– El gateway marca el tag para reemplazo de batería

Esto da 2-4 semanas de aviso antes de la falla completa, permitiendo mantenimiento programado.

## Conclusión

La predicción de vida útil para tags BLE no es ciencia espacial, pero requiere disciplina. El cálculo ingenuo (capacidad / corriente promedio) sobreestima la vida en 30-50%. Al considerar fugas de reposo, energía de publicidad, corriente de sensor, degradación por temperatura y efectos de carga de pulso, el modelo corregido logra estar dentro del 10% de las mediciones de campo.

Los puntos clave para cualquier despliegue de smart tag:

1. Mida, no asuma. Use un PPK2 o herramienta equivalente para medir el perfil de corriente real de su firmware.

2. La corriente de reposo es la base. Cada microamperio de fuga se resta directamente de la vida útil.

3. El intervalo de publicidad es la palanca más grande. Pasar de 1s a 10s ahorra más que cualquier otra optimización.

4. La temperatura mata baterías. Diseñe para la temperatura de despliegue en el peor caso, no la del laboratorio.

5. Añada un condensador para aplicaciones de cadena de frío. 47 μF previene brown-out a bajas temperaturas.

6. Implemente detección de batería baja. Dé a los operadores 2-4 semanas de aviso antes de la falla.

El modelo de presupuesto de energía presentado aquí ha sido validado en miles de tags desplegados en entornos interiores, almacenes, cadena de frío y exteriores, prediciendo consistentemente la vida útil dentro del 10% del rendimiento real de campo.