S18 — Balise de survie totalement indépendante + flottabilité positive¶
Répond à : P27 (jamais de perte silencieuse), P28 (flottabilité)
Priorité n°1 de tout le projet
Principe¶
Une balise de survie autonome (≈ 350 € en DIY) avec :
- Son propre microcontrôleur
- Sa propre batterie
- Son propre GPS
- Sa propre liaison satellite
Physiquement et électriquement indépendante de l'autopilote et du circuit principal : aucun fil, aucune batterie, aucune antenne partagée avec le reste du bateau.
Résultat : même autopilote planté, moteur mort, bateau coincé — la balise continue d'émettre la position.
Couplée à une flottabilité positive (âme en mousse, S1) : le bateau bloqué reste à flot, marqué et émetteur.
La garantie absolue
Aucun scénario n'aboutit à une perte silencieuse. On apprend même d'un échec.
Les fixations fusibles / largage d'appendice sont une piste validée mais de priorité basse, pour une itération ultérieure.
Faisabilité (équipe étudiante)¶
Élevée — exactement le genre de sous-système qu'EPITA conçoit bien
C'est un petit système embarqué autonome : MCU basse conso + GPS + modem SBD + petite batterie Li-SOCl₂.
Règle dimensionnante¶
- Chaque banc seul : tenir l'électronique vitale ~8–9 jours
- La balise : survivre à toute panne du reste
Fonctionnement¶
Toutes les 3 h : acquérir une position GNSS et la transmettre par Iridium SBD. En cas d'échec de transmission, réessayer toutes les 30 min (nouveau fix à chaque fois), plafonné à 5 tentatives, puis se rendormir jusqu'au créneau des 3 h suivant. Un seul capteur (le GNSS), une seule donnée transmise.
La conception a beaucoup évolué depuis l'esquisse initiale (TPL5110 + ATtiny + L91) ; l'état retenu ci-dessous suit la synthèse S18.
Architecture retenue : deep sleep (pas de latch)¶
On a d'abord conçu un circuit de latch qui coupait physiquement le microcontrôleur, puis on l'a abandonné. La raison tient en un chiffre : le RockBLOCK tire 100 µA en permanence (on ne le coupe jamais), quand l'ESP32-C3 en deep sleep tire ~5 µA. Optimiser le sommeil du MCU, c'est optimiser 3 % du budget — ça n'en vaut pas la peine.
Le deep sleep fait tomber la moitié du schéma : plus de latch, plus de RTC externe, plus d'isolateur de bus, plus de load switch GNSS. C'est le bon compromis complexité / autonomie pour une petite série.
graph TD
subgraph ALIM["Alimentation — 3,6 V, jamais coupée"]
BAT1[Saft LSH20<br/>3,6 V] --> OR{ORing Schottky<br/>anti-recharge}
BAT2[Saft LSH20<br/>3,6 V] --> OR
OR --> VBAT[[Rail VBAT 3,6 V]]
VBAT --> BOOST[Boost 5,0 V<br/>faible Iq]
BOOST --> V5[[Rail V5 5,0 V]]
SC[(Supercap 10 F<br/>+ 1000 µF faible ESR)] --- V5
end
subgraph LOGIC["Traitement"]
ESP[ESP32-C3 supermini<br/>deep sleep ~5 µA<br/>LED d'alim dessoudée]
GNSS[u-blox MAX-M10N<br/>veille ~15 µA BBR]
LS[Level shifter<br/>3,3 vers 5 V]
end
subgraph SAT["Liaison satellite"]
RB[RockBLOCK 9603<br/>pic TX 450 mA / veille 100 µA]
end
ANTG([Antenne GNSS<br/>déportée, plan de masse]) --- GNSS
ANTI([Antenne Iridium<br/>patch]) --- RB
%% Distribution d'énergie
VBAT -->|3,6 V - 100 µF| ESP
VBAT -->|3,6 V| GNSS
V5 -->|5,0 V| RB
%% Signaux logiques
GNSS <-->|UART NMEA/UBX| ESP
ESP <-->|UART AT+SBDIX| RB
ESP -->|OnOff| LS
LS -->|OnOff 5 V| RB
Lecture : le rail VBAT 3,6 V (sortie de l'ORing des deux LSH20) alimente directement l'ESP et le GNSS ; seul le RockBLOCK passe par le boost 5 V, où la supercap encaisse le pic de 450 mA. Les liaisons UART et le pilotage OnOff (via level shifter) sont les seuls signaux logiques.
Composants¶
| Bloc | Référence | Rôle |
|---|---|---|
| MCU | ESP32-C3 supermini | Séquencement, deep sleep, timer interne |
| GNSS | u-blox MAX-M10N (repli MAX-M10S) | Position, recale l'horloge sur l'UTC |
| Satellite | RockBLOCK 9603 + câble Molex | Transmission SBD, jamais coupé |
| Batterie | 2× Saft LSH20 en parallèle | 3,6 V / 26 Ah / 94 Wh |
| Conversion | Boost 5,0 V faible Iq + supercap 10 F | Encaisse le pic de 450 mA |
| Protection | 2× Schottky ORing + level shifter | Redondance, anti-recharge, pilotage OnOff 5 V |
Bilan énergétique¶
Chiffres constructeur : RockBLOCK TX réussie 2,8 A·s / TX échouée 3,8 A·s / sleep 100 µA ; MAX-M10N < 25 mW en fix, ~15 µA en software backup ; ESP32-C3 ~22 mA actif, ~5 µA deep sleep.
| Config | Conso/an | Autonomie (94 Wh) |
|---|---|---|
| Latch, MCU coupé (abandonné) | ~29 Wh | ~3,2 ans |
| Deep sleep, LED dessoudée | ~29 Wh | ~3,2 ans |
| Deep sleep, LED laissée | ~80 Wh | ~1,2 an |
Le geste le plus rentable du projet : dessouder la LED d'alimentation de la supermini (~1,5 mA → 51 Wh/an). 20 secondes de fer à souder = +2 ans d'autonomie. Plus rentable que d'ajouter des piles.
Note
Le latch coupé n'économise que les ~5 µA du MCU (soit ~0,16 Wh/an) ; il tombe donc au même niveau que le deep sleep. C'est bien ce qui a motivé son abandon — l'ancienne valeur de 21 Wh reposait sur des hypothèses de veille différentes.
Choix de la batterie¶
| Chimie | Cellule | Énergie | Temp. | Auto-décharge | Verdict |
|---|---|---|---|---|---|
| Li-SOCl₂ spiralée | Saft LSH20 (D) | 47 Wh | −60/+85 °C | <1 %/an | ★ Retenu |
| Li-SOCl₂ bobine | LS33600, TL-5930 | 60–68 Wh | −55/+85 °C | <1 %/an | Courant trop faible |
| Li-FeS₂ | Energizer L91 (AA) | 4,5 Wh | −40/+60 °C | 15 ans à 90 % | Plafond thermique bas |
| Li-ion / LiFePO₄ | 18650 | 5–12 Wh | −20/+60 °C | 2–3 %/mois | Auto-décharge rédhibitoire |
La construction spiralée du LSH20 encaisse le pic de 450 mA du RockBLOCK. Deux cellules en parallèle (pas en série) pour une dégradation gracieuse : une cellule morte ne tue pas la balise.
Points de vigilance PCB¶
- Découplage RockBLOCK : 1000 µF faible ESR à son entrée + supercap 10 F devant le boost — c'est ce qui absorbe le pic de 450 mA et évite le brownout de l'ESP.
- 100 µF au plus près de la broche 3V3 de l'ESP32-C3.
- Antenne GNSS déportée, plan de masse continu entre les deux — le vrai facteur de réussite des transmissions sur une balise qui flotte à moitié retournée, plus déterminant que le choix de la cellule.
- Level shifter sur OnOff du RockBLOCK (< 1 µA de fuite), sinon le modem s'éteint seul.
- Schottky d'ORing entre les deux branches batterie : redondance + barrière anti-recharge (une Li-SOCl₂ rechargée part en incendie).
- Pas de port USB sur la balise finale (caisson étanche) : prévoir un connecteur de programmation interne, accessible carte nue avant fermeture.
- Dessouder la LED d'alim de la supermini (voir bilan énergétique).
Ce qu'on a abandonné (et pourquoi)¶
| Idée | Raison de l'abandon |
|---|---|
| TPL5110 comme séquenceur | Période fixée par résistance, non reprogrammable (besoin de 3 h ET 30 min) |
| RTC RV-3028 externe | Le timer de deep sleep de l'ESP suffit, recalé par le GNSS |
| Latch P-MOS (coupure du MCU) | Optimise 3 % du budget ; le deep sleep à 5 µA suffit largement |
| ATtiny1614 / SAMD21 | Pas d'USB natif ; l'ESP32-C3 est plus simple, surcoût conso marginal |
| Energizer L91 (Li-FeS₂) | Plafond thermique +60 °C et courant de pointe trop faible |
| SPOT Trace (produit fini) | Trous de couverture Globalstar en plein Atlantique |
Sourcing¶
- MAX-M10N affiché « no longer available » chez u-blox : vérifier la dispo réelle, replis MAX-M10S / MAX-M10M (mêmes ordres de grandeur).
- Saft LSH20 : versions à pattes (LSH20-STS) ou support, jamais de soudure directe. Transport = UN3090, classe 9, interdit en avion passager.
- Nordic PPK2 (~100 €) indispensable pour mesurer les µA réels : sans lui, on ne sait pas si la veille est à 30 µA ou à 4 mA — soit 2 ans d'écart.
- Dépassivation Li-SOCl₂ : prévoir une routine « burn » (~100 mA / 30 s) au premier réveil après longue inactivité.
Important¶
Fausse indépendance
Si la balise partage batterie ou antenne avec le système principal, elle ne protège plus.
Exemples & sources¶
- Pinta, OpenTransat 2016 : « jamais retrouvés » → l'argument pour une balise indépendante
- Gortobot V2 : retrouvé aux Açores grâce à un tracker
- Epsom College : tracker + Mayday
- Cahier des charges interne : priorité n°1 — « on ne perd jamais le bateau en silence »