Калибровка Акселерометра [Calibr Accel]

Перед калибровкой Акселерометра должны быть приняты все меры для устранения вибраций. Чрезвычайно важно на время калибровки акселерометра убрать из комнаты все источники вибрации:

  • Выключить вентиляторы,

  • Закрыть форточки,

  • Выключить музыку,

  • Попросить выйти из комнаты домашних животных, детей и т.д.

Ранее описывались способы калибровки путем медленного поворота датчика в руках. Я считаю их недостаточно точными, так как даже небольшие ускорения датчика сильно влияют на точность калибровки.

В программе калибровки применен метод калибровки по шести точкам. Датчик при этом находится по очереди в шести разных положениях, оставаясь неподвижным. При калибровке нужно по очереди установить датчик каждой из шести граней на стол и закрепить скотчем или прищепкой. Очень удобно прикрепить датчик к кубику во время измерений (сообщил пользователь Charas04). Я использовал такой “кубик”:

По результатам измерений программа вычисляет параметры трёх осевого эллипсоида, который наилучшим образом вписывается в координаты точек этих шести положений. Затем программа находит коэффициенты матрицы, которая преобразует вычисленный эллипсоид в сферу с единичным радиусом, а также находит координаты вектора, который совместит центр этой сферы с началом координат.

Итак, приступим к калибровке Акселерометра.

Запустите программу калибровки и подключитесь к трекеру, нажав кнопку [Connect]. В комбобоксе "Выбор режимов" выберите режим [Calibr Accel]. Появится система координат с жёлтым шариком. Жёлтый шарик показывает текущие не скорректированные выходные координаты акселерометра.

Установите Акселерометр в одно из шести положений:

Порядок и точность положений не важны, но очень важна неподвижность датчика во время измерений. Теперь замрите и нажмите кнопку [Start]. Калибровка в каждом из шести положений занимает 33 секунды.

Затем повторите калибровку для оставшихся пяти положений. Для этого устанавливайте датчик по очереди на одну из оставшихся граней. В некоторых положениях придется крепить датчик прищепкой или скотчем, не допуская электрических замыканий в плате датчика (лучше используйте “кубик”). Затем нажимайте кнопку [Next].

После шестого положения сохраните результаты измерений Акселерометра в файл.

В результате у вас должно быть на экране что-то вроде этого:

Здесь:

1. Желтый шарик показывает текущее не откалиброванное положение акселерометра.

2. Зеленый шарик показывает текущее откалиброванное положение акселерометра.

3. Сиреневые точки - входные результаты измерений.

4. Зеленые, красные и синие точки - выходные откалиброванные результаты измерений:

  • красные: длина вектора больше единицы на +1%

  • синие: длина вектора меньше единицы на -1%

  • зеленые: отклонение длины вектора от нормы не более +/-1%.

Таким образом, чем больше зеленых точек и меньше синих и красных, тем калибровка точнее.

5. Rmax/Rmin - отношение максимальной к минимальной длине вектора Акселерометра. Чем это значение ближе к единице, тем качественнее выполнена калибровка.

6. Красный и синий векторы указывают на точки Rmax и Rmin соответственно.

7. Индикатор "|Acc In / Acc St / Acc Ext|" показывает среднее за крайние 2 секунды значение длины вектора Акселерометра.

8. Чекбокс [(x)Filter All] отсеивает лишние точки, расстояние от центра которых больше или меньше двух соседних. Хорошо фильтрует случайные помехи. Рекомендую включить.

9. Чекбокс [(x)Input] - разрешает показывать входные данные (см. пункты 1 и 3).

10. Чекбокс [(x)Standard] - разрешает показывать выходные данные со Стандартной калибровкой (влияет на показания пункта 7, а также на пункты 2, 4 и 5) . Рекомендую включить

11. Чекбокс [(x)Extended] - разрешает показывать выходные данные с Расширенной калибровкой (влияет на показания пункта 7, а также на пункты 2, 4 и 5).

После калибровки не следует выбирать [(x)Extended], так как в этом случае вертикаль … не совсем вертикальна. Это может вызывать небольшие заносы по Roll и Pitch после поворота.

Намного лучше выбрать [(x)Standard] .

Также не забывайте включить [(x)Filter All].

После удачной калибровки длина вектора Акселерометра в покое, при любой ориентации модуля, |Acc St| должна быть около единицы, в диапазоне 0,95 ... 1,05.

Не забудьте записать результаты калибровки в Ардуино: [Arduino…] , [Write Arduino…] , [OK].

Этой калибровкой мы увеличили точность вычисления углов Roll и Pitch.

На этом калибровка Акселерометра завершена.

Калибровка Сенсоров