<figure><img src="image_1.png" /></figure>

HAL
open science

# Capteurs sans batterie ou le mythe de l'autonomie infinie

Hugo Reymond

<figure><img src="image_2.png" /></figure>

## To cite this version:

Hugo Reymond. Capteurs sans batterie ou le mythe de l'autonomie infinie. Greendays 2025 - Au-delà de l'efficacité, comment imaginer un numérique plus sobre?, Mar 2025, Rennes, France. pp.1-13. hal-05009459

HAL Id: hal-05009459

https://hal.science/hal-05009459v1

Submitted on 28 Mar 2025

HAL is a multi-disciplinary open access archive for the deposit and dissemination of scientific research documents, whether they are published or not. The documents may come from teaching and research institutions in France or abroad, or from public or private research centers.

L'archive ouverte pluridisciplinaire HAL, est destinée au dépôt et à la diffusion de documents scientifiques de niveau recherche, publiés ou non, émanant des établissements d'enseignement et de recherche français ou étrangers, des laboratoires publics ou privés.

<figure><img src="image_3.png" /></figure>

Distributed under a Creative Commons Attribution 4.0 International License
<figure><img src="image_4.png" /></figure>

UMR

IRISA

Institut de Recherche en Informatique
et Systèmes Aléatoires

# Capteurs sans batterie ou le mythe de l'autonomie infinie

*Comment la variabilité et le vieillissement des composants impacte l'exécution de programmes ?*

Hugo Reymond - Equipe PACAP
Greendays 2025

<figure><img src="image_5.png" /></figure>

Université
de Rennes

<figure><img src="image_6.png" /></figure>

INSA

INSTITUT NATIONAL
DES SCIENCES
APPLIQUÉES
RENNES

<figure><img src="image_7.png" /></figure>

<figure><img src="image_8.png" /></figure>

<figure><img src="image_9.png" /></figure>

<figure><img src="image_10.png" /></figure>

CentraleSupélec

<figure><img src="image_11.png" /></figure>

IMT Atlantique
Bretagne-Pays de la Loire
Ecole Mines-Télécom

Université
Bretagne Sud

<figure><img src="image_12.png" /></figure>
# Capteurs sans batterie

## Capteurs sans fil

* Collecte de données, traitement et envoi des données

* Déploiement dans des lieux souvent isolés ou inaccessibles

## Autonomie des capteurs sans fil

### Piles et batteries

<figure><img src="image_13.png" /></figure>

<figure><img src="image_14.png" /></figure>

<figure><img src="image_15.png" /></figure>

* Autonomie limitée, remplacement fréquent

* Beaucoup de déchets

### Récolte d'énergie

<figure><img src="image_16.png" /></figure>

<figure><img src="image_17.png" /></figure>

### Condensateur

<figure><img src="image_18.png" /></figure>

<figure><img src="image_19.png" /></figure>

* Autonomie “infinie”

* Empreinte écologique réduite

Comment cette autonomie “infinie” se confronte aux réalités matérielles ?
Les caractéristiques des composants varient selon :

* Conditions d'opérations

<figure><img src="image_20.png" /></figure>

<figure><img src="image_21.png" /></figure>

* Vieillissement des matériaux

<figure><img src="image_22.png" /></figure>

**Exemple : Condensateur**

<figure><img src="image_23.png" /></figure>

Vieillissement

<figure><img src="image_24.png" /></figure>

Capacité réduite, Résistance série (ESR) augmentée

**Quel est l'impact de cette variabilité sur l'exécution d'un programme ?**
<figure><img src="image_25.png" /></figure>

UMR

IRISA

# Un peu de contexte : le calcul intermittent

Absence de batteries ⚕ Faible énergie récoltée ➔ Calcul en continu impossible

## Calcul Intermittent

<figure><img src="image_26.png" /></figure>

Perte d'alimentation ➔ Perte des données volatiles (mémoire et registres) ➔ Progression perdue
<figure><img src="image_27.png" /></figure>

# Checkpointing

<figure><img src="image_28.png" /></figure>

## VM : Mémoire volatile

<figure><img src="image_29.png" /></figure>

Sauvegarde

<figure><img src="image_30.png" /></figure>

<figure><img src="image_31.png" /></figure>

<figure><img src="image_32.png" /></figure>

Reprise de
l'exécution

<figure><img src="image_33.png" /></figure>

## NVM : Mémoire
non volatile

```c
int sum = 0;
for(int i = 0; i<4; i++){
    sum += array[i]
}
send(sum);
```
<figure><img src="image_34.png" /></figure>

# Impact de la variabilité sur l'exécution

## Placement de point de sauvegarde dimensionné par rapport à la taille du condensateur

```c
int sum = 0;
for(int i = 0; i<4; i++) {
    checkpoint();
    sum += array[i]
}
checkpoint();
send(sum);
checkpoint();
```

<figure><img src="image_35.png" /></figure>

$$E = \frac{1}{2} CV^2$$

Si la capacité diminue, il devient impossible d'atteindre le prochain point de sauvegarde

## Réexécution à l'infini : PLUS DE PROGRÈS

L'observe-t-on expérimentalement ?
## Matériel

**Noir** : Source d'énergie (Émetteur RF)

**Vert** : Récolte d'énergie (P2110 RF harvester)

**Rouge** : Cible (Microcontrôleur MSP430FR5969)

<figure><img src="image_36.png" /></figure>

## Logiciel

* Trois benchmarks (aes, crc, rc4)

* Placement de point de sauvegarde statique conservatif

### Réserve d'énergie

<table><tr><td>Capacité (en µF)</td><td>105</td><td>75</td><td>42</td><td>22</td></tr><tr><td>Dégradation</td><td>0%</td><td>29%</td><td>60%</td><td>80%</td></tr></table>

<figure><img src="image_37.png" /></figure>

On ne simule pas la dégradation de l'ESR

## Protocole

* La puissance récoltée ne permet pas d'alimenter la cible en continu

* La cible exécute un programme en boucle pendant 1 min

* On compte le nombre de programmes exécutés pendant les 1 min
<table><thead><tr><th rowspan="2">Capacité(µF)</th><th colspan="3">Benchmarks exécutés (moyenne)</th></tr><tr><th>aes</th><th>crc</th><th>rc4</th></tr></thead><tbody><tr><td>105</td><td>26</td><td>61</td><td>34</td></tr><tr><td>75</td><td>30</td><td>61</td><td>38</td></tr><tr><td>42</td><td>0</td><td>73</td><td>7</td></tr><tr><td>22</td><td>0</td><td>0</td><td>0</td></tr></tbody></table>

<table><thead><tr><th rowspan="2">Capacité(µF)</th><th colspan="3">Pourcentage de réexécution</th></tr><tr><th>aes</th><th>crc</th><th>rc4</th></tr></thead><tbody><tr><td>105</td><td>0%</td><td>0%</td><td>0%</td></tr><tr><td>75</td><td>0%</td><td>0%</td><td>0%</td></tr><tr><td>42</td><td>96%</td><td>0%</td><td>95%</td></tr><tr><td>22</td><td>80%</td><td>99%</td><td>99%</td></tr></tbody></table>

* Si le condensateur est trop dégradé, pas de progrès

* Aucun benchmark complété

* Principalement de la réexécution

* En réalité, pas notre principal problème : par moment, on récupèrera suffisamment d'énergie pour s'exécuter en continu

* Problème : la corruption mémoire.
# Anomalies mémoire

Accès mémoire VM et NVM + ré-exécution → corruption mémoire

```c
int array[2];
int i = 0;
while(i<2) {
    checkpoint();
    array[i] = 0;
    i++;
}
```

Avec i en NVM

<figure><img src="image_38.png" /></figure>

Exécution
Intermittente

```c
array[0] = 0
i++
checkpoint()
array[1] = 0
i++
```

<figure><img src="image_39.png" /></figure>

array[2] = 0

<figure><img src="image_40.png" /></figure>

Accès out of bound
= corruption mémoire

Une seule réexécution peut corrompre tout le système !

Certaines approches "pire cas" garantissent l'absence de réexécution en se basant sur la taille du condensateur → Sa dégradation casse ces garanties

<figure><img src="image_41.png" /></figure>
<table><thead><tr><th rowspan="2">Capacité(µF)</th><th colspan="3">Apparition d'une ré-exécution (sur 50 expériences)</th></tr><tr><th>aes</th><th>crc</th><th>rc4</th></tr></thead><tbody><tr><td>105</td><td>0</td><td>0</td><td>0</td></tr><tr><td>75</td><td>0</td><td>0</td><td>0</td></tr><tr><td>42</td><td>50</td><td>0</td><td>50</td></tr><tr><td>22</td><td>50</td><td>50</td><td>50</td></tr></tbody></table>

* La dégradation du condensateur entraine des réexécutions

* Ces réexécutions peuvent entrainer des anomalies mémoires

* Meilleur cas : Capteur HS

* Pire cas : Mesures corrompues/érronées, comportements nuisibles

* Effets dommageables et irréversibles sur le réseau de capteur
# Conclusion

* Autonomie “infinie” ?

* Fonctionnement des capteurs sans batteries impacté par

* Conditions opératoires (température, humidité)

* Vieillissement des composants matériels

* Dégradation du condensateur → Absence de progrès, Anomalies mémoire

* Avec une dégradation de 60%, possibilité d'effets irréversibles

* Nécessité d'intervention manuelle

> Autonomie menacée par la dégradation des composants
<figure><img src="image_42.png" /></figure>

UMR

IRISA

# Travaux futurs

* Comment détecter la dégradation du condensateur ?

* Comment s'adapter aux dégradations du condensateur ?

* Focus : Condensateur

* Est-ce le composant le plus faillible ?

* Analyse des autres composants

* Quelle est la durée de vie d'un capteur sans batterie ?

## Merci de votre attention
## Avez-vous des questions ?

<figure><img src="image_43.png" /></figure>

UMR

IRISA

<figure><img src="image_44.png" /></figure>

This work has received a French government support granted to the Labex CominLabs excellence laboratory and managed by the National Research Agency in the "Investing for the Future" program under reference ANR-10-LABX-07-01

<figure><img src="image_45.png" /></figure>

Université
de Rennes

<figure><img src="image_46.png" /></figure>

INSA

INSTITUT NATIONAL
DES SCIENCES
APPLIQUEES
RENNES

<figure><img src="image_47.png" /></figure>

<figure><img src="image_48.png" /></figure>

<figure><img src="image_49.png" /></figure>

<figure><img src="image_50.png" /></figure>

CentraleSupélec

<figure><img src="image_51.png" /></figure>

IMT Atlantique
Bretagne-Pays de la Loire
École Mines-Télécom

Université
Bretagne Sud

<figure><img src="image_52.png" /></figure>
<figure><img src="image_53.png" /></figure>

# Dégradation du condensateur

* Durée de vie “utile” d'un condensateur conditions standard

* ≈1 an à 40° (8 000h)

* ≈3 ans à 25° (25 000h)

Définition de la durée de vie utile

$\Delta C/C: \pm 30 \%$

$R_I \le 4 \times \text{spec. limit}$

$I_L \le 2 \times \text{spec. limit}$

<figure><img src="image_54.png" /><figcaption>Equivalent Series Resistance vs. Temperature</figcaption></figure>

Sources :

“196DLC series - Energy Storage Double Layer Capacitors” datasheet, Vishay Components, rev 2018

“SCM series - Series-Connected SuperCapacitor Modules” datasheet, AVX