Innholdsfortegnelse:
2025 Forfatter: John Day | [email protected]. Sist endret: 2025-01-13 06:58
Hvis hobbyen din er RC, droner, robotikk, elektronikk, augment reality eller lignende, vil du før eller siden møte magnetometerkalibrering. Enhver magnetometermodul må kalibreres fordi måling av magnetfelt utsettes for noen forvrengninger. Det er to typer av disse forvrengningene: forvrengninger av hardt jern og mykt jern. Teorien om disse forvrengningene finner du her. For å få de nøyaktige målingene bør du kalibrere magnetometeret for harde og myke jernforvrengninger. Denne instruktøren beskriver den enkle måten å gjøre det på.
Trinn 1: Ting du trenger
Maskinvare:
- HMC5883L magnetometer modul
- Arduino Mega 2560 bord
*Men du kan enkelt adoptere dette på en annen magnetometermodul eller et arduino -kort.
Programvare:
- MagMaster
- MagViewer
Fastvare:
Arduino skisse
*Denne skissen er skrevet for HMC5883L -modulen, men du kan enkelt adoptere den for modulen din.
Andre:
- Papirboks
- Brødbrett
- Ledninger
Trinn 2: Lag kalibreringsboks
For kalibreringsprosessen bør du lage den spesielle kalibreringsboksen (bilde 2.1). Til å lage dette brukte jeg en papirkasse, men du kan bruke en plastikk, en trestang eller noe annet også. Du bør feste magnetometermodulen med esken (for eksempel med lim) som vist på bildet 2.1. På kassens flater bør du tegne koordinatsystemet i henhold til koordinatsystemet til magnetometermodulen.
Trinn 3: Elektrisk tilkobling
Koble magnetometermodulen og arduino -kortet som vist på bildet 3.1. Vær oppmerksom på at forsyningsspenningen til magnetometermodulen kan være 3, 3 V (som i mitt tilfelle med HMC5883L GY-273 versjon).
Trinn 4: Installere programvaren og fastvaren
Last ned programvare og fastvare her. Dette arkivet inneholder filer:
- MagMaster.exe - kalibreringsprogrammet for magnetometer
- MagViewer.exe - visualiseringsprogrammet for magnetometermålinger
- Arduino_Code - arduino -skissen for kalibreringsprosessen
- Arduino_Test_Results - arduino -skissen for testing av kalibreringsresultater
- Arduino_Radius_Stabilisation - arduino -skissen for testing av kalibreringsresultater med sfære radius stabiliseringsalgoritme
- MagMaster -filer og MagViewer -filer - systemfilene for MagMaster.exe og MagViewer.exe
Kopier alle disse filene til en hvilken som helst mappe. Last opp "Arduino_Code" -skissen til arduino -brettet. Denne arduino -skissen krever HMC5883L -biblioteket, kopier mappen "HMC5883L" (plassert i "Arduino_Code" -mappen) til mappen "C: / Program Files / Arduino / libraries" før skisseopplasting.
Trinn 5: Kalibrering
Introduksjon
Kalibrering av magnetometer er prosessen med å få transformasjonsmatrisen og skjevheten.
For å få kalibrerte målinger av magnetfeltet bør du bruke disse transformasjonsmatrisene og skjevheten i programmet ditt. I algoritmen din bør du bruke skjevheten på vektoren for ikke -kalibrerte magnetometerdata (X, Y, Z -koordinater) og deretter multiplisere transformasjonsmatrisen med denne resulterende vektoren (bilde 5.4). C -algoritmen til disse beregningene finner du i skissene "Arduino_Test_Results" og "Arduino_Radius_Stabilization".
Kalibreringsprosess
Kjør MagMaster.exe og velg den serielle porten på arduino -kortet. De grønne strengene i programvinduet angir koordinatene til magnetometervektoren (bilde 5.1).
Plasser magnetometermodulen (kalibreringsboks med vedlagt magnetometermodul) som vist på bildet 5.2.1 og klikk på "Point 0" -knappen på "Axis X+" gruppeboks. Vær oppmerksom på at kalibreringsboksen ikke er stasjonær i forhold til det faste horisontale planet. Plasser deretter magnetometeret som vist på bildet 5.2.2 og klikk på "Point 180" -knappen på "Axis X+" gruppeboks og så videre. Du bør gjøre på følgende måte (se bilde 5.3 også):
- Bilde 5.2.1: "Point 0", "Axis X+"
- Bilde 5.2.2: "Punkt 180", "akse X+"
- Bilde 5.2.3: "Punkt 0", "akse X-"
- Bilde 5.2.4: "Punkt 180", "akse X-"
- Bilde 5.2.5: "Punkt 0", "akse Y+"
- Bilde 5.2.6: "Punkt 180", "akse Y+"
- Bilde 5.2.7: "Punkt 0", "akse Y-"
- Bilde 5.2.8: "Punkt 180", "akse Y-"
- Bilde 5.2.9: "Point 0", "Axis Z+"
- Bilde 5.2.10: "Punkt 180", "akse Z+"
- Bilde 5.2.11: "Punkt 0", "akse Z-"
- Bilde 5.2.12: "Punkt 180", "akse Z-"
Du bør fylle bordet. Etter det klikker du på "Calculate Transformation Matrix and Bias" og får transformasjonsmatrisen og skjevheten (bilde 5.3).
Transformasjonsmatrisen og skjevheten er oppnådd! Kalibreringen er fullført!
Trinn 6: Testing og visualisering
Ikke -kalibrerte målinger visualisering
Last opp "Arduino_Code" -skissen til arduino -brettet. Kjør MagViewer.exe, velg den serielle porten på arduino -kortet (budhastigheten til serialporten skal være 9600 bps) og klikk "Kjør MagViewer". Nå kan du se koordinatene til magnetometerdatavektoren i 3D-rom i sanntid (bilde 6.1, video 6.1, 6.2). Disse målingene er ikke kalibrert.
De kalibrerte målingene visualiseres
Rediger skissen "Arduino_Radius_Stabilization", erstatt standard transformasjonsmatrise og forspenningsdata med dine innhentede under kalibreringsdata (transformasjonsmatrisen og skjevheten). Last opp "Arduino_Radius_Stabilization" -skisse til arduino -brettet. Kjør MagViewer.exe, velg seriell port (budhastigheten er 9600 bps), klikk "Kjør MagViewer". Nå kan du se de kalibrerte målingene i 3D-rom i sanntid (bilde 6.2, video 6.3, 6.4).
Ved å bruke disse skissene kan du enkelt skrive algoritmen for ditt magnetometerprosjekt med kalibrerte målinger!