Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Угловая компенсация компаса
Форум разработчиков электроники ELECTRONIX.ru > Аналоговая и цифровая техника, прикладная электроника > Метрология, датчики, измерительная техника
rat
День добрый. Запустил LSM303D. Данные с магнитного датчика, акселерометра и датчика температуры идут на ура. Направление на севео посчитал по формуле:

180*atan2f(magnetic_Y, magnetic_X)/3.1415 с коррекцией отрицательного угла.

Работает нормально, если выставлен по уровню(горизонтирован).
Углы крена и тангажа:

pitch = asinf(-acceleration_X);
roll = asinf(acceleration_Y / cosf(pitch));

Тоже считаются верно.

Потом попытался компенсировать углы крена и тангажа, когда компас не горизонтирован. Считал по формуле:

xh = magnetic_X * cosf(pitch) + magnetic_Z * sinf(pitch);
yh = magnetic_X * sinf(roll) * sinf(pitch) + magnetic_Y * cosf(roll) - magnetic_Z * sinf(roll) * cosf(pitch);

angle_compensated= 180*atan2f(yh, xh)/3.1415;

Считает неправильно. Прошу знающих комрадов подсказать - где ошибка в формуле?
amaora
В векторах не проще пересчитать? А не гонять в углы и обратно.

Построить два базисных вектора и перевести показания магнитометра в новую СК, если правильно понял задачу. Понадобятся векторное и скалярное произведение, и ещё нормирование. А с углами дело неприятное, проверять формулу желания нет, извините. Можете сами расписать два поворота.
polyakovav
Нужно внимательно проверять соответствие осей х-у, потому что смотреть на ось z можно с двух сторон sm.gif
Формулы перепроверять лениво, но даже при отсутствии ошибок этот способ расчета более-менее обеспечивает компенсацию только при наклонах до 30 градусов и предварительной калибровке акселерометров и магнитометров.
Акселерометры можно калибровать в здании, а магнитометры - только в отсутствии искажений геомагнитного поля, т.е. вдали от всякого железа.
А еще все это хозяйство плывет от температуры, поэтому ошибки не больше 5 градусов по азимуту для диапазона температур -20...+50 обеспечить сложно.
rat
Обожаю наш форум. Все расскажут, подробно объяснят ))) Всем спасибо )
rat
Кстати, такой вопрос: кому какую точность реально удалось получить в диапазоне углов ±30°?
rat
Вопрос вдогонку: посоветуйте пожалуйста методику калибровки электронного компаса.
rat
Цитата(Massi @ Jan 22 2015, 16:48) *


По ссылке методика для конкретного компаса и с использованием заточенного под него ПО, мой компас уже не подходит. Интересует теория и практические советы по калибровке и какие точности были получены. Неужели никто из форумчан не делал электронный компас?
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.