Assemblage d'un magnétomètre portable

Traduction d'un article du site des supports de formation Instructables Un



magnétomètre , parfois aussi appelé gaussomètre, mesure la force d'un champ magnétique [ dans ce cas, induction magnétique / env. perev. ]. Il s'agit d'un appareil nécessaire pour mesurer la force des aimants permanents et des électro-aimants, ainsi que pour établir la forme du champ des combinaisons non triviales d'aimants. Il est suffisamment sensible pour détecter l'aimantation d'objets métalliques. Si la sonde fonctionne assez rapidement, elle pourra détecter les champs variant dans le temps des moteurs et des transformateurs.

Les téléphones mobiles ont généralement un magnétomètre à trois axes, mais il est optimisé pour un faible champ magnétique terrestre avec une force de 1 Gauss = 0,1 mT [ millilitres] et est saturé dans les champs avec induction de plusieurs mT. Il n'est généralement pas clair où exactement ce capteur est situé dans le téléphone, et il est souvent impossible de le placer à l'intérieur d'un goulot d'étranglement tel qu'une coupure magnétique. De plus, il vaut mieux ne pas du tout amener le smartphone à des aimants puissants.

Dans cet article, je décrirai comment fabriquer le magnétomètre portable le plus simple à partir de composants communs: nous avons besoin d'un capteur Hall linéaire, d'un Arduino, d'un écran et d'un bouton. Le coût total de l'appareil ne dépasse pas 5 € et il mesurera l'induction de -100 à +100 mT avec une erreur de 0,01 mT - bien mieux que ce à quoi vous pourriez vous attendre. Pour obtenir des indicateurs absolus précis, vous devrez le calibrer: je vais décrire comment cela se fait à l'aide d'un long solénoïde fait maison.

Étape 1: capteur à effet Hall


L'effet Hall est souvent utilisé pour mesurer les champs magnétiques. Lorsque les électrons traversent un conducteur placé dans un champ magnétique, ils sont transportés sur le côté, ce qui fait apparaître une différence de potentiel transversale dans le conducteur. En choisissant correctement le matériau et la géométrie du semi-conducteur, vous pouvez obtenir un signal mesurable, qui peut ensuite être amplifié et produire une mesure d'une composante du champ magnétique.

J'utilise SS49E car il est bon marché et abordable. Ce qui mérite d'être noté dans sa documentation :

  • Puissance: 2,7 - 6,5 V, ce qui est parfaitement compatible avec 5 V pour Arduino.
  • Signal zéro: 2,25-2,75 V, environ à mi-chemin entre 0 et 5 V.
  • Sensibilité: 1,0-1,75 mV / G, l'étalonnage sera donc nécessaire pour obtenir des résultats précis.
  • Tension de sortie: 1,0 - 4,0 V (pour un fonctionnement à partir de 5 V): la plage est couverte par l'ADC Arduino.
  • Plage: minimum ± 650 Gs, généralement + / 1 1000 Gs.
  • Temps de réponse: 3 μs, c'est-à-dire qu'il est possible d'effectuer des mesures avec une fréquence de dizaines de kHz.
  • Courant de fonctionnement: 6-10 mA, suffisant pour une batterie.
  • Erreur de température: 0,1% par degré Celsius. Cela semble un peu, mais un écart de 0,1% donne une erreur de 3 mT.

Le capteur est compact, 4x3x3 mm, et mesure la composante du champ magnétique perpendiculaire à sa face avant. Il donne une valeur positive pour les champs allant de l'arrière vers l'avant - par exemple, lorsqu'il fait face au pôle sud d'un aimant. Le capteur a trois contacts, +5 V, 0 V et la sortie est de gauche à droite lorsqu'elle est vue de face.

Étape 2: Matériel requis


  • Capteur à effet Hall linéaire SS49E. 1 € pour 10 pièces.
  • Arduino Uno avec carte de prototypage ou Arduino Nano sans broches pour la version portable.
  • Écran OLED monochrome SSD1306 0.96 ”avec interface I2C.
  • Bouton.

Pour sonde:

  • Stylo à bille ou autre tube durable.
  • 3 fils fins légèrement plus longs que le tube.
  • Thermorétractable de 12 cm avec un diamètre de 1,5 mm.


Pour la version portable:
  • Une grande boîte Tic-Tac (18x46x83) ou quelque chose de similaire.
  • Contacts de batterie 9V
  • Commutateur.

Étape 3: Première version - Utilisation de la carte de prototypage






Tout d'abord, construisez toujours un prototype pour tester le fonctionnement de tous les composants et logiciels! La connexion est visible sur l'image: le capteur Hall est connecté aux contacts Arduino + 5V, GND, A1 (de gauche à droite). L'écran se connecte à GND, + 5V, A5, A4 (de gauche à droite). Le bouton, lorsqu'il est enfoncé, doit fermer le sol et A0.

Code écrit en Arduino IDE v. 1.8.10. Nécessite l'installation des bibliothèques Adafruit_SSD1306 et Adafruit_GFX.

Si tout est fait correctement, l'écran devrait donner les valeurs DC et AC.

Étape 4: Un peu de code


Si le code ne vous intéresse pas, vous pouvez ignorer cette partie.

Une caractéristique clé du code est que le champ magnétique est mesuré 2 000 fois de suite. Cela prend 0,2 à 0,3 seconde. En suivant la somme et le carré de la somme des mesures, il est possible de calculer la moyenne et les écarts-types, qui sont donnés en DC et AC. En moyenne sur un grand nombre de mesures, nous augmentons la précision, théoriquement de √2000 ≈ 45. Il s'avère qu'en utilisant un ADC 10 bits, nous obtenons la précision d'un ADC 15 bits! Et c'est important: 1 étape de l'ADC est de 4 mV, soit ~ 0,3 mT. En raison de la moyenne, nous réduisons l'erreur de 0,3 mT à 0,01 mT.

En prime, nous obtenons l'écart type, déterminant ainsi le champ changeant. Un champ oscillant avec une fréquence de 50 Hz passe par environ 10 cycles pendant la mesure, vous pouvez donc mesurer la valeur de AC.

Après la compilation, j'ai obtenu les statistiques suivantes: 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 reste encore beaucoup de place pour ajouter des fonctionnalités.

Étape 5: Cuisson de la sonde






La sonde est mieux fixée à l'extrémité d'un tube étroit: elle sera simplement placée et maintenue dans des endroits étroits. Tout tube en matériau non magnétique fera l'affaire. Le vieux stylo à bille était parfait pour moi.

Préparez trois fils flexibles fins légèrement plus longs que le tube. Dans mon câble, il n'y a pas de logique dans les couleurs des fils (orange + 5 V, rouge 0 V, gris - signal), c'est juste plus facile pour moi de m'en souvenir.

Pour utiliser une sonde avec un prototype, soudez des morceaux de fil à l'extrémité du câble et isolez-les avec un rétrécissement thermique. Plus tard, ils peuvent être coupés et soudés directement à l'Arduino.

Étape 6: assemblage de l'instrument portable




La batterie 9V, l'écran OLED et l'Arduino Nano s'intègrent confortablement dans un grand boîtier Tic-Tac. Son avantage est la transparence - l'écran est facile à lire, même à l'intérieur. Tous les composants fixes (sonde, interrupteur et bouton) sont placés sur le couvercle afin que tout puisse être retiré de la boîte pour remplacer la batterie ou mettre à jour le code.

Je n'ai jamais aimé les piles 9V - elles ont un prix élevé et une faible capacité. Mais dans mon supermarché, ils ont soudainement commencé à vendre leur version rechargeable de NiMH pour 1 €, et j'ai trouvé qu'ils étaient faciles à charger si le 11 V était alimenté par une résistance de 100 Ohms et laissé pendant la nuit. J'ai commandé des connecteurs de batterie bon marché pour moi, mais ils ne me les ont pas envoyés, j'ai donc démonté l'ancienne batterie 9 V pour en faire un connecteur. Plus les batteries 9V dans leur compacité, et en ce sens que l'Arduino fonctionne bien lorsqu'il est connecté à Vin. À +5 V, il y aura une tension réglable de 5 V, qui sera nécessaire pour l'OLED et le capteur Hall.

Le capteur Hall, l'écran et le bouton sont connectés de la même manière que sur le prototype. Seul le bouton d'alimentation est ajouté, entre la batterie et l'Arduino.

Étape 7: étalonnage








La constante d'étalonnage dans le code correspond au nombre prescrit dans la documentation (1,4 mV / G), cependant, la plage de cette valeur (1,0-1,75 mV / G) est autorisée dans la documentation. Pour obtenir des résultats précis, vous devez calibrer la sonde.

Le moyen le plus simple d'obtenir un champ magnétique bien défini est d'utiliser un solénoïde. L'induction magnétique du champ solénoïde est B = μ 0 * n * I. La constante magnétique (ou perméabilité magnétique du vide) est une constante naturelle: μ 0 = 1,2566 x 10 -6T / m / A. Le champ est uniforme et ne dépend que de la densité d'enroulement n et du courant I, qui peuvent être mesurés avec une erreur d'environ 1%. La formule fonctionne pour un solénoïde de longueur infinie, mais elle sert de très bonne approximation pour le champ en son centre si le rapport de sa longueur au diamètre dépasse 10.

Pour assembler un solénoïde approprié, prenez un tuyau cylindrique creux 10 fois plus long que le diamètre et enroulez-le dans un isolant fils. J'ai utilisé un tube en PVC d'un diamètre extérieur de 23 mm et effectué 566 spires s'étendant sur 20,2 cm, ce qui nous donne n = 28 / cm = 2800 / m. La longueur du fil est de 42 m, la résistance est de 10 Ohms.

Mettez la bobine sous tension et mesurez le courant avec un multimètre. Utilisez une source de courant réglable ou une résistance variable pour contrôler le courant. Mesurer le champ magnétique pour différentes valeurs de courant et comparer les lectures.

Avant l'étalonnage, j'ai reçu 6,04 mT / A, bien qu'en théorie il aurait dû être de 3,50 mT / A. Par conséquent, j'ai multiplié la constante d'étalonnage dans la 18e ligne du code par 0,58. Terminé - le magnétomètre est calibré!

Source: https://habr.com/ru/post/undefined/


All Articles