Sisukord:
2025 Autor: John Day | [email protected]. Viimati modifitseeritud: 2025-01-13 06:57
Kui teie hobi on RC, droonid, robootika, elektroonika, täiustatud reaalsus või muu sarnane, siis varem või hiljem kohtute magnetomeetri kalibreerimise ülesandega. Iga magnetomeetri moodul tuleb kalibreerida, kuna magnetvälja mõõtmine on mõnevõrra moonutatud. Neid moonutusi on kahte tüüpi: kõva raua ja pehme raua moonutused. Nende moonutuste teooria leiate siit. Täpsete mõõtmiste saamiseks peaksite kalibreerima magnetomeetri kõvade ja pehmete raua moonutuste jaoks. See juhend juhendab lihtsat viisi, kuidas seda teha.
Samm: vajalikud asjad
Riistvara:
- HMC5883L magnetomeetri moodul
- Arduino Mega 2560 plaat
*Kuid saate selle juhendi hõlpsasti teise magnetomeetri mooduli või arduino plaadi jaoks kasutusele võtta.
Tarkvara:
- MagMaster
- MagViewer
Püsivara:
Arduino visand
*See visand on kirjutatud HMC5883L mooduli jaoks, kuid saate selle hõlpsasti oma mooduli jaoks üle võtta.
Teised:
- Paberkast
- Leivalaud
- Juhtmed
Samm: kalibreerimiskasti valmistamine
Kalibreerimisprotsessi jaoks peaksite valmistama spetsiaalse kalibreerimiskasti (joonis 2.1). Selle valmistamiseks kasutasin paberkasti, kuid võite kasutada ka plastikust, puidust kangi või midagi muud. Magnetomeetri moodul tuleks ühendada karbiga (näiteks liimiga), nagu on näidatud pildil 2.1. Karbi esikülgedele peaksite joonistama koordinaatsüsteemi vastavalt magnetomeetri mooduli koordinaatsüsteemile.
3. samm: elektriühendus
Ühendage magnetomeetri moodul ja arduino -plaat, nagu on näidatud pildil 3.1. Pange tähele, et magnetomeetrimooduli toitepinge võib olla 3, 3 V (nagu minu puhul HMC5883L GY-273 versiooni puhul).
Samm: tarkvara ja püsivara installimine
Laadige tarkvara ja püsivara alla siit. See arhiiv sisaldab faile:
- MagMaster.exe - magnetomeetri kalibreerimisprogramm
- MagViewer.exe - magnetomeetri mõõtmiste visualiseerimise programm
- Arduino_Code - arduino visand kalibreerimisprotsessi jaoks
- Arduino_Test_Results - arduino eskiis kalibreerimistulemuste testimiseks
- Arduino_Radius_Stabilisation - arduino eskiis kaliibrimistulemuste testimiseks kera raadiuse stabiliseerimise algoritmiga
- MagMaster Files ja MagViewer Files - süsteemifailid MagMaster.exe ja MagViewer.exe jaoks
Kopeerige kõik need failid suvalisse kausta. Laadige visand "Arduino_Code" arduino tahvlile üles. See arduino visand nõuab HMC5883L raamatukogu, kopeerige enne eskiisi üleslaadimist kaust "HMC5883L" (paigutatud kausta "Arduino_Code") kausta "C: / Program Files / Arduino / libraries".
Samm: kalibreerimine
Sissejuhatus
Magnetomeetri kalibreerimine on transformatsioonimaatriksi ja eelarvamuse saamise protsess.
Magnetvälja kalibreeritud mõõtmiste saamiseks peaksite oma programmis kasutama neid teisendusmaatriksit ja eelarvamusi. Oma algoritmis peaksite kalibreerimata magnetomeetri andmete vektorile (X, Y, Z koordinaadid) rakendama eelarvamusi ja seejärel korrutama teisendusmaatriksi selle saadud vektoriga (joonis 5.4). Nende arvutuste C -algoritmi leiate visanditest "Arduino_Test_Results" ja "Arduino_Radius_Stabilization".
Kalibreerimisprotsess
Käivitage MagMaster.exe ja valige arduino plaadi jadaport. Programmi akna rohelised stringid näitavad magnetomeetri vektori koordinaate (joonis 5.1).
Asetage magnetomeetri moodul (kalibreerimiskarp koos kinnitatud magnetomeetrimooduliga), nagu on näidatud pildil 5.2.1, ja klõpsake rühmkasti "Telg X+" nuppu "Punkt 0". Pange tähele, et kalibreerimiskast ei ole fikseeritud horisontaaltasapinna suhtes paigal. Seejärel asetage magnetomeeter, nagu on näidatud pildil 5.2.2, ja klõpsake rühmakasti "Telg X+" nuppu "Punkt 180" ja nii edasi. Te peaksite seda tegema järgmiselt (vt ka pilti 5.3):
- Joonis 5.2.1: "Punkt 0", "Telg X+"
- Joonis 5.2.2: "Punkt 180", "Telg X+"
- Joonis 5.2.3: "Punkt 0", "X telg"
- Joonis 5.2.4: "Punkt 180", "X-telg"
- Joonis 5.2.5: "Punkt 0", "Telg Y+"
- Pilt 5.2.6: "Punkt 180", "Telg Y+"
- Pilt 5.2.7: "Punkt 0", "Telg Y-"
- Pilt 5.2.8: "Punkt 180", "Telg Y-"
- Joonis 5.2.9: "Punkt 0", "Telg Z+"
- Pilt 5.2.10: "Punkt 180", "Telg Z+"
- Pilt 5.2.11: "Punkt 0", "Telg Z-"
- Pilt 5.2.12: "Punkt 180", "Telg Z-"
Peaksite tabeli täitma. Pärast seda klõpsake "Arvuta teisendusmaatriks ja eelarvamus" ning hankige teisendusmaatriks ja eelarvamus (joonis 5.3).
Teisendusmaatriks ja eelarvamus on olemas! Kalibreerimine on lõppenud!
6. etapp: testimine ja visualiseerimine
Kalibreerimata mõõtmiste visualiseerimine
Laadige visand "Arduino_Code" arduino tahvlile üles. Käivitage MagViewer.exe, valige arduino plaadi jadaport (seriaalpordi boudikiirus peaks olema 9600 bps) ja klõpsake nuppu "Käivita MagViewer". Nüüd näete magnetomeetri andmevektori koordinaate 3D-ruumis reaalajas (pilt 6.1, video 6.1, 6.2). Need mõõtmised on kalibreerimata.
Kalibreeritud mõõtmiste visualiseerimine
Muutke visandit "Arduino_Radius_Stabilization", asendage teisendusmaatriksi vaikeväärtused ja kallutusandmed kalibreerimisandmetega (teie teisendusmaatriks ja eelarvamused). Laadige visand arduino tahvlile üles "Arduino_Radius_Stabilization". Käivitage MagViewer.exe, valige jadaport (buudikiirus on 9600 bps), klõpsake nuppu "Käivita MagViewer". Nüüd näete reaalajas kalibreeritud mõõtmisi 3D-ruumis (pilt 6.2, video 6.3, 6.4).
Nende visandite abil saate hõlpsalt kirjutada oma magnetomeetri projekti algoritmi kalibreeritud mõõtmistega!