
Spisu treści:
2025 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2025-01-23 15:03

Jeśli Twoim hobby jest RC, drony, robotyka, elektronika, rzeczywistość rozszerzona lub podobne to prędzej czy później spotkasz się z zadaniem kalibracji magnetometru. Każdy moduł magnetometru musi być skalibrowany, ponieważ pomiar pola magnetycznego podlega pewnym zniekształceniom. Istnieją dwa rodzaje tych zniekształceń: zniekształcenia z twardego żelaza i zniekształcenia z miękkiego żelaza. Teorię o tych zniekształceniach znajdziesz tutaj. Aby uzyskać dokładne pomiary, należy skalibrować magnetometr pod kątem zniekształceń twardego i miękkiego żelaza. Ta instrukcja opisuje prosty sposób, jak to zrobić.
Krok 1: Rzeczy, których potrzebujesz



Sprzęt komputerowy:
- Moduł magnetometru HMC5883L
- Płytka Arduino Mega 2560
* Ale możesz łatwo zastosować tę instrukcję dla innego modułu magnetometru lub płyty arduino.
Oprogramowanie:
- MagMaster
- MagViewer
Oprogramowanie układowe:
Szkic Arduino
*Ten szkic jest napisany dla modułu HMC5883L, ale możesz go łatwo dostosować do swojego modułu.
Inni:
- Papierowe pudełko
- Deska do krojenia chleba
- Przewody
Krok 2: Wykonanie pudełka kalibracyjnego

Do procesu kalibracji należy wykonać specjalne pudełko kalibracyjne (rysunek 2.1). Do zrobienia tego użyłem papierowego pudełka, ale możesz użyć plastikowego, drewnianego drążka lub czegoś innego. Należy połączyć moduł magnetometru z pudełkiem (np. z klejem) jak pokazano na rysunku 2.1. Na ścianach pudełka należy narysować układ współrzędnych zgodnie z układem współrzędnych modułu magnetometru.
Krok 3: Połączenie elektryczne


Podłącz moduł magnetometru i płytkę arduino jak pokazano na rysunku 3.1. Należy pamiętać, że napięcie zasilania modułu magnetometru może wynosić 3,3 V (jak w moim przypadku z wersją HMC5883L GY-273).
Krok 4: Instalacja oprogramowania i oprogramowania sprzętowego

Pobierz oprogramowanie i oprogramowanie sprzętowe tutaj. To archiwum zawiera pliki:
- MagMaster.exe - program do kalibracji magnetometru
- MagViewer.exe - program do wizualizacji pomiarów magnetometru
- Arduino_Code - szkic arduino do procesu kalibracji
- Arduino_Test_Results - szkic arduino do testowania wyników kalibracji
- Arduino_Radius_Stabilisation - szkic arduino do testowania wyników kalibracji z algorytmem stabilizacji promienia kuli
- MagMaster Files i MagViewer Files - pliki systemowe dla MagMaster.exe i MagViewer.exe
Skopiuj wszystkie te pliki do dowolnego folderu. Prześlij szkic "Arduino_Code" na płytkę arduino. Ten szkic arduino wymaga biblioteki HMC5883L, skopiuj folder „HMC5883L” (umieszczony w folderze „Arduino_Code”) do folderu „C:\Program Files\Arduino\libraries” przed przesłaniem szkicu.
Krok 5: Kalibracja




Wstęp
Kalibracja magnetometru to proces uzyskiwania macierzy transformacji i polaryzacji.
Aby uzyskać skalibrowane pomiary pola magnetycznego, powinieneś użyć tej macierzy transformacji i błędu w swoim programie. W swoim algorytmie powinieneś zastosować bias do wektora nieskalibrowanych danych magnetometru (współrzędne X, Y, Z), a następnie pomnożyć macierz transformacji przez ten wektor wynikowy (rysunek 5.4). Algorytm C tych obliczeń można znaleźć w szkicach "Arduino_Test_Results" i "Arduino_Radius_Stabilization".
Proces kalibracji
Uruchom MagMaster.exe i wybierz port szeregowy płyty arduino. Zielone ciągi w oknie programu wskazują współrzędne wektora magnetometru (rysunek 5.1).
Umieść moduł magnetometru (pudełko kalibracyjne z dołączonym modułem magnetometru) jak pokazano na rysunku 5.2.1 i kliknij przycisk "Point 0" w groupboxie "Axis X+". Zauważ, że skrzynka kalibracyjna nie jest nieruchoma w stosunku do ustalonej płaszczyzny poziomej. Następnie umieść magnetometr tak, jak pokazano na rysunku 5.2.2 i kliknij przycisk „Point 180” w polu grupy „Axis X+” i tak dalej. Powinieneś to zrobić w następujący sposób (patrz też rysunek 5.3):
- Zdjęcie 5.2.1: „Punkt 0”, „Oś X+”
- Zdjęcie 5.2.2: „Punkt 180”, „Oś X+”
- Zdjęcie 5.2.3: „Punkt 0”, „Oś X-”
- Zdjęcie 5.2.4: „Punkt 180”, „Oś X-”
- Zdjęcie 5.2.5: „Punkt 0”, „Oś Y+”
- Zdjęcie 5.2.6: „Punkt 180”, „Oś Y+”
- Zdjęcie 5.2.7: „Punkt 0”, „Oś Y-”
- Zdjęcie 5.2.8: „Punkt 180”, „Oś Y-”
- Zdjęcie 5.2.9: "Punkt 0", "Oś Z+"
- Zdjęcie 5.2.10: „Punkt 180”, „Oś Z+”
- Zdjęcie 5.2.11: „Punkt 0”, „Oś Z-”
- Zdjęcie 5.2.12: „Punkt 180”, „Oś Z-”
Powinieneś wypełnić tabelę. Następnie kliknij "Calculate Transformation Matrix and Bias" i uzyskaj macierz transformacji i bias (rysunek 5.3).
Macierz transformacji i stronniczość są gotowe! Kalibracja zakończona!
Krok 6: Testowanie i wizualizacja





Wizualizacja pomiarów nieskalibrowanych
Prześlij szkic "Arduino_Code" na płytkę arduino. Uruchom MagViewer.exe, wybierz port szeregowy płyty arduino (szybkość transmisji portu szeregowego powinna wynosić 9600 bps) i kliknij "Uruchom MagViewer". Teraz możesz zobaczyć współrzędne wektora danych magnetometru w przestrzeni 3D w czasie rzeczywistym (zdjęcie 6.1, wideo 6.1, 6.2). Te pomiary nie są kalibrowane.
Wizualizacja skalibrowanych pomiarów
Edytuj szkic „Arduino_Radius_Stabilization”, zastąp domyślną macierz transformacji i dane odchylenia danymi uzyskanymi podczas kalibracji (macierz transformacji i dane odchylenia). Prześlij szkic "Arduino_Radius_Stabilization" na płytkę arduino. Uruchom MagViewer.exe, wybierz port szeregowy (szybkość transmisji wynosi 9600 bps), kliknij "Uruchom MagViewer". Teraz możesz zobaczyć skalibrowane pomiary w przestrzeni 3D w czasie rzeczywistym (zdjęcie 6.2, wideo 6.3, 6.4).
Korzystając z tych szkiców, możesz łatwo napisać algorytm dla swojego projektu magnetometru ze skalibrowanymi pomiarami!
Zalecana:
Przypomnienie o wyłączeniu żelaza: 4 kroki

Przypomnienie o wyłączeniu żelaza: witam wszystkich członków i hobbystów. Główną bohaterką całej tej historii jest moja żona. Pewnego dnia rano wyprasowała swoją biurową sukienkę i nagle wyszła z domu do pracy. Ja i moja córka poszliśmy do domu mojej mamy na tego samego dnia. wieczorem wszyscy cam
Zegar z recyklingu dysku twardego - FuneLab: 26 kroków (ze zdjęciami)

Zegar z recyklingu dysku twardego - FuneLab: Witam wszystkich! To mój piąty projekt w Instructables & Dzięki, wszystkim się to podobało. Masz uszkodzony dysk twardy? Wyrzuciłbyś go do kosza lub sprzedał w serwisie eBay za kilka dolarów? O nie! Przygotuj się na przekształcenie uszkodzonego dysku twardego w unikat
Symulator gry na smartfony - Graj w gry Windows za pomocą IMU sterowania gestami, akcelerometru, żyroskopu, magnetometru: 5 kroków

Symulator gry na smartfony - graj w gry Windows za pomocą IMU sterowania gestami, akcelerometru, żyroskopu, magnetometru: wesprzyj ten projekt: https://www.paypal.me/vslcreations, przekazując darowizny na kody open-source i amp; wsparcie dalszego rozwoju
Tworzenie „miękkiego wokalu” Instrumental w Audacity: 9 kroków

Tworzenie „miękkiego wokalu” Instrumental in Audacity: Dobrze, dzisiaj pokażę ci, jak zrobić „miękki wokal” instrumentalny (Instrumentalny z delikatnym wokalem) w Audacity, darmowym, wieloplatformowym edytorze dźwięku. (Muzyka instrumentalna to muzyka bez tekstu lub tylko instrumenty.) *** Ta instruktażowa
Metoda gąbka + chlorek żelaza – wytrawiaj płytki PCB w minutę!: 5 kroków (ze zdjęciami)

Metoda gąbka + chlorek żelaza – wytrawiaj płytki drukowane w ciągu jednej minuty!: W tej instrukcji pokażę, jak wytrawić płytkę drukowaną za pomocą około łyżki stołowej roztworu do wytrawiania chlorku żelazowego i 2-calowej kwadratowej gąbki. Będziesz zdumiony, gdy odsłonięta miedź na PCB zniknie na twoich oczach, a twój dzik