2025

Centrale inertielle

En binôme, j’ai conçu une télécommande inertielle capable de piloter un robot mobile à partir des mouvements de la main.

ICM-20948ESP32-C3ESP-NOWFiltre de Mahony

Validation du prototype

Démonstration vidéo du projet finalisé

Cette démonstration valide le travail réalisé depuis l’acquisition de l’orientation de la main jusqu’à la commande proportionnelle des moteurs du robot.

Regarder sur YouTube ↗

Contexte

J’ai réalisé cette SAÉ (Situation d’apprentissage et d’évaluation) en binôme pendant ma deuxième année de BUT GEII, parcours Électronique et Systèmes Embarqués. Elle m’a demandé d’intégrer une centrale inertielle dans un système complet, de la mesure jusqu’au déplacement du robot.

Objectif

L’objectif était d’apprendre à exploiter un capteur de type IMU (unité de mesure inertielle) afin d’acquérir et d’interpréter les mouvements, puis de découvrir la communication sans fil entre deux microcontrôleurs de la famille ESP pour piloter le robot à distance.

Problématique

Comment déterminer l’orientation de la main alors que l’IMU ne fournit pas directement une position, mais notamment une vitesse angulaire sur chacun de ses axes, puis transformer ces mesures bruitées en commandes stables, réactives et suffisamment fiables pour contrôler un robot en temps réel ?

Cahier des charges

  • Acquérir les neuf axes de l’IMU ICM-20948 par bus I²C
  • Estimer en temps réel le roulis, le tangage et le lacet
  • Établir une communication directe entre deux ESP32-C3
  • Commander progressivement les moteurs selon l’inclinaison de la main
  • Afficher l’orientation, la direction et l’état de la liaison sur un écran OLED
  • Concevoir deux cartes électroniques dédiées à l’émetteur et au récepteur

Matériel utilisé

  • Centrale inertielle 9 axes ICM-20948
  • Deux microcontrôleurs XIAO ESP32-C3 Mini
  • Écran OLED piloté en I²C
  • Robot mobile à quatre roues et moteurs à courant continu
  • Pont en H L298N pour la commande de puissance
  • Cartes électroniques émettrice et réceptrice réalisées sur mesure
Schéma électronique de la télécommande inertielle avec l’ESP32-C3, l’ICM-20948 et l’écran OLED
Schéma électronique de la télécommande : ESP32-C3, IMU ICM-20948, écran OLED et alimentation
Rendu 3D de la carte électronique principale de la centrale inertielle
Rendu 3D du PCB principal avant fabrication
Carte électronique assemblée dans le boîtier rouge de la centrale inertielle
Carte assemblée et intégrée dans le boîtier

Architecture du système

J’ai travaillé sur une architecture séparant l’émetteur et le récepteur. L’émetteur acquiert l’ICM-20948 en I²C, calcule l’orientation et affiche les valeurs sur l’OLED. Le récepteur transforme ensuite les angles reçus par ESP-NOW en signaux PWM pour les moteurs.

Communication ESP-NOW entre les deux cartes XIAO ESP32-C3 de la centrale inertielle
Liaison directe ESP-NOW entre la télécommande inertielle et le récepteur du robot

Développement

J’ai suivi une démarche incrémentale avec mon binôme : comparaison des composants et protocoles, essais sur breadboard, estimation d’attitude, création d’un outil de visualisation 3D, conception des PCB puis intégration progressive des programmes émetteur et récepteur.

Vue éclatée de la conception 3D du boîtier de la centrale inertielle
Conception 3D du boîtier et de son couvercle
Gros plan sur l’écran OLED et le capteur ICM-20948 intégrés au boîtier
Intégration de l’écran OLED et de l’IMU ICM-20948

Conception mécanique

Explorer le modèle 3D

L’aperçu reste compact pour faciliter la lecture. Faites glisser le modèle pour le faire pivoter, utilisez la molette ou les boutons pour zoomer, puis ouvrez-le en plein écran pour l’explorer confortablement.

Télécharger le STL ↓

Chargement du modèle 3D…

Molette : zoomer et dézoomer

Mise au point du système

Visualiser l’orientation en 3D

J’ai utilisé cette représentation 3D pour comparer en temps réel les mouvements physiques et les angles calculés. Elle m’a aidé à identifier la dérive, contrôler les axes puis ajuster la calibration et les paramètres du filtre de Mahony avant de connecter le robot.

Voir le test sur YouTube ↗

Difficultés rencontrées

J’ai principalement dû comprendre le bruit et la dérive d’une IMU, calibrer correctement les axes, conserver une liaison radio stable et relier des angles abstraits à des déplacements naturels du robot.

Solutions apportées

Nous avons utilisé le filtre de Mahony pour fusionner les capteurs, ajouté une zone morte autour de la position neutre et retenu ESP-NOW après comparaison avec HTTP et WebSocket. L’écran OLED et le cube 3D m’ont servi d’outils de diagnostic pendant les réglages.

Résultats

J’ai obtenu avec mon binôme un prototype fonctionnel, réactif et stable sur les directions principales. Les diagonales restaient moins précises : ce résultat m’a appris à présenter honnêtement les limites d’un prototype et à identifier un axe d’amélioration mesurable.

Compétences acquises

  • Acquisition et calibration d’une IMU MEMS 9 axes
  • Fusion de capteurs et estimation d’attitude avec le filtre de Mahony
  • Programmation embarquée sur ESP32-C3
  • Communication radio point à point avec ESP-NOW
  • Conception, routage et test de cartes électroniques
  • Commande PWM de moteurs et intégration d’une IHM OLED
  • Analyse fonctionnelle, rédaction technique et travail en binôme

Compte rendu

Consultez le compte rendu complet de 70 pages consacré à l’étude théorique, au choix des composants, aux schémas, à la conception des cartes, aux programmes et aux essais. Le diaporama présente une synthèse illustrée des principales étapes et des résultats du projet.