
Оглавление:
2025 Автор: John Day | [email protected]. Последнее изменение: 2025-01-23 15:05

Если ваше хобби - дистанционное управление, дроны, робототехника, электроника, дополненная реальность или что-то подобное, то рано или поздно вы столкнетесь с задачей калибровки магнитометра. Любой модуль магнитометра должен быть откалиброван, так как измерение магнитного поля подвержено некоторым искажениям. Есть два вида этих искажений: искажения твердого железа и искажения мягкого железа. Теорию этих искажений вы можете найти здесь. Чтобы получить точные измерения, вам следует откалибровать магнитометр на предмет деформации твердого и мягкого железа. Это руководство описывает простой способ, как это сделать.
Шаг 1. Что вам нужно



Аппаратное обеспечение:
- Модуль магнитометра HMC5883L
- Плата Arduino Mega 2560
* Но вы можете легко адаптировать эту инструкцию для другого модуля магнитометра или платы Arduino.
Программное обеспечение:
- MagMaster
- MagViewer
Прошивка:
Эскиз Arduino
* Этот скетч написан для модуля HMC5883L, но вы можете легко адаптировать его для своего модуля.
Другие:
- Картонная коробка
- Макетная плата
- Провода
Шаг 2: Изготовление калибровочного бокса

Для процесса калибровки необходимо изготовить специальный калибровочный бокс (рисунок 2.1). Для этого я использовал бумажную коробку, но вы можете использовать пластиковую, деревянную планку или что-нибудь еще. Соедините модуль магнитометра с коробкой (например, с помощью клея), как показано на рисунке 2.1. На гранях коробки следует нарисовать систему координат в соответствии с системой координат модуля магнитометра.
Шаг 3: электрическое подключение


Подключите модуль магнитометра и плату Arduino, как показано на рисунке 3.1. Обратите внимание, что напряжение питания модуля магнитометра может составлять 3,3 В (как в моем случае с версией HMC5883L GY-273).
Шаг 4: Установка программного обеспечения и прошивки

Загрузите программное обеспечение и прошивку здесь. В этом архиве находятся файлы:
- MagMaster.exe - программа калибровки магнитометра
- MagViewer.exe - программа визуализации измерений магнитометра
- Arduino_Code - скетч Arduino для процесса калибровки
- Arduino_Test_Results - скетч arduino для тестирования результатов калибровки
- Arduino_Radius_Stabilisation - скетч Arduino для тестирования результатов калибровки с алгоритмом стабилизации радиуса сферы
- Файлы MagMaster и файлы MagViewer - системные файлы для MagMaster.exe и MagViewer.exe.
Скопируйте все эти файлы в любую папку. Загрузите скетч "Arduino_Code" на плату Arduino. Для этого скетча Arduino требуется библиотека HMC5883L, скопируйте папку «HMC5883L» (помещенную в папку «Arduino_Code») в папку «C: / Program Files / Arduino / libraries» перед загрузкой скетча.
Шаг 5: Калибровка




Вступление
Калибровка магнитометра - это процесс получения матрицы преобразования и смещения.
Чтобы получить калиброванные измерения магнитного поля, вы должны использовать эту матрицу преобразования и смещение в своей программе. В своем алгоритме вы должны применить смещение к вектору некалиброванных данных магнитометра (координаты X, Y, Z), а затем умножить матрицу преобразования на этот результирующий вектор (рисунок 5.4). Алгоритм этих вычислений на языке C вы можете найти в набросках «Arduino_Test_Results» и «Arduino_Radius_Stabilization».
Процесс калибровки
Запустите MagMaster.exe и выберите последовательный порт платы Arduino. Зелеными полосками в окне программы показаны координаты вектора магнитометра (рисунок 5.1).
Поместите модуль магнитометра (калибровочная коробка с прикрепленным модулем магнитометра), как показано на рисунке 5.2.1, и нажмите кнопку «Точка 0» в групповом поле «Ось X +». Обратите внимание, что калибровочная коробка не является неподвижной относительно фиксированной горизонтальной плоскости. Затем поместите магнитометр, как показано на рисунке 5.2.2, и нажмите кнопку «Точка 180» группового окна «Ось X +» и так далее. Делать это нужно следующим образом (см. Также рисунок 5.3):
- Рисунок 5.2.1: «Точка 0», «Ось X +»
- Рисунок 5.2.2: «Точка 180», «Ось X +»
- Рисунок 5.2.3: «Точка 0», «Ось X-»
- Рисунок 5.2.4: «Точка 180», «Ось X-»
- Рисунок 5.2.5: «Точка 0», «Ось Y +»
- Рисунок 5.2.6: «Точка 180», «Ось Y +»
- Рисунок 5.2.7: «Точка 0», «Ось Y-»
- Рисунок 5.2.8: «Точка 180», «Ось Y-»
- Рисунок 5.2.9: «Точка 0», «Ось Z +»
- Рисунок 5.2.10: «Точка 180», «Ось Z +»
- Рисунок 5.2.11: «Точка 0», «Ось Z-»
- Рисунок 5.2.12: «Точка 180», «Ось Z-»
Вам следует заполнить таблицу. После этого нажмите «Рассчитать матрицу преобразования и смещение» и получите матрицу преобразования и смещение (рисунок 5.3).
Получены матрица преобразования и смещение! Калибровка завершена!
Шаг 6: Тестирование и визуализация





Визуализация некалиброванных измерений
Загрузите скетч "Arduino_Code" на плату Arduino. Запустите MagViewer.exe, выберите последовательный порт платы arduino (скорость передачи последовательного порта должна быть 9600 бит / с) и нажмите «Запустить MagViewer». Теперь вы можете видеть координаты вектора данных магнитометра в трехмерном пространстве в реальном времени (рисунок 6.1, видео 6.1, 6.2). Эти измерения не откалиброваны.
Визуализация откалиброванных измерений
Отредактируйте эскиз «Arduino_Radius_Stabilization», замените матрицу преобразования по умолчанию и данные смещения вашими данными, полученными во время калибровки (ваша матрица преобразования и смещение). Загрузите скетч "Arduino_Radius_Stabilization" на плату Arduino. Запустите MagViewer.exe, выберите последовательный порт (скорость передачи 9600 бит / с), нажмите «Запустить MagViewer». Теперь вы можете видеть откалиброванные измерения в трехмерном пространстве в реальном времени (рисунок 6.2, видео 6.3, 6.4).
Используя эти эскизы, вы можете легко написать алгоритм для вашего проекта магнитометра с откалиброванными измерениями!
Рекомендуемые:
Цифровой компас с использованием Arduino и магнитометра HMC5883L: 6 шагов

Цифровой компас с использованием Arduino и магнитометра HMC5883L: Привет, ребята, этот датчик может указывать географический север, юг, восток и запад, мы, люди, также можем использовать его время от времени, когда это необходимо. Так. В этой статье давайте попробуем понять, как работает датчик магнитометра и как его взаимодействовать с микроконтроллером
ДЕШЕВАЯ И ЛЕГКАЯ ДОСКА ДЛЯ РОБОТА PICAXE С ПОСЛЕДОВАТЕЛЬНЫМ КАБЕЛЕМ: 12 шагов (с изображениями)

ДЕШЕВАЯ И ЛЕГКАЯ ДОСКА ДЛЯ РОБОТА PICAXE С ПОСЛЕДОВАТЕЛЬНЫМ КАБЕЛЕМ: Вот инструкции о том, как построить простую, простую и дешевую ДОСКУ PICAXE для управления роботом SUMO или для использования в любом количестве других проектов PICAXE 18M2 +
Создание "мягкого вокала" Инструментальная часть в Audacity: 9 шагов

Создание "мягкого вокала" Инструментальная часть в Audacity: Хорошо, сегодня я собираюсь показать вам, как сделать "тихий вокал" инструментал (инструментал с мягким вокалом) в Audacity, бесплатном кроссплатформенном звуковом редакторе. (Инструментал - это музыка без лирики или просто инструменты.) *** Это инструктируемое
Изготовление мягкого держателя батареи 3 В: 4 шага (с изображениями)

Изготовление мягкого держателя батареи 3 В: в этом руководстве показано, как сделать мягкий держатель батареи для литиевых батарей 3 В размером с монету. Вам понадобится всего 5 кусков фетра и два куска токопроводящей ткани, которые можно разрезать ножницами. Приобретите изделия в любой местной ремесленной мастерской
Губка + метод хлорида железа - протравка печатных плат за одну минуту !: 5 шагов (с изображениями)

Метод «Губка + хлорид железа» - протравка печатных плат за одну минуту! В этой инструкции я покажу вам, как протравить печатную плату примерно с помощью столовой ложки раствора для травления хлористого железа и 2-дюймовой квадратной губки. Вы будете поражены, когда обнаженная медь на печатной плате исчезнет у вас на глазах, а ваш кабан