Pull to refresh
131
13.1

Пользователь

Send message

Вместо магнитометра поддельной MPU9250 купил HMC5883L. Очень удивился, что он не отвечает по I2C. Оказывается, даже тут китайцы обманули. Там QMC5883L. У него и адрес другой (0x0D) и протокол обмена тоже другой. :)

Но, кстати, я интереса ради попробовал определить вектор состояний с помощью МНК. И возникла проблема (та же, что и у фильтра Калмана, из-за чего он обобщённый) - взаимосвязь не линейная. Чтобы получить результат измерений (с которым сравниваем) нужно знать истинное поле (подбираемое) и матрицу анизотропии. И в результате матрицы стандартного МНК не записать. Есть нелинейный МНК, но там просто не будет. И выгоду по сравнению с фильтром вряд ли получится получить.

А вы попробуйте. Работает, работает. :) Так ВЧ динамики подключают. Пищалка отлично подойдёт.

Вот динамик через конденсатор и подключите. Тогда подвисание контроллера не будет влиять.

Конденсатор добавьте и всё. :)

Когда ветеран исследования, Ноам Шазир, увидел ранний вариант работы, он
был удивлён, что его имя стоит первым, что говорит о том, что его вклад
был первостепенным.

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

А может и не подавать. Да и вообще, странное решение для управления пищалкой брать PNP транзистор с вывернутым включением.

Я бы, кстати, на месте китайцев повторитель бы и поставил. И избавился от двух резисторов - экономия как-никак.

А это от логики работы P21 зависит. Если он на земле лежит, то писка не будет. Единственно, R44 для эмиттерного повторителя лишний.

Однако транзистор включён неправильно: перепутаны местами коллектор и эмиттер.

А не тип транзистора (NPN)? Тогда получится эмиттерный повторитель.

Обычно, все эти задачи решают микроконтроллеры устройств. У них и быстродействие не очень, да и памяти мало. Причём , решают непрерывно. И ещё фильтр довольно быстро перестроится, если поменяется расположение магнитных объектов вокруг магнитометра (на судне, например, сгрузили грузовой контейнер), а вот МНК так не сможет автоматически. Нужно сбрасывать накопленный массив данных и запускать калибровку заново.

Кстати, для апостериорной обработки можно решить ту же задачу с помощью МНК. Единственно, точек будет много и решать такую систему довольно затратно. Фильтр же позволяет делать корректировку прямо во время движения объекта.

У меня пришла перемаркировання MPU6500. Регистр WHOAMI выдаёт 0x70. Магнитометра там, ожидаемо, нет.

вроде этих https://roboshop.spb.ru/sensors/datchiki-navigacii/mpu9250-module

Так. Погодите-ка. Я только что такую плату на 9250 вчера получил. И вчера попытался впервые её опросить по SPI. Может, я неправильно опрашиваю магнитометр, но только данных я нифига не получил (принимаются застывшие биты). Я вообще думал, сама 9250 внутри с магнитометром. И он там этот самый аналог AK8963. И я как-то не догадывался, что в 9250 внутри меняют схемотехнику. Отвратительно.

А она может и не решиться. Шумы измерений не позволят.

Есть. Только это будет просто экспериментальная программа. Буквально на попробовать. Я такое даже на свой гитхаб класть не хочу. Но все операции с матрицами там есть.

Вот она.

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

Наверное, вы имели в виду двумерный вектор, а не одномерный? Магнитометр в приборе вовсе не всегда будет находиться в плоскости горизонта, поэтому используются все три координаты.

Анизотропия влиять на направление будет. Если бы она не влияла, матрица W осталась бы единичной.

А RFID-метку вживить/на ошейник не было бы проще?

Нет, всё равно не работает правильно.
Причина в матрице H у китайцев.

Что-то тут не то. Потому что на следующем шаге надо от измеренных показаний отнимать вот этот вектор D и получать ошибку. И эта ошибка будет неверная. Всё из-за удвоения произведения W*B. Вся проблема в матрице H - она должна отражать взаимосвязь датчиков, но получилось так, что в неё входят сами текущие показания датчиков.

1
23 ...

Information

Rating
435-th
Location
Санкт-Петербург и область, Россия
Registered
Activity