Инструменты пользователя

Инструменты сайта


Калибровка компаса

В связи с искажениями от внешних магнитных полей, для работы IMU-сенсора или магнитометра в режиме компаса, их необходимо откалибровать.

Виды искажений

На показания электронного компаса действуют два типа искажений:

  • Hard Iron Distortion создаётся дополнительным магнитным полем, которое генерируют внешние объекты. Например динамики звуковых колонок, провода питания и аккумуляторная батарея.
  • Soft Iron Distortion создается внешними металлическими предметами, искажающими уже имеющееся магнитное поле. Например корпус двигателя, проводка или металлические болты.

Для калибровки компаса настройте железо и выполните программную настройку.

Железная часть

Рассмотрим калибровку компаса на одной из платформ Arduino, например, Uno.

  1. Прошейте плату скетчем приведённым ниже.
    compassCalibrationMatrix.ino
    // Пример выводит сырые значения магнитометра, которые
    // используются для последующей калибровки сенсора
    // Подробности читайте в документации про калибровку магнитометра
    // http://wiki.amperka.ru/articles:troyka-magnetometer-compass-calibrate
     
    // Библиотека для работы с модулями IMU
    #include <TroykaIMU.h>
     
    // Создаём объект для работы с магнитометром/компасом
    Compass compass;
     
    void setup() {
        // Открываем последовательный порт
        Serial.begin(9600);
        // Инициализируем компас
        compass.begin();
        compass.setRange(CompassRange::RANGE_4GAUSS);
    }
     
    void loop() {
        // Выводим «сырые» значения компаса по трём осям
        Serial.print(compass.readX());
        Serial.print(",");
        Serial.print(compass.readY());
        Serial.print(",");
        Serial.println(compass.readZ());
        delay(100);
    }

Программная часть

Рассмотрим программную настройку на OS Windows.

  1. Скачайте и установите утилиту MagMaster.
  2. В открывшимся окне выберите номер «COM-порта» и нажмите кнопку «Open».
  3. Последовательно нажимайте на вопросительные знаки и устанавливайте датчик в положение, соответствующее всплывающей картинке.
  4. После каждого замера сохраняйте текущие значения компаса с помощью кнопки «Point».
  5. Далее нажмите на кнопку «Calculate Transformation Matrix and Bias», после чего получите:
    1. Transformation Matrix — матрицу масштаба и ортогонализации.
    2. Bias — значения смещения по всем трем осям

В заключении сохраните полученную корректировочную матрицу «Transformation Matrix» и значения сдвигов по трем осям «Bias» для дальнейшего использования с компасом или IMU-сенсором.

Список поддерживаемых модулей