Оглавление:

Легкая калибровка магнитометра из твердого и мягкого железа: 6 шагов (с изображениями)
Легкая калибровка магнитометра из твердого и мягкого железа: 6 шагов (с изображениями)

Видео: Легкая калибровка магнитометра из твердого и мягкого железа: 6 шагов (с изображениями)

Видео: Легкая калибровка магнитометра из твердого и мягкого железа: 6 шагов (с изображениями)
Видео: ТЕХНИКА БЕЗОПАСНОСТИ. Вид Грубейшего Нарушения ТРЕБОВАНИЙ ТБ при работе на СТАНКАХ. 2024, Ноябрь
Anonim
Легкая калибровка магнитометров из твердого и мягкого железа
Легкая калибровка магнитометров из твердого и мягкого железа

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

Шаг 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: Тестирование и визуализация

Image
Image
Тестирование и визуализация
Тестирование и визуализация

Визуализация некалиброванных измерений

Загрузите скетч "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).

Используя эти эскизы, вы можете легко написать алгоритм для вашего проекта магнитометра с откалиброванными измерениями!

Рекомендуемые: