Turinys:

Lengvas kieto ir minkšto geležies magnetometro kalibravimas: 6 žingsniai (su nuotraukomis)
Lengvas kieto ir minkšto geležies magnetometro kalibravimas: 6 žingsniai (su nuotraukomis)

Video: Lengvas kieto ir minkšto geležies magnetometro kalibravimas: 6 žingsniai (su nuotraukomis)

Video: Lengvas kieto ir minkšto geležies magnetometro kalibravimas: 6 žingsniai (su nuotraukomis)
Video: LOGOPEDINIS KALBOS LAVINIMAS: kietas ar minkštas garsas 2024, Lapkritis
Anonim
Lengvas kieto ir minkšto geležies magnetometro kalibravimas
Lengvas kieto ir minkšto geležies magnetometro kalibravimas

Jei jūsų hobis yra RC, dronai, robotika, elektronika, papildoma realybė ar panašiai, anksčiau ar vėliau susidursite su magnetometro kalibravimo užduotimi. Bet koks magnetometro modulis turi būti kalibruojamas, nes magnetinio lauko matavimas gali būti iškraipytas. Yra du šių iškraipymų tipai: kietojo geležies ir minkšto geležies iškraipymai. Teoriją apie šiuos iškraipymus galite rasti čia. Norėdami gauti tikslius matavimus, turite sukalibruoti magnetometrą, kad būtų galima ištirti kietą ir minkštą geležį. Šioje instrukcijoje aprašomas paprastas būdas tai padaryti.

1 žingsnis: reikalingi dalykai

Daiktai, kurių jums reikia
Daiktai, kurių jums reikia
Daiktai, kurių jums reikia
Daiktai, kurių jums reikia
Daiktai, kurių jums reikia
Daiktai, kurių jums reikia

Techninė įranga:

  • HMC5883L magnetometro modulis
  • „Arduino Mega 2560“lenta

*Bet jūs galite lengvai pritaikyti šią instrukciją kitam magnetometro moduliui ar arduino plokštei.

Programinė įranga:

  • „MagMaster“
  • „MagViewer“

Firmware:

    Arduino eskizas

*Šis eskizas parašytas HMC5883L moduliui, tačiau jį galite lengvai pritaikyti savo moduliui.

Kiti:

  • Popieriaus dėžutė
  • Bandomoji Lenta
  • Laidai

2 žingsnis: sukurkite kalibravimo dėžutę

Kalibravimo dėžutės gamyba
Kalibravimo dėžutės gamyba

Norėdami atlikti kalibravimo procesą, turite sukurti specialų kalibravimo langelį (2.1 pav.). Norėdami tai padaryti, naudoju popierinę dėžutę, tačiau galite naudoti ir plastikinę, medinę juostą ar ką nors kita. Magnetometro modulį turėtumėte sujungti su dėžute (pavyzdžiui, klijais), kaip parodyta 2.1 paveiksle. Ant dėžutės paviršių turėtumėte nubrėžti koordinačių sistemą pagal magnetometro modulio koordinačių sistemą.

3 žingsnis: elektros prijungimas

Elektrinis sujungimas
Elektrinis sujungimas
Elektrinis sujungimas
Elektrinis sujungimas

Prijunkite magnetometro modulį ir arduino plokštę, kaip parodyta 3.1 paveikslėlyje. Atkreipkite dėmesį, kad magnetometro modulio maitinimo įtampa gali būti 3, 3 V (kaip mano atveju naudojant HMC5883L GY-273 versiją).

4 veiksmas: programinės įrangos ir programinės įrangos diegimas

Programinės įrangos ir programinės įrangos diegimas
Programinės įrangos ir programinės įrangos diegimas

Atsisiųskite programinę įrangą ir programinę įrangą čia. Šiame archyve yra failų:

  • MagMaster.exe - magnetometro kalibravimo programa
  • MagViewer.exe - magnetometro matavimų vizualizavimo programa
  • Arduino_Code - arduino eskizas kalibravimo procesui
  • „Arduino_Test_Results“- arduino eskizas kalibravimo rezultatams išbandyti
  • „Arduino_Radius_Stabilisation“- arduino eskizas, skirtas kalibravimo rezultatams išbandyti naudojant sferos spindulio stabilizavimo algoritmą
  • „MagMaster Files“ir „MagViewer Files“- sistemos failai, skirti „MagMaster.exe“ir „MagViewer.exe“

Nukopijuokite visus šiuos failus į bet kurį aplanką. Įkelkite „Arduino_Code“eskizą į arduino lentą. Šiam arduino eskizui reikalinga HMC5883L biblioteka, prieš įkeliant eskizą nukopijuokite aplanką „HMC5883L“(įdėtą į aplanką „Arduino_Code“) į aplanką „C: / Program Files / Arduino / libraries“.

5 žingsnis: kalibravimas

Kalibravimas
Kalibravimas
Kalibravimas
Kalibravimas
Kalibravimas
Kalibravimas
Kalibravimas
Kalibravimas

Įvadas

Magnetometro kalibravimas yra transformacijos matricos ir šališkumo gavimo procesas.

Norėdami gauti kalibruotus magnetinio lauko matavimus, savo programoje turėtumėte naudoti šią transformacijos matricą ir šališkumą. Savo algoritme turėtumėte taikyti šališkumą nekalibruotų magnetometrų duomenų vektoriui (X, Y, Z koordinatės), o tada padauginti transformacijos matricą iš gauto vektoriaus (5.4 pav.). Šių skaičiavimų C algoritmą rasite eskizuose „Arduino_Test_Results“ir „Arduino_Radius_Stabilization“.

Kalibravimo procesas

Paleiskite „MagMaster.exe“ir pasirinkite „arduino“plokštės nuoseklųjį prievadą. Žalia eilutė programos lange rodo magnetometro vektoriaus koordinates (5.1 pav.).

Įdėkite magnetometro modulį (kalibravimo dėžutę su pritvirtintu magnetometro moduliu), kaip parodyta 5.2.1 paveikslėlyje, ir spustelėkite grupės „Axis X+“mygtuką „0 taškas“. Atkreipkite dėmesį, kad kalibravimo dėžutė nėra stacionari, palyginti su fiksuota horizontalia plokštuma. Tada įdėkite magnetometrą, kaip parodyta 5.2.2 paveikslėlyje, ir spustelėkite grupės „Axis X+“mygtuką „180 taškas“ir pan. Turėtumėte tai padaryti taip (taip pat žr. 5.3 pav.):

  • 5.2.1 paveikslas: „0 taškas“, „X+ašis“
  • 5.2.2 paveikslas: „180 taškas“, „X+ašis“
  • 5.2.3 paveikslas: „0 taškas“, „X ašis“
  • 5.2.4 paveikslas: „180 taškas“, „X ašis“
  • 5.2.5 paveikslas: „0 taškas“, „Y+ašis“
  • 5.2.6 paveikslas: „180 taškas“, „Y+ašis“
  • 5.2.7 paveikslas: „0 taškas“, „Y ašis“
  • 5.2.8 paveikslas: „180 taškas“, „Y ašis“
  • 5.2.9 paveikslas: „0 taškas“, „Z+ašis“
  • 5.2.10 paveikslas: „180 taškas“, „Z+ašis“
  • 5.2.11 paveikslas: „0 taškas“, „Z ašis“
  • 5.2.12 paveikslas: „180 taškas“, „Z ašis“

Turėtumėte užpildyti lentelę. Po to spustelėkite „Apskaičiuoti transformacijos matricą ir šališkumą“ir gaukite transformacijos matricą bei šališkumą (5.3 pav.).

Gauta transformacijos matrica ir šališkumas! Kalibravimas baigtas!

6 žingsnis: testavimas ir vizualizacija

Image
Image
Testavimas ir vizualizacija
Testavimas ir vizualizacija

Nekalibruotų matavimų vizualizacija

Įkelkite „Arduino_Code“eskizą į arduino lentą. Paleiskite „MagViewer.exe“, pasirinkite „arduino“plokštės nuoseklųjį prievadą (serijinio prievado budo greitis turėtų būti 9600 bps) ir spustelėkite „Vykdyti„ MagViewer ““. Dabar galite pamatyti magnetometro duomenų vektoriaus koordinates 3D erdvėje realiu laiku (6.1 pav., 6.1, 6.2 vaizdo įrašas). Šie matavimai nėra kalibruoti.

Kalibruotų matavimų vizualizacija

Redaguokite eskizą „Arduino_Radius_Stabilization“, pakeiskite numatytąją transformacijos matricą ir šališkumo duomenis savo gautais kalibravimo duomenimis (jūsų transformacijos matrica ir šališkumas). Įkelkite „Arduino_Radius_Stabilization“eskizą į arduino lentą. Paleiskite „MagViewer.exe“, pasirinkite nuoseklųjį prievadą („Boud“greitis yra 9600 bps), spustelėkite „Vykdyti„ MagViewer ““. Dabar galite matyti kalibruotus matavimus 3D erdvėje realiu laiku (6.2 pav., 6.3, 6.4 vaizdo įrašas).

Naudodamiesi šiais eskizais, galite lengvai parašyti savo magnetometro projekto algoritmą su kalibruotais matavimais!

Rekomenduojamas: