Цифровые компасы (магнитометры) требуют калибровки твердого / мягкого железа, чтобы быть точными. Это компенсирует магнитные помехи, вызываемые находящимися рядом металлическими предметами - шасси робота.
(изображение с http://diydrones.com )
Однако цифровые компасы также чувствительны к электрическим полям, вызванным относительно большим количеством тока, потребляемого двигателями.
Чтобы получить точные показания компаса, каков наилучший способ измерения (и компенсации) помех, вызванных изменением уровней тока двигателя?
Ответы:
Как правило, это невозможно. Это потому, что двигатели обычно вращаются очень быстро, создавая быстро колеблющиеся магнитные поля. Достаточно ли возмущения, зависит от того, насколько велики двигатели.
Например, потому что я установил IMU (Inertial Measurement Unit) с магнитометрами рядом с некоторыми двигателями, и был вынужден отключить магнитометры, чтобы измерения не влияли на оценку состояния.
На практике решения, которые наиболее вероятно решат вашу проблему:
используйте экранирующий материал (в основном материал с высокой магнитной проницаемостью). Они не блокируют магнитные поля, но поскольку они обеспечивают путь с низким магнитным сопротивлением, они воздействуют на магнитное поле (линии с севера на юг), чтобы пройти через их внутреннее пространство, так что напряженность магнитного поля в других местах ниже.
Таким образом, вы можете обернуть моторы защитным материалом, таким как:
Хороший сайт для сравнения этих материалов - LessEMF.com Magnetic Field Shielding
Теоретически возможно исправить магнитное возмущение без экранирования. Нам нужно знать, что есть два возможных источника - вращающийся постоянный магнит и / или ток в катушках. Если у нас есть обратная связь о положении ротора, мы можем исправить положение постоянного магнита или катушки. Если вы выполните некоторые эксперименты, записав ток и положение ротора, вы сможете уместить модель магнитного поля. Подгонка необходима, потому что фактическую напряженность поля очень трудно рассчитать, поскольку внешний вид магнитного поля зависит от размера и формы магнита и катушек.
На практике это трудно сделать - если двигатель не вращается очень медленно, а ваш датчик и модель достаточно точны. Во-первых, если частота высокая, это может вызвать проблемы из-за проблем синхронизации и задержек связи. Если вы не можете синхронизировать данные, полученные из обратной связи двигателя (положение и ток) и от ваших магнитометров, вы увеличите свою неопределенность. Даже если частота низкая, вам нужно хорошо контролировать точность:
Если что-либо из вышеперечисленного недостаточно точное, остаточное магнитное поле (предположительно магнитное поле Земли) может быть очень неточным.
В целом, точность может быть уменьшена путем:
источник