Например TDA7294

Форум РадиоКот • Просмотр темы - Работа с MPU9250
Форум РадиоКот
Здесь можно немножко помяукать :)





Текущее время: Чт апр 18, 2024 12:49:22

Часовой пояс: UTC + 3 часа


ПРЯМО СЕЙЧАС:



Начать новую тему Ответить на тему  [ Сообщений: 36 ]    , 2
Автор Сообщение
Не в сети
 Заголовок сообщения: Re: Работа с MPU9250
СообщениеДобавлено: Пн дек 19, 2016 10:45:14 
Первый раз сказал Мяу!

Карма: 3
Рейтинг сообщений: -6
Зарегистрирован: Вт июн 25, 2013 23:22:11
Сообщений: 28
Рейтинг сообщения: 0
мышку тоже делал, там и гироскоп не всегда нужен - хорошо работает и чисто на акселерометре, правда я и не делал точности в десятые доли градуса - мне кажется вполне хватает единиц градусов, что больше шума самого акселерометра, тоже думал еще джойстик сделать, но пока к этой теме с момента начала темы не удалось подойти из-за отсутствия времени и нескончаемых проблем в других вопросах

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


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Работа с MPU9250
СообщениеДобавлено: Пн дек 19, 2016 11:29:35 
Опытный кот

Карма: 16
Рейтинг сообщений: 177
Зарегистрирован: Сб апр 14, 2012 16:11:35
Сообщений: 718
Рейтинг сообщения: 0
Я даже не пытался добиваться какой-то высокой точности, просто получил некий результат, а потом подогнал под визуально примерно подходящий.

По логике, гироскоп и акселерометр дают относительные данные, а магнетометр - абсолютные.

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


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Работа с MPU9250
СообщениеДобавлено: Вт дек 20, 2016 10:13:25 
Опытный кот

Карма: 16
Рейтинг сообщений: 177
Зарегистрирован: Сб апр 14, 2012 16:11:35
Сообщений: 718
Рейтинг сообщения: 0
Выкладываю исходники. Проект под Coocox и есть Makefile. Всё Rift-специфичное вычистил за ненадобностью. Есть 2 варианта HID устройств - 3-осевой джойстик и мышка с 2 кнопками №7 и №8. Такие номера кнопок выбраны для того, чтобы не дублировались кнопки основной мышки. "Нажимаются" наклоном сенсора влево/вправо. Перемещение курсора - наклон вперёд/назад, поворот влево/вправо. Так сделано для применения в качестве трекера головы для шлема ВР. Пока нажатие кнопок не проверил.
Возможны 2 варианта расположения платы модуля - плашмя, ось Х смотрит вправо, и вертикально, ось Х смотрит влево. Возможна сборка с и без использования магнетометра. С магнетометром пока есть проблемы. При работе с магнетометром есть 2 варианта формул - одна из них яко бы с устранением ошибки, но я большой разницы не заметил.
Направления вращения осей можно менять в одном из 2 файлов - в invensense.c при сохранении значений сенсоров или в filter.c при вычислении углов.
Для выбора нужных вариантов при сборке есть следующие параметры: USE_MAGNETOMETER, HID_JOYSTIK, X_RIGHT.
Пока всё.

P.S. По сравнению с базовой схемой Rift поменял 2 ножки - USB_DISCONNECT_PIN на РА15 и INV_SPI_SS на РА1.


Вложения:
Joystik.rar [288.33 KiB]
Скачиваний: 513
Вернуться наверх
 
PCBWay - всего $5 за 10 печатных плат, первый заказ для новых клиентов БЕСПЛАТЕН

Сборка печатных плат от $30 + БЕСПЛАТНАЯ доставка по всему миру + трафарет

Онлайн просмотровщик Gerber-файлов от PCBWay + Услуги 3D печати
Не в сети
 Заголовок сообщения: Re: Работа с MPU9250
СообщениеДобавлено: Сб дек 24, 2016 10:44:26 
Опытный кот

Карма: 16
Рейтинг сообщений: 177
Зарегистрирован: Сб апр 14, 2012 16:11:35
Сообщений: 718
Рейтинг сообщения: 0
Решил доразобраться с магнетометром. В общем работает почти нормально - в начальном положении джойстика есть небольшое смещение по одной из осей, вероятно влияет географическое смещение. При работе как мышка в начале даёт движение курсора, но если немного подвигать, то курсор успокаивается.
Сами оси магнетометра более чувствительные, когда располагаются в вертикальной плоскости - раза в 2-3. В горизонтальной плоскости максимум находится при ориетации оси с севера на юг. При ориентации запад-восток - 0.
Уточнил направления вращений вокруг осей. Сейчас знак совпадает с документацией - положительный против часовой стрелки. Применительно к джойстику и мышке для получения нужных направлений нужно выбирать требуемые знаки для каждой оси.
Выкладываю новые исходники.


Вложения:
Joystik.rar [399.93 KiB]
Скачиваний: 475
Вернуться наверх
 
Организация питания на основе надежных литиевых аккумуляторов EVE и микросхем азиатского производства

Качественное и безопасное устройство, работающее от аккумулятора, должно учитывать его физические и химические свойства, профили заряда и разряда, их изменение во времени и под влиянием различных условий, таких как температура и ток нагрузки. Мы расскажем о литий-ионных аккумуляторных батареях EVE и нескольких решениях от различных китайских компаний, рекомендуемых для разработок приложений с использованием этих АКБ. Представленные в статье китайские аналоги помогут заменить продукцию западных брендов с оптимизацией цены без потери качества.

Подробнее>>
Не в сети
 Заголовок сообщения: Re: Работа с MPU9250
СообщениеДобавлено: Сб дек 24, 2016 11:00:15 
Первый раз сказал Мяу!

Карма: 3
Рейтинг сообщений: -6
Зарегистрирован: Вт июн 25, 2013 23:22:11
Сообщений: 28
Рейтинг сообщения: 0
В код пока не залазил, но думаю вот, может быть есть смысл создания кнопки установки нуля или калибровки. То есть по стандартным показателям датчиков нужно сидеть ровно или держать устройство ровно к монитору, а если немного повернуться или откинуться на спинку углы изменятся и положение курсора тоже, так вот выбрав удобное положение, жмем обнуление и устройство запоминает смещение и учитывает его при получении данных, таким образом, нулевое положение курсора можно получить в любом удобном положении устройства


Вернуться наверх
 
Новый аккумулятор EVE серии PLM для GSM-трекеров, работающих в жёстких условиях (до -40°С)

Компания EVE выпустила новый аккумулятор серии PLM, сочетающий в себе высокую безопасность, длительный срок службы, широкий температурный диапазон и высокую токоотдачу даже при отрицательной температуре. Эти аккумуляторы поддерживают заряд при температуре от -40/-20°С (сниженным значением тока), безопасны (не воспламеняются и не взрываются) при механическом повреждении (протыкание и сдавливание), устойчивы к вибрации. Они могут применяться как для автотранспорта (трекеры, маячки, сигнализация), так и для промышленных устройств мониторинга, IoT-устройств.

Подробнее>>
Не в сети
 Заголовок сообщения: Re: Работа с MPU9250
СообщениеДобавлено: Сб май 06, 2017 18:21:54 
Родился

Зарегистрирован: Сб май 06, 2017 15:51:36
Сообщений: 5
Рейтинг сообщения: 0
Serj_K писал(а):
Чтобы получить кватернион пришлось разбираться с входными данными для фильтра Мэджвика - оказалось, что ему нужно данные гироскопа именно в радианах давать.

Апну темку, если конечно это реально. Не поделитесь информацией что к чему? С осени прошлого года тоже пробовал корректно использовать MPU 9250, но сразу не получилось. Сейчас хочу всё-таки вернуться к этому вопросу, дай думаю спрошу ещё у Вас - "За спрос не бьют в нос" ;)


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Работа с MPU9250
СообщениеДобавлено: Сб май 06, 2017 19:01:39 
Грызет канифоль
Аватар пользователя

Карма: 1
Рейтинг сообщений: 2
Зарегистрирован: Пт ноя 16, 2007 00:40:17
Сообщений: 262
Откуда: Украина
Рейтинг сообщения: 0
Serj_K писал(а):
Чтобы получить кватернион пришлось разбираться с входными данными для фильтра Мэджвика - оказалось, что ему нужно данные гироскопа именно в радианах давать.

Апну темку, если конечно это реально. Не поделитесь информацией что к чему? С осени прошлого года тоже пробовал корректно использовать MPU 9250, но сразу не получилось. Сейчас хочу всё-таки вернуться к этому вопросу, дай думаю спрошу ещё у Вас - "За спрос не бьют в нос" ;)

Присоединяюсь


Последний раз редактировалось aen Сб май 06, 2017 19:36:34, всего редактировалось 1 раз.
Нарушение Правил форума п. 2.7


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Работа с MPU9250
СообщениеДобавлено: Сб май 06, 2017 20:30:36 
Родился

Зарегистрирован: Сб май 06, 2017 15:51:36
Сообщений: 5
Рейтинг сообщения: 0
Нужно наверное более корректно раскрыть что у меня есть и что хотелось бы получить. Что есть:
1. Собрал из подручных материалов платформу Гью-Стюарта (скрепки, 6 серв, несколько кусков упаковочного полиэтилена).
2. Перепаял немного сервоприводы (добавил проводок снимать данные с потенциометра), чтобы снимать угол поворота серв.
Что хочется получить:
1. На основу и подвижную часть платформы добавить датчики положения в пространстве, уже есть два 9250.
2. Завести показания датчиков и управление в Blender для визуализации.
С чем сейчас борюсь - пробовал код для 9250 подключенный в Blender через pyserial, который вроде должен отдавать кватернионы для вращения кубика (простой модели), но пока всё что пробовал некорректно этот самый кубик вращает. Правда я сразу старался использовать все возможности 9250 по максимуму (AHRS + алгоритм Маджвика/Махони), сейчас буду пробовать с низов. Адекватный и понятный похожий код есть у Амперки.
Используемое железо - датчики от дядюшки Ляо, ардуинка Uno R3 (чип 328р) от него же.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Работа с MPU9250
СообщениеДобавлено: Пн май 08, 2017 16:02:23 
Опытный кот

Карма: 16
Рейтинг сообщений: 177
Зарегистрирован: Сб апр 14, 2012 16:11:35
Сообщений: 718
Рейтинг сообщения: 0
kharlashkin писал(а):
Не поделитесь информацией что к чему?
А в чём проблема? Исходники фильтра стандартные. Нужно просто подобрать коэффициент для требуемой скорости реакции.
Я в фильтр данные непосредственно не передаю - они находятся во внешней структуре и берутся из неё.
Проблема может быть в неправильной привязке осей магнетометра к осям акселерометра/гироскопа. Они не совпадают и это нужно учитывать. В мануале на чип оси указаны.


Вложения:
filter.c [11.96 KiB]
Скачиваний: 772
Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Работа с MPU9250
СообщениеДобавлено: Пн май 08, 2017 16:26:47 
Родился

Зарегистрирован: Сб май 06, 2017 15:51:36
Сообщений: 5
Рейтинг сообщения: 0
Проблема может быть в неправильной привязке осей магнетометра к осям акселерометра/гироскопа. Они не совпадают и это нужно учитывать. В мануале на чип оси указаны.

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


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Работа с MPU9250
СообщениеДобавлено: Пн май 08, 2017 18:18:12 
Опытный кот

Карма: 16
Рейтинг сообщений: 177
Зарегистрирован: Сб апр 14, 2012 16:11:35
Сообщений: 718
Рейтинг сообщения: 0
Я под ардуину не пишу. Но фильтр - это математика и она под ардуиной будет такая же, не проще. Я так понял, что под корректировкой Вы понимаете исправленную ошибку. Исправленный код у меня закоментирован - используется старый вариант, так как особой разницы я не заметил, может я не прав в этом. Просто у меня углы поворота меленькие - в трекере головы. Для этой задачи я даже калибровку не делаю, так как результат меня устраивает.
А на ориентацию осей я сам был напоролся. Им бы в доке это выделить более явно, а то народ по диагонали читает.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Работа с MPU9250
СообщениеДобавлено: Пн май 08, 2017 18:44:08 
Родился

Зарегистрирован: Сб май 06, 2017 15:51:36
Сообщений: 5
Рейтинг сообщения: 0
А на ориентацию осей я сам был напоролся. Им бы в доке это выделить более явно, а то народ по диагонали читает.

Вы бы успели на пару часов раньше - я бы правильно наклеил направления осей на коробок, для калибровки компаса по этой инструкции. Ну хоть не успел с калибровкой :)


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Работа с MPU9250
СообщениеДобавлено: Сб июн 10, 2017 12:20:26 
Родился

Зарегистрирован: Сб май 06, 2017 15:51:36
Сообщений: 5
Рейтинг сообщения: 0
Вдоволь наигравшись с фильтрами и не получив внятного результата - попробовал ардуиновский код с dmp для 9250. Результат более чем устраивает:

Думаю использовать и далее полученные таким образом кватернионы + добавить коррекцию по компасу.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Работа с MPU9250
СообщениеДобавлено: Чт ноя 02, 2017 17:36:48 
Родился

Зарегистрирован: Чт сен 04, 2014 11:49:00
Сообщений: 1
Рейтинг сообщения: 0
Приветствую всех участников темы. Прочитав тему, понял, что есть люди которые хорошо разабрались с магнитометром. Хотел использовать этот чип (только магнитометром) по spi с частотой опроса 20 MHz. Но как я понял магнитометр работает только по i2c с частотой 400 kHz. Так ли это?
В кратце опишу, что хотел сделать. Есть двигатель с магнитом на валу. Магнитометром хотел определять абсолютное положение вала и его скорость. Двигатель будет вращаться с max скоростью 600 об/мин. Готовые данные нужно будет получать с частотой, примерно 40кГц. По i2c все вроде получилось, но при малой скорости вращения. По spi как я понимаю не судьба. Прошу подтвердить или опровергнуть мои предположения.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Работа с MPU9250
СообщениеДобавлено: Пн янв 20, 2020 18:44:15 
Родился

Зарегистрирован: Пн сен 10, 2018 15:58:55
Сообщений: 6
Рейтинг сообщения: 0
А как обстоят дела у датчика с компенсация линейного ускорения? У меня на 9250 с фильтром Маждвика по сравнению с комплементарным фильтром на 6050 что-то работает, но если взять например BNO 055 то там вообще нет реакции тонгажа на линейное ускорение (при условии конечно что тонгаж действительно не менялся а датчик просто двигался вперёд). Вопрос, это проблемы датчика или математики фильтра? В теории т.к. этот датчик очень маленький акселерометр и гироскоп аппаратно могут быть одним устройством и данные ускорения могут пересчитываться в угловую скорость, это бы объяснило его чувствительность к вибрациям и линейному ускорению но тогда не понятно как-же на нём делают полётные контроллеры (для дронов) там ведь компенсация вибраций и линейного ускорения нужна обязательна, возможно они используют только акселерометр и магнитометр а гироскоп используют другой?


З.Ы. Вижу здесь выложен исправленный вариант кватернионного фильтра отличный от версии на офф сайте, я использую немного другой вариант кода но тоже с исправлениями может проблемы в этом?


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Работа с MPU9250
СообщениеДобавлено: Вт сен 07, 2021 10:40:51 
Родился

Зарегистрирован: Вт сен 07, 2021 10:25:55
Сообщений: 1
Рейтинг сообщения: 0
Приветствую всех.
Ребят подскажите пожалуйста.
Неделю пытаюсь разобратся с датчиком MPU-9250.
Не понимаю как его правильно запустить.
Читаю даташит и не могу ничего понять.
Программирую на atmega168 в codevision-е.


Вернуться наверх
 
Показать сообщения за:  Сортировать по:  Вернуться наверх
Начать новую тему Ответить на тему  [ Сообщений: 36 ]    , 2

Часовой пояс: UTC + 3 часа


Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 25


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
Extended by Karma MOD © 2007—2012 m157y
Extended by Topic Tags MOD © 2012 m157y