Kazalo:
2025 Avtor: John Day | [email protected]. Nazadnje spremenjeno: 2025-01-13 06:58
Če je vaš hobi RC, droni, robotika, elektronika, povečanje resničnosti ali podobno, se boste slej ko prej srečali z nalogo kalibracije magnetometra. Vsak modul magnetometra je treba umeriti, ker je pri merjenju magnetnega polja prišlo do nekaterih popačenj. Obstajata dve vrsti teh popačenj: popačenja iz trdega železa in popačenja iz mehkega železa. Teorijo o teh popačenjih najdete tukaj. Za natančne meritve morate kalibrirati magnetometer za popačenja trdega in mehkega železa. Ta navodila opisujejo preprost način, kako to storiti.
1. korak: stvari, ki jih potrebujete
Strojna oprema:
- Modul magnetometra HMC5883L
- Arduino Mega 2560 plošča
*Lahko pa preprosto uporabite ta navodila za drug modul magnetometra ali arduino ploščo.
Programska oprema:
- MagMaster
- MagViewer
Vdelana programska oprema:
Arduino skica
*Ta skica je napisana za modul HMC5883L, vendar jo lahko preprosto uporabite za svoj modul.
Drugi:
- Papirnata škatla
- Ogledna plošča
- Žice
2. korak: Izdelava kalibracijske škatle
Za postopek umerjanja morate narediti posebno kalibracijsko polje (slika 2.1). Za to sem uporabil papirnato škatlo, lahko pa uporabite tudi plastično, leseno palico ali kaj drugega. Modul magnetometra morate povezati s škatlo (na primer z lepilom), kot je prikazano na sliki 2.1. Na sprednje strani škatle narišite koordinatni sistem glede na koordinatni sistem modula magnetometra.
3. korak: Električna povezava
Priključite modul magnetometra in arduino ploščo, kot je prikazano na sliki 3.1. Upoštevajte, da je napajalna napetost modula magnetometra 3, 3 V (kot v mojem primeru pri različici HMC5883L GY-273).
4. korak: Namestitev programske in vdelane programske opreme
Prenesite programsko opremo in vdelano programsko opremo tukaj. Ta arhiv vsebuje datoteke:
- MagMaster.exe - program za umerjanje magnetometra
- MagViewer.exe - program za vizualizacijo meritev magnetometra
- Arduino_Code - arduino skica za postopek umerjanja
- Arduino_Test_Results - arduino skica za testiranje rezultatov umerjanja
- Arduino_Radius_Stabilisation - arduino skica za testiranje rezultatov umerjanja z algoritmom stabilizacije polmera krogle
- Datoteke MagMaster in datoteke MagViewer - sistemske datoteke za MagMaster.exe in MagViewer.exe
Kopirajte vse te datoteke v katero koli mapo. Skico "Arduino_Code" naložite na ploščo arduino. Ta skica arduino zahteva knjižnico HMC5883L, pred nalaganjem skice kopirajte mapo "HMC5883L" (postavljeno v mapo "Arduino_Code") v mapo "C: / Program Files / Arduino / libraries".
5. korak: Umerjanje
Uvod
Umerjanje magnetometra je proces pridobivanja transformacijske matrike in pristranskosti.
Za kalibrirane meritve magnetnega polja uporabite te transformacijske matrike in pristranskost v svojem programu. V svojem algoritmu morate uporabiti pristranskost za vektor nekolibriranih podatkov magnetometra (koordinate X, Y, Z) in nato matriko transformacije pomnožiti s tem nastalim vektorjem (slika 5.4). Algoritem C teh izračunov najdete v skicah "Arduino_Test_Results" in "Arduino_Radius_Stabilization".
Postopek umerjanja
Zaženite MagMaster.exe in izberite serijska vrata plošče arduino. Zelene vrvice v oknu programa označujejo koordinate vektorja magnetometra (slika 5.1).
Modul magnetometra (kalibracijska škatla s priloženim modulom magnetometra) postavite, kot je prikazano na sliki 5.2.1, in kliknite gumb "Točka 0" v okencu skupine "Axis X+". Upoštevajte, da kalibracijska omarica ni stacionarna glede na fiksno vodoravno ravnino. Nato postavite magnetometer, kot je prikazano na sliki 5.2.2, in kliknite gumb "Točka 180" v skupini "Axis X+" in tako naprej. To morate storiti na naslednji način (glejte tudi sliko 5.3):
- Slika 5.2.1: "Točka 0", "Os X+"
- Slika 5.2.2: "Točka 180", "Os X+"
- Slika 5.2.3: "Točka 0", "Os X-"
- Slika 5.2.4: "Točka 180", "Os X-"
- Slika 5.2.5: "Točka 0", "Os Y+"
- Slika 5.2.6: "Točka 180", "Os Y+"
- Slika 5.2.7: "Točka 0", "Os Y-"
- Slika 5.2.8: "Točka 180", "Os Y-"
- Slika 5.2.9: "Točka 0", "Os Z+"
- Slika 5.2.10: "Točka 180", "Os Z+"
- Slika 5.2.11: "Točka 0", "Os Z-"
- Slika 5.2.12: "Točka 180", "Os Z-"
Izpolniti morate tabelo. Po tem kliknite "Izračunaj transformacijsko matriko in pristranskost" in dobite matriko transformacije in pristranskost (slika 5.3).
Matrika transformacije in pristranskost sta doseženi! Kalibracija je končana!
6. korak: Testiranje in vizualizacija
Vizualizacija nekolibriranih meritev
Skico "Arduino_Code" naložite na ploščo arduino. Zaženite MagViewer.exe, izberite serijska vrata arduino plošče (hitrost prenosa zaporednih vrat mora biti 9600 b / s) in kliknite »Zaženi MagViewer«. Zdaj lahko vidite koordinate podatkovnega vektorja magnetometra v 3D prostoru v realnem času (slika 6.1, video 6.1, 6.2). Te meritve niso umerjene.
Vizualizacija umerjenih meritev
Uredite skico "Arduino_Radius_Stabilization", zamenjajte privzeto transformacijsko matriko in podatke o pristranskosti s svojimi, pridobljenimi med kalibracijskimi podatki (vašo transformacijsko matriko in pristranskostjo). Na ploščo arduino naložite skico "Arduino_Radius_Stabilization". Zaženite MagViewer.exe, izberite serijska vrata (hitrost prenosa 9600 b / s), kliknite »Zaženi MagViewer«. Zdaj lahko v realnem času vidite umerjene meritve v 3D prostoru (slika 6.2, video 6.3, 6.4).
Z uporabo teh skic lahko preprosto napišete algoritem za vaš projekt magnetometra s kalibriranimi meritvami!