Калибровка Акселерометра [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.
На этом калибровка Акселерометра завершена.