РадиоЛоцман - Все об электронике

Магнитометры: принцип действия, компенсация ошибок

Журнал РАДИОЛОЦМАН, сентябрь 2012

Михаил Русских

Рассматриваются базовые принципы теории магнетизма, приводится общее описание датчика магнитного поля HMC5883L, описывается методика устранения помех, искажающих производимые датчиком результаты измерений

Светодиодные драйверы MEAN WELL для систем внутреннего освещения

Изобретенное более тысячи лет назад такое простое, но в тоже время гениальное устройство, как компас и сегодня является незаменимой вещью в инвентаре любого капитана корабля или туриста. В наше время благодаря развитию электроники и технологии микроэлектронных механических систем появились МЭМС-магнитометры, предоставляющие функцию компаса в микросхемном исполнении. Сегодня их повсеместно можно встретить в потребительских электронных устройствах (смартфонах, планшетах), автомобилях, робототехнике и т.п. Зачастую они входят в состав сложных навигационных систем, а в сочетании с акселерометром и/или гироскопом представляют собой инерциальную систему, способную точно определять местоположение в трехмерном пространстве.

Магнитометр представляет собой устройство для измерения интенсивности одной или нескольких составляющих магнитного поля. Сегодня рынок предоставляет широкий выбор двух- и трехосевых электронных компасов в интегральном исполнении. Для более полного понимания принципа действия такого компаса рассмотрим основные положения теории магнетизма и принципы определения направления вектора магнитного поля Земли.

Магнитное поле Земли в каждой точке пространства характеризуется вектором напряженности Т, направление которого определяется тремя составляющими по осям X, Y и Z в прямоугольной системе координат (Рисунок 1). Также магнитное поле Земли можно описать горизонтальной составляющей напряженности Н, магнитным склонением D (углом между Н и плоскостью географического меридиана) и магнитным наклонением I (углом между Т и плоскостью горизонта).

 Магнитометры: принцип действия, компенсация ошибок
Рисунок 1. Составляющие магнитного поля Земли.  

Основной характеристикой магнитного поля является магнитная индукция B, представляющая собой векторную величину. Направление вектора магнитной индукции совпадает с направлением силы, действующей на северный полюс магнита, помещенного в данную точку магнитного поля. Величина B выражается единицей измерения тесла (Тл или (Н/А·м)). Тесла является довольно крупной величиной магнитной индукции, поэтому для измерения слабых магнитных полей применяют мелкую дольную единицу – микротесла (мкТл). Стоит заметить, что полный вектор магнитного поля Земли составляет всего около 50 мкТл. Но в документации на МЭМС-магнитометры обычно приводится другая единица измерения, характеризующая магнитное поле – гаусс (Гс). Гаусс представляет собой единицу измерения магнитной индукции в системе СГС. При этом справедливы следующие равенства:

1 Гс = 100 мкТл,

1 Тл = 104 Гс.

Магнитная индукция связана с напряженностью магнитного поля соотношением:

 

(1)

Здесь
μ – магнитная проницаемость среды,
μ0 – магнитная постоянная.

Исходя из (1), можно утверждать, что B ~ H. В итоге, на практике для определения направления вектора магнитного поля Земли измеряют две его составляющие по оси X и оси Y (Рисунок 2), а затем вычисляют угол φ на основании следующих формул:

 

(2)
 

(3)
 
 Магнитометры: принцип действия, компенсация ошибок
Рисунок 2. Разложение вектора магнитного поля Земли на составляющие.  

Для более детального понимания принципа действия магнитометра рассмотрим работу датчика HMC5883L компании Honeywell. Этот датчик (см. Рисунок 3) представляет собой устройство для измерения магнитного поля по осям X, Y и Z. Он является типовым представителем семейства магнитометров общего назначения, применяемых в мобильных телефонах, планшетах, автомобильных навигационных системах, персональных навигационных устройствах и прочей потребительской электронике. Такие датчики по принципу своего действия, методу связи с управляющим устройством и даже по структуре регистров не сильно отличаются друг от друга. Так, например, HMC5883L по перечисленным характеристикам очень похож на магнитометр в составе инерциальной системы LSM303 компании STmicroelectronics.

 Магнитометры: принцип действия, компенсация ошибок
Рисунок 3. Магнитометр HMC5883L на печатной плате.  

HMC5883L может измерять магнитное поле в диапазоне от –8 до +8 гаусса. Благодаря изменяемому коэффициенту усиления (GN) чувствительность датчика может варьироваться от 0.73 мГс/LSB (милигаусс на младший значащий разряд) до 4.35 мГс/LSB при изменении GN от 0 до 7, соответственно. Настройка и считывание данных происходит по шине I2C. Всего имеется 12 восьмиразрядных регистров. Два регистра настройки (Register A и Register B) позволяют изменять частоту выдачи данных, режим измерения, количество выборок за время одного замера и коэффициент усиления. С помощью регистра режима (Mode Register) можно выбрать режим функционирования датчика: либо он будет измерять непрерывно (Continuous-Measurement Mode), либо проведет измерение один раз и перейдет в режим ожидания (Single-Measurement Mode). В шесть регистров, расположенных по адресам с 0x03 по 0x08, помещаются результаты измерений. На одну ось выделяется по два регистра (Output Register A и Output Register B), причем регистр A является старшим по отношению к регистру B. Полученное значение представляется 12-разрядным числом. Регистр статуса (Status Register) имеет всего два бита – бит готовности (RDY) и бит «защелки» (LOCK). Бит готовности устанавливается после того, как данные будут записаны во все шесть выходных регистров. Для осуществления не программного, а аппаратного опроса, его функция дублируется выводом DRDY. Бит «защелки» устанавливается, когда данные из одного или нескольких (но не из всех) выходных регистров были считаны, либо когда был считан регистр режима. Оставшиеся три регистра представляют собой идентификационные регистры (Identification Registers), позволяющие управляющему устройству при необходимости определить этот датчик.

Доступ к магнитометру осуществляется по шине I2C. Запись производится по адресу 0x3C, а чтение – 0x3D. Для удобства считывания данных имеется функция автоматического инкремента адреса выходных регистров с последующим переходом на адрес 0x03 (старший регистр оси X) по завершении считывания данных из всех выходных регистров. Необходимо также отметить, что выходные регистры расположены в «неправильном» порядке, то есть при последовательном считывании сначала будут взяты данные оси X, затем оси Z, и в последнюю очередь оси Y. Это необходимо учитывать в программе.

В простейшем случае для определения направления относительно магнитного поля Земли при условии горизонтального расположения платформы необходимо считать данные с выходных регистров осей X и Y, а затем вычислить арктангенс угла в соответствии с формулой (3). Но в реальности, особенно в случае применения магнитометров в составе сложных устройств, где присутствуют дополнительные магнитные поля, например, внутри автомобилей, судов и т.п., на датчик действуют помехи, искажающие его показания.

Существуют два типа искажений, действующих на компас. Первое называется искажением твердого железа (Hard Iron Distortion). Оно по своей природе является аддитивным, то есть к изначально измеряемому полю добавляется дополнительное, создаваемое постоянным магнитом (например, динамиками звуковых колонок). При неизменной ориентации такого магнита относительно датчика, смещение, вносимое им, будет также неизменно. Ко второму типу относится искажение мягкого железа (Soft Iron Distortion). Оно создается посторонними предметами, искажающими уже имеющееся магнитное поле. Например, предметы, выполненные из пермаллоя, никеля и т.п., не создают своего магнитного поля, но изменяют форму поля, измеряемого датчиком. Компенсация мягкого железа очень актуальна на кораблях, где намагниченные полем Земли части судна при изменении его ориентации относительно магнитного полюса перемагничиваются и вновь вносят искажения в процесс измерения. Таким образом, компенсация мягкого железа представляет собой более сложную задачу.

Вначале рассмотрим процесс компенсации влияния твердого железа. Следует учесть, что здесь и далее предлагается компенсация в двумерном пространстве. Компенсация в трех измерениях, которая обязательна для воздушных судов, требует использования комплексного математического аппарата, и в данном случае не рассматривается. Ознакомиться с таким методом ликвидации магнитных помех можно в [9]. В начале процедуры устранения искажений датчик располагается горизонтально, и вокруг вертикальной оси совершается, как минимум, один полный оборот. Далее выделяются точки, имеющие максимальное и минимальное значение по осям X и Y. Найденные значения максимумов и минимумов используются для устранения смещения нуля:

 

(4)

Через найденные коэффициенты и изначально полученные данные (XН, YН) можно выразить скорректированные по методу компенсации твердого железа величины по осям X и Y:

 

(5)

На Рисунке 4 отображены результаты эксперимента по проведению компенсации такого вида. В ходе эксперимента вблизи датчика был расположен магнит. Нижний левый график отчетливо показывает факт смещения центра фигуры из точки (0,0) из-за вносимой постоянной составляющей. После вычислений по формулам (4) и (5) центр был смещен в точку начала, как видно на нижнем правом графике.

 Магнитометры: принцип действия, компенсация ошибок
Рисунок 4. Компенсация искажения твердого железа.  

В ходе эксперимента также было воспроизведено небольшое влияние искажения мягкого железа. По полученному изображению видно, что фигура представляет собой не четко сформированную окружность, а эллипс с некоторым наклоном относительно координатных осей. Изменение магнитного поля такого вида как раз характерно для искажения мягкого железа, которое, как говорилось выше, не вносит дополнительного магнитного поля, а влияет на форму уже имеющегося.

Для компенсации такого искажения необходимо сначала нормировать эллипс относительно осей координат, то есть произвести его поворот на определенный угол. В ходе этой операции нужно найти большую (a) и малую (b) полуоси эллипса (схематично представлено на Рисунке 5). Применяя формулу вычисления радиуса (6) для каждой точки эллипса, находят максимально удаленную точку от начала координат, расстояние до которой будет равно длине большой полуоси, и минимально удаленную точку, являющейся концом малой полуоси.

 

(6)
 Магнитометры: принцип действия, компенсация ошибок
Рисунок 5. Пример изменения напряженности магнитного поля при значительном влиянии искажения мягкого железа.  

Затем определяется угол наклона φ относительно определенной оси координат либо малой полуоси, либо большой. После нахождения этого угла становится возможным осуществить поворот эллипса таким образом, чтобы его полуоси совпадали с осями координат. Формула (7) определяет матрицу поворота, которая потребуется для проведения данной операции. Эта матрица умножается на вектор-столбец ν, являющийся набором всех значений XТЖ и YТЖ.

 

(7)
 

(8)

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

 

(9)

Каждое значение по оси, с которой совпадает большая полуось, должно быть умножено на этот масштабный коэффициент для получения желаемой окружности. Результат такой трансформации представленного на Рисунке 4 эллипса можно видеть на Рисунке 6.

 Магнитометры: принцип действия, компенсация ошибок
Рисунок 6. Окружность, полученная после компенсации влияния искажения мягкого железа.  

Далее для того, чтобы вернуть значения составляющих напряженности магнитного поля в исходное положение, нужно вновь произвести поворот полученной фигуры на тот же угол, но уже в противоположном направлении. При этом снова используются формулы (7) и (8) с единственным отличием – угол φ берется с противоположным знаком.

На этом процесс устранения искажений завершается. Но следует помнить, что к компенсации искажения мягкого железа можно приступать лишь после успешно проведенной операции по устранению искажения твердого железа и при условии, что платформа остается в горизонтальном положении, либо наклон контролируется с помощью данных по оси Z или акселерометра. В итоге становится возможным получить более точное значение азимута. Поскольку при вращении электронного компаса возникают ситуации деления на ноль, целесообразно пользоваться нижеприведенной Таблицей 1.
 

Таблица 1. Расчет азимута
X
Y
Азимут
0
<0
90
>0
270
<0
любое

 
>0
<0

 
>0

 

В результате, используя магнитометры общего назначения, можно за малые деньги создать довольно точный электронный компас. Например, стоимость датчика HMC5883L, задействованного для проведения описанных экспериментов, составляет примерно 150-170 рублей, а вариант готового изделия SEN-10530 компании SparkFun с необходимой обвязкой и удобными контактами для пайки находится в ценовом диапазоне 500-600 рублей (схема подключения находится по ссылке [10]). Связав в единую измерительную сеть такой магнитометр, акселерометр и гироскоп, можно получить полноценную инерциальную систему, определяющую свое местоположение в пространстве. А областей применения, как электронного компаса, так и полноценной инерциальной системы в современном мире найдется предостаточно.

Ссылки

  1. Воронов В.В, Григорьев Н.Н., Яловенко А.В. Магнитные компасы. Теория, конструкция и девиационные работы. – СПб.: «Элмор», 2004. – 192 с.
  2. 3-axis digital compass IC HMC5883L. Datasheet. Документация Honeywell. 
  3. AN-203. Compass heading using magnetometers. Документация Honeywell. 
  4. AN-215. Cross axis effect for AMR magnetic sensors. Документация Honeywell. 
  5. Michael J. Caruso. Applications of Magnetic Sensors for Low Cost Compass Systems.
  6. Michael J. Caruso. Applications of Magnetoresistive Sensors in Navigation Systems.
  7. Bratland T., Hong W. Linear Position Sensing Using Magnetoresistive Sensors.
  8. Compensating for Tilt, Hard Iron and Soft Iron Effects. Документация MEMSense.
  9. AN4246. Calibrating an eCompass in the Presence of Hard and Soft-Iron Interference. Документация Freescale. 
  10. HMC5883L_Breakout-v11  

Изготовление 1-4 слойных печатных плат за $2

Запись вебинара «Микросхемы для защиты цепей питания: ограничители всплесков напряжения и тока, контроллеры горячей замены, идеальные диоды»
Для комментирования материалов с сайта и получения полного доступа к нашему форуму Вам необходимо зарегистрироваться.
Имя