Inhaltsverzeichnis:

Tragbares Magnetometer - Gunook
Tragbares Magnetometer - Gunook

Video: Tragbares Magnetometer - Gunook

Video: Tragbares Magnetometer - Gunook
Video: Magnet attack on mechanical water meter 2024, Juli
Anonim
Tragbares Magnetometer
Tragbares Magnetometer

Ein Magnetometer, manchmal auch Gaussmeter genannt, misst die Stärke des Magnetfelds. Es ist ein unverzichtbares Werkzeug, um die Stärke von Permanentmagneten und Elektromagneten zu testen und die Feldform nichttrivialer Magnetkonfigurationen zu verstehen. Wenn es empfindlich genug ist, kann es auch erkennen, ob Eisengegenstände magnetisiert wurden. Zeitveränderliche Felder von Motoren und Transformatoren können erkannt werden, wenn die Sonde schnell genug ist.

Mobiltelefone enthalten normalerweise ein 3-Achsen-Magnetometer, wurden jedoch für das schwache Erdmagnetfeld von ~1 Gauss = 0,1 mT optimiert und sättigen bei Feldern von wenigen mT. Die Position des Sensors am Telefon ist nicht offensichtlich und es ist nicht möglich, den Sensor in engen Öffnungen wie der Bohrung eines Elektromagneten zu platzieren. Außerdem möchten Sie Ihr Smartphone möglicherweise nicht in die Nähe starker Magnete bringen.

Hier beschreibe ich, wie man ein einfaches tragbares Magnetometer mit gemeinsamen Komponenten baut: einem linearen Hallsensor, einem Arduino, einem Display und einem Taster. Die Gesamtkosten betragen weniger als 5 EUR und die Empfindlichkeit von ~ 0,01 mT in einem Bereich von -100 bis +100 mT ist besser, als Sie naiv erwarten würden. Um genaue absolute Messwerte zu erhalten, müssen Sie es kalibrieren: Ich beschreibe, wie das mit einem selbstgebauten langen Magnetventil geht.

Schritt 1: Die Hallsonde

Der Hall-Effekt ist eine gängige Methode zur Messung von Magnetfeldern. Wenn Elektronen in einem Magnetfeld durch einen Leiter fließen, werden sie seitlich abgelenkt und erzeugen so eine Potentialdifferenz an den Seiten des Leiters. Mit der richtigen Wahl von Halbleitermaterial und -geometrie wird ein messbares Signal erzeugt, das verstärkt werden kann und ein Maß für eine Komponente des Magnetfelds liefert.

Ich benutze das SS49E, weil es billig und weit verbreitet ist. Ein paar Dinge, die Sie aus dem Datenblatt beachten sollten:

  • Versorgungsspannung: 2,7-6,5 V, also perfekt kompatibel mit den 5V vom Arduino.
  • Null-Ausgang: 2,25-2,75V, also ungefähr auf halbem Weg zwischen 0 und 5V.
  • Empfindlichkeit: 1,0-1,75 mV/Gauss, daher ist eine Kalibrierung erforderlich, um genaue Ergebnisse zu erhalten.
  • Ausgangsspannung 1,0V-4,0V (bei Betrieb mit 5V): gut abgedeckt durch den Arduino ADC.
  • Reichweite: +-650G Minimum, +-1000G typisch.
  • Reaktionszeit 3mus, kann also mit einigen zehn kHz abtasten.
  • Versorgungsstrom: 6-10mA, niedrig genug für Batteriebetrieb.
  • Temperaturfehler: ~0,1 % pro Grad C. Scheint wenig, aber eine Offset-Drift von 0,1 % ergibt einen Fehler von 3 mT.

Der Sensor ist kompakt, ~4x3x2mm und misst die Komponente des Magnetfelds, die senkrecht zu seiner Vorderseite steht. Es gibt ein Plus für Felder aus, die von der Rückseite zur Vorderseite zeigen, zum Beispiel wenn die Vorderseite auf einen magnetischen Südpol gebracht wird. Der Sensor hat 3 Leitungen, +5V, 0V und Ausgang von links nach rechts, von vorne gesehen.

Schritt 2: Erforderliches Material

  • Linearer Hallsensor SS49E. Diese kosten ~1EUR für ein 10er Set online.
  • Arduino Uno mit Prototypenplatine für Prototypen oder Arduino Nano (ohne Header!) für portable Version
  • SSD1306 0,96” monochromes OLED-Display mit I2C-Schnittstelle
  • Ein kurzzeitiger Druckknopf

So konstruieren Sie die Sonde:

  • Ein alter Kugelschreiber oder ein anderes stabiles Hohlrohr
  • 3 dünne Litzen etwas länger als das Rohr
  • 12cm dünner (1,5mm) Schrumpfschlauch

Um es tragbar zu machen:

  • Eine große Tic-Tac-Box (18x46x83mm) oder ähnlich
  • Ein 9V-Batterieclip
  • Ein Ein/Aus-Schalter

Schritt 3: Erste Version: Verwenden eines Arduino-Prototyp-Boards

Erste Version: Verwendung eines Arduino-Prototyp-Boards
Erste Version: Verwendung eines Arduino-Prototyp-Boards
Erste Version: Verwendung eines Arduino-Prototyp-Boards
Erste Version: Verwendung eines Arduino-Prototyp-Boards

Prüfen Sie immer zuerst, ob alle Komponenten funktionieren und die Software funktionsfähig ist! Folgen Sie dem Bild und schließen Sie die Hallsonde, das Display und den Nullknopf an: Die Hallsonde muss an +5V, GND, A0 (von links nach rechts) angeschlossen werden. Das Display muss an GND, +5V, A5, A4 (von links nach rechts) angeschlossen werden. Der Taster muss beim Drücken eine Verbindung von Masse zu A1 herstellen.

Der Code wurde mit der Arduino IDE Version 1.8.10 geschrieben und hochgeladen. Es erfordert die Installation der Bibliotheken Adafruit_SSD1306 und Adafruit_GFX. Laden Sie den Code in der beigefügten Skizze hoch.

Das Display sollte einen DC-Wert und einen AC-Wert anzeigen.

Schritt 4: Einige Kommentare zum Code

Sie können diesen Abschnitt gerne überspringen, wenn Sie nicht am Innenleben des Codes interessiert sind.

Das Hauptmerkmal des Codes ist, dass das Magnetfeld 2000 Mal hintereinander gemessen wird. Dies dauert etwa 0,2-0,3 Sekunden. Durch Verfolgen der Summe und der quadrierten Summe der Messungen ist es möglich, sowohl den Mittelwert als auch die Standardabweichung zu berechnen, die als DC und AC angegeben werden. Durch Mittelung einer großen Anzahl von Messungen erhöht sich die Genauigkeit theoretisch um sqrt(2000)~45. Mit einem 10-Bit-ADC können wir also die Präzision eines 15-Bit-ADC erreichen! Es macht einen großen Unterschied: 1 ADC-Zählung beträgt 5 mV, was ~ 0,3 mT entspricht. Dank der Mittelwertbildung verbessern wir die Genauigkeit von 0,3mT auf 0,01mT.

Als Bonus erhalten wir auch die Standardabweichung, sodass schwankende Felder als solche gekennzeichnet werden. Ein mit 50 Hz fluktuierendes Feld macht während der Messzeit ~10 volle Zyklen, sodass sein AC-Wert gut gemessen werden kann.

Nach dem Kompilieren des Codes erhalte ich folgendes Feedback: Sketch verwendet 16852 Byte (54%) des Programmspeicherplatzes. Das Maximum beträgt 30720 Byte. Globale Variablen verwenden 352 Byte (17 %) des dynamischen Speichers, sodass 1696 Byte für lokale Variablen übrig bleiben. Das Maximum beträgt 2048 Byte.

Den größten Platz nehmen die Adafruit-Bibliotheken ein, aber es gibt viel Platz für weitere Funktionen

Schritt 5: Vorbereitung der Sonde

Vorbereitung der Sonde
Vorbereitung der Sonde
Vorbereitung der Sonde
Vorbereitung der Sonde

Die Sonde wird am besten an der Spitze eines schmalen Röhrchens montiert: So kann sie auch in engen Öffnungen leicht platziert und in Position gehalten werden. Jedes hohle Rohr aus einem nichtmagnetischen Material ist ausreichend. Ich habe einen alten Kugelschreiber verwendet, der perfekt passte.

Bereiten Sie 3 dünne flexible Drähte vor, die länger als das Rohr sind. Ich habe 3cm Flachbandkabel verwendet. Es gibt keine Logik in den Farben (orange für +5V, rot für 0V, grau für Signal), aber mit nur 3 Drähten kann ich mich erinnern.

Um die Sonde am Prototyp zu verwenden, löten Sie einige Stücke abisolierten Vollkern-Anschlussdraht am Ende an und schützen Sie sie mit Schrumpfschlauch. Später kann dieser abgeschnitten werden, damit die Sondendrähte direkt an den Arduino angelötet werden können.

Schritt 6: Aufbau eines tragbaren Instruments

Bau eines tragbaren Instruments
Bau eines tragbaren Instruments

Eine 9V-Batterie, der OLED-Bildschirm und ein Arduino Nano passen bequem in eine (große) Tic-Tac-Box. Es hat den Vorteil, dass es transparent ist, sodass der Bildschirm auch im Inneren gut lesbar ist. Alle festen Komponenten (die Sonde, der Ein-/Ausschalter und der Taster) sind oben angebracht, so dass die gesamte Baugruppe zum Batteriewechsel oder zum Aktualisieren des Codes aus der Box genommen werden kann.

Ich war nie ein Fan von 9V-Batterien: Sie sind teuer und haben wenig Kapazität. Aber mein lokaler Supermarkt verkaufte plötzlich die wiederaufladbare NiMH-Version für 1 EUR pro Stück, und ich fand, dass sie leicht aufgeladen werden können, indem sie über Nacht über einen 100-Ohm-Widerstand auf 11 V gehalten werden. Ich habe Clips billig bestellt, aber sie sind nie angekommen, also habe ich eine alte 9V-Batterie auseinandergenommen, um das Oberteil in einen Clip zu verwandeln. Das Gute an der 9V-Batterie ist, dass sie kompakt ist und der Arduino gut darauf läuft, indem er an Vin angeschlossen wird. Bei +5V stehen geregelte 5V für die OLED und für die Hallsonde zur Verfügung.

Die Hallsonde, der OLED-Bildschirm und der Taster werden wie beim Prototyp angeschlossen. Die einzige Ergänzung ist ein Ein / Aus-Knopf zwischen der 9V-Batterie und dem Arduino.

Schritt 7: Kalibrierung

Kalibrierung
Kalibrierung
Kalibrierung
Kalibrierung
Kalibrierung
Kalibrierung

Die Kalibrierkonstante im Code entspricht der im Datenblatt angegebenen Zahl (1,4 mV/Gauss), das Datenblatt lässt jedoch einen großen Bereich zu (1,0-1,75 mV/Gauss). Um genaue Ergebnisse zu erhalten, müssen wir die Sonde kalibrieren!

Der einfachste Weg, ein Magnetfeld mit einer bestimmten Stärke zu erzeugen, ist die Verwendung eines Solenoids: Die Feldstärke eines langen Solenoids ist: B=mu0*n*I. Die Vakuumdurchlässigkeit ist eine Naturkonstante: mu0=1,2566x10^-6 T/m/A. Das Feld ist homogen und hängt nur von der Wicklungsdichte n und dem Strom I ab, die beide mit guter Genauigkeit gemessen werden können (~1%). Die angegebene Formel ist für unendlich lange Magnetspulen abgeleitet, ist aber eine sehr gute Näherung für das Feld in der Mitte, solange das Verhältnis von Länge zu Durchmesser L/D>10 ist.

Um einen geeigneten Magneten herzustellen, nehmen Sie ein hohles zylindrisches Rohr mit L/D > 10 und wenden Sie regelmäßige Wicklungen mit Lackdraht an. Ich habe ein PVC-Rohr mit einem Außendurchmesser von 23 mm verwendet und 566 Windungen gewickelt, dann 20,2 cm gespannt, was n = 28 / cm = 2800 / m ergibt. Die Kabellänge beträgt 42m und der Widerstand 10,0 Ohm.

Versorgen Sie die Spule mit Strom und messen Sie den Stromfluss mit einem Multimeter. Verwenden Sie entweder eine variable Spannungsversorgung oder einen variablen Lastwiderstand, um den Strom unter Kontrolle zu halten. Messen Sie das Magnetfeld für einige Stromeinstellungen und vergleichen Sie es mit den Messwerten.

Vor der Kalibrierung habe ich 6,04 mT/A gemessen, während die Theorie 3,50 mT/A voraussagt. Also habe ich die Kalibrierkonstante in Zeile 18 des Codes mit 0,58 multipliziert. Das Magnetometer ist nun kalibriert!

Magnet-Herausforderung
Magnet-Herausforderung
Magnet-Herausforderung
Magnet-Herausforderung

Zweiter bei der Magnets Challenge

Empfohlen: