Inhoudsopgave:

Easy Hard en Soft Iron Magnetometer Kalibratie - Ajarnpa
Easy Hard en Soft Iron Magnetometer Kalibratie - Ajarnpa

Video: Easy Hard en Soft Iron Magnetometer Kalibratie - Ajarnpa

Video: Easy Hard en Soft Iron Magnetometer Kalibratie - Ajarnpa
Video: Soft Iron and Hard Iron 2024, November
Anonim
Eenvoudige kalibratie van hard en zacht ijzeren magnetometer
Eenvoudige kalibratie van hard en zacht ijzeren magnetometer

Als je hobby RC, drones, robotica, elektronica, augment reality of iets dergelijks is, zul je vroeg of laat de taak van magnetometerkalibratie tegenkomen. Elke magnetometermodule moet worden gekalibreerd, omdat de meting van het magnetische veld onderhevig is aan enige vervormingen. Er zijn twee soorten van deze vervormingen: de harde ijzervervormingen en de zachtijzervervormingen. De theorie over deze vervormingen vind je hier. Om de nauwkeurige metingen te krijgen, moet u de magnetometer kalibreren voor vervormingen van hard en zacht ijzer. Dit instructable beschrijft de gemakkelijke manier om het te doen.

Stap 1: Spullen die je nodig hebt

Dingen die je nodig hebt
Dingen die je nodig hebt
Dingen die je nodig hebt
Dingen die je nodig hebt
Dingen die je nodig hebt
Dingen die je nodig hebt

Hardware:

  • HMC5883L magnetometermodule
  • Arduino Mega 2560 bord

* Maar u kunt deze instructable gemakkelijk gebruiken voor een andere magnetometermodule of Arduino-bord.

Software:

  • MagMaster
  • MagViewer

Firmware:

    Arduino-schets

*Deze schets is geschreven voor de HMC5883L-module, maar u kunt hem gemakkelijk voor uw module gebruiken.

anderen:

  • Papieren doos
  • Breadboard
  • Draden

Stap 2: De kalibratiebox maken

De kalibratiebox maken
De kalibratiebox maken

Voor het kalibratieproces moet u de speciale kalibratiebox maken (afbeelding 2.1). Ik heb hiervoor een papieren doos gebruikt, maar je kunt ook een plastic doos, een houten staaf of iets anders gebruiken. U moet de magnetometermodule met de doos verbinden (bijvoorbeeld met lijm) zoals weergegeven in afbeelding 2.1. Op de zijkanten van de doos moet u het coördinatensysteem tekenen volgens het coördinatensysteem van de magnetometermodule.

Stap 3: Elektrische aansluiting

Elektrische verbinding
Elektrische verbinding
Elektrische verbinding
Elektrische verbinding

Sluit de magnetometermodule en het arduino-bord aan zoals weergegeven in afbeelding 3.1. Merk op dat de voedingsspanning van de magnetometermodule 3, 3 V kan zijn (zoals in mijn geval met de HMC5883L GY-273-versie).

Stap 4: De software en firmware installeren

De software en firmware installeren
De software en firmware installeren

Download hier de software en firmware. Dit archief bevat bestanden:

  • MagMaster.exe - het magnetometer-kalibratieprogramma
  • MagViewer.exe - het visualisatieprogramma voor magnetometermetingen
  • Arduino_Code - de Arduino-schets voor het kalibratieproces
  • Arduino_Test_Results - de Arduino-schets voor het testen van kalibratieresultaten
  • Arduino_Radius_Stabilisation - de Arduino-schets voor het testen van kalibratieresultaten met een algoritme voor bolradiusstabilisatie
  • MagMaster-bestanden en MagViewer-bestanden - de systeembestanden voor MagMaster.exe en MagViewer.exe

Kopieer al deze bestanden naar een willekeurige map. Upload de schets "Arduino_Code" naar het Arduino-bord. Deze Arduino-schets vereist de HMC5883L-bibliotheek, kopieer de map "HMC5883L" (geplaatst in de map "Arduino_Code") naar de map "C:\Program Files\Arduino\libraries" voordat de schets wordt geüpload.

Stap 5: Kalibratie

Kalibratie
Kalibratie
Kalibratie
Kalibratie
Kalibratie
Kalibratie
Kalibratie
Kalibratie

Invoering

Kalibratie van magnetometer is het proces van het verkrijgen van de transformatiematrix en bias.

Om de gekalibreerde metingen van het magnetische veld te krijgen, moet u deze transformatiematrix en bias in uw programma gebruiken. In uw algoritme moet u de bias toepassen op de vector van niet-gekalibreerde magnetometergegevens (X-, Y-, Z-coördinaten) en vervolgens de transformatiematrix vermenigvuldigen met deze resulterende vector (afbeelding 5.4). Het C-algoritme van deze berekeningen kun je vinden in de schetsen "Arduino_Test_Results" en "Arduino_Radius_Stabilization".

Kalibratieproces

Voer MagMaster.exe uit en selecteer de seriële poort van het Arduino-bord. De groene strings op het programmavenster geven de coördinaten van de magnetometervector aan (afbeelding 5.1).

Plaats de magnetometermodule (kalibratiebox met bijgevoegde magnetometermodule) zoals weergegeven op de afbeelding 5.2.1 en klik op de knop "Punt 0" van de groepsbox "Axis X+". Merk op dat de kalibratiebox niet stationair is ten opzichte van een vast horizontaal vlak. Plaats vervolgens de magnetometer zoals weergegeven op de afbeelding 5.2.2 en klik op de knop "Punt 180" van de groepsbox "Axis X+" enzovoort. U moet het op de volgende manier doen (zie ook afbeelding 5.3):

  • Afbeelding 5.2.1: "Punt 0", "As X+"
  • Afbeelding 5.2.2: "Punt 180", "As X+"
  • Afbeelding 5.2.3: "Punt 0", "As X-"
  • Afbeelding 5.2.4: "Punt 180", "As X-"
  • Afbeelding 5.2.5: "Punt 0", "As Y+"
  • Afbeelding 5.2.6: "Punt 180", "As Y+"
  • Afbeelding 5.2.7: "Punt 0", "As Y-"
  • Afbeelding 5.2.8: "Punt 180", "As Y-"
  • Afbeelding 5.2.9: "Punt 0", "As Z+"
  • Afbeelding 5.2.10: "Punt 180", "As Z+"
  • Afbeelding 5.2.11: "Punt 0", "As Z-"
  • Afbeelding 5.2.12: "Punt 180", "As Z-"

Je zou de tafel moeten vullen. Klik daarna op "Bereken transformatiematrix en bias" en verkrijg de transformatiematrix en bias (afbeelding 5.3).

De transformatiematrix en bias zijn gekregen! De kalibratie is voltooid!

Stap 6: Testen en visualiseren

Image
Image
Testen en visualiseren
Testen en visualiseren

De niet-gekalibreerde metingen visualisatie

Upload de schets "Arduino_Code" naar het Arduino-bord. Voer MagViewer.exe uit, selecteer de seriële poort van het Arduino-bord (de boud-snelheid van de seriële poort moet 9600 bps zijn) en klik op "Run MagViewer". Nu kunt u de coördinaten van de magnetometergegevensvector in 3D-ruimte in realtime zien (afbeelding 6.1, video 6.1, 6.2). Deze metingen zijn niet gekalibreerd.

De gekalibreerde metingen visualisatie

Bewerk de schets "Arduino_Radius_Stabilization", vervang de standaard transformatiematrix en biasgegevens door uw verkregen tijdens kalibratiegegevens (uw transformatiematrix en bias). Upload de schets "Arduino_Radius_Stabilization" naar het Arduino-bord. Start MagViewer.exe, selecteer seriële poort (de boud rate is 9600 bps), klik op "Run MagViewer". Nu kunt u de gekalibreerde metingen in 3D-ruimte in realtime zien (afbeelding 6.2, video 6.3, 6.4).

Door deze schetsen te gebruiken, kunt u eenvoudig het algoritme voor uw magnetometerproject schrijven met gekalibreerde metingen!

Aanbevolen: