Librairie pour le MMC5603 de MEMSIC pour le framework Espressif
Présentation de la librairie open source pour le capteur magnétique MMC5603, développée pour le framework Espressif.
Bertrand Selva
11/9/20243 min read


Dans le cadre d’un projet j’ai dû utiliser le MEMSIC MMC5603 avec le framework Espressif. Cependant, il n'y avait aucune librairie existante.
Présentation de la Librairie MMC5603 pour le Framework Espressif
Cette librairie a été conçue pour les microcontrôleurs Espressif, comme les ESP32 et ESP32-S3. Elle fournit des fonctions de base pour l'initialisation, la configuration et la lecture des données du capteur, ainsi que des fonctionnalités avancées telles que la gestion des modes de calibration SET/RESET automatique ou manuel. Vous pouvez retrouver le dépôt GitHub ici : mmc5603-library-espressif. Ce dépôt contient le code source de la librairie, mais également des exemples d’utilisation et un guide de démarrage rapide pour faciliter l'intégration.
Présentation du Capteur MEMSIC MMC5603
Le capteur MEMSIC MMC5603 utilise la technologie AMR (Anisotropic Magneto-Resistive) pour la mesure des champs magnétiques, une technique qui repose sur les propriétés des matériaux magnétiques anisotropes, tels que le permalloy, pour changer de résistance en réponse à un champ magnétique externe. Ce changement de résistance permet de détecter avec précision l’intensité et la direction du champ appliqué. Pour maximiser la sensibilité et le rapport signal/bruit, le capteur est organisé en pont de Wheatstone et utilise un CAN 20 bits.
L’AMR présente cependant une particularité : il est sensible aux champs magnétiques forts et aux variations de température, qui peuvent entraîner des dérives de mesure dues à une polarisation résiduelle. Ce phénomène est connu sous le nom de « magnétisation résiduelle », où le matériau conserve une orientation magnétique après exposition à un champ intense, faussant les mesures.
Pour compenser cette polarisation, le MMC5603 intègre un cycle de SET/RESET. Voici comment cela fonctionne :
Cycle SET : Une impulsion magnétique dans une direction définie réaligne l’orientation magnétique du capteur. Cela crée un point de référence initial en « réinitialisant » les résistances magnétiques de façon uniforme.
Cycle RESET : Une impulsion magnétique opposée inverse temporairement cette orientation, fournissant une deuxième mesure avec la polarisation inversée.
Grâce à ces deux cycles, il est possible de mesurer et de compenser automatiquement le décalage (offset) causé par les changements thermiques ou les champs magnétiques résiduels. En utilisant les valeurs mesurées avant et après le cycle SET/RESET, il devient possible de soustraire l’offset pour obtenir une mesure précise du champ magnétique.
Plusieurs modes de fonctionnement existe pour le capteur, permettant un calcul manuel de l'offset, son intégration automatique, il est possible de configurer la fréquence de réactualisation de l'offset, etc. Ce processus de calibration périodique rend le capteur robuste malgré les fluctuations thermiques.
Par ailleurs il est également possible de définir le temps pris pour une mesure (il y a certainement un filtre passe bas dans l'appareil). Toutes ces fonctionnalités sont paramétrables dans la librairie.
Le capteur MMC5603NJ mesure les champs magnétiques dans une plage de ±30 Gauss avec une résolution de 0,0625 mG par LSB en mode 20 bits. Son bruit RMS total varie en fonction de la fréquence d'acquisition : il est de 2 mG à 75 Hz et peut atteindre 7 mG à 1000 Hz. Le champ magnétique terrestre est d'environ 500 mG (50 000 nT), avec des variations saisonnières de l'ordre de 0,5 à 2 mG, des variations journalières associées aux cycles circadiens de 0,1 à 0,2 mG, et des fluctuations dues à des phénomènes tels que les tempêtes solaires pouvant atteindre plusieurs centaines de mG. Le bruit du capteur rend à priori la mesure des variations fines de l'intensité du champs terrestre impossible. Nous verrons cela dans le cadre du prochain projet présenté ici.
Documentation du capteur
https://www.memsic.com/Public/Uploads/uploadfile/files/20220119/MMC5603NJDatasheetRev.B.pdf
Innovation
Systèmes embarqués, intelligence artificielle, deep learning, solutions sur mesure, efficacité, innovation, sécurité, fiabilité.
Contact
contact@selvasystems.net
SIREN 939271441
© 2025. All rights reserved.
© 2025. Tous droits réservés.