Страница 1 из 1

Регистратор магнитного поля земли на АРДУИНО

Добавлено: 25 янв 2025, 00:37
dukovit
Так вышло, что на глаза попались мне 2 устройства - плата "компаса" на HMC-5883 и "гироскоп" - MPU6050. Да, в инете полно примеров как это все подключается, как "работает" но практика личная очень часто отличается от того что пишут интернетах. Попробовал применить для некоторых нужд сначала MPU-6050. Что из него можно добыть полезного? - ну угловые и линейные ускорения. Можно воспользоваться очень крутыми возможностями встроенной математической обработки (и надо заметить - встроенный в MPU6050 процессор творит реальные чудеса и получаемые данные можно хорошо применять в управлении тем же коптером. Ведь можно получить углы Эйлера напрямую из этого чипа!)
Однако работа MPU6050 с ардуиной тяжеловата. Все получаемые данные требуют тяжелых вычислений. Была мысль попробовать сделать подобие Инерциальной Навигационной Системы на MPU6050, пусть даже очень ограниченной. Но... там столько проблем вылазит что точно это не на этой платформе решать. Так что пока из полезного применения - датчик наклонов получился).
Аналогичная история приключилась и при знакомстве с HMC-5883 ("компас"). При использовании примеров из интернетов - как бы даже все работает, до первого наклона платы. Тут начинается полный бредонос. Оказывается все хорошо работает строго горизонтально и то не всегда.
В чем дело? А дело в том, что по сути HMC-5883 это 3 датчика холла, расположенных ортогонально. И для нормальной работы с одной стороны надо располагать плату горизонтально, либо надо брать сырые данные и пересчитывать с учетом наклона платы относительно горизонта (вы уже понимаете что я клоню к обьединению с данными от MPU6050).
Но гладко было на бумаге, да забыли калибровки!
Оказывается что несмотря на все старания производителя компас в первую очередь нужно калибровать - чтобы магнитное поле земли прошло через все 3 датчика сначала одним полюсом потом другим. У каждого из 3х каналов есть (ну так выходит на практике по крайней мере) как масштабный коэффициент, так и смещение.
photo_5233518268831100303_y.jpg
В общем не долго думая я взял ненужную ардуино УНО (не нравится мне она своим размером) и притулил на нее сначала компас потом гироскоп. а сверху надел шилд с кнопками и LCD1602. Получился такой вполне автономный макет чтобы играться с вариантами калибровки компаса и гироскопа. Заодно и сразу на экран результаты выводить.
В один чудесный день выяснилось что калибровка компаса часто врет почему то - это был тот день когда выяснилось что величина магнитного поля земли меняется в довольно значимых пределах. А следовательно и калибровка сбивается и соответственно сложно применять компас как компас... И вот только здесь заканчивается присказка и начинается собственно сказка!
Встал вопрос как же меняется магнитное поле земли, которое регистрирует получившийся прибор? В каких пределах? В один день заметил как покаазания в течении минуты примерно поползли вверх примерно на 2.5% потом так же в течении минуты вниз примерно так же... - похоже что это была мгнитная буря. (такие дни обычно сопровождаются множеством вечерних дтп на каждом перекрестке.
Теперь написана программка которая занимается считыванием показаний с 3 датчиков магнитометра-компаса 1 раз в секунду, вычислением полного вектора магнитного поля, усреднением, и раз в час пишет во внутреннюю еепром как среднее часовое значение полного вектора магнитного поля, так и разброс полученных показаний в течении этого часа. Естественно все это происходит с привязкой к часам которые выставляются вручную с помощью кнопок после включения. Ну а я в полночь считываю показания и заношу в табличку для себя.

Регистратор магнитного поля земли на АРДУИНО

Добавлено: 25 янв 2025, 23:16
Криворукий
Тут целая научно-исследовательская работа (без сарказма).
На метеосайтах информируют о магнитном поле, "спокойное" , "неустойчивое" и т.д.
Таблицу в которую вносите показания, как-то можно сопоставить с тем, что на этих сайтах пишут? А то допустим, сосед авто на сигнализацию поставил или кто-то на передачу радиостанцию включил и это ошибочно можно принять за магнитную бурю.

Регистратор магнитного поля земли на АРДУИНО

Добавлено: 26 янв 2025, 01:06
dukovit
Совершенно согласен на счёт того что работа на ровном месте перерастает в научный труд.. Пришлось уже много почитать по поводу того как измеряют "магнитные бури". Как и все сейчас найти можно, но надо порыться. Вкратце дело обстоит так: измеряют только горизонтальную компоненту магнитного поля земли. Ввиду малости вертикальной компоненты ею пренебрегают. Так вот измеренные значения сравнивают с усреднёнными значениями сделанными в не возмущенные дни. А за бурю считают отклонения измеренного от среднего. И так каждые 3 часа. По величине отклонения выделяют 9 уровней возмущения. То есть то что на сайтах в виде графика-это отклонение наблюдений от средней нормы. И вот тут первое что интересно-можно увидеть реальное значение магнитного поля а не какие-то результаты чужих непонятных вычислений. Второе - совершенно верно замечено что нужно научиться выделять сигнал на фоне посторонних возмущений. Например офисное кресло металлическое магнитометр видит на расстоянии до 2х метров. Крутишь кресло и видишь как меняются показания. В целом дальше метров 3 не видно даже магниты. Сейчас магнитометр прежде чем отдать мне значения делает на своем уровне усреднение из 8 измерений а потом уже это значение поступает на фильтр Кальмана и после этого я уже работаю с этими значениями. Так вот интересное первое наблюдение за сутки происходят очень большие колебания больше ожидаемых. Возможно нужно будет немного переделать девайс и оставить где-то в чистом поле-это будет очень интересно. Но пока результаты вот такие
20250126_010519.jpg