Перейти к содержанию
    

6-осевой digital motion processor MPU-60X0 от Invensens

Добрый всем день!

 

Задумал в своём проекте (не коммерч.) применить новый сенсор от Invensense тот что mpu-6050. На сайте производитель красиво поёт что output data может быть в виде кватернионов, углов Эйлера и матрицы косинусов. На 3м разе чтения доки понял что про motion fusion, т.е. про аппаратное вычисление положения ни слова. Вот так облом. Погуглив как следует буржуйские сайты узнал что какой-то хитрый алгоритм DMP это тайна за 7ю печатями и Invensense его никому не скажет, пользуйтесь встроенными акселем/гирой и сами считайте. Тем не менее народ на ютьюбе выкладывает ролики с работой того самого DMP.

Неужели его никто так и не запустил как полноценный процессор 3Д положения? Может кто носом ткнуть куда копать? А то заказал-оплатил-приехал и такой облом! :wacko:

Изменено пользователем NaughtyFreak

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Может кто носом ткнуть куда копать?

Не копать, а писать. В техподдержку производителя ...

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Да и так понятно, что расчетов внутри не ведется.

Этот DMP как бы только за передачу данных отвечает.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Уже написал, жду ответа.

Как раз DMP-то там и считает всю 3D математику, только вот незадокументированные возможности как я понял по спецзапросу.

Отпишусь как только Invensense соизволит ответить.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Как раз DMP-то там и считает всю 3D математику, только вот незадокументированные возможности как я понял по спецзапросу.

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

 

Приглядитесь повнимательнее, во всех проектах датчик прикручен к чему-нибудь ардуиноподобному, где и крутится математика.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

Приглядитесь повнимательнее, во всех проектах датчик прикручен к чему-нибудь ардуиноподобному, где и крутится математика.

Правильно, потому что НЕТ доступа к DMP. Единственное что мне удалось найти это сорцы выращенные путем reverse engineering под ардуину. Там какой-то массив хексов якобы програмный код заливается по I2C в память проца, найдено на github.com, но как с ним работать не ясно.

Я так думаю что скрытые возможности спецом закрыты от посторонних глаз, типа только для серьёзных разработчиков а-ля производители игровых консолей и прочей лабуды. бред какой-то...

Изменено пользователем NaughtyFreak

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Правильно, потому что НЕТ доступа к DMP. Единственное что мне удалось найти это сорцы выращенные путем reverse engineering под ардуину. Там какой-то массив хексов якобы програмный код заливается по I2C в память проца, найдено на github.com, но как с ним работать не ясно.

Я так думаю что скрытые возможности спецом закрыты от посторонних глаз, типа только для серьёзных разработчиков а-ля производители игровых консолей и прочей лабуды. бред какой-то...

Способ повышения продаж так себе.

На просторах интернета подобных проектов достаточно в открытом виде.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Способ повышения продаж так себе.

А точнее никакой. Вообщем разобрался, а заодно получил ответ от их саппорта.

Говорят что софт для DMP не опен-сорс и motion processor можно использовать только совместно с их софтом MotionApp, который вообщем-то подходит для hand-held. Чтобы получить карт-бланш на софт и поддержку регишься на сайте и качаешь софт+доки.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А точнее никакой. Вообщем разобрался, а заодно получил ответ от их саппорта.

Говорят что софт для DMP не опен-сорс и motion processor можно использовать только совместно с их софтом MotionApp, который вообщем-то подходит для hand-held. Чтобы получить карт-бланш на софт и поддержку регишься на сайте и качаешь софт+доки.

У Вас эта штука заработала? В простейшем виде?

Судя по описанию и чужим исходникам, достаточно записать в регистр 6B PWR_MGMT_1 нуль, после чего MPU6050 просыпается и какие-то данные должны быть в регистрах 3В ACCEL_XOUT_H и далее по списку. У меня одни нули считываются :(

Только из 0x75 WHO_AM_I свой адрес 0x68 считывается... Чего я пропустил при инициализации?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

У Вас эта штука заработала? В простейшем виде?

пока нет, бьюсь с i2c stm32 + на рыбалке пропадаю :fman:

проект хоббийный, так что копаю неторопливо...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

У Вас эта штука заработала? В простейшем виде?

пока нет, бьюсь с i2c stm32 + на рыбалке пропадаю :fman:

проект хоббийный, так что копаю неторопливо...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

пока нет, бьюсь с i2c stm32 + на рыбалке пропадаю :fman:

проект хоббийный, так что копаю неторопливо...

У меня тоже развлечение :)

А вопрос снялся - при пайке закоротил charge pump выход на якобы неиспользуемую ногу. Какие-то данные пошли, будет удивительно, если микросхема пережила такое издевательство - на той ноге должно быть 25 вольт.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

 

Всех с Новым Годом! :santa2:

Изменено пользователем NaughtyFreak

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Разобрался. Оказывается в случае положительного ускорения он кажет в диапазоне от 0 до 32767, в случае отрицательного - от 65535 до 32768, причем 65535 это "0 g" (sic!). Кто будет пользовать будьте внимательны, в ДШ о том как читать показания ни слова.

Изменено пользователем NaughtyFreak

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Разобрался. Оказывается в случае положительного ускорения он кажет в диапазоне от 0 до 32767, в случае отрицательного - от 65535 до 32768, причем 65535 это "0 g" (sic!). Кто будет пользовать будьте внимательны, в ДШ о том как читать показания ни слова.

Как это? Ноль "положительный" и ноль "отрицательный" - это, соответственно 0 и 65535?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...