+1 голос
Показания откалиброванного датчика по pitch и roll постоянно колеблются вокруг настоящего с отклонением в 50-60 градусов и периодом порядка 30 секунд. При повороте вокруг оси x показания roll не изменяются вплоть до 90-100 градусов, после этого показания меняются скачком. При повороте относительно оси x показания pitch меняются вместе с roll, а показания roll не соответствуют настоящему. Было преобретено два датчика, оба откалиброваны, значения калибровочных параметров близки, и картина одинакова для обоих датчиков, так что проблема, похоже, не в железе. Для вывода использовал код с компасом со страницы http://wiki.amperka.ru/%D0%BF%D1%80%D0%BE%D0%B4%D1%83%D0%BA%D1%82%D1%8B:troyka-imu-10-dof.

Доп. вопрос: в коде на той же странице BETA для фильтра то просто 0.22, то 0.22f, и особой разницы в работе не заметно. Есть какая-то разница?
(3 баллов) 1 2
....у меня этот пример тоже почему-то не заработал. Работал только пример без магнетометра.... Будем ждать ответ от технической поддержки...

1 Ответ

+1 голос
Загрузите и используйте пример без фильтра Маджвика. Этот алгоритм очень ресурсозатратный и может давать различные ошибки в процессе работы на маломощных МК.

Если проблема сохранится, попробуйте обратиться в техническую поддержку изготовителя для консультации или замены.
(925 баллов) 41 74 103
Комментарий перенесен автором в отдельный вопрос: IMU: дрейф рысканья в кейсе с магнитометром

Можно не аппрувить.
Добро пожаловать на Бредборд! Сайт вопросов и ответов на тему Arduino, Raspberry Pi и хоббийной электроники в целом. Цель Бредборда — быть максимально полезным. Поэтому мы строго следим за соблюдением правил, боремся с холиворами и оффтопиком.

    За этот месяц ещё никого.

    ...