Obsah:
2025 Autor: John Day | [email protected]. Naposledy změněno: 2025-01-13 06:57
Pokud je vaším koníčkem RC, drony, robotika, elektronika, rozšiřování reality nebo podobně, dříve nebo později se setkáte s úkolem kalibrace magnetometru. Každý modul magnetometru musí být kalibrován, protože měření magnetického pole je vystaveno určitým zkreslením. Existují dva druhy těchto zkreslení: zkreslení z tvrdého železa a zkreslení z měkkého železa. Teorii o těchto deformacích najdete zde. Abyste získali přesná měření, měli byste kalibrovat magnetometr na zkreslení tvrdého a měkkého železa. Tento návod popisuje snadný způsob, jak to udělat.
Krok 1: Věci, které potřebujete
Hardware:
- Magnetometrický modul HMC5883L
- Deska Arduino Mega 2560
*Ale tento instruktáž můžete snadno přijmout pro další modul magnetometru nebo desku arduino.
Software:
- MagMaster
- MagViewer
Firmware:
Skica Arduino
*Tato skica je napsána pro modul HMC5883L, ale můžete ji snadno převzít pro svůj modul.
Ostatní:
- Papírová krabice
- Prkénko
- Dráty
Krok 2: Výroba kalibračního boxu
Pro proces kalibrace byste měli vytvořit speciální kalibrační box (obrázek 2.1). K výrobě jsem použil papírovou krabici, ale můžete použít i plastovou, dřevěnou tyč nebo něco jiného. Magnetometrový modul byste měli spojit s krabicí (například lepidlem), jak ukazuje obrázek 2.1. Na přední strany krabice byste měli nakreslit souřadnicový systém podle souřadnicového systému modulu magnetometru.
Krok 3: Elektrické připojení
Připojte modul magnetometru a desku arduino podle obrázku 3.1. Všimněte si, že napájecí napětí modulu magnetometru může být 3, 3 V (jako v mém případě s verzí HMC5883L GY-273).
Krok 4: Instalace softwaru a firmwaru
Zde si stáhněte software a firmware. Tento archiv obsahuje soubory:
- MagMaster.exe - program kalibrace magnetometru
- MagViewer.exe - vizualizační program měření magnetometru
- Arduino_Code - arduino skica pro proces kalibrace
- Arduino_Test_Results - arduino skica pro testování výsledků kalibrace
- Arduino_Radius_Stabilisation - arduino skica pro testování výsledků kalibrace pomocí algoritmu stabilizace poloměru koule
- Soubory MagMaster a MagViewer - systémové soubory pro MagMaster.exe a MagViewer.exe
Zkopírujte všechny tyto soubory do libovolné složky. Nahrajte skicu „Arduino_Code“na desku arduino. Tato skica arduina vyžaduje knihovnu HMC5883L, před nahráním skici zkopírujte složku „HMC5883L“(umístěnou ve složce „Arduino_Code“) do složky „C: / Program Files / Arduino / libraries“.
Krok 5: Kalibrace
Úvod
Kalibrace magnetometru je proces získání transformační matice a předpojatosti.
Chcete -li získat kalibrovaná měření magnetického pole, měli byste ve svém programu použít tyto transformační matice a zkreslení. Ve vašem algoritmu byste měli použít předpětí na vektor nekalibrovaných dat magnetometru (souřadnice X, Y, Z) a poté vynásobit transformační matici tímto výsledným vektorem (obrázek 5.4). Algoritmus C těchto výpočtů najdete ve skicách „Arduino_Test_Results“a „Arduino_Radius_Stabilization“.
Kalibrační proces
Spusťte MagMaster.exe a vyberte sériový port desky arduino. Zelené řetězce v okně programu označují souřadnice vektoru magnetometru (obrázek 5.1).
Umístěte modul magnetometru (kalibrační box s připojeným modulem magnetometru) podle obrázku 5.2.1 a klikněte na tlačítko „Bod 0“ve skupinovém rámečku „Axis X+“. Kalibrační box není relativně pevný vzhledem k pevné horizontální rovině. Poté umístěte magnetometr, jak je znázorněno na obrázku 5.2.2, a klikněte na tlačítko „Bod 180“ve skupinovém rámečku „Axis X+“atd. Měli byste postupovat následujícím způsobem (viz také obrázek 5.3):
- Obrázek 5.2.1: "Bod 0", "Osa X+"
- Obrázek 5.2.2: "Bod 180", "Osa X+"
- Obrázek 5.2.3: "Bod 0", "Osa X-"
- Obrázek 5.2.4: "Bod 180", "Osa X-"
- Obrázek 5.2.5: "Bod 0", "Osa Y+"
- Obrázek 5.2.6: "Bod 180", "Osa Y+"
- Obrázek 5.2.7: "Bod 0", "Osa Y-"
- Obrázek 5.2.8: "Bod 180", "Osa Y-"
- Obrázek 5.2.9: "Bod 0", "Osa Z+"
- Obrázek 5.2.10: "Bod 180", "Osa Z+"
- Obrázek 5.2.11: "Bod 0", "Osa Z-"
- Obrázek 5.2.12: "Bod 180", "Osa Z-"
Měli byste vyplnit tabulku. Poté klikněte na „Vypočítat transformační matici a zkreslení“a získejte transformační matici a předpojatost (obrázek 5.3).
Transformační matice a zaujatost jsou získány! Kalibrace je dokončena!
Krok 6: Testování a vizualizace
Vizualizace nekalibrovaných měření
Nahrajte skicu „Arduino_Code“na desku arduino. Spusťte MagViewer.exe, vyberte sériový port desky arduino (rychlost proudění sériového portu by měla být 9600 bps) a klikněte na „Spustit MagViewer“. Nyní můžete vidět souřadnice datového vektoru magnetometru ve 3D prostoru v reálném čase (obrázek 6.1, video 6.1, 6.2). Tato měření nejsou kalibrována.
Vizualizace kalibrovaných měření
Upravte náčrt „Arduino_Radius_Stabilization“, nahraďte výchozí transformační matici a data předpětí za data získaná během kalibrace (transformační matice a předpětí). Nahrajte skicu „Arduino_Radius_Stabilization“na desku arduino. Spusťte MagViewer.exe, vyberte sériový port (rychlost přenosu je 9600 bps), klikněte na „Spustit MagViewer“. Nyní můžete vidět kalibrovaná měření ve 3D prostoru v reálném čase (obrázek 6.2, video 6.3, 6.4).
Pomocí těchto skic můžete snadno napsat algoritmus pro váš projekt magnetometru pomocí kalibrovaných měření!