Table des matières:

Magnétomètre portable : 7 étapes (avec photos)
Magnétomètre portable : 7 étapes (avec photos)

Vidéo: Magnétomètre portable : 7 étapes (avec photos)

Vidéo: Magnétomètre portable : 7 étapes (avec photos)
Vidéo: Sécurité Android : désactiver tous les capteurs 2024, Juillet
Anonim
Magnétomètre portable
Magnétomètre portable

Un magnétomètre, parfois aussi appelé Gaussmètre, mesure la force du champ magnétique. C'est un outil essentiel pour tester la force des aimants permanents et des électro-aimants et pour comprendre la forme du champ des configurations d'aimants non triviales. S'il est suffisamment sensible, il peut également détecter si des objets en fer se sont magnétisés. Les champs variables dans le temps provenant des moteurs et des transformateurs peuvent être détectés si la sonde est suffisamment rapide.

Les téléphones portables contiennent généralement un magnétomètre à 3 axes, mais ils ont été optimisés pour le champ magnétique terrestre faible de ~1 Gauss = 0,1 mT et saturent à des champs de quelques mT. L'emplacement du capteur sur le téléphone n'est pas évident, et il n'est pas possible de placer le capteur à l'intérieur d'ouvertures étroites telles que l'alésage d'un électro-aimant. De plus, vous ne voudrez peut-être pas approcher votre smartphone d'aimants puissants.

Ici, je décris comment fabriquer un magnétomètre portable simple avec des composants communs: un capteur à effet Hall linéaire, un Arduino, un écran et un bouton-poussoir. Le coût total est inférieur à 5 EUR, et la sensibilité d'environ 0,01 mT sur une plage de -100 à +100 mT est meilleure que ce à quoi on pourrait s'attendre naïvement. Pour obtenir des lectures absolues précises, vous devrez le calibrer: je décris comment le faire avec un long solénoïde fait maison.

Étape 1: La sonde à effet Hall

L'effet Hall est un moyen courant de mesurer les champs magnétiques. Lorsque les électrons traversent un conducteur dans un champ magnétique, ils sont déviés latéralement et créent ainsi une différence de potentiel sur les côtés du conducteur. Avec le bon choix de matériau semi-conducteur et de géométrie, un signal mesurable est produit qui peut être amplifié et fournir une mesure d'une composante du champ magnétique.

J'utilise le SS49E car il est bon marché et largement disponible. Quelques points à noter dans sa fiche technique:

  • Tension d'alimentation: 2,7-6,5 V, donc parfaitement compatible avec le 5V de l'Arduino.
  • Sortie nulle: 2,25-2,75V, donc environ à mi-chemin entre 0 et 5V.
  • Sensibilité: 1,0-1,75 mV/Gauss, il faudra donc un étalonnage pour obtenir des résultats précis.
  • Tension de sortie 1.0V-4.0V (si utilisé à 5V): bien couvert par l'Arduino ADC.
  • Portée: +-650G minimum, +-1000G typique.
  • Temps de réponse 3mus, il peut donc sampler à quelques dizaines de kHz.
  • Courant d'alimentation: 6-10mA, suffisamment faible pour fonctionner sur batterie.
  • Erreur de température: ~0,1% par degré C. Cela semble peu mais une dérive de décalage de 0,1% donne une erreur de 3mT.

Le capteur est compact, ~4x3x2mm, et mesure la composante du champ magnétique qui est perpendiculaire à sa face avant. Il produira un positif pour les champs qui pointent de l'arrière vers l'avant, par exemple lorsque l'avant est amené à un pôle sud magnétique. Le capteur a 3 fils, +5V, 0V et une sortie de gauche à droite, vu de face.

Étape 2: Matériel requis

  • Capteur Hall linéaire SS49E. Ceux-ci coûtent ~1EUR pour un ensemble de 10 en ligne.
  • Arduino Uno avec carte prototype pour prototype ou Arduino Nano (sans en-têtes !) pour version portable
  • Écran OLED monochrome SSD1306 de 0,96" avec interface I2C
  • Un bouton poussoir momentané

Pour construire la sonde:

  • Un vieux stylo à bille ou autre tube creux solide
  • 3 fils toronnés un peu plus longs que le tube
  • 12 cm de tube rétractable mince (1,5 mm)

Pour le rendre portable:

  • Une grande boîte de tic-tac (18x46x83mm) ou similaire
  • Un clip de batterie 9V
  • Un interrupteur marche/arrêt

Étape 3: Première version: Utilisation d'une carte prototype Arduino

Première version: Utilisation d'une carte prototype Arduino
Première version: Utilisation d'une carte prototype Arduino
Première version: Utilisation d'une carte prototype Arduino
Première version: Utilisation d'une carte prototype Arduino

Prototypez toujours d'abord pour vérifier que tous les composants fonctionnent et que le logiciel est fonctionnel ! Suivez l'image et pour connecter la sonde Hall, l'écran et le bouton null: La sonde Hall doit être connectée à +5V, GND, A0 (de gauche à droite). L'écran doit être connecté à GND, +5V, A5, A4 (de gauche à droite). Le bouton doit établir une connexion entre la terre et A1 lorsqu'il est enfoncé.

Le code a été écrit et téléchargé à l'aide de la version 1.8.10 de l'IDE Arduino. Il nécessite d'installer les bibliothèques Adafruit_SSD1306 et Adafruit_GFX Téléchargez le code dans le croquis ci-joint.

L'écran doit afficher une valeur DC et une valeur AC.

Étape 4: Quelques commentaires sur le code

N'hésitez pas à sauter cette section si vous n'êtes pas intéressé par le fonctionnement interne du code.

La caractéristique clé du code est que le champ magnétique est mesuré 2000 fois de suite. Cela prend environ 0,2-0,3 secondes. En gardant une trace de la somme et de la somme au carré des mesures, il est possible de calculer à la fois la moyenne et l'écart type, qui sont rapportés en tant que DC et AC. En faisant la moyenne d'un grand nombre de mesures, la précision augmente, théoriquement de sqrt(2000)~45. Donc avec un ADC 10 bits, on peut atteindre la précision d'un ADC 15 bits ! Cela fait une grande différence: 1 compte ADC correspond à 5 mV, soit ~ 0,3 mT. Grâce au moyennage, nous améliorons la précision de 0.3mT à 0.01mT.

En prime, nous obtenons également l'écart type, les champs fluctuants sont donc identifiés comme tels. Un champ fluctuant à 50 Hz effectue environ 10 cycles complets pendant le temps de mesure, de sorte que sa valeur CA peut être bien mesurée.

Après avoir compilé le code, j'obtiens les commentaires suivants: Sketch utilise 16852 octets (54%) d'espace de stockage de programme. Le maximum est de 30720 octets. Les variables globales utilisent 352 octets (17 %) de mémoire dynamique, laissant 1696 octets pour les variables locales. Le maximum est de 2048 octets.

La plupart de l'espace est occupé par les bibliothèques Adafruit, mais il y a beaucoup d'espace pour d'autres fonctionnalités

Étape 5: Préparation de la sonde

Préparation de la sonde
Préparation de la sonde
Préparation de la sonde
Préparation de la sonde

Il est préférable de monter la sonde à l'extrémité d'un tube étroit: de cette façon, elle peut être facilement placée et maintenue en position même à l'intérieur d'ouvertures étroites. N'importe quel tube creux d'un matériau non magnétique fera l'affaire. J'ai utilisé un vieux stylo à bille qui a donné un ajustement parfait.

Préparez 3 fils flexibles minces qui sont plus longs que le tube. J'ai utilisé 3 cm de câble plat. Il n'y a pas de logique dans les couleurs (orange pour +5V, rouge pour 0V, gris pour signal) mais avec seulement 3 fils dont je me souviens.

Pour utiliser la sonde sur le prototype, soudez quelques morceaux de fil de raccordement à âme pleine dénudé à l'extrémité et protégez-les avec un tube thermorétractable. Plus tard, cela peut être coupé afin que les fils de la sonde puissent être soudés directement à l'Arduino.

Étape 6: Construire un instrument portable

Construire un instrument portable
Construire un instrument portable

Une batterie 9V, l'écran OLED et un Arduino Nano se logent confortablement dans un (grand) boîtier Tic-Tac. Il a l'avantage d'être transparent, à l'écran est bien lisible même à l'intérieur. Tous les composants fixes (la sonde, l'interrupteur marche/arrêt et le bouton-poussoir) sont fixés sur le dessus, de sorte que l'ensemble puisse être sorti de la boîte pour changer la batterie ou mettre à jour le code.

Je n'ai jamais été fan des piles 9V: elles sont chères et ont peu de capacité. Mais mon supermarché local a soudainement vendu la version NiMH rechargeable pour 1 EUR pièce, et j'ai découvert qu'elles peuvent être facilement chargées en les gardant sur 11V via une résistance de 100 Ohm pendant la nuit. J'ai commandé des clips pas cher mais ils ne sont jamais arrivés, j'ai donc démonté une vieille pile 9V pour transformer le dessus en clip. La bonne chose à propos de la batterie 9V est qu'elle est compacte et que l'Arduino fonctionne bien dessus en la connectant à Vin. Sur +5V il y aura un 5V régulé disponible pour l'OLED et pour la sonde Hall.

La sonde Hall, l'écran OLED et le bouton poussoir sont connectés de la même manière que pour le prototype. Le seul ajout est un bouton on/off entre la pile 9V et l'Arduino.

Étape 7: étalonnage

Calibrage
Calibrage
Calibrage
Calibrage
Calibrage
Calibrage

La constante d'étalonnage dans le code correspond au nombre indiqué dans la fiche technique (1,4 mV/Gauss), mais la fiche technique permet une large plage (1,0-1,75 mV/Gauss). Pour obtenir des résultats précis, nous devrons calibrer la sonde !

La façon la plus simple de produire un champ magnétique d'une intensité bien déterminée est d'utiliser un solénoïde: l'intensité de champ d'un long solénoïde est: B=mu0*n*I. La perméabilité au vide est une constante de la nature: mu0=1.2566x10^-6 T/m/A. Le champ est homogène et ne dépend que de la densité des enroulements n et du courant I, tous deux mesurables avec une bonne précision (~1%). La formule citée est dérivée pour un solénoïde infiniment long, mais est une très bonne approximation pour le champ au centre tant que le rapport de la longueur au diamètre, L/D>10.

Pour faire un solénoïde approprié, prenez un tube cylindrique creux avec L/D > 10 et appliquez des enroulements réguliers avec du fil émaillé. J'ai utilisé un tube en PVC d'un diamètre extérieur de 23 mm et j'ai enroulé 566 enroulements, d'une portée de 20,2 cm, ce qui donne n=28/cm=2800/m. La longueur du fil est de 42 m et la résistance de 10,0 Ohm.

Alimentez la bobine et mesurez le flux de courant avec un multimètre. Utilisez soit une alimentation en tension variable, soit une résistance de charge variable pour garder le courant sous contrôle. Mesurez le champ magnétique pour quelques réglages actuels et comparez-le aux lectures.

Avant calibration, j'ai mesuré 6,04 mT/A alors que la théorie prédit 3,50 mT/A. J'ai donc multiplié la constante d'étalonnage de la ligne 18 du code par 0,58. Le magnétomètre est maintenant calibré !

Défi d'aimants
Défi d'aimants
Défi d'aimants
Défi d'aimants

Finaliste du défi des aimants

Conseillé: