Mesures d'accélérométrie radio-synchronisées

À la suite des premiers essais d’analyse modale avec des systèmes embarqués low cost et de la démonstration de la synchronisation radio entre plusieurs boîtiers (les deux derniers articles du blog), nous avons mené une expérience complémentaire visant à valider la cohérence temporelle des mesures acquises simultanément par deux systèmes embarqués, soumis aux mêmes accélérations.

Bertrand Selva

4/23/20256 min read

Objectif

L’objectif principal était de vérifier la stabilité de la synchronisation radio entre deux boîtiers de mesure de l’accélération. Ces boîtiers (cf. précédents articles) sont utilisés pour l’analyse modale de structures. On est encore dans la phase de caractérisation du dispositif et des performances de synchronisation. Après les expériences autour de la poutre modèle, on utilise ici un pot vibrant. L’idée est de soumettre deux boîtiers à une excitation mécanique commune et contrôlée, et de mesurer précisément la différence de phase entre les signaux enregistrés. Si tout fonctionne correctement, on doit obtenir une différence de phase très faible.

Dispositif expérimental

Deux boîtiers, embarquant chacun un accéléromètre BMI160 et un ESP32-S3, ont été fixés sur une nacelle accrochée à un pot vibrant. Ce montage permet de générer une excitation harmonique dans une gamme de fréquences contrôlées, tout en garantissant que les deux capteurs soient soumis à un même mouvement. Concrètement, on a réalise un test de synchronisation sur une durée d’environ 24 h avec une fréquence d’excitation de 1 Hz et une amplitude de mouvement de l’ordre du centimètre (cela conduit à des accélérations de ± 3,6 mg). Les deux essais à venir utiliseront respectivement les fréquences de 10 Hz et 100 Hz pour lesquelles on ajustera l'amplitude pour ne pas saturer le capteur. En effet, le capteur fonctionne sur une gamme ± 2g et l’accélération linéaire varie comme le carré de la pulsation de l'excitation harmonique. A 10 hz, à amplitude égale, on ferait x100, à 100 Hz, x10000. Mais concrètement, on ajuste l'amplitude du déplacement harmonique pour garder des accélérations de l'ordre de quelques dizaine de mg. Cela fait quand même des essais sur trois décades, ce qui est satisfaisant pour un expérimentateur. Ces résultats sont en cours d'acquisition....

Pour la limite haute en fréquence, la fréquence d’échantillonnage du capteur nous limite. On échantillonne à 1600 Hz. On aurait pu aller un peu plus haut que 100 Hz, mais ce n’est pas vraiment utile, car la finalité reste le SHM, avec des structures vibrant à quelques Hz.
Pour les fréquences plus basses, on est limité par le bruit du capteur et le manque d’amplitude de déplacement, qui conduit à un signal trop faible et/ou trop bruité : c’est la limite basse. On aurait pu gratter un peu, mais mon GBF ne permet malheureusement pas de profiter du débattement maximal autorisé par le pot. Vous allez voir dans les résultats présentés ici que le signal est exploitable mais pas super propre...

Traitement

Les signaux d’accélération issus des deux boîtiers ont été alignés temporellement grâce à la méthode de synchronisation radio déjà présentée dans les précédents articles. Pour mémoire, cette méthode repose sur l’émission d’un signal radio de synchronisation échangé entre un ESP32-S3 maitre et les deux ESP32-S3 des boitiers de mesures. L'échange d'un marquage temporel local basé sur leurs timers internes permet de calculer l'offset entre les différentes horloges...
Une fois les données resynchronisés, un prétraitement a été effectué pour isoler la réponse du système à la fréquence d’excitation imposée. Un filtrage passe-bande a été appliqué à chaque signal, centré sur la fréquence d’excitation et avec une bande suffisamment étroite pour atténuer les composantes hors bande, tout en conservant une réponse fidèle au signal harmonique.
Sur les signaux filtrés, la différence de phase instantanée entre les deux boîtiers a été estimée par fit d'une fonction harmonique et estimation du "glissement" temporel entre les deux signaux.
Cette approche présente l’avantage de ne pas être sensible au bruit et d'être facile à implémenter.

Résultats

Les résultats mettent en évidence une remarquable stabilité de la phase relative entre les deux signaux sur des temps de plusieurs dizaines d'heures. Les graphiques ci-dessous présentent les signaux resynchronisés sur l’ensemble de la séquence de 20 heures pour l’essai réalisé à 1 Hz. L’écart type moyen de la différence de phase est inférieur au degré, ce qui confirme à la fois la précision temporelle de la synchronisation et la cohérence des acquisitions.
En pratique, la variance observée provient davantage du bruit intrinsèque des signaux que d’un quelconque glissement temporel.
C'est donc pas les résultats expérimentaux les plus adaptés au but recherché : il aurait fallu des signaux plus propres, avec une amplitude de déplacement plus importante, pour identifier plus finement les différences de phases. Nous corrigerons cela pour la prochaine série de mesures.

Puis un drame, qui n'en est pas un en fait

Ça marchait sauf pour un couple de capteurs ! Où j'obtenais un écart, systématique et reproductible, constant au cours du temps, d'environ 17 ms tandis que l'autre couple montrait un déphasage résiduel inférieur à 100 µs.
J'ai d'abord beaucoup pesté contre plein de trucs, incluant les BMI160. En réalité, c'est contre moi-même que j'aurais du pester car les BMI160 n'était pas configurés avec le même pipeline numérique. Il existe des modes de fonctionnement permettant de lisser les mesures avec 4, 8, 16, 32, jusqu'à 128 valeurs précédentes au sein du capteur.
Le mode le plus "raw" utilise 4 mesures (celui que j'ai utilisé sur la plupart de mes tests). Je fais des acquisitions à 1600 Hz. J'avais oublié, mais j'avais pratiqué des essais avec un lissage impliquant 32 valeurs pour un des boitiers d’acquisition. 32 - 4 c'est environ 28 échantillons. 28 mesures acquises à 1600 Hz, ca fait 28/1600 s, environ 17,5 ms.
Voilà l'origine d'une matinée perdue à tout vérifier et de 17 ms d'écart.
Mais c'est finalement très satisfaisant : la synchronisation radio est suffisamment précise pour mettre en évidence ce type d’écart lié aux seuls traitements internes du capteur.

Je souhaite utiliser un signal aussi brut que possible en sortie capteur, car l'idée est de réaliser un post-traitement en dehors du système embarqué. Étant donné que le reste du traitement s'effectue sous MATLAB/Octave, je tire parti de cet environnement pour appliquer un traitement du signal qui serait difficile à supporter pour l'embarqué : j'applique un filtre FIR passe bande puis je réduis la bande passante du capteur par décimation, afin de diminuer le bruit et améliorer la qualité de la mesure (un peu comme fait le BMI160 avec son traitement interne, mais de manière plus contrôlé).

Conclusion

Les tests menés avec une excitation contrôlée sur pot vibrant confirment la stabilité temporelle de la synchronisation radio entre deux boîtiers de mesure à base d’ESP32-S3 et d’accéléromètres BMI160. Sur trois décades de fréquence (1 Hz, 10 Hz, 100 Hz), les signaux restent parfaitement cohérents, avec des variations de phase négligeables, ce qui valide pleinement l’approche pour des applications de type SHM à basse fréquence (au moins pour l'aspect synchro, il reste encore à discuter la gestion du bruit de mesure).

Dans les systèmes d’analyse modale, la pratique dominante repose sur des synchronisations matérielles explicites : horloges partagées, signaux de déclenchement, interfaces comme FSYNC ou PPS. Ces solutions sont robustes, mais lourdes, et peu compatibles avec des dispositifs embarqués (parfois dans des zones non éclairées par le GPS), distribués ou low cost.

Ici, un choix différent est fait.
En misant sur une synchronisation radio légère avec un protocope "maison", sans câblage, nous montrons qu’il est possible d’atteindre une très bonne cohérence temporelle, compatible avec le SHM. Les mesures sur 20 heures à 1 Hz présentent un écart de phase maximal de ±0,23°.

Pour anecdote, j'ai parlé du seul écart notable — un déphasage fixe de 17 ms sur un couple de capteurs — qui s’explique entièrement par la configuration interne du BMI160 (lissage numérique étendu), et non par un défaut du système. Cette observation ne remet pas en cause la méthode ; elle la valide au contraire, en prouvant sa capacité à révéler des effets invisibles autrement. Le pipeline de traitement de la donnée est robuste et efficace. Et les résultats expérimentaux présentés ici viennent confirmer les très bons résultats rencontrés durant les tests préliminaires sur la poutre modèle : https://selvasystems.net/analyse-modale-avec-des-systemes-embarques-low-cost.

Au bout de 1000s :

Au bout de 3750s :

A la fin du cycle d'acquisition, après 68200s (environ 20h) :