Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: 6-осевой digital motion processor MPU-60X0 от Invensens
Форум разработчиков электроники ELECTRONIX.ru > Аналоговая и цифровая техника, прикладная электроника > Метрология, датчики, измерительная техника
NaughtyFreak
Добрый всем день!

Задумал в своём проекте (не коммерч.) применить новый сенсор от Invensense тот что mpu-6050. На сайте производитель красиво поёт что output data может быть в виде кватернионов, углов Эйлера и матрицы косинусов. На 3м разе чтения доки понял что про motion fusion, т.е. про аппаратное вычисление положения ни слова. Вот так облом. Погуглив как следует буржуйские сайты узнал что какой-то хитрый алгоритм DMP это тайна за 7ю печатями и Invensense его никому не скажет, пользуйтесь встроенными акселем/гирой и сами считайте. Тем не менее народ на ютьюбе выкладывает ролики с работой того самого DMP.
Неужели его никто так и не запустил как полноценный процессор 3Д положения? Может кто носом ткнуть куда копать? А то заказал-оплатил-приехал и такой облом! wacko.gif
kovigor
Цитата(NaughtyFreak @ Sep 6 2012, 16:22) *
Может кто носом ткнуть куда копать?

Не копать, а писать. В техподдержку производителя ...
MrAlex
Да и так понятно, что расчетов внутри не ведется.
Этот DMP как бы только за передачу данных отвечает.
NaughtyFreak
Уже написал, жду ответа.
Как раз DMP-то там и считает всю 3D математику, только вот незадокументированные возможности как я понял по спецзапросу.
Отпишусь как только Invensense соизволит ответить.
MrAlex
Цитата
Как раз DMP-то там и считает всю 3D математику, только вот незадокументированные возможности как я понял по спецзапросу.

С чего бы производителю скрывать такие возможности и не получать с этого ничего.

Приглядитесь повнимательнее, во всех проектах датчик прикручен к чему-нибудь ардуиноподобному, где и крутится математика.
NaughtyFreak
Цитата(MrAlex @ Sep 7 2012, 09:04) *
С чего бы производителю скрывать такие возможности и не получать с этого ничего.
Приглядитесь повнимательнее, во всех проектах датчик прикручен к чему-нибудь ардуиноподобному, где и крутится математика.

Правильно, потому что НЕТ доступа к DMP. Единственное что мне удалось найти это сорцы выращенные путем reverse engineering под ардуину. Там какой-то массив хексов якобы програмный код заливается по I2C в память проца, найдено на github.com, но как с ним работать не ясно.
Я так думаю что скрытые возможности спецом закрыты от посторонних глаз, типа только для серьёзных разработчиков а-ля производители игровых консолей и прочей лабуды. бред какой-то...
MrAlex
Цитата(NaughtyFreak @ Sep 7 2012, 10:12) *
Правильно, потому что НЕТ доступа к DMP. Единственное что мне удалось найти это сорцы выращенные путем reverse engineering под ардуину. Там какой-то массив хексов якобы програмный код заливается по I2C в память проца, найдено на github.com, но как с ним работать не ясно.
Я так думаю что скрытые возможности спецом закрыты от посторонних глаз, типа только для серьёзных разработчиков а-ля производители игровых консолей и прочей лабуды. бред какой-то...

Способ повышения продаж так себе.
На просторах интернета подобных проектов достаточно в открытом виде.
NaughtyFreak
Цитата(MrAlex @ Sep 12 2012, 09:57) *
Способ повышения продаж так себе.

А точнее никакой. Вообщем разобрался, а заодно получил ответ от их саппорта.
Говорят что софт для DMP не опен-сорс и motion processor можно использовать только совместно с их софтом MotionApp, который вообщем-то подходит для hand-held. Чтобы получить карт-бланш на софт и поддержку регишься на сайте и качаешь софт+доки.
varvar
Цитата(NaughtyFreak @ Sep 12 2012, 09:41) *
А точнее никакой. Вообщем разобрался, а заодно получил ответ от их саппорта.
Говорят что софт для DMP не опен-сорс и motion processor можно использовать только совместно с их софтом MotionApp, который вообщем-то подходит для hand-held. Чтобы получить карт-бланш на софт и поддержку регишься на сайте и качаешь софт+доки.

У Вас эта штука заработала? В простейшем виде?
Судя по описанию и чужим исходникам, достаточно записать в регистр 6B PWR_MGMT_1 нуль, после чего MPU6050 просыпается и какие-то данные должны быть в регистрах 3В ACCEL_XOUT_H и далее по списку. У меня одни нули считываются sad.gif
Только из 0x75 WHO_AM_I свой адрес 0x68 считывается... Чего я пропустил при инициализации?
NaughtyFreak
Цитата(varvar @ Oct 1 2012, 12:53) *
У Вас эта штука заработала? В простейшем виде?

пока нет, бьюсь с i2c stm32 + на рыбалке пропадаю fman.gif
проект хоббийный, так что копаю неторопливо...
NaughtyFreak
Цитата(varvar @ Oct 1 2012, 12:53) *
У Вас эта штука заработала? В простейшем виде?

пока нет, бьюсь с i2c stm32 + на рыбалке пропадаю fman.gif
проект хоббийный, так что копаю неторопливо...
varvar
Цитата(NaughtyFreak @ Oct 1 2012, 13:39) *
пока нет, бьюсь с i2c stm32 + на рыбалке пропадаю fman.gif
проект хоббийный, так что копаю неторопливо...

У меня тоже развлечение sm.gif
А вопрос снялся - при пайке закоротил charge pump выход на якобы неиспользуемую ногу. Какие-то данные пошли, будет удивительно, если микросхема пережила такое издевательство - на той ноге должно быть 25 вольт.
NaughtyFreak
MPU завелся, конфигурируется, с процом подружился с 1го раза. Обнаружилась новая засада: Если одна из осей лежит грубо говоря в параллель с горизонтом перпендикулярно вектору G, то акселерометр начинает гнать максимальные значения почти 0xFFFF. Гироскоп кстати в спокойном положении тоже кажет по всем осям почти макс. значения. Сенсор настроен на чуйствительноть +/- 4G, +/- 500 град/сек. Self test пока не делал, другие настройки не трогал. Такая же картина наблюдается и на других 2-х аналогичных сенсорах. Авось я чего неправильно скофигурировал?

Всех с Новым Годом! santa2.gif
NaughtyFreak
Разобрался. Оказывается в случае положительного ускорения он кажет в диапазоне от 0 до 32767, в случае отрицательного - от 65535 до 32768, причем 65535 это "0 g" (sic!). Кто будет пользовать будьте внимательны, в ДШ о том как читать показания ни слова.
Herz
Цитата(NaughtyFreak @ Jan 2 2013, 21:41) *
Разобрался. Оказывается в случае положительного ускорения он кажет в диапазоне от 0 до 32767, в случае отрицательного - от 65535 до 32768, причем 65535 это "0 g" (sic!). Кто будет пользовать будьте внимательны, в ДШ о том как читать показания ни слова.

Как это? Ноль "положительный" и ноль "отрицательный" - это, соответственно 0 и 65535?
NaughtyFreak
Цитата(Herz @ Jan 3 2013, 00:00) *
Как это? Ноль "положительный" и ноль "отрицательный" - это, соответственно 0 и 65535?

да, если одна из осей строго перпендикулярна вектору гравитации, то кажет 65535, если положить на стол мордой вверх, то по Z 8000 +/- шумы, что есть 1G при моей калибровке. переписал математику и дебаггер весело заиграл нормальными значениями. с гирой та же хрень.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.