Принципы измерения магнитных полей, приборы для измерения параметров магнитного поля
Первые магнитные компасы, указывающие направления на магнитные полюса Земли, появились еще в третьем веке до Нашей эры на территории Китая. Это были приборы в форме круглых разливательных ложек с короткими ручками, изготовленные из магнитного железняка.
Ложку ставили выпуклой частью на гладкую медную или деревянную поверхность, по которой вокруг были нанесены деления с изображениями знаков зодиака, обозначающие стороны света. Чтобы привести компас в действие, ложку слегка подталкивали, и она начинала вращаться. В конце концов, когда ложка останавливалась, ее ручка указывала точно на южный магнитный полюс Земли.
Начиная с двенадцатого века компасы активно начали применяться путешественниками в Европе. Их устанавливали как на сухопутном транспорте, так и на морских судах, с целью определения магнитного склонения.
С конца восемнадцатого века магнитные явления стали объектом пристального внимания и изучения для ученых того времени. Кулон в 1785 году предложил метод количественной оценки напряженности магнитного поля Земли. В 1832 году Гаусс показал возможность определения абсолютного значения напряженности магнитного поля путем более точных измерений.
Связь между магнитными явлениями и силовыми эффектами, наблюдаемыми во время движения электрических зарядов, впервые в 1820 году установил Эрстед. Позже Максвелл запишет эту связь в рациональной форме — в форме математических уравнений (1873 год):
На сегодняшний день для измерения параметров магнитного поля применяется следующая техника:
тесламетры — приборы для измерения величин напряженности Н или индукции магнитного поля В;
веберметры — приборы для измерения величины магнитного потока Ф;
градиентометры — приборы для измерения неоднородностей магнитного поля.
приборы для измерения магнитного момента М;
приборы для измерения направления вектора В;
приборы для измерения магнитных постоянных различных материалов.
Вектор магнитной индукции B характеризует интенсивность силового действия со стороны магнитного поля (на полюс или на ток) и поэтому является его главной характеристикой в данной точке пространства.
Таким образом, исследуемое магнитное поле может взаимодействовать силовым образом либо с магнитом, либо с элементом тока, а также способно наводить ЭДС индукции в контуре, если магнитное поле, пронизывающее контур, изменяется с течением времени, либо если контур изменяет сове положение относительно магнитного поля.
На элемент проводника с током длиной dl в магнитном поле с индукцией B будет действовать сила F, величина которой может быть найдена с помощью следующей формулы:
Значит индукция B исследуемого магнитного поля может быть найдена по силе F, которая действует на проводник заданной длины l, с постоянным током известной величины I, помещенный в это магнитное поле.
Практически магнитные измерения удобно проводить, используя величину, называемую магнитным моментом. Магнитный момент Pm характеризует контур площади S с током I, а величина магнитного момента определяется так:
Если используется катушка из N витков, то ее магнитный момент будет равен:
Механический момент M силового магнитного взаимодействия может быть найден исходя из значений магнитного момента Pm и индукции магнитного поля B следующим образом:
Однако для измерения магнитного поля не всегда удобно пользоваться его механическими силовыми проявлениями. Благо, есть еще одно явление, на которое можно опереться. Это явление электромагнитной индукции. Закон электромагнитной индукции в математической форме записывается так:
Итак, магнитное поле проявляет себя силами либо наводимой ЭДС. При этом источником самого магнитного поля, как известно, является электрический ток.
Если ток порождающий магнитное поле в данной точке пространства известен, то напряженность магнитного поля в этой точке (на расстоянии r от элемента тока) можно найти с помощью закона Био-Савара-Лапласа:
Стоит отметить, что магнитная индукция B в вакууме связана с напряженностью магнитного поля H (порожденного соответствующим током) следующим соотношением:
Магнитная постоянная вакуума в системе СИ определяется через ампер. Для произвольной же среды данная константа есть отношение магнитной индукции в данной среде к магнитной индукции в вакууме, и называется эта константа магнитной проницаемостью среды:
Магнитная проницаемость воздуха практически совпадает с магнитной проницаемостью вакуума, поэтому для воздуха магнитная индукция B практически тождественна напряженности магнитного поля H.
Единица измерения магнитной индукции в системе СИ — тесла [Тл], в системе СГС — Гаусс [Гс], причем 1 Тл = 10000 Гс. Измерительные приборы для определения индукции магнитного поля, называются тесламетрами.
Напряженность H магнитного поля измеряется в амперах на метр (А/м), причем 1 ампер/метр задается как напряженность магнитного поля соленоида бесконечной длины с единичной плотностью витков, при протекании по данному соленоиду тока в 1 ампер. Один ампер на метр можно определить и иначе: это напряженность магнитного поля в центре круглого витка с током в 1 ампер при диаметре витка в 1 метр.
Здесь же стоить отметить такую величину как магнитный поток индукции — Ф. Это — скалярная величина, в системе СИ она измеряемая в веберах, а в системе СГС — в максвеллах, причем 1 мкс = 0,00000001 Вб. 1 Вебер — это магнитный поток такой величины, что при убывании его до нуля, по сцепленной с ним проводящей цепи сопротивлением 1 Ом, пройдет заряд в 1 Кулон.
Если принять за исходную величину магнитный поток Ф, то индукция магнитного поля B – это будет не что иное, как плотность магнитного потока. Приборы для измерения магнитного потока называются веберметрами.
Выше мы отметили, что магнитная индукция может быть определена либо через силу (или через механический момент), либо через наводимую в контуре ЭДС. Это так называемые прямые измерительные преобразования, при которых магнитный поток или магнитная индукция выражаются через другую физическую величину, (силу, заряд, момент, разность потенциалов) которая однозначно связана с магнитной величиной посредством фундаментального физического закона.
Преобразования же, где магнитная индукция B или магнитный поток Ф находятся через ток I либо длину l или радиус r, называются обратными преобразованиями. Такие преобразования выполняются с опорой на закон Био-Савара-Лапласа, с использованием известного соотношения между магнитной индукцией B и напряженностью магнитного поля H.
Телеграмм канал для тех, кто каждый день хочет узнавать новое и интересное: Школа для электрика
Если Вам понравилась эта статья, поделитесь ссылкой на неё в социальных сетях. Это сильно поможет развитию нашего сайта!
Магнитометры: принцип действия, компенсация ошибок
Рассматриваются базовые принципы теории магнетизма, приводится общее описание датчика магнитного поля HMC5883L, описывается методика устранения помех, искажающих производимые датчиком результаты измерений
Изобретенное более тысячи лет назад такое простое, но в тоже время гениальное устройство, как компас и сегодня является незаменимой вещью в инвентаре любого капитана корабля или туриста. В наше время благодаря развитию электроники и технологии микроэлектронных механических систем появились МЭМС-магнитометры, предоставляющие функцию компаса в микросхемном исполнении. Сегодня их повсеместно можно встретить в потребительских электронных устройствах (смартфонах, планшетах), автомобилях, робототехнике и т.п. Зачастую они входят в состав сложных навигационных систем, а в сочетании с акселерометром и/или гироскопом представляют собой инерциальную систему, способную точно определять местоположение в трехмерном пространстве.
Магнитометр представляет собой устройство для измерения интенсивности одной или нескольких составляющих магнитного поля. Сегодня рынок предоставляет широкий выбор двух- и трехосевых электронных компасов в интегральном исполнении. Для более полного понимания принципа действия такого компаса рассмотрим основные положения теории магнетизма и принципы определения направления вектора магнитного поля Земли.
Магнитное поле Земли в каждой точке пространства характеризуется вектором напряженности Т, направление которого определяется тремя составляющими по осям X, Y и Z в прямоугольной системе координат (Рисунок 1). Также магнитное поле Земли можно описать горизонтальной составляющей напряженности Н, магнитным склонением D (углом между Н и плоскостью географического меридиана) и магнитным наклонением I (углом между Т и плоскостью горизонта).
Рисунок 1. | Составляющие магнитного поля Земли. |
Основной характеристикой магнитного поля является магнитная индукция B, представляющая собой векторную величину. Направление вектора магнитной индукции совпадает с направлением силы, действующей на северный полюс магнита, помещенного в данную точку магнитного поля. Величина B выражается единицей измерения тесла (Тл или (Н/А·м)). Тесла является довольно крупной величиной магнитной индукции, поэтому для измерения слабых магнитных полей применяют мелкую дольную единицу – микротесла (мкТл). Стоит заметить, что полный вектор магнитного поля Земли составляет всего около 50 мкТл. Но в документации на МЭМС-магнитометры обычно приводится другая единица измерения, характеризующая магнитное поле – гаусс (Гс). Гаусс представляет собой единицу измерения магнитной индукции в системе СГС. При этом справедливы следующие равенства:
Магнитная индукция связана с напряженностью магнитного поля соотношением:
Здесь
μ – магнитная проницаемость среды,
μ0 – магнитная постоянная.
Исходя из (1), можно утверждать, что B
H. В итоге, на практике для определения направления вектора магнитного поля Земли измеряют две его составляющие по оси X и оси Y (Рисунок 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, соответственно. Настройка и считывание данных происходит по шине I 2 C. Всего имеется 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), позволяющие управляющему устройству при необходимости определить этот датчик.
Доступ к магнитометру осуществляется по шине I 2 C. Запись производится по адресу 0x3C, а чтение – 0x3D. Для удобства считывания данных имеется функция автоматического инкремента адреса выходных регистров с последующим переходом на адрес 0x03 (старший регистр оси X) по завершении считывания данных из всех выходных регистров. Необходимо также отметить, что выходные регистры расположены в «неправильном» порядке, то есть при последовательном считывании сначала будут взяты данные оси X, затем оси Z, и в последнюю очередь оси Y. Это необходимо учитывать в программе.
В простейшем случае для определения направления относительно магнитного поля Земли при условии горизонтального расположения платформы необходимо считать данные с выходных регистров осей X и Y, а затем вычислить арктангенс угла в соответствии с формулой (3). Но в реальности, особенно в случае применения магнитометров в составе сложных устройств, где присутствуют дополнительные магнитные поля, например, внутри автомобилей, судов и т.п., на датчик действуют помехи, искажающие его показания.
Существуют два типа искажений, действующих на компас. Первое называется искажением твердого железа (Hard Iron Distortion). Оно по своей природе является аддитивным, то есть к изначально измеряемому полю добавляется дополнительное, создаваемое постоянным магнитом (например, динамиками звуковых колонок). При неизменной ориентации такого магнита относительно датчика, смещение, вносимое им, будет также неизменно. Ко второму типу относится искажение мягкого железа (Soft Iron Distortion). Оно создается посторонними предметами, искажающими уже имеющееся магнитное поле. Например, предметы, выполненные из пермаллоя, никеля и т.п., не создают своего магнитного поля, но изменяют форму поля, измеряемого датчиком. Компенсация мягкого железа очень актуальна на кораблях, где намагниченные полем Земли части судна при изменении его ориентации относительно магнитного полюса перемагничиваются и вновь вносят искажения в процесс измерения. Таким образом, компенсация мягкого железа представляет собой более сложную задачу.
Вначале рассмотрим процесс компенсации влияния твердого железа. Следует учесть, что здесь и далее предлагается компенсация в двумерном пространстве. Компенсация в трех измерениях, которая обязательна для воздушных судов, требует использования комплексного математического аппарата, и в данном случае не рассматривается. Ознакомиться с таким методом ликвидации магнитных помех можно в [9]. В начале процедуры устранения искажений датчик располагается горизонтально, и вокруг вертикальной оси совершается, как минимум, один полный оборот. Далее выделяются точки, имеющие максимальное и минимальное значение по осям X и Y. Найденные значения максимумов и минимумов используются для устранения смещения нуля:
Через найденные коэффициенты и изначально полученные данные (XН, YН) можно выразить скорректированные по методу компенсации твердого железа величины по осям X и Y:
На Рисунке 4 отображены результаты эксперимента по проведению компенсации такого вида. В ходе эксперимента вблизи датчика был расположен магнит. Нижний левый график отчетливо показывает факт смещения центра фигуры из точки (0,0) из-за вносимой постоянной составляющей. После вычислений по формулам (4) и (5) центр был смещен в точку начала, как видно на нижнем правом графике.
Рисунок 4. | Компенсация искажения твердого железа. |
В ходе эксперимента также было воспроизведено небольшое влияние искажения мягкого железа. По полученному изображению видно, что фигура представляет собой не четко сформированную окружность, а эллипс с некоторым наклоном относительно координатных осей. Изменение магнитного поля такого вида как раз характерно для искажения мягкого железа, которое, как говорилось выше, не вносит дополнительного магнитного поля, а влияет на форму уже имеющегося.
Для компенсации такого искажения необходимо сначала нормировать эллипс относительно осей координат, то есть произвести его поворот на определенный угол. В ходе этой операции нужно найти большую (a) и малую (b) полуоси эллипса (схематично представлено на Рисунке 5). Применяя формулу вычисления радиуса (6) для каждой точки эллипса, находят максимально удаленную точку от начала координат, расстояние до которой будет равно длине большой полуоси, и минимально удаленную точку, являющейся концом малой полуоси.
Затем определяется угол наклона φ относительно определенной оси координат либо малой полуоси, либо большой. После нахождения этого угла становится возможным осуществить поворот эллипса таким образом, чтобы его полуоси совпадали с осями координат. Формула (7) определяет матрицу поворота, которая потребуется для проведения данной операции. Эта матрица умножается на вектор-столбец ν, являющийся набором всех значений XТЖ и YТЖ.
Повернутый эллипс далее необходимо преобразовать в окружность с целью устранения искажения мягкого железа. Для этого используется масштабный коэффициент, определяемый формулой (9), который необходим для «сжатия» эллипса вдоль большой полуоси.
Каждое значение по оси, с которой совпадает большая полуось, должно быть умножено на этот масштабный коэффициент для получения желаемой окружности. Результат такой трансформации представленного на Рисунке 4 эллипса можно видеть на Рисунке 6.
Рисунок 6. | Окружность, полученная после компенсации влияния искажения мягкого железа. |
Далее для того, чтобы вернуть значения составляющих напряженности магнитного поля в исходное положение, нужно вновь произвести поворот полученной фигуры на тот же угол, но уже в противоположном направлении. При этом снова используются формулы (7) и (8) с единственным отличием – угол φ берется с противоположным знаком.
На этом процесс устранения искажений завершается. Но следует помнить, что к компенсации искажения мягкого железа можно приступать лишь после успешно проведенной операции по устранению искажения твердого железа и при условии, что платформа остается в горизонтальном положении, либо наклон контролируется с помощью данных по оси Z или акселерометра. В итоге становится возможным получить более точное значение азимута. Поскольку при вращении электронного компаса возникают ситуации деления на ноль, целесообразно пользоваться нижеприведенной Таблицей 1.
Магнитное поле
Магнитное поле — это результат действия магнита в пространстве, которое его окружает и где он проявляет своё действие. Также это изображение этих сил — оно показывает пространственное распределение магнитных сил внутри и вокруг магнитных предметов.
У магнитов есть два полюса: северный (отрицательный) и южный (положительный). Их поведение:
- Два магнита с противоположными полюсами притягиваются (+/–)
- Два магнита с одинаковыми полюсами отталкиваются (+/+ или –/–)
Магнитное поле можно изобразить с помощью силовых линий (также называются линиями магнитной индукции).
Диаграмма силовых линий магнитного поля прямоугольного магнита
Магнитные линии выходят из северного полюса (North) и входят в южный полюс (South), т.е. нужно запомнить направление с севера на юг. Силовые линии:
- не пересекаются,
- не обрываются,
- образуют замкнутые циклы, которые продолжаются внутри магнита.
В чём измеряется магнитное поле?
Магнитное поле является векторной величиной и для его измерения/определения нужно знать его направление и силу.
Для определения направления можно положить рядом с магнитным предметом магнитный компас. Таким образом, стрелка компаса остановится вдоль силовой линии.
Сила магнитного поля измеряется:
1. Либо в СИ в единицах Тесла (Тл) или микротесла (мкТл)
2. Либо в единицах Гаусс (Гс) или миллигаусс (мГс), до сих пор используется экспериментально.
- 1 Тл = 10 000 Гс
- 1 Гс = Тл
- 1 мГс = 0,1 мкТл
Как создаётся магнитное поле?
Магнитные поля создаются движущимися электрически заряженными частицами, т.е. поле появляется там, где движутся электрические заряды. Например, пропуская электрический ток по проводнику.
Другой способ — комбинировать собственные магнитные поля электронов, что случается в некоторых материалах. Их называют постоянными магнитами (например, магнитики на наших холодильниках).
Если очень больший заряд будет двигаться с ещё большей скоростью, то и сила его магнитного поля тоже возрастёт.
Характеристики магнитного поля
- магнитная индукция
- магнитный поток
- магнитная проницаемость
Магнитная индукция (B)
Это интенсивность магнитного поля. Чем сильнее магнит или электромагнит создаёт магнитное поле, тем больше индукция.
Формула: B = Ф / S.cos ()
- B — магнитная индукция (в Тл — Тесла)
- Ф — магнитный поток (в Вб — вебер)
- S — площадь поверхности (в м²)
- cos — угол (образованный угол между линиями B с вектором n, перпендикулярен плоскости S)
Магнитный поток (Ф)
Магнитная индукция (B) проходит через определённую поверхность (с площадью S), и индукция внутри неё будет значиться как магнитный поток (Ф). Формула: Ф = BS.
Это общее число магнитных силовых линий, которые пронизывают определённую ограниченную поверхность.
Магнитная проницаемость
Ещё магнитная индукция зависит и от среды, где создано магнитное поле. Эту величину характеризует магнитная проницаемость. Среда с большей магнитной проницаемостью создаст магнитное поле с большей индукцией.
Собираем переносной магнитометр
Магнитометр, который иногда ещё называют гауссометром, измеряет силу магнитного поля [в данном случае магнитную индукцию / прим. перев.]. Это прибор, необходимый при измерении силы постоянных магнитов и электромагнитов, а также для установления формы поля нетривиальных комбинаций из магнитов. Он достаточно чувствительный для того, чтобы определить намагниченность металлических предметов. В случае, если зонд будет работать достаточно быстро, он сможет определять изменяющиеся во времени поля от моторов и трансформаторов.
В мобильных телефонах обычно есть трёхосевой магнитометр, однако он оптимизирован для слабого магнитного поля Земли силой в 1 Гаусс = 0,1 мТл [миллитесла] и насыщается в полях с индукцией в несколько мТл. Где именно в телефоне расположен этот датчик, обычно непонятно, и расположить его внутри узкого места типа разреза магнита часто невозможно. Более того, лучше вообще не подносить смартфон к сильным магнитам.
В данной статье я опишу, как сделать простейший переносной магнитометр из распространённых комплектующих: нам потребуются линейный датчик Холла, Arduino, дисплей и кнопка. Общая стоимость прибора не выходит за пределы €5, а измерять он будет индукцию от -100 до +100 мТл с погрешностью в 0,01 мТл – гораздо лучше, чем можно было ожидать. Для получения точных абсолютных показателей его понадобится откалибровать: я опишу, как это делается при помощи длинного самодельного соленоида.
Шаг 1: датчик Холла
Эффект Холла часто применяется для измерения магнитных полей. Когда электроны проходят через проводник, помещённый в магнитное поле, их относит в сторону, в результате чего в проводнике появляется поперечная разность потенциалов. Правильно выбрав материал и геометрию полупроводника, можно получить измеряемый сигнал, который затем можно будет усилить и выдать измерение одной компоненты магнитного поля.
Я использую SS49E, поскольку он дешёвый и доступный. Что стоит отметить из его документации:
- Питание: 2.7 — 6.5 В, что прекрасно совместимо с 5 В для Arduino.
- Нулевой сигнал: 2.25-2.75 В, примерно посередине между 0 и 5 В.
- Чувствительность: 1.0-1.75 мВ/Гс, поэтому для получения точных результатов потребуется калибровка.
- Выходное напряжение: 1,0 – 4,0 В (при работе от 5 В): диапазон покрывается АЦП Arduino.
- Диапазон: минимум ± 650 Гс, обычно +/1 1000 Гс.
- Время отклика: 3 мкс, то есть можно проводить измерения с частотой в десятки кГц.
- Рабочий ток: 6-10 мА, достаточно немного для батарейки.
- Температурная ошибка: 0,1% на градус Цельсия. Вроде немного, однако отклонение на 0,1% даёт ошибку в 3 мТл.
Шаг 2: Требуемые материалы
- Линейный датчик Холла SS49E. €1 за 10 штук.
- Arduino Uno с доской для прототипирования или Arduino Nano без штырьков для портативного варианта.
- Монохромный OLED дисплей SSD1306 0.96” с интерфейсом I2C.
- Кнопка.
- Шариковая ручка или другая прочная трубка.
- 3 тонких провода чуть длиннее трубки.
- 12 см термоусадки диаметром 1,5 мм.
- Большая коробка Tic-Tac (18x46x83) или нечто похожее.
- Контакты для батарейки на 9 В.
- Выключатель.
Шаг 3: Первая версия – с использованием доски для прототипирования
Сначала всегда собирайте прототип, чтобы проверить работу всех компонентов и софта! Подключение видно на картинке: датчик Холла соединяется с контактами Arduino +5V, GND, A1 (слева направо). Дисплей соединяется с GND, +5V, A5, A4 (слева направо). Кнопка при нажатии должна замыкать землю и A0.
Код написан в Arduino IDE v. 1.8.10. Требуется установка библиотек Adafruit_SSD1306 и Adafruit_GFX.
Если всё сделано правильно, то дисплей должен выдавать значения DC и AC.
Шаг 4: Немного о коде
Если вам неинтересен код, эту часть можно пропустить.
Ключевая особенность кода состоит в том, что магнитное поле измеряется 2000 раз подряд. На это уходит 0,2 – 0,3 сек. Отслеживая сумму и квадрат суммы измерений, можно вычислять среднее и стандартное отклонения, которые выдаются как DC и AC. Усредняя по большому количеству измерений мы увеличиваем точность, теоретически на √2000 ≈ 45. Получается, что используя 10-битное АЦП, мы получаем точность 15-битного АЦП! И это имеет значение: 1 шаг АЦП – 4 мВ, то есть,
0,3 мТл. Благодаря усреднению, мы уменьшаем ошибку от 0,3 мТл до 0,01 мТл.
В качестве бонуса мы получаем стандартное отклонение, определяя таким образом изменяющееся поле. Поле, колеблющееся с частотой 50 Гц проходит порядка 10 циклов за время измерения, поэтому можно измерить величину AC.
У меня после компиляции получилась следующая статистика: Sketch uses 16852 bytes (54%) of program storage space. Maximum is 30720 bytes. Global variables use 352 bytes (17%) of dynamic memory, leaving 1696 bytes for local variables. Maximum is 2048 bytes.
Большую часть места занимают библиотеки Adafruit, однако ещё полно места для добавления функциональности.
Шаг 5: Готовим зонд
Зонд лучше всего закреплять на конце узкой трубки: так его просто будет помещать и удерживать в узких местах. Подойдёт любая трубка из немагнитного материала. Мне идеально подошла старая шариковая ручка.
Подготовьте три тонких гибких провода чуть длиннее трубки. В моём кабеле логики в цветах проводов нет (оранжевый +5 В, красный 0 В, серый – сигнал), просто так мне их проще запомнить.
Чтобы использовать зонд с прототипом, припаяйте кусочки проводов на конец кабеля и заизолируйте их термоусадкой. Позже их можно отрезать и припаять провода прямо к Arduino.
Шаг 6: Собираем переносной прибор
Батарейка на 9В, OLED-экран и Arduino Nano с комфортом умещаются внутри большой коробки Tic-Tac. Её преимущество в прозрачности – экран легко читается, даже находясь внутри. Все фиксированные компоненты (зонд, выключатель и кнопка) ставятся на крышку, чтобы всё можно было вынимать из коробки для замены батареи или обновления кода.
Я никогда не любил батарейки на 9В – у них высокая цена и малая ёмкость. Но в моём супермаркете внезапно стали продавать их перезаряжаемую версию NiMH по €1, и я обнаружил, что их легко зарядить, если подать 11 В через резистор на 100 Ом и оставить на ночь. Я заказал себе дешёвые разъёмы для батареек, но мне их так и не прислали, поэтому я разобрал старую батарейку на 9 В, чтобы сделать из неё коннектор. Плюс батарейки на 9В в её компактности, и в том, что на ней хорошо работает Arduino при подключении её к Vin. На +5 В будет регулируемое напряжение в 5 В, которое понадобится для OLED и датчика Холла.
Датчик Холла, экран и кнопка подсоединяются так же, как было на прототипе. Добавляется только кнопка выключения, между батарейкой и Arduino.
Шаг 7: Калибровка
Калибровочная константа в коде соответствует числу, прописанному в документации (1,4 мВ/Гс), однако в документации разрешён диапазон этого значения (1.0-1.75 мВ/Гс). Чтобы получать точные результаты, нужно откалибровать зонд.
Самый простой способ получить магнитное поле хорошо определённой силы – использовать соленоид. Магнитная индукция поля соленоида равняется B = μ0 * n * I. Магнитная постоянная (или магнитная проницаемость вакуума) – это природная константа: μ0 = 1,2566 x 10 -6 Тл/м/А. Поле однородно и зависит только от плотности намотки n и тока I, которые можно измерить с погрешностью около 1%. Формула работает для соленоида бесконечной длины, однако служит очень хорошим приближением для поля в его центре, если соотношение его длины к диаметру превышает 10.
Чтобы собрать подходящий соленоид, возьмите полую цилиндрическую трубу, длина которой в 10 раз больше диаметра, и сделайте намотку из изолированного провода. Я использовал ПВХ-трубку с внешним диаметром 23 мм и сделал 566 витков, протянувшихся на 20,2 см, что даёт нам n = 28/см = 2800 / м. Длина провода 42 м, сопротивление – 10 Ом.
Подайте питание на катушку и измерьте ток мультиметром. Используйте либо регулируемый источник тока, либо переменный резистор, чтобы управлять током. Измерьте магнитное поле для разных значений тока и сравните показания.
Перед калибровкой я получил 6,04 мТл/A, хотя по теории должно было быть 3,50 мТл/A. Поэтому я умножил константу калибровки в 18-й строчке кода на 0,58. Готово – магнитометр откалиброван!