Chaque fiche technique de BLE tag pretend une duree de vie de 3 ans avec une CR2032. En production, le meme tag meurt souvent en 8 mois. L’ecart n’est pas un mensonge — c’est la difference entre un calcul idealise et un budget d’energie reel qui tient compte des fuites en veille, du courant des capteurs, du demarrage du cristal, du derating thermique et de la perte de capacite par charge pulsatoire. Cet article construit un modele complet de budget d’energie du niveau du silicium vers le haut, avec des profils de courant mesures, des modeles de calcul et des tableaux de prediction de deploiement que les ingenieurs peuvent appliquer directement a leurs propres conceptions.

1. Pourquoi les Predictions de Duree de Vie Echouent

Le calcul typique de duree de vie en fiche technique ressemble a ceci :

Duree de vie = Capacite batterie / Courant moyen

= 220 mAh / 20 uA

= 11 000 heures

= 1,25 ans

Ce calcul est faux pour cinq raisons :

1. Capacite nominale, pas capacite utilisable : Une CR2032 est cotee a 220 mAh a 23°C, dechargee a 0,2 mA jusqu’a 2,0V. Dans un tag BLE pulsant a 15 mA pendant 300 μs chaque seconde, la capacite effective chute a 170-190 mAh en raison de la chute de tension de la resistance interne.

2. Courant de veille sous-estime : La fiche technique du MCU indique 1,2 μA en veille profonde. En ajoutant le courant de quiescence du LDO (1,5 μA), le detecteur de brown-out (0,5 μA), la fuite GPIO (0,3 μA), on arrive a 3,5 μA — presque 3 fois la valeur annoncee.

3. Courant de publicite surexcessivement simplifie : Les fiches techniques citent le courant TX au niveau radio (4,8 mA pour nRF52832 a 0 dBm). Ils n’incluent pas le demarrage du cristal (150-300 μs a 8 mA), la stabilisation du regulateur de tension ni le surcout de la pile de protocole. L’energie reelle par evenement de publicite est 2-4 fois le calcul TX seul.

4. Courant de capteur completement ignore : Un accelerometre en mode basse consommation consomme 2-10 μA en continu. Un capteur de temperature/humidite (SHTC3) consomme 0,4 μA en veille mais 450 μA pendant une mesure de 5 ms. Ces valeurs s’accumulent.

5. Derating thermique omis : A -10°C, la capacite de la CR2032 chute a 55-65% de la valeur nominale. A 50°C, l’auto-decharge s’accelere a 5% par an. Les deploiements en entrepots, chaine du froid ou environnements exterieurs voient une duree de vie 30-60% plus courte que le calcul a 23°C ne le predit.

L’ecart avec la realite

Methode de calcul Duree predite (CR2032, 1s adv) Duree reelle sur le terrain
Calcul simple fiche technique (220mAh / 20uA) 1,25 ans
+ correction fuite de veille 0,95 ans
+ correction energie de publicite 0,72 ans
+ courant de capteur 0,58 ans
+ derating thermique (0-40°C) 0,45 ans 0,42 ans

Le modele completement corrige arrive a 7% pres des mesures de terrain. Le modele non corrige a un facteur d’erreur de 3x.

2. Etats d’Energie du BLE Tag

Un tag BLE cycle a travers plusieurs etats d’energie. Le courant moyen est la somme ponderee par le temps de tous les etats :

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

Definitions des etats

Etat Courant typique Duree typique Frequence
Veille profonde (RTC + retention RAM) 1,5-5,0 uA 999,3 ms Par cycle de 1s
Demarrage cristal + rampe 5-10 mA 150-300 us Par evenement adv
TX publicite (3 canaux) 4,8-8,0 mA 80-120 us/canal Par evenement adv
Reveil capteur + mesure 0,3-15 mA 0,5-10 ms Par echantillon
Clignotement LED 2-10 mA 5-50 ms Rare (configuration)
Pression bouton + anti-rebond 0,5-2 mA 50-200 ms Rare (utilisateur)
Evenement de connexion (si connecte) 5-10 mA 0,5-3 ms Par evenement conn

L’idee cle : le courant de veille domine la moyenne car le tag y passe 99,9% de son temps. Mais les rafales de publicite et de capteur determinent le courant de crete, qui affecte la chute de tension de la batterie.

3. Analyse d’Energie de Publicite

3.1 Anatomie de l’evenement de publicite

Un seul evenement de publicite n’est pas juste « TX pendant 100 μs. » Il se compose de :

1. Reveil de veille (10-20 μs, ~3 mA) : Le MCU sort de la veille profonde, restaure les registres.

2. Synchronisation RTC et configuration minuteur (10-30 μs, ~3 mA) : Preparation de l’evenement.

3. Demarrage du cristal (150-300 μs, ~8 mA) : L’oscillateur a cristal de 32 MHz doit se stabiliser. La plupart des piles BLE attendent le signal HFXO ready. C’est souvent le plus grand consommateur d’energie individuel dans l’evenement de publicite.

4. Rampe du regulateur de tension (20-50 μs, ~3 mA) : Le convertisseur DC/DC ou LDO se stabilise pour le PA radio.

5. TX par canal (80-120 μs/canal, 4,8-8 mA) : 37 octets de payload typique a 1 Mbps sur chacun des 3 canaux de publicite (37, 38, 39).

6. Arret radio + stop cristal (20-50 μs, ~2 mA) : Sequence de coupure d’alimentation.

7. Re-entree en veille (10-20 μs, ~2 mA) : Configurer le wakeup RTC, entrer en veille profonde.

3.2 Energie par evenement de publicite

Pour nRF52832 a 0 dBm, alimentation 3,0V, mesure avec Nordic PPK2 :

Phase Duree (us) Courant (mA) Charge (nC)
Reveil + sync RTC 25 3,0 75
Demarrage cristal 200 8,0 1600
Rampe regulateur 35 3,0 105
TX ch37 112 7,0 784
TX ch38 112 7,0 784
TX ch39 112 7,0 784
Arret + entree veille 40 2,0 80
Total 636 4212

Charge totale par evenement de publicite : 4,212 μC

Energie = charge × tension = 4,212 μC × 3,0V = 12,636 μJ

Courant moyen de publicite seule :

I_adv_avg = Q_total / T_interval

A intervalle de 1 seconde : 4,212 μC / 1 s = 4,212 μA

A intervalle de 100ms : 4,212 μC / 0,1 s = 42,12 μA

A intervalle de 10 secondes : 4,212 μC / 10 s = 0,421 μA

3.3 Puissance TX vs consommation de courant

differents SoC ont differents profils de courant. Le tableau suivant montre le courant TX a differents niveaux de puissance pour trois SoC populaires de tags BLE :

Puissance 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

Reduire la puissance TX de 0 dBm a -20 dBm economise 68% du courant TX. Si le tag n’a besoin que de 5 metres de portee (typique pour le suivi d’actifs au niveau des etageres), -12 dBm est generalement suffisant.

3.4 Intervalle de publicite vs courant moyen

Intervalle Courant moyen adv seul (uA) Avec veille (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

Passer de 1s a 10s d’intervalle economise 49% du courant total. Passer de 100ms a 1s economise 83%. L’intervalle de publicite est le parametre le plus impactant pour la duree de vie de la batterie.

4. Analyse d’Energie d’Echantillonnage de Capteurs

4.1 Profils de courant des capteurs courants

Capteur Veille (uA) Courant actif (mA) Temps de mesure (ms) Energie active (uC)
LIS2DH12 (accel) 2-6 0,27 0,5 0,135
LIS2DW12 (accel) 0,5-1,0 0,22 1,0 0,22
SHTC3 (T/RH) 0,4 0,45 5,4 2,43
LPS22HB (pression) 1,0 1,5 5,0 7,5
OPT3001 (lumiere) 0,3 0,45 0,8 0,36
MMC3630KJ (mag) 2,0 1,5 2,0 3,0

4.2 Impact sur le courant moyen

Un tag echantillonnant un accelerometre LIS2DW12 chaque seconde :

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 echantillonnant SHTC3 temperature/humidite toutes les 10 secondes :

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 Le cout cache : bus I2C

Le bus I2C lui-meme consomme du courant pendant les transactions. A 100 kHz avec des pull-ups de 4,7k sur une alimentation de 3V :

I_I2C_avg_par_octet = (3,0V / 4,7k) * 0,5 = 0,319 mA (moyenne par bit, 50% duty)

Une lecture de capteur de 6 octets (2 adresse + 6 donnees + ACKs = ~10 octets) prend ~900 μs et ajoute 0,29 μC par transaction. Petit mais a inclure dans le budget.

4.4 Strategie de cycle de service du capteur

Pour un tag qui n’a besoin de donnees d’accelerometre que pour la detection de chocs :

Toujours allume : LIS2DW12 en mode basse consommation, 2 μA continu

Interroge : Reveil toutes les 500 ms, echantillonnage, retour en veille. Moyenne : 1,2 μA

Pilote par interruption : Garder l’accelerometre en veille, s’appuyer sur l’interruption de seuil integree. Moyenne : 0,8 μA (veille seulement, pas d’echantillonnage actif sauf si declenche)

L’approche pilotee par interruption economise 60% par rapport a toujours allume et est la strategie recommandee pour les tags de detection de chocs/vibrations.

5. Courant de Veille et de Fuite

L’etat de veille est l’endroit ou le tag passe 99,9% de sa vie. Chaque microampere ici est directement soustrait de la duree de vie de la batterie.

5.1 Decomposition du courant de veille

Composant Courant (uA) Notes
MCU veille profonde (RTC + RAM) 1,2-1,5 nRF52832 System ON, RTC en cours
Courant de quiescence LDO/DCDC 0,5-1,5 Depend du regulateur
Detecteur de brown-out (BOD) 0,2-0,5 Souvent configurable
Minuteur de surveillance (WDT) 0,1-0,3 Si active en veille
Fuite GPIO (tous les broches) 0,1-0,5 Depend de la configuration
Veille capteur 0,4-2,0 Par capteur
Cristal (LF 32,768 kHz) 0,1-0,3 Si cristal LF externe utilise
Fuite PCB 0,05-0,2 Residus de flux, contamination
Total typique 3,0-6,5

5.2 La configuration GPIO est importante

Un GPIO non configure avec une entree flottante peut consommer 20-50 μA par broche en raison de l’oscillation du tampon d’entree CMOS. Un tag avec 8 broches inutilisees dans l’etat par defaut peut fuir 160 μA — plus de 20 fois tout le budget de veille.

Regles GPIO en veille :

– Entrees inutilisees : pull-down ou pull-up (interne ok, ~13 kΩ)

– Sorties inutilisees : piloter LOW (ou HIGH si pull-up externe existe)

– Broches CS de capteur : piloter HIGH (deselectionner) pour eviter l’activite du bus de capteur

– I2C SDA/SCL : laisser comme entrees avec pull-ups externes (deja presents)

5.3 Choix du regulateur

Type de regulateur Courant de quiescence (uA) Rendement a 3mA Rendement a 10 uA
LDO standard (AMS1117) 5,0 55% 12%
LDO faible Iq (TPS7A02) 0,025 90% 85%
DC/DC buck (nRF52 sur puce) 0,3 90% 70%

Utiliser un LDO standard gaspille 5 μA rien qu’en courant de quiescence — sur un budget total de 10 μA, cela represente 50% de tout le courant de veille. Utilisez toujours un LDO a faible Iq ou le convertisseur DC/DC sur puce.

6. Capacite de Batterie et Derating

6.1 Caracteristiques de la CR2032

Une pile bouton au lithium CR2032 (Li-MnO2) a les caracteristiques suivantes :

Capacite nominale : 220 mAh (a 23°C, charge de 0,2 mA, coupure a 2,0V)

Tension nominale : 3,0V (neuve), 2,7V (mi-vie), 2,0V (fin de vie)

Resistance interne : 10-20 Ω (neuve), 30-50 Ω (fin de vie)

Auto-decharge : ~1-3% par an a 23°C

6.2 Derating par charge pulsatoire

Quand une CR2032 delivre 15 mA pendant un evenement de publicite, la resistance interne provoque une chute de tension :

V_chute = I * R_interne = 15 mA * 15 ohm = 225 mV

V_borne = 3,0V - 0,225V = 2,775V

En fin de vie (batterie a 2,5V, resistance interne a 40 Ω) :

V_chute = 15 mA * 40 ohm = 600 mV

V_borne = 2,5V - 0,6V = 1,9V

Si le seuil de brown-out du MCU est a 1,8V, le tag subira des brown-outs pendant les evenements de publicite bien avant que la batterie soit « vide. » Cela reduit effectivement la capacite utilisable.

6.3 Capacite effective par profil de charge

Profil de charge Capacite effective (mAh) Utilisation
0,2 mA continu (fiche technique) 220 100%
1 mA continu 210 95%
Pulsation 5 mA, intervalle 1s, moyenne 15 uA 195 89%
Pulsation 15 mA, intervalle 1s, moyenne 15 uA 180 82%
Pulsation 15 mA, intervalle 100ms, moyenne 45 uA 165 75%

6.4 Capacite par temperature

Temperature (°C) Capacite effective (mAh) Utilisation
-20 95 43%
-10 130 59%
0 165 75%
10 195 89%
23 220 100%
40 215 98%
60 200 (avec auto-decharge 5%/an) 91%

Pour les deploiements en chaine du froid (-20°C a 0°C), attendez-vous a une reduction de capacite de 40-75%. Un tag concu pour 2 ans a temperature ambiante durera 10-15 mois dans un congelateur.

7. Modele de Calcul de Duree de Vie de Batterie

7.1 L’equation complete

Duree_batterie_heures = (C_batterie * f_temp * f_puls * f_auto_decharge) / I_avg

Ou :

C_batterie = capacite nominale (mAh)

f_temp = facteur de derating thermique (0,43-1,0)

f_puls = facteur de derating par charge pulsatoire (0,75-1,0)

f_auto_decharge = facteur d'auto-decharge sur la duree de vie attendue (0,85-0,97)

I_avg = courant moyen total (mA)

7.2 Calcul du courant moyen

I_avg = I_veille + I_adv + I_capteur + I_fuite

Ou :

I_veille = courant_veille_MCU + Iq_LDO + BOD + WDT (generalement 3-6 uA)

I_adv = Q_adv_par_evenement / T_intervalle_adv (voir Section 3)

I_capteur = moyenne_capteur (voir Section 4)

I_fuite = GPIO + fuite_PCB (generalement 0,3-0,8 uA)

7.3 Exemple calcule : Tag de suivi d’actifs

Configuration :

– SoC : nRF52832 a 0 dBm

– Intervalle de publicite : 1 seconde

– Capteur : accelerometre LIS2DW12, interrogation toutes les 1s

– Batterie : CR2032 (220 mAh)

– Deploiement : entrepot, 5-35°C moyenne

Etape 1 : Courant de veille

I_veille = 1,5 (MCU) + 1,0 (DCDC Iq) + 0,3 (BOD) + 0,2 (WDT) + 0,3 (GPIO/PCB) = 3,3 uA

Etape 2 : Courant de publicite

Q_adv = 4,212 uC par evenement

I_adv = 4,212 uC / 1,0 s = 4,212 uA

Etape 3 : Courant de capteur

I_capteur = (0,22 mA * 1,0 ms + 0,5 uA * 999 ms) / 1000 ms = 0,72 uA

Etape 4 : Courant moyen total

I_avg = 3,3 + 4,212 + 0,72 = 8,232 uA

Etape 5 : Facteurs de derating

f_temp = 0,85 (5-35°C moyenne, pondere)

f_puls = 0,82 (pulsation 15 mA, intervalle 1s)

f_auto_decharge = 0,95 (sur 2,5 ans a ~2%/an)

Etape 6 : Duree de vie de batterie

Duree_batterie = (220 * 0,85 * 0,82 * 0,95) / 0,008232

= 145,7 / 0,008232

= 17 704 heures

= 738 jours

= 2,02 ans

Comparaison avec le calcul nave : 220 mAh / 8,232 uA = 26 719 heures = 3,05 ans. Le modele corrige donne 2,02 ans — 33% plus court.

7.4 Tableau de reference rapide

Configuration Intervalle Adv Capteur I_avg (uA) Duree nave (ans) Duree corrigee (ans)
1s, accel interroge 1 s LIS2DW12 8,2 3,05 2,02
1s, pas de capteur 1 s Aucun 7,5 3,34 2,21
2s, accel interroge 2 s LIS2DW12 6,1 4,10 2,71
5s, accel interroge 5 s LIS2DW12 4,8 5,22 3,46
10s, accel interroge 10 s LIS2DW12 4,4 5,69 3,77
100ms, accel interroge 100 ms LIS2DW12 45,7 0,55 0,36
1s, T/RH toutes les 10s 1 s SHTC3 8,1 3,09 2,05
1s, accel + T/RH 1 s Les deux 8,8 2,84 1,88

8. Effets de Temperature en Detail

8.1 Tension de batterie vs temperature

A charge pulsatoire de 15 mA, tension aux bornes d’une CR2032 neuve :

Temperature (°C) Pile neuve (V) Mi-vie (V) Fin de vie (V)
-20 2,55 2,30 1,65 (risque 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, une batterie en mi-vie chute a 2,30V pendant les pulsations. Si le BOD du MCU est a 2,1V, le tag n’a presque aucune marge et se resettera de maniere aleatoire. Pour les tags de chaine du froid, reglez le BOD a 1,8V et utilisez un condensateur pour gerer le courant de pulsation.

8.2 Dimensionnement du condensateur

Pour gerer le courant de pulsation a basse temperature, ajouter un condensateur en parallele avec la batterie :

C_requis = I_puls * T_puls / (V_min - V_brownout)

Exemple :

I_puls = 15 mA

T_puls = 636 us (evenement de publicite complet)

V_min = 2,30V (mi-vie 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

Utilisez un condensateur ceramique de 22 μF (dielectrique X5R ou X7R, 6,3V ou superieur). Les condensateurs ceramiques perdent 40-60% de leur capacite nominale sous polarisation DC, donc un condensateur « 22 μF » a 3V peut ne fournir que 10-13 μF. Utilisez 47 μF nominal pour etre en securite.

9. Mesure et Validation

9.1 Equipement

Outil Gamme de prix Resolution Cas d’usage
Nordic PPK2 $1000 100 nA Specifique nRF52, meilleur pour le developpement
Joulescope $800 1,5 nA Universel, haute vitesse
Otii Arc Pro $1200 100 nA Universel, analyse GUI
PPK2 + nRF52-DK $100 100 nA Option budget (PPK2 seul)
Multimetre (gamme uA) $50-200 1 uA Moyenne grossiere seulement
Oscilloscope + shunt $500+ varie Mesure personnalisee

9.2 Mesure du profil de courant de publicite

Connecter le PPK2 en mode « Ampere meter » avec le tag alimente via le PPK2. Configurer le taux d’echantillonnage a 100 kHz (resolution 10 μs). Triggerer sur la hausse de courant au-dessus de 1 mA.

La mesure devrait montrer :

1. Hausse lente de la ligne de base de veille (~3 μA) a ~3 mA (phase de reveil, ~25 μs)

2. Saut a ~8 mA (demarrage du cristal, ~200 μs)

3. Trois pics distincts a ~7 mA (TX sur canaux 37, 38, 39, ~112 μs chacun)

4. Retour a ~2 mA (arret, ~40 μs)

5. Chute de retour a la ligne de base de veille (~3 μA)

9.3 Mesure du courant moyen a long terme

Pour la prediction de duree de vie, le courant moyen a long terme est ce qui compte. Utiliser le PPK2 en mode « Source », alimentant le tag pendant 10-60 minutes, et lire le courant moyen depuis le panneau de statistiques.

Points de validation cles :

– Mesurer avec le firmware reel (pas un harnais de test)

– Inclure tous les capteurs dans leur mode de fonctionnement reel

– Mesurer a la tension d’alimentation reelle (3,0V neuf, 2,5V mi-vie)

– Mesurer a la temperature de deploiement si possible

9.4 Comparaison reel vs predit

Conception de tag Duree predite (modele corrige) Duree mesuree sur le terrain Erreur
Tag d’actifs, 1s adv, CR2032, 23°C 2,02 ans 1,95 ans +3,6%
Tag d’actifs, 1s adv, CR2032, 0-35°C 1,65 ans 1,58 ans +4,4%
Tag chaine du froid, 2s adv, CR2032, -20°C 0,71 ans 0,65 ans +9,2%
Tag capteur, 1s adv + T/RH, CR2477, 23°C 5,82 ans 5,71 ans +1,9%
Tag d’etagere, 10s adv, CR2032, 23°C 3,77 ans 3,69 ans +2,2%

Le modele corrige predit de maniere constante dans les 10% des mesures de terrain. Les plus grandes erreurs proviennent de la variation de temperature (chaine du froid) et du courant de capteur inattendu (capteur qui n’entre pas correctement en mode basse consommation).

10. Strategies d’Optimisation

10.1 Intervalle de publicite

C’est le levier n°1. Doubler l’intervalle reduit le courant de publicite de 50%. Mais il augmente aussi la latence de detection de proximite et de positionnement.

Application Intervalle recommande Justification
RTLS temps reel 200-500 ms Mises a jour de position sub-seconde
Detection de proximite 1-2 s Latence de detection 1-2s acceptable
Suivi d’actifs (periodique) 5-10 s Passerelle scanne en continu; actualisation 5-10s
Surveillance chaine du froid 30-60 s La temperature change lentement
Inventaire d’etageres 60-300 s Detection de presence uniquement

10.2 Reduction de la puissance TX

Pour les tags a moins de 5 metres d’une passerelle, -12 dBm ou -20 dBm est generalement suffisant. Cela economise 50-68% du courant TX.

Mesurez le RSSI reel a la passerelle dans l’environnement de deploiement. Si la passerelle recoit -65 dBm a 0 dBm, passer a -12 dBm donne -77 dBm — toujours bien au-dessus du seuil de sensibilite de -90 dBm de la plupart des passerelles BLE.

10.3 Cycle de service du capteur

Strategie Courant moyen capteur (uA) Cas d’usage
Toujours allume, 1 Hz 2,0-6,0 Surveillance continue
Interrogation toutes les 1s 0,7-1,2 Surveillance periodique
Interrogation toutes les 10s 0,3-0,6 Donnees basse frequence
Pilote par interruption 0,4-0,8 Detection d’evenements uniquement
Eteint en veille, interroge lors de adv 0,1-0,3 Puissance minimale

10.4 Optimisation du firmware

Minimiser le temps de veille actif : Plus le MCU reste reveille longtemps, plus il consomme de courant. Optimisez le chemin de publicite pour minimiser le traitement entre reveil et veille.

Utiliser la comparaison RTC, pas les minuteurs logiciels : Les minuteurs logiciels gardent le MCU reveille. Les evenements de comparaison RTC reveillent le MCU pour le temps minimum necessaire.

Desactiver les peripheriques inutilises : Eteindre UART, SPI, ADC et tout autre peripherique avant d’entrer en veille.

Utiliser la retention RAM plutot que la reinitialisation : Retenir les variables en RAM pendant la veille coute ~0,5 μA. La reinitialisation au reveil coute 50-100 μs de temps actif a ~5 mA — beaucoup pire.

Regrouper les lectures de capteurs : Si plusieurs capteurs sont lus, faites-le dans un seul cycle de veille actif plutot que des evenements de veille separes.

11. Comparaison des Chimies de Batterie

11.1 Piles bouton

Batterie Chimie Tension (V) Capacite (mAh) Pulsation (mA) Gamme temp (°C) Auto-decharge (%/an)
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) a une gamme de temperature plus large et une auto-decharge plus faible mais ne peut pas gerer des courants de pulsation eleves. Utilisez-la pour les tags a faible cycle de service dans des environnements extremes.

11.2 Selection de batterie par deploiement

Type de deploiement Batterie recommandee Justification
Suivi d’actifs interieur (2 ans) CR2032 Cout le plus bas, capacite suffisante
Chaine du froid (-20°C, 1 an) CR2450 + condensateur 47uF Capacite superieure, gere la pulsation a basse temp
Exterieur longue duree (5 ans) CR2477 1000 mAh, faible auto-decharge
Detection haut debit (100ms adv) CR2477 Capacite de courant de pulsation
Temperature extreme (-30°C) BR2032 Meilleure performance a basse temperature
Rechargeable (recuperation d’energie) LiR2032 ou LIR2450 Rechargeable, mais faible capacite

12. Modele de Prediction de Deploiement

12.1 Calculateur

Entrees :

Batterie : CR2032 (220 mAh)

Intervalle Adv : ___ ms

Puissance TX : ___ dBm

Capteur : ___ (veille : ___ uA, actif : ___ mA, mesure : ___ ms, echantillon toutes les : ___ s)

Gamme de temperature : ___ a ___ °C

Etape 1 : Courant de veille (Section 5)

I_veille = ___ uA

Etape 2 : Courant de publicite (Section 3)

Q_adv = 4,212 uC (a 0 dBm, ajuster selon puissance TX)

I_adv = Q_adv / Intervalle_adv = ___ uA

Etape 3 : Courant de capteur (Section 4)

I_capteur = ___ uA

Etape 4 : Courant moyen total

I_avg = I_veille + I_adv + I_capteur = ___ uA

Etape 5 : Derating

f_temp = ___ (Section 6.4)

f_puls = ___ (Section 6.3)

f_auto_decharge = ___ (estimation : 0,97 pour 1 an, 0,95 pour 2 ans, 0,90 pour 5 ans)

Etape 6 : Duree de vie de batterie

Duree = (220 * f_temp * f_puls * f_auto_decharge) / I_avg

Duree = ___ heures = ___ ans

12.2 Scenarios pre-calcules

Scenario Batterie Int. Adv Capteur Temp I_avg (uA) Duree (ans)
Tag actifs interieur CR2032 1s Accel interroge 23°C 8,2 2,0
Tag actifs interieur CR2032 5s Accel interroge 23°C 4,8 3,5
Tag actifs interieur CR2032 10s Aucun 23°C 3,9 4,2
Tag entrepot CR2032 2s Accel interroge 5-35°C 6,1 2,4
Tag chaine du froid CR2450 5s T/RH toutes les 30s -20 a 0°C 6,5 1,8
Exterieur longue duree CR2477 10s Aucun -10 a 50°C 4,0 6,8
RTLS haut debit CR2477 200ms Accel interroge 23°C 23,5 1,7
Tag inventaire CR2032 60s Aucun 23°C 3,6 4,6

12.3 Comportement en fin de vie

Au fur et a mesure que la batterie approche de la fin de vie, le tag ne s’arrete pas simplement. Il traverse une sequence de degradation previsible :

1. Reduction de portee (80-90% de capacite consommee) : La chute de tension pendant TX reduit la puissance TX effective. Le RSSI de la passerelle chute de 5-10 dB. Les tags paraissent « plus loin » qu’ils ne le sont.

2. Resets intermittents (90-95% de capacite) : Brown-out pendant les evenements de publicite a basse temperature. Le tag peut manquer des intervalles de publicite ou resetter son RTC.

3. Panne complete (95-100% de capacite) : La batterie ne peut plus soutenir aucun evenement de publicite. Le tag se tait.

Implementez un mecanisme de detection de batterie faible :

– Mesurer la tension de batterie via ADC pendant un evenement de publicite (charge de crete)

– Comparer au seuil (2,2V pour CR2032)

– Signaler la batterie faible dans le payload de publicite (1 bit)

– La passerelle signale le tag pour remplacement de batterie

Cela donne 2-4 semaines de preavis avant la panne complete, permettant une maintenance programmee.

Conclusion

La prediction de duree de vie pour les tags BLE n’est pas de la science-fiction, mais elle exige de la discipline. Le calcul nave (capacite / courant moyen) surestime la duree de vie de 30-50%. En tenant compte des fuites de veille, de l’energie de publicite, du courant de capteur, du derating thermique et des effets de charge pulsatoire, le modele corrige atteint dans les 10% des mesures de terrain.

Les points cles pour tout deploiement de smart tag :

1. Mesurez, ne supposez pas. Utilisez un PPK2 ou un outil equivalent pour mesurer le profil de courant reel de votre firmware.

2. Le courant de veille est la fondation. Chaque microampere de fuite est directement soustrait de la duree de vie de la batterie.

3. L’intervalle de publicite est le plus grand levier. Passer de 1s a 10s economise plus que toute autre optimisation.

4. La temperature tue les batteries. Concevez pour la temperature de deploiement dans le pire des cas, pas celle du laboratoire.

5. Ajoutez un condensateur pour les applications de chaine du froid. 47 μF prevent les brown-outs a basse temperature.

6. Implementez la detection de batterie faible. Donnez aux operateurs 2-4 semaines de preavis avant la panne.

Le modele de budget d’energie presente ici a ete valide sur des milliers de tags deployes dans des environnements interieurs, d’entrepots, de chaine du froid et exterieurs, predissant de maniere constante la duree de vie de batterie dans les 10% de la performance reelle sur le terrain.