Подключение 6 mpu6050 к arduino с использованием DMP

PAYalnik999

✩✩✩✩✩✩✩
5 Июл 2023
2
0
Здравствуйте. Я разрабатываю устройство для захвата движений с руки. Для этого я решил использовать модули mpu 6050. У них есть встроенный DMP, который позволяет повысить точность получаемых углов в пространстве. Так как у этих модулей одинаковый I2C адрес, я подключил их через мультеплексер 74HC4051. И эта связка работает на простых фильтрах, и получении углов через тригенометрию. Стоит подключиться к ним через DMP, как система перестает стабильно работать. Данные поступают рывками и неравномерно, а так же программа гарантированно зависает спустя 20-40 секунд работы. Может кто сталкивался с этой проблемой? И есть мысли, возможно ли использовать DMP с 6 датчиками впринципе? Схема прилагается.
 

Вложения

poty

★★★★★★✩
19 Фев 2020
3,230
940
Какова частота опроса? Что обозначает "данные поступают рывками"? Насколько я знаю, DMP ограничивает частоту получения данных значением около 100Гц, с учётом того, что у Вас их 6, будет добавляться ещё небольшая задержка на переключение мультиплексором.
 

PAYalnik999

✩✩✩✩✩✩✩
5 Июл 2023
2
0
Добрый день. По поводу обрывков, данные передаются не через равные промежутки времени. Есть чувство, что происходит подтормаживание программы. А если говорить про частоту опроса, то у меня стоит задержка 50 мс между переключениями. Код привожу ниже. Там алгоритм вывода данных с двух гироскопов.
 

Вложения

poty

★★★★★★✩
19 Фев 2020
3,230
940
1. Надо попробовать включить DMP на одном модуле и посмотреть, что произойдёт. Аналогично - со вторым модулем. Проверить исправность.
2. Модули можно перенастроить на альтернативный адрес. Можно подключить два модуля с разными адресами и посмотреть, что получится из этого.
3. Можно поставить тестовый вывод какого либо символа в loop, чтобы понять, в какой части происходят тормоза.