Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Проблема с магнетометром
Форум разработчиков электроники ELECTRONIX.ru > Cистемный уровень проектирования > Математика и Физика
serjj
Всем доброго.

В ходе реализации на stm32 фильтра Маджвика для системы акселерометр-магнетометр-гироскоп столкнулся с проблемой, что азимут считается неверно. Например плата находится в горизонтальной плоскости, а ось Z датчика направлена вниз (нормальное положение, А). Далее переворачиваем плату на 180 градусов так, что бы ось Z датчика была направлена вверх (инверсное положение, Б). И видим, что рассчитанный азимут изменился на 20-30 градусов (пока точнее я сказать не могу, нет стенда). При этом углы крена и дифферента считаются нормально для данной системы и фильтра.

Добавил рассчёт модуля векторов ускорения и магнитной индукции. Начинаю менять положение платы, и если модуль ускорения изменяется в малых пределах (в основном из-за вибрации), то вектор индукции сильно растягивается строго в соответствии с положением платы. Физически в данной конкретной точке пространства магнитное поле Земли имеет определённое значение и направление, соответственно то что происходит, неверно. У меня есть подозрение, что проблема с рассчётом азимута кроется в этом, т.к. на азимут в случае, если плата находится в горизонтальной плоскости, влияет именно магнетометр (влияние гироскопа в стационарном случае можно не учитывать для простоты).

Коллеги, есть ли соображения по этому поводу?
krux
оси чувствительности отдельных магнитных датчиков могут не совпадать с их механическими осями. у коллег был опыт с феррозондами.
феррозонды приходилось сначала наживлять перед вклейкой в конструктив, параллельно проверяя перпендикулярность их осей чувствительности на стенде, по максимумам и минимумам показаний.
после этого приходилось механически выставлять плоскость чувствительности магнетометра в плоскость акселерометров.
и только после этой кропотливой механической сборки программно калибровать, вращая стенд, тем самым превращая эллипсы реальной чувствительности в "нормализованные окружности", пригодные для расчетов.
иначе погрешность улетала далеко за 5%.

Сильно влияют на показания всевозможные и вообще любые железяки, т.е. перед процессом калибровки приходилось разгонять всех слоняющихся мимо коллег, и их перемещающихся стульев в радиусе 15 метров. После обнаружения за ближней стенкой в соседнем кабинете тяжелого металлического слеллажа, человек, калибровавший эти датчики, сначала ушёл в запой, а потом уехал калибровать их в ангар на отшибе. После этого точность наконец возрасла до 1...2%.

конкретно на феррозонды также сильно влияют радиосигналы на частотах, близких к резонансной частоте катушки возбуждения феррозонда. Если память не подводит, то это было КВ где-то в районе ~25 МГц. Просто передатчиком в 5 Вт "заворачивали" угол азимута градусов на 45 =)
krux
добавлю ещё по поводу стенда.

первый вариант стенда сделали с зубчатой передачей и нониусами, вроде как для точности. но фиксация производилась фактически затяжкой бронзовых конических подшипников скольжения. конструкция сильно разболталась спустя год использования, образовался люфт в 2 градуса (после затяжки фиксаторов).

второй вариант конструктора бездумно усилили. т.е. учитывая, что материал стендов должен быть немагнитным, тупо увеличивали прочность увеличением сечения. в результате стенд стал весить 25 кг, по сравнению с 18кг изначальными. не всякий стол выдержит.
стало очень сложно "ловить" моменты максимумов-минимумов, поскольку само скольжение стало жутко тугим.

третий вариант отдали другим конструкторам, и дали другие вводные: не настольный, а напольный вариант, вместо монолитных опорных стоек - применение 4х сваренных труб квадратного сечения, фиксацию положения сделать по принципу зажимов во фрезерных станках.
в итоге уложились в 12 кг, и точность, и легкость обеспечили.

учитывая требуемые при производстве допуски, часть деталей приходилось заказывать в ЦНИИТОЧМАШ
Atridies
Магнитное поле Земли - не строго вертикально. Оно имеет отклонение (в Москве - примерно 70-80 градусов, а не 90). Может быть дело в этом ?
MrAlex
Для случая некалиброванного магнитометра, 20 градусов средний результат. Пара румбов.
Тоже долго мучались с измерениями, но в результате ошибка уменьшилась до полуградуса.
Стало больше влиять наклонение, и неточности пересчета наклона горизонта.
Если есть набор данных могу составить матрицу пересчета.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2024 Invision Power Services, Inc.